dd 1.5TB 还是 rsync 500GB 哪个更快?

Ada*_*sen 6 performance dd hard-disk

我需要从出现故障的硬盘驱动器中保存数据。

听起来像ddrescue 或 myrescue(或者可能是clonezilla?)将是我最好的朋友,但我只是想知道什么可能会更快:

  1. 使用 dd/ddrescue/myrescue/clonezilla 将故障驱动器简单地克隆到相同容量的新驱动器
  2. 使用 rsync/tar/cp 将文件从故障驱动器移动到新驱动器

?

dd-ish 选择避免在内核空间和用户空间之间来回移动数据,对吗?但是 rsync 和其他人避免移动空白空间,对吗?

如果我选择 dd-ish 解决方案,另一个奇怪的幸运点是:故障驱动器当前以只读方式安装(我认为是故障过程的一部分),所以我想我不必担心在 dd 期间数据更改'ing。

这是根分区,所以 dd 会很方便,因为我应该能够在它完成后启动新驱动器。

Kyl*_*nes 11

毫无疑问,rsync 会更快。dd 必须读取和写入整个 1.5TB,它会命中每个坏块,触发多次读取重试,这将进一步减慢已经很长的进程。rsync 只需要读取重要的块,并且由于每个坏块不太可能出现在现有文件或目录中,因此 rsync 会遇到更少的坏块。

使用 rsync 进行磁盘救援的坏处是,如果它确实遇到坏块,它会放弃包含它的文件或目录。如果一个目录包含很多子目录并且 rsync 放弃读取它,那么您的副本可能会丢失很多您想要保存的内容。问题是 rsync 依赖于文件系统结构来告诉它要复制什么,而文件系统本身不再值得信赖。

出于这个原因,我会首先使用 rsync 从驱动器中复制文件,但我会非常仔细地查看输出以查看遗漏了什么。如果你不能没有 rsync 无法复制的东西,那么使用 dd 或其他低级块复制方法之一。然后,您可以 fsck 副本,安装它并查看是否可以恢复更多文件。


归档时间:

查看次数:

6347 次

最近记录:

13 年,6 月 前