如何在CentOS上安装Bacula Backup Server和客户端
如何在CentOS上安装Bacula Backup Server和客户端
通过
--
三月25,2019
799
简介:
Bacula是一个开源网络备份程序,使您可以在整个网络上备份,还原和验证数据。有Bacula的Linux,Windows和Mac客户端,使其成为跨平台的网络范围的解决方案。它非常灵活和健壮,这使得它虽然配置起来有些麻烦,但它适合于许多情况下的备份。备份系统是大多数服务器基础结构中的重要组件,因为从数据丢失中恢复通常是灾难恢复计划的关键部分。在本教程中,我们将向您展示如何在Centos 7服务器上安装和配置Bacula的服务器组件。
-
先决条件:
您必须在Centos 7服务器上具有超级用户(sudo)访问权限。另外,服务器将需要足够的磁盘空间来存储您计划在任何给定时间保留的所有备份。您应该在Bacula服务器以及位于同一数据中心区域中的所有客户端服务器上启用专用网络。这将使您的服务器在执行备份时使用专用网络,从而减少了网络开销。-
概述:
Bacula由几个组件和服务组成,用于管理要备份的文件和备份位置:
-
概述:
-
- Bacula Director:一种控制所有备份,还原,验证和存档操作的服务。
-
Bacula控制台:允许与Director通信的应用程序。控制台有三种版本:
- 基于文本的命令行版本。
- 基于Gnome的GTK +图形用户界面(GUI)界面。
- wxWidgets GUI界面。
- Bacula文件:也称为Bacula客户端程序。此应用程序已安装在要备份的计算机上,并负责Director要求的数据。
- Bacula存储:它是用于将数据存储和恢复到物理介质的程序。
- Bacula Catalog:负责维护所有备份文件的文件索引和卷数据库,从而可以快速定位和恢复已归档的文件。该目录支持三种不同的数据库MySQL,PostgreSQL和SQLite。
-
安装:
Bacula使用SQL数据库(例如MySQL或Mariadb)来管理其备份目录。我们将使用Mariadb。首先,我们将以root用户身份登录。
#su
然后使用以下命令安装Bacual和mysql服务器:
#yum -y安装bacula-director-mysql bacula-console bacula-client bacula-storage-mysql mysql-server mysql-devel
#yum –y install mariadb-server.86_64 mariadb
安装完成后,我们需要启动MySQL服务并将其配置为使用以下命令在系统重启时自动启动:
#sudo systemctl启动mariadb.service#sudo systemctl启用mariadb.service
现在为mysql创建root密码。
注意:无论何时需要设置密码,我都将密码用作 “ centos” 。创建您自己的密码。
#mysqladmin -u root密码centos
接下来,逐个运行以下命令以创建Bacula的数据库和必要的表。在这里, “-u root” 表示使用root帐户登录, “-p” 表示在我的情况下提示输入mysql root密码为 “ centos”。
#/ usr / libexec / bacula / grant_mysql_privileges -u root -p
#/ usr / libexec / bacula / create_mysql_database -u root -p
#/ usr / libexec / bacula / make_mysql_tables -u root -p
接下来,我们要运行一个简单的安全脚本,该脚本将删除一些危险的默认值,并稍微限制对数据库系统的访问。
#sudo mysql_secure_installation
提示将询问您当前的root密码。输入密码。对于其余的问题,您只需在每个提示中按Enter键即可接受默认值。这将删除一些示例用户和数据库,禁用远程root登录,并加载这些新规则,以便MySQL立即遵守我们所做的更改。
看起来像这样
现在,我们需要为Bacula数据库用户设置密码。
输入MySQL控制台,作为root MySQL用户:
#mysql -u root –p
输入MySQL root密码。
现在设置Bacula数据库用户的密码。使用此命令,但用强密码替换“ centos”:
#Mariadb [[无]]> UPDATE mysql.user SET password = PASSWORD(“ centos”)WHERE user ='bacula'; Mariadb [[无]]>冲洗特权;
完成此处的操作后,退出MySQL提示符:
#Mariadb [(无)]>退出
使MariaDB在启动时启动。使用以下命令来这样做:
#sudo systemctl启用mariadb
将Bacula设置为使用MySQL库
默认情况下,Bacula设置为使用PostgreSQL库。因为我们使用的是MySQL,所以我们需要将其设置为使用MySQL库。
运行以下命令:
#sudo替代品--config libbaccats.s
您将看到以下提示。
输入1(MySQL):
输出有3个程序提供'libbaccats.so'。
选择命令
-----------------------------------------------
1 /usr/lib64/libbaccats-mysql.so
2 /usr/lib64/libbaccats-sqlite3.so*+
3 /usr/lib64/libbaccats-postgresql.so
输入以保留当前选择[+],或键入选择号:1
创建备份和还原目录
Bacula需要一个 备份 目录(用于存储备份档案)和 还原 目录(用于放置还原文件)。如果系统具有多个分区,请确保在具有足够空间的目录上创建目录。
让我们为这两个目的创建新目录:
#sudo mkdir -p / bacula / backup / bacula / restore
我们需要更改文件许可权,以便只有bacula进程(和超级用户)可以访问以下位置:
#sudo chown -R bacula:bacula / bacula
#sudo chmod -R 700 / bacula
现在我们准备配置Bacula Director。
配置Bacula Director
Bacula具有几个组件,必须对其进行单独配置才能正常运行。所有配置文件都可以在/ etc / bacula目录中找到。
我们将从Bacula总监开始。
在您喜欢的文本编辑器中打开Bacula Director配置文件。我们将使用vim:
#sudo vim /etc/bacula/bacula-dir.conf
配置导演资源
在此文件中,我们将更新Bacula服务器主机名,bacula mysql用户密码,Bacula控制台密码,Bacula文件守护程序密码等。请注意,您应该使用完全限定的域名来添加客户端,或者只是使用IP地址即可。编辑那些词是粗体。
bacula-dir.conf —添加目录DirAddress
[…]导演{#定义我自己的
名字= bacula-dir
DIRport = 9101#我们在其中监听UA连接的地方
QueryFile =“ /usr/libexec/bacula/query.sql”
WorkingDirectory =“ / var / spool / bacula”
PidDirectory =“ / var / run”
最大并发作业数= 1
密码=“ centos ”#控制台密码
消息=守护程序
[…]
#客户端(文件服务)进行备份
客户端{
名称= bacula-fd
地址= 192.168.100.146
FDPort = 9102
目录= MyCatalogPassword =“ centos ”#FileDaemon
文件保留密码= 30天#30天
作业保留= 6个月#6个月
AutoPrune =是#修剪过期的作业/档案
}
[…]
#文件存储设备
存储的定义{
名称=文件#请勿在此处使用“ localhost”
地址= 192.168.100.146 #NB在此处使用标准名称
SDPort = 9103
密码=“ centos ”
设备= FileStorage
媒体类型= File
}
[… ]
#通用目录服务
Catalog {
名称= MyCatalog
#如果需要dbi驱动程序,请取消注释以下行
#dbdriver =“ dbi:sqlite3”; dbaddress = 127.0.0.1; dbport =
dbname =“ bacula”;dbuser =“ bacula ”;dbpassword =“ centos ”
}
[…]
控制台{
名称= bacula-mon
密码=“ centos”
CommandACL = status,.status
}
现在移至文件的其余部分。现在,我们将更新Bacula控制台。
编辑文件 /etc/bacula/bconsole.conf
#vi /etc/bacula/bconsole.conf
导演{
名称= bacula-dir
DIRport = 9101
地址= localhost
密码=“ centos ”
}
更新存储守护程序
编辑文件 /etc/bacula/bacula-sd.conf
#vi /etc/bacula/bacula-sd.conf
更新密码,找到并删除红线,不要取消注释。同时设置您的存档设备路径。
在这里设置密码。
[...]
导向器 {
名称= bacula-dir
密码= “ centos”
}
在此处设置存档路径。
设备{
名称= FileStorage
媒体类型=文件
存档设备= / mybackup
LabelMedia =是;#让Bacula标记未标记的媒体
随机访问=是;
AutomaticMount =是;#打开设备时,请阅读
RemovableMedia =否;
AlwaysOpen =否;
}
[...]
在下面的图片中删除这些行。
现在我们将更新文件守护程序
编辑文件 /etc/bacula/bacula-fd.conf,
#vi /etc/bacula/bacula-fd.conf
更新密码。
#列出允许联系此File守护程序的导演
#
导向器 {
名称= bacula-dir
密码= “ centos”
}
删除下面图片中的这些行
现在,我们完成了所有密码和地址的修改。接下来,重新启动所有bacula守护程序,并使它们在每次重新启动时自动启动。
#systemctl启动bacula-dir
#systemctl启动bacula-fd
#systemctl启动bacula-sd
#systemctl enable bacula-dir
#systemctl启用bacula-fd
#systemctl启用bacula-sd
Bacula已成功安装和配置。现在,您可以通过更新Bacula Config文件来添加客户端,作业和卷。另外,您可以使用 webmin 简化工作。然后,手动更新配置文件非常容易。
使用Webmin管理Bacula
Webmin是用于Linux / Unix的系统管理的基于Web的界面。使用任何现代的Web浏览器,您都可以设置用户帐户,Apache,DNS,文件共享等等。
下载并安装最新版本的webmin。
#wget http://prdownloads.sourceforge.net/webadmin/webmin-1.900-1.noarch.rpm
Webmin需要一些依赖关系,因此我们将使用此命令进行安装
#yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty perl-Encode-Detect
#rpm -Uvh webmin-1.900-1.noarch.rpm
#systemctl启动webmin
#systemctl启用webmin
防火墙规则。
现在,我们将为防火墙添加规则,如果要从远程系统访问bacula服务器,请允许webmin端口“ 10000” 和bacula端口 “ 9101”,“ 9102”,“ 9103”通过防火墙。打开终端并逐个运行这些命令。
#sudo firewall-cmd --zone = public --add-port = 10000 / tcp --permanent
#sudo firewall-cmd --zone = public --add-port = 9101 / tcp --permanent
#sudo firewall-cmd --zone = public --add-port = 9102 / tcp --permanent
#sudo firewall-cmd --zone = public --add-port = 9103 / tcp --permanent
重新加载规则:
#firewall-cmd-重新加载
访问Webmin
现在,您可以使用“ // http:// server-ip-address:10000” 或“ http:// domain-name:10000 /”通过webmin登录 。
使用您的root用户及其密码登录到webmin。
如果无法登录。通过此命令停止防火墙(不建议仅用于测试)
#systemctl停止firewalld
然后尝试再次登录(如果已登录),则需要设置防火墙规则。
单击 “ Bacula备份系统” 链接。最初,Bacula服务器不会自动启动。要启动Bacula服务器,请单击 “ Bacula备份系统” 页面 右侧的“模块配置”链接 。
而已。在这里,您可以根据需要安排备份。
祝你好运。!!!!