пятница, 12 января 2018 г.

Проблема совместимости bacula разных версий.

Недавно столкнулся с проблемой совместимости bacula server 5 версии и bacula client 7 версии.
Почти 5 лет работает сервер bacula, установленный изначально на ubuntu 12.04, а затем обновленный до ubuntu 14.04. Текущая версия сервера- 5.2.6+dfsg-9.1ubuntu3
Я, честно говоря, уже и не помню как и что там настраивал, только восстанавливаю из бэкапов периодически нужные файлы. Однако недавно пришлось с ним поразбираться.
Основным источником бэкапов для бакулы является файловый сервер на Debian. Изначально была установлена 6 версия, которую по необходимости обновлял. И вот на днях из-за моих разбирательств с freeipa решил обновиться до debian 9 stretch. Все прошло штатно и вроде бы заработало. Хорошо!
И вдруг понадобилось восстановить один файлик. Полез в веб интерфейс, а там красным-красно! Да-да, знаю - бэкапы кроме как делать, нужно еще и проверять. И уж уведомление о не выполнении задания тем более настроить можно было! Но уж больно я ленив, да и критичность данного сервера сомнительна. В общем, полез разбираться - везде ошибка:

Fatal error: Authorization key rejected by Storage daemon.
For help, please see http://www.bacula.org/rel-manual/en/problems/Bacula_Frequently_Asked_Que.html
Fatal error: Bad response to Storage command: wanted 2000 OK storage, got 2902 Bad storage

Беглый гуглеж показал, что скорее всего проблема в доступности стораджа bacula-sd. Не может быть, ведь они в одной стойке, в одном коммутаторе и фаервол на обеих машинах отключен. Nmap подтверждет доступность.
Но в уме я уже держал недавнее обновление. Смотрю версию - новый клиент 7.4.4+dfsg-6
Добавляю эти данные в запрос и тут же получаю ответы! В одном англоязычном блоге товарищ пишет о несовместимости и рассказывает что он обновил клиента и все ОК. Затем в мэйл-листе бакулы на sourceforge нахожу подтверждение - заставить связку работать не получится... 8(
Но блин, там сервер древний как г.. мамонта! Обновлять ubuntu до 16 версии? Из-за одного пакета? Искать репы более новой бакулы для него? А, блин, подумал я - раз Debian устроил мне проблемы, с ним и буду решать!
Погуглил и на http://mirror.yandex.ru нашел нужные пакеты:
 http://mirror.yandex.ru/debian/pool/main/b/bacula/bacula-fd_5.2.6%2Bdfsg-9_amd64.deb
http://mirror.yandex.ru/debian/pool/main/b/bacula/bacula-common_5.2.6%2Bdfsg-9_amd64.deb


Собственно, для клиента достаточно. Установил через dpkg -i, все заработало.
Да способ кривой, лучше все-таки обновить сервер. Но лень 8)