Установка клиента Bacula для Linux и Windows

Клиент Bacula не обладает большим количеством зависимостей, и разработан на базе C / C++, поэтому его установщики могут быть скомпилированы под практически любую операционную систему. Необходимо помнить, что версия Клиента не может быть больше размером, чем процесс управления или процесс хранения, однако обратная ситуация вполне может возникнуть.

Далее мы рассмотрим некоторые варианты установки клиента.

Установка клиента на Linux

Bacula.org и корпоративные пакеты сообщества

Здесь есть два варианта установки. Мы можем опять зарегистрировать репозитории yum/apt для установки Клиента (по такому же принципу, как и при установке Сервера), что подразумевает обновления в будущем, или мы можем скачать и установить пакеты вручную.

Метод с репозиториями

Зарегистрируйте репозитории Bacula.org или Bacula Systems (Enterprise).

Установка базы данных или пакета Директора Bacula необязательна. Продолжайте установку, используя только Клиентский пакет. Например:

#!/bin/bash

# /root/bacula_enterprise_install.sh
# Centos 7

# Change below according to the unique URL of the Bacula Enterprise welcome packagge
# E.g.: in https://www.baculasystems.com/dl/<xxx>/rpms/bin/8.6.5/rhel7-64/

secret_url="<xxx>"

# Change the following according to the version you want to install:

version="10.0.8"

# This will configure the Bacula Enterprise repository (do not change anything else):

rpm --import https://www.baculasystems.com/dl/keys/BaculaSystems-Public-Signature-08-2017.asc

echo "
[Bacula-Enterprise]
name = Red Hat Enterprise - Bacula-Enterprise
baseurl = https://www.baculasystems.com/dl/"$secret_url"/rpms/bin/"$version"/rhel7-64/
enabled = 1
protect = 0
gpgcheck = 1
" > /etc/yum.repos.d/Bacula-Enterprise.repo

yum y install bacula-enterprise-client

/opt/bacula/scripts/bacula restart

# Bacula Client successfully installed.

# Firewall Rules

sed -i 's/:OUTPUT ACCEPT [0:0]/:OUTPUT ACCEPT [0:0]n-A INPUT -m state --state NEW -m tcp -p tcp --dport 9102 -j ACCEPT/g' /etc/sysconfig/iptables
service iptables restart

# If Firewalld

firewall-cmd --permanent --zone=public --add-port=9102/tcp
service firewalld restart

# Disables selinux:

setenforce 0
sudo sed -i "s/enforcing/disabled/g" /etc/selinux/config

Далее проследуйте в раздел настройки клиента.

Загрузка пакетов вручную

Используйте веб-браузер для доступа к репозиторию и найдите необходимые пакеты: bacula-client и libs для семейства CentOS / RHEL, bacula-client и common — для Debian / Ubuntu.

Скачайте и установите, как указано в примере:

rpm -ivh bacula-client-9.2.2-1.el7.x86_64.rpm bacula-libs-9.2.2-1.el7.x86_64.rpm
# or
dpkg -i bacula-common_9.2.2-1_amd64.deb bacula-client_9.2.2-1_amd64.deb

Если вы используете CentOS и/или располагаете работающим фаерволлом — отключите Selinux для открытия доступа к порту 9102 в фаерволле:

setenforce 0
sudo sed -i "s/enforcing/disabled/g" /etc/sysconfig/selinux
firewall-cmd --permanent --zone=public --add-port=9102/tcp
firewall-cmd --reload

Далее проследуйте в раздел настройки клиента.

Установка клиента для Windows

Для этого существуют уже собранные пакеты на вебсайте Bacula.org. Они содержат Клиент, процесс Хранения и bconsole / BAT console для Windows, но конкретно в этом случае мы устанавливаем только Клиент, так как это более реалистично если речь идет о бэкапе серверов производства.

  • Скачайте и распакуйте клиентские пакеты с Bacula.org: https://blog.bacula.org/binary-download-center/ (или корпоративный репозиторий Bacula Systems)
  • Запустите файл Setup с правами Администратора (Системы и Домена, если возможно). Примите лицензионное соглашение.
  • Выберите тот .exe файл, который подходит под вашу архитектуру Windows: 32 bit или 64 bit. Например: bacula-win64-9.4.0.exe.
  • Запустите этот файл и примите условия лицензионного соглашения.
  • Как показано ниже, выберите Custom Setup (позволяет вам настроить клиент, включая имя Директора, и возможность скопировать сгенерированный случайный пароль для последующих взаимодействий с бэкап-сервером).

Custom Setup клиента для Windows

  • Далее вам предстоит выбрать части программы, которые вы хотите установить, как показано ниже (в этом случае выбраны клиент для Windows и соответствующие бесплатные плагины).

Установка клиента и бесплатных плагинов Bacula

  • Следующим шагом станет возможность изменить имя клиента Bacula и пароль для Директорского доступа к устанавливаемому клиенту. Скопируйте этот пароль, затем продолжайте.

Имя и пароль новоиспеченного клиента Bacula

  • И наконец, введите имя Директора так же, как указано на вашей основной машине-сервере (bacula-dir-conf — Director resource). Эту информацию также можно получить, открыв bconsole или используя команду version.

Настоящее имя Директора для настройки клиента

  • Дождитесь окончания установки. Закройте все последующие всплывающие окна.
  • Переходите к разделу настройки клиента Bacula.

Настройка клиента Bacula

I. bacula-fd.conf (сторона-клиент):

  • Отредактируйте файл конфигурации клиента:
    • Linux: vi /etc/bacula/bacula-fd.conf
    • Windows: если вы этого не сделали в процессе установки, то: Menu> Bacula> Configuration> Edit Client Configuration
  • Проверьте, чтобы имя Директора было указано точно так же, как и на вашем сервере-Директоре (bacula-dir.conf — Director resource, или через bconsole и команду version), отредактируйте его при необходимости.
  • Вставьте ранее скопированный сгенерированный пароль в ту же самую директорию — bacula-fd.conf (раздел для пароля) или измените по желанию. Эта информация потребуется вам далее для привязки клиента к Директору.
  • Измените имя у FileDaemon, если необходимо.
  • Сохраните и выйдите из клиента. Перезапустите клиентский процесс:
    • Linux: /etc/init.d/bacula-fd restart
    • Windows: Откройте менеджер сервисов (services.msc) и перезапустите сервис Bacula File Daemon
  • Проверьте наличие у системы активного фаерволла. Если он имеется, добавьте входящее исключение TCP 9102 для открытия доступа Директора к клиенту. Альтернатива — введите следующую команду в терминале Windows:
    netsh advfirewall firewall add rule name="bacula-fd" dir=in action=allow protocol=TCP localport=9102

II. bacula-dir.conf (сторона-сервер):

  • Добавьте нового клиента как ресурс (скопируйте данные уже существующего клиента с изменением в необходимых местах. Это также можно сделать в BWeb если речь идет о корпоративном клиенте). Измените имя клиента (оно должно соответствовать bacula-fd.conf, это не обязательно, но рекомендуется); в строке Адрес введите IP-адрес или FQDN вашего клиента; и, наконец, в поле Пароль вводите ранее скопированный во время установки пароль из bacula-fd.conf. Например:
    Client {
      Name = bacula-fd
      Address = 192.168.1.199
      FDPort = 9102
      Catalog = MyCatalog
      Password = "xos2o70KCHf4namn9vs5fENUGNuEf5WaxWtL8j"
      File Retention = 1 year
      Job Retention = 1 year
      AutoPrune = yes
    }
  • Сохраните и закройте файл bacula-dir.conf.
  • Перезагрузите bacula-dir или запустите его снова в bconsole для того, чтобы принятые изменения вступили в силу.
  • Через bconsole создайте статус клиента для вашей клиентской машины. Если ответом на команду будет корректное имя клиента, версия и список работ — ваша настройка завершилась успешно и Директор способен присоединиться к клиенту.

Теперь, когда клиент присоединен к Директору и протестирован, время создать новую Работу и новый FileSet. Начните с повторного запуска bacula-dir.conf:

  • Добавьте новую функцию под названием Работа (подсказка: скопируйте существующую для облегчения процесса).
  • Переименуйте Работу. Новое имя должно ссылаться на имя клиента, которое было ранее указано в клиенте как в ресурсе. Также в это же время вы можете назначить на эту Работу новый FileSet, который еще не существует, но который мы создадим с таким же именем, как указано ниже.
    Job {
      Name = "BackupLibreOffice"
      JobDefs = "DefaultJob"
      Client = libreoffice-fd
      FileSet = fileserver_set
    }
  • Создайте новый FileSet с тем же именем, что и Работа (пример: FileSet = fileserver_set). Важно помнить, что для изменения параметров “включить” и “исключить” в плане папок вам понадобится бэкап нового клиента, а для этого в Windows вы можете использовать только обыкновенный символ / и ни в коем случае не \, а также что весь путь необходимо выделить кавычками. Например:
    File = "C:/Program Files"
  • Перезапустите bacula-dir или используйте команду reload в bconsole для того, чтобы сохранить и применить изменения.
  • Протестируйте ваши новые настройки с помощью команды estimate quote в bconsole. Она должна показать файлы, которые Bacula должна забэкапить в начале Работы, а также их суммарный размер и число файлов, которые будут скопированы.
  • Если хотите — запустите ваш первый бэкап. Не забудьте про процесс работы — чтение сообщений (команда message в bconsole), использование команд status director, client и storage (каждая из них должна давать различающиеся детали касательно запущенной Работы); а также список Работ, предоставляющий набор работ, которые выполняются или уже завершены.