Артефакты дампа PostgreSQL
Cotton может периодически создавать дампы PostgreSQL и складывать получившиеся артефакты бэкапа через свой конвейер хранения. Байты бэкапа не превращаются в загадочную папку сбоку от модели продукта.
- Артефакты бэкапа хранятся через чанковый конвейер Cotton.
- Та же модель хранилища защищает и байты бэкапа, и байты обычных файлов.
- База остаётся источником истины для живых метаданных продукта.
Манифест и указатель на последний бэкап
Поиск бэкапа опирается на метаданные, а не на угадывание по имени файла. Cotton может держать манифест и записи-указатели на последний бэкап, чтобы восстановление на старте нашло нужный артефакт.
- Указатель на последний бэкап показывает текущего кандидата.
- Манифест бэкапа описывает чанки, из которых собран дамп.
- Указатель и данные манифеста — часть защищённой поверхности бэкапа.
Ручная контрольная точка
Админы могут запустить задачу бэкапа по требованию через серверный API, когда нужна немедленная контрольная точка перед рискованным шагом обслуживания или обновлением.
Авто-восстановление пустой базы
Когда явно включён режим восстановления пустой базы, Cotton на старте проверяет, пуста ли база, находит манифест последнего бэкапа, собирает дамп из сохранённых чанков, проверяет целостность по хешу и размеру и восстанавливается автоматически.
Проверка прежде доверия
Путь восстановления не должен вслепую залить любые байты, какие есть. Cotton проверяет размер и хеш бэкапа перед восстановлением, чтобы повреждение стало сигналом к восстановлению, а не тихим частичным импортом.
Уведомление админу
После авто-восстановления Cotton проверяет наличие нужных расширений PostgreSQL и шлёт админу уведомление с высоким приоритетом и метаданными бэкапа. Оператор должен знать, что восстановление произошло и какой артефакт использован.
Доказательство пути восстановления
Путь бэкапа конкретный: дамп PostgreSQL, чанковый артефакт хранилища, указатель на последний бэкап, манифест бэкапа, проверка по хешу и размеру, восстановление пустой базы на старте, проверка расширений и уведомление админу с высоким приоритетом.
Восстановление — часть продукта
Cotton проще эксплуатировать, когда восстановление — не сноска в README. Бэкапы БД видны как часть операционной модели и привязаны к той же дисциплине хранения, которая защищает обычный контент.
Это всё ещё не вся стратегия бэкапа
Восстановление БД из своего хранилища полезно, но не заменяет проверенные бэкапы вне сервера. Полная потеря хоста, сломанное хранилище, неправильное хранение ключей, ошибки оператора, ransomware и аварийное восстановление всё равно требуют внешнего плана бэкапа. Бэкап, который ни разу не восстанавливали, — это не бэкап, а гороскоп.