...
Director Daemon 10.0.0.23 - главный сервер, осуществляющий резервное копирование, назовем его bakula-dir.
Storage Daemon 10.0.0.24 - машина, куда будут складываться бэкапы. Ее назовем bakula-sd.
File Daemon 10.0.0.25 - машина, откуда будут копироваться данные и куда будет разворачиваться бэкап. Это bakula-fd.
На Director Daemon должны быть установлены пакеты:
postgresql-9.4 pgadmin3 bacula-common bacula-common-pgsql bacula-console bacula-director-common bacula-director-pgsql
Примечание |
---|
При настройке базы bacula может произойти ошибка, проигнорируйте ее, базу мы настроим позже. |
На Storage Daemon должны быть установлены пакеты:
bacula-sd-pgsql
...
На Director Daemon
В файле /etc/postgresql/9.4/main/postgresql.conf указать параметр:
Подсказка | ||
---|---|---|
| ||
listen_addresses='*' |
В файле /etc/postgresql/9.4/main/pg_hba.conf указать метод trust для всех.
Обязательно добавить host с ip адресом, где будет работать bacula-dir.
...
Подсказка | ||
---|---|---|
| ||
|
...
|
...
|
...
|
...
|
...
|
...
|
...
Выполнить запуск БД:
панель | ||||
---|---|---|---|---|
| ||||
|
Присвоить пароль пользователю postgres:
панель | ||||
---|---|---|---|---|
| ||||
passwd postgres |
Пароль ввести 1
Присвоить пароль пользователю bacula:
панель | ||||
---|---|---|---|---|
| ||||
passwd bacula |
Пароль ввести bacula
Создать пользователя БД для работы с bacula, выполнять не из-под root:
панель | ||||
---|---|---|---|---|
| ||||
|
где PORT можно определить командой pg_lsclusters
Подсказка | ||
---|---|---|
| ||
|
Создать БД bacula
Подсказка | ||
---|---|---|
| ||
|
Для корректного функционирования авторизации черезе PAM, пользователю postgres необходимо выдать права на чтение
информации из БД пользователей и сведений о мандатных метках и привелегий:
панель | ||||
---|---|---|---|---|
| ||||
|
Пользователю bacula задаем минимальный и максимальный уровень:
панель | ||||
---|---|---|---|---|
| ||||
|
В скриптах /usr/share/bacula-director/make_postgresql_tables и /usr/share/bacula-director/grant_postgresql_privileges вносим изменения:
Подсказка | ||
---|---|---|
| ||
|
Сохраняем изменения и запускаем скрипты make_postgresql_tables и grant_postgresql_privileges
На машине, где будет работать Storage Daemon необходимо создать каталог /back, в него будут сохранятся бэкапы, и присвоить ему владельца bacula:
панель | ||||
---|---|---|---|---|
| ||||
|
На машине, где будет работать File Daemon необходимо создать каталог /etc2, в него будет разворачиваться бэкап:
панель | ||||
---|---|---|---|---|
| ||||
mkdir /etc2 |
Если подготовительные настройки выполнены корректно, база стартует без ошибок, скрипты выполнились без ошибок, то можно приступить к настройке bacula.
...
Приступаем к конфигурированию Director Daemon в конфигурационном файле /etc/bacula/bacula-dir сервера bakula1.
В первую очередь необходимо определить основные параметры в секции Director. На начальном этапе важно установить параметры Name и Password. Name задаёт уникальное имя Director Daemon, а Password – пароль, который будет использоваться при соединениях BC с DD. Остальные параметры можно оставить в значениях по умолчанию.
Подсказка |
---|
Director {
Name = bacula-dir
DIRport = 9101
QueryFile = "/etc/bacula/scripts/query.sql"
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/run/bacula"
Maximum Concurrent Jobs = 1
Password = "1" # Console password
Messages = Daemon
DirAddress = 10.0.0.23
} |
...
Блок JobDefs нам не нужен, его можно закомментировать.
Все настройки мы свяжем воедино с помощью секции Job, в которой мы даём задание планировщику по выполнению резервирования данных. Здесь мы уже не будем описывать все параметры, отметив лишь основные.
Параметр Type указывает на тип задания. Типов существует несколько, и к ним мы еще вернемся в продолжение цикла. Здесь же достаточно указать Backup.
Параметр Schedule указывает на предопределённое расписание, согласно которому будет выполняться резервирование данных. Все расписания определены здесь же, в файле bacula-dir.conf. Пример расписания WeeklyCycle приведён ниже, комментировать в нём нечего.
Параметр Where указывает на каталог, где будет развернут бэкап.
Параметр Write Bootstrap указывает путь к файлу, в который будет записываться информация, с помощью которой данные могут быть восстановлены из резервной копии без наличия подключения к Bacula Catalog. Вместо %n будет подставлено значение параметра Name:
Подсказка |
---|
Job {
Name = "BackupClient1"
Type = Backup
Client = bacula-fd
FileSet="Catalog"
Schedule = "DailyCycle"
Messages = Standard
Pool = Default
Write Bootstrap = "/var/lib/bacula/%n.bsr"
Priority = 1
}
Job {
Name = "RestoreFiles"
Type = Restore
Client=bacula-fd
FileSet="Catalog"
Storage = File
Pool = Default
Messages = Standard
Where = /home2
} |
...
Одна из интересных секций – FileSet, она позволяет предопределить несколько наборов резервируемых файлов. Например, один набор для Windows, другой – для Linux или один для серверов, а другой – для рабочих станций. Основные параметры здесь следующие.
Параметр Name определяет уникальное имя набора.
Секция Include содержит пути к резервируемым файлам/каталогам, а Exclude – пути к файлам и каталогам, которые необходимо исключить из списка резервируемых. В секции Include возможна секция Options, в которой определяются параметры резервирования.
Параметр signature указывает алгоритм вычисления контрольных сумм файлов.
Параметр compression указывает алгоритм компрессии файлов.
Параметр recurse указывает на необходимость рекурсивного резервирования, включая подкаталоги и файлы.
Параметр File указывает на каталог, который мы копируем.
Параметр xattrsupport указывает на возможность включения поддержки расширенных атрибутов, это обязательный параметр для работы с мандатными метками.
...