Сергей Яремчук
Система резервирования информации AMANDA считается одной из лучших среди
бесплатных. Но многих удерживают от ее использования два фактора: мнимая
сложность в настройках и то, что она работает только с ленточными накопителями.
Попробуем доказать необоснованность таких заблуждений.
Проект AMANDA, или Advanced Maryland Automatic Network Disk Archiver,
стартовал в 1992 году в департаменте компьютерных технологий университета
Maryland США, под руководством Джеймса да Сильва (James da Silva), когда
потребовался инструмент для резервирования информации с многочисленных
клиентских систем на единственный сервер. Постепенно проект утратил поддержку в
родных стенах, и исходные тексты были перемещены на Sourceforge [2].
В настоящее время AMANDA разрабатывается многими добровольцами, и хотя не
заявлена лицензия GNU GPL, любой желающий может модифицировать код по своему
усмотрению, распространять и продавать, при условии что авторство будет
сохранено.
Основные характеристики
AMANDA является удобной надстройкой к стандартным UNIX-программам
dump/restore, GNU tar и некоторым другим. Поэтому ее основные характеристики
следует рассматривать исходя из возможностей базовых утилит. Ведь dump понимает
только файловые системы ext2/3, с ReiserFS, Reiser4 и XFS он не дружит.
При попытке выполнить резервирование с помощью
dump на такой файловой системе вы получите что-то вроде:
/dev/hda5: Bad
magic number in super-block
while opening
filesystem
При работе с XFS dump в AMANDA подменяется другой
утилитой – xfsdump, работающей в паре с xfsrestore. А вот файлы с ReiserFS
можно резервировать с помощью GNU-tar, к тому же tar различает метки времени и
при архивировании позволяет исключить отдельные файлы и каталоги.
Есть еще одна особенность, dump может
архивировать разделы без их предварительного монтирования, работает dump
быстрее tar, но копию «живой» системы с его помощью создавать рискованно. А вот
если создается копия с tar, то такой раздел должен быть предварительно смонтирован.
Последние версии AMANDA могут создавать резервные
копии информации с компьютеров под управлением Windows посредством Samba либо с
помощью клиента, компилированного под cygwin.Сравнить основные возможности
AMANDA с другими системами резервного копирования вы можете в статье [3].
AMANDA работает по клиент-серверной схеме. На
сервере запускается команда amdump с указанием задания на резервирование. В
задании указывается: источник данных, расположение клиента, отвечающего за
создание резервной копии, а также параметры создания резервной копии. Клиент
может быть установлен на одном компьютере с сервером либо на всех компьютерах,
которым требуется архивация. В первом случае для доступа к компьютерам
используются все доступные методы аутентификации: Kerberos 4/5, OpenSSH, rsh,
пароль Samba. В последней версии добавились еще два: bsdtcp и bsdudp.
Во втором случае на клиенте создается специальный
файл .amandahosts, в котором записаны системы, которые могут к нему обращаться
за данными. Клиент ожидает подключение сервера на 10080 UDP-порту или
10081/tcp, если используется Kerberos – kamanda, слушая его посредством
inetd/xinetd. Если аутентификационная информация его удовлетворяет, то для
передачи данных открывается новое соединение. При этом используется свой протокол,
работающий поверх UDP или TCP. Все настройки параметров резервирования
производятся на сервере. Хотя в последней на момент написания статьи версии
AMANDA 2.5.1 появился и необязательный клиентский конфигурационный файл
amanda-client.conf, но основное его назначение – безопасное восстановление
информации с помощью утилиты amrecover.
AMANDA поддерживает шифрование информации как на
клиенте, так и на сервере, для этих целей используется несимметричный GPG или
симметричный amcrypt-алгоритм. Гибко реализовано сжатие информации, это можно
произвести как на клиенте, так и на сервере. Если сжимать информацию на
клиенте, это уменьшит нагрузку на сеть, если на сервере, то снизит нагрузку на
маломощную машину клиента. Резервирование можно настроить в пределах одной
конфигурации, но если на сервере имеются несколько устройств архивации,
необходимо использовать несколько независимых конфигураций. Посредством AMANDA
можно реализовать полное или инкрементное резервирование информации.
AMANDA изначально построена и оптимизирована для
работы с ленточными накопителями, но путем несложных манипуляций можно в
качестве источника хранения использовать раздел жесткого диска, CD/DVD и Zip
или раздел Samba. Причем раздел диска может быть размечен на несколько частей,
имитирующих несколько лент.
Процессом резервирования можно руководить
вручную, хотя обычно его запускают с помощью cron. Результат операции будет
записан в журнал, также возможно и отправление итогового e-mail сообщения.