一、实时同步方案选择

1、Rsync+Inotify-tools
(1):Inotify-tools只能记录下被监听的目录发生了变化(包括增加、删除、修改),并没有把具体是哪个文件或者哪个目录发生了变化记录下来;
(2):rsync在同步的时候,并不知道具体是哪个文件或者哪个目录发生了变化,每次都是对整个目录进行同步,当数据量很大时,整个目录同步非常耗时(rsync要对整个目录遍历查找对比文件),因此,效率很低。
2、Rsync+sersync
(1):sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字;
(2):rsync在同步的时候,只同步发生变化的这个文件或者这个目录(每次发生变化的数据相对整个同步目录数据来说是很小的,rsync在遍历查找比对文件时,速度很快),因此,效率很高。
小结:当同步的目录数据量不大时,建议使用Rsync+Inotify-tools;当数据量很大(几百G甚至1T以上)、文件很多时,建议使用Rsync+sersync。
二、具体操作步骤
1、准备环境:
操作系统 CentOS 7
sersync2.5.4_64bit、xinetd-2.3.15(rpm包文件)
源服务器 192.168.0.248
目标服务器 192.168.0.249
把A机器上的一个目录下文件的变化实时同步到B机器上,两边文件保持一致;
两台服务器的selinux与iptables自行设置好,rsync的端口两边要配置一致,默认是873
2、具体操作
目标服务器
1、环境准备
rsync默认是安装好的,需要安装xinetd服务
mkdir /myrpm #然后将xinetd上传到/myrpm下
rpm -ivh xinetd-2.3.15-13.el7.x86_64.rpm #安装xineted
yum install xinetd #或者使用yum安装
2、配置rsync
(配置是要把后面的注释去掉,否则会出错!!!)
vi /etc/rsyncd.conf
uid = root #设置rsync的运行用户权限为root
gid = root #设置rsync的运行组权限为root
use chroot =no
list = no #不显示rsync服务端资源列表
log file = /var/log/rsyncd.log #配置rsync日志文件存放路径
[data] #自定义模块名称
path=/data

本文对比了Rsync+Inotify-tools和Rsync+sersync两种实时文件同步方案,前者适用于小数据量,后者适合大数据量场景。在CentOS7环境下,详细介绍了使用Rsync+sersync配置文件同步服务的步骤,包括安装xinetd、配置rsync、创建密码文件、启动服务等。同时,列举并解决了实施过程中可能遇到的错误,如连接拒绝和授权失败的问题。
最低0.47元/天 解锁文章
2158

被折叠的 条评论
为什么被折叠?



