Резервные копии на белорусском VPS: план и восстановление

Это практическое руководство по резервному копированию на VPS, размещённом в Беларуси. Объясню, зачем хранить копии локально и вне сервера, какие схемы выбрать для малого бизнеса и как вернуть работу сервиса после сбоя без паники.

Базовая стратегия: правило 3-2-1 и локальная специфика

Пример: небольшое кафе в Минске ведёт сайт для меню и онлайн‑заказов, а также использует POS на VPS. Потеря данных сайта снижает число заказов, потеря POS — выручку за смену. Для таких бизнесов подойдёт правило 3-2-1: три копии, на двух разных носителях, одна копия вне основного сервера.

Как сделать: настраивайте ежедневные инкрементальные бэкапы базы и файлов + еженедельный полный бэкап. Храните одну копию на S3‑совместимом хранилище в том же дата‑центре Беларуси для скорости восстановления и одну копию на удалённом объект‑хранилище или другом VPS в другой локации. Для локального Object Storage посмотрите предложение по Nextcloud и S3‑совместимое Object Storage на белорусском VPS.

Инструменты и автоматизация на VPS

Пример: интернет‑магазин в Гомеле с OpenCart и 50 заказами в сутки. Ручное копирование файлов займёт время и будет ошибочным. Автоматизация решает проблему регулярно и предсказуемо.

Как сделать: выберите инструмент (restic, borg, duplicity). Настройте ключи и инициализацию репозитория, создайте скрипт, который:

  • дампит базу (mysqldump или pg_dump),
  • архивирует медиа и конфиги,
  • запускает инкрементальный бэкап в репозиторий,
  • удаляет старые снапшоты по политике хранения.
Запустите тестовый прогон через cron и проверьте логи. Автоматизация экономит время сотрудников и снижает вероятность ошибок.

План восстановления: восстановление без паники

Пример: салон красоты в Гродно обновил плагин на сайте и потерял базу клиентов. Быстрое восстановление важно, чтобы вернуть записи и купоны клиентов.

Как сделать: опишите шаги восстановления в коротком документе и прогоняйте тестовый откат раз в месяц. Последовательность простая:

  1. Остановить сервисы, которые пишут в базу.
  2. Восстановить последний доступный дамп базы.
  3. Развернуть файлы медиа из инкремента, начиная от полного снапшота.
  4. Проверить логи и целостность данных, запустить сервисы.
Тестовый откат выявляет пропущенные файлы и ошибки конфигурации раньше, чем столкнётся клиент.

Безопасность и хранение ключей

Пример: бухгалтерия в Бресте хранит счета и акты. Неправильные права на бэкап‑репозиторий ставят под угрозу конфиденциальность документов.

Как сделать: шифруйте резервные копии на этапе архивации или используйте шифрование клиента в инструментах (restic/duplicity). Храните ключи в отдельном менеджере паролей или в защищённой секции на другом сервере с ограниченным доступом. Ограничьте доступ к скриптам бэкапа по sudo и используйте учетные записи с минимальными правами.

Резервирование инфраструктуры: локальный и гибридный подход

Пример: сервис бронирования номеров в Барановичах использует VPS и публичное облако для отчётности. Одного хоста недостаточно для устойчивости бизнеса в период роста нагрузки.

Как сделать: комбинируйте хранение бэкапов на VPS и в публичном облаке или другом дата‑центре. Для гибридной архитектуры пригодится сценарий: быстрый доступ к бэкапам в локальном дата‑центре для срочного восстановления и удалённая копия для защиты от локальных аварий. См. идеи по архитектуре в статье про гибридное размещение: VPS в Беларуси плюс публичное облако.

Типичные ошибки

  • Нет регулярного тестирования восстановления; бэкап есть, но восстановление не работает.
  • Хранение всех копий только на одном VPS; одна поломка — потеря всех данных.
  • Отсутствие шифрования и управления ключами; доступ к бэкапам открыт слишком широко.
  • Неправильные политики хранения: важные данные удаляются раньше времени.
  • Мониторинг бэкапов отсутствует: скрипт упал, уведомление не настроено.

3 шага, которые можно сделать на этой неделе:

  1. Настроить ежедневный дамп базы и выгрузку на S3‑совместимое хранилище.
  2. Написать простой скрипт восстановления и выполнить тест отката на копии, не в проде.
  3. Внедрить шифрование бэкапов и ограничить доступ к ключам.


🗓️

Вернуться на главную →