Сегодня 31 марта — Всемирный день резервного копирования (World Backup Day). Этот неофициальный праздник напоминает нам о том, что данные могут исчезнуть в любой момент: диск выйдет из строя, вирус зашифрует файлы, ошибка пользователя сотрёт важные документы. Или дата-центр стал недоступным. Но если есть резервная копия, ничего страшного не случится.
Разберёмся, как правильно делать бэкапы, почему RAID не спасает от удаления файлов, и какие инструменты помогут вам защитить данные.
Правило 3-2-1: три копии — залог спокойствия. Золотой стандарт у системных администраторов, про который слышал, наверное каждый начинающий it-специалист.
3 копии данных — основная + два резервных
2 разных носителя — например, один на локальном диске, другой на внешнем или втором диске
1 копия за пределами основного места хранения — например, в облаке
Такой подход защищает от самых распространённых угроз: сбоя диска, случайного удаления, вирусов, пожара или кражи оборудования.
Кстати, я не спроста сказал про raid вначале - многие думают, что если данные хранятся на RAID-массиве, бэкапы не нужны. Это ошибка! RAID — это отказоустойчивость, но не защита от потери данных. Если диск выйдет из строя — массив восстановится. Но если файлы удалены или зашифрованы вирусом — RAID их не вернёт. Особенно при зеркальном RAID, когда одновременно пишется на два диска. Поэтому RAID и резервное копирование дополняют друг друга, а не заменяют.
Сейчас хранить бекапы стало еще проще с появлением различных провайдеров облачных услуг, предоставляющих холодное (иногда ледяное) хранилище в бакетах. Причем чем реже вы будете скачать, а больше загружать - тем дешевле выйдет (особенно с инкрементным копированием). Можно арендовать облачное хранилище S3 (Simple Storage Service) и хранить резервные копии в надёжном дата-центре. S3 — это стандарт облачного хранения, который поддерживают многие сервисы: Amazon, Cloud Yandex, Cloudru, Selectel, Beget и многие другие.
Лучшие инструменты для резервного копирования для Linux, которые я пробовал
Restic
- Быстрое и надёжное резервное копирование с дедупликацией.
- Поддерживает локальные диски, S3, FTP, Backblaze B2 и другие облака.
- Нет web-интерфейса, но можно использовать Backrest (web UI на Docker).
- Сохраняет в свое формате, но не нагружает особо систему.
Duplicati
- Удобный web-интерфейс.
- Поддержка шифрования.
- Подходит для облачных и локальных бэкапов.
- При этом мне не понравился web-интерфейс, я не смог нормально защитить даже чрез reverse-proxy.
Kopia
- Современный open-source инструмент с web UI.
- Хорошая производительность и шифрование.
- Поддержка S3 и локального хранения.
- Тоже пишет в своем формате. Много функций при создании резервных копий, вплоть до выполнения скрипта до или после работы
Rclone
- Настоящий "швейцарский нож" для облачного хранения.
- Умеет копировать файлы в облака (Google Drive, Dropbox, S3 и т. д.).
- Работает через командную строку, но есть GUI-оболочки.
- Подходит также для синхронизации файлов
BorgBackup
- Высокая эффективность за счёт дедупликации.
- Оптимизирован для Linux.
- Умеет шифровать архивы.
Bacula
- Классическая система резервного копирования для серверов.
- Подходит для сложных инфраструктур с множеством машин.
- Требует настройки, но очень мощный инструмент.
- Очень сложный
VeemBackup
- Легенда среди всех утилит резервного копирования, но платный.
- Для windows server просто мастхэв. Может многое.
- Тоже сложный, до конца так и не понял его работу
Бэкапы — это не про «потом», а про «прямо сейчас». Лучше настроить их сегодня, чем жалеть о потерянных данных завтра. И главное - проверяйте резервные копии, чтобы они действительно работали.
Так что, с Днём бэкапа!