0
点赞
收藏
分享

微信扫一扫

(服务运维)数据的实时同步rsync+sersync技术

数据同步介绍

在生产环境,有时会需要两台主机的特定目录实现实时同步。比如,将NFS共享目录的数据文件,自动实时同步到备份服务器特定目录中

同步的方式

(服务运维)数据的实时同步rsync+sersync技术_实时同步

sersync介绍

  • sersync类似于inotify,同样用于监控,但它克服了inotify的缺点.
  • inotify最大的不足是会产生重复事件,或者同一个目录下多个文件的操作会产生多个事件,网络带宽和I/O性能被消耗,例如每次编辑文件会出现一个隐藏的*.swap文件,每次都会被同步然后删除;例如,当监控目录中有5个文件时,删除目录时会产生6个监控事件,从而导致重复调用rsync命令。另外比如:vim文件时,inotify会监控到临时文件的事件,但这些事件相对于rsync来说是不应该被监控的
sersync 优点:

sersync是使用c++编写,对linux系统文件系统产生的临时文件和重复的文件操作进行过滤,所以在结合rsync同步的时候,节省了运行时耗和网络资源,因此更快。

sersync配置很简单,其中提供了静态编译好的二进制文件和xml配置文件,直接使用即可sersync使用多线程进行同步,尤其在同步较大文件时,能够保证多个服务器实时保持同步状态sersync有出错处理机制,通过失败队列对出错的文件重新同步,如果仍旧失败,则按设定时长对同步失败的文件重新同步sersync不仅可以实现实时同步,另外还自带crontab功能,只需在xml配置文件中开启,即也可以按要求隔一段时间整体同步一次,而无需再额外配置crontab功能

sersync下载地址: https://code.google.com/archive/p/sersync/downloads


实验环境描述

(服务运维)数据的实时同步rsync+sersync技术_数据同步_02

实验目的:NFS的数据实时同步到Backup服务器

NFS服务器

yum install rsync -y

tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz

mv GNU-Linux-x86 /usr/local/sersync

ls /usr/local/sersyn

(服务运维)数据的实时同步rsync+sersync技术_数据同步_03

ln -s /usr/local/sersync/sersync2 /usr/bin/ #二进制文件需要匹配程序路径才能运行,这里做了软连接关联

cd /usr/local/sersync

vim confxml.xml

(服务运维)数据的实时同步rsync+sersync技术_数据同步_04

(服务运维)数据的实时同步rsync+sersync技术_实时同步_05

Backup服务器

yum install rsync -y

sh-keygen   #三次回车确认

ssh-copy-id 172.16.10.10  #输入对方Password,后续不再需要输入Password,用于全自动同步铺垫

(服务运维)数据的实时同步rsync+sersync技术_实时同步_06


未完结待续~先下班

举报

相关推荐

0 条评论