day32课堂笔记(中小规模集群架构)

rsync复制软件应用与实践

1、什么是rsync?

rsync,Rsync英文全称为Remote synchronization   缩写rsync

是开源、高速的、可实现本地以及远程,全量以及增量的数据复制(拷贝)工具。

2、全量和增量区别

全量复制:

[root@nfs01 ~]# cp -a /etc/ /opt/

[root@nfs01 ~]# \cp -a /etc/ /opt

[root@nfs01 ~]# touch /etc/oldboy.txt

[root@nfs01 ~]# \cp -a /etc/ /opt/

增量复制:

只复制oldboy.txt,是使用tsync -avz   源文件    rsynv_backup@主机IP::备份目录

3、rsync的作用

工作中需要定时/实时数据备份。本地服务器目录、不同机器、

不同机房之间的数据备份。都可以用rsync完成。

4、rsync功能特性

 支持拷贝普通文件与特殊文件,如链接文件,设备文件等。

 支持排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。

 可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变。

 可实现增量复制,既只复制发生变化的数据,因此数据传输效率很高。

 可以使用rcp,rsh,ssh等方式来配合进行隧道加密传输文件(rsync本身不对数据加密)。

 可以通过socket(进程方式)传输文件和数据(服务端和客户端)*。

 支持匿名或认证(无需系统用户)进程模式传输,安全的进行数据备份及镜像

5、增量复制原理

使用 quick check算法,只对增量的部分复制,根据大小属性的变化进行复制。

2.x比对差异后复制,3.x一边比对一边复制。

https://coolshell.cn/articles/7425.html

6、rsync三种工作模式介绍

1)本地(local)

rsync就是一个命令

rsync    [OPTION...]       SRC...     [DEST]

rsync命令 参数选项 [源目录或文件] 目的目录或文件

2)远程Shell模式

借助类似ssh隧道传输数据,适合不同的机器之间复制。

异地拷贝,相当于scp,区别scp是远程全量拷贝)

拉门 推门 思考:

pull,拉:从远端拉取到本地。

语法:

rsync     [OPTION...] [USER@]HOST:SRC...              [DEST]

rsync命令 参数选项 [认证用户]@[主机地址]:[源路径] 本地路径

语法:

push,推:从本地推到远端。

rsync     [OPTION...]   SRC... [USER@]HOST:[DEST]       

rsync命令 参数选项 本地路径 [认证用户]@[主机地址]:[目标路径]

3)rsync守护进程模式

首先要搭建rsync服务端(要有守护进程),然后才能在客户端实现推拉数据。

企业运维的重要模式,重点讲。

7、rsync命令参数

rsync命令参数:

-v, --verbose  显示输出过程

-z, --compress 压缩

-a, --archive  多参数集合(-rtopgDl)

-r, --recursive 递归

-t, --times    保持修改时间属性

-o, --owner    保持属主不变

-p, --perms    保持权限不变

-g, --group    保持用户组不变

-l, --links    保持拷贝软连接

-q, --quiet    安静的拷贝

--bwlimit=KBPS 限制I/O带宽,KBytes per second。

--delete       删除

--exclude      排除

--exclude-from 从文件中排除

企业常用参数组合:-avz或者-vzrtopg

8、rsync守护进程模式应用实践

以下操作都是在backup服务器

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

yuminstall rsync   -y

rpm -qa rsync

rpm -ql rsync

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

注:只要是守护进程服务,都会存在配置文件

vim/etc/rsyncd.conf

uid = rsync                     --管理备份目录(属主信息是rsync)

gid = rsync                       --管理备份目录(属组信息是rsync)

port = 873                       --守护进程服务端口信息

fake super = yes                     --伪装成超级用户

use chroot = no                    --安全的配置

max connections = 200            --同时可以有多少客户端连接rsync服务

timeout = 300                     --超时时间,显示空闲连接存活时间

pid file = /var/run/rsyncd.pid     --保存进程pid号码信息

lock file = /var/run/rsync.lock    --真正的限制同时的连接数

log file = /var/log/rsyncd.log    --rsync程序日志文件

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                 ---定义一个备份目录

uid= rsync

gid= rsync

port= 873

fakesuper = yes

usechroot = no

maxconnections = 200

timeout= 300

pidfile = /var/run/rsyncd.pid

lockfile = /var/run/rsync.lock

logfile = /var/log/rsyncd.log

ignoreerrors

readonly = false

list= false

hostsallow = 172.16.1.0/24,10.0.0.0/24

authusers = rsync_backup

secretsfile = /etc/rsync.password

[backup]

comment= "backup dir by oldboy"

path= /backup/

hostsallow = 172.16.1.0/24

[backup_dev]

comment= "backup dir by oldboy"

path= /backup_dev

hostsallow = 10.0.0.0/24

[backup_dba]

comment= "backup dir by oldboy"

path= /backup_dba

第三个历程:创建一个rsync虚拟用户

useradd  rsync  -s  /sbin/nologin -M#禁止登陆,没有家目录为虚拟用户

第四个历程:创建备份目录

mkdir/backup 

chownrsync.rsync /backup

第五个历程:创建认证密码文件

echo  “rsync_backup:12345” >/etc/rsync.password

chmod600 /etc/rsync.password

第六个历程:重启rsync服务

systemctl  start rsyncd

systemctl  enable rsyncd

rsync客户端(nfs)

1、首先安装rsync软件

 yum install rsyncd -y

2、创建认证密码文件

 echo“oldboy”>/etc/rsync.password

 chown 600 /etc/rsync.password

3、重启并系统自启rsync服务

systemctl start rsyncd   开启rsync服务

systemctl restart rsyncd  重启rsync服务

systemctl enable rsyncd   开机自启rsync服务

systemctl status rsyncd    查看rsync是否开机自启

4、进行传输测试

rsync-avz /etc/hosts [email protected]::backup

你可能感兴趣的:(day32课堂笔记(中小规模集群架构))