インストールする前に以前のホルダーが残っておりますので、/var/lib/amandaをフォルダーごと消去しておきます。その後
# rpm -Uvh amanda-backup_server-3.2.1-1.rhel6.x86_64.rpm
amanda-backup_clientのインストールは必要ありません。
xinetの設定ファイルは自動でインストールされ、デフォルトにままで構いませんが、ファイル名がamandaserverになっております。
/var/lib/amanda/.amandahostsは左辺をサーバー名、ドメイン に変更します。
smb root amindexd amidxtaped
smb amandabackup amdump
smb.kinryokai.net root amindexd amidxtaped
smb.kinryokai.net amandabackup amdump
次にレポートに使う名前を決め、ここではLinuxBackupとしましたので、フォルダーを作ります。
# mkdir /etc/amanda/LinuxBackup
次にamanda.confをコピーします。
# cp /var/lib/amanda/example/amanda.conf /etc/amanda/LinuxBackup
このファイルを下記のように変更します。
org "LinuxBackup" # your organization name for reports
mailto "root" # space separated list of operators at your site
dumpuser "amandabackup" # the user to run dumps under
dumpcycle 7 days # the number of days in the normal ← 間違いの為:7 weekから7 daysに変更 2011/02/02
runspercycle 7 # the number of amdump runs in dumpcycle days
tapecycle 15 tapes # the number of tapes in rotation
tapedev "file:/Data/LinuxBackup/slots" # tape changer or device to use
tapetype DISK # what kind of tape it is (see tapetypes below)
tpchanger "chg-disk"
changerfile "/etc/amanda/LinuxBackup/changer" # amalabelの為必要
labelstr "^LinuxBackup-[0-9][0-9]*$" # label constraint regex: all tapes must match
holdingdisk hd1 {
comment "main holding disk"
directory "/backup/holding" # where the holding disk is
}
infofile "/etc/amanda/LinuxBackup/curinfo" # database DIRECTORY
logdir "/etc/amanda/LinuxBackup/logs" # log directory
indexdir "/etc/amanda/LinuxBackup/index" # index directory
tapelist "/etc/amanda/LinuxBackup/tapelist" # list of used tapes
define tapetype DISK {
length 100Gb
}
define dumptype dump-comp {
auth "bsdtcp"
compress client fast
}
この設定で一週間ごとにフルバックアップが行われ、テープの数は15本つまり2週間プラス1本で、どんな時でもフルバックアップ及びその差分または増分が2週間分出来ます。DISKの設定容量は全サーバーのフルバックアップの合計分より多くしておきます。圧縮はバックアップされる側で行います。
/Data/LinuxBackup/slotsの中にあるslot番号のフォルダーの中にバックアップされたファイルが数字.サーバー名._ファイル名.数字形式で保存され、最後の数字の意味は0=フルバックアップ、1=差分バックアップ、2=増分バックアップ、3=増分バックアップからの差分となります。フルバックアップか差分・増分かの判断はamandaが自動でするようです。私の場合は(3日間のみの結果ですが)358MBでも常にフルバックアップになり、14GBの内27.4MBでは差分、さらに+27.1MB(つまり計算では54.5MBの差分になると27.1MBの増分になりました。(いずれも圧縮後の容量)
上記のlogディレクトリー等をを作りますが、logs以外(curinfo,index,tapelist)は後で自動で作成されます。
# mkdir /etc/amanda/LinuxBackup/logs
# chown -R amandabackup:disk /etc/amanda
# mkdir -p /backup/holding
# chown -R amandabackup:disk /backup
amanda.confのtapedevで指定したディレクトリーを作ります
# mkdir -p /Data/LinuxBackup/slots
# chown -R amandabackup:disk /Data/LinuxBackup
スロットの中にテープを作ってラベルを振ります。
# su - amandabackup
sh-3.2$ cd /Data/LinuxBackup/slots
sh-3.2$ mkdir slot{1..15} ←15個のテープ分としてディレクトリーを作る。
sh-3.2$ for ((i=1; $i<=15; i++)); do /usr/sbin/amlabel LinuxBackup LinuxBackup-$i slot $i; done ←各スロットにラベルを付ける
この時/Data/LinuxBackup/slotsの中にdataというディレクトリがリンクとして自動的に作られます。
sh-3.2$ /usr/sbin/amtape LinuxBackup show ←各スロットの情報を見る
slot 15: date X label LinuxBackup-15
slot 1: date X label LinuxBackup-1
slot 2: date X label LinuxBackup-2
slot 3: date X label LinuxBackup-3
slot 4: date X label LinuxBackup-4
以下省略。これをするとスロットに入っている仮想テープが変わりますので、必ず元のテープに戻しておく事。
sh-3.2$ /usr/sbin/amtape LinuxBackup reset ←テープをリセットする。1番がスロットに入る
又は
sh-3.2$ /usr/sbin/amtape LinuxBackup slot 番号
←番号のテープがスロットに入る。
# ある時これをすると下記のエラーが出ました。
ERROR: Malformed response from changer -info: 1
原因は解らないのですが
sh-3.2$ /usr/sbin/amtape LinuxBackup reset
をするとエラーは無くなりましたがslot1のテープが入りますので、/Data/LinuxBackup/slots/Dataのリンク先を調べそのslotを入れるようにします。
sh-3.2$ exit
もし、エラーなどが出てslotを消去しラベルを振り直すことがありますが、既に一度ラベルを作っているのでエラーが出ます。その際は amalabelに -f を付けます。
例:sh-3.2$ for ((i=1; $i<=15; i++)); do /usr/sbin/amlabel -f LinuxBackup LinuxBackup-$i slot $i; done
バックアップするディレクトリーなどは /etc/amanda/LinuxBackup/disklistに記入します。
web01 /home dump-comp
web01 /var dump-comp
web01 /webdata dump-comp
smb /var dump-comp
smb /dev/xvdb1 dump-comp
smbホストの所を訂正(2011/02/02)。前はここに/Data/download dump-compの様な設定がありましたが、これは間違い。dumpアプリケーションは、唯一全体のファイルシステムを処理する。サブディレクトリをdumpすることはできない。 http://wiki.zmanda.jp/index.php/Dump_returned_1を参照
ちなみに上記の/var,/webdata等はLVMを使い単独のLVを使っていますので、エラーは出ません。間違っていた時は
2011-01-22 01:30:26 smb /Data/download 0 0 -1/-1 FAILED (dumper) [dump (7650) /sbin/dump returned 1]
の様なエラーが出ていた。
書式はサーバー名 ディレクトリー ダンプタイプですがここに指定してあるdump-compはamanda.confに指定してあるものです。又,smbホストはxenを使っていて、/ のディスクは xvdb1 です。
(/etc/fstabの抜粋 /dev/xvdb1 / ext3 defaults 1 1)
作成したら
# chown -R amandabackup:disk /etc/amanda
でオーナーを指定して下さい。
いよいよテストです。
# su amandabackup -c "/usr/sbin/amcheck LinuxBackup"
前は省略しています
Amanda Backup Client Hosts Check
--------------------------------
Client check: 2 hosts checked in 6.497 seconds. 0 problems found.
(brought to you by Amanda 3.2.1)
の様に 0 problems found.と表示されたらOKです。
もしエラーが出たら/Data/LinuxBackup/slots以下を消去し、テープを作りなおしますが、amalabel に -f を付けるの忘れないように。
私は設定ミスで
Amanda Backup Client Hosts Check
--------------------------------
WARNING: web01: selfcheck request failed: Connection refused
WARNING: smb: selfcheck request failed: Connection refused
Client check: 2 hosts checked in 10.214 seconds. 2 problems found.
とエラーが出ましたが、これはlocal LAN内にDNSが無くこのサーバーの /etc/hosts にこのサーバー自身とweb01ホストのIPを設定していないのが原因でした。
OKであれば最初のバックアップを実行しますが、バックアップの量で時間がかかります。
# su amandabackup -c "/usr/sbin/amdump LinuxBackup"
バックアップの確認は
# su amandabackup -c "/usr/sbin/amadmin LinuxBackup find"
date host disk lv tape or file file part status
2011-02-02 19:44:22 smb /dev/xvdb1 0 LinuxBackup-1 4 1/1 OK
2011-02-02 19:44:22 smb /var 0 LinuxBackup-1 1 1/1 OK
2011-02-02 19:44:22 web01 /home 0 LinuxBackup-1 2 1/1 OK
2011-02-02 19:44:22 web01 /var 0 LinuxBackup-1 3 1/1 OK
2011-02-02 19:44:22 web01 /webdata 0 LinuxBackup-1 5 1/1 OK
この表示のlvの数字が 0=フルバックアップ、1=差分、2=増分です、3=2からの差分
いよいよcrontab(/etc/cron.d/amanda)に組み込みます
5 3 * * * amandabackup /usr/sbin/amdump LinuxBackup
これは 分 時間 日 月 曜日 コマンドを実行するユーザ名 コマンドのフルパス になっております。
その際、もしサーバーごとに違った設定をする時は
/etc/amandaの下にサーバー名のディレクトリーを作り、そこにサーバー毎のamanda.confを置き、crontabの記入時に /usr/sbin/amdump サーバー名として保存する。わたしは全て同じ設定でしたのでやっていません。