我有两个双胞胎CentOS 5.4服务器,每个服务器都安装了VMware Server。
假设我总是将稀疏文件用于我的vmware虚拟机,那么将虚拟机文件从一台服务器复制到另一台服务器的最可靠,最快速的方法是什么?
vm的文件很难复制,因为它们非常大(50 GB),但由于它们是稀疏文件,我认为可以采取一些措施来提高复制速度。
答案 0 :(得分:5)
如果您想快速复制大数据,通过SSH rsync
不适合您。由于运行rsync
守护进程进行快速一次性复制也是一种过度杀伤,你可以按照以下方式执行tar
和nc
。
创建将通过网络提供文件的流程:
tar cSf - /path/to/files | nc -l 5000
请注意,检查稀疏文件可能需要tar
很长时间,因此暂时看不到任何进展是正常的。
并在另一端接收以下文件:
nc hostname_or_ip 5000 | tar xSf -
或者,如果您想获得所有想象力,请使用pv
显示进度:
tar cSf - /path/to/files \
| pv -s `du -sb /path/to/files | awk '{ print $1 }'` \
| nc -l 5000
稍等片刻,直到看到pv
报告某些字节已经过去,然后在另一端启动接收器:
nc hostname_or_ip 5000 | pv -btr | tar xSf -
答案 1 :(得分:2)
您是否尝试使用--sparse
选项rsync(可能超过ssh)?
来自man rsync
:
Try to handle sparse files efficiently so they take up less space on the destination. Conflicts with --inplace because it’s not possible to overwrite data in a sparse fashion.
答案 2 :(得分:0)
您可以查看http://www.barricane.com/virtsync
(免责声明:我是作者。)
答案 3 :(得分:0)
由于rsync
在复制稀疏文件方面非常慢,我通常使用tar
而不是ssh
:
tar Scjf - my-src-files | ssh sylvain@my.dest.host tar Sxjf - -C /the/target/directory