LinuxLII · High Availability FundamentalsRedundancy
Redundancy and fault tolerance - building for failure
What you'll learn
- Design redundancy at each layer
- Distinguish active-passive from active-active
- Apply fault tolerance patterns
- Recognise over-redundancy
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
Redundancy is the practice of having more than one of every component. Fault tolerance is what happens when one fails. This lesson covers the patterns and trade-offs.
Redundancy at each layer
| Layer | Redundancy |
|---|---|
| Power | Dual PSU, dual grid, UPS, generator |
| Network | Dual switches, dual routers, dual uplinks |
| Storage | RAID, replication, erasure coding |
| Server | Clustering, failover |
| Datacenter | Multi-region, multi-cloud |
| Service | Multiple instances, load balancer |
| Application | Stateless, no single point of failure |
The rule: every single point of failure (SPOF) is a candidate for redundancy.
Active-passive vs active-active
- Active-passive: one node is active, the other is standby. On failure, standby takes over. Examples: VRRP, Pacemaker, DRBD.
- Active-active: both nodes serve traffic. On failure, the survivor handles the load. Examples: HAProxy pair, database replication with read replicas.
Active-active has higher utilisation but is more complex (shared state, split-brain risk). Active-passive is simpler but wastes resources.
Fault tolerance patterns
Failover
The classic pattern. Active node fails, standby takes over.
- Pros: simple.
- Cons: brief downtime during failover.
Load balancing with health checks
Multiple instances behind a load balancer. Failed instances are removed from rotation.
- Pros: automatic, no manual intervention.
- Cons: instances must be stateless or share state.
Active-active with quorum
Multiple nodes that vote on which is the leader. On failure, the remaining nodes form a new quorum.
- Pros: no downtime.
- Cons: requires an even number of nodes (typically 3 or 5).
Geographic replication
Multiple regions, each with its own infrastructure. On regional failure, traffic shifts to another region.
- Pros: DR-grade availability.
- Cons: expensive, complex.
Apply to Linux
For a Linux service:
Service (e.g. nginx):
- 2+ instances behind a load balancer
- Health checks: TCP connect, HTTP /health
- Session: sticky sessions or shared session store
Database:
- Primary + replica
- Replica promoted on primary failure
- Application reconnects to new primary
Storage:
- RAID 1/10 for local redundancy
- Replication to a second host for off-host redundancy
Each layer is redundant; failure of one component is absorbed by the others.
Over-redundancy
More redundancy is not always better:
- 3-way replication costs 3x the storage of 1-way.
- Multi-region costs 2-3x the cost of single-region.
- Each redundant component is a potential failure point.
Match redundancy to the availability target. 99% does not need multi-region; 99.99% might.
Knowledge check
Knowledge check · 3 questions
Q1. What is the difference between active-passive and active-active?
Q2. Active-active is always better than active-passive.
Q3. Which of the following are valid fault tolerance patterns? Select all that apply.
Passing score: 75%. Answers are checked in this browser.