开源备份新选择Bacula(上)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
   【WatchStor独家译文】如果你正在寻找一个好的开源备份解决方案,那么今天就是你的幸运日。对于磁带备份和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启动程序界面。

下一篇文章我们将介绍后台程序的自动启动、自动变换器的配置、spooling技术的配置、Bacula卷、存储池以及标签的定义、任务指令之前和之后的运行、整体运行以及从Bacula恢复文件。【WatchStor独家译稿,未经许可禁止转载。合作伙伴请注明原作者及出处为WatchStor.com】

 
 

来源:51CTO
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
NoSQL 容灾 数据库
一文上手图数据备份恢复工具 NebulaGraph BR
对数据库而言,容灾备份是不可或缺的部分。本文将以 BR 社区版为例,简单介绍 BR 的一些实现细节并通过上手练习来讲述如何使用 BR 进行 NebulaGraph 数据的备份恢复。
326 0
|
存储 监控 关系型数据库
|
Web App开发 存储 关系型数据库