阿曼达在Debian Lenny上的磁盘备份

阿曼达在Debian Lenny上的磁盘备份 Amanda是一个开源客户端/服务器 解决方案来备份文件系统。备份由后端触发...

磁盘备份与Amanda在Debian Lenny

介绍

Amanda是一种用于备份文件系统的开源客户端/服务器解决方案。 备份由备份服务器触发,备份定义位于服务器上,但排除列表位于客户机上。 阿曼达还没有达到像IBM TSM / TDP或Legato Networker这样的备份解决方案的水平,但它是迄今为止发现的最好的开源解决方案。

景观

bckserver.mydomain.com (Debian lenny):托管amanda服务器的备份服务器。

bckclient.mydomain.com (Debian lenny):备份客户端是一个具有MySQL 5.0版数据库(无复制)的Web服务器。 mysql备份是使用zrm版本2.2完成的。 我没有为zrm创建一个howto,因为该产品很容易使用,而zmanda 快速设置指南用户手册真的很容易遵循。 我对zrm最大的遗憾是:它不备份到amanda磁带。

作为图书馆的ISCSI SAN。 备份到虚拟磁带(磁盘)

AMANDA

3.1备份服务器

3.1.1安装

由于用户root安装amanda-server软件包和... amanda-client软件包,否则您将无法从bckclient中进行还原。

# apt-get update

# apt-get install amanda-server amanda-client xinetd gawk gnuplot readline-common openssh-server

在出现提示时接受所需的其他包。

3.1.2(如果适用)在Inetd配置文件中注释Amanda条目

软件包配置inetd和xinetd。 在这个howto我们只使用xinetd。

编辑/etc/inetd.conf并评论与amanda相关的行:

#:OTHER: Other services
#amandaidx stream tcp nowait backup /usr/sbin/tcpd /usr/lib/amanda/amindexd amindexd -auth=bsdtcp amdump amindexd amidxtaped
#amidxtape stream tcp nowait backup /usr/sbin/tcpd /usr/lib/amanda/amidxtaped amidxtaped -auth=bsdtcp amdump amindexd amidxtaped
#amanda dgram udp wait backup /usr/sbin/tcpd /usr/lib/amanda/amandad -auth=bsd amdump amindexd amidxtaped

3.1.3修改Amanda守护进程使用auth bsdtcp

有关详细信息,请查阅维基

/etc/xinetd.d/中编辑amandaamidxtapeamandaidx文件以匹配以下内容:

# cat /etc/xinetd.d/amanda| grep -v "^#"

service amanda
{
socket_type = stream
protocol = tcp
wait = no

user = backup
group = backup
groups = yes
server = /usr/lib/amanda/amandad
server_args = -auth=bsdtcp amdump amindexd amidxtaped
disable = no
}

# cat /etc/xinetd.d/amidxtape | grep -v "^#"

service amidxtape
{
socket_type = stream
protocol = tcp
wait = no

user = backup
group = backup
groups = yes
server = /usr/lib/amanda/amidxtaped
server_args = -auth=bsdtcp amdump amindexd amidxtaped
disable = no
}

# cat /etc/xinetd.d/amandaidx | grep -v "^#"

service amandaidx
{
socket_type = stream
protocol = tcp
wait = no

user = backup
group = backup
groups = yes
server = /usr/lib/amanda/amindexd
server_args = -auth=bsdtcp amdump amindexd amidxtaped
disable = no
}

启用更改:

# /etc/init.d/xinetd restart

3.1.4备份配置

我们将定义每日备份,配置将被称为DailySet1

在安装时默认配置的备份用户是:

用户名: 备份

用户组: 备份

home dir: / var / backups

#  su backup -c "mkdir /etc/amanda/DailySet1"

我们为DailySet1创建一个最小配置文件amanda.conf

vi /etc/amanda/DailySet1/amanda.conf

org "DailySet1"         # your organization name for reports
mailto "backup_admin@mydomain.com" # space separated list of operators at your site
dumpuser "backup" # the user to run dumps under

logdir "/etc/amanda/DailySet1/logs" # log directory
infofile "/etc/amanda/DailySet1/curinfo" # database filename
indexdir "/etc/amanda/DailySet1/index" # index directory
tapelist "/etc/amanda/DailySet1/tapelist" # list of used tapes

tapecycle 9 tapes
tapetype DISK
tpchanger "chg-disk"
changerfile "/etc/amanda/DailySet1/changer" # needed by amlabel
tapedev "file:/space/vtapes/DailySet1/slots"

define tapetype DISK {
comment "Backup to HD"
length 5 gbytes
}

# comment holding disk section if needed
holdingdisk hd1 {
directory "/dumps/"
}

# to be used by any other dumptype
define dumptype global {
comment "Global definitions"
index yes
record yes
auth "bsdtcp"
}

define dumptype daily {
global
comment "daily dumptype"
compress client fast
program "GNUTAR"
strategy standard
priority high
exclude list "/etc/amanda/DailySet1/global-debian-exclude.list"
}

快速说明:

- 我们计划使用9个5千兆字节的磁带。 我们在9次备份后回收磁带。

- 我们计划在bckclient上备份一些例外(ref排除列表部分3.2.6)。

有关语法的详细信息,请查看amanda.conf手册页。

amanda.conf中指定的DailySet1创建数据库存储

# su backup -c "mkdir /etc/amanda/DailySet1/logs"

# su backup -c "mkdir /etc/amanda/DailySet1/index"

# touch /etc/amanda/DailySet1/tapelist

# su backup -c "mkdir /etc/amanda/DailySet1/curinfo"

3.1.5(可选)配置保持盘

持有磁盘用作缓存来存储所有Amanda客户端的备份数据( 参考 )。

如果您不打算使用保留磁盘,请查看amanda.conf文件。

# comment holding disk section if needed
#holdingdisk hd1 {
#  directory "/dumps/"
#}

并跳过本节。

如果您打算使用保持盘:

# su backup -c "mkdir /dumps"

# chmod 750 /dumps

我在这里使用本地磁盘。 本文档不包括细节。

# cat /etc/fstab | grep LABEL

LABEL=holdingdisk       /dumps           ext3    defaults        0      
LABEL=backup       /space  xfs     _netdev        0       0 

3.1.6配置虚拟磁带

# mkdir -p /space/

我在这里使用我的ISCSI SAN磁盘。 查看此ISCSI howto的详细信息。

# mkdir -p /space/vtapes/DailySet1/slots

# chown backup:backup -R  /space/

# chmod 750 /space/vtapes

# su - backup

$ cd /space/vtapes/DailySet1/slots

创建磁带:

$ for ((i=1; $i<=9; i++)); do mkdir  slot$i;done

初始化磁带机:

$ ln -s slot1 data

测试虚拟磁带:

$ ammt -f file:/space/vtapes/DailySet1/slots status

file:/space/vtapes/DailySet1/slots status: ONLINE

标记磁带:

$ for ((i=1; $i<=9;i++)); do amlabel DailySet1 DailySet1-0$i slot $i; done

注意:如果您打算使用超过9个磁带(例如25个),请执行第二个amlabel命令:

$ for ((i=10; $i<=25;i++)); do amlabel DailySet1 DailySet1-$i slot $i; done

将虚拟磁带更换器重置回第一个socket。

$ amtape DailySet1 reset

amtape: changer is reset, slot 1 is loaded.

$ ls -l data

lrwxrwxrwx 1 backup backup  35 jun  7 02:27 data -> /space/vtapes/DailySet1/slots/slot1

3.1.7备份定义:磁盘清单

在本节中,您将为每个备份客户端指定要备份的磁盘。

在备份客户端:

作为用户root问题挂载在备份客户端列出挂载的磁盘:

 # mount

/ dev / mapper / debian-root on / type xfs
/ dev / sda1 on / boot type ext2(rw)
/ dev / sdb1 on /var/www/www.mysite.com type ext3

在备份服务器上:

$ vi /etc/amanda/DailySet1/disklist

bckclient.mydomain.com /var/www/www.mysite.com/ daily
bckclient.mydomain.com / daily
bckclient.mydomain.com /boot/ daily

语法 :client.fqdn path dumptype(ref amanda.conf)

注意:由于我们使用完全限定的域名,您的名称解析( / etc / hosts或DNS和反向DNS)必须正确设置和测试。 如果您不确定使用IP地址。

3.1.8授权:amandahost

此文件用于授权客户端或服务器连接:

$ vi /etc/amandahosts

bckserver.mydomain.com root amindexd amidxtaped
bckserver.mydomain.com backup amdump
bckclient.mydomain.com root amindexd amidxtaped

行:“bckclient.mydomain.com root amindexd amidxtaped”允许来自bckclient的用户root执行恢复。

“bckserver.mydomain.com backup amdump”行允许用户从bckserver进行备份,以在bckserver上运行备份。

有关文件语法和身份验证的详细信息。

注意:由于我们使用完全限定的域名,您的名称解析( / etc / hosts或DNS 反向DNS)必须正确设置和测试。 如果您不确定使用IP地址。

# ln -s /var/backups/.amandahosts /etc/amandahosts

# chmod 400 etc/amandahosts

# ls -l /etc/amandahosts

-r-------- 1 backup backup 157 mai 27 02:12 /etc/amandahosts

# ls -l /var/backups/.amandahosts

lrwxrwxrwx 1 root root 16 mai 17 00:41 /var/backups/.amandahosts -> /etc/amandahosts