Выберите границу репозитория
Используйте отдельное назначение и учётные данные, отличные от рабочего сервера. Шифрование на стороне клиента может защитить сохранённые копии, но пароль или ключ репозитория необходимо хранить в приватном резервном месте. Их потеря может сделать каждый зашифрованный снимок непригодным.
Собирайте согласованные данные
Используйте собственные средства дампа базы данных или поддерживаемую приложением процедуру снимков. Резервируйте конфигурацию, инструкции по развёртыванию и защищённые секреты, необходимые для восстановления. Исключайте временные кэши только тогда, когда знаете, что их можно пересоздать.
Усложните удаление
Рассмотрите назначение только для добавления или неизменяемое хранилище, где исходная машина не может стереть каждую историческую копию. По возможности храните учётные данные для хранения и очистки отдельно. Одно лишь шифрование не мешает скомпрометированному серверу удалить доступный для записи репозиторий.
Планируйте проверки и учения по восстановлению
Следите за кодом завершения заданий и давностью последней исправной резервной копии. Запускайте проверки целостности репозитория, поддерживаемые инструментом. Регулярно восстанавливайте образец и проводите полную тренировку восстановления после крупных изменений приложения.
Отделяйте добавление копии от удаления истории
Назначение только для добавления позволяет производственному серверу добавлять снимки, сохраняя право удаления на отдельной доверенной машине. Политику хранения всё равно нужно тщательно проверять: поддельные более новые снимки могут подорвать некоторые политики отбора по календарю. Изучите рекомендации инструмента, выполните пробный прогон политики хранения и следите за ёмкостью. Операция forget в Restic выбирает снимки; очистка удаляет неиспользуемые сохранённые данные.
- Держите учётные данные обслуживания репозитория вне продакшн-машины
- Проведите пробный прогон политики хранения перед разрешением удаления
- Используйте новую пустую цель для каждого учебного восстановления
restic check
restic snapshots
restic restore latest --target /srv/restore-drillОфициальная документация: Хранение и очистка в Restic
Учебное восстановление с критерием успеха
Выберите один реалистичный сбой: удалённый файл, потерянная база данных или полная пересборка машины. Восстанавливайте в отдельный каталог или изолированный хост. Проверьте содержимое файлов, права доступа и способность приложения их использовать. Зафиксируйте затраченное время и любой ручной шаг, которого не было в инструкции. Проверка репозитория подтверждает иное свойство, чем рабочее восстановление приложения.
- Не восстанавливайте поверх работающего приложения в качестве первого теста
- Убедитесь, что учётные данные шифрования можно восстановить независимо
- Оповещать, если самая новая успешная резервная копия превышает целевой срок восстановления
Составьте манифест восстановления перед выбором исключений
Перечислите то, что нельзя воссоздать переустановкой пакета: содержимое баз данных, загрузки, конфигурацию приложений, ключи подписи или шифрования и версии развёртывания. Рядом с каждым пунктом укажите метод обеспечения согласованности. Дамп базы данных соответствует определённому моменту времени; копирование каталога занятой базы данных может дать другой результат. Храните доступ к репозиторию, его парольную фразу и любой экспорт ключа Borg в отдельном приватном месте восстановления. Проверьте, что запасная машина может открыть репозиторий, прежде чем делать его единственной копией для восстановления.
- Укажите целевую точку восстановления: сколько последней работы может быть потеряно. Составьте график с учётом этого требования.
- Укажите целевую точку восстановления: сколько времени может занять пересборка. Включите импорт базы данных и изменения DNS в репетицию.
- Проверьте, что исключение, предназначенное для кэшей, не удаляет также загрузки, тома контейнеров или защищённую конфигурацию.
- Используйте документацию для установленной мажорной версии Borg; форматы репозиториев и команды не взаимозаменяемы между всеми версиями.
Официальная документация: Borg: шифрование, согласованность и восстановление
Проверяйте сохранённые данные, а также метаданные репозитория
Проверка репозитория Restic по умолчанию и сквозная проверка чтением выполняют разные задачи. Планируйте проверку данных с учётом её нагрузки на пропускную способность и времени выполнения. В примере проверяется одна определённая пятая часть pack-файлов; последующие плановые проверки должны использовать остальные доли, чтобы охватить репозиторий. Случайно выбранное подмножество не даёт такой же гарантии охвата. Ни одна из операций не доказывает, что приложение может запуститься с восстановленными данными.
restic check --read-data-subset=1/5
restic snapshots --host example-host
restic restore latest --host example-host --target /srv/restore-drillОфициальная документация: restic: проверки репозитория и верификация данных
Держите обслуживание вне досягаемости скомпрометированного клиента
Хранилище Borg только для добавления сохраняет зафиксированные данные сегментов, но клиент всё ещё может изменить видимый список архивов; восстановление и уплотнение требуют документированной административной процедуры. Ограничьте удалённые учётные данные резервного копирования серверной командой Borg, а не неограниченным доступом к оболочке или файловой системе, который мог бы обойти эти защиты. С restic изучите рекомендации keep-within для хранения только для добавления. Перед любым обслуживанием, которое может удалить историю, проверьте состояние репозитория и просмотрите выборку с доверенной машины.
- Следите за давностью последней успешной копии, ростом репозитория, местом в кэше и свободной ёмкостью на обеих сторонах.
- Если восстановление не удалось, сохраните исходный репозиторий и журналы перед попытками ремонта или очистки.
- Если задание выполняется успешно, но ожидаемые файлы отсутствуют, проверьте содержимое архива и шаблоны исключений, прежде чем менять срок хранения.
- Завершите учения, открыв файлы и выполнив проверки приложений в изоляции; не включайте рабочие назначения в команду восстановления.
Официальная документация: Borg: работа и обслуживание в режиме только добавления · restic: хранение и соображения по режиму только для добавления