搭建备份服务意义:
保证数据不会丢失
便于数据进行恢复
便于进行数据对比
备份服务实现:
利用rsync软件实现数据统一存储备份
rsync --- a fast, versatile, remote (and local) file-copying tool
快速, 多功能, 远程(和本地)文件复制
可以实现数据全量或者增量备份:
A主机(5G) -5G-> backup(5G) --- 全量备份
A主机(5G+10G) -15G-> backup(5G+10G) --- 全量备份 备份数据效率比较低
A主机(5G+10G) -10G-> backup(5G+10G) --- 增量备份 备份数据效率更高
增量备份算法:
01. 对比文件属性信息 *
02. 验证文件指纹信息
备份服务应用过程:
1.Local:本地进行数据备份 ==cp
本地备份文件: cp 源文件 目标路径 cp /etc/hosts /tmp/ rsync /etc/hosts /tmp/ 本地备份目录: cp -a /oldboy /tmp/ rsync -a /oldboy /tmp/
2.Access via remote shell: 远程方式进行数据备份
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
在backup服务器上操作: 拉取文件信息: rsync [email protected]:/etc/hosts /backup 拉取目录信息: rsync -r [email protected]:/oldboy /backup 在backup服务器上操作: 推送文件信息: rsync /etc/hosts [email protected]:/backup 推送目录信息: rsync -r /oldboy [email protected]:/backup 异常问题: 拉取或者推送目录信息 目录信息后面有/ /oldboy/ 表示将目录下面的内容进行远程拉取或者推送 目录信息后面没有/ /oldboy 表示将目录本身以及目录下面的内容进行远程拉取或者推送
Access via rsync daemon: 守护进程方式进行远程备份
特点:
1.免交互传输备份数据
2.进行远程传输验证
a.基于认证用户用户信息
b.基于地址进行验证
3.传输数据时进行管理控制
远程主机Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST::DEST 客户端推送备份文件信息 rsync -avz /etc/hosts [email protected]::backup 客户端推送备份目录信息 rsync -avz /oldboy/ [email protected]::backup rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
备份服务安装部署:
服务端部署: 第一个历程: 安装软件程序 yum install -y rsync 第二个历程: 编写服务配置文件 vim /etc/rsyncd.conf uid = rsync --- 指定备份目录属主信息 ??? gid = rsync --- 指定备份目录属组信息 ??? port = 873 --- 定义服务端口号 fake super = yes --- 将虚拟用户(rsync)伪装成管理员 use chroot = no --- 安全有关参数 max connections = 200 --- 最大连接数 timeout = 300 --- 设置连接超时时间,链路上多久没有数据传输, 就会强制断开连接 pid file = /var/run/rsyncd.pid --- 表示服务处于运行状态 | 根据文件中号码杀死进程 lock file = /var/run/rsync.lock --- 结合max connections控制最大的连接数 log file = /var/log/rsyncd.log --- 排查异常错误信息 ignore errors --- 忽略简单错误信息, 保证传输效率 read only = false --- 备份目录需要具有可读可写权限 list = false --- ??? hosts allow = 172.16.1.0/24 --- 白名单信息 允许备份数据主机信息或者网段信息 hosts deny = 0.0.0.0/32 --- 黑名单信息 阻止备份数据主机信息或者网段信息 auth users = rsync_backup --- 认证用户 secrets file = /etc/rsync.password --- 认证用户密码文件 [backup] --- 模块信息(每一个模块表示一个备份目录) comment = "backup dir by oldboy"--- 注释说明 path = /backup --- 备份目录 第三个历程: 创建用户信息(虚拟用户) useradd -M -s /sbin/nologin rsync 第四个历程: 创建密码文件 echo "rsync_backup:oldboy123" >/etc/rsync.password chmod 600 /etc/rsync.password 第五个历程: 创建备份数据目录 mkdir /backup chown rsync.rsync /backup/ ??? 第六个历程: 启动服务程序 systemctl start rsyncd systemctl enable rsyncd 客户端部署: 第一个历程: 进行备份数据测试 rsync -avz /etc/hosts [email protected]::backup 第二个历程: 实现免交互备份数据 echo oldboy123 >/etc/rsync.password chmod 600 /etc/rsync.password rsync -avz /oldboy/ [email protected]::backup --password-file=/etc/rsync.password