我正在将数据从一台服务器归档到另一台服务器.最初我开始了rsync工作.它花了2周的时间来构建仅5 TB数据的文件列表,并在另一周内传输1 TB的数据.
然后我不得不杀死这份工作,因为我们需要在新服务器上停机一段时间.
我们已经同意将它们放在一边,因为我们可能不需要再次访问它.我想把它分成500 GB的块.在我开始焦油之后,我将通过ssh复制它.我使用焦油和猪,但它仍然太慢.
有没有更好的方法呢?我认为两台服务器都在Redhat上.旧服务器是Ext4,新服务器是XFS.
文件大小从几kb到几mb,在5TB中有2400万jpeg.所以我猜测15TB大约有600-8000万.
编辑:玩rsync,nc,tar,mbuffer和pigz几天后.瓶颈将是磁盘IO.由于数据是在500个SAS磁盘和大约2.5亿个jpeg上划分的.但是,现在我了解了将来可以使用的所有这些好工具.
解决方法
我使用tar,pigz(并行gzip)和nc获得了非常好的结果.
源机器:
tar -cf - -C /path/of/small/files . | pigz | nc -l 9876
目的地机器:
提取:
nc source_machine_ip 9876 | pigz -d | tar -xf - -C /put/stuff/here
保存档案:
nc source_machine_ip 9876 > smallstuff.tar.gz
如果你想在pigz -d之后看到传输速率只是穿过pv!