Posts Tagged ‘cp’

大量小文件同步时碰到的问题

January 10th, 2009

在对大量小文件在两台机器之间同步的时候,碰到的一些问题,并且一直没找到最理想的办法。

0,SCP
不敢用,因为存在循环链接的bug,会直到循环着把分区塞满为止,官方也有人报,但是一直没fix,况且还没法进行增量同步。

1,nfs&cp,tar
通过nfs挂过来,然后cp或tar,如果是一次性拷贝时,比较合适,但是如果量大想提前复制一份过来,之后就没法进行增量同步了。

2,rsync
比较常用这个,但是也有问题。
a)rsync在3.0之前的版本都要先接收文件列表,这个过程很慢,如果再出点啥意外,不好意思,请从头再来。不过在3.0之后的版本,改进了这个情况,只接收增量文件列表了。
b)在对长目录名进行同步的时候,会报IO错误并退出,当我启动同步进程之后,去睡觉了,本来以为第二天就完了,结果同步了几个G的数据后,碰到了超长目录名,真是一个郁闷啊!所作的只能是先把这个超长目录删除了,然后再次启动同步!
c)当使用单进程来同步的话,速度很慢,所以必须启动多进程来拷贝,效率成倍提高。看看我的进程数,网卡、IO都快吃满了,很爽!
root@:/var/log/rsync# ps -ef |grep rsync  |wc
66     913    8577

不知道各位老大都是如何解决这个问题的?谁有更好的办法,告知一下啊!