如果你正在寻找一个好的开源备份解决方案,那么今天就是你的幸运日。对于磁带备份和D2D备份,Bacula是目前一个很受欢迎并且性能良好的开源应用。在上篇中,我们将介绍Bacula的入门使用、Bacula的不同之处以及基本的安装和架构。并不是说这篇文章是一个总的指南手册,但是能为那些还未体验过Bacula强大在线服务用户一个大体的介绍。
>Bacula基本功能和服务
>Bacula采用了三种服务:存储导向器(bacula-sd)、文件导向器(bacula-fd)以导向器本身(bacula-dir)。存储导向器辅助数据存储和数据恢复,同时可以作为物理存储介质。文件导向器是针对用户方面的,安装在需要备份的设备上,bacula导向器是所有备份活动的管理者和协调者。你将使用Bacula导向器(bacula-dir)来架构存储池、存储任务以及自动规划备份流程,Bacula控制台(bconsole)提供界面并对其实施控制。
>准备事项和SQL安装阶段一
>有一些准备措施是很必要的,这取决于你采用的操作系统。如果你的操作系统不包括mtx(现有大多数操作系统都支持)或者你想要采用SQLite,最简单的做法就是下载depkgs,然后创建一个/bacula目录,你可以将bacula和depkgs源代码解包到这个目录下。将depkgs解包到这个目录并且运行:
>make sqlite
>make mtx
>Bacula数据库最常用的就是MySQL,这样我们就不用再安装特定的数据库。使用MySQL的时候,确定使用mysql层级和libz层级的封装来获得Bacula所需的SQL头文件以及mysqlclient的gzip压缩包。如果你正在安装MySQL by .rpm,那么你需要:
>mysql-.rpm
>mysql-server-.rpm
>mysql-devel-.rpm
>如果从源代码安装,然后从你保存源代码的目录下解包文件,运行:
>./configure –enable-thread-safe-client –prefix=mysql-directory
>你在目录哪个位置保存mysql-directory,就在这个位置上安装mysql。通常系统中采用的是/usr/local/mysql,运行安装,最后运行:
>./scripts/mysql_install_db
>这就创建好可以控制用户访问的SQL数据库。
>安装Bacula
>下一步,下载bacula源,在开始创建的/bacula目录下解包归档文件。更改目录运行:
>./configure
>采用bacula文档中提到的选项。从这些基本选项开始安装,例如,从基本的Red Hat安装开始:
>CFLAGS=”-g -Wall” ./configure
>–prefix=/usr
>–sbindir=/usr/sbin
>–sysconfdir=/etc/bacula
>–with-scriptdir=/etc/bacula
>–enable-smartalloc
>–enable-bat
>–with-qwt=$HOME/bacula/depkgs/qwt
>–with-mysql=mysql-directory
>–with-working-dir=/var/bacula
>–with-pid-dir=/var/run
>–enable-conio
>确定其中包括了你开始安装mysql时的目录。如果你接下来你需要修改其中一些选项的话,你从头使用./make distclean,然后再次运行./configure选择你需要的选项。完成了这些操作之后,运行安装。
>根据Bacula安装手册,你可以根据需要对Bacula配置文件进行定制化。这些文件的配置主要取决于你的备份介质或者磁带设备、目标文件地址以及你的备份计划。刚开始是默认模式,你启动了Bacula之后可以对这些配置文件进行定制化设定。最后你可能会把大多数时间花在安装bacula-dir.conf上,因为这涉及对任务、计划以及存储池的定义和控制。
>Bacula就绪可以运行,这里有一个测试配置文件的小技巧,那就是先运行一些带-t选项的服务:
>./bacula-dir -t /etc/bacula/bacula-dir.conf
>最后运行结果要么是配置文件正确,要么是出现一个提示架构文件错误位置的信息。
>在配置文件过程中,有时候会出现一个麻烦的问题,那就是随机生产的密码必须在配置文件获得通过。如果更改密码或者没有通过认证,那么导向器服务就无法启动。另外一个备受争议的架构难题就是配置Bacula磁带设备。Bacula列出了支持的磁带设备,我强烈建议你在使用Bacula之前要对你的磁带驱动器进行测试。
>SQL安装阶段二
>启动mysql然后变更bacula安装目录。这样你会看到用于创建和控制Bacula数据库的脚本。你需要运行的脚本包括:./grant_mysql_privileges、./create_mysql_database以及./make_mysql_tables。这些脚本将认证MySQL中bacula用户的权限并且创建bacula书库和表格。另外如果你的mysql库不是位于/usr/lib或者/usr/local/lib.下的,你可能还需要编辑/etc/ld.so.conf和运行/sbin/ldconfig。
>最后,运行Bacula
>正如上面我们提到的,运行-t选项来测试每个配置文件和服务。修改了所有错误之后,你就可以启动Bacula了:./bacula/start,并且通过bconsole启动程序界面。
>WatchStor.com