Ниже — практический справочник по Bareos, собранный как рабочая шпаргалка: с опорой на актуальную официальную документацию Bareos (основная ветка docs сейчас — bareos-25) и на те вопросы, которые у нас уже всплывали в прошлых обсуждениях: роли bareos-dir / bareos-sd / bareos-fd, смысл Devices / Pools / Volumes, работа через bconsole, WebUI и типовые причины сбоев.
Справочник Bareos
0. Как Bareos устроен в двух словах
Bareos состоит из нескольких ключевых компонентов. Bareos Director — центральный управляющий сервис: он знает Jobs, Schedules, Clients, Pools, Catalog и запускает backup/restore. Bareos Storage Daemon (bareos-sd) пишет данные на носитель или в файловое хранилище. Bareos File Daemon (bareos-fd) ставится на клиент и отдает файлы директору/стораджу. bconsole — текстовая консоль для общения с Director. Catalog — это база данных с метаданными о заданиях, файлах, клиентах и томах; сами backup-данные в Catalog не лежат.
Практически это значит так: dir решает что, когда и куда бэкапить; fd читает файлы на клиенте; sd хранит поток бэкапа на диске, ленте или другом backend. Когда restore запускается, Director находит нужные Job/Volume в Catalog, sd читает данные с носителя, а fd возвращает их на клиент.
1. Структура папок и файлов Bareos
1.1. Главная конфигурационная директория
На Unix/Linux типовой путь конфигурации — /etc/bareos/. У каждого компонента есть либо единый .conf, либо подкаталоговая схема *.d. По умолчанию это выглядит так:
/etc/bareos/
├── bareos-dir.conf
├── bareos-dir.d/
├── bareos-sd.conf
├── bareos-sd.d/
├── bareos-fd.conf
├── bareos-fd.d/
├── bconsole.conf
├── bconsole.d/
├── tray-monitor.conf
└── tray-monitor.d/Именно такую схему Bareos документирует как стандартную для Unix. При запуске компонент читает либо COMPONENT.conf, либо COMPONENT.d/*/*.conf, если используется подкаталоговая схема. Также путь конфигурации можно явно задать через -c PATH.
1.2. Как читать *.d-структуру
В подкаталоговой схеме действует простое правило: путь ресурса имеет вид:
COMPONENT.d/RESOURCETYPE/RESOURCENAME.confПримеры из документации:
bareos-dir.d/director/bareos-dir.conf
bareos-dir.d/pool/Full.confЭто очень полезно для практики: если вы редактируете Job, ищите файл в bareos-dir.d/job/; если Pool — в bareos-dir.d/pool/; если устройство Storage Daemon — в bareos-sd.d/device/.
1.3. Что где лежит на Director
На Director обычно встречаются такие каталоги:
/etc/bareos/bareos-dir.d/
├── catalog/ # Catalog resources, например MyCatalog.conf
├── client/ # Клиенты Bareos
├── console/ # Консоли и WebUI users
├── director/ # Глобальный Director resource
├── fileset/ # Что бэкапить
├── job/ # Конкретные Jobs
├── jobdefs/ # Шаблоны JobDefs
├── messages/ # Куда слать сообщения
├── pool/ # Пулы томов
├── profile/ # ACL/Profiles, в т.ч. для WebUI
├── schedule/ # Расписания
├── storage/ # Связь с Storage Daemon
└── ... # другие ресурсыЭта структура напрямую следует из правила RESOURCETYPE/RESOURCENAME.conf. Поэтому файлы вроде /etc/bareos/bareos-dir.d/catalog/MyCatalog.conf или /etc/bareos/bareos-dir.d/profile/webui-admin.conf — это не “магия пакета”, а нормальная ресурсная модель Bareos.
1.4. Что где лежит на клиенте
На клиенте с File Daemon типично есть:
/etc/bareos/bareos-fd.d/
├── client/myself.conf
├── director/bareos-dir.conf
├── director/bareos-mon.conf
└── messages/Standard.conf
client/myself.conf описывает сам локальный File Daemon, director/*.conf задают, какие Directors могут к нему подключаться, а messages/Standard.conf определяет, куда уходят сообщения. В официальном туториале это показано именно так.
1.5. Что где лежит на Storage Daemon
На сервере хранения обычно важны:
/etc/bareos/bareos-sd.d/
├── director/ # Какие Directors имеют доступ к SD
├── device/ # Физические/логические устройства хранения
├── storage/ # Глобальная конфигурация SD
├── messages/
└── autochanger/ # Если используются ленточные библиотеки
Device — это ключевая сущность для хранилища. Документация прямо описывает Device Resource как ресурс, задающий детали устройства, которое может использовать Storage Daemon; для file storage Archive Device — это каталог, для tape — устройство вроде /dev/nst0.
1.6. Где лежат сами backup-файлы
В дефолтной дисковой конфигурации Bareos пишет тома в /var/lib/bareos/storage/; это путь из tutorial/default FileStorage. Для file storage имя файла обычно совпадает с именем Volume из Catalog. Это именно типовой default, а не обязательный путь: реальный каталог задается в Archive Device вашего Device ресурса.
1.7. Что изменилось в Bareos 25
Начиная с Bareos 25, пакетные шаблоны конфигурации хранятся в /usr/lib/bareos/defaultconfigs/, а рабочая конфигурация разворачивается в /etc/bareos/. Важный момент для администрирования: при upgrade Bareos больше не модифицирует существующие конфиги автоматически. Это хорошо для безопасности изменений, но плохо, если админ ждет, что “пакет сам добавит новый нужный ресурс”.
1.8. Файлы WebUI
Для WebUI ключевые конфиги находятся в /etc/bareos-webui/. Главные из них:
/etc/bareos-webui/directors.ini
/etc/bareos-webui/configuration.iniВ directors.ini описывается, к какому Director и на каком порту подключаться, а также TLS-параметры. Apache-конфиг для WebUI пакет обычно кладет в один из стандартных путей вроде /etc/apache2/conf.d/bareos-webui.conf или близкий distro-specific вариант.
2. Консольные команды Bareos
2.1. Управление сервисами
Для запуска демонов документация показывает такие команды:
systemctl start bareos-dir bareos-sd bareos-fd
systemctl enable --now bareos-dir bareos-sd bareos-fdНа Debian/Ubuntu имена systemd-unit могут быть пакетными:
systemctl start bareos-director bareos-storage bareos-filedaemon
systemctl enable --now bareos-director bareos-storage bareos-filedaemonЭто полезно помнить: в командах, логах и unit names Bareos иногда фигурирует имя бинарника, а иногда имя пакета.
2.2. Проверка конфигурации перед перезапуском
Самая полезная админская привычка — тестировать синтаксис до restart:
bareos-dir -t
bareos-sd -t
bareos-fd -tОпция -t, --test-config заставляет демон прочитать конфиг, вывести ошибки и сразу выйти. Это официальный способ синтаксической проверки новых конфигов.
Полезны и другие универсальные опции демонов:
bareos-dir -c /etc/bareos
bareos-dir -xc
bareos-dir -v
bareos-dir -d 100-c задает альтернативный путь конфига, -xc печатает текущую конфигурацию, -v делает вывод подробнее, -d повышает debug-level. То же семейство опций есть и у bareos-sd, bareos-fd и bconsole.
2.3. Запуск bconsole
Основная консоль запускается так:
bconsoleЧасто используемые опции:
bconsole -l # показать доступных directors
bconsole -D <director> # выбрать director
bconsole -c /etc/bareos # указать путь конфигурации
bconsole -d 100 # debug levelbconsole общается именно с Director; конфигурацию он читает из bconsole.conf, если не указать -c.
2.4. Команды, которые нужны почти каждый день
Проверка состояния
status dir
status client
status storage
status jobid=<ID>
statusstatus dir показывает запланированные и текущие Jobs, status client — отвечает ли File Daemon, status storage — состояние Storage Daemon, устройств и очереди резервирования drive, status jobid=<ID> — текущий статус конкретного job. Это база для первичной диагностики.
Просмотр каталога и носителей
show filesets
list jobs
list jobid=<ID>
list jobtotals
list files jobid=<ID>
list jobmedia
list pools
list volumesshow filesets помогает быстро понять, какие FileSet вообще существуют. list jobs / list files jobid=... нужны для анализа истории и содержимого backup. list pools и list volumes — для работы с носителями и пулами.
Запуск и ожидание заданий
run
wait
wait jobid=<ID>
messages
autodisplay onrun стартует job, wait ждет завершения, messages выводит сообщения, а autodisplay on удобно включать на время диагностики, чтобы сообщения показывались сразу.
Restore
restore allДальше Bareos сам проведет через выбор JobId, FileSet, клиента восстановления, каталога и пути Where. В tutorial показано, что restore по умолчанию собирает дерево файлов и позволяет выбирать файлы интерактивно.
Завершение работы
quitОбычное завершение сессии bconsole.
2.5. Команды для лент и томов
Разметка тома и добавление в Pool
label
add pool=<POOL> storage=<STORAGE>
Практическая разница такая: label работает с физическим носителем/томом и одновременно создает запись о нем в Catalog; add добавляет Volume только в Catalog и не пишет физическую метку на носитель. В обычной жизни почти всегда нужен именно label; add — более специальный случай.
Монтаж и обновление слотов
mount
unmount
update slots
update slots scan
Для авточенджера update slots синхронизирует Catalog со слотами библиотеки. Если нет barcode reader, update slots scan заставляет Bareos поочередно читать метки томов и обновлять Slot/InChanger.
Отмена “залипшего” job на SD
cancel storage=<StorageName> Jobid=<ID>
Эта форма полезна, когда Director уже “не видит” job как активный, а Storage Daemon все еще считает, что он выполняется и блокирует очередь. Это одна из самых практичных команд при зависших backup/restore.
2.6. Команды для изменения конфигурации на лету
reload
configure add client name=client2-fd address=192.168.0.2 password=secret
configure add console name=admin password=secret profile=webui-admin tlsenable=false
configure add создает полноценный ресурс и сохраняет его в bareos-dir.d/<resourcetype>/<name>.conf, то есть изменение переживает reload/restart. Для добавления клиента и WebUI console это очень удобно. После ручного редактирования файлов — делайте reload или restart.
2.7. Продвинутые утилиты
Когда bconsole уже недостаточно, полезны такие инструменты:
bls # посмотреть содержимое volume
bextract # вытащить файлы напрямую из volume
bscan # импортировать содержимое volume в catalog / восстановить каталог
btape # тесты ленточного устройства
bls умеет читать и file volumes, и tape volumes; bextract может помочь при аварийном извлечении файлов; bscan используется для повторного занесения тома в Catalog; btape — тестовый инструмент для tape. Это уже “аварийный чемоданчик” администратора Bareos.
3. Веб-интерфейс Bareos
3.1. Что умеет WebUI
Bareos WebUI поддерживает просмотр подробной информации по Jobs, Clients, Filesets, Pools, Volumes, Storages, Schedules, Logs и сообщениям Director; позволяет запускать, отменять, перезапускать backup jobs и делать restore через файловое дерево; также умеет управлять tape autochanger, включая label/import/export media и обновление состояния слотов.
Для восстановления WebUI умеет работать либо с одним backup job, либо объединять историю backup jobs и filesets клиента в единое дерево файлов. Это удобно, если у клиента много Full/Incremental/Differential и нужно восстановить “последнюю актуальную версию” файлов.
3.2. Как понимать разделы интерфейса
Названия вкладок могут слегка отличаться по версии, но логика обычно такая:
- Jobs — история backup/restore/verify, запуск, rerun, cancel.
- Clients — зарегистрированные клиенты
bareos-fd. - Storages — подключенные Storage Daemon и связанные с ними устройства/тома.
- Pools — логические группы томов.
- Volumes — конкретные тома, на которые записываются backup jobs.
- Schedules / Filesets / Director messages / Logs — вспомогательные административные разделы.
Если объяснять совсем простым языком, то:
- Device — “куда физически пишет Storage Daemon”: каталог на диске, tape drive, autochanger drive, object storage backend.
- Pool — “набор томов для определенной политики хранения”.
- Volume — “конкретный носитель/файл backup-а”, например
Full-0001.
То есть формула такая:
Job → Pool → выбирается подходящий Volume → пишется через конкретный Device/Storage.
Для file storage это особенно наглядно: Device указывает каталог Archive Device, Pool определяет политику выбора и reuse томов, а Volume — это уже конкретный файл backup-а в этом каталоге.
3.3. Авторизация в WebUI
У WebUI нет собственной отдельной базы пользователей. Он использует Console и Profile ресурсы самого Bareos Director. Для входа нужен как минимум один Console (Dir) ресурс; права доступа задаются через Profile (Dir), например webui-admin.
Практически это значит: если WebUI “логинится, но ничего не показывает” или часть разделов недоступна, проблема часто не в PHP/Apache, а в ACL профиля Bareos. В документации прямо приведены примеры CommandACL, Job ACL, Client ACL, Storage ACL и других ограничений для профилей WebUI.
3.4. Что важно для установки и работы WebUI
Bareos WebUI может стоять не на том же хосте, что Director, но major version WebUI и Director должны совпадать. Для современной установки пакет WebUI рассчитан на PHP-FPM; начиная с Bareos 22 WebUI требует php-fpm, а не Apache mod_php. После установки/апгрейда Apache нужно перезапустить, и при проблемах с доступностью надо проверить php-fpm, fcgid, rewrite, SELinux/AppArmor и конфиг directors.ini.
3.5. Почему иногда нет прогресса/графиков
Статистика для отображения состояния running jobs в WebUI берется из Catalog. Если Statistics Collection отключен, красивой телеметрии может не быть. Документация отдельно предупреждает: сбор статистики увеличивает размер базы.
4. Что помогает решать проблемы в Bareos
4.1. Базовый алгоритм диагностики
Если Bareos “не работает”, почти всегда полезно идти в таком порядке:
- Проверить, что живы
dir,sd,fd. - Проверить синтаксис конфигов.
- Проверить соответствие имен/паролей/портов между компонентами.
- Проверить storage/device/volume/pool.
- Проверить, что restore действительно тестировался, а не только backup.
4.2. Первый набор команд при любой аварии
bareos-dir -t
bareos-sd -t
bareos-fd -t
status dir
status client
status storage
messages
Эта комбинация обычно уже показывает 80% проблем: синтаксическая ошибка, не отвечает клиент, storage не видит устройство, job завис в очереди, volume в неверном состоянии.
4.3. Проблемы авторизации
Одна из самых частых причин — несовпадение Name / Password между Director и File Daemon или между Director и Storage Daemon. Официальный troubleshooting прямо говорит: если меняете имя или пароль Director, эти изменения нужно зеркально внести и в SD, и в FD; оба конца аутентифицируют друг друга. Для Storage Daemon имя и пароль Director должны совпадать с Director config; для File Daemon пароль Director должен совпадать с Client resource на стороне Director.
На практике это означает: когда клиент “виден в конфиге, но backup не стартует”, сначала проверьте не DNS и не firewall, а именно соответствие ресурсов и секретов в:
bareos-dir.d/client/*.conf
bareos-fd.d/director/*.conf
bareos-dir.d/storage/*.conf
bareos-sd.d/director/*.conf
bconsole.conf / bconsole.d/*
bconsole тоже аутентифицируется в Director через свой Director resource.
4.4. Проблемы со Storage / Device / Volume
Если backup ждет носитель, думаем не о Job, а о цепочке Storage → Device → Pool → Volume. Pool — это набор томов, Job использует Pool, Director выбирает первый подходящий appendable/recyclable Volume из Pool, причем Media Type тома должен соответствовать Storage/Device. Если подходящего тома нет, job не поедет.
Для дискового file storage важно помнить: Archive Device должен быть существующим абсолютным каталогом, а Bareos создает там volume-файлы с именем из Catalog. Если каталог не существует, права неверны или вы смотрите не в тот Device, то в WebUI будет “все вроде есть”, а записи не будет.
4.5. Проблемы с лентами
Фраза “лента вставлена” в обычной эксплуатации означает буквально наличие физического носителя: либо оператор вручную вставил картридж в tape drive, либо робот авточенджера загрузил его в привод. Документация по Console прямо отмечает, что при работе с несколькими лентами Bareos ждет, пока пользователь через Console подтвердит mount нового носителя.
Если label не проходит, типовые причины по документации такие: volume name уже есть в Catalog; в устройстве уже смонтирован другой носитель; носитель уже имеет метку Bareos; либо в приводе вообще нет тома. Для autochanger после смены магазина или картриджей полезны unmount, затем update slots, затем mount.
4.6. Почему Storage Daemon “долго не отвечает” после старта
После запуска демонов Storage Daemon пытается открыть все определенные устройства и проверить смонтированный Volume. Если это tape drive, он может перематывать уже вставленную ленту, и это иногда занимает минуты. Пока проверка устройств не завершена, SD может не принимать соединения от Console. Это нормальное поведение, а не обязательно зависание.
4.7. Проблемы после обновления
Есть два особенно важных правила:
Bareos DirectorиBareos Storage Daemonдолжны быть одной версии.Bareos File Daemonможет отличаться по версии.- Для WebUI и Director major version должны совпадать.
Плюс с Bareos 25 пакет больше не “дописывает” ваши существующие конфиги на upgrade. Поэтому после обновления надо отдельно проверять не только версии, но и то, не ожидаете ли вы новый ресурс в /etc/bareos/, который на самом деле остался только в шаблонах /usr/lib/bareos/defaultconfigs/.
4.8. Проблемы WebUI
Если WebUI не открывается или не логинится, смотрите в первую очередь:
- major version Director/WebUI,
php-fpm,- Apache restart,
directors.ini,- SELinux/AppArmor,
- наличие
Consoleи подходящегоProfile, - ACL профиля.
Очень частый сценарий: WebUI открывается, но список клиентов/job-ов пустой или урезанный. Это обычно не “сломанный WebUI”, а слишком ограниченный Profile у консоли, через которую WebUI входит в Director.
4.9. Проверка restore — обязательна
Официальный tutorial отдельно подчеркивает: недостаточно просто иметь успешный backup job; нужно тестировать восстановление файлов, пока не произошла авария. В Bareos restore — это не второстепенная функция, а обязательная часть проверки работоспособности backup-схемы.
5. Очень короткая памятка администратора
Минимум, который надо помнить
- Правлю конфиг → bareos-*. -t → reload/restart.
- Не едет backup → status dir/client/storage.
- Не виден клиент → сверяю Name/Password/Port/TLS.
- Ждет носитель → смотрю Storage/Device/Pool/Volume.
- WebUI пустой → проверяю Console/Profile/ACL.
- После апдейта → сверяю версии dir/sd и dir/webui.
- Backup без restore-теста = еще не проверенный backup.
Это и есть рабочий минимум для администрирования Bareos.