mon: add monitor RocksDB backup and restore
Implements an opt-in backup mechanism for the monitor using rocksdb::BackupEngine. Backups run on a schedule when mon_backup_interval is set, or are triggered manually via `ceph tell mon.* backup`. Cleanup keeps the last N, hourly, and daily snapshots, with a free-space guard. Off by default. Restore is offline: stop the mon and run ceph-mon --restore-backup <dir> --yes-i-really-mean-it optionally with --backup-version (BackupEngine logical version, as shown by --list-backups). The mon keyring is stashed alongside the RocksDB backup so a wiped mon_data is recovered end-to-end, and kv_backend is stamped back when missing. Co-authored-by: Daniel Poelzleithner <poelzleithner@b1-systems.de> Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
M
Matthew N. Heler committed
3a9ae41e2a8fd614d67e3dac39d28ddf5dd6ca4a
Parent: e4cf2f0