Пул ZFS в неисправном состоянии

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

Первоначально у меня было два диска на 4 ТБ в набеге 1 зеркало.

Я затем поместил два новых диска на 4 ТБ в машину и разъединил оригиналы. Я создаю шпульку с новыми дисками в зеркале, но я использовал /dev/sda, и /dev/sdb потому что это - то, что руководство, которое я использовал, сказало мне делать и не думало.

Таким образом, конечно, когда я повторно подключил старые диски скопировать данные, они взяли /dev/sdb и /dev/sdc который сделал один из моих двух дисков zfs /dev/sdd который, конечно, испортил пул zfs и показал тот как UNAVAIL

После работы с кем-то онлайн мне удалось получить пул zfs в режим UUID zpool export pool и затем zpool import -d /dev/disk/by-uuid pool

Это затем позволило мне отсоединяться UNAVAIL диск, который я затем вытер чистый, и добавил назад к zfs как зеркало первого использования, которое это /dev/disk/by-id. После нескольких дней это повторно посеребрило успешно.

Теперь, у меня есть шпулька с одним устройством, имеющим длинное целое, поскольку это - идентификатор и другой со строкой вроде ata-WDC_WD.... Я хотел получить их всех на той же странице, таким образом, я планировал отсоединить первый диск с целочисленным идентификатором и повторно добавить его использование, это /dev/disk/by-id. Однако предпринятый для отсоединения дает мне ошибку: cannot detach 13419994393693470939: only applicable to mirror and replacing vdevs.

Хорошо, таким образом, я попытался заменить его другим диском и получил эту ошибку: cannot open '13419994393693470939': name must begin with a letter

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

2
задан 29 December 2018 в 05:27

1 ответ

Просто повторно выполните процесс, Вы раньше повторно определяли диски в первый раз:

  1. zpool export pool
  2. zpool import -d /dev/disk/by-id pool

Это объединит диски к by-id формат. Вы могли использовать by-uuid вместо этого, если Вы предпочитаете иметь его, находятся в том формате.

Эти две ошибки, которые Вы получаете:

  • cannot detach: Этому отсоединению отказывают, потому что ZFS думает, что нет никаких других пригодных точных копий данных. Вы уверены, что настроили пул в зеркало правильно? Также возможно, что CLI неправильно истолковывает ошибку и дает Вам бессмысленное сообщение об ошибке; возможно, Вы на самом деле просто выполняете команду с неправильным названием диска случайно (см. следующий вопрос ниже).
  • cannot open: Я не могу вполне сказать от информации, которую Вы дали, но я подозреваю, что необходимо дать полный путь этому устройству вместо просто его UUID.
2
ответ дан 2 December 2019 в 03:30

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

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