Использование AMANDA без ленточных накопителей

Установка системы:

Сервер:

#yum install amanda
#cd /etc/amanda/


Убираем дефолтовый конфиг, так как в нем ничего непонятно.

#mv DailySet1 DailySet1_old


Делаем свой конфиг

# mkdir DailySet1
# cd DailySet1


Создаем amanda.conf:

org "XXX"
mailto "admin@xxx.ru"
dumpcycle 4 days
tapecycle 4
#runspercycle # defaults to 1 per day

runtapes 1
tpchanger "chg-multi"
changerfile "/etc/amanda/DailySet1/changer.conf"
logdir "/var/log/amanda/DailySet1"
indexdir "/etc/amanda/DailySet1/index"
infofile "/etc/amanda/DailySet1/curinfo"
amrecover_changer "chg-multi"

# Comment out tapedev and changerdev

tapetype HARD-DISK

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

define tapetype HARD-DISK {
comment "Hard disk instead of tape"
length 20000 mbytes # Simulates end of tape on hard disk (a 20 GB disk here)
}

define dumptype global {
comment "Global definitions"
index yes
record yes
}

define dumptype hard-disk-dump {
global
comment "Back up to hard disk instead of tape - using dump"
holdingdisk no
index yes
priority high
}

define dumptype hard-disk-tar {
hard-disk-dump
comment "Back up to hard disk instead of tape - using tar"
program "GNUTAR"
}

# network interfaces
#

define interface local {
comment "a local disk"
use 1000 kbps
}

define interface eth0 {
comment "100 Mbps ethernet"
use 90 Mbps
}


Соответственно не забываем создать директорию /var/log/amanda/DailySet1

#mkdir /var/log/amanda/DailySet1
#chown amanda.disk /var/log/amanda/DailySet1


Создаем файл который описывает смену ленточек, а в нашем случае жестких дисков:

У меня на сервер два SATA диска, четные ленточки будем хранить на
первом, нечетные на втором.
Оптимально иметь 7 дисков.

Содержимое changer.conf

multieject 0
gravity 0
needeject 0
ejectdelay 0

statefile /var/lib/amanda/DailySet1/changer-status

firstslot 1
lastslot 4

slot 1 file:/bk1/amandadumps/tape01
slot 2 file:/bk2/amandadumps/tape02
slot 3 file:/bk1/amandadumps/tape03
slot 4 file:/bk2/amandadumps/tape04


Далее создаем файл который описывает диски которые бэкапим:

Содержимое файла disklist:

backup /etc hard-disk-tar
XXX.XXX.ru /etc hard-disk-tar
XXX.XXX.ru /var/spool/mail hard-disk-tar
XXX.XXX.ru /home/public hard-disk-tar
XXX.XXX.ru /var/lib/mailman hard-disk-tar
XXX.XXX.ru /var/www hard-disk-tar
XXX.XXX.ru /var/named hard-disk-tar


В строке первый элемент - хост с которого бэкапить, второй директория,
третья метод, описанный в amanda.conf

# touch /etc/amanda/DailySet1/tapelist


Важно помнить что AMANDA работает от юзера amanda.disk поэтому делаем
слудующее

#chown -R amanda.disk /etc/amanda


Далее делаем "ленточки".
Создаем директоии где они живут.

#mkdir -p /bk1/amandadumps/tape01
#mkdir -p /bk2/amandadumps/tape02
#mkdir -p /bk1/amandadumps/tape03
#mkdir -p /bk2/amandadumps/tape04
#chown -R amanda.disk /bk1/amandadumps
#chown -R amanda.disk /bk2/amandadumps


Маркируем ленточки, это понадобится для восстановления из бэкапа.

# su - amanda
$amlabel DailySet1 DailySet101 slot 1
$amlabel DailySet1 DailySet102 slot 2
$amlabel DailySet1 DailySet103 slot 3
$amlabel DailySet1 DailySet104 slot 4


Для того чтобы бэкап был возможен необходимо разрешить пользователям root и
amanda коннектится к AMAND'e

Для этого:

#su - amanda
$vi ~/.amandahosts

localhost amanda
localhost.localdomain amanda
localhost root
localhost.localdomain root
backup root
backup amanda
XXX.XXX.ru root
XXX.XXX.ru amanda


Должно быть что-то подобное, первое имя хост, второе пользователь,
если есть сомнения в том как разрезолвится хост то используем команду hostname
и добавляем в /etc/hosts соответствующую информацию, для клиентских компов тоже самое.


Настриваем сервисы, для этого заходим в /etc/xinet.d/ и во всех файлах
amanda* делаем disable=no

# service xinetd restart


Делаем тестовый бэкап.

# su - amanda
$ /usr/sbin/amdump DailySet1


Проверяем

$ /usr/sbin/amcheck DailySet1

crontab -e
0 16 * * * /usr/sbin/amcheck -m DailySet1
45 0 * * * /usr/sbin/amdump DailySet1


Восстановление:

#cd /tmp
#mkdir recover
#cd recover
# /usr/sbin/amrecover DailySet1
AMRECOVER Version 2.4.4p3. Contacting server on localhost ...
220 backup AMANDA index server (2.4.4p3) ready.
200 Access OK
Setting restore date to today (2007-06-21)
200 Working date set to 2007-06-21.
200 Config set to DailySet1.
200 Dump host set to backup.
Trying disk / ...
Trying disk rootfs ...
Can't determine disk and mount point from $CWD '/tmp/recover'
amrecover>


На фразу "Can't determine disk and mount point from $CWD '/tmp/recover'"
не обращаем внимание, это информационное сообщение.

amrecover> sethost XXX.XXX.ru
amrecover> setdisk /etc (Это то что указано в файле disklist)
amrecover> add * ( если хотим все восстановить)
amrecover> list
TAPE DailySet103 LEVEL 1 DATE 2007-06-21
/amanda
....


По лейбочке определяем какую ленту нам надо вставить

amrecover> settape backup:file:/bk1/amandadumps/tape03
amrecover> extract
amrecover> quit


Настройка клиента:
На клиентском хосте (XXX.XXX.ru) делаем тоже самое.
Не забываем проверять имя хоста командой hostname.

#yum install amanda-client
# su - amanda
$ vi ~/.amandahosts

amandahost amanda
amandahost.localdomain amanda
XXX.XXX.ru amanda
backup amanda


vi /etc/xinetd.d/amanda


# default: off
# description: The client for the Amanda backup system.\
# This must be on for systems being backed up\
# by Amanda.

service amanda
{
socket_type = dgram
protocol = udp
wait = yes
user = root
group = disk
server = /usr/lib/amanda/amandad
disable = no
only_from = 192.168.0.15
}

Перечитываем конфигурацию xinetd

# service xinetd restart

Собственно после этого AMANDA сама ходит и бэкапит.

Источник

free-templates.ru