首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何加快存储数组之间的文件传输?

如何加快存储数组之间的文件传输?
EN

Server Fault用户
提问于 2010-08-18 18:59:02
回答 3查看 1.1K关注 0票数 4

我有两个来自不同厂商的大型存储阵列,每个都有大约10 of /S的带宽可供读/写。我需要把多个TB的文件从一个移到另一个。每个人都讲NFS和CIFS。目前使用cp或scp或rsync,中间主机的GbE接口成为瓶颈,因为我必须从一个数组读取并写入另一个数组。在这两个数组中都没有我可以登录的主机来删除中间人。我有一堆可以提供额外带宽的主机,如果我可以这样做的话:

代码语言:javascript
运行
复制
  rsync [src] [dest] --parallel-hosts=host1,host2,host3,host4

有一个直接的解决办法吗?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2010-08-19 01:09:36

我用于并行化类似事情的一个技巧是在两次传递中完成它--首先生成要传输的文件列表,然后拆分该列表,然后将工作外包给多台机器。

您可以使用rsync这样的方法来完成这一任务:

  • 第一次使用--itemize-更改运行rsync (这只是拖网文件系统并输出要复制的文件列表等)。
  • 处理
  • 使用rsync with --files from=chunkXX在单独的rsync进程(或在单独的机器上)中运行每个块

这极大地帮助了网络文件系统(NFS、Lustre等),在这些系统中,您通常无法从单个rsync进程/机器获得足够的性能。

对文件系统进行拖网比较仍然需要一段时间,但实际的数据移动可能非常快。此外,像cpio和cp这样的东西在原始数据移动方面往往优于rsync。

我经常使用的另一个选项是执行一个简单的find -type f /src,然后拆分该文件列表并在多个主机上将其提供给cpio。

我很想知道一个更简单/更快的方法.

票数 1
EN

Server Fault用户

发布于 2010-08-18 19:04:26

如果两个存储阵列不直接对话,最好的选择是构建一台具有高带宽连接的专用机器。即使是具有一对10 the的相对便宜的新工作站,如果支持网络和存储阵列能够占用它,也可以输出大量的带宽。

票数 3
EN

Server Fault用户

发布于 2010-08-18 21:45:41

您应该与您的存储供应商交谈,以确定控制器是否可以直接相互交谈。如果不构建或租用高带宽的中间节点。我的猜测是,有一种方法可以让两个数组发挥良好,并在控制器上运行完整的克隆。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/172015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档