分类: 服务器与存储
2011-11-07 14:37:24
文档控制
文档信息 | |||
文档名称 | Bacula 安装 | ||
文档编写者 | friend-sen | 文档版本编号 | V1.0 |
文档类型 | 技术文档 | 2010-06-20 | |
备注 | 博客格式比较乱,附件中的文档更适合查阅。 测试环境: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 主控端安装
本文档将介绍基于Centos 5.3系统平台的操作指南,试图让你使用简单指令快速从源程序安装Bacula。
如果你使用系统是Fedroa、Redhat或Centos 的其他Linux发行版,也可参照此文档。命令名、路径等可能因不同的发行包或操作系统而不同,因而这时你可能需要些努力来搞一下安装文档里的东西。
如果你使用的是其他Linux或者其他系统,或者希望了解更详细的说明,可以在官方维基百科(http://wiki.bacula.org)上找到。
在做安装之前确认要对该机器拥有root权限。
确认你安装好的系统上已经安装如下软件包再继续。
数据库使用Mysql
验证一下
# rpm -qa gcc gcc-c++ mysql mysql-devel mysql-server
没有安装这些软件包,可以使用yum命令完成安装。
# yum install gcc gcc-c++
# yum install mysql mysql-devel mysql-server
当然也可以从系统光盘中找到这些软件包。
可在Bacula站点(http://www.bacula.org/)获取最新版本
切换为root用户
# su –l
建立存储下载文件的目录,下载Bacula源程序,程序版本为5.0.1。
# mkdir /opt/bacula
# cd /opt/bacula
# wget http://ncu.dl.sourceforge.net/project/bacula/bacula/5.0.1/bacula-5.0.1.tar.gz
Bacula
解压缩Bacula源程序包
# tar zxvf bacula-5.0.1.tar.gz
# cd bacula-5.0.1
设置环境变量,将$HOME设置为/usr/local
# HOME=/usr/local;
# CFLAGS="-g -Wall"
运行Bacula配置脚本。这里介绍一下configure的常用参数,更详细说明可查看官方文档(Configure Options)。
-prefix=
指定Bacula安装目录;
-sbindir=
指定可执行文件存放目录;
-sysconfdir=
指定配置文件存放目录;
-enable-smartalloc
强烈建议启用此选项。有助于检测内存泄漏;
-enable-bat
启用Bacula图形化管理工具BAT(Bacula Admin Tool)。依赖Qt4 >= 4.3.4,在开源站点Sourceforge的Bacula项目中下载此程序安装包(depkgs-qt)。Qt4必须在安装Bacula之前安装完成。详细说明。
Bacua Client for Windows的(5.0.1)版本中已包含此程序,安装简单而且很友好,界面及功能和Linux平台下的一样;
-enable-bwx-console
启用基于wxWidgets的图像界面控制台。详细说明可查看官方文档Dependency Packages;
-enable-tray-monitor
启用托盘监控工具。它需要不高于2.2版本的GNOME,不低于3.1版本的KDE,或者支持FreeDesktop系统托盘的任何标准窗口管理器;基于GTK >=2.10;
-enable-client-only
启用该选项表示只安装Bacula客户端;
-with-sqlite3=
启用该选项表示Bacula使用SQLite3数据库。在开源站点Sourceforge的Bacula项目中可以下载SQLite3数据库安装包(depkgs),需要了解详细操作可查看官方文档Dependency Packages;
-with-mysql=
启用该选项表示Bacula使用MySQL数据库;
-with-postgresql=
启用该选项表示Bacula使用PostgreSQL数据库;
-enable-conio
Tells Bacula to enable building the small, light weight readline replacement routine. It is generally much easier to configure than readline, although, like readline, it needs either the termcap or ncurses library;
-with-working-dir=
此选项是强制的。指定Bacula运行时的文件存储目录;
-with-pid-dir=
指定Bacula进程ID文件存放目录。默认目录为/var/run。此目录必须手工建立;
-with-subsys-dir=
指定Bacula运行时subsystem加锁文件存放目录。默认目录为/var/lock/subsys。此目录必须手工建立。
以下是个范例
# ./configure \
--sbindir=$HOME/bacula/bin \
--sysconfdir=$HOME/bacula/bin \
--enable-smartalloc \
--enable-tray-monitor \
--with-mysql \
--with-working-dir=$HOME/bacula/bin/working \
--with-pid-dir=$HOME/bacula/bin/working \
--with-subsys-dir=$HOME/bacula/bin/working \
--enable-conio
以下是执行结果:
安装Bacula之后相关的文件存储目录都会按照此结果保存,可记录下来方便查询。
Configuration on Fri Jun 18 20:49:43 CST 2010:
Host: i686-pc-linux-gnu -- redhat
Bacula version: Bacula 5.0.1 (24 February 2010)
Source code location: .
Install binaries: /usr/local/bacula/bin
Install libraries: /usr/lib
Install config files: /usr/local/bacula/bin
Scripts directory: /usr/local/bacula/bin
Archive directory: /tmp
Working directory: /usr/local/bacula/bin/working
PID directory: /usr/local/bacula/bin/working
Subsys directory: /usr/local/bacula/bin/working
Man directory: ${datarootdir}/man
Data directory: /usr/share
Plugin directory: /usr/lib
C Compiler: gcc 4.1.2
C++ Compiler: /usr/bin/g++ 4.1.2
Compiler flags: -g -O2 -Wall -fno-strict-aliasing -fno-exceptions -fno-rtti
Linker flags:
Libraries: -lpthread -ldl
Statically Linked Tools: no
Statically Linked FD: no
Statically Linked SD: no
Statically Linked DIR: no
Statically Linked CONS: no
Database type: MySQL
Database port:
Database lib: -L/usr/lib/mysql -lmysqlclient_r -lz
Database name: bacula
Database user: bacula
Job Output Email: root@localhost
Traceback Email: root@localhost
SMTP Host Address: localhost
Director Port: 9101
File daemon Port: 9102
Storage daemon Port: 9103
Director User:
Director Group:
Storage Daemon User:
Storage DaemonGroup:
File Daemon User:
File Daemon Group:
SQL binaries Directory /usr/bin
Large file support: yes
Bacula conio support: yes -ltermcap
readline support: no
TCP Wrappers support: no
TLS support: yes
Encryption support: yes
ZLIB support: yes
enable-smartalloc: yes
enable-lockmgr: no
bat support: no
enable-gnome: no
enable-bwx-console: no
enable-tray-monitor: yes
client-only: no
build-dird: yes
build-stored: yes
Plugin support: yes
ACL support: yes
XATTR support: yes
Python support: no
Batch insert enabled: yes
编译并安装Bacula
# make
# make install
添加自动启动守护进程,目前只支持FreeBSD、Redhat/Fedora/CentOS的Linux和Solaris。
# make install-autostart
验证一下
# ls /etc/rc.d/init.d/ |grep bacula
bacula-dir
bacula-fd
bacula-sd
Bacula用的数据库
启动MySQL并添加至随系统自动启动
# service mysqld start
# chkconfig --level 2345 mysqld on
进入Bacula可执行文件目录并建立数据库Bacula用户权限
# ./grant_mysql_privileges –p
Enter password:
Host User Password Select_priv Insert_priv Update_priDelete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
localhost root 565491d704013245 Y Y Y Y 0
ser1 root 565491d704013245 Y Y Y Y Y 0
127.0.0.1 root 565491d704013245 Y Y Y Y 0
localhost bacula N N N N N N 0
% bacula N N N N N N N 0
Privileges for user bacula granted on database bacula.
建立Bacula数据库
# ./create_mysql_database -p
Enter password:
Creation of bacula database succeeded.
建立Bacula使用的表
# ./make_mysql_tables -p
Enter password:
Creation of Bacula MySQL tables succeeded.
到此,Bacula主控端就安装完成了,还需要对Bacula进行配置之后再启动Bacula。
配置Bacula可参考Bacula配置文档。
Bacula客户端
切换为root用户
# su –l
建立存储下载文件的目录,下载Bacula源程序,程序版本为5.0.1。
# mkdir /opt/bacula
# cd /opt/bacula
# wget http://ncu.dl.sourceforge.net/project/bacula/bacula/5.0.1/bacula-5.0.1.tar.gz
解压缩Bacula源程序包
# tar zxvf bacula-5.0.1.tar.gz
# cd bacula-5.0.1
设置环境变量,将$HOME设置为/usr/local
# HOME=/usr/local;
# CFLAGS="-g -Wall"
运行Bacula配置脚本。关于configure选项已经在<安装Bacula主控端>部分做了介绍,这里不再做说明。以下是个范例:
# ./configure \
--enable-client-only \
--sbindir=$HOME/bacula/bin \
--sysconfdir=$HOME/bacula/bin \
--enable-smartalloc \
--with-working-dir=$HOME/bacula/bin/working \
--with-pid-dir=$HOME/bacula/bin/working \
--with-subsys-dir=$HOME/bacula/bin/working
以下是执行结果:
Configuration on Fri Jun 18 21:59:04 CST 2010:
Host: i686-pc-linux-gnu -- redhat Enterprise release
Bacula version: Bacula 5.0.1 (24 February 2010)
Source code location: .
Install binaries: /usr/local/bacula/bin
Install libraries: /usr/lib
Install config files: /usr/local/bacula/bin
Scripts directory: /usr/local/bacula/bin
Archive directory: /tmp
Working directory: /usr/local/bacula/bin/working
PID directory: /usr/local/bacula/bin/working
Subsys directory: /usr/local/bacula/bin/working
Man directory: ${datarootdir}/man
Data directory: /usr/share
Plugin directory: /usr/lib
C Compiler: gcc 3.4.3
C++ Compiler: /usr/bin/g++ 3.4.3
Compiler flags: -g -O2 -Wall -fno-strict-aliasing -fno-exceptions -fno-rtti
Linker flags:
Libraries: -lpthread -ldl
Statically Linked Tools: no
Statically Linked FD: no
Statically Linked SD: no
Statically Linked DIR: no
Statically Linked CONS: no
Database type: None
Database port:
Database lib:
Database name: bacula
Database user: bacula
Job Output Email: root@localhost
Traceback Email: root@localhost
SMTP Host Address: localhost
Director Port: 9101
File daemon Port: 9102
Storage daemon Port: 9103
Director User:
Director Group:
Storage Daemon User:
Storage DaemonGroup:
File Daemon User:
File Daemon Group:
SQL binaries Directory
Large file support: yes
Bacula conio support: yes -ltermcap
readline support: no
TCP Wrappers support: no
TLS support: yes
Encryption support: yes
ZLIB support: yes
enable-smartalloc: yes
enable-lockmgr: no
bat support: no
enable-gnome: no
enable-bwx-console: no
enable-tray-monitor: no
client-only: yes
build-dird: yes
build-stored: yes
Plugin support: yes
ACL support: yes
XATTR support: yes
Python support: no
Batch insert enabled: no
编译并安装Bacula
# make
如果make是出现libtool: link: cannot find the library `/lib/libattr.la' or unhandled argument `/lib/libattr.la'错误,可以通过创建/usr/lib/libattr.la的软连接,解决此故障。
# ln -s /usr/lib/libattr.la /lib/libattr.la
解决之后再重新make一下。
# make install
添加自动启动守护进程,目前只支持FreeBSD、Redhat/Fedora/CentOS的Linux和Solaris。
# make install-autostart-fd
验证一下
# ls /etc/rc.d/init.d/ |grep bacula
bacula-fd
到此,Bacula for RHEL AS4系统的客户端就安装完成了,还需要对Bacula进行配置之后再启动Bacula。
配置Bacula可参考Bacula配置文档。
可在Bacula站点(http://www.bacula.org/)获取最新版本;
也可在开源站点Sourceforge的Bacula项目中下载此程序安装包(Win32_64)。
以下的下载链接Bacula客户端版本为5.0.1
http://ncu.dl.sourceforge.net/project/bacula/Win32_64/5.0.1/win32bacula-5.0.1.exe
下面为安装操作过程贴图
Next>
I Agree
选择Custom,Next>
其中Bat Console就是Bacula图形化管理工具BAT(Bacula Admin Tool)。
Next>
Next>
注意 “Password”值,默认是自动生成的,这里改成和主控端配置文件(bacula-dir.conf,下同)”Client”项“Password”的值一致。其他均为默认值(Name值为计算机名-fd;Port值为9102,也就是客户端端口号;Max Jobs值为10。)。
Next>
输入主控端配置文件”Director”项相对应的相关值。详细介绍可查看Bacula配置部分。
注意”DIR Address”值为主控端计算机名或者IP,如果填写的是计算机名,那么本机的hosts文件一定能解析到,也就是在Windows系统的hosts文件(C:\Windows\System32\drivers\etc\hosts)中加入解析条目。格式如下:
# 编辑C:\Windows\System32\drivers\etc\hosts
# 格式: IP 计算机名
# 以下是范例
192.168.160.129 ser1
192.168.160.131 redhat
192.168.160.1 sen-lenovo
可以用”ping 计算机名”命令测试一下网络是否可达。设置好后继续安装步骤:
点击Install
遇到此错误跳过
保存配置文件范例。
Finish
到此,Bacula for Windows 7系统的客户端就安装完成了,还需要对Bacula进行配置之后再启动Bacula。
配置Bacula可参考Bacula配置文档。
当Bacula安装完成后,系统托盘会出现类似磁带形状的图标。
中间那个图标就是Bacula托盘图标。双击可以查看Bacula工作状态。
图标中间两个漏洞由白色变成绿色,Bacula开始保存文件;如果发生错误,两个漏洞将变成红色。
如果任务栏没有发现托盘图标,"Bacula File Service"服务不能启动,有可能是配置文件错误导致,可以使用-t参数测试Bacula客户端配置文件是否正确及其他错误。
进入Bacula安装目录
# cd C:\Program Files\Bacula
# bacula-fd.exe -t bacula-fd.conf
如果各项参数配置没有问题,服务启动时发生1067错误,将bacula-fd.conf覆盖到C:\ProgramData目录下,然后尝试启动服务。
关于基于Windows系统更详细的帮助可查看官方文档的Windows部分(The Windows Version of Bacula)。
文档下载 Bacula 安装.pdf