将数百万张图像从Macos移动/复制到外部驱动器到ubuntu服务器

时间:2019-05-20 15:02:20

标签: macos ubuntu file-transfer large-data

我为机器学习项目创建了数百万个图像的数据集(到目前为止,已超过1500万个),占用了超过500GB的存储空间。我在Macbook Pro上创建了它们,但希望以某种方式将它们添加到我们的DGX1(GPU群集)中。我认为复制到快速的外部SSD(在raid0中为2x nvme)然后将驱动器直接插入本地终端并将其复制到网络暂存盘会更快。我现在不太确定了,因为我已经使用cP切换到外部驱动器超过24小时了。

我尝试首先使用finder gui复制(不好的主意!)。对于较小的数据集(200万图像),我使用7zip创建了一些存档。我现在正在MacOS中使用终端使用cp复制文件。

我尝试了“ cp / path / to / dataset / path / to / external-ssd”

Finder绝对不是最好的方法,因为它在“准备”复制阶段花了很长时间。

使用7zip存档数据集可以提高“文件”的传输速度,但是提取文件花了4天以上(!),对于一个数据集来说要小几个数量级。

使用命令行cp可以快速启动,但是速度似乎有所降低。活动监视器说我在磁盘上有6-8k IO。已经24小时了,还没有完成一半。

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

rsync是用于此类工作负载的首选工具。它用于本地和网络副本。

主要优点是(摘自联机帮助页):

  • 增量传输算法,可减少发送的数据量
  • 如果由于任何原因中断了它,则可以以很少的成本轻松地重新启动它。它甚至可以通过大文件部分重启
  • 用于控制其行为的各个方面的选项,并允许非常灵活地指定要复制的文件集。

Rsync被广泛用于备份和镜像,并作为日常使用的改进复制命令。

关于命令的用法和语法,本地传输与cp几乎相同:

rsync -az /path/to/dataset /path/to/external-ssd