Использовать S3-бакета как конечное хранилище, монтируя его в файловую систему сервера через s3fs.
Подготовка системы
Для работы потребуются компоненты Bacula, база данных (MariaDB) и утилита для работы с S3.
Установка ПО:
sudo apt update
sudo apt install -y bacula-server bacula-client mariadb-server s3fs nano
Во время установки Bacula на запрос на автоматическую настройку БД через dbconfig-common — выбираем «NO».
Настройка базы данных
Запуск MariaDB:
sudo systemctl start mariadb
Создание таблицы Bacula:
В Ubuntu скрипты находятся в /usr/lib/bacula/:
sudo /usr/lib/bacula/grant_mysql_privileges
sudo /usr/lib/bacula/create_mysql_database -u root
sudo /usr/lib/bacula/make_mysql_tables -u bacula
Установка пароля для пользователя bacula в базе данных:
sudo mysql -u root -e "ALTER USER 'bacula'@'localhost' IDENTIFIED BY 'your_db_password'; FLUSH PRIVILEGES;"
Монтирование S3-хранилища
Создание файла с доступами:
echo "Access_Key:Secret_Key" > ~/.passwd-s3fs
chmod 700 ~/.passwd-s3fs
Монтирование:
sudo mkdir -p /mnt/bacula_s3
sudo s3fs <имя_бакета> /mnt/bacula_s3 -o passwd_file=${HOME}/.passwd-s3fs -o url=https://s3.inferit.cloud -o allow_other -o use_cache=/tmp
Конфигурация Bacula
Bacula Director (/etc/bacula/bacula-dir.conf)
Отредактируйте секцию Catalog, чтобы она соответствовала настройкам MariaDB:
Catalog {
Name = MyCatalog
dbname = "bacula"; dbuser = "bacula"; dbpassword = "your_db_password"
}
Storage Daemon (/etc/bacula/bacula-sd.conf)
Укажите путь к точке монтирования S3:
Device {
Name = FileStorage
Media Type = File
Archive Device = /mnt/bacula_s3
LabelMedia = yes;
Random Access = Yes;
AutomaticMount = yes;
RemovableMedia = no;
AlwaysOpen = no;
}
Запуск и проверка
Перезапуск служб:
sudo systemctl restart bacula-director bacula-sd bacula-fd
Вход в консоль:
sudo bconsole
Подготовка тома:
Введите label, дайте имя (например, Vol-001).
Выберите пул (обычно File или Default).
Запуск бэкапа:
Введите run, выберите BackupFiles.
Подтвердите запуск командой yes.
Просмотр логов:
messages.
Запуск восстановления.
sudo bconsole
restore all
В открывшемся меня выбрать пункт 5: Select the most recent backup for a client.
Подтвердить запуск.
status director- проверка состояния восстановления.
Резервное копирование в S3 через нативный драйвер Bacula
Функционал доступен для Bacula Community, начиная с версии 9.0. Официальная документация по настройке.
Для Bacula Enterprise, начиная с версии 10.0 с использованием плагина для работы через API. Официальная документация по настройке.