我在Amazon EC2服务器上运行Linux。 我需要在同一个可用区域中复制数百万个文件,这两个文件在两个EC2系统之间总共有几百GB。 我不需要同步目录,我只需要将一个目录中的所有文件复制到另一台机器上的空目录。
什么是最快的方法来做到这一点? 有没有人看到或运行性能testing?
rsync的? SCP? 我应该先压缩他们吗? 我应该分离驱动器,然后将其重新连接到正在复制到的机器上,然后复制它们? 是否通过EC2的私有IP加速传输?
任何想法将不胜感激。
注意:很抱歉,这个问题还不清楚,但是我在两个EC2系统之间复制数据,这两个系统都在同一个AWS可用区域中。
如果这些文件已经在EBS卷上了(如果你关心他们,为什么不呢?):
在第一个实例上创build包含文件的EBS卷的快照。
从该快照创build一个EBS卷。
将EBS卷附加到第二个实例。
新的EBS卷可能会稍微慢一点点,但它可以立即使用。
备选(如果文件不在EBS卷上):
附加一个新的EBS卷到第一个实例。
将其他磁盘上的文件复制到新的EBS卷。
将EBS卷移到第二个实例。
使用tar和netcat。 如果他们在同一个子网中,并且你不太在意安全性,这是一个非常好的解决scheme。 你可以添加东西到pipe道中,如果你想要安全..你可以使用gpg ..或先用gzip压缩
在接收端做:
netcat -l -p 7000 | tar x
并在发送端做:
tar cf - * | netcat otherhost 7000
您可以使用Amazon AWS导入/导出服务。 运送驱动器给他们,让他们为你做副本。 更昂贵的,但是当你需要有很多GB的数据传输,而不需要等待几个星期的工作完成的情况下完美。 他们的链接: http : //aws.amazon.com/importexport/