Amanda
Категория: Резервное копирование | Автор: admin | 29-11-2009, 06:25 | Просмотров: 4436

Amanda (Advanced Maryland Automatic Network Disk Archiver — усовершенствованный автоматический сетевой дисковый архиватор Университета штата Мэриленд) — это сложная система сетевого резервного копирования, которая заменяет доморощенные сценарии, используемые многими компаниями и организациями. Она позволяет создавать архивы всех компьютерных систем в сети и помещать их на ленту через единственный накопитель на сервере. Amanda поддерживает большинство UNIX-систем и многие виды резервных носителей.

Система Amanda была написана Джеймсом да Сильвой (James da Silva) из Университета штата Мэриленд в 1991 г. Теперь ее сопровождением и доработкой занимается коллектив системных администраторов со всего мира. Последнюю информацию и исходные тексты можно получить по адресу www.amanda.com.

Сама по себе Amanda — это не программа, а оболочка, управляющая другими программами резервного копирования. В большинстве организаций она работает с системными командами dump и restore, но может также использовать программу gnutar и даже программу smbtar сервера Samba, установленного в NT-системах.

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

Другая прекрасная особенность системы — механизм управления лентами. Amanda записывает служебный заголовок на каждую ленту, поэтому никогда не затирает неправильную ленту. Кроме того, система управляет уровнями архивов, основываясь на параметрах конфигурации и заполненности ленты. Ведется список архивов, находящихся на каждой из лент, и можно распечатывать наклейки с информацией о содержимом лент (это оказывается очень кстати, если выходит из строя диск, включающий базу данных Amanda).

Amanda — одно из самых популярных бесплатных решений в области резервного копирования. Она установлена на 1500 серверах по всему миру. Amanda хорошо справляется с увеличением числа обслуживаемых компьютеров и постоянно улучшается с целью поддержки самых последних устройств резервного копирования.

 

Архитектура

 

В архитектуре Amanda ленточные накопители и буферные диски подключены к центральному серверу. Сервер также содержит все конфигурационные и журнальные файлы плюс базу данных. Amanda может записывать на ленту только один архив за раз, но может временно помещать многотомные архивы на буферные диски, а затем последовательно переносить их на ленты.

В системе Amanda на одном сервере поддерживается несколько конфигураций. Например, в одной конфигурации создаются только архивы уровня 0, а в другой — инкрементные архивы. С каждой конфигурацией связаны свой журнальный файл и база данных.

Сервер Amanda проверяет конфигурационные файлы, чтобы определить, какие файловые системы нужно архивировать, какие ленточные накопители доступны и сколько системных ресурсов (сетевой канал, накопители, центральный процессор) разрешается использовать. Затем он обращается к клиентским машинам и просит их подсчитать размер архивируемых файлов. На основании этой информации Amanda составляет план резервного копирования.

Сервер Amanda представляет собой коллекцию программ, которые реализуют разные задачи системы. Лучше всего запускать серверные программы на быстрой машине, которая, как правило, не слишком загружена. Если архивируются данные большого объема, то сервер должен иметь самое быстрое соединение с сетью, какое только возможно в рамках существующей архитектуры. Буферный диск, содержащий копии сетевых архивов, должен обладать как минимум таким же размером, что и самый большой дисковый раздел среди клиентских машин. Необходимо также дополнительное место на диске (не более 75 Мбайт) для хранения журнальных файлов и баз данных.

 

Инсталляция

 

Ha момент написания книги последний стабильный выпуск системы Amanda имел номер 2.4. Ipl. Приводимые ниже примеры конфигурационных файлов и команд даны именно для этой версии. Если будете загружать из Internet исходные тексты Amanda, берите последний стабильный выпуск, а не текущую версию для разработчиков. Ведь речь идет о создании резервных копий, поэтому здесь важна надежность.

Распаковав исходные тексты, прочтите файлы README, docs/SYSTEM.NOTES и docs/INSTALL. Во втором из них указаны все системно-зависимые особенности. В файле INSTALL даны пошаговые инструкции по поводу инсталляции.

Прежде чем запускать программу configure, задайте команду configure --help, чтобы получить полный список опций. Требуется определить не только каталог инсталляции, но также от имени какого пользователя и какой группы должна работать Amanda. Необходимо, чтобы этот пользователь имел доступ к каждому дисковому разделу, предназначенному для архивирования с помощью команды dump. Как правило, при использовании команды chgrp права на соответствующие файлы устройств передаются специально созданной группе, и сервер Amanda работает от ее имени. После завершения программы configure запустите команды make и make install, чтобы завершить инсталляцию.

Каждый клиент Amanda должен иметь доступ к двоичным файлам сервера. Однако идея предоставить всем клиентам доступ к файлам через NFS является не лучшим решением, поскольку бывают ситуации, когда все клиенты должны запускать программы одновременно (например, в начале процедуры резервного копирования, когда Amanda просит клиентов подсчитать размер архивов). Желательно инсталлировать программы на локальные диски каждого клиента, обычно где-то в каталоге /usr/local.

Список программ, инсталлируемых на каждом клиентском компьютере, представлен ниже. Они никогда не должны запускаться вручную.

amandad         Управляет всем взаимодействием между клиентом и сервером; запускает все остальные клиентские программы

selfcheck        Проверяет, сконфигурирован ли клиент для работы с Amanda, а именно: установлены ли права доступа к устройству, можно ли найти программу gzip, можно ли осуществлять запись в файл /etc/dumpdates и т.д.

sendbackup    Выполняет резервное копирование

sendsize          Оценивает размеры резервных копий для различных уровней архивирования

На клиентских машинах должны быть выполнены еще некоторые операции конфигурирования. В файлы /etc/inetd.conf и /etc/services нужно добавить по одной дополнительной строке для сервера Amanda. Каждое устройство, с которого будут сниматься резервные копии, должно быть доступно для пользователей группы, в которую входит в Amanda. Необходимо также, чтобы эта группа имела право записи в файл /etc/dumpcheck. После того как все конфигурационные файлы заданы, запустите программу amcheck, которая произведет финальную проверку.

Ниже показана строка, добавляемая в файл inetd.conf (предполагается, что в качестве имени пользователя и группы сервера Amanda выбрано имя "amanda"):

amanda dgram   udp wait     amanda /usr/local/sbin/amandad amandad

 

Эта строка может использоваться как на сервере, так и на клиенте. Чтобы еще сильнее защитить систему резервного копирования, поместите в файл inetd.conf строку вызова программы tcpd, написанной Уитсом Венема (Wietse Venema); более подробную информацию можно найти в параграфе 21.7.

Вот строка, помещаемая в файл /etc/services:

amanda       10080/udp

 

Ниже представлен список команд Amanda. Большинство из них принимает аргумент, сообщающий о том, какую из конфигураций Amanda следует использовать.

amdump             Выполняет ночное архивирование; обычно используется демоном cron

amflush              Осуществляет принудительную запись содержимого буферных дисков на ленту в случае возникновения проблем

amcleanup         Производит очистку, если на сервере произошел сбой в процессе создания архива

amrestore          Выполняет операции восстановления из архивов Amanda

amlabel              Записывает метки Amanda на ленту; служит для предотвращения проблем, связанных с перезаписью не тех лент

amadmin            Находит нужную ленту для восстановления и выполняет другие административные операции

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

amtape               Управляет укладчиками и устройствами смены лент

amplot                Строит графики активности сервера Amanda (например, процент использования буферного диска и сетевого канала) для каждого создаваемого архива

Для каждой конфигурации создается отдельный каталог и файлы amanda.conf и disklist. Первый из этих файлов задает общие параметры конфигурирования сервера, а второй содержит список клиентов и файловых систем, для которых осуществляется резервное копирование. Данные файлы располагаются только на сервере.

 

Файл amanda.conf

 

Файл amanda.conf достаточно велик, поэтому мы разобьем его на четыре логических компонента: локальная информация, параметры стратегии архивирования, параметры использования ресурсов и определения типов архивов. Эти компоненты являются нашим изобретением. Ни в самой системе Amanda, ни в ее документации не проводится подобного разграничения.

Формат файла достаточно понятен, поэтому мы представим файл в виде одного большого фрагмента с комментариями к каждой секции. Начнем с секции локальной информации, где определяется организация, в которой установлена Amanda, оператор резервного копирования, каталоги журнальных и других конфигурационных файлов, а также формат меток, записываемых на ленту.

 

###################################################################

# Локальные параметры

###################################################################

org "Podunk Univ." # имя организации (для отчетов)

mailto "amanda"    # разделенный запятыми список операторов узла

dumpuser "amanda"  # пользователь, от имени которого создаются

                   # архивы

runtapes 1         # число лент, задействуемых при одном запуске

                   # программы amdump

tpchanger "chg-manual"  # сценарий управления устройством для смены

                        # лент (предоставляется самой системой Amanda tapedev "/dev/rmt/0bn"  # используемое ленточное устройство

                        # (без перемотки)

labelstr "^Podunk-[0-9][0-9]*$"  # регулярное выражение, определяющее

                                 # названия меток; ему должны

                                 # соответствовать все ленты

infofile "/usr/adm/amanda/podunk/curinfo" # каталог базы данных

logdir "/usr/adm/amanda/podunk"           #каталог журнальных файлов

indexdir "/usr/adm/amanda/podunk/index"        # индексный каталог

 

 

Amanda считывает метку с каждого носителя и не применяет ленту, если ее метка не совпадает с регулярным выражением, заданным в параметре labelstr. Следовательно, все ленты должны быть помечены с помощью программы amlabel до того, как они будут использованы для записи резервных копий. Метки не могут содержать пробельных символов.

Определение схемы наименования зависит от системного администратора. Например, вместо звездочки в регулярном выражении можно указывать используемый алгоритм сжатия или тип компьютера, на котором выполняется архивирование. В рассматриваемом примере ленты будут иметь метки Podunk-01, Podunk-02 и т.д.

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

Параметры схемы резервного копирования (как часто должна использоваться та или иная лента, как часто нужно создавать архив уровня 0 для каждой файловой системы, когда повышать уровень архива и т.д.) определены во второй секции файла amanda.conf:

 

###################################################################

# Локальные параметры

###################################################################

dumpcycle 4 weeks       # число дней в нормальном цикле архивирования

bumpdays 2              # минимальное число дней для каждого уровня

bumpsize 20 Mb          # минимальный размер (порог) для перехода

                        # с уровня 1 на уровень 2

bumpmult 2              # порог = bumpsize * bumpmult"(level-1)

runspercycle 20         # число запусков программы amdump в одном

                        # цикле;

                        # в данном случае 20 = 4 недели * 5

                        # запусков в

                        # неделю (только в будни)

tapecycle 25 tapes      # число циклически меняемых лент;

                        # в данном случае 25 т 4 недели * 5запусков в

                        # неделю (только в будни) плюс еще

                        # несколько лент

                        # на случай ошибок, чтобы запускаемая в этой

                        # ситуации программа amflush не

                        # затирала ленты, заполненные в начале

                        # предыдущего цикла

 

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

Цикл архивирования — это период времени, за который архивы уровня 0 будут созданы как минимум один раз для каждой файловой системы. Чем дольше цикл, тем более гибко можно осуществлять планирование, но вместе с тем увеличивается число лент, которые нужно будет читать при восстановлении данных. При наличии свободных лент Amanda может делать архивы нулевого уровня чаще, чем того требует периодичность цикла.

Amanda предполагает, что архивы будут создаваться каждый день. Если это не так, задайте в параметре runspercycle число дней в цикле. В рассматриваемом примере архивы формируются только по будням, что разумно, если кто-то должен вручную менять ленты.

Другое предположение, делаемое по умолчанию, заключается в том, что одна лента пишется за один день (или за один "проход", согласно терминологии Amanda). Если имеется укладчик или ленточный магазин, за один раз может обрабатываться несколько лент. В этом случае требуется дополнительная конфигурация.

Параметр tapecycle сообщает, сколько лент участвует в цикле. Минимальное значение — это число проходов за один цикл, умноженное на число лент, используемых при одном проходе, плюс еще несколько лент на случай возникновения проблем. Если число лент хотя бы в два раза превышает минимальное значение, то для каждой файловой системы будут созданы по крайней мере два архива нулевого уровня.

Пороговые параметры позволяют контролировать, насколько большим может стать инкрементный архив, прежде чем Amanda перейдет на следующий уровень. Эти параметры вычисляются по определенным формулам, поэтому для надежности лучше воспользоваться опцией bumpsize программы amadmin. Например, с учетом приведенных выше параметров программа сообщит такие данные (предполагается, что конфигурационные файлы хранятся в каталоге podunk):

# amadmin podunk bumpsize

Current bump parameters:

bumpsize 20480 KB   - minimum savings (threshold) to bump level 1 -> 2

bumpdays 2          - minimum days at each level

bumpmult 2          - threshold = bumpsize *  (level-1)**bumpmult

Bump -> To   Threshold

1    -> 2    20480 KB

2    -> 3    40960 KB

3    -> 4    81920 KB

4    -> 5    163840 KB

5    -> 6    327680 KB

6    -> 7    655360 KB

7    -> 8   1310720 KB

8    -> 9   2621440 KB

После начального уровня 0 Amanda начинает делать архивы уровня 1. Когда размер архива 1-го уровня превышает 20 Мбайт, осуществляется переход на уровень 2. Если архив второго уровня переходит рубеж в 40 Мбайт Amanda перемещается на уровень 3 и т.д.

Необходимо правильно управлять этими параметрами, чтобы согласовать требуемую степень избыточности с допустимой стоимостью лент. Слишком большая избыточность приведет к высокой стоимости эксплуатации, а слишком маленькая — к возможным потерям данных.

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

###################################################################

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

###################################################################

tapetype ЕХВ-8500       # тип ленты (см. ниже)

inparallel 4            # максимальное число процессов архивирования,

                        # которые могут быть запущены одновременно

                        # netusage 600 Kbps

                        # максимальный сетевой трафик для системы

                        # Amanda etimeout 300 число секунд, в течение

                        # которых можно ждать, пока будет проведена

                        # оценка размеров архивов для каждой файловой

                        # системы

holdingdisk hdl {

comment "main holding disk"

directory "/dumps/amanda"        # точка монтирования буферного диска

use 8196 Mb                      # сколько пространства на нем можно

                                 # использовать

}

define tapetype ЕХВ-8500 {

comment "Exabyte ЕХВ-8500 drive on decent machine"

length 4200 mbytes

filemark 48 kbytes

speed 474 kbytes

}

Здесь показана конфигурация системы Amanda для ленточного накопителя Exabyte 8500. Параметры типа ленты чрезвычайно важны и никогда не должны подставляться наугад. Если имеющееся в системе устройство резервного копирования не указано в файле amanda.conf, входящем в дистрибутив Amanda, можно попробовать найти его в файле docs/TAPETYPES или по адресу

www.cs.columbia.edu/~sdossick/amanda

Вы можете также запросить нужную конфигурацию в одной из телеконференций, посвященных системе Amanda. Если ничего не подошло, воспользуйтесь программой tapetype, входящей в комплект поставки. Она определяет корректные параметры накопителя, заполняя ленту блоками размером 32 Кбайт. Но к ней нужно прибегать лишь в самом крайнем случае: на некоторых устройствах эта программа выполняется очень долго (1 или 2 дня)!

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

###################################################################

# Определения типов архивов

###################################################################

define dumptype comp-user {

comment "partitions on reasonably fast machines"

compress client fast

priority medium

}

 

define dumptype comp-root {

comment "root partitions on reasonably fast machines"

compress client fast

priority low

}

 

define dumptype nocomp-user {

comment "partitions on slow machines"

compress none

priority medium

}

define dumptype clone-user {

comment "partitions which should only get incrementals"

compress client fast

skip-incr

priority medium

}

 

define dumptype comp-high-samba {

comment "used for NT systems"

program "GNUTAF"

compress server fast

}

 

define dumptype dcs-user {

comment "used for dos partitions that are always mounted"

program "GNUTAF"

compress client fast

}

Все эти типы предопределены в Amanda. Можно ссылаться на них непосредственно или модифицировать по своему усмотрению, а также создавать свои собственные типы. В поле comment содержится строка с описанием того, для чего предназначены архивы данного типа.

Поле compress указывает на то, где должно производиться сжатие данных: на клиентской машине, на сервере или нигде. Программа сжатия (например, compress или gzip) задается при инсталляции системы Amanda. Это поле может принимать следующие значения: none, client best, client fast, server best и server fast. По умолчанию используется значение client fast.

Модификаторы best и fast сообщают о том, как сильно должны сжиматься данные. Они соответствуют опциям программы gzip: --best и --fast.

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

Поле holdingdisk может иметь два значения: yes и no. Оно указывает должен ли буферный диск использоваться для временного хранения архива. Эту опцию можно отключить, если архивируется сам буферный диск. По умолчанию установлено значение yes.

Поле maxdumps задает максимальное число архивов, которые могут одновременно создаваться на клиентской машине. Значение по умолчанию — 1 но его можно увеличить, чтобы повысить производительность, если имеется мощный сервер и сетевой канал с хорошей пропускной способностью.

Поле priority указывает на то, насколько важным является архив. Оно может принимать значения low, medium и high. Второе установлено по умолчанию. Если не хватает лент для записи всех запланированных архивов, то низкоприоритетные архивы просто пропускаются. При обнаружении ошибок ленты Amanda пытается перенести высокоприоритетные архивы на буферный диск. Если там достаточно места, туда же помещаются и низкоприоритетные архивы.

Мы рекомендуем за каждым приоритетом закрепить свой тип архива Начальные каталоги должны архивироваться с высоким приоритетом. Средний приоритет подходит для локальных программных пакетов (например каталог /usr/local), а низкий приоритет — для системных файлов, которые редко изменяются.

Поле program определяет, какую программу архивирования следует использовать: dump или gnutar. По умолчанию принимается первая, и обычно это лучший выбор.

Опция skip-full указывает серверу Amanda на необходимость пропустить файловую систему в случае архива уровня 0. Ее можно устанавливать если архивы нулевого уровня создаются вне системы Amanda.

Опция skip-incr заставляет сервер Amanda пропустить все архивы кроме тех, которые имеют нулевой уровень. Ее можно устанавливать в тех конфигурациях, когда должны создаваться полные архивы.

 

Файл disklist

 

Файл amanda.conf сообщает о том, как создавать архивы, но не задает файловые системы, подлежащие архивированию. Эта информация хранится в файле disklist. Каждой клиентской файловой системе назначается один из типов архивов, определенных в файле amanda.conf.

###################################################################

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

###################################################################

# сервер архивов

ocean   sdOa     comp-root    # /

ocean   sdOg     comp-user    # /usr

ocean   sdOd     comp-user    # /var

ocean   sdOh     comp-high    # /amanda

# NT-раздел пользователя lorien, смонтированный

# с помощью системы Samba на компьютере ocean

ocean   //lorien/c$       comp-high-samba # c:

# прототип

Squish       yc0t0d0s0 comp-high    # /

squish       yc0t0d0s6 comp-high    # /usr

squish       yc0t0d0s3 comp-high    # /var

squish       yc0t0d0s7 comp-high    # /local

# клон

zamboni       cOtOdOsO  clone-user   # /

zamboni       c0t0d0s6  clone-user   # /usr

zamboni       c0t0d0s3  comp-root    # /var

zamboni       c0t0d0s7  comp-user    # /local

# медленный ПК

fuzz          sdla     nocomp-high  # /

fuzz          sdlf     nocomp-high  # /local

fuzz          sdle     nocomp-high  # /usr

fuzz          sdld     nocomp-high  # /var

fuzz          /dos     dos-user     # /dos

 

 

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

Обратите внимание на то, что буферный диск сервера архивов (ocean) не упомянут в файле disklist. В нашем случае его архивировать не нужно, так как он содержит лишь образы архивов, записываемые системой Amanda. Если бы на нем хранились журнальные файлы или другая важная информация, его следовало бы включить в список, указав в третьем столбце тип holdingdisk.

Опция skip-incr (включенная в определение типа clone-user) подходит для архивирования клонов машины-прототипа. На нашем узле для каждой архитектуры имеется одна машина-прототип, которая клонируется на другие машины с аналогичной архитектурой. Поскольку корневые разделы клонов те же, что и у прототипа, мы не тратим ленты на их архивирование каждую ночь.

Тем не менее, у каждого клона есть свои уникальные файлы (например, файлы конфигурации в каталоге /etc), поэтому один раз за цикл архивирования мы все же создаем архив уровня 0. В разделе /var на машине zamboni содержатся почтовые каталоги пользователей, вследствие чего данную файловую систему необходимо архивировать каждую ночь.

На сервере архивов мы установили программу smbtar системы Samba, чтобы можно было создавать резервные копии файловых систем Windows NT. В рассматриваемом примере архивируется диск С машины lorien. Обратите внимание на то, что в файле disklist упомянут клиент ocean, а не lorien. Когда для доступа к файловой системе используется система Samba, клиентом Amanda должна быть не NT-машина, а UNIX-машина, на которой расположена программа smbtar. (Раздел /dos машины fuzz не задан подобным образом, так как он всегда смонтирован и доступ к нему не осуществляется посредством Samba.) Amanda различает разделы Samba и обычные точки монтирования (такие как /usr и /dos) по количеству символов косой черты в начале имени: два у раздела Samba и один у точек монтирования.

 

Журнальные файлы

 

Для каждого архива на сервере Amanda создаются два журнальных файла. Первый называется amdump.n, где n — число дополнительных запусков Amanda с момента создания журнального файла. Этот файл содержит текстовое описание действий, связанных с планированием, которые предприняла система Amanda. Второй файл именуется log.дата.n, где дата — это дата создания архива, а n — число архивов, уже созданных в тот день.

 

Отладка

 

После каждого запуска Amanda создает отчет по итогам резервного копирования и посылает его по электронной почте главному оператору. В отчет включается информация о количестве использованных лент, успешно заархивированных файловых системах и произошедших ошибках. Вот пример такого отчета (он создан на основании конфигурации, в которой применяется не тот файл disklist, что показан выше):

То: amanda@ocean

Subject:  Podunk,  Univ. AMANDA MAIL REPORT FOR September 1,   1999

These dumps were to tape Podunk-481

Tonight's dumps should go onto 1 tape: Podunk-482.

FAILURE AND STRANGE DUMP SUMMARY:

fuzz    sdla    lev 0     FAILED      [no estimate or historical data]

...

taper: FATAL syncpipe_get: w: unexpected  EOF

STATISTICS:             Total  Full    Daily

Dump Time  (hrs:min)    3:02     0:36    0:04  (0:34 start, 1:49 idle)

Output Size  (meg)      2954.6   2666.8  287.8

Original Size  (meg)    7428.1   6292.5  1135.5

Avg Compressed Size(%)  39.8     42.4    25.3

Tape Used (%)           70.5     63.5    7.0        (level:#disks ...)

Filesystems Dumped      18       8       10 (1:8 2:2)

Avg Dump Rate  (k/s)    105.3    124.5   43.4

Avg Tp Write Rate (k/s) 1254.2   1251.8  1276.9

 

NOTES

planner: Adding new disk zamboni:c0t0d0s7.

driver: WARNING:  /dumps/amanda: 8550400 KB requested, but only

1035113 KB available, planner: Forcing full dump of squishy:c0t0d0sO as directed, planner: Request to fuzz timed out.

planner:  Incremental of ocean:sd0h bumped to level 2.

...

driver: going into degraded mode because of tape error.

...

 

 

Одна из самых распространенных проблем заключается в том, что иногда Amanda не может записать архив на ленту. Это может случиться, если в накопитель вставить неправильную ленту или если в процессе записи возникла ошибка ленты (в показанном примере это произошло с клиентом fuzz). В любом случае Amanda записывает резервные копии на буферный диск. Чтобы сбросить буферные архивы на ленту, вставьте в накопитель правильную ленту и запустите программу amflush.

Для диагностики других проблем нужно просмотреть либо журнальные файлы на сервере, либо файлы отладки на клиенте. Местоположение журнальных файлов указано в файле amanda.conf. Файлы отладки находятся в каталоге /rmp/amanda, если система Amanda компилировалась с опцией --with-debugging (она задана по умолчанию).

Приведенное выше почтовое сообщение создается на основании журнальных файлов. Вот текст файла amdump.n:

SETTING UP FOR ESTIMATES...

dumper: pid 18199 executable dumper version 2.4.1pl, using port 791

...

driver: started dumpersetup_estimates: ocean:sdOd: command 0, options: last_level 1 rext_levelO 6 level_days 16

getting estimates 0  (20023)  1  (2735)  -1  (-1)

...

zamboni:c0t0d0s0 lev 1 skipped due to skip-incr flag

planner: SKIPPED zamboni c0t0d0s0 1  [skip-incr]

...

GETTING ESTIMATES...

got results for host ocean disk sd0a: 0->53797K, 1 -> 1797K, -1 -> -1K

got results for host ocean disk sdOd: 0->19695K, 1 -> 2696K, -1 -> -1K

...

ANALYZING ESTIMATES...

...

pondering ocean:sdOd... next_level0 6 last_level 1  (not due for a full dump, picking an incr level)

 

Ниже показан файл log.19990901.0:

START planner date 19990901

START driver date 19990901

INFO planner Adding new disk depot:dsk/dl.

SUCCESS planner zamboni c0t0d0s0 1  [skipped: skip-incr]

WARNING driver WARNING: /dumps/amanda: 8550400 KB requested, but only 1035113 KB available.

...

START taper datestamp 19990901 label Podunk-481 tape 0

FAIL planner fuzz sdla 0 [no estimate or historical data]

...

STATS driver startup time 2019.456

SUCCESS dumper ocean sdOa 0 [sec 418.311 kb 25088 kps 59.97 orig-kb 58087]

SUCCESS dumper ocean sdOd 1 [sec 15.867 kb 800 kps 50.42 orig-kb 2719]

...

SUCCESS taper ocean sd0a 0 [sec 53.366 kb 25088 kps 474.612 {wr: writes 2 rdwait 0.000 wrwait 0.032 filemark 38.332}] SUCCESS taper ocean sdOd 1  [sec 6.345 kb 800 kps 133.3 (wr: writes I rdwait 1.470 wrwait 0.356 filemark 2.637}]

...

STRANGE dumper ocean sdOh 1  [sec 82.435 kb 33.4 kps 0.4 orig-kb 155.0] sendbackup:  start  [ocean:sd0h level 1 datestamp 19990901] I DUMP: Date of this level 1 dump: Wed Sep 01 23:47:54 1999 I DUMP: Date of last level 0 dump: Mon Aug 30 23:43:23 1999 I DUMP: Dumping /dev/rsdOh (/amanda) to standard output I DUMP: mapping (Pass I)   [regular files] I DUMP: mapping (Pass II)   [directories]

? DUMP:   (This should not happen) bread from /dev/rsdOh [block 64] :

count=8192, got=-l I DUMP: estimated 38 blocks  (19KB) on 0.00 tape(s). I DUMP: dumping (Pass III)   [directories]

|   DUMP: dumping (Pass IV)   [regular files]

|   DUMP:  level 1 dump on Wed Sep 01 23:47:54 1999

|   DUMP: 310 blocks  (155KB)  on 1 volume

|   DUMP:   DUMP IS DONE

sendbackup:  size 158720

sendbackup: end

 

Каждая строка SUCCESS dumper означает, что архив был записан в буферный диск, а строка SUCCESS taper — что архив был помещен на ленту. Строка STRANGE dumper говорит о том, что система Amanda обнаружила ошибку при выполнении команды dump. В случае ошибки Amanda сохраняет результаты работы в журнальном файле (перед строками, свидетельствующими об ошибке, ставится знак вопроса), а также включает их в почтовое резюме.

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

Когда Amanda не может оценить размер архива, просмотрите отладочный файл программы sendsize. Эта программа анализирует результаты работы команды dump и ищет строку, в которой сообщается о размере. Если строка не найдена, Amanda выдает сообщение [no estimate]. Вот пример файла sendsize.debug:

sendsize: getting size via dump for c0t0d0s3 level 1

sendsize: running "/usr/ccs/bin/dump lsf 100000 - /dev/dsk/c0t0d0s3"

DUMP: Date of this level 1 dump: Wed Sep 01 21:59:36 1999

DUMP: Date of last level 0 dump: Mon aug 30 05:08:33 1999

DUMP: Dumping /dev/dsk/c0t0d0s3  (/var)  to standard output

DUMP: mapping  (Pass I)   [regular files]

DUMP: mapping  (Pass II)   [directories]

DUMP: mapping (Pass II)   [directories]

DUMP: mapping  (Pass II)   [directories]

DUMP: estimated 7150 blocks on 0.00 tape(s).

DUMP: mapping  (Pass III)   [directories]

calculating for amname  'cOtOdOsO', dirname '/local' sendsize: getting size via dump for c0t0d0s7 level 0 sendsize: running "/usr/ccs/bin/dump Osf 100000 - /dev/dsk/c0t0d0s7" DUMP: Cannot open/stat /dev/rdsk/c0t0d0s7,  Permission denied

(no size line match in above dump output)

В данном случае очевидно, что необходимо изменить права доступа к файлу /dev/rdsk/c0t0d0s7.

Если проблему не удается разрешить путем просмотра журнальных файлов или документации к системе Amanda, обратитесь к архивам телеконференций Amanda по следующим адресам:

http://www.egroups.com/list/amanda-users

http://www.egroups.com/list/amanda-hackers

 

Восстановление файла из резервной копии

 

Для восстановления архивов Amanda необходимо воспользоваться программами amadmin и amrestore. Рассмотрим конкретный пример.

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

  • имя компьютера и раздела, где располагался каталог;
  • полное путевое имя каталога;
  • дата удаления каталога или его повреждения;
  • дата, когда каталог был последний раз модифицирован.

Даты определяют диапазон лент, содержащих каталог в том состоянии, в котором нам может понадобиться его восстановить. Допустим, что требуется восстановить каталог в разделе /local на компьютере zamboni; он был модифицирован 5-го октября и удален 12-го октября. Программа amadmin определит, какие ленты нужны:

% amadmin podunk find zamboni c0t0d0s7



date

host

disk

lv

type

file

status

2000-01-26

zamboni

c0t0d0s7

1

Podunk-795

33

OK

2000-01-25

zamboni

c0t0d0s7

1

Podunk-794

41

OK

2000-01-23

zamboni

c0t0d0s7

0

Podunk-792

9

OK

2000-01-22

zamboni

c0t0d0s7

1

Podunk-791

32

OK

1999-10-13

zamboni

c0t0d0s7

1

Podunk-685

38

OK

1999-10-12

zamboni

c0t0d0s7

1

Podunk-684

37

OK

1999-10-11

zamboni

c0t0d0s7

1

Podunk-683

39

 (голосов: 0)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page