A full etcd stops accepting writes, and the whole cluster stops changing.
Every write creates a new revision. Compaction discards old revisions logically; defragmentation then returns the freed space to the disk. They are two separate steps.
1 Revisions pile up
1.8 GB
Data file creeping toward the default 2 GB quota on a busy cluster with no maintenance.
2 Compaction
logical
Tells etcd old revisions are no longer needed. Space becomes reusable inside the file, but the file does not shrink.
3 Defragmentation
physical
Rewrites the file and returns space to the filesystem. Run on one member at a time.
The NOSPACE alarm
Quota exceeded: etcd raises NOSPACE and rejects all writes cluster-wide. After compacting and defragmenting you must also disarm the alarm.
recovery
$ etcdctl alarm list memberID:8e9e05c52164694d alarm:NOSPACE $ etcdctl compact $REV # logical $ etcdctl defrag --endpoints=$M1 # one member $ etcdctl alarm disarm