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

в 17:01, , рубрики: authentication, backup, bacula, linux, open source, метки: , , , ,

Приветствую, читатели.

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

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

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

Bacula authentication scheme

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

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

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

Автор: giner

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js