Bacula网络备份环境搭建
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(二)配置 bacula 的 Director 端 (1)bacula-dir.conf 是 Director 端的配置文件,也是 bacula 的核心配置文 件,这个文件非常复杂,共分为 10 个逻辑段,分别是: Director,定义全局设置 Catalog,定义后台数据库 Jobdefs,定义默认执行任务 Job,自定义一个备份或者恢复任务 Fileset,定义备份哪些数据,不备份哪些数据 Schedule,定义备份时间策略 Pool,定义供 Job 使用的池属性 Client,定义要备份的主机地址 Storage,定义数据的存储方式 Messages,定义发送日志报告和记录日志的位置
05分进行增量备catalogincludeclient用来定义备份哪个客户端fd的数据namedbfdclinet的名称可以在前面的job中调用address19216812189要备份的客户端fd主机的ip地址fdport9102与客户端fd通信的端口catalogmycatalog使用哪个数据库存储信息mycatalog在后面的mycatalog逻辑段中进行定义passwordoudao0sgxxftx4yygkk4so0lieqgjikq5dmstqh6tdirector端与客户端fd的验证密码这个值必须与客户端fd配置文件baculafdconf中密码相同fileretention30days指定保存在数据库中的记录多久循环一次这里是30天只影响数据库中的记录不影响备份的文件jobretentionmonths指定job的保持周期应该大于fileretention指yes当达到指定的保持周期时是否自动删除数据库中的记录yes表示自动清除过期的jobdbfd1address19216812188fdport9102catalogmycatalogpasswordwr8lj3q51pgz21u2fsatxicyhlmqkt1xhhbm8a6j8bzfileretention30daysjobretentionmonthsautoprunestorage用来定义将客户端的数据备份到哪个存储设备上namedbsdaddress19216812188指定存储端sd的ip地址sdport9103指定存储端sd通信的端口passwordoudao0sgxxftx4yygkk4so0lieqgjikq5dmstqh6tdirector端与存储端sd的验证密码这个值必须与存储端sd配置文件baculasdconfdirector逻辑段密码相同devicedbdev指定数据备份的存储介质必须与存储端这里是19216812188的baculasdconf配置文件中的device逻辑段的name项名称相同mediatypefile指定存储介质的类别必须与存储端sd这里是19216812188的baculasdconf配置文件中的device逻辑段的mediatype项名称相同catalog逻辑段用来定义关于日志和数据库设定namemycatalogdbnamebacula
(2)把虚拟机命名为 centos1
(3)开启虚拟机 (4)设置中文简体,主机名命名为 centos1
(5)重新引导,进入 centos1 操作系统。 2 .在操作系统 centos1 中,将 centos1 的 IP 配置设置为 192.168.72.4 vi /etc/sysconfig/network-scripts/ifcfg-eth0
Storage = dbsd #指定备份数据的存储路径与介质,“dbsd” 在后面的 Storage 逻辑段中进行定义
Messages = Standard Pool = dbpool #指定备份使用的 pool 属性,“dbpool”在后面的 Pool 逻辑 段中进行定义。 write Bootstrap = "/opt/bacula/var/bacula/working/Client2.bsr" #指定备份的引 导信息路径 }
( 4 ) Monitor : 是 一 个 进 程 监 控 端 , 负 责 监 控 Dirctor Daemon 、 storageDaemon 和 fileDaemon 的守护进程。
(二) bacula 工作流程
(1)通过 Console 连接到 Director 端,备份恢复操作开始。 (2)Director 端从自己的数据库中调出记录信息,如果验证通过,则允许连 接存储端 SD。 (3)客户端 FD 负责验证 Director 的操作许可,如果验证通过,则允许连接 存储端 SD。 (4)客户端 FD 根据 Director 发出的请求去连接 SD,将 FD 端的数据备份 到存 SD 制定的存储介质上,或者将 SD 端存储介质中的数据传回到客户端 FD 制定的位置上,完成备份恢复过程。 二、安装 bacula (一)建虚拟机 centos1 作为 baculaServer 1.在 vmwareworkstationrj12.0 上安装虚拟机 centos (1)安装 Centos 64 位
(2)把虚拟机命名为 centos2,选择安装路径
(3)开启虚拟机 (4)把主机名命名为 centos2 (5)成功安装,重新引导,进入 centos2 操作系统。
2 .在操作系统 centos2 中,将 centos2 的 IP 配置设置为 192.168.72.5 vi /etc/sysconfig/network-scripts/ifcfg-eth0
type = Backup #定义 Job 的类型,“backup”为备份任务,可选的类型还有 restore 和 verify 等
FileSet = dbfs #指定要备份的客户端数据,“dbfs”在后面 FileSet 逻辑段中 进行定义
Schedule = dbscd #指定这个备份任务的执行时间策略,“dbscd”在后面的 Schedule 逻辑段中进行了定义
Job { #自定义一个备份任务 Name = "Client1" #备份任务名称 Client = dbfd #指定要备份的客户端主机,“dbfd”在后面 Client 逻辑段中 进行定义
Level = Incremental #定义备份的级别,Incremental 为增量备份。Level 的取 值#可为 Full(完全备份)、Incremental(增量备份)和 Differential(差异备 份),如果第一#次没做完全备份,则先进行完全备份后再执行 Incremental
Job { #定义一个还原任务 Name = "RestoreFiles"
Type = Restore #定义 Job 的类型为“Restore ”,即恢复数据 Client=dbfd FileSet=dbfs Storage = dbsd Pool = dbpool Messages = Standard Where = /tmp/bacula-restores #指定默认恢复数据到这个路径 }
sd.conf
#文件中会陆续的被引用 DIRport = 9101 #控制端服务端口 address = 192.168.12.188 #控制端服务器 IP 地址 Password = "ouDao0SGXx/F+Tx4YygkK4so0l/ieqGJIkQ5DMsTQh6t" #控制端密码文件 }
作业 1 Bacula 网络备份环境搭建
一、bacula 的工作原理 (一)一个完整的 bacula 备份系统,由下面 5 个部分组成。 (1) DirectorDaemon:负责监听所有的备份丶恢复丶验证丶存档事务,以
及定制备份和恢复文件计划等,并且将整个系统的运行状态记录在数据库中。 推荐使用 Mysql 数据库
(2)设置 Mysql 远程访问 grant all privileges on *.* to 'root'@'%' identified by 'qdfqdf' with grant option;
四、配置 bacula 备份系统 (一)配置 bacula 的 Console 端 Console 端的配置文件是 bconsole.conf,配置完的文件如下: Director { Name = f10-64-build-dir #控制端名称,在下面的 bacula-dir.conf 和 bacula-
(2)已经设置好的 Director 端的配置文件,“#”号后面的内容为注释。 Director { #定义 bacula 的全局配置 Name = f10-64-build-dir DIRport = 9101 #定义 Director 的监听端口 QueryFile = "/opt/bacula/etc/query.sql" WorkingDirectory = "/opt/bacula/var/bacula/working" PidDirectory = "/var/run" Maximum Concurrent jobs = 1 #定义一次能处理的最大并发数
Job { #定义一个名为 BackupCatalog 的完全备份任务 Name = "BackupCatalog" Type = Backup Level = Full #指定备份级别为完全备份 Client = dbfd FileSet="dbfs" Schedule = "dbscd" Pool = dbpool Storage = dbsd Messages = Standard RunBeforeJob = "/opt/bacula/etc/make_catalog_backup bacula bacula" RunAfterJob = "/opt/bacula/etc/delete_catalog_backup" Write Bootstrap = "/opt/var/bacula/working/BackupCatalog.bsr" }
3.安装 验证
(2)ls 显示 etc 目录下的目录或文件
(3)运行 yum makecache
4. 通过 Putty 把操作系统 centos1 中的子网掩码设置为 192.168.72.4 5 .ping 子网掩码和 baculaServer (1)ping 192.168.72.4 (2)ping baculaServer (3) ping 192.168.72.4
(3)过程中选择 Y 继续安装,最后安装成功。
(4) 查看 Mysql-server 版本 rpm -qi mysql-server
(二)设置 Mysql 的服务 (1)先启动 Mysql 服务 service mysqld start
(2)直接 mysql,然后\q,关闭连接。 (3) chkconfig mysqld on
Job { #定义一个名为 Client 的差异备份的任务 Name = "Client" Type = Backup FileSet = dbfs Schedule = dbscd Storage = dbsd Messages = Standard Pool = dbpool Client = dbfd Level = Differential #指定备份级别为差异备份 Write Bootstrap = "/opt/bacula/var/bacula/working/Client1.bsr" }
6.安装 yum -y install gcc
yum -y install gcc-c++ yum install make
7. 在 centos1 端安装 bacula (1)tar zxvf bacula-7.2.0.tar.gz (2) cd bacula-7.2.0
(3)./configure --prefix=/opt/bacula --with-mysql=/opt/mysql (二)建虚拟机 centos2 作为 baculaClient 1.装虚拟机 centos2 (1)安装 Centos 64 位
3.下载 Centos-6.repo 安装 yum (1)service network restart 验证
(2)ping 192.168.72.5
(3) ping baculaClient
三、安装 Mysql 数据库 (一)安装 Mysql (1)yum list mysql-server (2)直接 yum install mysql-server 进行安装
(2)Storage Daemon(SD):在备份数据时,用来制定备份和恢复备份到存 储介质。
主要负责将备份到存储上,数据恢复时从存储中传送出去配置文件 baculasd.conf
(3)File Daemon(FD):是一个安装在需要备份的数据的机器上作为守护 进程,在备份数据时它负责把文件传出,在恢复数据时,他负责接收数据并执 行恢复操作,配置文件为 bacula-fd.conf
FileSet { #定义一个名为 dbfs 的备份资源,也就是指定需要备份哪些数据, 需要排除哪些数据等,可以指定多个 FileSet
Name = dbfs Include { Options { signature = MD5; Compression=gzip; } #表示使用 MD5 签名并压缩 file = /cws3 #指定客户端 FD 需要备份的文件目录 }
#验证密码,这个密码必须与 bconsole.conf 文件中对应的 Director 逻辑段密 码相同
Password = "ouDao0SGXx/F+Tx4YygkK4so0l/ieqGJIkQ5DMsTQh6t"
#定义日志输出方式,“Daemon”在下面的 Messages 逻辑段中进行了定义 Messages = Daemon }
(4)启动/停止/重启 mysql 服务
(5) 开启 3306 端口并保存 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT /etc/rc.d/init.d/iptables save
(三)修改密码并设置远程访问 (1)设置密码 use mysql; update user set password=password('qdfqdf') where user='root'; flush privileges;
05分进行增量备catalogincludeclient用来定义备份哪个客户端fd的数据namedbfdclinet的名称可以在前面的job中调用address19216812189要备份的客户端fd主机的ip地址fdport9102与客户端fd通信的端口catalogmycatalog使用哪个数据库存储信息mycatalog在后面的mycatalog逻辑段中进行定义passwordoudao0sgxxftx4yygkk4so0lieqgjikq5dmstqh6tdirector端与客户端fd的验证密码这个值必须与客户端fd配置文件baculafdconf中密码相同fileretention30days指定保存在数据库中的记录多久循环一次这里是30天只影响数据库中的记录不影响备份的文件jobretentionmonths指定job的保持周期应该大于fileretention指yes当达到指定的保持周期时是否自动删除数据库中的记录yes表示自动清除过期的jobdbfd1address19216812188fdport9102catalogmycatalogpasswordwr8lj3q51pgz21u2fsatxicyhlmqkt1xhhbm8a6j8bzfileretention30daysjobretentionmonthsautoprunestorage用来定义将客户端的数据备份到哪个存储设备上namedbsdaddress19216812188指定存储端sd的ip地址sdport9103指定存储端sd通信的端口passwordoudao0sgxxftx4yygkk4so0lieqgjikq5dmstqh6tdirector端与存储端sd的验证密码这个值必须与存储端sd配置文件baculasdconfdirector逻辑段密码相同devicedbdev指定数据备份的存储介质必须与存储端这里是19216812188的baculasdconf配置文件中的device逻辑段的name项名称相同mediatypefile指定存储介质的类别必须与存储端sd这里是19216812188的baculasdconf配置文件中的device逻辑段的mediatype项名称相同catalog逻辑段用来定义关于日志和数据库设定namemycatalogdbnamebacula
(2)把虚拟机命名为 centos1
(3)开启虚拟机 (4)设置中文简体,主机名命名为 centos1
(5)重新引导,进入 centos1 操作系统。 2 .在操作系统 centos1 中,将 centos1 的 IP 配置设置为 192.168.72.4 vi /etc/sysconfig/network-scripts/ifcfg-eth0
Storage = dbsd #指定备份数据的存储路径与介质,“dbsd” 在后面的 Storage 逻辑段中进行定义
Messages = Standard Pool = dbpool #指定备份使用的 pool 属性,“dbpool”在后面的 Pool 逻辑 段中进行定义。 write Bootstrap = "/opt/bacula/var/bacula/working/Client2.bsr" #指定备份的引 导信息路径 }
( 4 ) Monitor : 是 一 个 进 程 监 控 端 , 负 责 监 控 Dirctor Daemon 、 storageDaemon 和 fileDaemon 的守护进程。
(二) bacula 工作流程
(1)通过 Console 连接到 Director 端,备份恢复操作开始。 (2)Director 端从自己的数据库中调出记录信息,如果验证通过,则允许连 接存储端 SD。 (3)客户端 FD 负责验证 Director 的操作许可,如果验证通过,则允许连接 存储端 SD。 (4)客户端 FD 根据 Director 发出的请求去连接 SD,将 FD 端的数据备份 到存 SD 制定的存储介质上,或者将 SD 端存储介质中的数据传回到客户端 FD 制定的位置上,完成备份恢复过程。 二、安装 bacula (一)建虚拟机 centos1 作为 baculaServer 1.在 vmwareworkstationrj12.0 上安装虚拟机 centos (1)安装 Centos 64 位
(2)把虚拟机命名为 centos2,选择安装路径
(3)开启虚拟机 (4)把主机名命名为 centos2 (5)成功安装,重新引导,进入 centos2 操作系统。
2 .在操作系统 centos2 中,将 centos2 的 IP 配置设置为 192.168.72.5 vi /etc/sysconfig/network-scripts/ifcfg-eth0
type = Backup #定义 Job 的类型,“backup”为备份任务,可选的类型还有 restore 和 verify 等
FileSet = dbfs #指定要备份的客户端数据,“dbfs”在后面 FileSet 逻辑段中 进行定义
Schedule = dbscd #指定这个备份任务的执行时间策略,“dbscd”在后面的 Schedule 逻辑段中进行了定义
Job { #自定义一个备份任务 Name = "Client1" #备份任务名称 Client = dbfd #指定要备份的客户端主机,“dbfd”在后面 Client 逻辑段中 进行定义
Level = Incremental #定义备份的级别,Incremental 为增量备份。Level 的取 值#可为 Full(完全备份)、Incremental(增量备份)和 Differential(差异备 份),如果第一#次没做完全备份,则先进行完全备份后再执行 Incremental
Job { #定义一个还原任务 Name = "RestoreFiles"
Type = Restore #定义 Job 的类型为“Restore ”,即恢复数据 Client=dbfd FileSet=dbfs Storage = dbsd Pool = dbpool Messages = Standard Where = /tmp/bacula-restores #指定默认恢复数据到这个路径 }
sd.conf
#文件中会陆续的被引用 DIRport = 9101 #控制端服务端口 address = 192.168.12.188 #控制端服务器 IP 地址 Password = "ouDao0SGXx/F+Tx4YygkK4so0l/ieqGJIkQ5DMsTQh6t" #控制端密码文件 }
作业 1 Bacula 网络备份环境搭建
一、bacula 的工作原理 (一)一个完整的 bacula 备份系统,由下面 5 个部分组成。 (1) DirectorDaemon:负责监听所有的备份丶恢复丶验证丶存档事务,以
及定制备份和恢复文件计划等,并且将整个系统的运行状态记录在数据库中。 推荐使用 Mysql 数据库
(2)设置 Mysql 远程访问 grant all privileges on *.* to 'root'@'%' identified by 'qdfqdf' with grant option;
四、配置 bacula 备份系统 (一)配置 bacula 的 Console 端 Console 端的配置文件是 bconsole.conf,配置完的文件如下: Director { Name = f10-64-build-dir #控制端名称,在下面的 bacula-dir.conf 和 bacula-
(2)已经设置好的 Director 端的配置文件,“#”号后面的内容为注释。 Director { #定义 bacula 的全局配置 Name = f10-64-build-dir DIRport = 9101 #定义 Director 的监听端口 QueryFile = "/opt/bacula/etc/query.sql" WorkingDirectory = "/opt/bacula/var/bacula/working" PidDirectory = "/var/run" Maximum Concurrent jobs = 1 #定义一次能处理的最大并发数
Job { #定义一个名为 BackupCatalog 的完全备份任务 Name = "BackupCatalog" Type = Backup Level = Full #指定备份级别为完全备份 Client = dbfd FileSet="dbfs" Schedule = "dbscd" Pool = dbpool Storage = dbsd Messages = Standard RunBeforeJob = "/opt/bacula/etc/make_catalog_backup bacula bacula" RunAfterJob = "/opt/bacula/etc/delete_catalog_backup" Write Bootstrap = "/opt/var/bacula/working/BackupCatalog.bsr" }
3.安装 验证
(2)ls 显示 etc 目录下的目录或文件
(3)运行 yum makecache
4. 通过 Putty 把操作系统 centos1 中的子网掩码设置为 192.168.72.4 5 .ping 子网掩码和 baculaServer (1)ping 192.168.72.4 (2)ping baculaServer (3) ping 192.168.72.4
(3)过程中选择 Y 继续安装,最后安装成功。
(4) 查看 Mysql-server 版本 rpm -qi mysql-server
(二)设置 Mysql 的服务 (1)先启动 Mysql 服务 service mysqld start
(2)直接 mysql,然后\q,关闭连接。 (3) chkconfig mysqld on
Job { #定义一个名为 Client 的差异备份的任务 Name = "Client" Type = Backup FileSet = dbfs Schedule = dbscd Storage = dbsd Messages = Standard Pool = dbpool Client = dbfd Level = Differential #指定备份级别为差异备份 Write Bootstrap = "/opt/bacula/var/bacula/working/Client1.bsr" }
6.安装 yum -y install gcc
yum -y install gcc-c++ yum install make
7. 在 centos1 端安装 bacula (1)tar zxvf bacula-7.2.0.tar.gz (2) cd bacula-7.2.0
(3)./configure --prefix=/opt/bacula --with-mysql=/opt/mysql (二)建虚拟机 centos2 作为 baculaClient 1.装虚拟机 centos2 (1)安装 Centos 64 位
3.下载 Centos-6.repo 安装 yum (1)service network restart 验证
(2)ping 192.168.72.5
(3) ping baculaClient
三、安装 Mysql 数据库 (一)安装 Mysql (1)yum list mysql-server (2)直接 yum install mysql-server 进行安装
(2)Storage Daemon(SD):在备份数据时,用来制定备份和恢复备份到存 储介质。
主要负责将备份到存储上,数据恢复时从存储中传送出去配置文件 baculasd.conf
(3)File Daemon(FD):是一个安装在需要备份的数据的机器上作为守护 进程,在备份数据时它负责把文件传出,在恢复数据时,他负责接收数据并执 行恢复操作,配置文件为 bacula-fd.conf
FileSet { #定义一个名为 dbfs 的备份资源,也就是指定需要备份哪些数据, 需要排除哪些数据等,可以指定多个 FileSet
Name = dbfs Include { Options { signature = MD5; Compression=gzip; } #表示使用 MD5 签名并压缩 file = /cws3 #指定客户端 FD 需要备份的文件目录 }
#验证密码,这个密码必须与 bconsole.conf 文件中对应的 Director 逻辑段密 码相同
Password = "ouDao0SGXx/F+Tx4YygkK4so0l/ieqGJIkQ5DMsTQh6t"
#定义日志输出方式,“Daemon”在下面的 Messages 逻辑段中进行了定义 Messages = Daemon }
(4)启动/停止/重启 mysql 服务
(5) 开启 3306 端口并保存 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT /etc/rc.d/init.d/iptables save
(三)修改密码并设置远程访问 (1)设置密码 use mysql; update user set password=password('qdfqdf') where user='root'; flush privileges;