RHEL 5 + Amanda
wmbodbc
|
1#
wmbodbc 发表于 2007-10-23 00:42
RHEL 5 + Amanda
所需套件:
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/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/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则用于指定磁带机所在的服务器。连接成功后将会停在一个交互式的对话框。 |