如何在Ubuntu 15.10 /16.04上配置Bacula Server

时间:2020-03-05 15:31:51  来源:igfitidea点击:

ubuntu 15.10/16.04上的Bacula(开源网络备份解决方案)的安装和配置。
我们可以使用它来管理不同种类计算机网络的计算机数据的备份,恢复和验证。
Bacula相对易于使用和高效,同时提供许多高级存储管理功能,使其易于查找和恢复丢失或者损坏的文件。
由于其模块化设计,Bacula可从小型单计算机系统可扩展到由位于大型网络上的数百台计算机组成的系统。

Bacula由多个软件组件组成,包括备份服务器和备份客户端。
Bacula服务器,我们将引用的"备份服务器",具有这些组件:

Bacula导演(DIR):控制由文件和存储守护进程执行的备份和还原操作的软件

目录:维护备份的文件数据库的服务。
数据库存储在SQL数据库中,例如MySQL或者PostgreSQL

存储守护程序(SD):在用于备份的存储设备上执行读取和写入的软件

Bacula Console:一个命令行界面,允许备份管理员与Bacula导演进行互动和控制

Bacula客户端(备份客户端)是将备份的服务器并运行文件守护程序(FD)组件。
文件守护程序是提供Bacula Server访问将备份的数据的软件。

准备工作:

我们将在Ubuntu 15.10服务器上安装和配置Bacula,但我们可以遵循上一个的相同说明,例如Ubuntu 15.04,但我们可能会在Ubuntu 16.04中获取兼容性问题。

让我们使用root凭据登录Ubuntu服务器,使其提供IP地址并配置其FQDN。
确保我们有一个Internet连接以使用以下命令更新系统。

# apt-get update && apt-get upgrade

一旦系统返回,使用最新更新和安全修补程序然后继续执行下一步。

安装mysql.

Bacula使用SQL数据库来管理其信息。
我们可以使用MySQL或者PostgreSQL数据库,但在本文中,我们将要使用MySQL。
要在Ubuntu Server上安装MySQL,只需在命令行终端中运行以下命令。

# apt-get install mysql-server

在MySQL安装期间,我们将被要求设置设置数据库管理员密码。
输入密码,然后单击"确定"。
虽然不是强制性的,但强烈建议我们为MySQL管理"root"用户设置密码,然后重复我们设置的相同密码。

安装Bacula组件

现在,让我们使用以下命令安装Bacula Server和客户端组件。

# apt-get install bacula-server bacula-client

进行安装后,将提示我们出现一些将用于配置Bacula默认使用的Postfix MTA的信息。
让我们选择"Internet"作为一般类型的邮件配置,然后单击"确定"。
我们还可以自由选择最能满足我们需求的其他邮件服务器配置类型。

接下来,我们将被要求设置系统邮件名称,这将是完全限定域名。

选择"是"以配置具有DBCONFIG-Common的Bacula的数据库,如图所示。

然后输入MySQL数据库管理员密码,然后单击"确定"键。

再次设置Bacula-Director-MySQL的MySQL应用程序密码,以便与数据库服务器注册。
如果留空,将生成随机密码。

重新确认相同的密码。

我们已经完成了Bacula及其组件的安装,现在我们将创建备份和恢复目录。

创建备份和还原目录:

Bacula需要一个备份目录,用于存储备份存档和还原目录,其中将放置已恢复的文件。
因此,如果系统有多个分区,则确保在大分区之一上创建目录。

运行下面的命令以为备份和还原点创建新目录。

# mkdir -p /b_backup/backup /b_backup/restore

使用以下命令设置所有权,然后使用以下目录权限。

# chown -R bacula:bacula /b_backup/
# chmod -R 700 /b_backup/

配置Bacula.

Bacula的所有配置文件都可以在'/etc/bacula'目录中找到。
Bacula有几个组件必须独立配置,以便正确运行。

首先打开以下文件以更新Bacula导演配置。

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

通过查找配置文件中的以下路径更新还原路径。
在我们的情况下,/b_backup/restore是还原位置。

Job {
Name = "RestoreFiles"
Type = Restore
Client=k_ubuntu-fd
FileSet="Full Set"
Storage = File
Pool = Default
Messages = Standard
Where = /b_backup/restore
}

现在向下滚动到"要备份的文件列表"部分,并设置要备份的目录的路径。

File = /home/

进一步滚动,我们将找到排除部分,其中我们将从备份中排除的目录列表。

Exclude {
File = /var/lib/bacula
File = /nonexistant/path/to/file/archive/dir
File = /proc
File = /tmp
File = /.journal
File = /.fsck
File = /b_backup
}
}

在执行上述更改后保存并关闭文件并转到下一步。

更新Bacula Storage守护程序设置:

使用以下配置使编辑/etc/bacula/bacula-sd.conf文件来设置备份文件夹位置,在我们的情况下是/MyBackup /备份。

# vim /etc/bacula/bacula-sd.conf

现在,检查所有配置是否有效,如下所示。

如果该命令没有显示,配置更改有效。

# bacula-dir -tc /etc/bacula/bacula-dir.conf
# bacula-sd -tc /etc/bacula/bacula-sd.conf

完成所有更改后,重新启动所有Bacula服务。

# systemctl restart bacula-director
# systemctl restart bacula-fd
# systemctl restart bacula-sd

现在,Bacula已成功安装和配置。

测试备份作业

重新启动服务后,让我们通过运行备份作业来测试它工作。

我们将使用Bacula控制台运行我们的第一个备份作业。
如果它没有任何问题运行,我们会知道Bacula配置正确。
使用以下命令输入控制台。

# bconsole

这将带我们到Bacula控制台提示符,由*提示表示。
通过发出标签命令创建标签。
然后系统将提示我们输入卷名称,然后选择备份应该使用的池。
通过输入"2",我们将使用我们先前配置的"文件"池。

此时,Bacula现在知道我们如何为备份编写数据。
我们现在可以运行我们的备份来测试它使用'运行'命令正常工作,然后系统将提示我们选择要运行的作业。
我们想运行"Backuplocalfiles"作业,因此在提示时输入"1"。
在"运行备份作业"确认提示符下,查看详细信息,然后输入"是"以运行作业,因为我们将看到新消息,如下所示。

经过工作后,Bacula会告诉你你有消息。
通过运行作业生成的消息。
通过键入"消息"检查消息。

另一种查看作业状态的方法是检查导演的状态。
为此,请在Bconsole提示符下输入此命令。

*status director

"OK"状态表示备份作业没有任何问题。
恭喜!我们可以备份Bacula Server的"全套"。

测试恢复工作

既然已创建备份,则要检查它是否可以正确恢复。
Restore命令将允许我们恢复备份的文件。
要演示,我们将恢复上次备份中的所有文件。

* restore all

选择菜单将显示许多不同的选项,这些选项用于标识要从中恢复的备份集。
由于我们只有一个备份,让我们"选择最近的备份" - 选择选项5.完成恢复选择时,请继续键入"完成",如下所示。

与备份作业一样,我们应该在运行还原作业后检查消息和Director状态。
让我们通过键入'message'来窃听消息。

再次,检查Director状态是查看还原作业状态的好方法。

*status director

通过命令行管理和使用Bacula,对于某些管理员来说可能有点困难,但在这种情况下,我们可以选择使用Webmin。
因此,我们不必记住所有命令或者手动编辑任何配置文件。