保险起见,先dd出来,因为本地没有足够大的空间,尝试将现有信息保存到另外一台主机,
在有空间的主机(192.168.1.2)运行:
ssh root@192.168.1.1 "dd iflag=fullblock conv=sync,noerror if=/dev/nvme0n1 |gzip -1 -" |dd of=/mnt/nvme.bak
还好可以执行,庆幸SSD盘似乎没有挂的很彻底。没有高兴太久,发现800G的盘
dd出来只有267G,看了下warning,似乎是因为中间有坏块读不出来,造成dd出来
的后面的部分,覆盖了前面的内容。
按理dd应该有选项避免这种情况,但是没查到,感觉过于复杂,不友善放弃。换
ddrescue,没看到可以支持管道到远端,放弃。换ddrescue。是的 ddrescue
和ddrescue 是两个不同的软件。
命令够简单:
在故障磁盘(/dev/nvme0n1)所在主机执行
dd_rescue /dev/nvme0n1 - | ssh root@192.168.1.2 "cat - > /mnt/filename.img"
执行效果不错,速度更是令人惊喜,千兆网络可以跑满。用dd只有一半速度。
关键是文件大小基本靠谱。