Linux下NTFS挂载:传输速度慢

Linux下NTFS挂载:传输速度慢

我正在将我的家庭服务器从 Windows 迁移到 Ubuntu 服务器 22.04。我要迁移的一些数据位于 NTFS 驱动器上,我想将此数据传输到使用 XFS 的新(第二个)驱动器。然而,我遇到的传输速度非常低,从 40 MB/s 到 1 MB/s。对于相关驱动器,Hdparm 的无缓冲读取速度约为 230 MB/s。

驱动器通过主板 SATA 连接,但我通过 HBA(LSI 9211-8i IT 模式)也得到了类似的结果。驱动器是 Seagate Iron Wolf 10Tb 和 8Tb 旋转磁盘。主板是千兆字节 X399 aorus xtreme,运行 AMD threadripper 1920x。这些文件是混合的:视频文件(平均 4GB)照片(8-20MB)和许多 >10 Mb 的较小文件。

虽然驱动器都连接在 Ubuntu 服务器中(通过 sata),但使用 cp 的传输速度为 1-3 MB/s,使用 rsync 的传输速度约为 7-8 MB/s。不确定它是否有任何区别,但我使用反向映射 B 树选项 (-m rmapbt=1) 格式化了 XFS 驱动器。

xfs 驱动器的 fstab 条目具有以下选项: 自动、rw、同步、noexec、nodev、nosuid、nofail、x-gvfs-show、x-gvfs-name=sdisk2

当 ntfs 驱动器安装在 Linux 服务器中时,它具有以下 fstab 安装选项:自动 ro 0 0

从我的基本 google-fu 我已经成功测试:

  1. 检查写入缓存 - 确认在相关驱动器上启用。
  2. Linux 下 NTFS 驱动程序的潜在瓶颈 - 见下文。
  3. 移动SATA端口——这没有什么区别。

为了测试点 2,我将 NTFS 驱动器连接到有线网络 Windows 盒子,然后通过 samba 使 XFS 驱动器可用 - 这将传输速度提高到大约 30-40MB/s - 使用资源管理器。因此,问题的一部分可能是 Linux NTFS 驱动程序。这是迄今为止最好的结果,但我认为这远远低于预期,至少根据我之前仅使用 Windows 的传输经验。

我不知道还要检查什么。我对 Linux 比较陌生(过去两周学到了很多东西),如果有任何帮助,我将不胜感激。

谢谢,

调频

答案1

您可以尝试用这种方式复制文件吗?

tar c source/directory | pv -petrab | tar -C /destination/directory -x

(@MarcusMüller 的提示)

答案2

谢谢两位的回答。两者都非常有用,我很高兴地说工作很顺利 - 恢复到约 230Mb/s。为了更好地衡量,我将目标驱动器重新格式化为 ext4,并尝试了这两个选项,并且都给出了非常相似的结果。我选择了 tar 命令,主要是因为我越来越习惯通过 cli 进行操作。

为了让我理解您好心提供的 tar 命令,开始(tar -c)创建一个存档并压缩源文件夹,然后以某种流式传输方式通过管道将其解压缩(tar -C -x)在目标文件夹,中间 PV 命令提供进度、统计数据等。这是正确的吗?

很抱歉将其放在答案部分。我最初以未注册用户的身份发布,密码/注册电子邮件过程似乎创建了一个同名的新用户!这是我可以发布此内容的唯一地方。无论如何,我要感谢你。

相关内容