多个服务器网站数据同步,rsync + inotify 实现多台服务器数据同步

环境分析:

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

方案实施:

d13c625a569f74716f37bdc91f1885e3.png

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

981000ae90073db4bf65662ccd8c9c8d.png

2 rsync服务器端,也就是web所在服务器,如web1,仅安装rsync即可

yum -y install rsync

编辑rsync配置文件vim /erc/rsyncd.conf:

5065a7feefd8223db2f75aaee70b5b58.png

3,启动rsync服务:

systemctr start rsyncd

4,在rsync客户端上编写rsync脚本,赋予可执行权限:

da959c242cebfbaf45199117c2e28216.png

然后执行 ./rsync.sh &

在客户端写入一个测试文件,然后在其他服务器上查看是否同步。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值