Bacula(1)概览
Overview
什么是Bacula
Bacula是一组跨平台的程序,允许系统管理员通过网络,管理备份,恢复和校验备份。Bacula也可以单机运行,备份文件到各种各样的介质,如磁带,磁盘,光盘,光纤磁盘阵列等。
从技术角度说,Bacula是一组C/S程序。Bacula相对简单易用,然而却提供了很多高级存储管理功能,使得备份和恢复丢失或者损坏的文件更加简单。得益于模块化设计,Bacula可以很简单的从单机扩展到有成百上千台机器组成的网络上。
Bacula适用场景
如果你正在使用tar,dump或者bru备份数据,并且你想要一个更加灵活或者带有恢复目录的局域网解决方案,那么Bacula提供的就是你想要的功能。但是,如果你是一个Unix新手或者没有足够的经验管理复杂的备份系统,我们不建议使用Bacula因为它使用起来比tar和dump复杂的多。
如果你像使用单机软件一样使用Bacula,那简直就是暴殄天物,Bacula的强大之处在于可以分布式部署,中心化管理。可以按照配置好的作业规则进行全量或者增量备份,也可以按照规则备份到多个卷。事实上,很多猿反馈Bacula的安装和使用相较于其他同类软件还是很简单的。
如果你正在使用一个复杂的商业软件,如Legato Networker. ARCserveIT, Arkeia或者PerfectBackup+,你会对Bacula感兴趣,它提供了很多相同的功能,并且在GPL v3下开源免费。
Bacula组成
- director(dir)
Bacula的核心,也是整个系统的中心节点,负责管理所有的备份、恢复、验证、归档作业。系统管理员可以使用Bacula Director制定备份计划。Director作为一个服务运行在后台。
- catalog(database-server)
恢复目录包括用于维护所有备份文件索引的程序和数据库,它可以使管理员或用户快速定位和恢复受损的文件。恢复目录的引入使得Bacula和简单备份程序(tar,bru)区别开来,因为恢复目录维护了一个所有使用卷的记录,所有的计划任务,目标文件,提供高效的还原管理。catalog支持三种数据库,MysqlSql、PostgreSQL和SQLite,前两种必须在编译时指定,推荐使用前两种因为SQLite功能太少,性能太差。
- storage(sd)
sd是一组程序,负责实际读写存储介质。
- file/client(fd)
安装在需要备份数据的机器上的客户端软件。它运行在特定的操作系统上,并且为director备份提供可靠的数据和文件信息,client也负责在目标机器上执行恢复操作。fd作为一个后台服务运行在linux机器上,同样也有windows版本。
- console
管理控制台,用户可以通过这个控制台连接到Director Daemon进行管理备份与恢复操作,有三种管理方式:console、 QT编写的界面和wxWidgets的图形界面。第一种:最易用的console,大多数系统管理员会发现它完全能满足需求。第二种:GNOME图形界面,一个半吊子产品,还没开发完,但是包含了大部分口控制台提供的功能。第三种:wxWidget GUI,提供交互式的文件恢复。它也包含了console的大部分功能,并且实现了tab键自动补全命令,智能提示。(在没有gui的linux,后两种都是扯淡,不过可以在windows安装连接到远程director)
- tray-monitor
linux gnome/kde桌面程序,进程监控端,负责监控Director Daemon、Storage Daemon和File Daemon的守护进程。(可有可无,没装图形界面的linux安装不了,推荐使用web端的监控)
- bacula-gui
基于php的web程序,分为Baculum-API和Baculum-Web,可以查看备份情况,基于bconsole执行一部分命令。
参考文献: