Назад | Перейти на главную страницу

Как восстановить 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 raid
  2. вставить ad5 в рейд
  3. после синхронизации удалить ad7 из рейда
  4. disconect ad7 disk.

Но похоже, что синхронизация никогда не будет выполнена. Я всегда вижу:

mirror/gm1  DEGRADED  ad5s1e (79%)
                      ad7s1e

Пробовал деактивировать / активировать ad5s1e. Пробовал gmirror rebuild gm1 ad5s1e. Меня перезагрузили в одиночный режим. 79% - всегда барьер.

Как завершить эту синхронизацию?

UPD:

Еще одна попытка перестроить, и я вижу это в журнале:

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% и снова заморозили.

Из сломанного диска не построить зеркало. Некоторые секторы на нем невозможно восстановить. Но еще не все потеряно. Вы можете попробовать сбросить / восстановить файловые системы. Если повезет, в ФС плохие сектора не используются или данные на них не важны. Обратитесь к FAQ FreeBSD, в котором описано, как переместить файловую систему с диска на диск: FreeBSD FAQ q.9.2