Bacula: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 1:
Система резервного копирования «"bacula»"
 
«It comes in the night and sucks the essence from your computers». Kern Sibbald
 
== Отзывы ==
Небольшой комментарий для «быстрого старта»
 
О системе можно встретить много положительных отзывов:
== Отзывы ==
 
:масштабируема,
О системе можно встретить много положительных отзывов:
:автоматизирована,
:возможно восстановление с нуля (bare metal, не восстанавливаются атрибуты файловых систем и программный RAID)
:и многое другое.
 
Из отрицательных отзывов:
: масштабируема,
: автоматизирована,
: возможно восстановление с нуля (bare metal, не восстанавливаются атрибуты файловых систем и программный RAID)
: и многое другое.
 
:плохо переносит резкие смены конфигурации,
Из отрицательных отзывов:
:плохая обработка ошибок при работе с диском (заполненный диск, глюки с созданием нового тома при наличии файла),
:много ручной работы (там-же: после настройки работает в полностью автоматическом режиме).
 
источник: [http://bog.pp.ru/work/bacula.html Bog BOS]
: плохо переносит резкие смены конфигурации,
: плохая обработка ошибок при работе с диском (заполненный диск, глюки с созданием нового тома при наличии файла),
: много ручной работы (там-же: после настройки работает в полностью автоматическом режиме).
 
== Компоненты ==
Источник: [http://bog.pp.ru/work/bacula.html Bog BOS]
 
:Bacula Director (<span style="background-color: rgb(222, 203, 182);">bacula-dir</span>): управляющий демон
== Компоненты ==
:Bacula Console (<span style="background-color: rgb(221, 185, 192);">bconsole</span>): программа управления (на машине администратора)
:Bacula File (<span style="background-color: rgb(201, 210, 223);">bacula-fd</span>): собственно демон бекапа (на машине с которой выполняется резервное копирование)
:Bacula Storage (<span style="background-color: rgb(221, 222, 182);">bacula-sd</span>): хранилище
:Catalog: база данных (<span style="background-color: rgb(207, 233, 224);">MySQL, PgSQL, SQlite</span>)
:Bacula Monitor: монитор (<span style="background-color: rgb(221, 185, 192);">значок в трее</span>)
 
[[Image:Bacula-applications.png]]
: Bacula Director (bacula-dir): управляющий демон
: Bacula Console (bconsole): программа управления (на машине администратора)
: Bacula File (bacula-fd): собственно демон бекапа (на машине с которой выполняется резервное копирование)
: Bacula Storage (bacula-sd): хранилище
: Catalog: база данных (MySQL, PgSQL, SQlite)
: Bacula Monitor: монитор (значок в трее)
 
Изображение с [http://www.bacula.org/5.0.x-manuals/en/dev-manualmain/bacula-applicationsmain/img7.png Схемаwww.bacula.org].
 
== Установка ==
 
=== Сервер ===
Рассматривается случай с ubuntu 8.04 Hardy Heron.
 
На сервер backup, мы устанавливаем:
=== Сервер ===
 
#директора:
На сервер backup, мы устанавливаем:
#*bacula-director-common
# бакула:
#* bacula-director-mysql
#клиента:
#* bacula-sd (storage daemon),
#* bacula-consoleclient
#хранилище:
# и mysql-server
#*bacula-storage-common
#*bacula-storage-mysql
#управление:
#*bacula-console
#общая часть:
#*bacula-common
#SQL:
#*mysql-server
 
Например:
Эти компоненты так-же, возможно разнести на разные системы, но в нашем случае, видимо, директор, хранилище и сервер SQL будут на одной машине.
<pre>yum install bacula-director-common bacula-director-mysql bacula-client bacula-storage-common bacula-storage-mysql bacula-console bacula-common mysql-server</pre>
Эти компоненты также возможно разнести на разные системы, но в нашем случае директор, хранилище и сервер SQL будут на одной машине. Здесь же будет размещён клиент, чтобы делать резервную копию собственной конфигурации.
 
Вместо mysql есть возможность выбрать postgresql или sqlite.
=== Клиент ===
 
=== Клиент ===
На машине, на которой выполняется резервное копирование:
 
На машинах, с которых будет выполняется резервное копирование, нужно установить bacula-fd (File Daemon)
# bacula-fd (Filer Daemon).
 
#bacula-client
== Управление ==
 
=== Управление ===
Управление происходит через bacula-console установленной, в нашем случае, на сервере.
 
На компьютере, с которого будет происходить управление, нужно установить консоль которая есть как в виде CLI так и в виде GUI в асортименте:
Существует так-же GUI консоль bat: bacula-console-qt и web интерфейс.
 
#CLI
=== Web интерфейс ===
#*bacula-console: Bacula management console
#GUI
#*bacula-console-gnome: Bacula console for the Gnome desktop environment
#*bacula-console-wxwidgets: Bacula console using the wx widgets toolkit
#*bacula-console-qt: Bacula Administration Tool Console
#*bacula-traymonitor: Bacula monitor for the Gnome and KDE system tray
 
Также, можно отдельно сделать веб интерфейс.
Webacula
 
== Настройка ==
[http://sourceforge.net/projects/webacula/ Сайт проекта]
 
Используя описания задач резервного копирования, приведённые в конфигурационных файлах по умолчанию.
Быстрый старт:
 
Пример описания установки у [http://www.lissyara.su/?id=1760 лисяры]
# скачать, распаковать на место, распаковать архив zend в подкаталоге library
# указать параметры подключения к БД
# настроить апач (mod rewrite)
# настроить доступ пользователю, от которого запущен апач, к файлу конфигурации консоли бакула
# сделать db для «журнала» (Logbook), в описании сказано что это только для своих записок, но без него не будет доступен выбор отдельных файлов для восстановления (только полное)
 
Во всех конфигах bacula меняем образцы паролей типа "@@DIR_PASSWORD@@" на настоящие. При наличии такой строки в конфигурационном файле (даже в комментарии) демон не запустится.
== Настройка ==
 
=== Подготовка mysql ===
Используя описания задач резервного копирования, приведённые в конфигурационных файлах по умолчанию.
 
В каталоге /usr/libexec/bacula/ лежат скрипты для задания привилегий, создания базы и создания таблиц в ней:
# В конфиге fd указываем, если нужно, адрес который он слушает (по умолчанию 127.0.0.1) и директора которому можно подключаться
# В конфиге sd:
#* указываем так-же адрес и директора
#* описываем устройства хранения (в простом случае, тип медиа: файл и указывается путь к каталогу для резервных копий).
# В конфиге директора:
#* в секции «Generic catalog service», указать параметры подключения к БД (в ubuntu при установке пакета bacula-director-mysql происходит предварительная насторйка и создание БД (если СУБД запущена и мы не забыли пароль от неё))
#* указываем адрес и описываем sd и fd с которыми этот директор будет работать. Если директор, fd и sd находятся на разных машинах то указываем имена демонов с которыми нужно соединяться.
#* в секции fileset, указываем каталог который нужно копировать.
#* описываем задание резервного копирования: Job
# Неясно с нанесением метки (label) на том (volume), без этого не работает, разумно ожидать автоматического нанесения меток но этого не происходит. В случае, когда том является файлом, нанесение метки фактически означает создание файла.
# В ubuntu hardy не работает скрипт для резервного копирования MySQL, в скрипте используются функции gawk а по умолчанию установлен mawk, необходимо установить gawk.
#* для hardy, так-же, нужно подключить hardy-updates и обновить bacula-director-mysql до версии 2.2.8-5ubuntu7.2
 
#/usr/libexec/bacula/grant_mysql_privileges
В настройках по умолчанию задано две задачи для локального fd, копирование каталога (указанный не существует) и копирование БД самой бакулы.
#/usr/libexec/bacula/create_mysql_database
#/usr/libexec/bacula/make_mysql_tables
 
=== Клиент ===
пример описания установки у [http://www.lissyara.su/?id=1760 лисяры]
 
Указываем:
там-же, из конфигурации sd:
 
#директора которому можно подключаться к этому клиенту
Heartbeat Interval = 30 sec # Без этого параметра у меня сервер сразу после
#*если нужно - адрес который следует слушать
 
В настройках по умолчанию задано копирование конфигурации самой bacula на localhost.
 
=== Хранилище ===
 
Указываем:
 
#директора которому можно подключаться к этому хранилищу
#*если нужно - адрес который следует слушать
#описываем устройства хранения, в простом случае,
#*тип медиа: файл
#*указывается путь к каталогу для резервных копий, с доступом на запись для bacula (в настройках по умолчанию задан путь /tmp, достаточно его сменить на актуальный)
 
Рекомендация из описания лисяры (не проверял):
<pre> Heartbeat Interval = 30 sec # Без этого параметра у меня сервер сразу после
# запуска задания на выполнение переставал
# отвечать на пинги. Сами задания через раз
# завершались с ошибкой connection reset by peer
</pre>
=== Директор ===
 
Изменения в /etc/bacula/bacula-dir.conf&nbsp;:
== Бекап MySQL базы ==
 
#В секции "Generic catalog service", указать параметры подключения к БД (по умолчанию подключается к localhost для использования db bacula без пароля).
http://sozinov.blogspot.com/2008/05/bacula-backup-mysql.html
#Указываем адрес и описываем sd и fd с которыми этот директор будет работать. Если директор, fd и sd находятся на разных машинах то указываем имена демонов с которыми нужно соединяться.
#В секции fileset, указываем каталог который нужно копировать.
#Описываем задание резервного копирования: Job
 
Неясно с нанесением метки (label) на том (volume), без этого не работает, разумно ожидать автоматического нанесения меток но этого не происходит. В случае, когда том является файлом, нанесение метки фактически означает создание файла.
Так-же, в /etc/bacula/scripts/ для этого есть готовые скрипты.
 
== подключение fd с другого компьютера ==
 
#в конфиге fd на компьютере, с которого нужно делать резервную копию
##указываем директора которому можно подключаться к этому файл демону
##указываем какой адрес слушает этот файл демон
#в конфиге директора, который будет управлять этим fd:
##описываем fd
##вписываем job
##*''часть описания можно вынести в секцию JobDefs''
##*''составляем расписание в соотв. секции Schedule''
##вписываем filelist
 
== web интерфейс ==
 
webacula
 
[http://sourceforge.net/projects/webacula/ сайт проекта]
 
быстрый старт:
 
#скачать, распаковать на место, распаковать архив zend в подкаталоге library
#указать параметры подключения к БД бакулы
#настроить апач (mod rewrite)
#сделать пользователя для http доступа к webacula (htpasswd, /etc/apache2/sites-enabled/webacula)
#настроить доступ пользователю, от которого запущен апач, к файлу конфигурации консоли бакула и самой bconsole
#сделать db для "журнала" (Logbook), в описании сказано что это только для своих записок, но без него не будет доступен выбор отдельных файлов для восстановления (только полное)
 
== бекап MySQL базы ==
 
http://sozinov.blogspot.com/2008/05/bacula-backup-mysql.html
 
Так-же, в /usr/share/doc/bacula-common-[version]/examples/database/ для этого есть примеры.
== Подключение fd с другого компьютера ==
 
# в конфиге fd на компьютере, с которого нужно делать резервную копию
## указываем директора которому можно подключаться к этому файл демону
## указываем какой адрес слушает этот файл демон
# в конфиге директора, который будет управлять этим fd:
## описываем fd
## вписываем job
##* ''часть описания можно вынести в секцию JobDefs''
##* ''составляем расписание в соотв. секции Schedule''
## вписываем filelist
 
[[Категория:Программное обеспечение]]