Замена мертвого диска в zpool

Если «impuser» разрешено получить root (это означает, что он не исключен из прав sudo в файле /etc/sudoers). Просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он откроется, запустите команду ниже.

sudo su
1
задан 15 September 2014 в 19:51

3 ответа

Проблема заключается в том, что диски ссылаются на идентификаторы, а не на устройство.

Ниже приведено обходное решение, которое должно работать:

ln -s /dev/null /dev/ata-ST3300831A_5NF0552X
zpool export hermes
zpool import hermes
zpool status
# note the new device name that should appear here
zpool offline hermes xxxx
zpool replace hermes xxxx /dev/disk/by-id/ata-ST3500320AS_9QM03ATQ

Изменить: я опоздал на 30 секунд. ..

3
ответ дан 24 May 2018 в 21:16
  • 1
    Благодарю. Я пытался создать пустую ссылку на отсутствующий диск, но он продолжал говорить no such device in pool. – Marcus 9 June 2013 в 16:16
  • 2
    Мое предложение почти идентично тому, что вы сделали. Единственное различие заключается в том, как получить руководство устройства. После создания символической ссылки на / dev / null (которая отличается от пустой ссылки) и экспорта / импорта пула она появляется в zpool status – jlliagre 9 June 2013 в 16:56
  • 3
    Используя этот метод, мне действительно удалось получить «дефект». верните его в онлайн без его замены (поэтому я пропустил шаги offline и replace). Я импортировал пул во второй раз после удаления нулевой ссылки. Может быть, это была проблема с ярлыком на диске? Фактически, имя накопителя осталось прежним. После этого я сделал полный скраб и ошибок не обнаружено. – Serrano 22 August 2016 в 09:52

@Marcus: Спасибо, что опубликовали этот отличный ответ на свой вопрос, это очень помогло мне.

На днях я нашел поворот, который может вас заинтересовать (и кто-нибудь еще, googling в будущем): у меня было устройство кэширования, которое было удалено из пула (и отмечено как «UNAVAIL») из-за этой же ошибки (ZFS-8000-4J, «метка отсутствует или недействительна») и пытается отключиться / удалить / заменить его с тем же сообщением «нет такого устройства в пуле».

НО, когда я попытался применить ваше решение, простой «zdb» (без аргументов) не отобразил устройство, а тем более его GUID.

После некоторого копания я обнаружил, что «zdb -l / dev / DEVICENAME» перечисляет GUID (беря его непосредственно с устройства, а не из записей пула), и использование этого GUID позволило мне сделать (на самом деле я сделал «zpool offline», а затем «zpool remove», а затем «zpool add», который отлично работал).

2
ответ дан 24 May 2018 в 21:16
  • 1
    Благодаря! Добавлен намек на мой собственный принятый ответ со ссылкой на ваш комментарий. – Marcus 31 March 2015 в 15:47
  • 2
    Для меня zdb -l /dev/... всегда показывали «не удалось распаковать ярлык». – Matt 27 April 2017 в 02:09

У меня была аналогичная проблема:

Диск вышел из строя таким образом, что он больше не регистрировался в BIOS (полностью мертв). [F5] указал, что это UNAVAILABLE.

Я поставил диск с аналогичной емкостью, и мне удалось выделить его как новый spare, который был INUSE и resilvered the drive. Но на самом деле это не было частью zpool, а у пула была память отсутствующего диска, и он думал, что когда-нибудь появится снова.

Решение состояло в том, чтобы сначала удалить отсутствующий диск из zpool:

[root@hactar ~]# zpool detach hactar_data /dev/gptid/87410b00-adb0-11e6-9193-00241d738094  

Затем отпустите диск, отмеченный spare-1 INUSE также:

[root@hactar ~]# zpool detach hactar_data /dev/gptid/f2089b59-2654-11e5-8d99-00241d738094

Как только я это сделал, похоже, что FreeNAS выяснил это без меня, чтобы сделать [ f10], однако если ваша система сама не понимает, следующая команда должна заменить одно устройство на другое:

zpool replace {your_poolname} {drive to be replaced} {new drive to take its place}

Например:

zpool replace hactar_data /dev/gptid/87410b00-adb0-11e6-9193-00241d738094 /dev/gptid/87410b00-adb0-11e6-9193-00241d
738094
Gptids пришли из моей команды zpool status.
0
ответ дан 24 May 2018 в 21:16

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

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