Знакомство с megacli
Недавно пришлось познакомиться с контролерами LSI MEGARAID. Задача была мониторинг состояния дисков, потому я не стал тратить много времени на изучения megaraid и в частности megacli. Получилась небольшая заметка с очень полезным функционалом.
Как прочитать данные из SMART дисков в RAID
Так как для опции smartctl -d megaraid, необходимо через запятую еще и указать Device Id, встал вопрос о том как его получить.
Пример:
smartctl -a -d megaraid,2 /dev/sda
smartctl -a -d megaraid,0 /dev/sdb
,где
2 и 0 - тот самый Device Id
/dev/sda и /dev/sdb - любое устройство подключенное к RAID-контроллеру LSI MEGARAID
Определить номер устройства (Device Id) можно с помощью megacli:
megacli -pdlist -a0| grep 'Device Id'
результат
Device Id: 4
Device Id: 5
После этого можно указать его в опции "megaraid", например так:
smartctl -d sat+megaraid,4 -a /dev/sda
Обращаемся к любому блочному устройству (/dev/sda) подключенному к контроллеру и запрашиваем инфу по устройству с ID 4
Утилита megacli часто требует до установки, потому что в стандартных репозиториях может не содержаться.
Помигать лампочками винтов
Необычным, но очень полезным использованием megacli можно назвать возможность управлением питания "лампочек" на карманах дисков. В случае необходимости сделать заявку в ЦОД на замену диска, можно безошибочно разъяснить инженеру службы поддержки о каком диске идет речь:
Шаблон команд:
megacli -PdLocate -start -physdrv\[E:S\] -aALL # запустить
megacli -PdLocate -stop -physdrv\[E:S\] -aALL # стоп
Пример:
-PhysDrv[252:2]
-aALL для всех массивов или -a0 для массива Array0
где E - Enclosure Device ID
S - Slot Number
megacli -PDList -aAll | egrep "Enclosure Device ID:|Slot Number:|Inquiry Data:|Error Count:|state|Device Id:"