LinuxLX · Distributed Storage ConceptsGluster
Gluster concepts intro - the other distributed filesystem
What you'll learn
- Describe GlusterFS architecture
- Configure a basic Gluster volume
- Distribute Gluster from Ceph
- Choose Gluster for the workload
Prerequisites
Verified against Ubuntu 24.04 LTS · Debian 12 (Bookworm) · RHEL 9.x · Rocky Linux 9.x · AlmaLinux 9.x · Linux kernel 6.1 LTS / 6.6 LTS · systemd 255+ · OpenSSH 8.7p1 (RHEL 9) / 9.6p1 (Ubuntu 24.04) · nftables 1.0.x · chrony 4.x · Pacemaker 2.1.x · Corosync 3.1.x · 2026-08-09
GlusterFS is another open-source distributed filesystem. It takes a different approach than Ceph: assemble the filesystem from bricks across servers. This lesson covers the concepts.
How GlusterFS works
GlusterFS is a userspace filesystem (FUSE) that aggregates bricks (directories) across multiple servers:
- Each server exports a brick (a directory).
- Gluster assembles the bricks into a volume.
- The volume is mounted on clients via FUSE.
Server 1: /data/brick1
Server 2: /data/brick1
Server 3: /data/brick1
GlusterFS volume (distributed-replicated):
/mnt/gluster
A client mounts /mnt/gluster and sees the combined
filesystem. Gluster handles the distribution and replication
in userspace.
Volume types
| Type | Description | Use |
|---|---|---|
| Distributed | Files spread across bricks | Capacity |
| Replicated | Each file on multiple bricks | HA |
| Distributed-replicated | Both | Balance of capacity and HA |
| Striped | File split across bricks | Performance |
| Dispersed | Erasure-coded | Capacity + reliability |
For most production, distributed-replicated is the right choice: files spread across bricks, with 2-3 replicas for HA.
Configure a basic volume
# On each server, create a brick directory
sudo mkdir -p /data/brick1
# Start glusterd
sudo systemctl enable --now glusterd
# On one server, create a trusted storage pool
sudo gluster peer probe server2
sudo gluster peer probe server3
# Create a distributed-replicated volume
sudo gluster volume create gv0 replica 3 \
server1:/data/brick1 \
server2:/data/brick1 \
server3:/data/brick1
# Start the volume
sudo gluster volume start gv0
# Mount on a client
sudo mount -t glusterfs server1:/gv0 /mnt/gluster
When to use GlusterFS
- File-based workloads (web content, archives, logs).
- POSIX semantics required.
- Scale-out to many servers.
When not to use GlusterFS:
- Block storage for VMs (use Ceph RBD or SAN).
- Object storage (use Ceph RGW or S3).
- High-performance database (use a database).
Knowledge check
Knowledge check · 3 questions
Q1. What is a GlusterFS brick?
Q2. GlusterFS is for block storage.
Q3. Which of the following are valid GlusterFS volume types? Select all that apply.
Passing score: 75%. Answers are checked in this browser.