设为首页 收藏本站
查看: 682|回复: 0

[经验分享] rsync + sersync2进行实时同步数据

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-8-19 09:23:07 | 显示全部楼层 |阅读模式
rsync服务端:54.172.72.40

rsync+sersync2:120.26.68.152

首先安装rsync服务端:
wKiom1e0_wvBh9LSAAAUv7ondt8663.jpg
表示已经有安装,于是编辑配置文件vim /etc/rsyncd.conf
uid = root
gid = root
use chroot = no
max connections = 2000
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
port = 873
read only = false
list = false
hosts allow = 120.26.68.152             允许120.26.68.152的客户端
hosts deny = *
auth user = rsyncd_backup
secrets file = /etc/rsync.password
motd file = /etc/rsyncd.Motd


[data]
comment = data
path = /data/120.26.68.152      接收从120.26.68.152同步过来的数据,放在本地54.172.72.40目录

根据rsyncd.conf 文件的配置,在/etc 目录下创建同步的验证文件rsync.password
rsyncd_backup:redhat------>前者为用户名,后者为密码
chmod 600 /etc/rsync.password

mkdir -p /data/120.26.68.152
启动rsync服务:
rsync --daemon
查看服务是否启动:
wKiom1e1AGPAkOWFAAAyENRt7UQ571.jpg
由于我这一台是aws服务器,所以要修改安全组进站出口,打开tcp的873端口

接下来
在120.26.68.152主机上配置rsync.password,只需要添加如下内容
[iyunv@aliyun_test sersync]# cat /etc/rsync.password
redhat      该值为同步用户的密码
chmod 600 /etc/rsync.password
至此rsync的简单配置同步完成,尝试用手动命令同步数据

rsync -avzP /var/log/* rsyncd_backup@10.211.55.8::data --password-file=/etc/rsync.password
提示:data为定义的模块名
然后在我的aws上/data/120.26.68.152目录下观察可以发现日志文件目录都同步过来了
[iyunv@ip-172-31-63-27 ~]# cd /data/120.26.68.152/
[iyunv@ip-172-31-63-27 120.26.68.152]# ll
total 1156
drwxr-x---. 2 root root      6 May 28  2014 audit
-rw-r--r--. 1 root root   2036 Aug  5 02:22 boot.log
-rw-------. 1 root utmp   3072 Aug 12 06:31 btmp
drwxr-xr-x. 2 root root      6 Nov 10  2010 ConsoleKit
于是在此基础上安装sersync2软件

wget https://sersync.googlecode.com/f ... stable_final.tar.gz
tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local/
cd /usr/local/
ln -sv GNU-Linux-x86/ /usr/local/sersync
cp /usr/local/sersync/confxml.xml /usr/local/sersync/confxml.xml.bak
cp /usr/local/sersync/sersync2 /usr/sbin/
vim /usr/local/sersync/confxml.xml
修改如下几行
<debug start="true"/>   将debug信息打开
<localpath watch="/sersync">    修改120.26.68.152本地需要同步的目录
<remote ip="54.172.72.40" name="data"/>   修改远端服务器的ip和模块名
<auth start="false" users="rsyncd_backup" passwordfile="/etc/rsync.password"/>   修改同步用户验证信息
创建本地数据目录文件:mkdir /sersync -p

然后启动sersync
sersync2 -d -n 3 -o /usr/local/sersync/confxml.xml >> /var/log/sersync2.log 2>&1
参数-d:启用守护进程模式
参数-n: 指定开启守护线程的数量,默认为10个
参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍

然后进行同步验证:
cd /sersync/
[iyunv@aliyun_test sersync]# mkdir {a,b,c}

在aws54.172.72.40上观察如下结果
[iyunv@ip-172-31-63-27 120.26.68.152]# ll
total 0
drwxr-xr-x. 2 root root 6 Aug 16 22:15 a
drwxr-xr-x. 2 root root 6 Aug 16 22:15 b
drwxr-xr-x. 2 root root 6 Aug 16 22:15 c
至此同步成功

记:
一、为什么要用rsync+sersync架构?

1、sersync是基于inotify开发的,类似于inotify-tools的工具

2、sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的这个文件或者这个目录。

二、rsync+inotify-tools与rsync+sersync这两种架构有什么区别?

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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-259846-1-1.html 上篇帖子: centos 6.8 linux iscsi服务器配置和客户端连接iscsi 下篇帖子: This system is not registered with RHN问题解决
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表