Заметки по Bareos

Bareos является форком Bacula, отделение произошло в 2010-м году по ряду причин, в том числе потому, что Bacula медленно развивалась и разработчики практически переориентировались на коммерцию.

В большинстве случаев мануалы по Bacula будут подходить и для Bareos, но это на стадии «вкуривания в суть», а после всё же рекомендую пользоваться примерами конфигов из своей инсталляции и официальной документацией, мало ли что там поменялось 🙂 . Есть много статей в бложиках и на хабре.

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

Я разворачивал Bareos на CentOS 7 x64 и сначала поставил версию 15.2 из родного репозитория, а потом узнал что есть поновее (16.2), да и веб интерфейс хотелось поинтереснее, поэтому обновил пакеты и… и оказалось что в новой версии кое-что поменяли. Например поменяли структуру каталогов и если у вас есть конфиги из старой версии — используются они, если нет — используются конфиги из каталогов (по сути раздербанили большие конфиги на составляющие и разложили по папкам). На тот момент у меня в голове совсем всё смешалось и я снёс все конфиги и поставил Bareos заново.

cd /opt

# Добавляем репозиторий и обновляем список пакетов
wget -O /etc/yum.repos.d/bareos-16.2.repo http://download.bareos.org/bareos/release/16.2/CentOS_7/bareos.repo
sudo yum update
sudo yum install epel-release

# Устанавливаем, БД MySQL (MariaDB)
sudo yum install -y bareos-client bareos-database-tools bareos-filedaemon bareos-database-mysql bareos bareos-bconsole bareos-database-common bareos-storage bareos-director bareos-common mariadb-server

# Добавляем службы в "автозапуск"
sudo systemctl enable bareos-dir
sudo systemctl enable bareos-sd
sudo systemctl enable bareos-fd
sudo systemctl enable mariadb
sudo systemctl start mariadb

# Скрипт первоначальной настройки MySQL
# Естественно записываем себе куда-нибудь все логины и пароли
sudo mysql_secure_installation

# Создаем БД bareos
/usr/lib/bareos/scripts/create_bareos_database -uroot -p
/usr/lib/bareos/scripts/make_bareos_tables -uroot -p
/usr/lib/bareos/scripts/grant_bareos_privileges -uroot -p

# Устанавливаем пароль на пользователя bareos
mysql -uroot -p -e "UPDATE mysql.user SET Password=PASSWORD('пароль_пользователя_bareos') WHERE User='bareos';"

# Устанавливаем Apache и WebUI
sudo yum install httpd bareos-webui
sudo systemctl enable httpd
sudo systemctl start httpd

# Чтобы к серверу могли подключиться клиенты
# и "заработал" Apache нужно открыть доступ к портам,
# у меня этот пункт немало крови попил,
# всё-таки Debian расслабляет - там всё по умолчанию открыто.
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
# console
sudo firewall-cmd --permanent --add-port=9101/tcp
# dir
sudo firewall-cmd --permanent --add-port=9102/tcp
# dir, fd
sudo firewall-cmd --permanent --add-port=9103/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
sudo setsebool -P httpd_can_network_connect on

# Так же httpd по умолчанию ругается на отсутствие ServerName, правим в
sudo nano /etc/httpd/conf/httpd.conf

# После чего перезапускаем его
sudo systemctl restart httpd

# Не забывайте что все сервисы bareos у нас ещё не запущены,
# а при изменении в конфигурационных файлах сервисы нужно перезапускать!
# Ну или делать sudo systemctl reload <service>

# Идём на http://ip_или_доменное_имя_сервера/bareos-webui/
# Кстати, службы bareos могут тестировать конфиги, например bareos-dir -t

# Делаем тупой редирект
sudo nano /var/www/html/index.html
<html>
<head>
<meta HTTP-EQUIV="REFRESH" content="0; url=http://ip_или_доменное_имя_сервера/bareos-webui/">
</head>
</html>

# Прописываем пароль на доступ к БД
sudo nano /etc/bareos/bareos-dir.d/catalog/MyCatalog.conf

# Создаём аккаунт для webui
sudo cd /etc/bareos/bareos-dir.d/console
sudo mv admin.conf.example admin.conf

# Меняем пароль в файле и перезапускаем сервис директора
sudo systemctl restart bareos-dir

Надо сказать что WebUI, как и Monitor используются для мониторинга, а управление работой осуществляется либо в консоли (bconsole), либо через конфигурационные файлы.

По дальнейшей логике работы может быть опишу позже… но что важно понимать:

При описании каждого задания (Job) указывается какие файлы сохранять (FileSet), откуда их сохранять (Client), когда сохранять (Shedule), куда сохранять (Pool).
Кроме заданий на сохранение можно описывать задания на восстановление, верификацию и администрирование.

Так же отдельной темой является понимание пулов (Pool) и томов (Volume).

16 комментариев

  1. Bareos 16.2.
    1. В браузере пишу http://192.168.1.50/bareos-webui/
    2. Прохожу авторизацию (логин, пароль)
    3. И выдает мне ошибку «Error: Connection refused, director seems to be down or blocking our request.»
    В чем проблема может быть

    1. Если httpd работает, то надо проверить что в конфигах директора разрешено подключаться с такой консоли с таким логином/паролем (admin.conf) и все сервисы разрешите и перезапустите.

      1. Не очень понятно как это сделать, у меня все запущено все пароли совпадают а ошибка такая же, просьба помочь

        1. Для доступа в веб панель после установки новой версии достаточно трёх действий (если мы говорим только о настройке веб морды):
          sudo cd /etc/bareos/bareos-dir.d/console
          sudo mv admin.conf.example admin.conf
          и перезапуск служб bareos.
          Потом идём на http://ip_или_доменное_имя_сервера/bareos-webui/
          Если страничка авторизации грузится — хорошо, вводим имя и пароль из файла admin.conf, по дефолту он содержит вот это.
          А эта ссылка поможет понять куда перемещается файл после обновления на новую версию https://bugs.bareos.org/view.php?id=704.

  2. Подскажите, пожалуйста! Работает bareos 16.2 на CenOs7.
    Подскажите какой программой удобнее отсылать себе отчеты о заданиях на почту при условии что bsmtp не подходит, так как не умеет использовать логин и пароль? И как это всё правильно настроить
    Спасибо!

    1. Здравствуйте,
      честно говоря, не озадачивался такими вопросами. Поверхностное гугление даёт официальный мануал
      http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-521000C.5.1
      и например такую страничку
      http://www.fairtec.at/de/it-blog-mainmenu-16/153-sending-bacula-status-mails-with-smtp-authentication
      Пробуйте, ищите, если не найдёте — прикрутите свой костыль).

  3. Здравствуйте. Я установил на centos7 bareos все в норме захожу через веб интерфейс работает. А вот как добавить заданию для бекапа серверов или каких-то файлов не понимаю что то не понятно можете как то по проще объяснит что к чему и как делать бекапы. Спасибо заранее.

    1. После установки можно зайти через веб морду в раздел Клиенты и обнаружить там bareos-fd, с заданием на бэкап БД и каталога самой bareos (т.е. система бэкапит сама себя). Дальше смотрите по аналогии.

  4. Установлена Bareos WebUI. Все ACL для пользователя *all*. Когда захожу в WebUI там есть все вкладки (Dashboard, Director, Filesets, Pools, Volumes, Storages, Clients, Jobs, Logs, Clients), кроме вкладки Restore. Почему она может отсутствовать и как её добавить в вебку?

    1. Хм, я этой темой уже пару лет не занимаюсь, пришлось даже восстановить доступ к ВМ с bareos. У меня эта вкладка есть, возможно начнёт отображаться когда будет сделан хотя бы один бэкап.

    1. Честно говоря не знаю, надо гуглить 🙂 , может баг, а может в другой раздел этот функционал засунули.

      1. Нашёл ответ — я использую версию Bareos 14.2.1, а восстановление через WebUI стало доступно только начиная с версии 15.2.

  5. Здравствуйте!
    Хочу обновить bareos-16.2.4 до 18.2. Как это правильно сделать? Есть ли какие-нибудь особенности в обновлении?

    1. Здравствуйте,
      у меня такого опыта нет, поэтому могу посоветовать только стандартную процедуру — делайте полный бэкап файлов bareos и БД, читайте мануал, если что-то не заведётся — внимательно смотрите логи.

Добавить комментарий для Сергей Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *