【问题标题】:Move/copy millions of images from Macos to external drive to ubuntu server将数百万张图像从 Macos 移动/复制到外部驱动器到 ubuntu 服务器
【发布时间】:2019-10-06 23:32:12
【问题描述】:

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

我一开始尝试使用 finder gui 进行复制(坏主意!)。对于较小的数据集(2M 图像),我使用 7zip 创建了一些存档。我现在使用 MacOS 中的终端使用 cp 复制文件。

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

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

使用 7zip 归档数据集提高了“文件”传输速度,但提取文件需要 4 天(!),而数据集的时间要小一个数量级。

使用命令行 cp,启动很快,但似乎变慢了。活动监视器说我在磁盘上获得了 6-8k IO。已经24小时了,还没有完成一半。

有没有更好的方法来做到这一点?

【问题讨论】:

标签: macos ubuntu file-transfer large-data


【解决方案1】:

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

主要好处是(摘自手册页):

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

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

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

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

【讨论】:

猜你喜欢
  • 2021-12-27
  • 1970-01-01
  • 2017-03-10
  • 1970-01-01
  • 2016-11-11
  • 1970-01-01
  • 2017-08-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多