NFS 远程实时写入同步
来源:互联网 发布:安云加速器for mac 编辑:程序博客网 时间:2024/06/01 19:41
业务场景是这样的:
为了扩容,使用多台服务器提供同样的服务。每次服务任务都有一个唯一的id号,并在执行服务任务时产生相应的日志。
要求:
1. 每个任务按其唯一的id号生成日志文件。
2. 所有任务的日志文件存放于一台固定的服务器上的固定目录。
3. 日志内容可实时反馈给用户,在前端显示。
日志是用log4j记录的,实际上如果是输出到单个日志文件的话可以配置socket将日志发送到远程日志服务器,但现在的场景是服务器同时可能执行多个任务,这些任务产生的日志要分发到不同的日志文件中,我没有想到什么简洁的处理方案。所以想用nfs将日志服务器日志目录mount到各个服务器。
然而即使在exports里指明了需要sync,仍然面临着日志文件实时同步的问题,往往任务已经结束了,日志文件虽然产生了,但大小还是0,内容要过一会儿才能完全写入nfs。
原来即使指明了sync,nfs默认也是要做一些缓存的。这就是参数ac和noac的区别,即attribute caching的开关。
mount -t nfs -o sync,noac x.x.x.x:/data/ ./data/
挂载的时候指明不需要属性缓存,这样才算是真正的sync了。但是,由此会带来服务性能的损失,缓存内存跟实写硬盘肯定不是一个数量级的。
0 0
- NFS 远程实时写入同步
- 双向实时远程同步文件(inotify+rsync与nfs)
- mac fswatch+rsync 实时同步远程文件
- rsync+inotify实现NFS实时同步数据以及压力测试
- eclipse 远程文件实时同步,eclipse远程部署插件
- Postgresql 远程同步(非实时同步,小数据量)
- 使用rsync+inotify配置触发式(实时)远程同步
- 使用rsync+inotify配置触发式(实时)远程同步
- eclipse远程部署,静态文件实时同步插件
- 关于SVN+sersync实时同步到远程服务器的思路
- 使用rsync+inotify配置触发式(实时)远程同步
- eclipse远程部署,静态文件实时同步插件
- Linux创建配置使用SVN,可远程同步,可实时同步到web目录中
- NFS刷新(同步)
- Cent OS 5.4 rsync+inotify配置触发式(实时)远程同步
- 通过rsync+inotify-tools+ssh实现触发式远程实时同步
- 通过rsync+inotify-tools+ssh实现触发式远程实时同步
- 通过rsync+inotify-tools+ssh实现触发式远程实时同步
- windows 安装VisualSVN-Server并设置域验证
- mysql判断表中字段或者索引是否存在,如果不存在则创建
- AMESim软件建模
- 本机连接虚拟机中Oracle数据库问题解决
- C++构造函数和析构函数
- NFS 远程实时写入同步
- html如何让取消横向缩放
- laravel phpstorm安装laravel-ide-helper实现自动完成、代码提示和跟踪
- Value '0000-00-00' can not be represented as java.sql.Date解决办法
- 屏幕尺寸、分辨率、像素、PPT解释及其关系
- POJ 1050 To the Max
- C++作业4
- 最短路径(由浅到深)
- 循环赛日程问题