文档控制

文档信息

文档名称

Bacula 介绍

文档编写者

friend-sen

文档版本编号

V1.0

文档类型

技术文档

文档版本日期

2010-06-14

备注

此文档中章节多数在http://sens.cublog.cn博客bacula'中文化'中找到。本文档中是我组织过的。博客格式比较乱,附件中的文档更适合查阅。

测试环境:Bacula Server系统:Centos 5.3;Bacula Client for Linux系统:RHEL 4;Bacula Client for Windows系统:Windows 7。

所有权声明

文 档里的资料多数可以在我的博客(http://sens.cublog.cn)中找到,博客中大部分文档也是在网络中引用或转载,我在这里做了整理及修 改,目的是为了集大家之所长,为使用Bacula的大家提供更好帮助。如有侵权,还望通知,将予以改正。许多专业术语是我个人的理解,文档中有错误的地 方,或者可以用更好的语言表达的,希望将好的建议告诉我,以便错误得到及时更正,共同为使用Bacula的大家提供便利。


目录

1. 关于Bacula. 2

1.1. 什么是Bacula. 2

1.2. 谁需要Bacula. 2

1.3. Bacula的优点和限制... 2

1.4. Bacula的组件和服务... 3

1.4.1. Bacula的组件和服务介绍... 3

1.4.2. Bacula各组件的配置文件简介... 6

2. Bacula支持的操作系统... 7

3. Bacula系统要求... 8

4. Bacula与其他备份方案的备份技术对比... 9

文档下载


1. 关于Bacula

1.1. 什么是Bacula

Bacula是一套计算机程序,她允许系统管理员通过不同类型的计算机网络备份,恢复数据,并可检查数据备份的准确性。 Bacula也可以运行于一台计算机,可以备份到不同类型的媒体,包括磁带和磁盘。

在技术方面,它是一个网络客户机/服务器的备份程序。 Bacula相对易于使用和高效,同时提供许多先进的存储管理功能,可以很容易地找到并且恢复丢失或损坏的文件。由于它采用模块化设计,Bacula既适合小型单一的计算机系统,也可用于数百台电脑组成的大型网络。

Bacula被誉为开源平台下最优秀的网络备份工具之一。功能之强大,完全可以和商用软件备份软件相媲美。


1.2. 谁需要Bacula

以下是官方给出的提示:

  • 如 果您目前使用tar、dump、bru(unix的命令)程序,备份您的计算机数据,你又想要一个网络解决方案,具有更大的灵活性,或目录服务, Bacula将最有可能提供你需要的功能,甚至超出您的需要。然而,如果您是Unix方面的新手或没有准备先进的备份方案的经验, Bacula项目不建议您使用Bacula,因为它相对于tar、dump更难以安装;
  • l如果你想Bacula的操作像上述 简单的程序那样,可以将数据写入放入驱动器的任何磁带,是不可能的,你会发现与那些程序相比较而言,Bacula运用起来要困难的多。 Bacula是用来按照您所指定的规则保护您的数据,这意味着重用一盘磁带只能作为最后的手段。Bacula可能会强行写入任一磁带驱动器,但它的操作比 其他简单的程序更加容易和高效;
  • 如果您正在使用的是Amanda,又希望备份程序,可以写入多个Volume(即不仅限于你的磁带驱动器的能力) ,那么Bacula可以满足您的需求。此外,相当数量的Bacula用户认为 Bacula比其他备份程序更易于安装,且使用方便;
  • 如果您目前使用是先进的商业程序,如Legato Networker. ARCserveIT , Arkeia ,或PerfectBackup + ,您可能会感兴趣的Bacula ,它不仅提供了许多相同的功能,而且还是免费软件,具有GNU2软件许可。


1.3. Bacula的优点和限制

下列为Bacula优点介绍:

  • 确保文件的属性被完善保存和恢复。因为每一台计算机都安装有一个客户端;
  • 可使用NFS或Samba备份没有客户端软件的计算机。但不建议这么做;
  • 所有被备份文件的文件索引自动写入SQL数据库,使用户快速查找并回复需要的档案,支持MySQL, PostgreSQL, 和 SQLite。自动删除数据中旧的记录,从而简化数据库管理;
  • 模块化的设计是Bacula有很强的扩展性;
  • 内置任务调度程序,并可以设置任务优先级;
  • 可媲美商业产品但免费。速度快,安装配置相对简单;
  • 数据操作更安全。每个后台程序之间使用CRAM-MD5口令验证,文件数据可以减刑MD5或者SHA1签名验证;
  • 高级功能。备份数据至CD/DVD介质及磁带机,使用Bacula配合建立Linux容灾系统。

下列为目前Bacula的限制:

  • 数据库超过40亿条目存储,数据库FileId可能会溢出;
  • Bacula文件系统(版本≥1.39)已经从32位改为64位,但必须手动调整;
  • 不能同时进行回复两个不同的任务(job);
  • Bacula通常可以从一个客户端还原到其他客户端,如果结构有明显不同(32位结构到64为,亦Win32到Unix),就会有一些研制。

更详细资料请查看官方文档。


1.4. Bacula的组件和服务

1.4.1. Bacula的组件和服务介绍

Bacula是由以下五个主要部分或服务组成:Director, Console, File, Storage, and Monitor services。

为了运行一个成功的备份或还原,以下四个守护进程必须配置和运行: Director, File,Storage守护进程,以及catalog服务。如下图:

       1_thumb6

  • Bacula Director

Bacula Director服务是一个管理程序,管理所有的备份,恢复,验证和存档事务。作为守护进程在后台运行。

  • Bacula Console

则是管理员或用户与Bacula Director通讯的接口,通讯端口9101。Bacula Console程序有三个版本,满足不同的用户需求。

Shell窗口(终端接口)。交互式操作,能满足大多数用户需求;

Bacula Admin Tool(BAT)。基于QT的图像化管理界面,非常友好,Windows客户端中包含此程序,也有linux版本,常用操作都有,唯不能进行添加和删除任务操作;

基于wxWidgets的文本交互图形用户界面。

  • Bacula File

Bacula File客户端程序是安装在被备份机器上的程序。当被Director调用的时候,它提供详尽关于他所运行的操作系统、文件属性和数据等资料。在恢复的时候,Bacula File还负责恢复文件系统的的文件属性和数据。

  • Bacula Storage

Bacula Storage服务用于指定进行存储和恢复文件属性和数据的物理备份媒体或Volume。换句话说,Storage守护负责读写磁带(或其他存储媒体,例如文件系统)。

  • Catalog

Catalog 服务程序负责维护所有被备份文件的文件索引和(Volume的)数据库。Catalog服务允许系统管理员或用户能够快速地找到并恢复任何需要的档案。 catalog服务是Bacula和简单的tar,bru备份命令的主要区别,因为catalog维护所有Volume使用情况的记录,所有任务的运行情 况,和所有档案的保存情况,允许有效的恢复和Volume管理。 Bacula目前支持的三个数据库中,,在安装Bacula时,必须选择其中之一。

  • Bacula Monitor

Bacula Monitor 服务程序,允许用户监控Bacula Directors, Bacula File Daemons and Bacula Storage Daemon守护进程的运行状况。目前,只有基于GTK +版本,适用于GNOME, KDE,或支持FreeDesktop.org系统托盘的标准任何可图形窗口。通讯端口9101。

Bacula各服务间的合作

下面的框图显示了对于备份任务(Job)的Bacula Services典型的相互作用。每个区块代表一般一个单独的进程(通常是一个后台程序) 。一般来说,Director负责信息的流通。它也维护了Catalog。

         2_thumb3


1.4.2. Bacula各组件的配置文件简介

为了让Bacula了解你的系统要如何备份哪些终端,必须创建一些包含相关信息的配置文件 。下图说明了各配置文件主要配置对象的作用:

        3_thumb3

下面这张图描述了各配置文件之间主要对象的关系,对了解Bacula配置文件非常重要:

        4_thumb5


2. Bacula支持的操作系统

  • 大多数Linux版本,包括Gentoo, Red Hat, Fedora, Mandriva, Debian,OpenSuSE, Ubuntu, Kubuntu等等, Bacula并在Centos 5上建立和测试的;
  • 不同版本的Solaris;
  • FreeBSD。磁带驱动器支持Bacula≥1.30 for reeBSD≥5.0;
  • Windows。只支持客户端程序;
  • MacOS X/Darwin (安装支持包见http://fink.sourceforge.net/);
  • OpenBSD。只支持客户端程序;
  • Irix。只支持客户端程序。

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

 

系统名称

系统版本

客户端

主控端

存储端

GNU/Linux

All

X

X

X

FreeBSD

≥ 5.0

X

X

X

Solaris

≥ 8

X

X

X

OpenSolaris

 

X

X

X

MS Windows 32bit

Win98/Me

X

  
 

WinNT/2K

X

  

MS Windows 64bit

XP

2008/Vista

2008/Vista

X

X

X

  

MacOS X/Darwin

 

X

  

OpenBSD

 

X

  

NetBSD

 

X

  

Irix

    

True64

    

AIX

≥ 4.3

   

BSDI

    

HPUX

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


3. Bacula系统要求

  • 使用的GNU C + +版本4.1.3 已经成功地编译和使用Bacula;
  • Bacula支持下的每一个数据库的最低版本为:
  • MySQL 4.1
  • PostgreSQL 7.4
  • SQLite 2.8.16 或者 SQLite 3;
  • 在GNOME2.x下开发和测试GNOME控制台程序;它需要不高于2.2版本的GNOME,不低于3.1版本的KDE,或者支持FreeDesktop系统托盘的任何标准窗口管理器;
  • 最新稳定ANSI或Unicode版本的wxWidgets ( 2.6.1 ),开发和测试 wxWidgets控制台程序;
  • 使用DVD作为备份介质时,需要安装DVD + RW(5.21.4.10.8)工具,以及对的DVD + RW光碟工具6.1版修补程序。


4. Bacula与其他备份方案的备份技术对比

以下是Bacula官方列举的与主流备份方案的技术对比参考(部分内容)。

 

Bacula

Amanda

Tivoli (TSM)

Veritas

Legato Networker

BrightStor ARCserve

备份类型

完全,差异, 增量,合并

完全, 增量(1-9)1

完全, 增量

完全,差异, 增量

完全,差异, 增量,合并

完全备份3, 差异, 增量

数据格式

Custom, but fully open

open

Custom

Custom

Custom

 

Autochangers

Fully supported

Fully supported

Fully supported

 

Optional

Fully supported

网络数据管理协议NDMP

No

Yes11

Yes

Yes

Yes

 

备份至磁带

Yes

Yes

Yes

Yes

Yes

Yes

备份至磁盘

Yes

Yes

Yes

Yes

Optional

Yes

备份至DVD

Yes

Yes

No

 

No

 

分段传输

Yes

Yes

Yes

Yes

Yes

 

开源

Yes

Yes14

No

No

No

No

商业支持

Yes

Yes

Yes

Yes

Yes

Yes

图形用户界面

Yes,BAT

Yes,ZMC

Client&admin client

Yes

Yes

Yes

多平台

Yes

Yes

Yes

Yes

Yes

Yes

病毒扫描

No

No

 

Yes

 

Yes

卷影副本备份 (VSS)

Yes

Yes

Yes

Yes

Yes

Yes

注:表格中的中文翻译仅供参考;如需查看表格中相关注释,可以查看官方页面(http://wiki.bacula.org/doku.php?id=comparisons)