文档控制
文档信息 | |||
文档名称 |
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服务。如下图:
- 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。
1.4.2. Bacula各组件的配置文件简介
为了让Bacula了解你的系统要如何备份哪些终端,必须创建一些包含相关信息的配置文件 。下图说明了各配置文件主要配置对象的作用:
下面这张图描述了各配置文件之间主要对象的关系,对了解Bacula配置文件非常重要:
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)