从损坏的 SSD 克隆数据

Джо*_*мит 5 lvm ssd dd

SSD进入只读模式,因此您需要将分区移动到工作SSD,但我遇到了LVM大小不同的事实:

#lvm pvscan

PV /dev/sdc3 VG pve lvm2 [<111.29 GiB / 13.87 GiB 可用]

PV /dev/sdb3 VG pve lvm2 [<118.74 GiB / 14.75 GiB 可用]

由于数量差异,将无法通过DD转账。

sudo dd if=/dev/sdb3 of=/dev/sdc3 status=进度

还有哪些其他方法呢?也许有可以从 BIOS 下克隆分区的软件?

UPD:两个 SSD 均通过 NVME-usb 适配器连接。我正在 iODD-2531 上使用 live linux。然后我通过 ssh 连接到系统。

从 128 GB 驱动器复制到 120 GB 驱动器。如果第一个驱动器没有写保护,我可以尝试减小分区的大小,然后使用 DD 进行复制。

更新:

我连接了一个 500GB 的驱动器进行测试,并开始使用 DD 进行复制。结果我得到一个错误:

ubuntu@ubuntu:~$ sudo dd if=/dev/sdd of=/dev/sdc status=progress
456839680 bytes (457 MB, 436 MiB) copied, 53 s, 8.6 MB/s
459821568 bytes (460 MB, 439 MiB) copied, 57 s, 8.1 MB/s
461292032 bytes (461 MB, 440 MiB) copied, 59 s, 7.8 MB/s
569393664 bytes (569 MB, 543 MiB) copied, 72 s, 7.9 MB/s
709820928 bytes (710 MB, 677 MiB) copied, 85 s, 8.4 MB/s
dd: error reading '/dev/sdd': Input/output error
1388520+0 records in
1388520+0 records out
710922240 bytes (711 MB, 678 MiB) copied, 93.8062 s, 7.6 MB/s
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这是复制错误。SSD爱国者p300,持续降级,坏道超过50%。话题可以关闭了。驱动器死了。谢谢。

Bar*_*958 6

Clonezilla 在您的情况下可能会派上用场。您绝对可以用它复制不匹配的分区!

https://clonezilla.org/


Nik*_*nov 3

在使用 克隆 PV 之前,您必须先缩小 PV dd,但 SSD 的只读状态禁止这样做。

\n

但是,使用叠加差异图像您仍然可以做到这一点。总体来说和我在另一个答案中详细描述的一样。我在这里仅描述差异。

\n
    \n
  1. 使用物理支持设备 \xe2\x80\x94 旧 SSD 创建差异覆盖暂存图像文件,qemu-img参数中有-b /dev/sdb3.
  2. \n
  3. 加载nbd驱动程序并将映像文件附加为 NBD 磁盘,扩展名为qemu-nbd. 该设备将是读写的,它最初将包含支持设备(旧 SSD)所拥有的任何内容,但更改将写入 qcow2 文件(因此旧 SSD 的只读状态不会干扰对 NBD 的写入) )。
  4. \n
  5. 现在,可以缩小NBD设备上的PV 。由于它不应该涉及太多数据移动,因此临时 qcow2 文件不会增长太多。减少它,使其与第二个 SSD 上的分区匹配(或稍少)。您必须使用类似的东西pvresize --setphysicalvolumesize 111G /dev/nbd0(如果您nbd0在上一步中附加了它)。
  6. \n
  7. 减少后,您可以dd从NBD设备中使用。wipefs在克隆到目标分区之前,最好不要使用目标分区并删除其中任何剩余的标签(使用)。
  8. \n
\n

可以使用设备映射器内置覆盖功能和稀疏覆盖图像来实现相同的设置(只读支持设备和读写覆盖),而不是使用 Qemu\ 的图像工具和 NBD,如RAID wiki 上所述,但我从来没有这样做过。

\n
\n

编辑:由于这出现在评论中,我想我也需要在这里添加它。如果您有足够大的备用备份空间(外部硬盘或其他东西),可以存储原始设备的映像,请执行此操作,进行转储。ddrescue工具对于这项任务非常有用,因为它:

\n
    \n
  • 解决无法读取的块,用零填充它们
  • \n
  • 维护一个状态(“日志”)文件,其中记录哪些块已成功复制、哪些块被发现不可读以及哪些块尚未尝试
  • \n
  • 您可以使用相同的源、目标和状态文件安全地重新启动它。此外,还可以将不可读的块重置为未尝试状态,因此它将在运行期间重试它们。
  • \n
\n

这使得完全复制在完成一些工作后过热或离线且整体不稳定的设备成为可能。请耐心等待,几次运行后,它将提取所有可能恢复的数据。

\n

之后,使用此图像代替原来的染色设备。您可以按照我上面解释的方式使用它,例如设置另一个覆盖图像来存储差异。通过不更改原始图像并根据需要一次又一次地重新创建覆盖图像,您将有无限的尝试。

\n

  • 值得一提的是,如果要创建 pv 克隆,则不应将新驱动器与(`pvcreate` 和)`vgextend` 一起应用。如果已应用,则应在克隆之前运行相应的“vgreduce”。 (2认同)