Bacula

Bacula

Централизованная оркестрация, каталог, политики хранения, отчётность — для сред с десятками узлов и требованиями регуляторов

ZFS-снапшоты — идеальный инструмент быстрого восстановления на том же или зеркальном узле. Но в корпоративной среде нужно больше: центральный каталог всех бэкапов, политики хранения, ротация на ленту или "холодное" хранилище, отчётность для аудита, резервное копирование разнородных систем (Windows, Linux, 1С, БД, файловые шары). Именно здесь Bacula становится незаменимой.

Архитектура Bacula

[Bacula Director]  ←→  [Каталог (PostgreSQL)]
      ↓
[Storage Daemon]  ←→  [ZFS Pool / Лента / S3]
      ↓
[File Daemon]  ←  на каждом защищаемом узле
  • Director — мозг системы: расписание, политики, оркестрация всех заданий

  • Storage Daemon — управляет хранилищем, в нашем случае — ZFS-пул как основной volume

  • File Daemon — лёгкий агент на клиентском узле: передаёт данные в Storage Daemon

  • Каталог — база PostgreSQL со всеми метаданными бэкапов: что, когда, где, сколько хранить

Интеграция Bacula + ZFS — как они работают вместе

Bacula нативно интегрируется с ZFS: перед запуском задания бэкапа Bacula создаёт ZFS-снапшот, затем бэкапит данные из снапшота — не из «живой» файловой системы. Это означает:

  • Консистентность данных — бэкап снимается с заморозки: файлы не меняются в процессе копирования

  • Zero performance impact — основная система продолжает работать, Bacula читает снапшот

  • Инкрементальный акселератор — Bacula использует zfs diff чтобы определить, какие файлы изменились с последнего бэкапа. Не нужно сканировать весь датасет — только сравниваются снапшоты

  • Дедупликация на уровне Bacula — дополнительно к ZFS-дедупликации

Что даёт Bacula поверх ZFS

ВозможностьZFSZFS + Bacula
Снапшоты каждые 15 мин
Репликация на резервный узел
Центральный каталог бэкапов
Политики хранения (GFS, Tower of Hanoi)
Бэкап Windows/Linux/1С БД
Вывод на ленту / cold storage
Отчётность и уведомления
Ролевой доступ к восстановлению
Шифрование бэкапа на стороне клиента
Соответствие требованиям 152-ФЗ, ГОСТ

Как два решения работают вместе

ZFS и Bacula не конкурируют — они закрывают разные горизонты восстановления:

RPO 15 минут   →  ZFS-снапшот + репликация на резервный узел
               →  «Откатиться на 15 минут назад» — 30 секунд
RPO часы/дни   →  Bacula забирает снапшот, пишет в каталог,
               →  хранит по политике (день/неделя/месяц/год)
               →  «Восстановить файл двухнедельной давности» —
               →  находим в каталоге, восстанавливаем
Disaster       →  ZFS replication на резервный узел:
Recovery       →  переключение за минуты, RTO < 30 мин
 

Итог: ZFS — это скорость и надёжность на уровне ядра. Bacula — это управление, аудит и долгосрочное хранение на корпоративном уровне. Вместе они формируют решение резервного копирования, которая закрывает требования как операционного восстановления (RPO 15 мин), так и регуляторного аудита (152-ФЗ, ISO 27001, требования ЦБ РФ).