UMGUM.COM (лучше) 

Bacula ( Масштабируемое сетевое клиент-серверное решение для резервного копирования, архивирования и восстановления данных. )

12 ноября 2010  (обновлено 31 января 2015)

Не буду здесь рассказывать истории о том, как кто-то не делал резервные копии ценных материалов, а потом (почему-то) стал делать. Однозначно, резервное копирование в том или ином виде должно быть. Где-то достаточно комбинации "cron + tar", а где-то следует разворачивать серьёзные схемы резервирования.

И так, наша задача: обеспечить резервирование ресурсов компьютеров (в основном - серверов) под управлением операционных систем MS Windows, Linux, *BSD, MacOS общим количеством от пятидесяти штук. Основные критерии выбора: бесплатность и масштабируемость.

Мой выбор за Bacula ( http://bacula.org/ ).

Сервис централизованного резервного копирования - Bacula.
Сервис централизованного резервного копирования - Bacula.

Bacula - весьма мощный и гибкий механизм управления резервным копированием и восстановлением. С помощью Bacula можно создавать развёртывать системы сложной логики, управлять ими, контролировать состояние, реагировать на события, управлять ими вручную или доверить автоматике.


Неоднократно встречал упоминания о больших трудностях настройки Bacula в связи с повышенной сложностью его конфигурационных файлов. Это неверное мнение, основанное на поверхностном знакомстве с продуктом. Отчасти оно основано на том, что из каких-то соображений разработчики запутали логику основного конфигурационного файла до совершенной несуразности. Однако достаточно внимательно просмотреть конфигурационные файлы, выстроить блоки описаний в том, порядке, который представляется наиболее оптимальным и структура засияет очевидностью.

В качестве базы данных для хранения мета-данных я выбрал MySQL, как наиболее распространённую и привычную в управлении СУБД. Встречал упоминания о том, что при больших объёмах "мета-данных" MySQL не справляется и приходится переходить на PostgreSQL; но, во первых, когда это ещё будет, может к тому времени что ни будь поменяется в Bacula или MySQL, а во вторых, если не поменяется, будет повод потренироваться в переносе больших объёмов данных между разными СУБД.

На стороне сервера необходимо установить:

bacula-director-mysql - Director (DIR) - осуществляет централизованный контроль и администрирование всего комплекса задач;
bacula-sd-mysql - Storage Daemon (SD) - сервис, отвечающий за физическое хранение данных, читает и пишет данные на носители: диск, ленту, DVD, USB;
bacula-console - Console - управляющая консоль оператора или администратора. Поддерживаются ACL для разных пользователей консоли;
mysql-server - Catalog Database (CD) - база данных SQL (поддерживается MySQL, PostgreSQL и SQLite).

Все эти компоненты можно размещать на разных сетевых хостах, они отлично сообщаются между собой по протоколу TCP/IP с произвольной степенью защитой с помощью шифрования; в нашем случае в разнесении нет настоятельной необходимости, но именовать сервисы мы будем так, чтобы перенос их на другие хосты не повлиял на их работоспособность. Вообще-то, в конфигурационных файлах Bacula местами требуется применение FQDN (Fully Qualified Domain Name - "полностью определённое имя домена"), проще будет применить это как абсолютное правило. Например, сервис "Director" именуем как "dir0.backup.local", "Storage Daemon" как "sd0.backup.local", "Catalog database" как "cd0.backup.local". В файле "/etc/hosts" делаем соответствующие записи (да и в DNS сети не мешало бы описать используемые имена сервисов):

# cat /etc/hosts

....
ip.address dir0.backup.local
ip.address sd0.backup.local
ip.address cd0.backup.local
ip.address con0.backup.local
....

На компьютерах, с которых будет выполнятся резервное копирование необходимо будет установить клиентский компонент:

bacula-fd - File Daemon (FD) - своего рода "агент", сервис, выполняющий непосредственное копирование, восстановление и проверку данных по запросу Director. File Daemon должен быть установлен на каждой клиентской машине. File Daemon обменивается информацией с Director и Storage Daemon.

В репозитарии Linux Debian Lenny Bacula версии 2.4 - это выпуск января 2009 года. В репозитарии Debian Squeeze Bacula версии 5.0, а в дистрибутиве Debian Wheezy - 5.2. И от версии 2.4 до версии 5.2 разработчики умудрились сохранить полную обратную совместимость конфигурационных файлов. Это маленькое чудо - одно из тех, что свидетельствует об истинной заботе разработчиков о нуждах клиента, а не только об удовлетворении своего стремления к новым технологическим изыскам (порой отменяющих все предыдущие наработки). В течении пяти лет, с 2009 по 2014, раз в полгода я просто скопом обновлял всё системное и прикладное программное обеспечение сервера, управляющего системой резервного копирования, перезагружал таковой, и в итоге получал по прежнему стабильно функционирующую схему.


Заметки и комментарии к публикации:


Оставьте свой комментарий ( выразите мнение относительно публикации, поделитесь дополнительными сведениями или укажите на ошибку )