Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
serverguide-precise-ru.pdf
Скачиваний:
77
Добавлен:
03.05.2015
Размер:
1.86 Mб
Скачать

Резервное копирование

3. Bacula

Bacula — это программа резервного копирования, позволяющая вам сохранять, восстанавливать и проверять данные через вашу сеть. Для Bacula существуют клиенты под Linux, Windows и Mac OS X, что превращает её в кросс-платформенное сетевое решение.

3.1. Обзор

Bacula Bacula состоит из нескольких компонентов и сервисов для управления тем, какие файлы сохранять и где хранить резервные копии:

Bacula Director: сервис, который управляет всеми операциями резервного копирования, восстановления, проверки и архивации.

Bacula Console: приложение, позволяющее взаимодействовать с Director. Существует три версии Console:

текстовая версия, основанная на командной строке.

графический пользовательский интерфейс (GUI) для Gnome, основанный на GTK+.

графический интерфейс на базе wxWidgets.

Bacula File: программа, известная также под названием Bacula Client. Это приложение устанавливается на компьютерах, на которых производится резервное копирование, и оно отвечает на данные, отправленные по запросу Director.

Bacula Storage: программа, которая выполняет хранение и восстановление данных на физических носителях.

Bacula Catalog: отвечает за поддержку файловых индексов и томов баз данных для всех сохраняемых фалов, допуская быстрое нахождение и восстановление сохраненных файлов. Catalog поддерживает три различных базы данных: MySQL, PostgreSQL и SQLite.

Bacula Monitor: позволяет отслеживать работу Director и сервисов File и Storage. На данный момент Monitor доступен только в виде GTK+ GUI приложения.

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

3.2. Установка

При использовании MySQL или PostgreSQL в качестве базы данных, вам уже должны быть доступны эти сервисы.Bacula не будет устанавливать их для вас.

351

Резервное копирование

Существует несколько пакетов, содержащих различные компоненты Bacula. Для установки Bacula введите в терминале:

sudo apt-get install bacula

При установке по умолчанию пакет bacula будет использовать базу данных

MySQL для Catalog. Если вы хотите использовать SQLite или PostgreSQL, установите соответственно пакет bacula-director-sqlite3 или bacula-director- pgsql.

В процессе установки у вас спросят данные об администраторе базы данных и владельце базы данных bacula. Администратор базы данных требуется для получения необходимых прав на создание базы данных. Дополнительную информацию смотрите в разделе Раздел 1, «MySQL» [237].

3.3. Конфигурация

Файлы настройки Bacula форматированы на основе ресурсов, включающихdirectives, обрамлённые фигурными скобками «{}».Каждый компонент Bacula имеет индивидуальный файл в каталоге /etc/bacula.

Различные компоненты Bacula должны авторизовывать себя друг для друга. Это решается использованием директивы password. Например,

пароль в ресурсе Storage файла /etc/bacula/bacula-dir.confдолжен

соответствовать паролю ресурса Director файла /etc/bacula/bacula-sd.conf.

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

потребуется изменить имя этого задания на что-то более осмысленное. Для переименования отредактируйте файл /etc/bacula/bacula-dir.conf:

#

#Define the main nightly save backup job

#By default, this job will back up to disk in Job {

Name = "BackupServer" JobDefs = "DefaultJob"

Write Bootstrap = "/var/lib/bacula/Client1.bsr"

}

Впримере имя задания изменено на BackupServer в соответствии с сетевым именем машины. Можете заменить «BackupServer»

на соответствующее сетевое имя вашего сервера или другое описательное название.

352

Резервное копирование

Требуется использовать Console для запросов к Director по поводу заданий, но чтобы non-root мог использовать Console, он должен быть включён в группу bacula. Чтобы добавить пользователя в группу bacula, введите следующую команду в терминале:

sudo adduser $username bacula

Замените $username на актуальное имя пользователя. Также, если вы добавили в группу текущего пользователя, вам придется выйти из системы и зайти снова, чтобы применились новые права доступа.

3.4. Создание резервной копии локального сервера

Данная секция описывает процесс создания архивной копии единственного сервера на магнитной ленте.

• Для начала требуется настроить устройство хранения. Отредактируйте /

etc/bacula/bacula-sd.conf, добавив:

Device {

 

 

Name = "Tape Drive"

 

Device Type = tape

 

Media Type = DDS-4

 

Archive Device

= /dev/st0

 

Hardware end of medium = No;

 

AutomaticMount

= yes;

# when device opened, read it

AlwaysOpen = Yes;

 

RemovableMedia

= yes;

 

RandomAccess =

no;

 

Alert Command = "sh -c 'tapeinfo -f %c | grep TapeAlert'"

}

Этот пример для ленточного устройства DDS-4. Измените «Media Type» и «Archive Device» в соответствии с вашим оборудованием.

Вы также можете раскомментировать в файле один из нескольких других примеров.

После редактирования файла /etc/bacula/bacula-sd.conf сервис Storage требуется перезагрузить:

sudo /etc/init.d/bacula-sd restart

Теперь добавьте Storage ресурс в /etc/bacula/bacula-dir.conf чтобы

использовать новые устройства:

# Definition of "Tape Drive" storage device Storage {

353

Резервное копирование

Name =

TapeDrive

 

# Do not use "localhost" here

 

Address = backupserver

# N.B. Use a fully qualified name here

SDPort

= 9103

 

Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyjc" Device = "Tape Drive"

Media Type = tape

}

Директива Address должна быть полностью квалифицированным доменным именем (FQDN) сервера. Замените backupserver на актуальное сетевое имя.

Так же, убедитесь, что Пароль директивы соответствует паролю строки в

/etc/bacula/bacula-sd.conf.

Создайте новый Набор файлов, который определит какие директории добавить для резерного хранения:

# Набор файлов для архивации локального сервера. FileSet {

Name = "LocalhostFiles" Include {

Options { signature = MD5 compression=GZIP

}

File = /etc File = /home

}

}

Этот FileSet задает резервное копирование для каталогов /etc и / home. Директивы ресурса Options настраивают FileSet на создание контрольных сумм MD5 для каждого сохраненного файла и сжатие файлов с использованием GZIP.

• Далее создайте новое расписание для задачи резервирования

# Расписание архивации локального сервера -- Ежедневно. Schedule {

Name = "LocalhostDaily" Run = Full daily at 00:01

}

Задача будет запускаться каждый день в 00:01 или 12:01. Доступно ещё много опций расписания

• Наконец, создайте Задачу:

354

Резервное копирование

# Архивация локального сервера. Job {

Name = "LocalhostBackup" JobDefs = "DefaultJob" Enabled = yes

Level = Full

FileSet = "LocalhostFiles"

Schedule = "LocalhostDaily" Storage = TapeDrive

Write Bootstrap = "/var/lib/bacula/LocalhostBackup.bsr"

}

Задача будет делать полное резервное копирование каждый день на ленточный накопитель.

На каждую ленту следует установить Метку. Если текущая лента не имеет метки, Bacula известит вас по электронной почте. Для того, чтобы пометить ленту, используя Console, введите следующее в терминале:

bconsole

• В командной строке Bacula введите:

метка

• Вам предложат выбрать один из ресурсов Storage:

Автоматически выбран каталог: MyCatalog Используется каталог "MyCatalog" Автоматически выбран каталог: MyCatalog Using Catalog "MyCatalog"

Возможные средства резервного сохранения:

1:Файл

2:Стриммер

Выберите средство резервного сохранения (1-2):2

• Введите новое название Volume:

Введите имя нового тома: Воскресенье

Defined Pools:

1:Default

2:Scratch

Замените Sunday желаемой меткой.

• Теперь выберите Pool:

355

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]