This version of the page http://www.colocall.net/backup/?quickstart (0.0.0.0) stored by archive.org.ua. It represents a snapshot of the page as of 2014-01-04. The original page over time could change.
ColoCall | Система резервного копирования


Система резервного копирования

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

Данное руководство пошагово описывает настройку и подготовку UNIX-системы для работы с сервисом резервного копирования с помощью утилиты rbs. В примере будем рассматривать ОС FreeBSD (для других UNIX-систем настройка будет производиться подобным образом).

Итак, прежде всего, Вам нужно понять, какие данные (файлы и директории) Вам необходимо резервировать. Это могут быть как системные конфигурационные файлы, так и файлы веб-сервера и прочие файлы на Вашем сервере.

Далее, будем исходить из того, что данное резервирование будет производиться регулярно (т.е. в автоматическом режиме, с помощью вызова утилиты из crontab'а). Для ручного режима процесс резервирования проще производить в интерактивном режиме работы утилиты rbs. Для автоматического режима желательно, чтобы утилита запускалась от имени системного пользователя, который обладает минимумом прав, достаточных для чтения данных, которые необходимые резервировать. Другими словами, желательно создать отдельного пользователя (например, backup), из-под которого будут резервироваться данные. Использовать запуск утилиты от суперпользователя root нежелательно (в целях безопасности).

Исходя из описанного выше, данный пользователь backup должен входить в те группы, которым принадлежат резервируемые данные. Например, для ОС FreeBSD это могут быть группы wheel, www,.. При этом пользователь backup сможет читать эти данные, но не изменять их.

При заведении пользователя backup он должен иметь домашнюю директорию (поскольку в директории ~backup/.ssh будут храниться ssh-ключи, необходимые для подключения к backup-серверу). При этом, в целях безопасности, для этого пользователя пароль можно установить в "*" и отключить shell.

После заведения системного пользователя backup, Вам необходимо в его домашней директории ~backup разместить утилиту rbs и конфигурационный файл. Внимание: утилита и её конфигурационный файл должны располагаться в одной директории. Далее нужно провести настройку утилиты (произвести изменения в конфигурационном файле). Это можно выполнить вручную с помощью любого текстового редактора (отредактировать файл rbs.conf) или с помощью утилиты rbs. Перед запуском утилиты rbs не забудьте установить для нее режим доступа 755 (chmod 755 rbs).

Для конфигурирования с помощью утилиты rbs запустите её (перед этим нужно "стать" пользователем backup с помощью su -m backup) и войти в первый пункт меню Configure program. Приведем лишь параметры, которые необходимо изменить (детальное описание находится во встроенной справке в утилите - шестой пункт меню Help):

Настройки SSH-cоединения (Configure program -> SSH):

  • Store private key file name
  • Restore private key file name
  • SSH key type (опционально - при использовании версии SSH-протокола 1 - тип rsa1, при версии 2 - rsa или dsa)
  • Directory to save public keys

Настройки шифрования данных (Configure program -> OpenSSL):

  • Path to SSL key file

После выполнения изменений их необходимо сохранить (Save changes) и перейти к генерации SSH-ключей двух соединений: резервирования данных (store-key) и получения данных с backup-сервера (restore-key) - третий пункт меню - SSH keys.

Сгенерировав SSH-ключи, публичные их части (которые сохраняются в директории, указанной при конфигурации (например, ~backup/ssh-public)) нужно передать нам (пока по электронной почте), как это описано на основной странице.

После получения от нас подтверждения о настройке Вашего аккаунта на нашем backup-сервере, Вы можете проверить оба SSH-соединения (Configure program -> Make test connection). При первом запуске тестового соединения возникнет сообщение о том, что хост backup.colocall.net не найден в файле ~backup/.ssh/known_hosts и для его добавления нужно ввести yes.

При успешной настройке Вы должны увидеть сообщения вида

SSH store connection OK
SSH restore connection OK

После настроек SSH-соединенй необходимо создать файл для шифрования данных с помощью openssl. Все данные перед передачей на backup-сервер шифруются, так что за безопасность хранимых на backup-сервере данных Вы можете не переживать. А вот позаботиться о сохранности SSL-ключа (файла) в недоступном месте следует не забыть. Также учтите, что при потере данного ключа Вы не сможете восстановить данные с backup-сервера.

После генерации SSL-ключа можно приступить непосредственно к редактированию списка файлов и директорий для резервирования (Configure program -> Backup tasks). Надеемся, Вы поймете как редактировать задания. Кратко опишем параметры заданий:

  • Backup name - имя бэкапа на сервере (фактически имя архива с данными).
  • Include files - имена файлов и директорий для резервирования (можно использовать bash-маски вида *.txt и т.п.). При указании директории - резервируется все её содержимое.
  • Exclude files - файлы и директории, которые не нужно резервировать (можно использовать bash-маски вида *.core и т.п.). Данная опция полезна для того, чтобы не резервировать те файлы, в которых нет необходимости (например, старые версии файлов по маске *.old).
  • Compression method и Compression level - метод и степень компрессии данных - для сжатия данных и уменьшения занимаемого архивом места на backup-сервере.

После редактирования/создания заданий, можно протестировать, как будет работать резервирование. Для этого зайдите в четвертый пункт главного меню (Backup) и выберите необходимое задание для резервирования. При успешном резервировании Вы увидите сообщение вида

123456 bytes uploaded successfully

При операции резервного копирования на консоль могут писаться некоторые сообщения от внешних программ, в частности утилиты tar (например tar: ...: could not open file: Permission denied). Это означает, что у текущего пользователя не хватает прав на чтение указанного файла или директории и необходимо каким-то образом из предоставить (например, включив его в дополнительную пользовательскую группу).

Если все вышеописанные операции Вы прошли успешно, для автоматического резервирования данных достаточно прописать в crontab'е пользователя backup команду вида

/home/backup/rbs store ИМЯ_ЗАДАНИЯ

где ИМЯ_ЗАДАНИЯ - это название задания - цифра от 2 до 9 или латинская буква от a до z. Данная цифра или буква находится в названии секции из конфигурационного файла rbs.conf. При выполнении так называемого основного задания (секция [backup]) параметр ИМЯ_ЗАДАНИЯ можно не указывать (ему соответствует цифра 1).

Примеры строк запуска утилиты в пакетном режиме:

/home/backup/rbs store
/home/backup/rbs store 2
/home/backup/rbs store c

Восстанавливать данные удобнее всего в интерактивном режиме. Подробное описание данной операции можете найти во встроенной в утилиту справке.