Почему мои пулы ZFS «недоступны»?

Я только что заменил жесткий диск, который был частью двух разных резервных пулов, и теперь оба пула недоступны ...

Подробности:

  • Всего четыре диска: 2x4 ТБ ( da0 и ada1 ) и 2x3 ТБ ( da1 и da2 ).
  • Один пул представляет собой RAIDZ1, состоящий из обоих дисков по 3 ТБ в
  • Другой пул представляет собой зеркало, состоящее из оставшегося пространства двух больших дисков.
  • Я заменил один из дисков по 4 ТБ другим такого же размера ( da0 ) ...

Я ожидал, что оба пула перейдут в «деградированный» режим, пока я не разделю замену на две части и не добавлю каждую часть в свой пул.

Вместо этого компьютер перезагрузился. бесцеремонно и по возвращении оба пула «недоступны»:

      pool: aldan
     state: UNAVAIL
    status: One or more devices could not be opened.  There are insufficient
            replicas for the pool to continue functioning.
    action: Attach the missing device and online it using 'zpool online'.
       see: http://illumos.org/msg/ZFS-8000-3C
      scan: none requested
    config:

            NAME                      STATE     READ WRITE CKSUM
            aldan                     UNAVAIL      0     0     0
              raidz1-0                UNAVAIL      0     0     0
                1257549909357337945   UNAVAIL      0     0     0  was /dev/ada1p1
                1562878286621391494   UNAVAIL      0     0     0  was /dev/da1
                8160797608248051182   UNAVAIL      0     0     0  was /dev/da0p1
                15368186966842930240  UNAVAIL      0     0     0  was /dev/da2
            logs
              4588208516606916331     UNAVAIL      0     0     0  was /dev/ada0e

      pool: lusterko
     state: UNAVAIL
    status: One or more devices could not be opened.  There are insufficient
            replicas for the pool to continue functioning.
    action: Attach the missing device and online it using 'zpool online'.
       see: http://illumos.org/msg/ZFS-8000-3C
      scan: none requested
    config:

            NAME                     STATE     READ WRITE CKSUM
            lusterko                 UNAVAIL      0     0     0
              mirror-0               UNAVAIL      0     0     0
                623227817903401316   UNAVAIL      0     0     0  was /dev/ada1p2
                7610228227381804026  UNAVAIL      0     0     0  was /dev/da0p2

Я разделил новый диск сейчас, но попытки «заменить zpool» отклоняются с сообщением «пул недоступен». Я почти уверен, что если я просто отключу новый диск, оба пула станут в порядке (в случае ухудшения работы). Почему они оба сейчас «недоступны»? Согласно camcontrol:

<ATA TOSHIBA MG03ACA4 FL1A>        at scbus0 target 0 lun 0 (pass0,da0)
<ATA Hitachi HUS72403 A5F0>        at scbus0 target 1 lun 0 (pass1,da1)
<ATA TOSHIBA HDWD130 ACF0>         at scbus0 target 2 lun 0 (pass2,da2)
<M4-CT128M4SSD2 0309>              at scbus1 target 0 lun 0 (pass3,ada0)
<MB4000GCWDC HPGI>                 at scbus2 target 0 lun 0 (pass4,ada1)

все устройства подключены к сети. Используется ОС FreeBSD-11.3-STABLE / amd64. Что не так?

Обновление : нет, я явно не отключал устройства перед отключением диска - и оно уже возвращается в Amazon. Я удивлен, что такое отключение необходимо - разве ZFS не сможет справиться с внезапной смертью любого диска? И не следует ли также быть готовым к замене вышедшего из строя диска техником на другой? Почему это так?

У меня есть резервные копии, и я могу восстановить пулы с нуля, но я хотел бы выяснить, как этого избежать. Или, если это невозможно, отправить соответствующий отчет об ошибке ...

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

Обновление 2 : многократные перезагрузки с подключенным новым диском и без него не помогли. Однако zpool import перечисляет оба пула именно так, как я и ожидал: деградированные (но доступные!). Например:

   pool: lusterko
     id: 11551312344985814621
  state: DEGRADED
 status: One or more devices are missing from the system.
 action: The pool can be imported despite missing or damaged devices.  The
        fault tolerance of the pool may be compromised if imported.
   see: http://illumos.org/msg/ZFS-8000-2Q
 config:

        lusterko                  DEGRADED
          mirror-0                DEGRADED
            ada1p2                ONLINE
            12305582129131953320  UNAVAIL  cannot open

Но zpool status продолжает настаивать, все устройства недоступны ... Есть надежда?

1
задан 22 October 2019 в 04:57
1 ответ

Возможно, вы также не отключили старый диск перед его удалением. (Возможно, ZFS считает, что логические диски (ваши пулы) повреждены, а контроллер считает, что с ними все в порядке. Это происходит, если есть разница в размере дискового цилиндра - редкий случай, но может случиться.)

Чтобы выйти из ситуации. ситуации:

  • получить имя диска из zpool status
  • использовать diskinfo для определения физического местоположения НЕДОСТУПЕННОГО диска, указанного выше
  • перенастройте его с помощью cfgadm -c uninfigure и cfgadm -c configure
  • перевод нового диска в оперативный режим - онлайн-зона zpool
  • зона обновления - zpool replace zone ( зона состояния zpool должен отображаться онлайн)
  • запустите команду zpool replace , чтобы заменить диск
1
ответ дан 3 December 2019 в 22:59

Теги

Похожие вопросы