Я нахожусь в процессе переключения от классического набега 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, там путь вокруг этого, я просто не нашел.
Просто повторно выполните процесс, Вы раньше повторно определяли диски в первый раз:
zpool export pool
zpool import -d /dev/disk/by-id pool
Это объединит диски к by-id
формат. Вы могли использовать by-uuid
вместо этого, если Вы предпочитаете иметь его, находятся в том формате.
Эти две ошибки, которые Вы получаете:
cannot detach
: Этому отсоединению отказывают, потому что ZFS думает, что нет никаких других пригодных точных копий данных. Вы уверены, что настроили пул в зеркало правильно? Также возможно, что CLI неправильно истолковывает ошибку и дает Вам бессмысленное сообщение об ошибке; возможно, Вы на самом деле просто выполняете команду с неправильным названием диска случайно (см. следующий вопрос ниже).cannot open
: Я не могу вполне сказать от информации, которую Вы дали, но я подозреваю, что необходимо дать полный путь этому устройству вместо просто его UUID.