Замена неисправного диска в ZFS-пуле на сервере хранения
Для начала смотрим, какой диск отказал и записываем его wwn, serial, dev:
zpool status tank
lsblk -o DEV,SERIAL,WWN
offline
zpool offline tank <wwn-bad-disk>
Storcli
Есть программа ledctl , которая умеет подсвечивать нужные диски включением светодиода - но в нашем случае она не работает, т.к. используется диск с интерфейсом SAS.
В том случае, если диск оснащен интерфейсом SATA - наоборот, надо использовать команду вида:
ledctl on=/dev/sdz
ledctl off=/dev/sdz
storcli от производителя RAID-контроллера.Cкачиваем утилиту storcli с сайта Broadcom, распаковываем и ставим deb-пакет из каталога
Ubuntu.Утилита будет доступна по адресу /opt/MegaRAID/storcli/storcli64.
Показать все диски:
storcli64 /c0/eALL/sALL show all
storcli64 /c0/eALL/sALL show all | grep -e 'State :' -e "Device Speed"
Device Speed будет в значении Unknown.
Отобразить подробности диска по серийному номеру:
storcli64 /c0/eALL/sALL show all | grep -B5 -A5 <serial-num>
storcli64 /c0/e29/s22 show all
Выключить индикацию по всем дискам (работает не со всеми контроллерами):
storcli64 /cALL set activityforlocate=off
Подсветить конкретный сбойный диск, который необходимо заменить:
storcli64 /c0/e29/s22 start locate
Включить индикацию по всем дискам:
storcli64 /cALL set activityforlocate=on
Проверить диски с ошибками (работает не со всеми контроллерами):
storcli64 /c0/eALL/sALL show all | grep -e 'State :' -e 'Media Error Count'
Замена диска в пуле ZFS
После замены диска делаем его замену в пуле. Предварительно смотрим и записываем два WWN-номера - старого и нового диска.
zpool status tank
lsblk -o NAME,SERIAL,WWN | grep <new_serial_num>
Затем меняем его:
zpool replace tank <WWN-old-number> <WWN-new-number>
Далее необходимо дождаться окончание процесса resilver.
Наблюдаем за процессом с помощью команды:
zpool status tank
Опубликовано: 05.07.2024