参考:
更新请见:
http://blog.chinaunix.net/u/28922/showart_404233.html所需套件:
amanda-2.5.0p2-4.i386.rpm
amanda-devel-2.5.0p2-4.i386.rpm
amanda-client-2.5.0p2-4.i386.rpm
amanda-server-2.5.0p2-4.i386.rpm
# rpm -ivh amanda-2.5.0p2-4.i386.rpm
warning: amanda-2.5.0p2-4.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:amanda ########################################### [100%]
# rpm -ivh amanda-devel-2.5.0p2-4.i386.rpm
warning: amanda-devel-2.5.0p2-4.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:amanda-devel ########################################### [100%]
# rpm -ivh amanda-server-2.5.0p2-4.i386.rpm
warning: amanda-server-2.5.0p2-4.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:amanda-server ########################################### [100%]
# rpm -ivh amanda-client-2.5.0p2-4.i386.rpm
warning: amanda-client-2.5.0p2-4.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:amanda-client ########################################### [100%]
#
一.客户端配置
1.启动amanda服务
在客户端编辑/etc/xinetd.d/amanda,将其中的“disable=yes”改为“disable=no”,如下:
service amanda
{
socket_type = dgram
protocol = udp
wait = yes
user = amanda
group = disk
server = /usr/lib/amanda/amandad
disable = no
}
保存退出,重启xinetd服务。
# service xinetd restart
停止 xinetd: [确定]
启动 xinetd: [确定]
2.授予备份此客户端的Amanda# vi /var/lib/amanda/.amandahosts
ns2 amanda
ns2 root
将服务器的主机名以及用于备份的用户名写在.amandahosts中(这里的Amanda服务器名为ns2,用于备份的帐号为:amanda),同时,也需要把服务器和root用户的对应关系加在里面,否则在恢复数据的时候将不能访问服务器。在这里设置完Amanda服务器的主机名后,同时也要在 /etc/hosts文件里面指定Amanda服务器IP和主机名的对应关系,否则Amanda客户端将不能访问服务端。
这里在/etc/hosts里解析一下ns2
# vi /etc/hosts
10.0.0.100 ns2
确保客户端能与服务器通讯
# ping ns2
PING ns2 (10.0.0.100) 56(84) bytes of data.
64 bytes from ns2.atyu30.com (10.0.0.100): icmp_seq=1 ttl=64 time=0.419 ms
64 bytes from ns2.atyu30.com (10.0.0.100): icmp_seq=2 ttl=64 time=0.183 ms
二,服务端配置这里采用磁盘来作备份,即disk-to-disk方式
1./etc/amanda/DailySet1/amanda.confAmanda的所有备份策略和执行,均通过 “DailySet1”这个目录下的几个配置文档来定义。
下面是部分需要修改的参数
# vi amanda.conforg "ns2" //设置使用amanda的单位或者机构的名称
mailto "amanda@atyu30.com"//指定将报告发送的邮件
dumpuser amanda //指定使用Amanda备份的用户,默认为amanda用户
dumpcycle 7days //设置备份周期的长度,单位也可以是weeks,在这里设置7days和1weeks的效果是一样的。
runspercycle 7 //设置每个备份周期内amanda运行的次数
tapetype HARD-DISK //设置存储类型
labelstr "^DailySet1-[0-9][0-9]*$"//定义卷标格式
logdir "/var/log/amanda" //指定日志存放路径,默认存放在amanda配置目录下
tpchanger "chg-disk" //更换磁带的脚本
changerfile "/etc/amanda/DailySet1/changer"//
tapedev "file:/amanda/DailySet1" //指定存储位置
define dumptype root-tar { //定义转存储类
global //调用前面定义的global类型
program "GNUTAR" //使用GNU tar作为备份程序,默认是DUMP
comment "root partitions dumped with tar" //描述该类型的信息
compress none //不采用压缩
index yes //备份集索,必须为yes(默认为no),否则在恢复的时候将不能找到可恢复的索引信息
priority low
}
define tapetype HARD-DISK { //定义磁盘类型
comment "disk-to-disk"
length 1000 mbytes
}
2. 创建磁带 虚拟磁带的目录结构如下:
slot_root_dir -|
|- info
|- data -> slot1/
|- slot1/
|- slot2/
|- ...
|- slotn/
slot_root_dir是tapedev所指定的路径,而slotn中的n的值应和tapecycle的值一致。如下:
# mkdir /amanda/DailySet1
# cd /amanda/DailySet1/
# mkdir slot1 slot2
# touch info
# ln -s slot1 data
# chown -R amanda.disk /amanda
3. 添加备份项,这里备份10.0.0.1上的data目录
# vi /etc/amanda/DailySet1/disklist
10.0.0.1 /data comp-root-tar
4. 创建tapelist文件
# touch /etc/amanda/DailySet1/tapelist
# chown amanda.disk /etc/amanda/DailySet1/tapelist
5. 制作虚拟磁盘卷标 与使用磁带机一样,使用前也需要为虚拟磁盘创建卷标,如下:
# su - amanda
$ /usr/s/amlabel DailySet1 DailySet1-01 slot 1
changer: got exit: 0 str: 1 file:/amanda/Dailyset1
labeling tape in slot 1 (file:/amanda/Dailyset1):
rewinding, ing label, not an amanda tape (Read 0 bytes)
rewinding, writing label DailySet1-01, checking label, done.
$ /usr/sbin/amlabel DailySet1 DailySet1-02 slot 2
6. 检查配置 Amanda自带了一个检测配置文件的工具,用于检测整个Amanda服务端与客户端的配置情况。
先建立如下文件:
/etc/amanda/DailySet1 该目录下先建立如下文件
# mkdir -p /etc/amanda/DailySet1/curinfo/10.0.0.1/_var_log
# tuoch /etc/amanda/DailySet1/curinfo/10.0.0.1/_var_log/info
# mkdir -p /etc/amanda/DailySet1/curinfo/localhost/_etc
# touch /etc/amanda/DailySet1/curinfo/localhost/_etc/info
# mkdir -p /etc/amanda/DailySet1/curinfo/10.0.0.1/localhost
# mkdir -p /etc/amanda/DailySet1/index/localhost/_etc
# touch /etc/amanda/DailySet1/index/localhost/_etc/info
# mkdir -p /etc/amanda/DailySet1/index/10.0.0.1/_var_log
# chown -R amanda.disk /etc/amanda/DailySet1/curinfo
# chown -R amanda.disk /etc/amanda/DailySet1/index
权限问题很麻烦,千万不要犯晕
测试:
$ /usr/sbin/amcheck DailySet1 Amanda Tape Server Host Check Amanda Tape Server Host Check
-----------------------------
Holding disk /dumps/amanda: 3510768 KB disk space available, using 3408368 KB
slot 2: read label `DailySet1-02', date `X'
NOTE: skipping tape-writable test
Tape DailySet1-02 label ok
Server check took 0.131 seconds
Amanda Backup Client Hosts Check
--------------------------------
Client check: 1 host checked in 0.100 seconds, 0 problems found
(brought to you by Amanda 2.5.0p2)
7. 备份 Amanda中备份数据使用的程序是amdump,通常情况下放在cron里去自动执行,amdump在备份时不会提示任何的信息,可以通过查看日志文件来检查备份是否成功。
$ /usr/sbin/amdump DailySet1
8. 恢复 Amanda提供了交互式的amrecover工具来从Amanda的备份中恢复文件,它需要备份集设置了索引,也就是使用了“index yes”的设置,同时在服务端需要启动amandaidx与amidxtape,这两个进程也是由xinetd来管理的。在客户端恢复数据的时候必须使用root用户来运行。恢复前首先要切换到需要恢复的当前目录下,Amrecover工具的使用方法如下: # amrecover DarilySet1 -s serverhost -t serverhost 上面命令中的-s 参数表示指定存放备份集索引的服务器,-t则用于指定磁带机所在的服务器。连接成功后将会停在一个交互式的对话框