Заметки по 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).

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

  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 и БД, читайте мануал, если что-то не заведётся — внимательно смотрите логи.

  6. Здравствуйте! Хотелось бы подробную статью по установке . А именно «При описании каждого задания (Job) указывается какие файлы сохранять (FileSet), откуда их сохранять (Client), когда сохранять (Shedule), куда сохранять (Pool).» Как это сделать.

    1. Конкретно этот абзац не про установку, а про настройку заданий для бэкапа. Делается это, как я отвечал кому-то выше, по аналогии с существующим заданием (предустановленным, «из коробки»), с помощью которого система бэкапит сама себя. Увы я не пользуюсь этой системой уже 5 лет, хотя возможно вы просто проверяете как у меня тут антиспам работает.

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

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