Amanda安装配置一关于amandaAmanda本身并不是备份程序,它其实只是管理其他备份软件的封装软件。
它使用系统上的dump和restore命令作为底层的备份软件,同时也能够使用tar命令,针对于windows计算机,Amanda还能够使用smbtar命令来实现备份。
Amanda 的整体策略是:在每次周期中完成一次数据的完全备份,并且确保在两次完全转储之间备份所有更改的数据。
传统的做法是先执行完全备份,然后在此期间执行增量备份。
而Amanda 的工作方式不同的是,每次运行Amanda 都对部分数据进行完全备份,确切地说,就是在一个完整的备份周期内备份全部数据所需备份的其中一部分。
例如,如果周期为7 天,且一个周期内进行7次备份,则每天必须备份1/7 的数据,以便在7 天之内完成一次完全备份。
除了这个“部分”完全备份外,Amanda 还对自最近一次完全备份后更改的数据进行增量备份。
Amanda这种特有的备份策略,可以减少每次备份的数据量amanda组件Amanda系统包含如下组件:1、客户端程序,是amandad 其中最重要的。
此后台程序在备份运行时和Amanda 服务器进行通信。
在/usr/lib/amanda目录下,还有其它的一些客户端程序:amandad 处理客户机和中央服务器之间的所有通信;运行所有其它的客户端程序;selfcheck 验证本地Amanda 配置;sendsize 估计备份大小;sendbackup 执行备份操作;这些程序是Amanda 客户端系统的一部分。
但是并不能通过手工去执行他们,是由客户端包的其他辅助程序来调用这些程序。
2、执行各阶段实际备份操作的服务器程序。
amdump 程序启动Amanda ,并且常常使用cron 定期运行。
它控制一些其他程序,包括:planner 决定备份哪些内容;driver 设备接口;dumper 与客户端amandad 进程进行通信;taper 把数据写入媒介;amreport 准备Amanda 运行的报告;3、执行相关任务的管理工具,包括:amcheck 验证Amanda 配置的有效性以及此工具是否准备运行;amlabel 在磁带上写入Amanda卷标,用于避免覆盖错磁带;amcleanup 在中断或系统崩溃后进行清理;amflush 强制把临时保存区的数据写入备份媒介;amadmin 查出要恢复的正确磁带,并执行各种其它管理任务;4、指定Amanda 操作的配置文件。
比如备份内容、频率、位置以及磁带设备特征等。
这些文件为amanda.conf 和disklist。
在/etc/amanda下每个子目录对应于一个Amanda “配置”,默认为“DailySet1”(最新版本是MyConfig),它是一套独特的设置和选项,由目录名来引用。
5、amrestore工具可用来恢复Amanda 备份中的数据。
此外,amrecover工具支持交互式的文件恢复。
它依赖于后台amindexd和amidxtaped程序进行工作。
二测试环境Amanda版本下载地址:/download.php/download-amanda.phpamanda-backup_server-3.3.0-1.rhel5.i386.rpmamanda-backup_client-3.3.0-1.rhel5.i386.rpmhttp://software.uni-altai.ru/a/amanda/ZWC-Community-3.1.3-64bit.zip三安装安装将自动或手动创建一个名为amandabackup的用户,属于disk组。
并非一定要使用amandabackup用户名,但需要与后面的配置相一致,注意后面的配置都要赋予该用户相应的权限,如对虚拟磁带的操作。
客户端:1 #rpm –ivh amanda-backup_client-3.3.0-1.rhel5.i386.rpmvim /etc/xinetd.d/amandaclient改disable=no/etc/init.d/xinetd restart指定备份机的主机名和允许进行操作的用户vim /var/lib/amanda/.amandahosts root amandabackup amdump如服务器主机名为用户名为amandabackup,同时需加入服务器和root用户的对应关系,否则恢复数据时不能访问服务器修改/etc/hosts文件(服务器同样要修改)192.168.133.221 192.168.133.241 服务端:1 vim /etc/xinetd.d/amandaclient改disable=no/etc/init.d/xinetd restart指定备份机的主机名和允许进行操作的用户vim /var/lib/amanda/.amandahosts root amindexd amidxtaped amandabackup amdump修改amanda配置文件vim /etc/amanda/MyConfig/amanda.conforg "MyConfig" #设置使用amanda的组织或者机构名称mailto Amanda@#设定报告发送到的邮件地址dumpuser amandabackup #默认为amanda用户logdir “/var/log/amanda”#指定日志存放路径tpchanger “chg-disk:/Amanda/vtapes”#更换磁带的脚本,在disk-to-tape方式中它与tapedev只能使用其中一个,建议将该项注释掉dumpcycle 7days #设定备份周期的长度,单位也可以是weeks.7days=1weeks runspercycle 7 //设置每个备份周期内amanda运行的次数tapecycle 1 tapes #设定完成一个完整的备份周期最少所需要磁带,这个需要根据备份数量的大小来设定ctimeout 30 #设置检测客户端超时时间,单位为秒runtapes 1 #amdump每次运行使用磁带最大数tapedev “/dev/nst0”#指定磁带机的设备名称,“/dev/nst0”表示不倒带设备indexdir “/var/adm/index”#指定存放备份集索引数据目录,默认为amanda配置目录下的index目录。
labelstr "MyData[0-9][0-9]" #定义卷标格式tapetype HARD-DISK #设置存储类型#############################################################################Define tapetype HARD-DISK { #定义磁盘类型Comment “disk-to-disk”Length 1000 mbytes #磁盘容量}在amanda.conf文件,最后需要配置的就是定义转储类型,转储类型里面主要定义备份时使用的程序,压缩的类型等。
如下:define dumptype simple-tar { #定义转存储类global #调用前面定义的global类型program “GNUTAR”#使用GNU tar作为备份程序默认是DUMPcomment "root partitions dumped with tar" //描述该类型的信息compress none //不采用压缩index yes //备份集索,必须为yes(默认为no),否则在恢复的时候将不能找到可恢复的索引信息exclude list “/etc/Amanda/exclude.gtar”#排除备份文件的列表}在每个转储类型的定义中,都可以调用前面定义好的类型。
如果需要对备份的数据进行压缩,有两种方式可以实现,一种是在客户端压缩,那么可在compress项设置为“compress client fast”或“compress client best”,另一种是在服务器进行压缩,则设置为“compress server fast”或“compress server best”。
disklist接下来需要修改的是disklist文件,该文件存放在配置目录下,disklist用于指定实际要备份的数据,里面的格式是:client partition/mountpoint dumptype client :需要备份的客户度计算机,可以是IP或者主机名;partition/mountpoint: 指定要备份的内容,可以是设备名或挂载点。
dumptype:指定备份数据时使用的转储类型,这是在amanda.conf文件里面所定义的。
例如:现在需要备份IP为192.168.1.100的客户端下面的/data目录,并使用“root-tar”的转储类型,那么只需要在disklist文件里插入如下即可。
/data root-tar创建tapelist和磁带标签tapelist文件用来记录当前可用的磁带列表,默认该文件不存在,创建该文件以及修改文件的权限的方法如下:# > /etc/amanda//tapelist# chown amanda.disk /etc/amanda//tapelist注:凡是手工创建或指定给amanda的文件以及目录,包括前面所指定的临时磁盘存放的目录以及日志存放的目录等,其所属用户和组必须是amanda和disk,否则Amanda在备份的时候没有操作权限。
切换至amanda用户,执行amlabel命令设置卷标# su – amanda$ /usr/sbin/amlabel DailySet1 DailySet101所设置的卷标一定要符合“labelstr”所指定的正则表达式,否则会报错。
设置好可用卷标的磁带,会自动添加到tapelist列表里。
创建虚拟磁带的文件系统所谓基于磁盘的备份方式,就是在服务器上使用磁盘来作为一个虚拟的磁带机。
所以需要准备一块容量较大的分区或磁盘,创建好文件系统后挂载在指定的目录下。
这里根据情况划分#mount /dev/sda1 /data定义虚拟磁带类型编辑amanda.conf文件,定义一个新的磁带类型,而磁带的大小可以根据自己的需要来设置。
一块磁盘可以平均划分多个磁带,考虑到磁盘的性能,建议在使用中始终保留10%的空间。
比如一块100G的磁盘,就按90G空间去划分磁带,如果在90G的空间里创建3个虚拟磁带,那每个磁带能够使用的大小就是30G。
下面定义了每个虚拟磁带的大小为200M:#vim /etc/amanda/MyConfig/amanda.confdefine tapetype HARD-DISK {comment "disk-to-disk"length 200 mbytes}修改amanda.conf文件在amanda.conf配置文件中,其它需要修改的参数是:dumpcycle 2 daysrunspercycle 2tapecycle 2tapetype HARD-DISKlabelstr "^DailySet1-[0-9][0-9]*$"tpchanger "chg-disk"changerfile "/etc/amanda/DailySet1/changer"tapedev "file:/amanda/DailySet1"define dumptype root-tar {globalprogram "GNUTAR"comment "root partitions dumped with tar"compress noneindex yespriority low}创建虚拟磁带虚拟磁带的目录结构如下:slot_root_dir -||- info|- data -> slot1/|- slot1/|- slot2/|- ...|- slotn/slot_root_dir是tapedev所指定的路径,而slotn中的n的值应和tapecycle的值一致。