备份服务器部署

1.架构备份服务概述介绍

作用说明:主要用于备份服务器中重要数据信息(系统配置文件 服务配置文件 服务日志文件)

备份数据:

  • 本地备份 作为数据对比文件
  • 远程备份 用于实现数据还原
#远程备份演示
#备份文件
[root@jiagou ~]# scp /etc/sysconfig/network-scripts/ifcfg-ens33 172.16.1.41:/backup/
The authenticity of host '172.16.1.41 (172.16.1.41)' can't be established.
ECDSA key fingerprint is SHA256:aB3Qv36oamgVDjSQxqhnLnsbyqT+18DrsJ0lq1w6+H4.
ECDSA key fingerprint is MD5:48:aa:80:55:f4:66:f9:3e:63:da:4f:ef:b2:32:d7:23.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.1.41' (ECDSA) to the list of known hosts.
root@172.16.1.41's password: 
ifcfg-ens33                                               100%  328   271.1KB/s   00:00    

#远程备份目录
scp -rp /etc/sysconfig/ 172.16.1.41:/backup/

#拉取数据的过程
scp -rp 172.16.1.41:/backup/ifcfg-ens33  /etc/sysconfig/network-scripts/

每次都要密码验证,过于繁琐
实现免密码传输

实现方式:rsync

 rsync - a fast, versatile, remote (and local) file-copying tool
		快速的		多功能的	远程(本地)		文件复制工具

2架构备份服务工作原理:rsync

数据传输备份原理:

1)需要建立网络连接:TCP三次握手

2)需要进行身份验证:客户端发送:用户/密码信息 服务端需要对比用户文件信息进行验证

3)数据传递后需要进行属主和属组的信息变化:客户端文件属性信息统一变为服务端的指定用户信息(rsync)

数据增量备份原理:

在数据传输之前需要进行数据比对

比对方式:2种

1)根据文件sha/md5算法进行比对 根据文件名称以及文件内容识别文件之间区别

2)根据文件属性信息进行比对 权限不一样 时间信息 大小信息

3.架构备份服务方式方法

定时备份数据:编写好备份数据脚本文件 —> 定时任务

实时备份数据:目录数据变化信息监控 —>rsync将变化的数据进行传递备份

4.架构备份服务部署安装

服务端部署过程:

第一个历程:安装部署软件程序

yum install -y rsync

第二个历程:创建管理备份目录以及数据用户信息

[root@backup ~]# useradd rsync -M -s /sbin/nologin
[root@backup ~]# id rsync
uid=1001(rsync) gid=1001(rsync)=1001(rsync)

[root@backup ~]# chown rsync.rsync /backup/
[root@backup ~]# ll -d /backup/
drwxr-xr-x 2 rsync rsync 25 325 15:55 /backup/
useradd rsync -M -s /sbin/nologin

第三个历程:创建一个用户列表文件

[root@backup ~]# vim /etc/rsync.password
[root@backup ~]# cat /etc/rsync.password
rsync_backup:oldboy123
[root@backup ~]# chmod 600 /etc/rsync.password 
[root@backup ~]# ll /etc/rsync.password
-rw------- 1 root root 23 3月  25 17:50 /etc/rsync.password

第四个历程:编写配置文件

[root@backup ~]# rpm -qc rsync
/etc/rsyncd.conf

#用vim修改/etc/rsyncd.conf 修改后如下:
uid = rsync #远端用户访问备份目录的账号为了安全不用root(管理用户基本统一为rsync)
gid = rsync #远端用户访问备份目录的组为了安全不用root(管理用户组基本统一为rsync)
use chroot = no #不使用chroot 安全配置参数
fake super = yes #将rsync虚拟用户伪装成为一个超级管理员用户
list = false     #是否允许客户端查看所有模块
max connections = 200 # 最大连接数为200
strict modes = yes #是否检查口令文件的权限 
timeout = 300 		#超时时间(闲置状态)
port = 873 		#指定服务端口(默认端口873)
pid file = /var/run/rsyncd.pid   #(进程号)pid文件的存放位置 这三个文件如果没有可以手动创建
lock file = /var/run/rsync.lock  #锁文件的存放位置(开发-网络编程)
log file = /var/log/rsyncd.log   #日志记录文件的存放位置
ignore errors                   #可以忽略一些无关的异常错误
read only = false				#指定备份数据目录是否是只读状态
hosts allow = 172.16.1.0/24  	 #允许主机(白名单)
hosts deny = 0.0.0.0/32         #禁止主机 allow和deny留一个(黑名单)

[backup_server] #模块名
path = /backup #要同步备份的路径
comment = test #模块注释说明 (注释可不写)
read only = no #只读
dont compress = *.gz *.bz2 *.zip *.tgz #不压缩哪些格式
auth users = rsync_backup #虚拟用户 用于远程连接的账号密码(不需要在系统中创建)
secrets file = /etc/rsync.password #账户文件位置

配置文件的补充:

use chroot: 安全配置参数
运维人员张三:数据可以存储到备份服务器 /backup
开发人员是李四:备份服务器上编写代码文件 /code/oldboy.py

第一个历程:客户端主机创建环境
#李四--客户端主机
mkdir /code/
echo lisi-oldboy >/code/oldboy.py

第二个历程:创建链接文件信息并进行传输
cd /data/
ln -s /code/oldboy.py /data/oldboy-link
rsync -avz /data/oldboy-link rsync_backup@172.16.1.41::backup

第三个历程:确认备份服务端chroot功能处于开启状态
检查接收的链接信息
ll /backup/

第四个历程:临时关闭chroot功能
在客户端可以尝试恢复文件信息
rsync -Lvz rsync_backup@172.16.1.41::backup/oldboy-link /data
说明:有可能吧备份目录链接文件所指向的其他目录中源文件进行传输

第五个历程:启动服务程序

#启动服务程序
[root@backup ~]# systemctl start rsyncd
#查看进程,确保服务程序的成功启动
[root@backup ~]# ps -ef|grep rsync
root       2675      1  0 18:08 ?        00:00:00 /usr/bin/rsync --daemon --no-detach
root       2682   1866  0 18:08 pts/0    00:00:00 grep --color=auto rsync
#另一种方法 查看系统网络服务状态信息
[root@backup ~]# netstat -lntup|grep rsync
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      2675/rsync          
tcp6       0      0 :::873                  :::*                    LISTEN      2675/rsync   

客户端部署过程:

交互式实现数据传递过程:

#将存储服务器上的文件传递给备份服务器(密码是前面定义的oldboy123)
rsync -azv /etc/hosts rsync_backup@172.16.1.41::backup

免交互实现数据传递过程:

两种方式:

方式一:在客户端创建一个密码文件

echo oldboy123 >/etc/rsync.password
chmod 600 /etc/rsync.password
rsync -avz /etc/selinux/config rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

方式二:配置环境

#加环境变量在备份服务端
echo 'export RSYNC_PASSWORD="oldboy123"' >>/etc/profile

tail -1 /etc/profile		---检查(输出文件最后一行信息)

PS:rsync服务在复制目录时和scp复制目录信息区别

1) 可以实现增量复制目录下面数据信息

2) 复制目录时,目录后面有/和没有/是有区别的

​ scp复制目录时,目录后加与不加/ 都只是将目录本身进行复制

​ rsync复制目录时,目录后面加/ 表示只将目录下面数据内容进行复制

​ rsync复制目录时,目录后面没/ 表示将目录及目录下面内容都进行复制 等价于scp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值