Upgrade & Seamless restart
It's recommended to continuously upgrade JuiceFS Client in order to get the latest improvements and fixes, upgrading is done by:
juicefs version --upgrade
A remount is required in order for the upgrade to take effect, add --restart
to upgrade and seamless remount at the same time, using this one-liner:
juicefs version --upgrade --restart
The mount
command itself supports seamless remount as well, simply edit the mount options and re-run juicefs mount
:
# Verify current mount point
$ df -h /jfs
Filesystem Size Used Avail Use% Mounted on
JuiceFS:myjfs 1.0T 11G 1014G 1% /jfs
# Modify mount option and remount
# If you've forgotten the mount command, you can always get it back from the ps command demonstrated above
$ juicefs mount myjfs /jfs --buffer-size=300
OK, myjfs is ready at /jfs.
# Check runtime configuration to verify
grep -i buffer /jfs/.config
tip
- Graceful restart doesn't support FUSE option changes, umount & remount is required.
- A graceful restart triggers persistence to object storage, pending data inside the buffer is uploaded to the object storage. In a high load situation, this might not finish in time and client log will read an error message
mount point xxx is busy, stop upgrade
. - If you're still using 4.9 or earlier versions, the daemon process is a Python program, starting from 5.0, while the entrypoint is still a Python program, the daemon process becomes a Go process. So for clients prior to 5.0, Python 3 is needed for graceful restart & upgrade.
Kubernetes CSI Driver
CSI Driver supports seamless upgrade & restart as well, refer to its documentations: