Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

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 указать параметр:

Подсказка
iconfalse
listen_addresses='*'


В файле /etc/postgresql/9.4/main/pg_hba.conf указать метод trust для всех.
Обязательно добавить host с ip адресом, где будет работать bacula-dir.

...


Подсказка
iconfalse

local all postgres trust 

local all all trust

host all all 127.0.0.1/32

...

trust

...

host

...

all

...

all

...

10.0.0.23/24

...

trust

...


Выполнить запуск БД:

панель
borderColor#c2e6ff
bgColor#e2f3ff

pg_ctlcluster 9.4 main restart

Присвоить пароль пользователю postgres:


панель
borderColor#c2e6ff
bgColor#e2f3ff
passwd postgres


Пароль ввести 1


Присвоить пароль пользователю bacula:


панель
borderColor#c2e6ff
bgColor#e2f3ff
passwd bacula


Пароль ввести bacula


Создать пользователя БД для работы с bacula, выполнять не из-под root:

панель
borderColor#c2e6ff
bgColor#e2f3ff

#psql template1 -U postgres -h 10.0.0.23 -p PORT

где PORT можно определить командой pg_lsclusters


Подсказка
iconfalse

template1=# CREATE ROLE bacula;
template1=# ALTER USER bacula PASSWORD 'bacula';
template1=# ALTER USER bacula LOGIN SUPERUSER CREATEDB CREATEROLE;

Создать БД bacula


Подсказка
iconfalse

CREATE DATABASE bacula;
ALTER DATABASE bacula OWNER TO bacula;

Для корректного функционирования авторизации черезе PAM, пользователю postgres необходимо выдать права на чтение
информации из БД пользователей и сведений о мандатных метках и привелегий:


панель
borderColor#c2e6ff
bgColor#e2f3ff

usermod -a -G shadow postgres
setfacl -d -m u:postgres:r /etc/parsec/macdb
setfacl -R -m u:postgres:r /etc/parsec/macdb
setfacl -m u:postgres:rx /etc/parsec/macdb

setfacl -d -m u:postgres:r /etc/parsec/capdb
setfacl -R -m u:postgres:r /etc/parsec/capdb
setfacl -m u:postgres:rx /etc/parsec/capdb


Пользователю bacula задаем минимальный и максимальный уровень:

панель
borderColor#c2e6ff
bgColor#e2f3ff

pdpl-user bacula -l 0:0

В скриптах /usr/share/bacula-director/make_postgresql_tables и /usr/share/bacula-director/grant_postgresql_privileges вносим изменения:


Подсказка
iconfalse

db_name=${db_name:-bacula}
psql -U bacula -h 10.0.0.23 -p 5433 -f - -d ${db_name} $* <<END-OF-DATA

Сохраняем изменения и запускаем скрипты make_postgresql_tables и grant_postgresql_privileges

На машине, где будет работать Storage Daemon необходимо создать каталог /back, в него будут сохранятся бэкапы, и присвоить ему владельца bacula:


панель
borderColor#c2e6ff
bgColor#e2f3ff

mkdir /back
chown -R bacula /back

На машине, где будет работать File Daemon необходимо создать каталог /etc2, в него будет разворачиваться бэкап:


панель
borderColor#c2e6ff
bgColor#e2f3ff
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 указывает на возможность включения поддержки расширенных атрибутов, это обязательный параметр для работы с мандатными метками.

...