Skip to main content
RunBook Academy

LinuxLX · Distributed Storage ConceptsGluster

Gluster concepts intro - the other distributed filesystem

Intermediate⏱ ~10 minglusterfs-server

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

Not yet marked complete on this device.

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

TypeDescriptionUse
DistributedFiles spread across bricksCapacity
ReplicatedEach file on multiple bricksHA
Distributed-replicatedBothBalance of capacity and HA
StripedFile split across bricksPerformance
DispersedErasure-codedCapacity + 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

  1. Q1. What is a GlusterFS brick?

  2. Q2. GlusterFS is for block storage.

  3. Q3. Which of the following are valid GlusterFS volume types? Select all that apply.

Passing score: 75%. Answers are checked in this browser.