Skip to main content
RunBook Academy

CephXC · Scaling OutScaling Out

Changing the monitor count

Advanced⏱ ~17 mincephcephadm

What you'll learn

  • Decide whether a monitor count change is warranted
  • Add a monitor safely
  • Remove a monitor safely
  • Verify quorum throughout

Prerequisites

None — start here.

Verified against Ceph Tentacle 20.2.x · Ceph Squid 19.2.x (supported previous) · cephadm matches the verified Ceph release · podman 4.x · csi-rbd and csi-cephfs current · RBD / CephFS / RGW current (matches Ceph release) · Linux kernel 5.15+ (5.10 minimum) · Ubuntu 24.04 LTS (Ceph host baseline) · Debian 12 (Bookworm) (Ceph host baseline) · Rocky Linux / RHEL / AlmaLinux 9.x (Ceph host baseline) · Proxmox VE 9.x (cross-course integration) · Kubernetes 1.31+ (cross-course integration) · 2026-08-18

Not yet marked complete on this device.

Why this matters in production

The monitor count determines failure tolerance, and changing it touches the component whose failure stops the cluster entirely.

When more monitors help

SituationMore monitors
Three monitors, three racks, one per rackno — already optimal for three racks
Three monitors, five racksyes — five monitors, one per rack
Three monitors, all in one rackno — placement is the problem
Large cluster with high map churnpossibly — more replicas of the map
Frequent monitor host maintenanceyes — more margin during windows
ceph mon dump
ceph quorum_status --format json | python3 -c '
import sys,json; d=json.load(sys.stdin)
print("quorum:", d["quorum_names"], "of", [m["name"] for m in d["monmap"]["mons"]])'

The most common mistake is adding monitors to improve availability when the actual problem is that all of them share a failure domain.

When they do not

5 monitors in one rack: tolerates 2 monitor failures, 0 rack failures
3 monitors in three racks: tolerates 1 monitor failure, 1 rack failure

The second configuration is more available despite having fewer monitors.

Cost of more monitorsEffect
More Paxos participantsslightly slower map commits
More hosts to maintainmore maintenance windows
More stores to monitormore failure surface
An even numbernever — no quorum improvement, more failure surface

Adding a monitor

# always to an odd total
ceph orch apply mon --placement="ceph-01,ceph-02,ceph-03,ceph-04,ceph-05"
# verify each joins quorum before proceeding
watch -n 5 'ceph quorum_status --format json | python3 -c "
import sys,json; print(json.load(sys.stdin)[\"quorum_names\"])"'

Adding monitors one at a time, verifying quorum between each, means a problem affects one addition rather than several.

Removing a monitor

ceph orch daemon rm mon.ceph-05
ceph mon dump
ceph quorum_status
Removing takes the cluster through a period with an even count.
Verify quorum after each removal before the next.
# if a monitor is unreachable and must be removed from the map
ceph mon remove ceph-05

Verifying throughout

ceph -s
ceph mon stat
ceph quorum_status
ceph mon dump | grep -E 'epoch|mon\.'
After any change:
  the expected monitors are in the monmap
  all of them are in quorum
  the cluster is HEALTH_OK
  no elections are occurring
ceph log last 50 | grep -i election

Quiz

Knowledge check · 4 questions

  1. Q1. How many failures does a four-monitor cluster tolerate?

  2. Q2. Reducing a five-monitor cluster to three can raise availability, when the five share one rack and the three sit in three.

  3. Q3. Improve monitor availability.

    A cluster has three monitors, all on hosts in the same rack. The team proposes adding two more monitors to improve availability.

  4. Q4. What should be verified after every monitor count change?

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

Production discipline

Change monitor placement before considering monitor count — five in one rack tolerate zero rack failures while three across three racks tolerate one. Verify quorum after each individual addition or removal rather than after the whole change, and never settle on an even count.

Cross-course references

  • Kubernetes: etcd member placement across zones matters more than member count
  • Linux: any quorum system depends on independent failure domains