参考:
所需套件:
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.conf
Amanda的所有备份策略和执行命令,均通过
“DailySet1”这个目录下的几个配置文档来定义。
下面是部分需要修改的参数
# vi amanda.conf
org "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/disklist10.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/sbin/amlabel DailySet1 DailySet1-01 slot 1
changer: got exit: 0 str: 1 file:/amanda/Dailyset1
labeling tape in slot 1 (file:/amanda/Dailyset1):
rewinding, reading 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则用于指定磁带机所在的服务器。连接成功后将会停在一个交互式的对话框