amanda安装

下载地址

http://www.amanda.org/download.php
http://www.zmanda.com/download-amanda.php

编译安装

编译出错:

error: perl module ExtUtils::Embed is required  
# yum install perl-ExtUtils-Embed.x86_64

checking for GLIB - version >= 2.2.0... no
# yum install NetworkManager-glib-devel.x86_64

Not building 'amplot', because gnuplot was not found
# yum install gnuplot 

yum安装

1. 安装

# yum install amanda-server.x86_64
# yum install amanda-devel.x86_64 

此类安装方法,可能会缺少一些库
因为和系统某些依赖库的版本不一致

2. 说明

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”它是一套独特的设置和选项由目录名来引用
5、amrestore工具可用来恢复 Amanda 备份中的数据。此外amrecover工具支持交互式的文件恢复。它依赖于后台amindexd和amidxtaped程序进行工作

3. 客户端配置

1、启动客户端服务
在客户端编辑/etc/xinetd.d/amanda文件,将其中的“disable=yes”改为“disable=no”

service amanda 
{ 
    socket_type = dgram 
    protocol = udp 
    wait = yes 
    user = amandabackup
    group = disk 
    server = /usr/lib/amanda/amandad 
    disable = no 
}

# service xinetd restart

2、授予备份此客户端的Amanda服务器和用户
编辑amanda用户主目录(/var/lib/amanda)下的“.amandahosts”文件,将服务器的主机名以及用于备份的用户名(默认为amandabackup),该文件的格式和“.rhost”类似,例如,Amanda服务器的主机名为turbolinux,用户是amandabackup,则在.amandahosts文件插入如下

turbolinux amandabackup
turbolinux root

同时,也需要把服务器和root用户的对应关系加在里面,否则在恢复数据的时候将不能访问服务器。在这里设置完Amanda服务器的主机名后,同时也要在/etc/hosts文件里面指定Amanda服务器IP和主机名的对应关系,否则Amanda客户端将不能访问服务端

4. 服务端配置

1、amanda.conf
Amanda配置文档默认路径在/etc/amanda/DailySet1,在前面提到过,Amanda一个目录对应一个配置,Amanda的所有备份策略和执行命令,均通过“DailySet1”这个目录下的几个配置文档来定义

# vi amanda.conf

org "turbolinux"    #设置使用amanda的单位或者机构的名称 
mailto "root@turbolinux.com.cn"  #指定将报告发送的邮件地址 
dumpuser amanda     #指定使用Amanda备份的用户,默认为amanda用户
dumpcycle 7days     #设置备份周期的长度,单位也可以是weeks,在这里设置7days和1weeks的效果是一样的 
runspercycle 7      #设置每个备份周期内amanda运行的次数 
tapecycle 1 tapes   #设定完成一个完整的备份周期最少所需要磁带,这个需要根据备份数据量的大小来设定 
ctimeout 30         #设置检测客户端超时时间,单位为秒 
runtapes 1          #amdump每次运行使用磁带最大数 
tapedev "/dev/nst0" #指定使用磁带机的设备名称,“/dev/nst0”表示不倒带设备 
tpchanger "chg-manual"  #更换下一个磁带的脚本。在disk-to-tape方式中它与tapedev只能使用其中一个,建议将该项注释掉 
tapetype HP-DAT     #指定磁带类型,下面将讲到如何去定义磁带类型
labelstr "^DailySet1-[0-9][0-9]*$" #设定磁带卷标格式,使用正则表达式去匹配卷标名称,磁带在使用之前,必须使用 amlabel 
                    #指定卷标,下面将会讲到amlabel的用法 
logdir "/var/log/amanda"    #指定日志文件存放的目录,默认存放在amanda配置目录下 
indexdir "/var/adm/index"   #指定存放备份集索引数据目录,默认为amanda配置目录下的index目录

在配置文件中包含了许多预定义的磁带类型,所以一般都不需要自己手工去定义磁带类型,关于定义磁带类型的格式以及参数见如下:

define tapetype HP-DAT 
{ 
    comment "DAT tape drives" 对于磁带类型的描述    
    filemark 111 kbytes 文件标志大小    
    speed 468 kbytes 磁带驱动器速度    
}

上面的内容表示对HP-DAT这台磁带类型的定义,磁带类型的参数尤其重要,所以不要乱修改里面的参数

holdingdisk hd1
{  
    directory "/dumps/amanda" 临时磁盘存放的路径    
    use 5 Gb 临时磁盘总共可以使用的大小   
}

上面是对临时存储磁盘的定义,同时可以定义多个临时磁盘,在分配临时磁盘的大小有两种设定方法,一种是指定临时磁盘可以使用的大小,当值为0是则使用所有剩余空间;另一种是在临时磁盘这个文件系统上始终保留一定的空间,其余的则全部分配给临时磁盘使用

在amanda.conf文件,最后需要配置的就是定义转储类型,转储类型里面主要定义备份时使用的程序,压缩的类型等。如下:

define dumptype root-tar 
{    
    global 调用前面定义的global类型 
    program "GNUTAR" 使用GNU tar作为备份程序,默认是DUMP     
    comment "root partitions dumped with tar" 描述该类型的信息    
    compress none 不采用压缩 
    exclude list "/etc/amanda/exclude.gtar" 排除备份文件的列表    
} 

在每个转储类型的定义中,都可以调用前面定义好的类型。如果需要对备份的数据进行压缩,有两种方式可以实现,一种是在客户端压缩,那么可在compress项设置为“compress client fast”或“compress client best”,另一种是在服务器进行压缩,则设置为“compress server fast”或“compress server best”

2、disklist
接下来需要修改的是disklist文件,disklist用于指定实际要备份的数据,里面的格式是:

client partition/mountpoint dumptype

client :需要备份的客户度计算机,可以是IP或者主机名
partition/mountpoint: 指定要备份的内容,可以是设备名或挂载点
dumptype:指定备份数据时使用的转储类型,这是在amanda.conf文件里面所定义的

例如:现在需要备份IP为192.168.1.100的客户端下面的/data目录,并使用“root-tar”的转储类型,那么只需要在disklist文件里插入如下即可

192.168.1.100 /data root-tar 

3、创建tapelist和磁带标签
tapelist文件用来记录当前可用的磁带列表,默认该文件不存在,创建该文件以及修改文件的权限的方法如下:

# > /etc/amanda/DailySet1/tapelist 
# chown amandabackup:disk /etc/amanda/DailySet1/tapelist 

注:凡是手工创建或指定给amanda的文件以及目录,包括前面所指定的临时磁盘存放的目录以及日志存放的目录等,其所属用户和组必须是amandabackup和disk,否则Amanda在备份的时候没有操作权限

执行amlabel命令设置卷标

# su – amandabackup
$ /usr/sbin/amlabel DailySet1 DailySet1-01

所设置的卷标一定要符合“labelstr”所指定的正则表达式,否则会报错。设置好可用卷标的磁带,会自动添加到tapelist列表里

RPM安装

# rpm -ivh amanda-backup_server-3.3.7-1.rhel6.x86_64.rpm
error: Failed dependencies:
    perl(JSON) is needed by amanda-backup_server-3.3.7-1.rhel6.x86_64
    perl(XML::Simple) is needed by amanda-backup_server-3.3.7-1.rhel6.x86_64
    xinetd is needed by amanda-backup_server-3.3.7-1.rhel6.x86_64

找到和系统版本一致的包来安装,不然库不一致
解决方法:

# yum install perl-XML-Simple.noarch
# yum install perl-JSON.noarch
# yum install xinetd
原文地址:https://www.cnblogs.com/zhangxuechao/p/11709962.html