Проверка и тестирование резервных копий
Проверка целостности резервных копий и тестирование процедур восстановления.
Проверка завершения резервного копирования
Убедитесь, что операции резервного копирования завершились успешно:
# Список операций резервного копирования и проверка статуса
ydb operation list incbackup
Ищите следующие значения статуса в выводе:
| Статус | Значение |
|---|---|
SUCCESS |
Операция завершена успешно |
PROGRESS |
Операция ещё выполняется |
CANCELLED |
Операция была отменена (в настоящее время неприменимо — отмена пока не поддерживается) |
ERROR |
Операция завершилась с ошибкой |
# Получение подробной информации о конкретной операции
ydb operation get <operation-id>
# Проверка существования каталога резервной копии
ydb scheme ls .backups/collections/production_backups/ | tail -1
Если операция показывает статус ERROR, проверьте детали операции для получения сообщения об ошибке и убедитесь, что все таблицы в коллекции доступны.
Проверка экспорта во внешнее хранилище
Регулярно проверяйте, что резервные копии можно экспортировать во внешнее хранилище:
# Экспорт в S3 и проверка
ydb export s3 \
--s3-endpoint storage.yandexcloud.net \
--bucket my-backup-bucket \
--item src=.backups/collections/production_backups/20250821141425Z_full,dst=backups/test_export
# Проверка успешного завершения экспорта
ydb operation list export/s3
# Проверка наличия экспортированных данных в S3 (с помощью вашего S3-клиента)
# aws s3 ls s3://my-backup-bucket/backups/test_export/
Тестирование восстановления резервных копий
Регулярно проверяйте, что резервные копии можно восстановить:
# Экспорт недавней резервной копии для тестирования
ydb tools dump -p .backups/collections/production_backups/20250601120000Z_full -o /tmp/test_restore
# Тестовое восстановление во временное место (в тестовой среде)
ydb tools restore -p /Root/test_restore_verification -i /tmp/test_restore
Чек-лист проверки
- [ ] Операции резервного копирования завершаются без ошибок
- [ ] Каталоги резервных копий создаются с ожидаемыми временными метками
- [ ] Экспортированные резервные копии можно успешно импортировать
- [ ] Восстановленные данные соответствуют ожидаемому содержимому
- [ ] Целостность инкрементальной цепочки сохраняется
Рекомендуемое расписание тестирования
| Тип теста | Частота | Описание |
|---|---|---|
| Статус операций | Ежедневно | Проверка завершения запланированных резервных копий |
| Проверка экспорта | Еженедельно | Проверка экспорта во внешнее хранилище |
| Полный тест восстановления | Ежемесячно | Полное восстановление в тестовую среду |
| Учения по аварийному восстановлению | Ежеквартально | Полная симуляция аварийного восстановления |
Настройка мониторинга и оповещений
YDB не предоставляет встроенного мониторинга или оповещений для резервного копирования. Реализуйте внешний мониторинг для обнаружения сбоев резервного копирования:
Пример скрипта мониторинга
#!/bin/bash
# Проверка неуспешных операций резервного копирования
FAILED=$(ydb operation list incbackup --format json | jq '[.operations[] | select(.status == "ERROR")] | length')
if [ "$FAILED" -gt 0 ]; then
echo "ALERT: $FAILED операция(й) резервного копирования завершилась с ошибкой" | mail -s "YDB Backup Alert" admin@example.com
fi
# Проверка, что резервная копия была создана за последние 24 часа
LATEST=$(ydb scheme ls .backups/collections/production_backups/ | sort | tail -1)
# Добавьте свою логику для разбора временной метки и сравнения с текущим временем
Рекомендации по мониторингу
- Планируйте запуск скриптов мониторинга через cron после ожидаемого времени резервного копирования
- Проверяйте как статус операции (
ERROR), так и создание новых резервных копий - Интегрируйте с вашей существующей системой оповещений (email, Slack, PagerDuty и т.д.)
- Отслеживайте рост хранилища резервных копий, чтобы избежать нехватки места
Следующие шаги
Была ли статья полезна?
Предыдущая
Следующая