Замена диска в RAIDZ, созданном на gpt метках

Feb 23, 2018 20:32

Пока болел, один из дисков моего массива raidz2 вылетел. Полтора десятка переназначенных секторов. Что важнее - короткий SMART тест не проходит - ошибка по чтению на 40%. Купил новый (тема отдельного поста), заменил, сейчас идёт процесс восстановления. Но что-то мне старый пост на тему замены диска не очень понравился, пишу новый

Read more... )

nas, nas4free, zfs

Leave a comment

poleznosti_13 April 3 2018, 18:29:29 UTC
$ camcontrol devlist
at scbus0 target 0 lun 0 (ada0,pass0)
at scbus1 target 0 lun 0 (ada1,pass1)
at scbus3 target 0 lun 0 (ada2,pass2)
at scbus3 target 1 lun 0 (ada3,pass3)
at scbus4 target 0 lun 0 (ada4,pass4)
at scbus4 target 1 lun 0 (ada5,pass5)

$ zpool status
pool: Pool
state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(7) for details.
scan: resilvered 1.13T in 11h25m with 0 errors on Mon Mar 26 02:44:01 2018
config:

NAME STATE READ WRITE CKSUM
Pool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
gpt/870024 ONLINE 0 0 0
ada1 ONLINE 0 0 0
gpt/975623 ONLINE 0 0 0
gpt/660867 ONLINE 0 0 0
gpt/964453 ONLINE 0 0 0

errors: No known data errors

Reply

poleznosti_13 April 3 2018, 18:33:45 UTC
строка про ошибку:
[Error: Irreparable invalid markup ('') in entry. Owner must fix manually. Raw contents below.]
от движка ЖЖхи

Reply

2gusia April 3 2018, 18:48:52 UTC
https://2gusia.livejournal.com/565563.html

забекапить всё, что можно
На свежую голову
1) zpool offline Pool ada1
2) zpool labelclear /dev/ada1
3) gpart destroy -F /dev/ada1
4) gpart create -s GPT /dev/ada1
5) gpart add -t freebsd-zfs -l D_Z300W3TK -a 4K /dev/ada1
вместо D_Z300W3TK - хвост серийного номера вашего диска
6) zpool status
там покажет длинный номер вместо удалённого диска, этот номер использовать
7) zpool replace Pool 6037660560072957879 /dev/gpt/D_Z300W3TK
вместо 6037660560072957879 - ваш длинный номер
вместо D_Z300W3TK - хвост серийного номера вашего диска
8) zpool status чтобы убедиться, что процесс пошёл.

Reply

poleznosti_13 April 3 2018, 19:49:41 UTC
Спасибо большое, процесс пошёл :)

Reply

poleznosti_13 April 3 2018, 23:23:45 UTC
Помню вы раньше писали, что прерывание процесса ребилда привело к кратной потере его скорости. У себя наблюдаю ~четырёхкратную потерю скорости - до 40M/s, хотя в начале было ~170M/s. И никакого прерывания у меня пока не было...
Что интересно - при ребилде на "сырой" диск ничего подобного не было...

Reply

poleznosti_13 April 4 2018, 10:41:01 UTC
Есть у меня мнение, что это Syncthing нагружал систему, не давая разогнаться resilvering. Перед сном поставил все задачи на паузу, и к утру обнаружил скорость 110M/s и почти выполненную задачу.
Всё благополучно закончилось, и только теперь я обнаружил, что нарушил своё правило именования GPT-меток - использовал в имени 7 цифр вместо 6. Переименовать GPT-метку без разборки/сборки пула не выйдет?

Reply

2gusia April 4 2018, 19:05:19 UTC
Не пробовал, но 10 к 1, что получится. Я бы поэкспериментировал на виртуалке - диск в офлайн, изменение метки - диск в онлайн, смотрим статус

Reply

poleznosti_13 April 4 2018, 22:58:45 UTC
Лень виртуалку собирать - попробую на боевом - ведь не высока вероятность получить что-то хуже, чем заново resilvering?
Какой командой переименовывать?

Reply

2gusia April 5 2018, 17:31:44 UTC
в общем - да

Reply

poleznosti_13 April 5 2018, 22:52:18 UTC
Какой командой переименовывать?

Reply

2gusia April 6 2018, 20:34:23 UTC
Давайте подождём, как бы пул не потерять, если диск сыплется

Reply

poleznosti_13 April 6 2018, 20:38:25 UTC
конечно подождём :)

Reply

poleznosti_13 April 6 2018, 16:29:44 UTC
Опа... как они строем пошли:
gpt/660867 FAULTED 0 0 0 too many errors
Но в СМАРТе пока чисто... Это может быть связано с заменой другого диска? Сразу в морг, или сначала как-то проверить?

Reply

2gusia April 6 2018, 20:33:58 UTC
выключить, проверить провода. У этого диска по возможности SATA провод заменить. Потом сбросить ошибки - там он пишет как/ Но на всякий
zpool clear Pool gpt/660867

и немедленно прогнать скраб
zpool scrub Pool

Reply

poleznosti_13 April 6 2018, 20:37:21 UTC
zpool clear Pool gpt/660867
это команда очистки лога ошибок?
...как-то больно грозно она выглядит ;)

Reply

2gusia April 7 2018, 05:49:10 UTC
не путать с destroy :)
https://www.freebsd.org/cgi/man.cgi?zpool%288%29

zpool clear [-F [-n]] pool [device]

Clears device errors in a pool. If no arguments are specified, all
device errors within the pool are cleared. If one or more devices is
specified, only those errors associated with the specified device or
devices are cleared.

-F Initiates recovery mode for an unopenable pool. Attempts to
discard the last few transactions in the pool to return it to
an openable state. Not all damaged pools can be recovered by
using this option. If successful, the data from the discarded
transactions is irretrievably lost.

-n Used in combination with the -F flag. Check whether discard-
ing transactions would make the pool openable, but do not
actually discard any transactions.

Reply


Leave a comment

Up