Purpose
Pool settings are chosen once and lived with for years. Some of them - the pool
type, and in practice the placement-group count - are painful or impossible to
change once data is in, and min_size is the single setting most likely to
be wrong in a way that only shows up during an outage. This checklist is run
before a pool takes its first write.
Order of work
The list runs in three passes. The durability pass is replicated-or-ec,
size-min-size and crush-rule: these three together decide how many
failures the pool survives and how many it stays available through, and they
have to be decided as a set rather than one at a time. The scale pass is
pg-num and quota, which size the pool against the cluster it lives in.
The hygiene pass is app-tag and namespaces - the two items that cost
nothing now and save an hour of guessing in eighteen months when nobody
remembers which pool belongs to which service.
Before you start
Have the workload profile, the durability target the service owner asked for, the OSD count and device classes available, and the existing pool list so the new name fits the convention.
Verification
The pool is ready when every critical item is checked and the settings have been read back from the cluster rather than from the change request. Mark an item N/A rather than leaving it unchecked when it does not apply to this cluster.
Escalation
A min_size of 1 is an availability-over-durability trade. It needs the
service owner’s explicit sign-off, in writing.