如何使用CentOS的Amanda设置集中备份服务器

时间:2020-03-05 15:29:28  来源:igfitidea点击:

Amanda(Advanced Maryland自动网络磁盘Archiver)是世界上最受欢迎的开源备份和恢复软件,可保护多百万服务器和桌面运行各种版本的Linux,UNIX,BSD,Mac OS-X和Microsoft Windows操作全世界的系统。
Amanda支持录像带,磁盘,光学介质和更换器。
它为我们提供了将磁盘存储作为备份介质的功能。
配置,启动和验证备份将在30分钟内完成备份周期。
Amanda已在一个独立机器到数百名客户端的环境中成功使用。
它可以从昂贵的专有备份软件和这些自定义备份脚本中保存我们,这些脚本在最糟糕时期具有倾向于打破。

在本文中,我们将展示如何:

  • 安装和配置Amanda Backup Server。
  • 设置备份参数。
  • 验证配置并验证备份。
  • 安装和配置Amanda Linux客户端进行备份。

第1步:在CentOS上安装Amanda 7

我们将通过在CentOS 7服务器上安装Amanda Backup Server来从我们的第一步开始。
使用root用户凭据打开CentOS 7主机的命令行终端并设置其IP和FQDN。

运行以下命令以设置Amanda Backup Server的主机名。

# hostnamectl set-hostname amanda-server
# vi /etc/hosts
192.168.10.177 amanda-server amanda-server.theitroad.com

确保我们已连接到Internet以安装更新和Amanda Server Packages。
运行以下命令以使用最新的更新和修补程序更新系统。

# yum update

更新系统后,可以使用"yum"命令启动Amanda Backup Server的安装,因为它的软件包可用其默认拨EPEL存储库。
通过运行以下命令并按'y'键继续进行其安装,包括其依赖项。

[root@amanda-server ~]# yum install amanda*

Amanda将由Xinetd执行,因此我们需要将其安装在系统上的Amanda中的一些所需包装。

# yum install xinetd gnuplot perl-ExtUtils-Embed

第2步:启动Xinetd服务

现在我们在CentOS 7操作系统上安装了Xinetd和Amanda Backup Server。
让我们使用如下所示的命令启动'xinetd'服务。

[root@amanda ~]# service xinetd restart

使用以下命令验证其成功安装后的Amanda安装。

[root@amanda ~]# amadmin --version
amadmin-3.3.3

第3步:Amanda配置设置

首先,我们将使某些目录Uisng root用户,但确保并确认Amanda用户,可能是"Amandabackup"或者"Amanda"或者"备份",具体取决于我们安装的Amanda如何。
我们正在使用默认的"amandabackup"以分配以下目录结构的所有权。

[root@amanda ~]# mkdir -p /amanda /etc/amanda
[root@amanda ~]# chown amandabackup /amanda /etc/amand

现在切换到"Amandabackup"用户并运行以下命令。

[root@amanda ~]# 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的主要配置文件。
允许使用最佳编辑器打开此配置文件,并将以下内容放其中。
请记住,如果Amanda用户有另一个名称,则应适当地编辑"垃圾箱"。

-bash-4.2$vi /etc/amanda/MyConfig/amanda.conf
org "MyConfig"
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
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"
}
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
localhost /etc simple-gnutar-local

使用':wq!'保存并关闭文件当我们使用"VI"或者"Vim"编辑器时。
所以,我们已经完成了配置让我们移动到下一步。

第4步:检查Amanda配置

Amanda有一个良好的实用程序,称为"Amcheck",可以为我们检查配置。
运行它以测试为我们提供配置结果的配置。
请注意,几乎所有Amanda命令都将配置名称作为我们的案例中的第一个参数,它是"myconfig"。

让我们运行以下命令来检查磁带主机服务器配置。

-bash-4.2$amcheck MyConfig

Amcheck在Amanda磁带服务器主机和Amanda客户端主机上运行许多自检。
在磁带服务器主机上,AMCHECK可以通过在夜间AMDUMP开始时使用的相同磁带检查,以验证安装下一个运行的正确磁带。
它还可以在所有客户端主机上进行自检,以确保每个主机正在运行,并且要备份的文件系统上的权限是正确的。

我们可以指定许多主机/磁盘表达式,仅检查匹配表达式的磁盘。
如果没有给出任何表达式,则检查所有磁盘。

第5步:运行测试备份

测试结果是积极的,因为我们已经看到没有发现迫使我们前进的这种错误。
运行备份的工具是'amdump'。
只需要配置名称,它不会在其外面打印到终端的任何内容。
让我们作为Amanda用户运行,如下所示。

-bash-4.2$amdump MyConfig

几秒钟,你可能会没有输出。
在下一行上,运行以下命令,该命令应在输出中给出"0"。
如果我们看到以外的其他东西,则备份失败。

-bash-4.2$echo $?
0

Amdump是Amanda备份过程的主要界面。
它加载指定的配置,并尝试备份"磁盘列表"指定的每个磁盘。
Amdump通常由"Cron"运行,我们将在下步步骤中向我们展示。

但是,如果你看到零以外的东西,那么它意味着备份失败。
在这种情况下,我们可以通过使用"amreport"命令以及配置文件,查看备份发生的内容的方便报告。

-bash-4.2$amreport MyConfig

AmReport将生成Amanda备份运行的摘要报告,如下图所示。

第6步:Amanda备份计划

每天执行"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 "[email protected]"
:wq!

第7步:Amanda Backup客户端安装

在本节中,我们将介绍如何安装和配置我们的虚拟机才能由Amanda备份服务器备份,我们刚刚在以前的步骤中设置。

我们将使用另一个CentOS 7服务器来设置Amanda客户端备份安装。
要安装Amanda客户端包运行以下命令。

[root@centos-bk1 ~]# yum install amanda-client xinetd

第8步:Amanda Backup客户端配置

用于指定Amanda Server位置的'/var/lib/amanda/.amandahosts'文件使打开相同的文件并添加以下条目,然后保存更改。

[root@centos-bk1 ~]# vi /var/lib/amanda/.amandahosts
amanada_server amandabackup
:wq!

然后,确保相同的文件'/var/lib/amanda/.amandahosts'必须包含允许使用amrecover命令的每个Amanda客户端的主机名的条目,并且必须以root身份运行"amRecover"。