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

не удается импортировать том zpool: ошибка ввода-вывода

это на открытом хранилище nexenta. У меня zpool находится в состоянии UNAVAIL из-за некоторых дисков.

# zpool import -F
  pool: delta
    id: XYAZA
 state: UNAVAIL
status: One or more devices are missing from the system.
action: The pool cannot be imported. Attach the missing
        devices and try again.
config:

        delta                        UNAVAIL  insufficient replicas
          raidz2-0                   UNAVAIL  insufficient replicas
            c0t5000C500573978EBd0    ONLINE
            c0t5000C50057397933d0    ONLINE
            c0t5000C50057397C47d0    UNAVAIL  cannot open
            c0t5000C5005739997Fd0    UNAVAIL  cannot open
            c0t5000C50057399F87d0    ONLINE
            c0t5000C5005739A90Bd0    ONLINE
            c0t5000C5005739ABC7d0    UNAVAIL  cannot open
            c0t5000C5005739AC0Fd0    ONLINE
          raidz2-1                   DEGRADED
            c0t5000C50057398657d0    ONLINE
            c0t5000C50057398E03d0    ONLINE
            c0t5000C50057398EF7d0    ONLINE
            c0t5000C50057398FAFd0    ONLINE
            c0t5000C5005739A39Fd0    UNAVAIL  cannot open
            c0t5000C5005739AAFFd0    ONLINE
            spare-6                  DEGRADED
              c0t5000C5005739AC3Fd0  UNAVAIL  cannot open
              c0t5000C50057398EDBd0  ONLINE
            c0t5000C5005739AE9Bd0    ONLINE


~# zpool import -FXf delta
cannot import 'delta': I/O error
        Destroy and re-create the pool from
        a backup source.
  1. Как я могу заставить этот импорт zpool нормально работать?
  2. Диски, помеченные как «UNAVAIL», как я могу их отремонтировать / заменить?

Обновление: 7 сен 2018

После обнаружения дисков в сопоставлении слотов на Nexenta, переустановки дисков в дельта-томе, я смог получить один диск ONLINE в группе raidz2-1, но 3 диска в группе raidz2-0 все еще продолжают отображаться как UNAVAIL.

# zpool import -F
  pool: delta
    id: XYAZA
 state: UNAVAIL
status: One or more devices are missing from the system.
action: The pool cannot be imported. Attach the missing
        devices and try again.
config:

        delta                        UNAVAIL  insufficient replicas
          raidz2-0                   UNAVAIL  insufficient replicas
            c0t5000C500573978EBd0    ONLINE
            c0t5000C50057397933d0    ONLINE
            c0t5000C50057397C47d0    UNAVAIL  cannot open
            c0t5000C5005739997Fd0    UNAVAIL  cannot open
            c0t5000C50057399F87d0    ONLINE
            c0t5000C5005739A90Bd0    ONLINE
            c0t5000C5005739ABC7d0    UNAVAIL  cannot open
            c0t5000C5005739AC0Fd0    ONLINE
          raidz2-1                   DEGRADED
            c0t5000C50057398657d0    ONLINE
            c0t5000C50057398E03d0    ONLINE
            c0t5000C50057398EF7d0    ONLINE
            c0t5000C50057398FAFd0    ONLINE
            c0t5000C5005739A39Fd0    ONLINE
            c0t5000C5005739AAFFd0    ONLINE
            spare-6                  DEGRADED
              c0t5000C5005739AC3Fd0  UNAVAIL  cannot open
              c0t5000C50057398EDBd0  ONLINE
            c0t5000C5005739AE9Bd0    ONLINE

Я нашел один запасной диск для другого online бассейн на приборе. Теперь вопрос: 1. Должен ли я отключать / присоединять запасной диск к группе raidz2-1, у которой есть только один диск UNAVAIL в подкатегории запасной-6? или 2. Следует ли отсоединить / присоединить запасной к группе raidz2-0, у которой все еще есть 3 диска UNAVAIL?

Учитывая, что этот пул отключен (после экспорта) и сейчас его нельзя импортировать.

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

zpool create -m /volumes/delta -o autoreplace=on delta raidz2 c0t5000C500573978EBd0 c0t5000C50057397933d0 c0t5000C50057397C47d0 c0t5000C5005739997Fd0 c0t5000C50057399F87d0 c0t5000C5005739A90Bd0 c0t5000C5005739ABC7d0 c0t5000C5005739AC0Fd0 raidz2 c0t5000C50057398657d0 c0t5000C50057398E03d0 c0t5000C50057398EF7d0 c0t5000C50057398FAFd0 c0t5000C5005739A39Fd0 c0t5000C5005739AAFFd0 c0t5000C5005739AC3Fd0 c0t5000C5005739AE9Bd0

Означает ли это, что raidz2-0 и raidz2-1 являются двумя зеркальными пулами RAIDZ?

Если да, следует ли мне уделять приоритетное внимание исправлению группы дисков raidz2-1 для перехода в оперативный режим по сравнению с raidz2-0 (у которого есть 3 сбоя дисков)?

  1. Должен ли я отсоединять / присоединять запасной диск к группе raidz2-1, у которой есть только один диск UNAVAIL в подкатегории запасной-6?

Ваш запасной диск уже был автоматически подключен к raidz2-1 и был восстановлен. Обычно теперь вы отключаете c0t5000C5005739AC3Fd0 и удалите его из системы, потому что он однажды отказал (или перепрофилируйте его в другой системе и надейтесь на лучшее, если у вас нет лишних ресурсов).

Но это вам не поможет, так как raidz2-0 все еще не работает. Если любой vdev в zpool выходит из строя, весь пул и все данные на нем теряются. Каждый vdev завершится ошибкой, если настроенная четность не может быть поддержана, потому что внутри него вышло из строя достаточное количество дисков. В вашем случае каждый Z2 vdev может выдержать потерю двух дисков, но один из них потерял три.

  1. Должен ли я отсоединить / присоединить запасной к группе raidz2-0, у которой все еще есть 3 диска UNAVAIL?

Во-первых, у вас сейчас нет настоящего запасного. И даже если вы удалили рабочий диск из raidz2-1 (не рекомендуется!), вы все равно ничего не получите, пока не исправите неисправные диски в raidz2-0. Данные четности должны откуда-то поступать, и в этом случае они должны поступать с неисправных дисков. Если у вас не работает хотя бы один из них, лучше всего будет восстановить из резервной копии.

Я просмотрел некоторую историю того, как этот пул был создан, он был создан с помощью приведенной ниже команды в прошлом zpool create -m /volumes/delta [...] Означает ли это, что raidz2-0 и raidz2-1 являются двумя зеркальными пулами RAIDZ?

Нет, это означает, что ваш пул состоит из двух чередующихся vdev, каждый из которых настроен с избыточностью raidz2 и 8 дисков. Вы можете потерять не более 2 дисков в каждом vdev. Если вы проиграете 3 в любом из них, игра окончена.

В ZFS вся избыточность обрабатывается на уровне vdev. Пул всегда чередуется по всем существующим vdev. Если какой-либо vdev не работает, пул терпит неудачу. Зеркалирование - это тип избыточности для vdev, несовместимый с raidz1 / z2 / z3 (вы можете смешивать и сопоставлять vdev с разными типами избыточности, но самый слабый из них будет определять силу вашего пула, и производительность пострадает, так что это не рекомендуется).

Если да, следует ли мне уделять приоритетное внимание исправлению группы дисков raidz2-1, чтобы они были подключены к сети, а не raidz2-0 (у которого 3 сбоя дисков)?

Нет, сначала нужно исправить raidz2-0.


Все они принадлежат Seagate, есть смесь SEAGATE, Rev. A001 и SEAGATE, Rev. 0002, размер 1.82TB.

Это не поможет вам сейчас, но, возможно, в будущем: рекомендуется смешивать и сопоставлять производителей и модели и даже даты производства, чтобы выровнять случаи «плохой партии дисков». Например, если вы купили по 4 диска каждого из 4 основных производителей (Seagate, Western Digital, Hitachi, Toshiba) и разделили их 2–2 на своих виртуальных устройствах, даже если все диски одного производителя вышли из строя одновременно, вы все равно будет рабочий бассейн.