准备好两台机器,一台用作server,一台用作client
在两台服务器上都配置一下域名 vim /etc/hosts
192.168.1.102 server192.168.1.103 client
服务端安装配置
版本要看清楚,此次安装以3.3.7为例
yum install amanda*
amanda运行在xinetd上,需要安装一下其他配套的环境
yum install xinetd gnuplot perl-ExtUtils-Embed
首先,我们将使某些目录Uisng root用户,但确保并确认Amanda用户,可能是”Amandabackup”或者”Amanda”或者”备份”,具体取决于我们安装的Amanda如何。
我们正在使用默认的”amandabackup”以分配以下目录结构的所有权。
mkdir -p /amanda /etc/amanda
chown amandabackup /amanda /etc/amand
切换到amandabackup用户运行以下命令
[root@localhost ~]# su - amandabackup
-bash-4.2$ mkdir -p /amanda/vtapes/slot{1,2,3,4}
-bash-4.2$ mkdir -p /amanda/holding
-bash-4.2$ mkdir -p /amanda/state/{curinfo,log,index}
-bash-4.2$ mkdir -p /etc/amanda/MyConfig
所有数据都将在”/amanda”文件夹下,但我们可以随时随地放置它们
现在,我们将在”/etc/amanda/MyConfig /‘目录中添加”amanda.conf”文件,其中包含以下内容。
这是Amanda,Advanced Maryland自动网络磁盘Archiver的主要配置文件。
vi /etc/amanda/MyConfig/amanda.conf
注意这个MyConfig命名,后面要用到
org "MyConfig"
mailto "xxx@xxx.com"
infofile "/amanda/state/curinfo"
logdir "/amanda/state/log"
indexdir "/amanda/state/index"
dumpuser "amandabackup"
tpchanger "chg-disk:/amanda/vtapes"
labelstr "MyData[0-9][0-9]"
autolabel "MyData%%" EMPTY VOLUME_ERROR
netusage 8000 Kbps # maximum net bandwidth for Amanda, in KB per sec
bumpsize 20 Mb # minimum savings (threshold) to bump level 1 -> 2
bumppercent 20 # minimum savings (threshold) to bump level 1 -> 2
bumpdays 1 # minimum days at each level
bumpmult 4 # threshold = bumpsize * bumpmult^(level-1)
etimeout 300 # number of seconds per filesystem for estimates.
dtimeout 1800 # number of idle seconds before a dump is aborted.
ctimeout 30 # maximum number of seconds that amcheck waits
usetimestamps yes
device_output_buffer_size 1280k
tapecycle 4
dumpcycle 3 days
amrecover_changer "changer"
tapetype "TEST-TAPE"
define tapetype TEST-TAPE {
length 100 mbytes
filemark 4 kbytes
}
define dumptype simple-gnutar-local {
auth "local"
compress none
program "GNUTAR"
}
define dumptype simple-gnutar-remote {
compress none
program "GNUTAR"
}
holdingdisk hd1 {
directory "/amanda/holding"
use 50 mbytes
chunksize 1 mbyte
}
有许多配置参数可以控制Amanda程序的行为。
所有有默认值,因此如果默认值合适,则无需在amanda.conf中指定参数。
我们可以在”/etc/amanda/DailySet1 /‘目录下找到原始Amanda配置文件。
接下来,我们将添加一个具有单个磁盘列表条目(DLE)的”磁盘列表”文件。
“磁盘列表”文件确定Amanda将备份哪些磁盘。
该文件包含includeDile指令或者磁盘表条目(DLE)。
一般用法是将DLE描述为分区或者文件系统。
-bash-4.2$ vi /etc/amanda/MyConfig/disklist
加一行
表示备份本地 /etc目录
localhost /etc simple-gnutar-local
Amanda备份配置
使用amandabackup用户
su - amandabackup
-bash-4.2$ amcheck MyConfig
Amcheck在Amanda磁带服务器主机和Amanda客户端主机上运行许多自检。
测试结果是积极的,因为我们已经看到没有发现迫使我们前进的这种错误。
运行备份的工具是’amdump’。
只需要配置名称,它不会在其外面打印到终端的任何内容。
让我们作为Amanda用户运行,如下所示。
-bash-4.2$ amdump MyConfig
几秒钟,你可能会没有输出。
在下一行上,运行以下命令,该命令应在输出中给出”0”。
如果我们看到以外的其他东西,则备份失败。
-bash-4.2$ echo $?
Amdump是Amanda备份过程的主要界面。
它加载指定的配置,并尝试备份”磁盘列表”指定的每个磁盘。
Amdump通常由”Cron”运行,我们将在下步步骤中向我们展示。
但是,如果你看到零以外的东西,那么它意味着备份失败。
在这种情况下,我们可以通过使用”amreport”命令以及配置文件,查看备份发生的内容的方便报告。
-bash-4.2$ amreport MyConfig
备份计划配置
每天执行”Amdump”,可以通过Cron守护程序安排。
没有人想记得每晚都要运营备份。
这就是我们有Cron的原因!让我们添加以下行。
-bash-4.2$ crontab -e
0 17 * * * amandabackup /usr/sbin/amcheck -m MyConfig
15 2 * * * amandabackup /usr/sbin/amdump MyConfig
保存并关闭CRONTAB编辑器。
这些行将每天在17:00和2:15安排备份。
如果我们登录到root用户,那么我们可以使用以下命令为Amada用户添加Cron作业。
su amadabackup -c "crontab -e"
但取决于我们如何安装的Amanda,我们可能需要在发现发行版的amanda工具的位置之后更改”/usr/sbin”到其他内容。
我们可以使用命令行上的”哪个AMCHECK”来查找进程位置。
# which amcheck
/usr/sbin/amcheck
Amcheck可以给我们发电子邮件给我们在CRONTAB中使用的”-m”标志的问题,AMDUMP会愉快地向我们发送每晚报告。
自动化如果你从未发现有些东西被打破了。
因此,只需将”邮件”配置添加到”Amanda.conf”文件中。
-bash-4.2$ vi /etc/amanda/MyConfig/amanda.conf
加一行
mailto "user@igiftidea.com"
客户端安装配置
在客户端服务器安装,版本与server端一致
yum install amanda-client xinetd
需要在修改一下amanda.conf配置文件
vi /etc/amanda/MyConfig/amanda.conf
添加以下内容,用于给远程客户端备份,以tcp的方式连接,auth默认以bsdtcp的方式认证,所以可以不配置auth
define dumptype simple-gnutar-remote {
compress none
program "GNUTAR"
}
然后在服务端服务器的磁盘列表文件添加一行针对客户端的配置
vi /etc/amanda/MyConfig/disklist
client /etc simple-gnutar-remote
也是用来备份/etc目录
在客户端机器用于指定Amanda Server位置的’/var/lib/amanda/.amandahosts’文件使打开相同的文件并添加以下条目,然后保存更改。
vi /var/lib/amanda/.amandahosts
server amandabackup
备份还原
在server端进行操作
server服务器同时安装amanda的server和client
修改/etc/amanda/amanda-client.conf配置文件
vim /etc/amanda/amanda-client.conf
修改的地方
conf "MyConfig" # your config name
index_server "localhost"
tapedev "changer"
auth "local"
以上的配置是将备份提取出来的文件会放到用户进入的目录中
创建一个用于提取备份文件的目录,然后要进入这个目录
mkdir /tmp/test-recovery
cd /tmp/test-recovery
要以root用户进行命令执行
amrecover
amrecover是Amanda提供的一个用于提取备份文件的客户端工具
[root@localhost test-recovery]# amrecover MyConfig
指定要备份还原的域名,指定client
amrecover> sethost client
200 Dump host set to client.
指定要备份还原的目录
amrecover> setdisk /data2
200 Disk set to /data2.
可以查看该目录下有哪些文件
amrecover> ls
2021-08-26-17-16-52 .
2021-08-26-13-44-11 a6
2021-08-26-13-44-11 a5
2021-08-26-13-44-11 a4
2021-08-26-13-44-11 a3
2021-08-26-13-44-11 a2
2021-08-26-13-44-11 a1
2021-08-26-13-44-11 .
添加一下要备份的文件,比如我要提取a1,a3文件,如果是add . 就是直接把当前目录下所有文件提取
amrecover> add a1
Added file /a1
amrecover> add a3
Added file /a3
使用extract命令提取
amrecover> extract
Extracting files using tape drive changer on host localhost.
The following tapes are needed: MyData02
Extracting files using tape drive changer on host localhost.
Load tape MyData02 now
Continue [?/Y/n/s/d]? Y
Restoring files into directory /root/test-recovery
All existing files in /root/test-recovery can be deleted
Continue [?/Y/n]? Y
./a1
./a3
退出之后就可以在当前目录看到提取出来的文件了
amrecover> exit
200 Good bye.
[root@localhost test-recovery]# ls
a1 a3
虽然 amrecover 是专为用户设计的,但大多数 Amanda 管理员只在 Amanda 服务器上运行 amrecover,然后使用其他一些机制(如 scp 或 rsync)将已恢复的文件传输到位。
