ZFS: как заменить диск, который вышел из строя при повторном переносе после другой ошибки?

Замена диска в ZFS не удалась, и теперь заменяющий диск, даже если физически его нет, "застрял" в пуле, блокируя дальнейшие попытки замены. Как это убрать?

В пуле raidz3 с 11 дисками на OmniOS r151010 один из дисков вышел из строя. Я перевел проблемный диск в автономный режим, заменил его новым диском и перенастроил новый диск. Он начал переворачиваться, а затем на заменяющем диске возникли ошибки. Dmesg показал: "Команда SYNCHRONIZE CACHE не выполнена". Я задавался вопросом, может ли это быть свободный кабель, поэтому выключил машину, переустановил диск и кабели и снова запустил его. Он начал восстанавливаться, и через некоторое время возникла та же проблема. На данный момент состояние zpool для проблемного диска показывает

replacing-0                UNAVAIL      0     0     0  insufficient replicas
    c4t5000C5004DC8693Fd0  OFFLINE      0     0     0
    c4t50014EE658315C1Dd0  FAULTED      0     0     0  too many errors

Я решил попробовать другой диск, и посмотреть, будет ли это иметь значение. Я подозревал, что это не так, но это было легко попробовать. Я сделал горячую замену диска, а затем показал cfgadm -al

c8                             scsi-sas     connected    configured   unknown
c8::w50014ee6ad8f0df2,0        disk-path    connected    configured   unknown
c8::w50014ee658315c1d,0        disk-path    connected    unconfigured unknown

Новый диск есть, но старый не ушел. Я перезапустил машину, чтобы очистить старое состояние, затем cfgadm -al показал только

c8                             scsi-sas     connected    configured   unknown
c8::w50014ee6ad8f0df2,0        disk-path    connected    configured   unknown

Тем не менее, статус zpool по-прежнему показывает старый диск. Я попытался устранить ошибку, и теперь исходный диск и первая замена находятся в автономном режиме

replacing-0                UNAVAIL      0     0     0  insufficient replicas
    c4t5000C5004DC8693Fd0  OFFLINE      0     0     0
    c4t50014EE658315C1Dd0  OFFLINE      0     0     0

На этом этапе, что я должен сделать, чтобы получить новый заменяющий диск, снова? Выполнение замены zpool на исходном диске или первая замена просто приводит к ошибке (слегка сокращенной здесь) "невозможно открыть" c4t500.... ", такого устройства нет в /dev/dsk".

Выполнение удаления zpool на c4t50014EE658315C1Dd0 выдает сообщение об ошибке "невозможно удалить c4t50014EE658315C1Dd0: могут быть удалены только неактивные горячие резервы, кэш, устройства верхнего уровня или журналы"

1 ответ

Я понял. Используйте zdb в пуле, чтобы получить GUID исходного диска, затем используйте формат, чтобы найти имя замещающего диска, затем выполните

# zpool replace <pool> <GUID of original disk> <name of replacement disk>

Похоже, что это в то время как серебро:

    NAME                         STATE     READ WRITE CKSUM
    raid                         DEGRADED     0     0     0
      raidz3-0                   DEGRADED     0     0     0
        replacing-0              UNAVAIL      0     0     0  insufficient replicas
          c4t5000C5004DC8693Fd0  OFFLINE      0     0     0
          c4t50014EE658315C1Dd0  OFFLINE      0     0     0
          c4t50014EE6AD8F0DF2d0  ONLINE       0     0     0  (resilvering)

а затем вернуться к нормальной жизни, как только это будет сделано.

Другие вопросы по тегам