大数跨境
0
0

Bacula9.4部署

Bacula9.4部署 云容灾备份安全治理
2020-07-03
2
导读:一、部署环境服务器端系统版本IP注释centos7.6192.168.3.6最小化安装软件版本用途下载地址m

一、部署环境

服务器端

系统 版本 IP 注释
centos 7.6 192.168.3.6 最小化安装
软件 版本 用途 下载地址
mysql 5.7.28 数据库 MYSQL官方下载地址
Bacula 9.4.4 备份安装包 Bacula官方下载地址
Baculum-API 9.4.4 web管理 通过yum安装

二、系统基础环境配置

2.1 关闭防火墙

(测试环境,生产环境开启相关端口)

# vi /etc/selinux/config   //将SELINUX=enforcing改为SELINUX=disabled

# setenforce 0              //临时关闭,重启失效
# systemctl stop firewalld //关闭防火墙服务
# systemctl disable firewalld //关闭防火墙随机启动服务

2.2 安装基础软件包

#yum install -y wget lrzsz net-tools gcc gcc-c++ perl perl-devel  //可以先安装wget后更新阿里源在安装比较快

软件 用途
wget 下载文件的工具,用于更换阿里源及下载软件包
lrzsz 上传下载工具,用于把本地软件包上传到服务器
net-tools 网络工具,bacula依赖。
gcc gcc-c++ C 和 C++ 编译器,bacula依赖环境
perl perl-devel mysql依赖的编译环境

三、Mysql5.7.28数据库安装

3.1 前期工作

centos7.6系统自带mariadb-libs(MariaDB/MySQL客户端所需的共享库),会与mysql-community-common包冲突必须卸载掉。

# rpm -qa|grep mariadb          //查询是否安装及安装包名

mariadb-libs-5.5.64-1.el7.x86_64
#rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64 //--nodeps强制删除包

3.2 Mysql下载及官方说明文档

3.2.1官方下载

下载RPM Bundle完整包。保存本地后上传到服务器,也可用wget直接在服务器下载。

3.2.1官方文档说明

https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
本次使用YUM默认安装,如需其他参数可看官方文档。

3.3 数据库安装

3.3.1 上传解压

#rz           //弹出上传窗户选择文件上传

#mkdir mysql   //创建文件夹
#tar xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C mysql //解压到mysql文件夹
#cd mysql
#ls //可看到下图文件

3.3.2  YUM安装

#rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm mysql-community-client-5.7.28-1.el7.x86_64.rpm mysql-community-devel-5.7.28-1.el7.x86_64.rpm mysql-community-common-5.7.28-1.el7.x86_64.rpm mysql-community-libs-5.7.28-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm

软件包 说明
mysql-community-client-5.7.28-1.el7.x86_64.rpm 数据库客户端
mysql-community-libs-5.7.28-1.el7.x86_64.rpm MySQL客户端所需的共享库
mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm 兼容库
mysql-community-server-5.7.28-1.el7.x86_64.rpm 数据库服务端
mysql-community-common-5.7.28-1.el7.x86_64.rpm MySQL配置
mysql-community-devel-5.7.28-1.el7.x86_64.rpm 开发库

3.3.3 启动mysql服务

#systemctl start mysqld.service       //启动mysql

#systemctl enable mysqld.service    //添加开机启动

3.3.4 修改mysql密码

#grep "password"  /var/log/mysqld.log     //查看临时密码,复制随机密码

# mysql -uroot -p          //进入数据库回车,黏贴密码进入

# mysql> set global validate_password_policy = 0 ; //验证策略改为最低

# mysql> set global validate_password_length=1;    //修改密码长度
# mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; //设置新密码

3.3.5创建bacula 数据库帐号密码

#mysql>grant all privileges on *.* to bacula@'%' identified by 'bacula';    创建bacula帐号

注释:bacula@'%'    允许远程登录,bacula@localhost 允许本地登录 。mysql5.7 '%'包含localhost

四、bacula安装

4.1 上传及安装

#rz  上传

#tar zxvf bacula-9.4.4.tar.gz
#cd bacula-9.4.4
#./configure --with-mysql //默认安装目录/etc/bacula 可自己定义路径 –prefix=/usr/local/bacula
#make && make install //注意看有没有报错
#make install-autostart //自动启动守护进程

4.2 配置数据库

#cd /etc/bacula     //安装完后,进入安装后目录可看到以下文件

#./create_bacula_database -ubacula -pbacula -P 3306         //以bacula帐号创建数据库,这里是数据库刚创建的帐号密码。

执行成功会提示:Creation of bacula database succeeded.

#./make_bacula_tables -ubacula -pbacula -P 3306     //以bacula帐号创建数据库表,这里是数据库刚创建的帐号密码。

执行成功会提示:Creation of Bacula MySQL tables succeeded.

4.3 bacula配置文件修改

4.3.1 bacula-dir.conf配置

此配置文件为bacula的全局配置文件,定义了备份相关的所有配置信息。

#vi /etc/bacula/bacula-dir.conf  

数据库资源配置
//查找到catalog{}位置,填入 dbpassword"数据库密码"

配置数据库信息

备份存储物理位置配置
//查找到Autochanger {}位置,填入Address="服务端IP"    有多个Autochanger需全部修改。

配置存储服务器IP

4.4 启动bacula

#/etc/bacula/bacula start     //启动bacula

#/etc/bacula/bacula status    //确认是否三个都起来

bacula-sd (pid 89518) is running...
bacula-fd (pid 89527) is running...
bacula-dir (pid 89535) is running...

进入bconsole控制台查看状态

#/etc/bacula/bconsole

* status

bconsole控制台

五、Baculum(api web)安装

5.1 添加存储库

添加baculum存储库,需选导入baculum公钥

#rpm --import http://bacula.org/downloads/baculum/baculum.pub

导入密钥后,下一步是添加存储库定义。首先,您必须创建以下文件:

#vi /etc/yum.repos.d/baculum.repo

对于CentOS 7,将以下内容黏贴在刚刚创建的文件中:
[baculumrepo]
name=Baculum CentOS repository
baseurl=
http://bacula.org/downloads/baculum/stable/centos
gpgcheck=1
enabled=1

5.2 安装Apache

# yum install -y httpd httpd-tools  //此处可不执行,后面yum baculum会自动安装此依赖

#systemctl enable httpd     //设置随机启动

5.3 安装PHP

本次安装版本php72w

# yum install -y epel-release  //安装epel源,简单理解安装一个软件商店

# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm     //获取PHP7.0的yum源
# yum install -y php56w php56w-bcmath php56w-common php56w-devel php56w-gd php56w-mbstring php56w-mysqlnd php56w-xml php56w-pgsql
软件包 说明
mod_php72w Apache HTTP服务器的PHP模块
php72w-bcmath 用于使用bcmath库的PHP应用程序的模块
php72w-common PHP的公共文件
php72w-devel 构建PHP扩展所需的文件
php72w-gd 一个用于PHP应用程序的模块,用于使用gd图形库
php72w-mbstring 一个PHP应用程序的模块,需要多字节字符串处理
php72w-mysqlnd 用于使用MySQL数据库的PHP应用程序的模块
php72w-xml 用于使用XML的PHP应用程序的模块
php72w-pgsql 一个用于PHP的PostgreSQL数据库模块

5.3 安装baculumWeb及baculumAPI

# yum install -y baculum-common baculum-api baculum-web baculum-api-httpd  baculum-web-httpd

baculum 分别提供httpd和lighttpd提供两种web服务。根据自己情况选择安装,本次安装httpd。

软件包 说明
baculum-api 带应用程序文件的 Baculum-API-main Baculum API 包
baculum-api-httpd Apache HTTP Server配置文件
baculum-api-lighttpd Lighttpd  服务器配置文件
baculum-common Baculum API and Baculum Web 的常用文件
baculum-web 应用程序文件的Baculum Web 包
baculum-web-httpd httpd-Apache HTTP Server 的 Baculum Web 配置文件
baculum-web-lighttpd Lighttpd 用于 Baculum  Web 的 Web 服务器配置文件

5.4 Apache权限

配置Apache访问控制台目录权限,官网文档

#vi /etc/sudoers.d/baculum

复制黏贴以下内容
Defaults:apache !requiretty
apache  ALL=NOPASSWD:  /usr/sbin/bconsole
apache  ALL=NOPASSWD:  /usr/sbin/bdirjson
apache  ALL=NOPASSWD:  /usr/sbin/bsdjson
apache  ALL=NOPASSWD:  /usr/sbin/bfdjson
apache  ALL=NOPASSWD:  /usr/sbin/bbconsjson

重新启动ApacheWeb服务器:

#service httpd restart

查看端口,确认是否都起来:

#netstat -nltp

端口信息

5.5 WEB页面配置

5.5.1 配置API信息

从Web浏览器访问baculumAPI:http://localhost:9096
首次登录:admin
第一次密码:admin

安装php72w 后打开网页提示错误

网页报错

:[Warning] session_start(): open(/var/lib/php/… failed: Permission denied
解决方法  提权

# chmod 777 /var/lib/php/session     

A、配置数据库信息,数据库创建帐号bacula   此次设置密码bacula

API配置

B、配置控制台路径,如果测试没成功,可能访问权限问题,给Apache授权访问目录

#  chown -R apache: /etc/bacula/      //Apache写入权限

控制台路径

C、配置各组件信息,Directory path for new config files 配置文件的目录路径:  默认在安装路径  /etc/bacula

组件信息

D、API链接信息

登录信息

E、完成API配置

完成AIP配置

5.5.2 WEB配置

从Web浏览器访问baculumWeb:http://localhost:9095
首次登录:admin
第一次密码:admin

WEB配置

API配置

配置WEB登录信息

完成WEB配置

六、客户端安装

6.1 centos客户端安装

6.1.1 关闭防火墙(生产环境开启对应端口)

#systemctl stop firewalld

#systemctl disable firewalld

6.1.2安装依赖包

#rpm -qa | grep gcc*     //检查gcc gcc-c++环境是否安装

#yum install -y gcc gcc-c++      //安装gcc gcc-c++

6.1.3 安装bacula客户端

#rz    //上传之前下载的bacula软件包

# tar -zxvf bacula-9.4.4.tar.gz    //解压
# cd bacula-9.4.4 //进入目录
# ./configure --enable-client-only //默认安装在/etc/bacula/目录下,也可以加--prefix= 指定安装路径, --enable-client-only只安装客户端
#make&&make install

6.1.4 客户端配置

只需配置/etc/bacula/bacula-fd.conf

#vi /etc/bacula/bacula-fd.conf

以下红色部分需修改,蓝色拷贝


Director {

//与服务器端的bacula-dir.conf 内的第一个director名称一样

//客户端自动生成密码
}
#
# Restricted Director, used by tray-monitor to get the
#   status of the file daemon
#
Director {

//与服务器端的bacula-dir.conf 内的console名称一样

//与服务器端的bacula-dir.conf 内的console密码一样
Monitor = yes
}

#
# "Global" File daemon configuration specifications
#
FileDaemon {                          # this is me 定义客户端信息

//定义客户端名称
FDport = 9102                  # where we listen for the director
WorkingDirectory = /opt/bacula/working
Pid Directory = /var/run
Maximum Concurrent Jobs = 20
Plugin Directory = /usr/lib64
}

# Send all messages except skipped files back to Director
Messages {
Name = Standard
director = zabbix-dir = all, !skipped, !restored
}


6.1.5 服务端配置

编辑服务器/etc/bacula/bacula-dir.comf,(也可WEB添加)
新增以下内容


Client {        //此处定义的是一个客户端
Name = "zabbix-fd"
//定义cline的名称,用于JOB调用
Address = "192.168.3.8"
//需备份客户端主机的IP
FdPort = 9102
//需备份客户端主机bacula-fd.conf配置的端口
Password = "4dnxG0BYle3TGSnutkxV4xaasLe3mA7T6qbp9mp7xj62"
//客户端密码,客户端配置文件bacula-fd.conf里第一个Director的密码
Catalog = "MyCatalog"
//定义后台数据库,存储信息;
FileRetention = 5184000
//定义了文件信息在数据库的保存时间,如果AutoPrune为yes,bacula会自动清理,但是并不会删除备份数据;
JobRetention = 15552000
//定义了作业信息在数据库保留的时间,应该大于FileRetention指定的值;
AutoPrune = yes
//当达到指定的保持周期时,是否自动删除数据库中的记录,yes表示自动清除过期的Job
}


【声明】内容源于网络
0
0
云容灾备份安全治理
分享云灾备规划、实施、运营、备份与恢复、数据安全、数据治理;窥视国内外备份软件与监控软件知识前沿水平线; 越努力,越幸运!
内容 2171
粉丝 0
云容灾备份安全治理 分享云灾备规划、实施、运营、备份与恢复、数据安全、数据治理;窥视国内外备份软件与监控软件知识前沿水平线; 越努力,越幸运!
总阅读5.3k
粉丝0
内容2.2k