S3FS Setup and Usage
S3FS allows you to mount an S3-compatible server as a file system on your local machine using the FUSE-based S3FS utility.
This section provides step-by-step instructions for setting up and using S3FS with your ZS3Server.
Step 1: Create the Password File
Create a
.passwd-s3fsfile containing yourACCESS_KEY_IDandSECRET_ACCESS_KEY:Example:
Update the file permissions for security:
Step 2: Create a Mount Point
Create a directory to use as the mount point:
Step 3: Install Tools
Option A: Using MinIO Client (mc)
The MinIO Client allows you to interact with your MinIO server.
The MinIO Server provides an S3-compatible API and supports core S3 features. Choose one of the following installation methods for Linux:
RPM (RHEL-based Systems)
Download the latest stable MinIO RPM package. Install the package using
dnf:
DEB (Debian/Ubuntu Systems)
Download the appropriate
.debpackage from the MinIO Downloads Page. Install the package usingdpkg:
Binary Installation (Universal Method)
Download the MinIO Server binary. Make the binary executable and move the binary to a directory in your system PATH:
Installing MinIO Client (mc)
The MinIO Client allows command-line interaction with your MinIO server.
Download the MinIO Client binary:
Make the binary executable:
Move the binary to a directory in your system PATH:
Verify the installation:
Set an alias for your server:
Replace
<BLIMP_DOMAIN>with the domain link from the Blimp output.Replace
<ACCESS_KEY>and<SECRET_KEY>with your credentials.
Example:
Verify the alias setup by listing buckets:
Option B: Using AWS CLI
If you prefer AWS CLI over MinIO:
Install AWS CLI
Follow installation from AWS CLI Docs.
Set Environment Variables
Create a Bucket
Step 4: Create and List Buckets
Use MinIO Client to create a bucket:
List the contents of the S3 server to verify:
The bucket
s3fsshould now be visible.
Step 5: Mount the Server
Mount the S3 bucket as a local file system:
Replace the placeholders:
mybucketwith the name of your bucket (s3fs)./path/to/mountpointwith/mnt/s3fs.
Example using Blimp URL:
Step 6: Verify the Mount
Check the mounted file system:
Navigate to the mount point:
Step 7: Test the Setup
Create a file in the mounted directory:
List the contents to verify the file:
Step 8: Verify on Blimp
Open the Blimp dashboard. Navigate to the bucket associated with the mounted directory (
s3fs).Confirm that the file (
file1.txt) and other contents of the mounted directory are visible on Blimp.
Additional Examples
File Operations Examples
All file operations will reflect in your ZS3 bucket via Blimp.
Docker Integration
Docker Run Example
Docker Compose Example
Additional Volume Mappings
Grafana Loki Logs:
/mnt/s3fs/lokiSharder Blocks:
/mnt/s3fs/sharder${SHARDER}/data/blocksMiner RocksDB:
/mnt/s3fs/miner${MINER}/data
Troubleshooting
Check Mount
Check Logs (Ubuntu)
Enable Debug Logging
Unmount ZS3
Additional Notes
The S3FS utility uses FUSE (Filesystem in Userspace) to mount S3 servers as a local file system.
The
s3fscommand includes options for security and compatibility:-o passwd_file=${HOME}/.passwd-s3fs: Specifies the password file.-o url=https://url.to.s3/: Points to the S3-compatible server URL.-o use_path_request_style,allow_other,umask=000,complement_stat: Enables compatibility and allows other users to access the mounted file system.
Compression: If you are using compression, it's recommended to use the MinIO Client for efficient file operations.
Last updated