rsync + inotify 实现多台服务器数据同步

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rsync + inotify 实现多台服务器数据同步相关的知识,希望对你有一定的参考价值。

环境分析:
目前环境4台web服务器采用共享存储技术,由于nas服务最近频繁掉线,影响网站访问,故计划采用对象存储方案。我们云环境补救措施可以用多台Linux服务器做存储,配合rsync(同步)+notify(触发)实现服务器数据同步。

方案实施:

技术图片

1、方案分析:
每台web服务器上分别挂载一个存储盘/newweb,将原先网站访问资源指向/otherweb的路径修改至这个/newweb,由于磁盘容量没有nas大,可以将web用到的数据源,如图片、网页等放在这个路径下,邮箱、日志等继续放在nas下,即便nas掉线,也不影响网站正常访问。
2、同步步骤:
Master 作为主控制点,每次更新资源在master上,master会实时检查文件是否有更新,如果更新,则会同步数据到web1-web4上面,如果没有更新,则不会同步,这样可以减少服务器不必要的负载,同时master也可作为备份服务器。
3、技术分析:
Inotify,它是一个内核用于通知用户空间程序文件系统变化的机制,也是一种文件系统的变化通知机制,如文件增加、删除等事件可以立刻让用户态得知。
?rsync其实就是remote ?rsync,它是一个远程同步工具,兼具cp和scp的功能,rsync命令的使用几乎和scp是一样一样的。rsync是通过超级守护进程xinetd进行触发同步的。
rsync+inotify组合是触发式更新,只要有数据变化,就立刻同步更新
编写rsync脚本,实现数据实时同步,可将脚本后台执行。

下面开始操作步骤:
1)rsync客户端master服务上安装rsync,inotify :
yum -y install rsync
技术图片
2 rsync服务器端,也就是web所在服务器,如web1,仅安装rsync即可
yum -y install rsync
编辑rsync配置文件vim /erc/rsyncd.conf:
技术图片
3,启动rsync服务:
systemctr start rsyncd

4,在rsync客户端上编写rsync脚本,赋予可执行权限:
技术图片
然后执行 ./rsync.sh &
在客户端写入一个测试文件,然后在其他服务器上查看是否同步。

以上是关于rsync + inotify 实现多台服务器数据同步的主要内容,如果未能解决你的问题,请参考以下文章

rsync+inotify实时同步

rsync结合inotify实现数据自动同步

inotify介绍及rsync + inotify 实时同步备份

inotify+rsync实现实时同步并邮件通知

配置rsync同步+inotify实时监控

sersync 多台服务器多个目录的时时同步备份