GlusterFS is a network filesystem protocol for distributed cloud storage. The distinctive features of the GlusterFS are reliability, failover, and scalability. It works based on the free FUSE software interface and thus does not require any additional servers for metadata (unlike other distributed file systems, e.g. Lustre and Ceph).
Compared to the NFS protocol supported at the platform, GlusterFS is renowned for its advanced reliability. The protocol operates with multiple servers and is recommended for cases that require high concurrency, high performance of the write operations, and failover recovery in case of necessity. You can learn more about the architecture implementation of this solution from the official documentation.
The platform provides Gluster Native client support starting from the 6.1 release and on the Shared Storage Cluster only:
- all containers (except alpine-based nodes) - Gluster Native client
- Shared Storage Cluster - Gluster Native client and server
1. The platform implementation configures a Replicated GlusterFS Volume that overcomes data loss risk by storing exact copies of the data on all bricks (servers). Replicated volume is used for better reliability and data redundancy, as even if one brick fails, the data can still be accessed from replicas. You can learn more about how GlusterFS replication works in the platform by analyzing the corresponding JPS manifest file.
2. The default GlusterFS settings are configured automatically and should not be changed manually. Configs include volume name ("data") and IPs of the appropriate servers.
3. Consider the following limitation when sharing data with GlusterFS:
- shares do not work with sleeping environments and during the live migration
- custom volumes can be created via SSH but are not recommended due to limited functionality (e.g. scaling automation)
4. When facing any issues with GlusterFS, you can check the Tasks Panel in the dashboard. Also, the following logs can provide some additional information:
- /var/log/glusterfs on the GlusterFS server
- run the journalctl command on the Shared Storage, custom Docker, or VPS containers