Amanda安装配置
一 关于amanda
Amanda本身并不是备份程序,它其实只是管理其他备份软件的封装软件。它使用系统上的dump和restore命令作为底层的备份软件,同时也能够使用tar命令,针对于windows计算机,Amanda还能够使用smbtar命令来实现备份。 Amanda 的整体策略是:在每次周期中完成一次数据的完全备份,并且确保在两次完全转储之间备份所有更改的数据。传统的做法是先执行完全备份,然后在此期间执行增量备份。而Amanda 的工作方式不同的是,每次运行Amanda 都对部分数据进行完全备份,确切地说,就是在一个完整的备份周期内备份全部数据所需备份的其中一部分。例如,如果周期为 7 天,且一个周期内进行7次备份,则每天必须备份 1/7 的数据,以便在 7 天之内完成一次完全备份。除了这个“部分”完全备份外,Amanda 还对自最近一次完全备份后更改的数据进行增量备份。Amanda这种特有的备份策略,可以减少每次备份的数据量 安装目录
| Linux | Examples |
Amanda commands | /usr/sbin | amadmin, amrecover |
Amanda configuration | /etc/amanda | f, disklist |
Amanda internal binaries | /usr/libexec/amanda | amandad, driver (libexec directory) |
Amanda libraries | /usr/lib/amanda | libamanda.a, libamclient.a |
Amanda local/shared state directory | /var/lib/amanda | gnutar-lists, .amandahosts |
Amanda man pages | /usr/share/man | man pages |
Amanda log | /var/log/amanda | Logs |
Amanda user | amandabackup | |
.amandahosts | /var/lib/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 操作的配置文件。比如备份内容、频率、位置以及磁带设备特征等。这些文件为 f 和 disklist。在/etc/amanda下每个子目录对应于一个 Amanda “配置”,默认为“DailySet1”(最新版本是MyConfig),它是一套独特的设置和选项,由目录名来引用。
5、amrestore工具可用来恢复 Amanda 备份中的数据。此外,amrecover工具支持交互式的文件恢复。它依赖于后台amindexd和amidxtaped程序进行工作。
二 测试环境
操作系统
| 主机名 | Ip | 版本 |
服务器 | Server.puppet | 192.168.133.241 | Rhel 5.4 |
客户端 | Client.puppet | 192.168.133.221 | Rhel 5.4 |
| | | |
Amanda版本
下载地址:/download.php
anda/download-amanda.php
amanda-backup_server-3.3.0-1.rhel5.i386.rpm
amanda-backup_client-3.3.0-1.rhel5.i386.rpm
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.rpm
vim /etc/xinetd.d/amandaclient
改disable=no
/etc/init.d/xinetd restart
指定备份机的主机名和允许进行操作的用户
vim /var/lib/amanda/.amandahosts
server.puppet root
server.puppet amandabackup amdump
如服务器主机名为server.puppet用户名为amandabackup,同时需加入服务器和root用户的对应关系,否则恢复数据时不能访问服务器
修改/etc/hosts文件(服务器同样要修改)
192.168.133.221 client.puppet
192.168.133.241 server.puppet
服务端:
1 vim /etc/xinetd.d/amandaclient
改disable=no
/etc/init.d/xinetd restart
指定备份机的主机名和允许进行操作的用户
vim /var/lib/amanda/.amandahosts
client.puppet root amindexd amidxtaped
client.puppet amandabackup amdump
修改amanda配置文件
vim /etc/amanda/f
org "MyConfig" #设置使用amanda的组织或者机构名称
mailto Amanda@test #设定报告发送到的邮件地址
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 #磁盘容量
}
在f文件,最后需要配置的就是定义转储类型,转储类型里面主要定义备份时使用的程序,压缩的类型等。如下:
define dumptype simple-tar { #定义转存储类
global #调用前面定义的global类型
program “GNUTAR” #使用GNU tar作为备份程序 默认是DUMP
comment "root partitions dumped with tar" //描述该类型的信息
compress none //不采用压缩
index yes //备份集索,必须为yes(默认为no),否则在恢复的时候将不能到可恢复的索引信息
exclude list “/etc/Amanda/ar” #排除备份文件的列表
}磁带备份
在每个转储类型的定义中,都可以调用前面定义好的类型。如果需要对备份的数据进行压缩,有两种方式可以实现,一种是在客户端压缩,那么可在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:指定备份数据时使用的转储类型,这是在f文件里面所定义的。 例如:现在需要备份IP为192.168.1.100的客户端下面的/data目录,并使用“root-tar”的转储类型,那么只需要在disklist文件里插入如下即可。