|API||CLI, FUSE, REST, API||CLI, FUSE, API||FUSE, mount, REST||FUSE, mount||FUSE|
|Fault detection||Fully connect||P2P||Fully connect||Detected||Manually|
|System Availability||No failover||No failover||High||High||Failover|
|Cache consistency||WORM, lease||Lock||Lock||No||Lock|
GlusterFS is a scalable network filesystem suitable for data-intensive tasks such as cloud storage and media streaming. GlusterFS is free and open source software and can utilize common off-the-shelf hardware. Gluster is a software defined distributed storage that can scale to several petabytes. It provides interfaces for object, block and file storage. Read more
Volume is the collection of bricks and most of the gluster file system operations happen on the volume. Gluster file system supports different types of volumes based on the requirements. Some volumes are good for scaling storage size, some for improving performance and some for both.
1. Distributed Glusterfs Volume
2. Replicated Glusterfs Volume
3. Distributed Replicated Glusterfs Volume
4. Striped Glusterfs Volume
5. Distributed Striped Glusterfs Volume
GlusterFS is a userspace filesystem. This was a decision made by the GlusterFS developers initially as getting the modules into linux kernel is a very long and difficult process.
Being a userspace filesystem, to interact with kernel VFS, GlusterFS makes use of FUSE (File System in Userspace). For a long time, implementation of a userspace filesystem was considered impossible. FUSE was developed as a solution for this. FUSE is a kernel module that support interaction between kernel VFS and non-privileged user applications and it has an API that can be accessed from userspace. Using this API, any type of filesystem can be written using almost any language you prefer as there are many bindings between FUSE and other languages. Read more