Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9287661
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: LINUX

2012-07-18 09:05:33

Amanda集中备份实例  

2010-05-06 15:46:10|  分类: linux恢复 |  标签: |字号 

Amanda(高级马里兰自动网络磁盘归档 Advanced Maryland Automatic Network DiskArchiver)网络备份软件是我第一次接触Linux就听到过,只是从来都没有使用过,有需要备份得时候,就是自己写写简单的脚本,使用cron来做定时任务,也能基本满足需求。虽然曾经起心想用Amanda,但限于没有适合的环境,只能作罢。  现在的情况有所不同了,有4,5台服务器需要备份,设计到不同的平台,其备份特性应该达到或者至少朝企业级标准靠拢,因此,这几天看了看Amanda的文档,做了一些测试,目前在我的环境下配置成功,特记录下来和大家分享。
  这次打算分两篇文档介绍,本篇是介绍文件备份,下一篇将介绍针对MySQL数据库的备份方法。
  这次配置的大致流程如下:
  ◆安装和配置Amanda备份服务器
  ◆安装Amanda客户端
  ◆配置服务器和客户端参数
  ◆检验配置
  ◆校验备份
  ◆测试恢复
  下面的列表给出这次测试环境的网络和机器配置

   
    一、安装和配置Amanda服务
  首先从官方站点现在对应OS的最新Amanda版本,我写这篇帖子的时候,针对Ubuntu 8.10的最新版本是2.6.1p1,可以从 找到适合里的版本,包括服务端和客户端。
  以下操作cp1机器上执行,如果没有特别说明,使用的帐号为root。
  因为ubuntu仓库里自带的版本比较低,而且与官方版本在配置方面有些不同,所以建议先卸载自带的版本,然后安装下载的版本。
Amanda服务的启动依赖xinetd超级服务,编辑或者创建/etc/xinetd.d/amandaserver文件,内容应该像下面这个样子:


   
    重启xinetd服务
  root@cp1:~# /etc/init.d/xinetd reload
  * Reloading internet superserver configuration xinetd [ OK ]
  root@cp1:~#
  二、安装客户端
  用root登录cp2机器,下载对应的客户端并安装
  [root@cp2 /tmp]# rpm -i amanda-backup_client-2.6.1p1-1.rhel5.i386.rpm
  4月 11 2009 12:16:32: Preparing to install: Amanda Community Edition - version 2.6.1p1
  4月 11 2009 12:16:32: Checking for 'amandabackup' user...
  4月 11 2009 12:16:32:
  4月 11 2009 12:16:32: The 'amandabackup; user account has been successfully created.
  4月 11 2009 12:16:32: Furthermore, the account has been automatically locked for you
  4月 11 2009 12:16:32: for security purposes. Once a password for the 'amandabackup'
  4月 11 2009 12:16:32: account has been set, the user can be unlocked by issuing
  4月 11 2009 12:16:32: the following command as root.:
  4月 11 2009 12:16:32:
  4月 11 2009 12:16:32: # passwd -u amandabackup
  4月 11 2009 12:16:32:
4月 11 2009 12:16:32: If this is not a new installation of Amanda and you have

  4月 11 2009 12:16:32: pre-existing Amanda configurations in /etc/amanda

  4月 11 2009 12:16:32: you should ensure that 'dumpuser' is set to 'amandabackup'

  4月 11 2009 12:16:32: in those configurations. Additionally, you should ensure

  4月 11 2009 12:16:32: that /var/lib/amanda/.amandahosts on your client systems

  4月 11 2009 12:16:32: is properly configured to allow connections for the user

  4月 11 2009 12:16:32: 'amandabackup'.

  4月 11 2009 12:16:32:

  4月 11 2009 12:16:32:

  4月 11 2009 12:16:32: === Amanda backup client installation started. ===

  4月 11 2009 12:16:35: Updating system library cache...done.

  4月 11 2009 12:16:46: Reloading xinetd configuration...停止 xinetd:[失败]

  启动 xinetd:[确定]

  success.

  4月 11 2009 12:16:47: Installing '/var/lib/amanda/amandates'.

  4月 11 2009 12:16:47: The file '/var/lib/amanda/amandates' has been created.

  4月 11 2009 12:16:47: Ensuring correct permissions for '/var/lib/amanda/amandates'.

  4月 11 2009 12:16:47: '/var/lib/amanda/amandates' Installation successful.

  4月 11 2009 12:16:47: Checking '/var/lib/amanda/.amandahosts' file.

  4月 11 2009 12:16:47: Checking '/etc/amanda/amanda-client.conf' file.

  4月 11 2009 12:16:47: Installing '/var/lib/amanda/.gnupg'.

  4月 11 2009 12:16:47: '/var/lib/amanda/.gnupg' will be created.

  4月 11 2009 12:16:47: The directory '/var/lib/amanda/.gnupg' created successfully.

  4月 11 2009 12:16:47: Ensuring correct permissions for '/var/lib/amanda/.gnupg'.

  4月 11 2009 12:16:47: '/var/lib/amanda/.gnupg' Installation successful.
4月 11 2009 12:16:47: Creating directory '/var/lib/amanda/.ssh'.  4月 11 2009 12:16:47: Creating ssh RSA key in '/var/lib/amanda/.ssh/id_rsa_amrecover'
  4月 11 2009 12:16:48: Setting permissions for '/var/lib/amanda/.ssh' and '/var/
  lib/amanda/.ssh/id_rsa_amrecover*'
  4月 11 2009 12:16:48: Checking for '/var/lib/amanda/.profile' and ensuring correct environment.
  4月 11 2009 12:16:48: Setting ownership and permissions for '/var/lib/amanda/.profile'
  4月 11 2009 12:16:48: Sending anonymous distribution and version information to Zmanda
  4月 11 2009 12:16:48: Setting ownership and permissions for '/var/lib/amanda/.profile'
  4月 11 2009 12:16:53: === Amanda backup client installation complete. ===
  编辑或者创建/etc/xinetd.d/amandaclient,内容如下:

   
    重启xinetd服务
  [root@cp2:~]# /etc/init.d/xinetd reload
重新载入配置: [确定]

  切换到amandabackup用户,编辑/var/lib/amanda/.amandahosts文件,增加下面一行

  cp1.domain.com amandabackup amdump

  这表示允许cp1服务器能够连接到在cp2机器上的amanda客户端。

  -su-3.2$ echo cp1.domain.com amandabackup amdump >> /var/lib/amanda/.amandahosts

  -su-3.2$ chmod 700 /var/lib/amanda/.amandahosts

  在amandabackup用户的主目录创建一个隐藏的密码文件,并设置合理的权限

  -su-3.2$ chown amandabackup:disk ~amandabackup/.am_passphrase

  -su-3.2$ chmod 700 ~amandabackup/.am_passphrase

  到此,在cp2上的amanda客户端配置完成。

  上述步骤在cp3服务器上同样执行一遍。
三、配置备份参数  用amandabackup帐号登录cp1机器,创建Amanda配置目录
  root@cp etc:# su - amandabackup
  -bash-3.00$ mkdir /etc/amanda/FileBackup
  拷贝/var/lib/amanda/example/amanda.conf文件到/etc/amanda/FileBackup/目录,这个amanda.conf文件就是Amanda服务最重要的配置文件了。
  -su-3.2$ cp /var/lib/amanda/example/amanda.conf /etc/amanda/FileBackup /
  当前这个配置文件有700多行,不过大部分是注释,对每一行配置参数给出比较详尽的解释,下面我指列出需要修改的一些配置参数,没有提到的,可以不用管他。
  打开amanda.conf文件,首先编辑下面这些内容:


   
    我们这里用的是虚拟磁带,下面我们要定义虚拟磁带的大小,接着编辑文件,增加下面几行内容:
  define tapetype HARDDISK {
  comment "hard disk as virtual tape"
  length 20480 mbytes
  }
  接下来,我们需要定义认证模式,找到”define dumptype global”区段,在”}”之前,增加auth “bsdtcp”一行
  切换到root帐号,创建备份缓存目录
  root@cp1:~#mkdir -p /dumps/amanda
  root@cp1:~#chown amandabackup:disk /dumps/amanda
  root@cp1:~#chmod 750 /dumps/amanda
  接下来,我们需要创建虚拟磁带目录,在amanda.conf文件里,默认定义了缺省的磁带机槽位数为25个。

当前的磁带均没有打标签,在使用之前一定要打好标签,,我们设定了定义磁带标签的规则(labelstr “^FileBackup-[0-9][0-9]*$”)


   
    接下来,我们做一个测试,看看这些槽位状态如何:

看上去一切正常,接下来,需要重置槽位  -su-3.2$ amtape FileBackup reset
  changer: got exit: 0 str:1
  amtape: changer is reset,slot 1 is loaded
  接下来我们创建/etc/amanda/FileBackup/disklist文件,这个文件包括了所有客户端需要备份的数据定义,内容如下:
  cp3.domain.com /opt/www/sites comp-user-tar
  cp2.domain.com /web/websites comp-user-tar
  最后,我们用amandabackup帐号编辑/var/lib/amanda/.amandahosts文件,增加下面的几行,表示当做恢复的时候,客户端可以连接到备份服务端。
  cp2.domain.com root amindexd amidxtaped
  cp3.domain.com root amindexd amidxtaped
  cp1.domain.com root amindexd amidxtaped
  cp1.domain.com amandabackup amdump
  四、测试
  现在是测试的时候了,用amandabackup帐号登录cp1机器,运行amcheck程序来校验当前的配置是否已经可以运行备份了。

   
    上面的测试结果表示一切正常,可以执行真正的备份了,还是在cp1机器上,用amandabackup帐号执行amdump命令
  -su-3.2$amdump FileBackup
这个命令没有任何输出,除非执行过程中报错,执行完后,将会发一封有关备份状态的细节信息邮件给amanda.conf里定义的收件人,内容大致如下:

我们也可以运行amadmin命令来查询刚才备份的摘要信息

    看上去一切都不错,那就把备份加入到定时任务里吧。
  用amandabackup帐号创建一个你自己需要的备份策略,类似下面这样:
  -su-3.2$ crontab -l
  # m h dom mon dow command
  0 3 * * * /usr/sbin/amdump FileBackup
  到此,关于配置和校验我们都已经完成了,接下来我们完整最后一个最重要的步骤,那就是我们需要校验这些备份数据是否能够恢复,如果不能恢复,备份功能再强大,策略再好,那也没有任何含义。
五、恢复  假定我们需要恢复cp3上一些丢失的数据,首先用amandabackup帐号登录cp2机器,创建/etc/amanda/amanda-client.conf文件,内容如下:


   
    然后使用root帐号运行amrecover命令来初始化data恢复过程


   
    接下的一些命令演示如何将特定的一些数据恢复到指定的目录(这里指定/tmp)


   
    我们看看/tmp下面是不是已经有了我们刚才恢复的数据:


   
    Ok,到此为止,Amanda备份配置基本完成,当然我们很多的配置都是基于缺省定义,比如槽位数,备份周期等,更多详细的定义,可以参考/usr/lib/amanda/example/amanda.conf文件。
阅读(627) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~