[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Краткий обзор систем резервного копирования



Выкладываю здесь свой обзор по итогам обсуждения в теме "Backup".
Может, кому пригодится.
Дополнения и исправления приветствуются.


Системы резервного копирования
------------------------------

Проприетарные закрытые решения типа Veeam не рассматриваются, по
условиям политики безопасности.

### Решения на базе unix-утилит

[Решения на основе rsync, tar, rdiff-backup,
etc.](http://www.mikerubel.org/computers/rsync_snapshots/) не
рассматриваются
по причине большого количества работы, которую потребуется выполнить, и
отсутствия необходимого WEB-интерфейса.


### Bareos

[BareOS (Backup Archiving Recovery Open
Sourced)](https://www.bareos.org/en/) - форк Bacula с 2010 года.

Плюсы:

- Стабильная отлаженная система.
- Поддерживает несколько типов агентов под разные ОС.
- Поддерживает различные типы бэкапа: инкрементальный, дифференциальный,
полный.
- WEB-интерфейс очень развит и функционален.
- Гибкая конфигурация.
- Имеется FUSE драйвер, который показывает бэкапы.
- Есть обвязка для Python, позволяющая взаимодействовать с Director.
- Есть агенты для бэкапа специфичных приложений (например, СУБД).
- Все коммуникации между различными компонентами системы аутентифицируются.
- Интеграция с FreeNAS.
- Поддержка большого количества систем хранения.

Минусы:

- Ориентация на ленточный бэкап.
- Многокомпонентная запутанная система.
- Сложная и запутанная конфигурация.
- Требует постоянной поддержки, в случае минимальных изменений.
- Документация обширная (500+ страниц), но несмотря на это, настройка
под типовой вариант использования сложна и занимает много времени.


### BackupPC

[BackupPC](http://backuppc.sourceforge.net) - безагентная система
резервного копирования.

Плюсы и возможности:

- Возможен бэкап без агентов.
- Полные и инкрементальные бэкапы.
- Есть WEB-интерфейс.
- Минимизирует количество дисковых операций.
- Дедупликация. Одинаковые файлы сохраняются однократно, даже если это
файлы на разных машинах.
- Возможность сжатия данных.
- Не нужен клиент, могут использоваться SMB, rsync.
- Возможность восстановления файлов прямо через WEB-интерфейс.
- Возможно восстановить как конкретные файлы, так и скачать все файлы
архивом.
- Гибкая конфигурация, как системная, так и отдельная для каждой машины.
- Возможность посылать уведомления.

Минусы:

- Реализован на Perl, требует установки CPAN.
- Безагентный бэкап менее гибок, чем бэкап через агента, хотя и более
безопасен.
- Нельзя выбрать время начала копирования (компенсируется выбором
периодов, когда делать копирование запрещено).


### UrBackup

[UrBackup](https://www.urbackup.org) - клиент-серверная система
резервного копирования.
Поддерживает FreeNAS.

Плюсы и возможности:

- Простая настройка.
- Есть WEB-интерфейс.
- Полные и инкрементальные бэкапы.
- Файловые бэкапы и бэкапы разделов (в т.ч. инкрементальные).
- Клиенты для Windows, Linux, MacOS X.
- Быстрая дедупликация на клиенте: быстро вычисляются изменения в
дереве, и передаются только новые файлы или сектора диска.
- Бэкап разделов при запущенной системе.
- Возможность бэкапа каталогов при изменении.
- Корректные бэкапы используемых приложениями файлов (например, баз
Outlook, клиент знает о распространённых приложениях).
- Дедупликация. Одинаковые файлы сохраняются однократно, даже если это
файлы на разных машинах.
- Настройки бэкапов (частоту, количество и т.п.) клиент может менять для
себя.
- Простая настройка.
- Предупреждение клиента о том, что бэкап не был сделан.
- Возможно восстановить как конкретные файлы, так и скачать все файлы
архивом.
- Возможность посылать уведомления.
- Безопасные и эффективные бэкапы через Internet.
- Метаданные файлов (например, время изменения) сохраняются.
- Поддержка квот на размер бэкапов.
- Простое восстановление бэкапа раздела (например, через подключенную
USB флешку).
- Автоматическое обновление.

Минусы:

- Клиент под Windows, способный отслеживать изменения блоков, платный.
- Бэкап разделов работает только с NTFS.


### Restic

[Restic](https://restic.net/) - инструмент для резервного копирования и
восстановления с консольным интерфейсом.

Плюсы и возможности:

- Простая настройка.
- Использует шифрование для шифрования резервных копий.
- Дедупликация. Одинаковые файлы сохраняются однократно, даже если это
файлы на разных машинах.
- Нет понятия полного/инкрементального бэкапа. Все они равноценные.
Передаются только новые блоки.
- Все данные и метаданные защищены контрольными суммами. Возможность
проверки корректности бэкапа.
- Сервера бэкапа нет.
- Имеется FUSE драйвер, который показывает бэкапы в виде иерархии host/дата.

Минусы:

- WEB-интерфейса нет.
- Требователен к RAM (~2.7GB на 1TB).
- Не сохраняет ACL и расширенные атрибуты.
- Медленное и требовательное к RAM удаление ненужных бэкапов.
- Удаление ненужных бэкапов блокирует работу (производить бэкап в это
время невозможно).
- Ключи шифрования одни на все хосты (в общем случае любой хост может
прочитать все бэкапы). Проблема может быть решена.
- Медленное восстановление с помощью стандартного интерфейса restic.


### Borgbackup

[BorgBackup](https://www.borgbackup.org/) - дедуплицирующая программа
для резервного копирования.

Плюсы и возможности:

- Серверной части нет.
- Эффективное использование дискового пространства для хранения
резервных копий.
- Достаточно высокопроизводителен (основной код на Python, но критичные
участки реализованы на C и оптимизированы).
- Шифрование.
- Сжатие: LZ4, zlib, LZMA.
- Имеется FUSE драйвер, который показывает бэкапы.
- Простая установка на различные платформы: Linux, macOS, BSD, etc.
- [Есть WEB-интерфейс, как отдельный
проект](https://borgweb.readthedocs.io/en/latest/).
- Поддерживается большим сообществом разработчиков.

Минусы:

- WEB-интерфейс достаточно ограниченный.
- Нет прямой поддержки ОС Windows (только через Linux subsystem или cygwin).


### lsyncd

[Lsyncd](https://github.com/axkibe/lsyncd) - демон, выполняющий
резервирование изменяемых файлов через rsync.

Плюсы и возможности:

- Использует inotify или fsevents для наблюдения за каталогом. После
истечения времени вызывает rsync для копирования изменений.
- Может использовать не только rsync.
- Реализован на Lua, конфиг процедурный тоже на Lua.
- Почти не снижает производительной локальной ФС.
- Гибко настраивается.

Минусы:

- Легковесная система. Не имеет WEB-интерфейса и централизованной настройки.


Reply to: