Bacula 开源备份解决方案

Bacula被誉为开源平台下最优秀的网络备份工具之一,功能之强大,完全可以和商用备份软件相媲美。Bacula是一款开源的跨平台网络备份工具,提供基于企业级的CS的备份解决方案,可以对数据进行备份、恢复、以及完整性校验。

注:

本文部分图片取自Bacula官网:http://blog.bacula.org/

部分取自Bacula-Web:http://www.bacula-web.org/

功能简介

支持完全备份,增量备份,差异备份。

支持多种恢复方式

支持多种文件系统下的备份恢复(ext3、ext2、reiserfs、xfs、jfs、smbfs、iso9660、ntfs等)

支持各种备份介质

支持多种操作系统

强大的内部功能

以下是Bacula官方列举的与主流备份方案的技术对比参考:

注:表格中的中文翻译仅供参考;如需查看表格中相关注释,可以查看官方页面

支持的操作系统

大多数Linux版本,包括Gentoo, Red Hat, Fedora, Mandriva, Debian,OpenSuSE, Ubuntu, Kubuntu,Centos等等

不同版本的Solaris;

FreeBSD。磁带驱动器支持Bacula≥1.30for reeBSD≥5.0;

Windows。只支持客户端程序;

MacOS X/Darwin (安装支持包见http://fink.sourceforge.net/);

OpenBSD。只支持客户端程序;

Irix。只支持客户端程序。

下面是官方提供列表,供参考:

注:

“x”表示完全支持;

“”表示不完全支持,如果需要详细了解可查看官方文档。

组件和服务简介:

一个完整的bacula备份系统,由下面5个部分组成,如下:

Director Daemon:负责监听所有的备份、恢复、验证、存档事务,以及定制备份和恢复文件计划等,并将整个系统运行状况记录在一个数据库文件中。其配置文件为bacula-dir.conf。

Storage Daemon(SD):主要负责将数据备份到存储介质上,而在数据恢复时,负责将数据从存储介质中传送出去。其配置文件为bacula-sd.conf。

File Daemon(FD):安装在需要备份数据的机器上的守护进程,在备份数据时,它负责把文件传出,在恢复数据时负责接收数据并执行恢复操作。配置文件为bacula-fd.conf。

Console:管理控制台。可以通过这个控制台连接到Director Daemon进行管理备份与恢复操作。

Monitor:进程监控端。

工作流程:

通过console连接到Director端,备份恢复操作开始。

Director端从自己的数据库中调出记录信息,对存储端SD与客户端FD的任务进行协调。

客户端FD负责验证Director的操作许可,如果验证通过,则允许连接到存储端SD

客户端FD根据Director发出的请求去连接SD,将FD端的数据备份到存SD指定的存储介质上,或者将SD端存储介质中的数据传回到客户端FD指定的位置上,完成备份恢复过程。

Bacula各组件中的字段简介

各配置文件之间主要对象的关系。

注:图中使用箭头连接主控端配置文件的相关项与其它配置文件的相关项,所连接的相关项的值必须是相同的。

主控端配置文件的 Director{}项

Name 值与控制台配置文件(bconsole.conf,下同)的 Director{}项、存储端配置文件的 Director{}项及客户端配置文件的 Director{}项的 Name 值相同;Password 值与控制台配置文件的 Director{}项的 Password 值相同。

主控端配置文件的 Storage{}项

Device 值与存储端配置文件的 Device{}项的 Name 值相同;MediaType 值与存储端配置文件的 Device{}项的 MediaType 值相同;Password 值与存储端配置文件的 Director{}项的 Password 值相同。

主控端配置文件的 Client{}项

Password 值与客户端配置文件的 Director{}项的 Password 值相同。

Bacula实例

注:略去详细安装过程,感兴趣可google搜索下,此处将已经搭建完成的备份系统中关键配置贴出来

//安装完成之后,会有如下几个主要配置文件:

[root@director bacula]# ll

total 64

-rw-r----- 1 root bacula 40669 Oct 12 16:58 bacula-dir.conf

-rw-r----- 1 root root 1671 Aug 19 14:44 bacula-fd.conf

-rw-r----- 1 root root 9241 Oct 8 13:53 bacula-sd.conf

-rw-r----- 1 root root 349 Aug 19 14:42 bconsole.conf

-rw-r----- 1 root bacula 256 May 16 2015 query.sql

bacula-dir.conf

Director字段定义Bacula的全局配置

bacula-dir服务端口号

定义一次能处理的最大并发数

Console Password密码

Schedule字段定义备份策略:

第一周的周日晚23:05分进行完全备份

第2~5周的周日晚23:05进行差异备份

所有周一至周六晚23:05分进行增量备份

定义一个WeeklyCycleAfterBackup备份策略

JobDefs字段定义执行任务的一些默认属性,后面定义的job可以继承,但是如果有冲突以job中为准。

Storage字段用来定义将客户端的数据备份到哪个存储设备上。

定义供Job任务使用的池属性信息,例如,设定备份文件过期时间、是否覆盖过期的备份数据、是否自动清除过期备份等。

Recycle表示重复使用

AutoPrune表示自动清除过期备份文件

Volume Retention表示备份文件保留的时间

Maximum Volume Bytes参数表示一个卷的大小

Maximum Volumes表示卷最多400个(每个卷是20G,这个pool可提供最多8TB可用空间,超过会导致备份任务等待)

Maximum Volume Jobs表示每个卷支持的备份任务数量

FileSet字段定义一个名为CentOS-7-APP的备份资源,指定客户端需要备份哪些数据,排除哪些数据等,可以指定多个FileSet。

提供gzip压缩功能(本例中未使用压缩功能)

提供MD5,SHA1校验功能

Job字段定义一个备份任务:

指定备份的客户端主机

定义备份的级别(Level的取值可为Full(完全备份),Incremental为增量备份,Differential差异备份,如果第一次没做完全备份,则需要先进行完全备份再执行Incremental)

Client字段用来定义备份哪个客户端的FD数据

Address:定义客户端,可以是IP地址也可以是FQDN(有A记录)

FDPort:与客户端FD通信的端口号

Password:Director与客户端FD的验证密码,这个密码必须与客户端FD配置文件bacula-fd.conf中的密码一致

bacula-sd.conf

定义存储

定义Device

Archive Device用来定义备份的介质(可以是CD,DVD,TAP等),这里是指定到目录(文件系统)

注:SD可以是一台单独的服务器,也可以和Director在一台机器上

bacula-fd.conf

定义一个控制StorageDaemon的Director

director-dir必须要与Director端配置文件bacula-dir.conf中的Director逻辑字段名称一致(password必须要和Storage逻辑字段一致)

director-mon必须要与Director端配置文件bacula-dir.conf中的Console逻辑字段名称一致(password必须要一致)

注:需要备份的客户端要先安装bacula客户端软件(支持Win)

Bacula-Web

主页面

存储池

Job状态

app1-fd客户端过去两周的备份情况

备份报告

备份数据恢复

恢复客户端app1(JobID为1271)

找到对应的job ID

恢复后的数据

本文作者:高瑞(点融黑帮),目前就职于点融网IT 部门,担任系统运维工程师,爱好篮球运动。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容