Сборка RAID-массива на контроллере LSI MegaSAS во FreeBSD

Пока не о чем писать, начну доставать из загашников небольшие полезные заметки. Эта заметка - первая, затыкающая дыру в периодичности публикаций :)

Однажды на работе нужно было починить развалившийся RAID-массив. Попутно и записал себе эту памятку, чтобы в следующий раз не пришлось снова лезть в man'ы.

Посмотрим состояние RAID-массива:

# mfiutil show config

Из строя вышел диск 6.

Загрузим драйвер для доступа к статистике SMART дисков, подключенных через RAID-контроллер:

# kldload mfip

В файловой системе устройств /dev появятся устройства pass, соответствующие дискам, подключенным к RAID-контроллеру. Смотрим статистику SMART по каждому из дисков:

# smartctl -a /dev/pass0
# smartctl -a /dev/pass1
# smartctl -a /dev/pass2
# smartctl -a /dev/pass3

Грубо говоря, если в выводе команд есть указанные ниже строки, значит с диском всё в порядке. В противном случае его стоит поменять.

SMART Health Status: OK

Elements in grown defect list: 0

На неисправном диске эти строчки могут быть, например, такими:

SMART Health Status: FAILURE PREDICTION THRESHOLD EXCEEDED [asc=5d, ascq=0]

Elements in grown defect list: 22

Если обнаружен неисправный диск, то его можно отключить:

# mfiutil fail 6

Если это SATA- или SAS-диск в серверном шасси с собственным индикатором активности, то можно заменить жёсткий диск без выключения сервера.

Чтобы подсветить неисправный диск, можно воспользоваться такой командой:

# mfiutil locate 6 on

Если судя по SMART диск оказался исправным, или диск уже заменён, то можно пометить его как исправный и добавить его в массив:

# mfiutil rebuild 6

После замены диска можно отключить индикацию:

# mfiutil locate 6 off

За процессом синхронизации данных можно наблюдать при помощи следующей команды:

# mfiutil drive progress 6

Написать автору