在我的 freebsd 盒子上
$uname -rms
FreeBSD 7.2-RELEASE-p5 i386
硬盘要坏了。smartd守护进程在日志中写入:
Mar 29 21:25:04 smartd[935]: Device: /dev/ad7, 10 Currently unreadable (pending) sectors
Mar 29 21:25:04 smartd[935]: Device: /dev/ad7, 10 Offline uncorrectable sectors
我插入新磁盘(ad5),并有以下计划:
- 创建 gmirror 突袭
- 将 ad5 插入突袭
- 同步后从突袭中移除 ad7
- 断开ad7磁盘。
但看起来同步永远无法完成。我总是看到:
mirror/gm1 DEGRADED ad5s1e (79%)
ad7s1e
我尝试停用/激活 ad5s1e。我尝试使用 gmirror rebuild gm1 ad5s1e。我重新启动进入单一模式。79% 始终是障碍。
如何完成此同步?
更新:
再次尝试重建,我在日志中看到以下内容:
Mar 30 01:33:03 kernel: ad7: FAILURE - READ_DMA48 status=51<READY,DSC,ERROR> error=40<UNCORRECTABLE> LBA=372929727
Mar 30 01:33:03 kernel: GEOM_MIRROR: Synchronization request failed (error=5). mirror/gm1[READ(offset=177321017344, length=131072)]
Mar 30 01:33:11 kernel: ad7: FAILURE - READ_DMA48 status=51<READY,DSC,ERROR> error=40<UNCORRECTABLE> LBA=372948031
Mar 30 01:33:11 kernel: GEOM_MIRROR: Synchronization request failed (error=5). mirror/gm1[READ(offset=177330454528, length=131072)]
此后 79% 再次冻结。
答案1
您无法从损坏的磁盘构建镜像。磁盘上的某些扇区无法恢复。但现在并非所有内容都丢失了。您可以尝试转储/恢复文件系统。如果幸运的话,FS 不会使用坏扇区,或者坏扇区上的数据并不重要。请参阅 FreeBSD FAQ,其中描述了如何将 fs 从一个磁盘移动到另一个磁盘: FreeBSD 常见问题解答 q.9.2