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

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

Ключ

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

Оглавление

...

Установка и настройка Bacula на Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5)

Подготовка инфраструктуры для управления системой резервного копирования

Для проведения теста необходимо три машины:

...

Если подготовительные настройки выполнены корректно, база стартует без ошибок, скрипты выполнились без ошибок, то можно приступить к настройке bacula.

Настройка bacula

Подготовка Bacula к работе заключается в настройке каждого компонента в отдельности и последующей настройке их взаимодействия.

Настройка Director Daemon

Приступаем к конфигурированию Director Daemon в конфигурационном файле /etc/bacula/bacula-dir сервера bakula1. 
В первую очередь необходимо определить основные параметры в секции Director. На начальном этапе важно установить параметры Name и Password. Name задаёт уникальное имя Director Daemon, а Password – пароль, который будет использоваться при соединениях BC с DD. Остальные параметры можно оставить в значениях по умолчанию.

...

/etc/init.d/bacula-sd stop
/etc/init.d/bacula-fd stop


Настройка Storage Daemon

Начнём подготовку Storage Daemon, который будет отвечать за непосредственную работу с устройством хранения данных. Bacula поддерживает широкий спектр устройств, начиная от оптических дисков и заканчивая полнофункциональными ленточными библиотеками. Список поддерживаемых устройств вы сможете найти на официальном сайте проекта. Мы рассмотрим самый распространённый вариант – обычный жёсткий диск с существующей файловой системой (например, ext3). Итак, на сервере bakula2редактируем файл /etc/bacula/bacula-sd.conf. В нём находим секцию основных параметров – Storage, где определяем параметр Name, который задаёт уникальное имя Storage Daemon. Остальные параметры можно оставить в значениях по умолчанию.
Секция Director необходима для указания уникального имени DD и пароля, с которым этот DD может подключаться к SD. Секций может быть несколько, что даёт возможность использовать единый сервер хранения данных для нескольких систем резервирования. Все остальные секции Director, найденные в файле, закомментируйте, они пока не понадобятся.

...

Конфиг bacula-fd в /etc/bacula следует либо переименовать, либо удалить.
Сервис bacula-fd следует остановить:

/etc/init.d/bacula-fd stop


Настройка File Daemon

Перейдём к настройке File Daemon на рабочей станции bakula3.
Для настройки используется файл /etc/bacula/bacula-fd, в котором для базовой настройки достаточно лишь определить параметры секции Director, где указывается пароль, который будет использовать DD при подключении к FD, а также секции FileDaemon, где указываются настройки FD. Все остальные секции Director, найденные в файле, закомментируйте, они пока не понадобятся.

...

Для тестовой проверки выполните bconsole, далее выполните run, выберете job 1, войдите в меню набрав mod, выберете 1 (Level), выберете 1 (Full), подтвердите выполнение набрав yes. Будет создан бэкап в каталоге /back на машине с Storage Daemon. Для разворота бэкапа выполните restore, выберете пункт 12, введите номер job id, укажите параметр маркировки mark *, подтвердите выполнение командой done. Будет развернут бэкап в каталоге /etc2 на машине с File Daemon.

Astra Linux Смоленск 1.2

...

.

...

Информация

В нашем примере мы будем рассматривать следующую инфраструктуру:

  • выделенный сервер bakula1.my.dom с ip адресом 11.11.11.21 (на нём будет функционировать Director Daemon, это главный сервер осуществляющий резервное копирование);
  • выделенный сервер bakula2.my.dom с ip адресом 11.11.11.22 (на нём будет функционировать Storage Daemon это storage машина, куда будут складываться бэкапы);
  • персональный компьютер bakula3.my.dom с ip адресом 11.11.11.23 (на нём будет функционировать File Daemon это машина, откуда будут копироваться данные и куда будет разворачиваться бэкап).

Подготовка инфраструктуры для управления системой резервного копирования

Установить Postgresql-8.4 на сервер, где будет работать Director Daemon.

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

aptitude install postgresql-8.4

Предполагается, что на всех машинах изначально установлены все пакеты касающиеся bacula из состава операционной системы Astra Linux Special Edition версии 1.2 РУСБ 10015-07. Необходимо установить bacula-director-common, bacula-director-pgsql из состава операционной системы Astra Linux Special Edition версии 1.2. Потребуется доустановить mailx из состава операционной системы Astra Linux Special Edition версии 1.2 РУСБ 10015-07 и dbconfig-common из состава операционной системы Astra Linux Special Edition версии 1.2.

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

aptitude install mailx

Скачайте пакеты bacula-director-common, bacula-director-pgsql, dbconfig-common из состава операционной системы Astra Linux Special Edition версии 1.2 и выполните их установку:

панель
borderColor#c2e6ff
bgColor#e2f3ff
dpkg -i dbconfig-common*.deb
dpkg -i bacula-director-common*.deb
dpkg -i bacula-director-pgsql*.deb
Примечание

При настройке базы bacula может произойти ошибка, проигнорируйте ее, базу мы настроим позже.

Подготовить БД для bacula

В файле /etc/postgresql/8.4/main/postgresql.conf указать listen = '*'

В файле /etc/postgresql/8.4/main/pg_hba.conf внести необходимые изменения, для простоты можно указать метод trust для всех, удалить любую дополнительную конфигурацию после метода, типа mod=

Обязательно добавить host с ip адресом, где будет работать bacula-dir. В случае если все демоны bacula будут установлены на одну машину, указывать ip не обязательно, так как работа будет идти через localhost

Для первоначальной настройки Вы можете использовать наш файл pg_hba.conf

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

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

pg_ctlcluster 8.4 main restart

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

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

passwd postgres

запомните пароль.

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

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

пароль присваивайте bacula.

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

панель
borderColor#c2e6ff
bgColor#e2f3ff
title# psql template1 postgres

postgres=# CREATE ROLE bacula;

postgres=# ALTER USER bacula PASSWORD 'bacula';

postgres=# ALTER USER bacula LOGIN SUPERUSER CREATEDB CREATEROLE;

Создать БД bacula.

Выполнить не от root fly-admin-postgres, указать имя template1, пользователя postgres, пароль присвоенный postgres. В секции Роли входа добавить роль входа bacula. Создать базу данных bacula, владельцем назначить bacula.

На сервере bakula1.my.dom запускаем скрипты, которые создадут все необходимые таблицы и привилегии:

В скриптах /usr/share/bacula-director/make_postgresql_tables.sh и /usr/share/bacula-director/grant_postgresql_privileges.sh в строке послеif $bindir/psql добавить -U bacula, сохранить изменения и выполнить скрипты:

панель
borderColor#c2e6ff
bgColor#e2f3ff
make_postgresql_tables.sh
grant_postgresql_privileges.sh

При возникновении необходимости файлы make_postgresql_tables.sh, grant_postgresql_privileges.sh можно скачать у нас с готовыми правками.

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

панель
borderColor#c2e6ff
bgColor#e2f3ff
mkdir /back
chown -R bacula /back

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

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

mkdir /etc2

Если подготовительные настройки выполнены корректно, база стартует без ошибок, скрипты выполнились без ошибок, то можно приступить к настройке bacula.

Настройка bacula

Информация

Подготовка Bacula к работе заключается в настройке каждого компонента в отдельности и последующей настройке их взаимодействия.

Настройка Director Daemon

Приступаем к конфигурированию DirectorDaemon в конфигурационном файле /etc/bacula/bacula-dir сервера bakula1.my.dom. В первую очередь необходимо определить основные параметры в секции Director. На начальном этапе важно установить параметры Name и Password. Name задаёт уникальное имя Director Daemon, а Password – пароль, который будет использоваться при соединениях BC с DD. Остальные параметры можно оставить в значениях по умолчанию.

Подсказка
iconfalse
Director { # define myself
Name = bacula-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = "/etc/bacula/scripts/query.sql"
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/var/run/bacula"
Maximum Concurrent Jobs = 1
Password = "1" # Console password
Messages = Daemon
DirAddress = 11.11.11.21
}

Следующей группой параметров, которые необходимо определить, является секция Catalog. Здесь необходимо указать реквизиты доступа к базе данных, а также назначить уникальное имя данного Bacula Catalog с помощью параметра Name:

Подсказка
iconfalse
Catalog {
Name = MyCatalog
# Uncomment the following line if you want the dbi driver
# dbdriver = "dbi:sqlite3"; dbaddress = 127.0.0.1; dbport =
dbname = "bacula"; dbuser = "bacula"; dbpassword = "bacula"
DB Address = 11.11.11.21
}

Теперь настала пора определить SD, на который будет производиться передача данных для дальнейшей записи на устройство хранения. Storage Daemon у нас настроен и готов к работе, определим реквизиты доступа к нему в секции Storage файла bacula-dir.conf.

Параметр Name – уникальное имя, использующееся для адресации секции Storage в рамках файла bacula-dir.conf

Параметры Device и MediaType дублируют одноимённые параметры файла bacula-sd.conf.

...

Параметр Name определяет уникальное имя пула.

Параметр ool Type определяет тип, и для резервных копий должен быть установлен в значение Backup.

Параметр Maximum Volume Jobs рекомендуется установить в значение 1. Это будет означать, что в рамках одного носителя данных могут быть размещены резервные данные, полученные в ходе выполнения только одного задания. Носитель данных – это устройство, на которое непосредственно записываются данные (оптические диски, магнитные ленты). Если размер созданной резервной копии много меньше размера носителя, то имеет смысл сохранить на него и другие копии, которые будут создаваться в будущем. Но если мы говорим о файлах, то желательно придерживаться правила "один файл – одна копия", т.е. в одном файле Bacula должны храниться резервные данные, которые были сформированы в рамках выполнения одного задания. Для каждого последующего будут создаваться новые файлы.

Volume Retention – время, по прошествии которого данные о резервной копии, хранящейся на носителе, будут удалены из каталога. Для обеспечения работоспособности Bacula необходимо помнить о том, что информация обо всех зарезервированных файлах хранится в базе данных, по записи на каждый файл. Если вы резервируете тысячи файлов, то очень скоро база данных станет огромной, что может затруднить работу Bacula. Поэтому очень важно своевременно очищать базу от устаревшей информации. При этом сам носитель информации не будет очищен автоматически. Он будет промаркирован как устаревший, но вы всегда сможете использовать его для восстановления данных в ручном режиме.

Maximum Volumes – максимальное количество носителей (в нашем случае файлов), доступных в данном пуле.

Параметр Recycle указывает на необходимость повторного использования носителей, помеченных как устаревшие. При этом реальная перезапись носителя произойдёт лишь в случае, когда свободных носителей не останется. Свободные носители определяются из параметра Maximum Volumes.

Параметр AutoPrune указывает на то, необходимо ли производить удаление устаревших записей из Bacula Catalog автоматически после завершения выполнения очередного задания.

Параметр Label Format определяет префикс, который будет использован Bacula для маркирования носителей информации, в нашем случае – для именования файлов.

...

Параметр Name определяет уникальное имя набора.

Секция Include содержит пути к резервируемым файлам/каталогам, а Exclude – пути к файлам и каталогам, которые необходимо исключить из списка резервируемых. В секции Include возможна секция Options, в которой определяются параметры резервирования.

Параметр signature указывает алгоритм вычисления контрольных сумм файлов.

Параметр compression указывает алгоритм компрессии файлов.

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

Параметр File указывает на каталог, который мы копируем.

...

Параметр Type указывает на тип задания. Типов существует несколько, и к ним мы еще вернемся в продолжение цикла. Здесь же достаточно указать Backup.

Параметр Schedule указывает на предопределённое расписание, согласно которому будет выполняться резервирование данных. Все расписания определены здесь же, в файле bacula-dir.conf. Пример расписания WeeklyCycle приведён ниже, комментировать в нём нечего.

Параметр Where указывает на каталог, где будет развернут бэкап.

...

  • На машине, где будет Director Daemon следует удалить пакеты bacula-sd и bacula-fd:

...

Настройка Storage Daemon

  • Начнём подготовку Storage Daemon, который будет отвечать за непосредственную работу с устройством хранения данных. Bacula поддерживает широкий спектр устройств, начиная от оптических дисков и заканчивая полнофункциональными ленточными библиотеками. Список поддерживаемых устройств вы сможете найти на официальном сайте проекта. Мы рассмотрим самый распространённый вариант – обычный жёсткий диск с существующей файловой системой (например, ext3). Итак, на сервере bakula2.my.dom редактируем файл /etc/bacula/bacula-sd.conf. В нём находим секцию основных параметров – Storage, где определяем параметр Name, который задаёт уникальное имя Storage Daemon. Остальные параметры можно оставить в значениях по умолчанию.

...

Параметр Name определяет уникальное имя подключенного устройства. Если вы планируете создавать изолированные друг от друга резервные копии для каждого из File Daemon, то вам необходимо создать несколько секций Device с уникальными именами. В противном случае резервируемые файлы со всех FD будут размещаться в одном и том же файле, что может несколько затруднить дальнейшее обслуживание системы.

Параметр Media Type определяет произвольное уникальное имя, которое будет использоваться Bacula при восстановлении данных. Согласно ему определяется устройство хранения, с которого будет производиться восстановление. Если вы храните резервные копии в файлах, то для КАЖДОЙ секции Device должен быть задан уникальный Media Type.

Параметр Archive Device указывает путь к файлу устройства в каталоге /dev или путь к каталогу, в котором будут размещаться резервные копии.

Параметр Device Type определяет тип устройства. Для размещения в существующей файловой системе указывается File.

Параметр Random Access указывает на возможность случайной (непоследовательной) адресации. Для файлов указывается Yes.

Параметр RemovableMedia указывает, возможно ли извлечение устройства хранения. Необходимо для ленточных устройств, приводов оптических дисков и т.д. Для файлов устанавливается в значение No.

...

Настройка File Daemon

  • Перейдём к настройке File Daemon на рабочей станции bakula3.my.dom.

...

  • На машине, где будет File Daemon следует удалить пакет bacula-sd:

...

  • Теперь запустим все компоненты соответствующими командами, данными на соответствующих серверах::

...

Дополнительная информация

Настройка системы резервного копирования bacula с описанием функций представлена, например, в следующих руководствах:

...