1. 基础部分
1.1Bareos基本知识
1.1.1 什么是Bareos
Bareos是集备份、恢复、校验于一体的应用程序,他是灾难备份的一个关键部分。
1.1.2 Bareos的特点
– 作业控制
由调度器统一控制网络备份与恢复
作业由内部调度程序自动执行
支持多个作业同时执行
作业支持优先级别排序
控制台接口可完全控制所有作业(GUI只能部分)
– 安全
使用cataloged校验备份的文件(防止篡改)
守护进程间通讯使用密码校验机制
组件间支持TLS(SSL)加密通讯
支持根据需求启用计算文件的MD5或SHA1签名
– 恢复功能
支持指定日期时间交互方式恢复一个或多个文件
支持使用bls和bextract工具程序查看或恢复文件(文件支持系统直接提取)
支持使用bootstrap文件快速恢复catalog
支持使用bscan程序扫描备份卷的重建catalog
– 结构化的Catalog
Catalog数据库用于存储卷、池、作业和备份文件
Catalog数据库可使用PostgreSQL、MySQL和 SQLite数据库
用户可扩展查询PostgreSQL、MySQL和 SQLite数据库
– 先进的卷和池管理
通过标记卷防止意外覆盖
任何作业和客户端都备份到独立的卷(支持Linux、Unix、Windows备份到同一个卷)
自动完成多卷存储(自动创建新卷)
池和卷库提供灵活的管理(支持每月、每周、每天的卷集合和客户端隔离卷集合)
卷的格式向上兼容(保持旧卷的可读性)
灵活的消息处理程序,支持消息从任何守护进程路由回调度器或使用电子邮件报告
数据备份过程中对磁盘进行假脱机操作,然后写入磁带
– 兼容绝大多数的存储设备
支持使用易容的自动存储装载接口
支持自动更换条形码和自动贴标
支持多种自动更换或读取磁带条形码
支持多种驱动自动切换
备份或恢复自动校验是原始设备
卷块使用数据校验和
支持数据池之间的迁移
– 支持多种操作系统
程序支持处理任意长度的文件名称和消息
支持文件传输压缩
支持备份和恢复大多数的POSIX的ACL和扩展属性
控制台支持访问控制列表(限制用户访问数据)
支持备份或恢复大于2GB的文件
支持ANSI和IBM磁带标签
支持在Win32机器使用Unicode文件名
支持在Win32系统使用卷影复制技术
Support for path/filename lengths of up to 64K on Win32 machines (unlimited on Unix/Linux machines).
支持在Win32机器上使用64K的路径或文件名长度(Linux或Unix无限制)
– 其他特点
实现多线程
1.1.3 Bareos的架构
– Console,该守护进程用于接受用户命令行并交给调度器处理
– Director,该守护进程用于集中调度其他守护进程工作
– Catalog SQL DBMS,
— 该守护进程用于接收调度器的文件属性
— 该守护进程将接收到的文件属性存储与结构化数据库中
– File daemon,
— 该守护进程接受调取器的控制
— 该守护进程负责将备份客户端的文件属性和数据传送给存储守护进程
– Storage daemon,
— 守护进程接受文件守护进程的控制指令
— 守护进程负责接收文件守护进程发送的文件属性和数据信息并保存到物理媒体设备
— 守护进程负责与调度进程交互编录信息
— 守护进程负责将文件属性交给调度进程
1.1.4 Bareos各组件的认证关系
如上图所示,
守护进程的名称与密码关系请参阅上图
1.1.5 守护进程与配置对照
1.2 Director配置
1.2.1 Director资源
1)定义
调度资源,定义运行在网络中的调度资源属性(只允许定义一个)
2)配置文件
cat /etc/bareos/bareos-dir.d/director/bareos-dir.conf
可见如下配置:
Director { Name = bareos-dir Password = secretpassword QueryFile = "/etc/bareos/query.sql" Maximum Concurrent Jobs = 10 Messages = Daemon }
1.2.2 Job资源
1)定义
作业资源,定义Bareos必须执行的作业(备份、恢复……)
每个作业资源定义包含,
– 要备份客户端和文件集的名称
– 作业计划
– 需要存储的数据
– 可以使用的媒体池
每个作业资源必须分别指定,
– What(什么备份)
– Where(备份哪里)
– How and When or FileSet(如何和何时或者文件集)
– Storage(使用的存储)
– Backup/Restore/Level and Schedule(备份、恢复、级别、计划)
注:由于历史原因,文建集必须制定恢复作业,但不再使用。
2)配置文件
cat /etc/bareos/bareos-dir.d/job/*.conf
包含以下配置文件
Job { Name = "Minou" Type = Backup Level = Incremental # default Client = Minou FileSet="Minou Full Set" Storage = DLTDrive Pool = Default Schedule = "MinouWeeklyCycle" Messages = Standard }
1.2.3 JobDefs资源
1)定义
默认作业资源,定义被作业资源调用的默认作业指令(被多个作业重复调用)
2)配置文件
cat /etc/bareos/bareos-dir.d/jobdefs/DefaultJob.conf
配置如下:
JobDefs { Name = "DefaultJob" Type = Backup Level = Incremental Client = bareos-fd FileSet = "SelfTest" # selftest fileset (#13) Schedule = "WeeklyCycle" Storage = File Messages = Standard Pool = Incremental Priority = 10 Write Bootstrap = "/var/lib/bareos/%c.bsr" Full Backup Pool = Full # write Full Backups into "Full" Pool (#05) Differential Backup Pool = Differential # write Diff Backups into "Differential" Pool (#08) Incremental Backup Pool = Incremental # write Incr Backups into "Incremental" Pool (#11) }
1.2.4 Schedule资源
1)概念
计划资源,提供实现自动安排作业和覆盖默认级别、池、存储和消息资源功能的方法
– 作业中未引用计划资源,作业只能手动裕兴
– 需要制定执行操作的时间
2)配置文件
cat /etc/bareos/bareos-dir.d/schedule/*.conf
范例配置如下:
Schedule { Name = "WeeklyCycle" Run = Level=Full sun at 2:05 Run = Level=Incremental mon-sat at 2:05 }
1.2.5 FileSet资源
1)概念
文件集资源,用于定义备份作业中包含或排除的文件
– 每个备份作业都需要定义文件集资源
-包含要备份的文件或目录列表
– 包含排除的文件或目录列表
– 包含应用于文件的各种备份选项(如压缩、加密和签名)
2)配置文件
cat /etc/bareos/bareos-dir.d/fileset/*.conf
范例配置如下:
FileSet { Name = Exclusion_example Include { Options { Signature = SHA1 } File = / File = /boot File = /home File = /rescue File = /usr } Exclude { File = /proc File = /tmp # Don’t add trailing / File = .journal File = .autofsck } }
1.2.6 Client资源
1)概念
客户端资源,定义需要备份的客户端的属性
2)配置文件
Client { Name = client1-fd Address = client1.example.com Password = "secret" }
1.2.7 Storage资源
1)定义
存储资源,定义可供调度资源使用的存储资源守护程序
2)配置文件
cat /etc/bareos/bareos-dir.d/storage/*.conf
范例配置文件如下:
Storage { Name = DLTDrive Address = lpmatou Password = storage_password # password for Storage daemon Device = "HP DLT 80" # same as Device in Storage daemon Media Type = DLT8000 # same as MediaType in Storage daemon }
1.2.8 Pool资源
1)定义
池资源,定义接收备份数据的多个存储卷(磁带或文件)组成存储池
2)配置文件
cat /etc/bareos/bareos-dir.d/pool/*.conf
范例配置如下:
Pool { Name = Default Pool Type = Backup }
1.2.9 Catalog资源
1)定义
编目资源,定义存储作业文件编目的数据库
2)配置文件
cat /etc/bareos/bareos-dir.d/catalog/*.conf
范例配置文件如下:
Catalog { Name = MySQL DB Driver = mysql DB Name = bareos DB User = bareos DB Password = "secret" DB Address = remote.example.com DB Port = 1234 }
1.2.10 Messages资源
1)定义
消息资源,定义消息的处理方式以及应用发送消息的目的地
2)配置文件
cat /etc/bareos/bareos-dir.d/messages/*.conf
配置定义范例如下:
Messages { Name = Standard Mail = backupoperator@example.com = all, !skipped, !terminate Operator = backupoperator@example.com = mount Console = all, !skipped, !saved }
1.2.11 Console资源
1)定义
控制台资源,定义三种类型的控制台与调度资源交互(代表三种不同的安全级别)
2)配置文件
cat /etc/bareos/bareos-dir.d/console/*.conf
范例配置文件如下:
Console { Name = admin Password = "admin" Profile = "webui-admin" } Console { Name = bareos-mon Description = "Restricted console used by tray-monitor to get the status of the director." Password = "RpQSrUj969fhsSEAthQ6ctZPWy2W/iT5kDK7GpjDn6qb" CommandACL = status, .status JobACL = *all* } Console { Name = dgadmin Password = abc123 Profile = webui-admin }
1.2.12 Profile资源
1)定义
配置资源,定义一组访问控制用于针对不同控制台或角色
2)配置文件
cat /etc/bareos/bareos-dir.d/profile/*.conf
范例配置文件如下:
Profile { Name = "webui-admin" CommandACL = !.bvfs_clear_cache, !.exit, !.sql, !configure, !create, !delete, !purge, !sqlquery, !umount , !unmount, *all* Job ACL = *all* Schedule ACL = *all* Catalog ACL = *all* Pool ACL = *all* Storage ACL = *all* Client ACL = *all* FileSet ACL = *all* Where ACL = *all* }
1.2.13 Counter资源
1)定义
计数器资源,定义可通过变量扩展访问的计数器变量
2)配置文件
……
1.3 测试环境信息
Server:
IP Address = 10.168.0.22
OS = CentOS 7.3 x86_64
hostname = bareos.cmdschool.org
Clients:
IP Address = 10.168.0.21
OS = CentOS 7.3 x86_64
hostname = bareos-client.cmdschool.org
===========================================================
官方文档
————-
https://github.com/bareos/bareos-docs
http://doc.bareos.org/master/html/bareos-manual-main-reference.html
官方源
————-
http://download.bareos.org/bareos/release/
没有评论