Community: First Mount
After installing the Community server, you are ready to mount flexFS on client hosts. The free server provides a self-contained installer script that downloads the mount client, initializes credentials, creates an fstab entry, and mounts the filesystem in a single command.
Prerequisites
Section titled “Prerequisites”On the client host:
- Linux (amd64 or arm64)
- Root access
curlinstalled- Network access to the free server (default port 443) and metadata server (default port 8443)
- Network access to the object storage endpoint
The installer script will automatically install FUSE3 if it is not already present.
One-Command Install
Section titled “One-Command Install”The Community installer prints the mount command at the end of setup. It follows this pattern:
curl -fksSL https://<server-addr>/deploy/install-mount.sh | sudo bash -s <mount-point>For example:
curl -fksSL https://10.0.1.50:443/deploy/install-mount.sh | sudo bash -s /mnt/flexfsWhat the Script Does
Section titled “What the Script Does”The deploy script (/deploy/install-mount.sh) is served by the free server and executes the following steps:
-
Validates arguments — requires a mount point
-
Checks for root — exits if not running as uid 0
-
Detects platform — determines
linux/amd64orlinux/arm64fromuname -m -
Installs FUSE if neither
fusermount3norfusermountis found, using the system package manager (apt-get,dnf, oryum) -
Stops any existing mount at the specified mount point and removes the old fstab entry if present
-
Downloads
mount.flexfsfrom the free server’s deploy endpoint to/usr/sbin/mount.flexfsand sets it executable. SELinux contexts are restored if applicable. -
Verifies the binary by running
mount.flexfs version -
Initializes credentials by contacting the free server:
Terminal window mount.flexfs init creds \--adminAddr <server-addr> \--token $TOKEN \--printName --forceThe volume token is pre-filled by the server. This step fetches the volume configuration (metadata server address, block store details) and writes a local credential file at
~root/.flexfs/mount/free/creds. -
Creates an fstab entry and mounts the filesystem:
Terminal window mount.flexfs init fstab free <mount-point> --now --forceThe
--nowflag mounts the filesystem immediately after writing the fstab entry.
Manual Installation
Section titled “Manual Installation”If you prefer to run each step separately, the individual commands are:
Download the mount client
Section titled “Download the mount client”curl -fksSL https://<server-addr>/deploy/production/v1.9.x/linux/amd64/mount.flexfs \ -o /usr/sbin/mount.flexfschmod 755 /usr/sbin/mount.flexfsRetrieve the volume token
Section titled “Retrieve the volume token”On the server host, read the token from the credential file:
grep '^volumeToken' /root/.flexfs/free/credsInitialize credentials on the client
Section titled “Initialize credentials on the client”mount.flexfs init creds \ --adminAddr <server-addr> \ --token $TOKEN \ --forceCreate fstab entry
Section titled “Create fstab entry”mount.flexfs init fstab free /mnt/flexfs --forcemount /mnt/flexfsOr mount directly without fstab:
mount.flexfs start free /mnt/flexfsVerify the Mount
Section titled “Verify the Mount”After mounting, verify with:
# Check the mount is activemountpoint /mnt/flexfs
# List the filesystemls -la /mnt/flexfs
# Write a test fileecho "hello flexFS" > /mnt/flexfs/test.txtcat /mnt/flexfs/test.txt
# Check disk usagedf -h /mnt/flexfsMounting on Additional Hosts
Section titled “Mounting on Additional Hosts”The same curl command can be run on as many client hosts as needed. Every host will mount the same free volume using the same token. All mounts share a single consistent view of the filesystem.
# Run on each client host:curl -fksSL https://10.0.1.50:443/deploy/install-mount.sh | sudo bash -s /mnt/flexfsAuto-Updates
Section titled “Auto-Updates”Once mounted, the mount client periodically checks the free server for newer versions of mount.flexfs. When an update is available, it downloads the new binary and performs a seamless handoff of the FUSE session — no unmount or downtime required. See Auto-Update for details.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Likely cause | Resolution |
|---|---|---|
Error: this script must be run as root | Not running as root | Use sudo bash |
Error: unsupported architecture | Not amd64 or arm64 | flexFS only supports 64-bit Linux |
Error: unable to install FUSE | No supported package manager | Install FUSE3 manually |
Error: mount.flexfs failed to execute | Binary incompatible with host | Verify platform matches (uname -m) |
Error: failed to initialize credentials | Cannot reach free server or token mismatch | Check network access to the free server port |
| Mount hangs or times out | Metadata server unreachable | Check network access to the metadata server port |
Next Steps
Section titled “Next Steps”- Mount Options — customize caching, performance, and security settings
- fstab Integration — details on the fstab line format and systemd mount directives
- Compare Editions — see what Enterprise adds over Community