如何从损坏的硬盘重建 gmirror

如何从损坏的硬盘重建 gmirror

在我的 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),并有以下计划:

  1. 创建 gmirror 突袭
  2. 将 ad5 插入突袭
  3. 同步后从突袭中移除 ad7
  4. 断开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

相关内容