inotify简题
人工测试监控事件
测试create
测试delte
测试close_write
测试move_to
编写inotify实时监控脚本
上边那个脚本效率很低,效率低的原因在于只要目录出现变化就都会导致整个目录下所有东西都被推送一遍。因此,我们可以做如下改动提高效率:
脚本可以加入开机启动:
echo "/bin/sh /server/scripts/inotify.sh &" >> /etc/rc.local(一个& 代表从后台开始运行该条命令。)
高并发数据实时同步方案小结:
1)inotify(sersync)+ rsync,是文件级别的。
2)drbd文件系统级别,文件系统级别,基于block块同步,缺点:备节点数据不可用
3)第三方软件的同步功能:mysql同步(主从复制),oracle,mongodb
4)程序双写,直接写两台服务器。
5)利用产品业务逻辑解决(读写分离,备份读不到,读主)
6)NFS集群(1,4,5方案整合)(双写主存储,备存储用inotify(sersync)+rsync
说明:
用户上传的图片或者附件单独存在NFS主服务器上;
用户读取数据从两台NFS备份服务器上读取;
NFS主和两台NFS备份通过inotify+rsync方式进行实时同步。
公司有两台web服务器一直在对外提供服务,但随着业务的发展用户越来越多,网站的功能也越来越强大,各种图片,视频等占用硬盘空间越来越大。于是,领导将web服务器的数据直接存储到NFS服务器上作为存储使用;并且为了防止NFS服务器发生单点故障,领导希望将web服务器存储的内容实时同步到Rsync备份服务器上。现在由你来计划完成领导的需求。
具体要求如下:
-
NFS服务器的要求如下:
- 服务器的共享目录名为/data目录;
- 权限要求只能内网网段访问且可读可写,时时同步;
- 为了方便管理人员管理,需要指定NFS虚拟账户为chensiqi,uid=12306,gid=12306
- 所有访问者的身份都压缩为最低身份
- 将/data目录里的内容同步时时推送到备份服务器的/data目录里(inotify+rsync)
-
web服务器将NFS共享目录统一挂载到/var/html/www目录下