【小镇的技术天梯】lanmp服务器集群搭建(6)rsync+inotify同步主备nfs

来源:互联网 发布:linux编译工具链 编辑:程序博客网 时间:2024/04/19 12:18

在一开始小镇提到了,服务器集群最主要的一点就是在不断电的情况下,任何一台服务器崩溃都不会影响整个集群的运作。这下就差nfs服务器的双机热备了,nfs的双机热备需要保持两台机器里面的内容完全的同步,这需要依靠linux文件系统变化通知机制-inotify和备份软件rsync。

在centos7.2中是自带rsync的。首先在master节点上后台运行rsync,输入 rsync --daemon &后台运行。

然后开始安装inotify,小镇这里采用的是编译安装的方法,因为用yum装的inotify死活不行,不知道为什么,如果有用yum install安装inotify实验成功可以跟小镇说下。

小镇这里使用的是inotify-tools-3.13安装包,大家可以在csdn上下载。然后编译安装,大家应该都会的,最后软连接到/usr/bin里面就行了。

然后在master上编写脚本,这里的master的ip地址为192.168.1.200。脚本如下:

src=/opt/webapp/des=webapphost=192.168.1.201/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' -e modify,delete,create,attrib $src | while read file DATE TIME DIR;do/usr/bin/rsync -vzrtopg --delete --progress $src $host::$des >/dev/nullecho "${files} was rsynced" >> /var/log/rsync.log 2>&1done
同理,在BACKUP上也编写脚本,backup的ip地址为192.168.1.201。脚本如下:

src=/opt/webapp/des=webapphost=192.168.1.200/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' -e modify,delete,create,attrib $src | while read file DATE TIME DIR;do/usr/bin/rsync -vzrtopg --delete --progress $src $host::$des >/dev/nullecho "${files} was rsynced" >> /var/log/rsync.log 2>&1done
然后两个脚本全部后台运行就可以了,这样在你在/opt/webapp目录下面随便添加一个文件,backup服务器上也就会相应的添加一个文件,最后用keepalive做一个双机在线热备就可以保证整个系统永不下线了。

0 0
原创粉丝点击