LibreInfra Field Notes
One strong server or three modest nodes? Choose the failure model first
The number of servers does not determine resilience. The topology determines which failures the organisation can survive and which ones it has merely made more complicated.
One strong server or three modest nodes? Choose the failure model first
The number of servers does not determine resilience. The topology determines which failures the organisation can survive and which ones it has merely made more complicated.
Three compact machines sit on a shelf.
They are called a cluster.
Each runs virtual machines. Storage is copied between them. A management interface shows all three as green.
Then the switch loses power.
Every node remains healthy and unreachable.
Or one node disappears and the remaining two cannot agree which side has authority. Or the surviving nodes have enough CPU to restart the applications but not enough memory. Or the virtual machines move successfully while their local data does not.
The organisation bought three servers.
It did not necessarily buy availability.
The central test
A server topology is credible when every additional node corresponds to a specific failure the organisation can detect, contain and recover from.
One server can be an honest architecture
A single virtualisation host has obvious limits.
Hardware maintenance interrupts services. A motherboard failure stops every workload. Memory and PCIe capacity cannot expand beyond one chassis.
Those weaknesses are visible.
That visibility can produce a simple and recoverable design:
Primary compute server
|
v
Independent backup server
|
v
Replacement hardware or recovery location
The primary server carries live workloads.
The backup server protects historical states but does not depend on the primary host to remain accessible.
The organisation accepts that recovery involves restoring workloads rather than restarting them instantly elsewhere.
For a small business that can tolerate several hours of downtime, this may be a stronger design than a complex cluster operated without the people, network or spare capacity required to maintain it.
A simple platform can still have:
- mirrored boot storage
- redundant power supplies
- spare drives
- remote management
- automated backups
- configuration in version control
- a tested rebuild procedure
High availability is not the only respectable resilience model.
Fast, predictable recovery is often the better initial investment.
Two nodes create an authority problem
Two servers look attractive.
One can take over when the other fails. The hardware cost remains manageable. The pair seems balanced.
The difficulty is not counting machines.
It is determining authority when communication between them is lost.
If node A cannot reach node B, it cannot know whether node B has failed or whether the network between them has failed. If both continue making independent changes to shared state, the organisation can create split brain: two sides acting as though each is authoritative.
Consensus systems use quorum to prevent that.
A majority must agree before critical changes continue.
With two equal voters, the loss of either voter leaves no majority. Proxmox’s clustered configuration filesystem, for example, becomes read-only when a node loses quorum. That behaviour is restrictive by design: it prevents disconnected nodes from making conflicting cluster changes. ([Proxmox VE][2])
A third vote can help determine authority.
That vote may come from a third compute node or a deliberately configured quorum device. But a quorum witness does not provide replacement CPU, memory, storage or application capacity.
Common mistake
Believing that a third vote turns two servers into three-node high availability.
Better framing
Separate the consensus problem from the capacity problem. The cluster must know who has authority, and the surviving infrastructure must still have enough resources and data to run the service.
Three nodes are the beginning, not the destination
Three nodes give a consensus system a useful property: one node can disappear while two remain to form a majority.
Ceph, for example, recommends at least three monitor daemons for a production cluster so that a majority can maintain the authoritative cluster map. ([Ceph Documentation][3])
That solves one part of the problem.
It does not guarantee:
- sufficient surviving compute capacity
- available application data
- independent power
- independent networking
- correct fencing
- successful application restart
- intact backups
- a healthy site
Three nodes in one room connected to one switch and one UPS share several failure domains.
Three nodes each operating at 70 per cent memory utilisation cannot necessarily absorb the loss of one node.
Three nodes with local-only storage cannot automatically restart a virtual machine elsewhere.
Three copies of current data do not provide the historical states required to recover from corruption or administrative deletion.
The phrase “three-node cluster” should therefore be followed by another question:
Three nodes for which responsibility?
High availability requires four capabilities
A service can restart elsewhere only when four conditions are met.
1. Authority
The platform must determine which node is allowed to act.
This is the consensus and fencing problem.
2. Capacity
The surviving nodes need enough processor, memory, network and accelerator capacity.
A cluster operating near saturation has no useful failover reserve.
3. State
The replacement node needs access to compatible application state.
That may come from shared storage, distributed storage, database replication or a restore process.
4. Orchestration
The platform must know what to restart, where to place it and how to verify that it is working.
Node failure
|
v
Establish authority
|
v
Fence or isolate failed node
|
v
Locate usable state
|
v
Reserve surviving capacity
|
v
Restart and verify service
Removing any one of these turns automatic recovery into an assumption.
Fencing protects data from the server that may still be alive
A failed node is not always powered off.
It may be isolated from the cluster network while continuing to run workloads and write to storage. Restarting the same workload elsewhere without first preventing the original instance from acting can create two writers.
Fencing establishes that the failed or isolated node cannot continue changing protected state.
This may involve:
- hardware watchdogs
- BMC power control
- storage-level fencing
- network isolation
- a combination of mechanisms
The purpose is not punishment.
It is certainty.
The platform should not start a second authoritative instance until it can prove the first one cannot continue.
A small company should be cautious about claiming automatic high availability when it has never tested this boundary under a real network partition.
Local storage, replication and shared storage make different promises
Local storage
Each workload’s disk belongs to one node.
This is simple and can provide excellent performance. Recovery on another node requires replication or restoration.
Asynchronous replication
Changes are copied periodically to another node.
This can shorten recovery, but the latest writes may not have reached the replica. The recovery point is determined by the last successful replication.
Shared storage
Several nodes access one storage service.
Workloads can move without copying their complete disks, but the shared storage becomes a critical dependency unless it is itself redundant.
Distributed storage
Data is spread across several nodes and protected through replication or erasure coding.
This can align storage availability with compute availability. It also increases network, disk, memory and operating complexity.
Ceph can run on modest hardware, but its own documentation still emphasises benchmarking and notes that production monitor quorum begins with at least three monitors. “It installs on three nodes” is not equivalent to “three small nodes will provide the performance and recovery behaviour we need.” ([Ceph Documentation][3])
One large server and three small servers fail differently
| Design | Strength | Principal weakness |
|---|---|---|
| One large server | Simple, efficient, strong expansion | Whole platform stops during host failure |
| Two servers plus witness | Lower hardware cost, planned migration possible | Limited failover capacity and more complex authority |
| Three equal nodes | Quorum and flexible placement | Requires capacity reserve and strong network/storage design |
| Large compute plus separate backup | Clear live/recovery separation | Recovery is not immediate |
| Several mini PCs | Quiet, low-power, easy node replacement | Limited drives, remote management and expansion |
| Refurbished enterprise servers | Memory, PCIe, drive bays, BMC | Power, noise and ageing firmware |
| Mixed fleet | Hardware matched to responsibility | More models, spares and lifecycle paths |
The table does not produce a universal winner.
It exposes the trade.
Small nodes are not automatically more efficient
Compact systems can be excellent cluster nodes.
They may provide modern processors, low idle power and enough memory for many small services.
Their limits often appear elsewhere:
- one internal drive
- no ECC support on some platforms
- no independent management controller
- limited network interfaces
- no redundant power
- constrained cooling
- awkward replacement of proprietary parts
- external power supplies
- little PCIe expansion
An enterprise server may use more power but consolidate memory-heavy services that would require several smaller machines.
The useful comparison is service-level:
- watts at representative load
- usable memory
- recoverable storage
- number of workloads
- failure impact
- replacement time
- operator effort
A low-power node that multiplies management work and cannot carry a failed neighbour may be efficient as a device and weak as a platform.
Reserve capacity must be visible
Suppose three nodes each contain 128GB of memory.
The cluster has 384GB in total.
If workloads consume 300GB, losing one node leaves 256GB. The surviving pair cannot restart everything even before considering hypervisor overhead and memory locality.
The cluster is healthy during normal operation and underprovisioned during the event it was built to survive.
A resilient capacity plan should model:
- normal operation
- planned maintenance
- loss of the largest node
- storage recovery load
- backup and restore traffic
- seasonal or project peaks
Spare capacity should have an identified purpose.
Unused resources are not waste when they protect a defined failure scenario.
They are waste when nobody knows why they exist.
The network is part of the cluster
Cluster communication, storage replication, migration, backup and application traffic can all compete for the same links.
A 10GbE interface does not provide 10GbE independently to every responsibility.
During node failure, the network may need to:
- rebuild distributed storage
- migrate or restart workloads
- serve normal application traffic
- transfer backups
- maintain consensus
The recovery event can create the highest network demand.
Separating traffic does not always require separate switches. VLANs, quality controls and dedicated interfaces can help.
But a single physical switch remains a shared failure domain.
The design should state whether loss of that switch is accepted, protected through a second path or handled through restoration elsewhere.
A practical topology decision
| Question | One host plus backup | Three-node cluster |
|---|---|---|
| Planned maintenance | Service interruption or manual move | Workloads may move between nodes |
| Host failure | Restore to replacement capacity | Restart on surviving nodes |
| Data protection | Independent backup required | Independent backup still required |
| Network complexity | Moderate | Higher |
| Capacity reserve | Replacement hardware or restore target | Enough spare capacity after node loss |
| Operator skill | Virtualisation and recovery | Virtualisation, consensus, fencing and distributed state |
| Recovery evidence | Restore exercise | Failover and restore exercises |
| Best fit | Tolerable downtime, small team | Short outage objective and mature operations |
The cluster should be selected because the business needs its operating properties.
Not because three machines look more professional than one.
A topology should be allowed to remain simple
A small company can begin with one well-designed host and one independent backup system.
It can add a second compute node for maintenance and manual recovery.
It can later introduce quorum, shared state and automated restart when the service requirements justify them.
This sequence is not an admission that the first design was unfinished.
It is controlled growth.
The most dangerous topology is the one whose complexity arrives before the organisation has evidence that it needs it.
One question for the hardware decision
Do not ask whether one server or three servers are more resilient.
Ask:
After the largest node disappears, which services must continue, where will their current state come from, and which surviving machine has the measured capacity to run them?
Make the next decision with clarity