Выкладываю здесь свой обзор по итогам обсуждения в теме "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-интерфейса и централизованной настройки.