Linux rsync 同步大量文件及目录的处理
2015-09-11 10:15
501 查看
简单记录一下,后续补充。
1,之前使用了 rsync 增量同步的方式。即服务端作为生产站点,客户端作为备份站点。当目录文件达18GB时,每个文件20KB左右时,10级目录。光du -sh就会执行7,8个小时。rsync做一次同步时,也需要花费这么长的时间。原因是生产站点记为SiteA,备份站点记为Site B。Site B同步时,需要比较与A的区别,而后才能具体同步对应的文件。实际比较的过程会在Site A上消耗大量的IO,因为Site A需要读取出来,告诉Site B自己是什么样的。通过ionice可以让业务正常触发,但是同步时间过长不能接受。
2,因此,减少比较时间才是本次优化的重点。实际能够解决的有效方式:第一,先记录变化的文件和目录,第二,同步这些变化的目录。关于记录变化的文件和目录这一点,a.可以考虑使用inotifywait,但是我没有试过;b. 自己记录也是一条路,不过多个进程修改时,会破坏事务性,也会增加程序的工作。关于同步这些变化的目录,rsync就可以轻松搞定。
1,之前使用了 rsync 增量同步的方式。即服务端作为生产站点,客户端作为备份站点。当目录文件达18GB时,每个文件20KB左右时,10级目录。光du -sh就会执行7,8个小时。rsync做一次同步时,也需要花费这么长的时间。原因是生产站点记为SiteA,备份站点记为Site B。Site B同步时,需要比较与A的区别,而后才能具体同步对应的文件。实际比较的过程会在Site A上消耗大量的IO,因为Site A需要读取出来,告诉Site B自己是什么样的。通过ionice可以让业务正常触发,但是同步时间过长不能接受。
2,因此,减少比较时间才是本次优化的重点。实际能够解决的有效方式:第一,先记录变化的文件和目录,第二,同步这些变化的目录。关于记录变化的文件和目录这一点,a.可以考虑使用inotifywait,但是我没有试过;b. 自己记录也是一条路,不过多个进程修改时,会破坏事务性,也会增加程序的工作。关于同步这些变化的目录,rsync就可以轻松搞定。
相关文章推荐
- linux下超简单的ntp时间服务器
- linux下tar.gz、tar、bz2、zip等解压缩、压缩命令汇总
- 配置:Linux 的 Device Mapper 多路径
- centos 彻底删除nodejs默认的安装文件
- Linux系统下基本的帮助查询命令小结
- 完全公平调度-cfs
- CentOS学习6_使用光盘安装CentOS详细教程
- Linux系统文件转码iconv
- linux grep正则表达式与grep用法详解
- Linux查看系统性能命令
- linux文件类型
- linux iscsi 配置过程详解--包括自动挂载文件系统
- LinuxCon: 服务器操作系统的转型
- Linux下samba服务的错误处理
- Linux下rar命令详解
- Linux documentation for /proc/sys/vm/* kernel version 2.6.29
- linux下proc里关于磁盘性能的参数
- 利用python多线程执行远程linux上命令
- Linux虚拟内存(VM)相关参数解析
- Linux内核OOM机制的详细分析