Какова в действии система резервирования AMANDA::Журнал СА 1.2007
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
20.12.2019г.
Просмотров: 5101
Комментарии: 0
Dr.Web: всё под контролем

 Читать далее...

04.12.2019г.
Просмотров: 6343
Комментарии: 0
Особенности сертификаций по этичному хакингу

 Читать далее...

28.05.2019г.
Просмотров: 7599
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 7922
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 6979
Комментарии: 0
Django 2 в примерах

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Какова в действии система резервирования AMANDA

Архив номеров / 2007 / Выпуск №1 (50) / Какова в действии система резервирования AMANDA

Рубрика: Администрирование /  Администрирование

Сергей Яремчук СЕРГЕЙ ЯРЕМЧУК, фрилансер. Автор более 800 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС

Какова в действии система резервирования AMANDA

Система резервирования информации 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 сообщения.

Устанавливаем AMANDA

Настроить AMANDA для работы со стриммером просто, но в небольших и средних организациях не всегда есть средства, да и необходимость в покупке дорогого устройства. Лучше использовать жесткий диск или копировать информацию на CD/DVD-диски. Вот этим мы и займемся. Я использовал дистрибутив KUbuntu 6.06 LTS. Вы возразите, что это дистрибутив для настольного применения, но именно в процессе настройки AMANDA в KUbuntu пришлось столкнуться с ситуацией, которой не было в других дистрибутивах.

Исходные тексты AMANDA и прекомпилированные пакеты для Red Hat Enterprise Linux 3.0/4.0, Fedora Core 3/4/5, SUSE Linux и Enterprise Server 10 и клиент для Windows можно получить с [5]. В репозитарии Ubuntu также есть пакеты AMANDA, но на момент написания статьи это была более ранняя версия 2.4.5p1. Также в репозитарии имеется и еще один компонент будущей системы архивирования CDRW-Taper [4], который представляет собой замену стандартному компоненту AMANDA – taper, делая возможным запись резервных копий вместо ленты на носители СD-RW, DVD+R/W или DVD-R/W. В документации AMANDA описано, как использовать вместо ленты жесткий диск, но CDRW-Taper также с этим справляется на отлично, к тому же при его использовании не требуется никаких особых манипуляций.

Все это можно установить одной командой^

$ sudo apt-get update

$ sudo apt-get install amanda-server cdrw-taper

И если планируется резервировать информацию и сервера, а также Samba-ресурсов, то добавляем и amanda-client.

Если планируется установка с исходных текстов, то в общем случае никаких параметров задавать не надо, deb-пакет сервера AMANDA собран с такими параметрами:

  • ./configure--prefix=/usr --bindir=/usr/sbin--mandir=/usr/share/man --libexecdir=/usr/lib/amanda--enable-shared --sysconfdir=/etc --localstatedir=/var/lib  --with-debugging= /var/log/amanda;
  • --with-gnutar-listdir=/var/lib/amanda/gnutar-lists – расположение файла, в который заносится информация для GNU-tar, на клиентском компьютере;
  • --with-index-server=localhost – сервер хранения индексов;
  • --with-user=backup --with-group=backup – пользователь и группа, от имени которых будет работать AMANDA;
  • --with-bsd-security – активация rsh/rlogin;
  • --with-amandahosts – использование специального файла .amandahosts вместо .rhosts или /etc/hosts.equiv;
  • --with-smbclient=/usr/bin/smbclient – расположение файла smbclient, также возможно понадобится опция --with-samba-user для указания пользователя Samba;
  • --with-tcpportrange=50000,50100 --with-udpportrange= 840,860 – привязка TCP- и UDP-портов в пределах указанных значений, по умолчанию ограничений нет.

Кроме того, возможны параметры --with-client-only (--without-server) для построения только клиентской системы или --with-server-only (--without-client) – только серверного.

Если в качестве транспорта или аутентификации планируется использовать защищенные протоколы, то добавьте параметры--with-krb4-security, --with-krb5-security, --with-rsh-security, --with-ssh-security, --with-bsdtcp-security или --with-bsdudp-security.

После конфигурирования стандартная установка.

Для работы CDRW-Taper понадобится Perl, пакет cdrtools, и если вы планируете использовать DVD-диски, то и dvd+rw-tools, а также для отправки отчетов по электронной почте и SMTP-сервер. В качестве последнего вы можете использовать Sendmail, QMail или Postfix. CDRW-Taper является Perl-скриптом.

Вся установка производится вручную. Сначала переименовываем файл taper, находящийся в каталоге, на который указывает переменная libexecdir. То есть в случае с KUbuntu /usr/lib/amanda/ на taper.orig:

$ sudo /usr/lib/amanda/taper /usr/lib/amanda/taper.orig

Затем в этот же каталог необходимо поместить Perl-скрипт taper, а также файл taperlib.pm, а amlabel-cdrw – в каталог, в котором находится файл из комплекта AMANDA amlabel. В нашем случае это /usr/sbin. В документации сказано, что следует заглянуть внутрь taperlib.pm и amlabel-cdrw и убедиться, все ли переменные соответствуют системному окружению. В случае с Kubuntu ничего изменять не пришлось. Единственное проверьте, чтобы каталог, в котором лежит taperlib.pm, был виден в переменной Perl @INC. Перед установкой добавьте пользователя и группу, от имени которых будет работать AMANDA. Этот пользователь должен также быть включенным в группу disk.

Файлы настроек AMANDA

Основной файл настроек называется amanda.conf, в нем содержатся настройки задания. AMANDA будет его искать в каталоге --sysconfdir=/etc, то есть /etc/amanda. В этом случае команду для резервирования amdump, да и остальные можно будет запускать без каких-либо дополнительных параметров. Считается хорошим тоном для каждого задания на резервирование создавать свой подкаталог в /etc/amanda.

В Debian и дистрибутивах, от него произошедших, по умолчанию создается подкаталог /etc/amanda/DailySet1, содержащий примеры конфигурационных файлов. Его я и буду использовать в примере.

Каждый подкаталог хранит настройки отдельного задания, то есть в том случае, если у вас два стриммера, создаются два каталога с настройками и так далее. К команде в этом случае добавляется название каталога. Кроме него, в этом же каталоге находится файл disklist, в котором указываются ресурсы, которые должны резервироваться при выполнении этого задания, и файл tapelist с информацией о лентах. Последний файл необходимо создать, заполняется он автоматически или с помощью утилит amlabel и amlabel-cdrw.

$ sudo touch /etc/amanda/daily/tapelist

$ sudo chown backup:backup /etc/amanda/daily/tapelist

Конфигурационный файл amanda.conf

Рассмотрим пример файла /etc/amanda/DailySet1/amanda.conf применительно к использованию CDRW-Taper.

org "DailySet1"

# Название организации будет использовано в отчете, будет видно в поле «Subject:»,

# поэтому есть смысл проставить имя задания

mailto "grinder"

# Пользователь или адрес, куда будет отправлено e-mail-сообщение

dumpuser "backup"

# Пользователь, от имени которого будет выполняться задание

inparallel 4

# Максимальное количество параллельно резервируемых ресурсов,

 максимальное число 63 может быть увеличено в параметре

# MAX_DUMPERS в server-src/driverio.h

netusage  600

# Максимальная сетевая загрузка в Кбайт в сек.

dumpcycle 1 weeks

# Количество дней, через которое производится полное резервирование,

# по умолчанию 10 дней, если установить в 0, то полное резервирование

# будет производиться при каждом запуске

runspercycle 5

# Необязательный параметр показывает количество запусков

# amdump в одном dumpcycle, ведь в выходные программу

# резервирования запускать не обязательно

tapecycle 9 tapes

# Общее число лент, используемых при резервировании,

# в нашем случае это DVD-диски. На каждый день dumpcycle

# минимум один диск + резерв, чтобы не перекрывались

# до следующего полного копирования

bumpsize 20 MB

# Минимальный порог для перехода на следующий инкрементный

# уровень (по умолчанию 10 Мб), взамен возможно использование

# bumppercent для указания размера в процентах

bumpdays     1

# Позволяет устранить избыточность, минимальное количество

# дней для перехода на следующий инкрементный уровень,

# значение по умолчанию 2 дня

#tpchanger "no-changer"

# Интересная опция, позволяющая подменить или изменить

# настройки ленточного накопителя  (tape changer).

# В каталоге /vat/lib/amanda/ доступно 13 обработчиков,

# например, chg-disk позволяет вместо ленты писать

# на жесткий диск, но нам он сейчас не нужен.

# Далее параметры идут специфично для CDRW-Taper

tapedev   "/media/cdrom0"

# Механизм выбора ленты, но в нашем случае это каталог,

# куда монтируется CD/DVD-устройство, совпадающий с /etc/fstab

rawtapedev "/dev/hdc:0,0,0"

# Указывает на реальный файл устройства, в случаес CDRW-Taper,

# плюс номер устройства в понимании cdrecord, т.е. cdrecord -scanbus 

tapetype DVD

# Тип устройства, его описание дается в отдельной секции файла

labelstr "^local[0-9]*$"

# Регулярное выражение, соответствующее меткам, которыми

# будут помечаться диски/ленты, т.е. в этом случае

# возможно 11 меток/дисков вида local, local0 – local9.

# Обратите внимание, что в метке не допускаются пробелы,

# табуляция и некоторые другие символы

diskdir "/var/cache/cdrw-taper "

# Каталог, куда будут складываться резервируемые копии файлов

disksize 10 GB

# Сколько места можно использовать в diskdir,

# лучше когда в него помещается вся информация dumpcycle,

# тогда резервные файлы можно будет хранить и там, не удаляя

infofile "/var/lib/amanda/DailySet1/curinfo"

# База имен файлов

logfile  "/var/log/amanda/DailySet1/log"

# Журналы

indexdir "/var/lib/amanda/DailySet1/index"

# Индексные файлы

# tapetypes

# Устройства хранения информации, описывается скорость, размер блока и объем

define tapetype HP-DAT {

    comment "DAT tape drives"

    length 1900 mbytes        

    filemark 100 kbytes       

    speed 500 kbytes

}

# Для DVD в документации ничего не сказано, я записал так

define tapetype DVD {

    comment "DVD-RW"

    length 4700 mbytes

    speed 1385 kbytes

}

Описания dumptype в amanda.conf

Дальше в файле идут описания типов резервирования, которые будут использоваться в файле disklist. Каждое описание может содержать до 23 параметров.

Привожу часть из них, чтобы показать некоторые возможности AMANDA:

  • auth – аутентификация по умолчанию bsd, возможны krb4, krb5 и ssh.
  • comment – комментарий.
  • comprate – степень сжатия, отдельно для полного и для инкрементного. По умолчанию «comprate 0.50, 0.50», если второй цифры нет, то используется первая.
  • compress – конкретизируются параметры сжатия. Названия говорят сами за себя. Например, по умолчанию используется client fast, есть none, server server best и другие.
  • program – программа для создания копии, dump по умолчанию, возможно GNUTAR.
  • encrypt – шифрование файлов: none (умолчание), client, server.
  • kencrypt – шифрование потока.
  • vexclude – список шаблонов файлов, которые не будут резервироваться.
  • index – создание индекса файлов.
  • strategy – стратегия создания дампа:
    • standard – первая версия полная, последующие инкрементные;
    • nofull – всегда изменения;
    • noinc – всегда полный;
    • skip – пропуск;
    • incronly – только инкрементное, но в отличие от nofull полная копия при первом запуске не создается.

Названия заготовок также говорят сами за себя.

define dumptype always-full {

    comment "Full dump of this filesystem always"

    options no-compress

    priority high

    dumpcycle 0

    maxcycle 0

}

define dumptype comp-user-tar {

    program "GNUTAR"

    comment "partitions dumped with tar"

    options compress-fast, index, exclude-list "/etc/amanda/exclude.gtar"

    priority medium

}

define dumptype comp-user {

    comment "Non-root partitions on reasonably fast machines"

    options compress-fast

    priority medium

}

Настройка ресурсов для архивирования

Ресурсы для архивирования описываются в другом файле – disklist. Каждая запись состоит из трех полей. В первом поле – имя узла, отвечающего за создание архива, причем рекомендовано применение полного имени. Если архивируется ресурс Samba, то здесь указывают узел, на котором установлен клиент AMANDA, работающий с smbclient. Если это локальная система, также необходимо использовать реальное имя системы, отличное от localhost.

Во втором поле – архивируемый ресурс, здесь может использоваться имя раздела диска (hda3), имя устройства (/dev/hda3), но лучше использовать имена каталогов файловой системы (/home), так как при переконфигурации диска не потребуется изменение настроек AMANDA и с tar проблем не будет. В случае сетевого UNIX/Samba ресурса следует использовать схему //имя_системы/ресурс – //host1/C$.

И последнее поле – тип архивирования, взятый с amanda.conf, его название должно быть правильным, иначе вы получите ошибку.

Например:

client1           //client1/backupc   comp-user-tar

amandaserver     //windows1/C$       comp-user-tar

amandaserver     /home               comp-user-tar

За создание архива ресурса //client1/backupc отвечает компьютер client1, именно к нему будет отправлен запрос при запуске amdump. Архивирование //windows1/C$ и /home будет производить сам сервер, поэтому на нем также должен быть установлен клиент AMANDA.

Учтите, что такая запись работать не будет:

amandaserver     /dev/hda5           comp-user-tar

Ошибка в журнале описана так:

sendsize[5573]: time 0.151: /bin/tar: hda9: Cannot chdir: No such file or directory

sendsize[5573]: time 0.152: /bin/tar: Error is not recoverable: exiting now

Описание типа comp-user-tar предполагает использование tar, а он работает только со смонтированными ресурсами. Замените на comp-user, который подразумевает dump, или укажите вместо файла устройства /dev/hda5 точку монтирования. Для описания параметров доступа к Samba-ресурсам используется файл /etc/amandapass. В нем должно содержаться описание системы, пароль и опционально может быть указана рабочая группа. Примерно так:

//windows1/C$    p@ssw0rd            WORKGROUP

При стандартной (bsd) аутентификации доступа к UNIXсистемам применяется файл amandahosts, который является аналогом .rhosts только для AMANDA. По умолчанию этот файл должен находиться в домашнем каталоге пользователя backup – ~backup/.amandahosts. Но в большинстве дистрибутивов каталог пользователя AMANDA не создается, поэтому можно использовать /etc/amandahosts. Он состоит из строк, описывающих узлы и пользователя, который имеет к ним доступ, с версии 2.5.1 добавился и третий параметр – имя сервиса. Так, на клиенте этот файл будет выглядеть так:

amandaserver     backup amdump

На сервере:

client1    backup amindexd amidxtaped

amandaserver     backup amdump

# это для работы клиента на этом же узле

Если использовать в последнем примере вместо имени узла localhost.

localhost  backup       amdump

То клиент, запущенный на этом же компьютере, работать откажется, а в журнале появится такая запись:

amandad: time 0.003: bsd security: remote host localhost user backup local user backup

amandad: time 0.029: check failed: [access as backup not allowed from backup@localhost] amandahostsauth failed

Владельцем файлов amandahosts и amandapass должен быть пользователь backup, права доступа устанавливаются как 0600 или лучше 0400.

Настройка сетевых сервисов

Теперь осталось настроить сетевые сервисы. В первую очередь убеждаемся, что в файле /etc/services они записаны.

amanda     10080/udp

amandaidx  10082/tcp

amidxtape  10083/tcp

Далее необходимо настроить работу демонов, отвечающих за архивирование, через xinetd. На клиенте это amandad, на сервере настраивается запуск демонов amindexd, amidxtaped, отвечающих за создание индексов и работу с устройствами хранения. Для восстановления информации потребуется и работа amandad на сервере. Заносим в файл /etc/xinetd либо в отдельные файлы в каталоге /etc/xinet.d/ информацию о сервисах. Здесь также, начиная с версии 2.5.1, есть изменения, направленные на усиление безопасности.

Так, на клиенте файл должен иметь примерно такой вид:

service amanda

{

    only_from    = amandaserver      # добавилось в 2.5.1

    socket_type  = dgram

    protocol     = udp

    wait         = yes

    user         = backup

    group        = backup

    groups       = yes

    server       = /usr/lib/amanda/amandad

    server_args  = -auth=bsd amdump

    disable      = no

}

На сервере параметр server_args должен дополнительно включать amindexd amidxtaped, а only_from – описания всех клиентов. Привожу пример для bsdtcp аутентификации.

service amanda

{

    only_from    = client1 client2 amandaserver

    socket_type  = stream

    protocol     = tcp

    wait         = no

    user         = amandabackup

    group        = disk

    groups       = yes

    server       = /usr/lib/amanda/amandad

    server_args  = -auth=bsdtcp amdump amindexd amidxtaped

    disable      = no

}

Кстати, при установке с помощью пакетов был создан конфигурационный файл для inetd с необходимыми записями. Полный комплект. Но при попытке заставить перечитать xinetd свои конфигурационные файлы «/etc/init.d/xinetd reload» выяснилось, что хотя в системе автоматически созданы все полагающиеся каталоги и файлы как для xinetd, так и inetd, но они сами в системе не установлены. Странно, что при построении зависимостей об этом не позаботились. Поэтому в Ubuntu xinetd необходимо проверить его наличие и при отсутствии – установить.

С AMANDA закончили.

Настройка CDRW-Taper

Серверы уже работают и могут выполнять свою функцию, остался CDRW-Taper. Его конфигурационный файл называется /etc/cdrw-taper.conf, хотя можно обойтись и без него, указав все настройки непосредственно в taperlib.pm и amlabel-cdrw. Но это неправильно.

# Местонахождение конфигурационных файлов AMANDA

$CONFIG_ROOT = "/etc/amanda"; 

# Каталог, в котором создаются промежуточные файлы:

# diskdir в amanda.conf

$DUMP_DIR = "/var/cache/cdrw-taper";

# 1 – удалять или 0 – оставлять промежуточные файлы

# после записи на CD/DVD-диск

$DELETE_DIRS = 0;

# При 1 использование не перезаписываемого диска CD/DVD-R

$WRITE_NON_ERASABLE = 0;

# Устройство CD/DVD-RW

# $CD_DEVICE_RE = "/dev/s(cd|g)\\d+:?.*";

# $CD_DEVICE_RE = "^/dev/(ide|scsi)/host\\d/bus\\d/target\\d/lun\\d/(cd|generic):";

$CD_DEVICE_RE = "/dev/hdc";

# Размер блока

$BLOCKSIZE = 2048;

# Блоков в устройстве

# (650MB CDRW: 650 MB = 650 * 1024k / 2k = 332800)

#$MEDIABLOCKS = 332800;

# (700MB CD-RW: 700 MB = 700 * 1024k / 2k = 358400)

$MEDIABLOCKS = 358400;

# Blocks per media (DVD+RW: 4700 MB = 4700 * 1000 * 1000 / 2k = 2294921)

$MEDIABLOCKS = 2294921;

# Названия исполняемых файлов

$MOUNT          = "mount";

$UMOUNT         = "umount";

$CDRECORD       = "cdrecord";

$MKISOFS        = "mkisofs";

$SENDMAIL       = "/usr/sbin/sendmail";

$GROWISOFS      = "growisofs";

$DVDRWMEDIAINFO = "dvd+rw-mediainfo";

# Указание, что все загружено успешно

1;

Создаем каталог для промежуточных файлов /var/cache/cdrw-taper.

$ sudo mkdir /var/cache/cdrw-taper

$ sudo chown backup:backup /var/cache/cdrw-taper

Как проверить настройки

В комплекте AMANDA идет несколько утилит, позволяющих проверить настройки и работу отдельных компонентов. Например, запуск amcheck без параметров позволит проверить настройки сервера и доступность клиентских систем, а также ресурсов на них. Выполняться они должны от имени пользователя backup.

$ sudo su backup -c "amcheck DailySet1"

Amanda Tape Server Host Check

-----------------------------

Holding disk /var/cache/cdrw-taper: 10952816 kB disk space

available, that's plenty

ERROR: /media/cdrom0: Permission denied

       (expecting a new tape)

NOTE: skipping tape-writable test

Server check took 0.004 seconds

 

Amanda Backup Client Hosts Check

--------------------------------

ERROR: grinder: [Can't open exclude file '/etc/amanda/exclude.gtar': No such file or directory]

Client check: 1 host checked in 0.148 seconds, 1 problem found

Первая ошибка «ERROR: /media/cdrom0: Permission denied» – результат адаптации AMANDA и ее утилит под работу со стриммерами. Поэтому с СD/DVD-дисками некоторые тесты не проходят. На нее внимание можно не обращать, система работала нормально, хотя ошибка постоянно выдавалась. Файл /etc/amanda/exclude.gtar описан в правиле архивирования. Даже если не планируется его использование, лучше его создать пустым, иначе в журналах она будет фигурировать постоянно. Запись «Holding disk» говорит о доступном месте в каталоге (разделе), в который будут складываться промежуточные файлы.

После редактирования файлов конфигурации следует проверять права доступа, например, такая ошибка говорит о том, что процесс не может получить доступ к файлу для записи:

ERROR: tape list /etc/amanda/DailySet1/tapelist: not writable

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

$ sudo su backup -c " amadmin  DailySet1 disklist"

line 18:

    host grinder:

        interface default

    disk /media/other:

        program "GNUTAR"

        exclude list "/etc/amanda/exclude.gtar"

        priority 1

        dumpcycle 28

        maxdumps 1

        maxpromoteday 10000

        bumpsize 15360

        bumpdays 1

        bumpmult 4.000000

        strategy STANDARD

        estimate CLIENT

        compress CLIENT FAST

        comprate 0.50 0.50

        auth BSD

        kencrypt NO

        holdingdisk YES

        record YES

        index YES

        skip-incr NO

        skip-full NO

Первое задание

Перед первым архивированием необходимо разметить DVD-диски в количестве, равном tapecycle. В AMANDA для этих целей используется утилита amlabel, но она CD-диски размечать не умеет. В CDRW-Taper для разметки есть своя утилита amlabel-cdrw. В качестве параметра она принимает название задания и метки соответствующей labelstr. Если попробовать другую метку, получите:

$ sudo /usr/sbin/amlabel-cdrw DailySet1 metka

taper: ERROR: Label metka does not match labelstring

"^local[0-9]*$".

$ sudo /usr/sbin/amlabel-cdrw DailySet1 local1

WARNING: /dev/hdc already carries isofs!

About to execute 'mkisofs -J -R -pad -quiet /tmp/amlabel-cdrw.6763 | builtin_dd of=/dev/hdc obs=32k seek=0'

/dev/hdc: "Current Write Speed" is 2.5x1385KBps.

builtin_dd: 192*2KB out @ average 0.0x1385KBps

/dev/hdc: flushing cache

/dev/hdc: stopping de-icing

/dev/hdc: writing lead-out

/dev/hdc: reloading tray

На диске сейчас записан единственный файл AMANDA_LABEL, содержащий строку local1. Повторяем эту операцию со всеми 9 дисками, меняя метку. Вся информация о дисках будет заноситься в файл tapelist. После первого диска запись будет такая:

00000000 local1 reuse

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

$ sudo su backup -c "amdump DailySet1"

После запуска этой команды в каталоге /var/cache/cdrw-taper должен появиться подкаталог local1 с такой структурой файлов внутри:

$ sudo ls -al /var/cache/cdrw-taper/local1

total 138260

drwx------ 2 backup backup      2048 2006-11-30 22:12 .

drwxr-xr-x 7 root   root         192 2006-10-28 19:23 ..

-rw------- 1 backup backup         7 2006-11-30 22:12 AMANDA_LABEL

-rw------- 1 backup backup 141575082 2006-11-30 22:12 grinder.hda9.0.dump.gz

-rw------- 1 backup backup       191 2006-11-30 22:12 grinder.hda9.0.info

Последовательно будут появляться и другие подкаталоги, но опять же всплыл еще один нюанс Ubuntu. Несмотря на то что dump упоминается в AMANDA как основная утилита, она также не была включена в зависимости и не устанавливается вместе с AMANDA. Результат такой:

sendsize[12307]: time 0.006: running "/sbin/dump 0Ssf 1048576 - /dev/hda9"

sendsize[12307]: time 0.010: exec /sbin/dump failed or no dump program available: No such file or directory

sendsize: time 0.010: pid 12309 finish time Thu Nov 30 21:16:59 2006

sendsize[12307]: time 0.011: running /usr/lib/amanda/killpgrp

Пришлось отдельно устанавливать и dump.

$ sudo apt-get install dump

По окончании создания архива, создается iso-образ, который автоматически записывается на DVD-диск. Если объем архива превышает для установленного в $MEDIABLOCKS типа дисков, будет создан следующий подкаталог. И так далее. Даже если при предыдущем архивировании не был занят весь объем, то для следующего задания будет задействован диск уже с другой меткой. Текущий затребуется для перезаписи, только когда пройдет полный круг. Может возникнуть ситуация, когда требуется перезаписать архив на болванку вручную. Сделать это просто. Например, так можно повторно записать архивы с метками local1 и local2.

$ sudo /usr/lib/amanda/taper DailySet1 -flush local1 local2

taper: pid 15001 executable taper version cdrw-taper-0.4

Flushed local1.

Done.

Обратите внимание, диски должны вставляться в такой же последовательности, как при вызове команды. Иначе вы получите ошибку.

$ sudo /usr/lib/amanda/taper DailySet1 -flush local local1

taper: pid 14954 executable taper version cdrw-taper-0.3

ERROR taper label on media in /dev/hdc:0,0,0 is not local

Cannot load media with label local!

Когда задание выполнено успешно, автоматизируем его запуск через cron.

$ sudo crontab -u backup -e

0 10 * * 1-5     /usr/sbin/amcheck -m DailySet1

45 0 * * 2-6     /usr/sbin/amdump DailySet1

Восстановление информации

Для восстановления информации служит утилита amrecover, с ее помощью можно восстанавливать как отдельные файлы, так и целые разделы. По характеру работы amrecover напоминает консольный ftp-клиент. Восстанавливать информацию может только пользователь с правами администратора, для которого в файле amandahostsauth также должна существовать запись. Иначе:

$ sudo amrecover

Password:

AMRECOVER Version 2.4.5p1. Contacting server on localhost ...

220 grinder AMANDA index server (2.4.5p1) ready.

500 Access not allowed: [access as backup not allowed from root@localhost] amandahostsauth failed 

При попытке зайти с правами backup, получим «amrecover must be run by root». Добавляем следующую строку в файл /etc/ amandahostsauth:

amandaserver  root  amindexd amidxtaped

Но для восстановления можно использовать запись с localhost:

localhost  root  amindexd amidxtaped

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

$ sudo amrecover DailySet1

AMRECOVER Version 2.4.5p1. Contacting server on localhost ...

220 grinder AMANDA index server (2.5.1p1) ready.

200 Access OK

Setting restore date to today (2006-12-07)

200 Working date set to 2006-12-07.

Scanning /var/cache/cdrw-taper...

  20061202142102: found Amanda directory.

# Это были найдены резервные файлы не удаленные с диска

200 Config set to DailySet1.

200 Dump host set to grinder.

Trying disk / ...

Trying disk rootfs ...

Can't determine disk and mount point from $CWD '/home/grinder'

amrecover> sethost localhost

# Выбираем узел, данные с которого собираемся восстанавливать

501 Host localhost is not in your disklist.

Trying host localhost ...

501 Host localhost is not in your disklist.

Trying host grinder ...

200 Dump host set to grinder.

# Записи localhost нет в disklist, но amrecover разобрался

amrecover>  setdisk /home

200 Disk set to /home.

# Выбираем восстанавливаемый раздел с узла. Если перейти

# каталог, занесенный в disklist перед запуском amrecover,

# «cd /home», то раздел будет выбран автоматически   

amrecover> ls

2006-12-02 .

2006-12-02 test_file

# Смотрим, что есть

amrecover> add test_file

Added / add test_file

# Добавляем файл в список восстановления, чтобы добавить

# все, ставим точку восстанавливаем

amrecover> extract

Extracting files from holding disk on host localhost.

The following files are needed: /var/cache/cdrw-taper/20061202142102/grinder._media_other.0

 

Restoring files into directory /home

Continue [?/Y/n]? y

 

Extracting from file /var/cache/cdrw-taper/20061202142102/grinder._media_other.0

./ test_file

amrecover> quit

200 Good bye.

В данном случае файл был найден на жестком диске, иначе вас попросят вставить CD/DVD с нужной меткой.

Итог

Как видите – AMANDA мощный и гибкий инструмент, который позволит вам выполнить любую задачу по резервированию важной информации. Поддержка разных платформ только добавляет ему преимуществ. Также отмечу отличную документацию, из которой вы подробно узнаете о работе всех компонентов AMANDA. Кстати, в файле using.txt найдете и главу из книги Джона Джексона (John R. Jackson) «UNIX Backup and Recovery», которая посвящена AMANDA (http://www.backupcentral.com/amanda.html).

  1. Сайт проекта AMANDA – http://www.amanda.org.
  2. Страница на Sourceforge – http://sourceforge.net/projects/amanda.
  3. Яремчук С. Обзор систем резервного копирования. //Системный администратор, № 9, 2006 г. – 22-29 с.
  4. Сайт проекта Amanda CDRW-Taper – http://www.tivano.de/software/amanda.
  5. Страница для закачки исходных текстов и прекомпилированных пакетов – http://www.zmanda.com/downloads.html.

Комментарии
 
  15.06.2015 - 01:05 |  frolpaxa

Вот тоже вкратце и с видео статья https://zefir.space/a/18/

Добавить комментарий

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

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru