一、 bacula的几种网络备份拓扑
     前面文章介绍了bacula有5个组成部分,在实际的应用中,没有必要将5个部分分别放在不同的服务器上,它们之间的某些部分是可以合并的,常见的bacula部署结构有如下几种:
1) Director与SD以及Console在一台机器上,而客户端FD在另外一台机器上,当然客户端FD可以有一台或者多台上。
2) Director与Console在一台机器上,SD在一台机器上,客户端FD在一台或者多台上。
3) Director与客户端FD、SD以及Console端都在一台机器上,也就是服务器自己备份自己,数据保存在本机。

二、 编译与安装bacula
 这里对上一节的第一种bacula部署结构进行介绍。环境如表4-1所示。
表1 一个bacula部署结构的环境
主机名 IP地址 操作系统 应用角色
baculaServer 192.168.12.188 CentOS release 5.4 Director、SD、Console
baculaClient 192.168.12.189 CentOS release 5.4 FD
整个拓扑结构如图1所示。


图1 bacula实例的拓扑结构

1.在bacula服务器端安装bacula
首先在http://www.bacula.org下载相应的源码,这里下载的是bacula-5.0.1.tar.gz,接着进行编译安装,安装过程如下:

  1. [root@baculaServer opt]# tar zxvf bacula-5.0.1.tar.gz  
  2. [root@baculaServeropt]# cd bacula-5.0.1  
  3. [root@baculaServer bacula-5.0.1]# ./configure --prefix=/opt/bacula --with-mysql=/opt/mysql  
  4. [root@baculaServer bacula-5.0.1]#make  
  5. [root@baculaServer bacula-5.0.1]#make install 


 bacula需要数据库的支持,这里采用Mysql数据库,并假定Mysql已经在bacula服务器端安装好了,且Mysql安装路径为/opt/mysql(bacula在编译时通过“--with-mysql”选项指定了Mysql数据库的安装路径)。
 bacula安装完成后,所有配置文件默认放在/opt/bacula/etc/目录下。

2.在bacula客户端安装bacula
由于bacula客户端只是是需要备份的客户端,因而只需安装相应的客户端组件即可,过程如下:

  1. [root@baculaClient opt]# tar zxvf bacula-5.0.1.tar.gz  
  2. [root@baculaClient opt]# cd bacula-5.0.1  
  3. [root@baculaClient bacula-5.0.1]# ./configure --prefix=/opt/bacula --enable-client-only  
  4. [root@baculaClient bacula-5.0.1]#make  
  5. [root@baculaClient bacula-5.0.1]#make install 

三、 初始化Mysql数据库
 在baculaServer上安装完bacula后,还需要创建bacula对应的Mysql数据库以及访问数据库的授权,好在bacula已经为用户准备好了这样的脚本,接下来只要在bacula服务器端上执行如下脚本即可。

  1. [root@localhost bacula-5.0.1]#cd /opt/bacula/etc  
  2. [root@localhost etc]# ./grant_mysql_privileges   
  3. [root@localhost etc]# ./create_mysql_database   
  4. Creation of bacula database succeeded.  
  5. [root@localhost etc]# ./make_mysql_tables   
  6. Creation of Bacula MySQL tables succeeded. 


 接下来可以登录Mysql数据库,查看bacula的数据库和数据表是否已经建立。在执行上面三行Mysql初始代码时,默认由空密码的root用户执行,因此要请确保Mysql数据库root密码为空。