Ключевые слова:backup, linux, (найти похожие документы)
From: Zlobec (Dmitry Petrenko) <zlobec@gmail.com.>
Newsgroups: email
Date: Mon, 5 Jun 2007 14:31:37 +0000 (UTC)
Subject: Использование AMANDA без ленточных накопителей
Разбирался как работает система сделал маленькую памятку, решил поделится.
Оригинал: http://amanda.sourceforge.net/fom-serve/cache/191.html
Установка системы:
Сервер:
#yum install amanda
#cd /etc/amanda/
Убираем дефолтовый конфиг, так как в нем ничего непонятно.
#mv DailySet1 DailySet1_old
Делаем свой конфиг
# mkdir DailySet1
# cd DailySet1
Создаем amanda.conf:
org "XXX"
mailto "[email protected]"
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 сама ходит и бэкапит.
Подскажете? После переустановки клиента с него перестал сниматься backup, в логе сервера пишет >>hostname /dev/sda1 RESULTS MISSING
При запуске amcheck выдает:WARNING:
>>mail1.office: selfcheck request failed: timeout waiting for ACK