Bacula

Материал из MediaWiki
Перейти к навигации Перейти к поиску

Система резервного копирования «bacula».

«It comes in the night and sucks the essence from your computers», — Kern Sibbald

Обзор

Отзывы

О системе можно встретить много положительных отзывов:

  • масштабируема;
  • автоматизирована;
  • возможно восстановление с нуля («bare metal», не восстанавливаются атрибуты файловых систем и программный RAID);
  • и многое другое.

Из отрицательных отзывов:

  • плохо переносит резкие смены конфигурации;
  • плохая обработка ошибок при работе с диском (заполненный диск, глюки с созданием нового тома при наличии файла);
  • много ручной работы (там-же: после настройки работает в полностью автоматическом режиме).

Источник — Bog BOS.

Компоненты

Изображение.

Здесь:

  • Bacula Director (bacula-dir) — управляющий демон;
  • Bacula Console (bconsole) — программа управления (на машине администратора);
  • Bacula File (bacula-fd) — демон бекапа (на машине с которой выполняется резервное копирование);
  • Bacula Storage (bacula-sd) —  хранилище;
  • Catalog — база данных (MySQL, PgSQL, SQlite);
  • Bacula Monitor — монитор (значок в трее).

Документация

  • Официальная документация на www.bacula.org.
  • Частичный перевод руководства есть на www.opennet.ru.
  • Статья на ibm.com.
  • Материалы на Bog BOS.

Установка

Основная статья: Быстрый старт

Установка по умолчанию, только до состояния работоспособности.

Все настройки по умолчанию.

Pools, Volumes and Labels

Основная статья: Pools, Volumes and Labels

Понимание использования пулов, томов и меток.

Планирование

Использование накопителей

Теперь, на имеющемся материале, имеет смысл определиться со структурой резервного копирования:

  • распределить, какие бекапы на какие накопители писать (в случае файлов: винчестеры и разделы);
  • какие пулы при этом использовать;
  • и описать это, распределив по соответственным конфигурационным файлам.

Использование накопителей

Вынос части конфигурации в отдельные файлы

Bacula FAQ:

Yes, the Director configuration doesn't have to be in just one file. You can do this:

@/path/to/file1
@/path/to/file2

In fact, the @filename can appear anywhere within the conf file where a token would be read, and the contents of the named file will be logically inserted in the place of the @filename. What must be in the file depends on the location the @filename is specified in the conf file.

#
# Include subfiles associated with configuration of clients.
# They define the bulk of the Clients, Jobs, and FileSets.
# Remember to "reload" the Director after adding a client file.
#
@|"sh -c 'for f in /etc/bacula/clientdefs/*.conf ; do echo @${f} ; done'"

http://wiki.bacula.org/doku.php?id=sample_configs

http://www.bacula.org/5.0.x-manuals/en/main/main/Customizing_Configuration_F.html#SECTION001723000000000000000

Подключение fd с другого компьютера

Безопасность

Установка на компьютере fd означает что к нему можно обратиться и получить с него любые файлы. По мере необходимости, помимо достаточно больших паролей следует озаботиться и другими аспектами безопасности:

  • ограничить адреса с которых можно обратиться;
  • закрыть брандмауером;
  • организовать шифрованный канал: пример.

Настройка

Для подключения удалённого fd:

  1. В конфиге fd на компьютере, с которого нужно делать резервную копию:
    • указываем директора которому можно подключаться к этому клиенту.
  2. В конфиге директора, который будет управлять этим fd (это можно вынести в отдельный файл, чтобы не раздувать общий конфиг директора):
    • описываем клиента (fd), к которому будем подключаться;
    • описываем пул (необязательно);
    • перечисляем что копировать (fileset) (необязательно);
    • описываем расписание (schedule) (необязательно);
    • описываем задание (job), включая в него секции:
      • client;
      • pool;
      • fileset;
      • schedule;
      • часть описания можно вынести в секцию JobDefs.

Восстановление

При восстановлении по умолчанию файлы будут восстановлены на том же клиентском компьютере, в каталог указанный в конфигурации директора в задании (job) для восстановления.

Бекап БД MySQL

В настройках по умолчанию есть один пример копирования базы данных (собственной базы BaculA), но скорее всего чаще будут встречаться случаи резервного копирования с удалённых машин. При этом можно как выполнять mysqldump локально, обращаясь к удалённой базе, так и выполнять непосредственно на машине с СУБД, забирая затем файл оттуда. Для последнего случая понадобятся директивы:

ClientRunBeforeJob = /path/to/script/create.dump
ClientRunAfterJob  = /path/to/script/remove.dump

Смотрите также: