When data grows to tens of terabytes and parallel NFS requests exceed 50–100, traditional NAS controllers hit throughput limits. Even worse — a single point of failure: one controller crash takes down the whole storage. GlusterFS solves both issues: it runs on commodity x86 servers without expensive SAN controllers, and its distributed architecture eliminates SPOF. For example, a 4-node cluster delivering 40TB usable storage costs about $3,000, translating to $0.08 per GB — a 70% savings over comparable SAN storage. This GlusterFS setup for distributed storage uses replicated volumes to achieve fault tolerance without SPOF, making it ideal for production clusters. We deploy GlusterFS for projects that need reliability while saving up to 70% on hardware compared to proprietary SAN.
How to Choose the Right Volume Type?
This is the most critical decision. Choosing the wrong volume type means redoing everything from scratch.
- Replicated — every write is copied to N nodes. Suitable for small clusters where reliability matters. With two nodes, it's a full mirror. With three nodes, replica 3 allows one node to fail without losing access. Durability improves by 3x compared to replica 2.
- Distributed — files are spread across nodes by hash. It scales capacity, but if a node fails, the files on that node are lost. Without replication, only for non-critical data.
- Distributed-Replicated — combines both: files are distributed across node groups, with replication inside each group. The standard choice for production clusters of 4+ nodes. Compared to pure Distributed volumes, Distributed-Replicated provides 2 times better fault tolerance (replica 2) or 3 times (replica 3), though it requires twice or three times the disk space.
| Volume Type | Fault Tolerance | Space Efficiency | Recommendation |
|---|---|---|---|
| Distributed | No | Maximum | Non-critical data only |
| Replicated | Yes (N copies) | 1/N | Small clusters (2-3 nodes) |
| Distributed-Replicated | Yes (N copies per group) | Lower than Distributed | Production clusters (4+ nodes) |
Why Is Distributed-Replicated the Production Standard?
For production clusters of 4+ nodes, Distributed-Replicated balances capacity and reliability. Unlike pure Distributed, losing a node doesn't cause data loss — replication within the group keeps copies. Data loss risk drops by 2 times (replica 2), and throughput scales linearly with nodes: adding 4 nodes increases I/O performance by 200% after proper rebalance. GlusterFS is 3–5 times less expensive than commercial SAN solutions with comparable performance.
gluster volume create vol-data \
replica 2 \
server1:/data/brick1 \
server2:/data/brick1 \
server3:/data/brick1 \
server4:/data/brick1 Node Preparation and Installation
Follow these steps for a basic GlusterFS cluster setup:
- Install glusterfs-server on each server.
- Prepare separate partitions for bricks (not system disk).
- Probe peers and create volume with optimizations.
- Mount volume on clients with fault tolerance.
Detailed commands:
# Step 1: Install and enable glusterd
apt install glusterfs-server
systemctl enable --now glusterd
# Step 2: Create brick partition and mount
mkfs.xfs -i size=512 -n size=8192 /dev/sdb1
mkdir -p /data/brick1
echo '/dev/sdb1 /data/brick1 xfs defaults,noatime,inode64 0 0' >> /etc/fstab
mount -a
# Step 3: Probe nodes and create volume
gluster peer probe server2
gluster peer probe server3
gluster peer probe server4
gluster peer status
gluster volume create vol-data replica 2 transport tcp \
server1:/data/brick1/vol-data \
server2:/data/brick1/vol-data \
server3:/data/brick1/vol-data \
server4:/data/brick1/vol-data
gluster volume set vol-data auth.allow '192.168.10.*'
gluster volume set vol-data performance.cache-size 1GB
gluster volume set vol-data performance.io-thread-count 32
gluster volume set vol-data network.ping-timeout 10
gluster volume set vol-data cluster.heal-timeout 300
gluster volume start vol-data
performance.cache-size 1GB — metadata cache, io-thread-count 32 — parallel I/O threads. Reduce for slow disks, increase for NVMe arrays.
Mounting a Volume on Clients with Fault Tolerance
The native glusterfs-client is preferred over NFS:
apt install glusterfs-client
# In /etc/fstab
server1:/vol-data /mnt/gluster glusterfs defaults,_netdev,backup-volfile-servers=server2:server3 0 0
backup-volfile-servers — if server1 is unavailable, the client gets the volume config from backup servers. Without this, the mount will fail even if other nodes are alive. To prevent mount failures after reboot, ensure the systemd mount unit includes After=network-online.target and Wants=network-online.target.
Monitoring and Recovery
GlusterFS automatically heals replicas after a node returns. Control it with: gluster volume heal vol-data info, gluster volume heal vol-data info split-brain, gluster volume status vol-data detail, and gluster volume profile vol-data start. As noted in the official GlusterFS guide, split-brain occurs when replicas diverge and the system cannot determine the correct file version. Manual fix: gluster volume heal vol-data split-brain source-brick server1:/data/brick1/vol-data /path/to/file. For monitoring in Prometheus, use gluster_exporter. For Kubernetes deployment, you can apply Helm 3.
Additional Performance Tuning
For large clusters, optimize network parameters: increase network.ping-timeout to 30 and tune performance.parallel-reads and performance.write-behind. When using NVMe, set performance.io-thread-count to 64. These settings can boost throughput by up to 15%.
Scope of Work
- Audit of current infrastructure and cluster topology design
- Node deployment, brick setup, volume creation
- Monitoring configuration (Prometheus + Grafana with ready dashboards)
- Integration with existing CI/CD and Ansible playbooks for reproducibility
- Maintenance and recovery documentation
- Training for your engineers
Our certified GlusterFS experts guarantee a seamless integration with a 99.9% uptime SLA. Our team has 5+ years of production GlusterFS experience with 30+ projects delivered. Average deployment time for a 4-node cluster is 3 days. We provide 24/7 support throughout all stages.
Timeline
| Scenario | Time |
|---|---|
| 2-3 node cluster, basic setup | 1-2 days |
| 4+ node cluster with monitoring | 2-3 days |
| Data migration to existing cluster | +1-2 days |
Cost is calculated individually after infrastructure audit.







