Bacula备份系统在高校多业务系统中的应用研究

2015-12-02 02:59叶爱兵沈维幸
关键词:容灾存储设备配置文件

叶爱兵, 张 明, 沈维幸

(上海海事大学信息化办公室,上海 201306)

0 引 言

高校信息化建设日渐深入,应用系统逐步丰富.随着时间的推移,各个时期的应用系统和数据积累也日显庞大和复杂,应用系统的可用性和数据的安全性一直是信息化管理部门的重要工作之一.在信息系统建设之初,建设费用允许的前提下,各高校一般都考虑了商业化的应用备份、数据备份乃至远程容灾方案.然其最大的弊端除了购买费用极为高昂之外,其维护成本过高,部署复杂度大,可维护性和可扩展性差,必须依靠商业软件厂家,从而产生更多支出.而在没有购买商业备份软件的情况下,绝大部分维护人员往往使用tar、dump、rsync等工具软件备份数据和应用程序,不足在于无控制中心、无日志、不易查找,难于管理和回溯[1],更不必说完全通过手工冷拷贝的情况.因此,引入开源备份软件,对高校纷繁的应用系统而言,成本低,可控、可查、可管理、性能优、支持跨平台等优点,Bacula无疑是最具说服力的,尤其对于磁带备份(或虚拟带库)和D2D备份,乃至远程容灾,它都能提供功能强大的备份恢复解决方案.

1 Bacula特点、体系结构和安装步骤

作为开源的跨平台备份工具(支持Windows/Linux/Unix和类Unix等各类操作系统),Bacula支持企业级的C/S(Client/Server,客户服务器模式)备份恢复方案,即系统管理人员可通过其完成基本的数据和应用备份、恢复及完整性验证工作;在当前各高校拥有较大存储设备(如磁带、虚拟带库、磁盘阵列等)的同时,Bacula可通过其具备的介质管理功能,非常简单地实现服务器数据自动保存到一个或多个已挂载介质上去.尽管商业软件如(Veritas、CommVault、Legato等)也能完成将数据自动从服务器到存储设备的备份,但代价昂贵.在关键功能的扩展上,Bacula的开源特性,可以通过修改源代码而实现特殊功能,此一点是上述商业软件无法比拟的.此外,Bacula提供的高级存储管理功能,使得维护人员非常容易地发现并恢复丢失或损坏的数据[3].

1.1 Bacula功能特点[3][5]

支持多种备份方式:全备、增量备份、差异备份;相应地,也支持多种恢复方式:恢复某个目录、文件到指定位置;恢复所有数据到指定位置;保存所恢复文件或目录的权限、属性等;从某个时间点的备份恢复到指定位置.所有的恢复,都会自动恢复数据的原始结构.

支持各类文件系统下的备份与恢复,只要涵盖:Linux/Unix各类文件系统,光驱文件格式、NTFS等;支持各类硬件介质(磁盘阵列、磁带、光盘等);支持各类操作系统(Linux、Unix或类Unix、Mac、Windows系列等)

支持正则表达式方式匹配备份文件、定时备份、灵活的终端命令控制等;支持压缩备份,可节约备份空间;在安全上,支持Sha1和MD5签名校验方式;提供报表自动绘制功能,能自动生成备份报表和恢复报表,方便管理.

1.2 体系结构[4]

Bacula是一个强大、灵活的、开源的备份程序(官网:http://www.bacula.org)

Bacula由五部分组成,它们分别是:

Director:该系统最负责的部分,记录所有备份的客户端和文件,这一后台服务程序可以与客户端和存储设备进行通信;

Client/File后台服务程序:运行在每一台电脑上,并得到Director的支持(其他备份解决方案中称类似的程序叫Agent);

Storage后台服务程序:与备份设备之间通信,包括磁带和磁盘;

Console:与Director通信的主要接口.

一个FileSet确定一组备份文件.一个Job确定与单一的FileSet相关的信息,包括备份的类型(增量或完整等)、何时备份以及使用何种存储设备.(备份和恢复工作可以自动或手动进行)

实际上,Bacula并非必须将以上五个组成部分分别放在不同的服务器上,它们之间的某些部分是可以按需合并的,常见的部署结构可以如下:

(1)Director与SD(Storage Daemon,存储守护进程)以及Console在一台机器上,而客户端FD(File Daemon,文件守护进程)(可以有一台或多台)在其他机器上;

(2)Director与Console在一台机器上,SD在另一台机器上,客户端FD另外;

(3)Director与FD、SD以及Console都在一台机器上,即服务器自己备份自己,数据保存在本机上.

1.3 安装步骤

许宏年等在[1]中有基于LinuxAs4的Bacula服务器和客户端详细安装步骤,并实现了一个简单的C/S模式完全备份实现;[7]非常简略地描述了以CentOS4.4做客户端,Windows做服务器端的安装步骤;[3]有详细的基于各类平台的官方安装步骤说明.下面仅交代配置文件说明、数据设置及启动服务等相关事项:

配置文件说明(几个配置文件,基本不需要修改就能适合我们的环境)

(1)/usr/local/etc/bacula-fd.conf(放于想要备份的每一台机器上,只要在这个文件中指定的Directors才能与File后台服务器进行通信)

(2)/usr/local/etc/bacula-sd.conf(备份服务器上的Storage后台服务,这个配置文件在默认情况下就可以工作,除非我们要指定额外的存储设备)

(3)备份服务器上的Director(Director的配置在所有后台服务器中是最大的.每一个Client、Job、FileSet和Storage设备资源都在此文件中定义)

数据库设置,以MySQL为例进行设置(亦可以选择其他数据库):

以非根用户的身份运行Bacula,因File后台服务需要root权限(其他不需要),因此需要创建一个用户和用户组,先使用vipw命令创建用户(假定用户ID和用户组ID均为1002),可在/etc/group中加入以下代码:bacula:*:1002;bacula用户的主目录为/var/db/bacula(bacula数据库的默认位置)

使用Bacula控制台:

其中:status all命令可以快捷地用来验证所有组件是否启动运行;label命令为磁盘指定卷标;而run命令可以运行这一工作任务;恢复一个工作任务,可以使用restore命令,此时应仔细选择恢复的位置并保证那里有足够的磁盘空间,使用如下命令:

创建备份计划表(不同OS应使用不同的方式)

创建只有客户端的安装(以FreeBSD为例):

同时在Director配置文件中添加一个新的Client资源来实现,并同时添加一个Job和FileSet资源.当修改Bacula的配置文件时,必须重启这些后台服务,可使用如下命令:

2 多业务多平台下备份方案的尝试

上海海事大学信息系统有三十余个,核心数字校园平台业务运行在富士通900和650小型机Solaris OS上,以Symantec的异构备份工具NBU(NetBackup)实现了数字校园平台和数据中心在FUJITSU Eternus4000存储设备上的全备,并基于Symantec Veritas File System实现了远程容灾,但也仅局限于数字校园平台和数据中心.对剩余其他新老职能业务子系统的数据和应用往往采取冷备份及手工备份的方式,其管理、跟踪的繁琐和忙乱可想而知.采取这种方式存在的主要矛盾在于扩容成本高、续保费用高(License基于CPU个数或核的个数)、新老系统若基于现有备份系统,其备份策略的改造复杂.

基于Bacula的体系结构,通过对各类Linux平台下的系统(校医院管理系统、学工系统含迎新、研究生管理系统、课程中心、班车预定等)、Windows平台的系统(校医院学生报销系统、教务教室及排考系统、教务资源管理系统等)进行容量规划和分类(部分应用系统情况列表如表1),再根据全备份时间和增量备份时间按实际情况调整备份策略实施备份.由于Bacula备份系统的配置主要分服务器(即备份机)和客户机(即需要备份主机),而服务器主要配置bacula-dir.conf,并根据业务系统分别定义见名知意的备份名Job(包含作业的类型、文件集、客户端、数据存储位置、作业运行计划等),bacula-sd.conf配置存储daemon(含Storage信息,Director登录名和密码),bacula-fd.conf(Console端定义)等;在客户机上则需配置bacula-fd.conf,并启动bacula的fd进程.在服务器(即备份机)启动bacula系统,选择所配置的Job即可根据配置的备份策略执行备份.将服务器(备份机)置于远程,则可非常方便地实现远程容灾备份和恢复.为避免各主机时间上造成的差异,可先部署一台时间服务器,并在各主机上配置时间同步.Bacula Admin Tools示例效果如图1所示.

3 结束语

本文基于一个强大、灵活、开源的备份程序Bacula,为解决我校纷繁、异构的各类业务系统提供了一个完整、可控、管理方便、可扩展和高性价比的备份和远程容灾方案,既解决了我校实际工作中的问题,节约了信息化成本、提高了管理效能,又是开源软件在高校信息化建设中的一次有益尝试,提高了信息化部门整体的数据和应用安全性,保障了业务系统的可用度和鲁棒性.

表1 部分应用系统情况列表Tab.1 Part of the Application Systems List

图1 Bacula Admin Tools实例效果图

[1] 许宏年,孙洪波,孙琰.基于Linux的Bacula备份系统的研究[J].长春工程学院学报(自然科学版),2011,12(4):128-131.

[2] 徐旭,付威,李芬等.基于内容地址存储的文件级备份系统[J].计算机工程,2010,36(16):60-62.

[3] SHIBBALD K.Bacula main reference[EB-OL].2014-7-28[2014-09-20].http://www.bacula.org/7.0.x-manualsen/main,main.pdf.

[4] Bacula-web[EB-OL].[2014-09-20].http://www.bacula-web.org.

[5] 开源网络备份软件Bacula(安装Bacula)[EB-OL].[2014-09-20].http://www.linuxidc.com/Linux/2012-05/61587.htm.

[6] LAVIGNE D,BSD Hacks.Beijing:O’Reilly Media,2007.

[7] Chinaunix.Bacula安装[EB-OL].2007-07-26[2014-09-20].http://os.chinaunix.net/a2007/0726/961/000000961473.shtml.

猜你喜欢
容灾存储设备配置文件
互不干涉混用Chromium Edge
高速公路收费中心容灾备份系统建设方案分析
基于Zookeeper的配置管理中心设计与实现
忘记ESXi主机root密码怎么办
为View桌面准备父虚拟机
关于建筑企业容灾备份系统方案的探讨
基于中兴软交换的电力通信网络容灾系统建设
Windows 7下USB存储设备接入痕迹的证据提取
基于Flash芯片的新型存储设备数据恢复技术研究
基于数据容灾技术在企业信息系统中的应用研究