Укрощаем трёхглавого дракона или как работает аутентификация в Bacula

Источник: habrahabr
giner

Bacula - кроссплатформенное клиент-серверное программное обеспечение, позволяющее управлять резервным копированием, восстановлением, и проверкой данных по сети для компьютеров и операционных систем различных типов. (Wikipedia)

Вообще с бакулой я связался совершенно случайно. Я всегда предпочитал самописные скрипты для бэкапов и мониторинг их выполнения nagios-ом, т.к. все специализированные средства (Bacula, Amanda, и т.п.) казались мне архитектурно слишком сложными, которые сами, в силу своей сложности, требуют того, чтобы их бэкапили. Но однажды, политикой сверху, нас посадили на ARCserve. Поигравшись немного с этим монстром я вернулся к Bacula и понял, что Bacula - это верх изящества и простоты.

Единственной проблемой для меня с Bacula оставалась магия с настройкой аутентификации. Это было просто как магия, вот тут что-то прописал - работает, вот там что-то поменял - не работает. Дело было в том, что:
1) непонятно кто и к кому подключается;
2) какие именно поля из конфигурационного файла использует этот кто-то для аутентификации.

Никакие схемы и документация найденные в интернете не давали исчерпывающего ответа и я решил разобраться во всём сам, многократно изменяя настройки служб и проверяя работает/не работает. В простонародье - "научный тык".

Объекты на схеме

Backup Server - сервер управляющий резервным копированием
Storage Server - сервер управляющий хранилищем (хранилищем может быть как стример, так и дисковый массив)
Admin PC - компьютер администратора с утилитами для управления сервером
Backup Monitor - компьютер с программой выполняющей мониторинг серверов и клиентов
Client PC - компьютер, резервное копирование данных которой нужно выполнять

Кто к кому подключается

Из того, что на данный момент удалось узнать:
- Director подключается к Client и Storage
- Client подключается к Storage (в процессе бэкапа)
- Bacula Tray Monitor подключается напрямую к Director, Client и Storage
- Bacula Console подключается только к Director
- Storage самостоятельно, вроде бы, ни к кому не подключается

Аутентификация

Смотрите схему выше и обратите внимание:
- на то, что красными стрелками обозначена аутентификация сервера на сторадже и клиенте, синейстрелкой - подключение консоли управления к серверу, и зелеными (необязательная часть) -подключение утилиты мониторинга ко всем службам (серверу, стораджу и клиенту).
- на то, где и каким образом прописаны IP-адреса
- что в настройках служб необходимо закомментировать DirAddress, SDAddress и FDAddress = 127.0.0.1 (чтобы службы слушали подключения на 0.0.0.0, т.е. на всех интерфейсах)

Какие ещё параметры одних служб должны соответствовать параметрам других

Как на данный момент стало понятно, кроме параметров участвующих в аутентификации (см. схему) и IP-адресов ещё только "Device = Filestorage" и "Media Type = File" в настройках Director должны соответствовать настройкам Storage. Все остальные параметры ни на что не влияют и используются только внутри соответствующих конфигурационных файлов (некоторые их них обозначены на схеме как anyname1, anyname2 и т.д.).

Работы были проведены с:
- Ubuntu Server 12.04.1
- Bacula 5.2.5

Надеюсь, этот пост сэкономит кому-нибудь немного времени. Не забываем сохраняться.


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=31195