Table of Contents

Конфигурация RAID LSI через утилиту MegaCLI

Инструкция также подходит для RAID контроллеров DELL PERC , IBM ServeRaid , ASUS PIKE и другие контроллеры на базе чипсета LSI.

Первым делом нужно установить megacli

 https://ru-tld.ru/h/_media/help_system:servera:raid:8.07.14_megacli.zip

8.07.14_megacli.zip

При необходимости устанавливаем unzip

 yum -y install unzip

В архиве присутствует также утилита и для ОС Windows. Все команды приведенные ниже подходят и для нее.

Формат ввода C:\megacli64 -CfgLdDel -Lall -aAll

Устанавливаем MegaCLI и настраиваем массив

rpm -i MegaCli-8.07.14-1.noarch.rpm

Перед настройкой массива, возможно, потребуется удалить использованную ранее конфигурацию. Для того чтобы просто удалить логические устройства вы можете использовать CfgLdDel.

megacli -CfgLdDel -Lall -force -aAll
megacli -CfgClr -Force -aAll
megacli -CfgForeign -Clear -A0

Далее узнаем номер адаптера, на котором будем создавать новый RAID.

для Linux
megacli Adpallinfo -aall | grep '^Adapter'
Adapter #0

для Windows 
MegaCli64 Adpallinfo -aall | findstr /c:"Adapter"
Adapter #0

Теперь, имея номер адаптера (их может быть несколько в зависимости от сервера), нужно узнать в каких слотах и какой корзине установлены диски подходящие для конфигурации в массив.

для Linux
megacli -PDlist -aall | grep -e '^Enclosure Device ID:' -e '^Slot Number:' -e 'Firmware state'

для Windows
MegaCli64 -PDlist -aall | findstr /c:"Enclosure Device ID:" /c:"Slot Number:" /c:"Firmware state:"

Enclosure Device ID: 21
Slot Number: 0
Firmware state: Hotspare, Spun down
 
Enclosure Device ID: 21
Slot Number: 1
Firmware state: Hotspare, Spun down
 
Enclosure Device ID: 21
Slot Number: 2
Firmware state: Hotspare, Spun down
 
Enclosure Device ID: 21
Slot Number: 3
Firmware state: Hotspare, Spun down
 

Везде где написано Firmware state: Hotspare, Spun down (либо Not configured) – это нужные адреса наших слотов, в которые установлены не сконфигурированные в массив 4 диска.

Теперь мы имеем всю нужную информацию для создания новых рейдов. В нашем случаи команда будет выглядеть так:

megacli -CfgSpanAdd -r10 -Array0[21:0,21:1] Array1[21:2,21:3] WB RA Direct NoCachedBadBBU -a0

Т.е. создается новый RAID10 на 0-м адаптере из списка дисков, WriteBack включен, ReadCache адаптивный, Cache также выключен без BBU. RAID 10 создается Array попарно, те если у Вас 12 дисков, то нужно создавать 6 Array. Таким же способом можно создать RAID1,RAID5 и остальные типы рейдов под LSI megaraid контроллером – требуются только адреса слотов. После этого у нас появиться новый диск в папке /dev, который можно форматировать в нужную файловую систему и маунтить.


megacli -CfgLdAdd -r1 [21:0,21:1] WB RA Direct NoCachedBadBBU -a0

Данный пример создает RAID1 на 0-м адаптере из списка дисков.


megacli -CfgLdAdd -r5 [21:0,21:1,21:2,21:3] WB RA Direct NoCachedBadBBU -a0

Данный пример создает RAID5 на 0-м адаптере из списка дисков.


Информацию о состоянии RAID Вы сможете посмотреть следующей командой:

megacli -LDInfo -Lall -aALL

Проверка состояния батареи на контроллере

megacli -AdpBbuCmd -aALL

Вспомогательные команды MegaCLI

Расширение существующего массива

, после установки дополнительного диска потребуется изменить настройки соответствующего массива. Пример добавления диска в RAID5:

megacli -LDRecon -Start -r5 -Add -PhysDrv[21:5] -L0 -a0

Использование дисков как JBOD

По средствам создания RAID-0 на каждом диске:

megacli -CfgEachDskRaid0 WB RA Direct CachedBadBBU -a0

Создание резервной копии и восстановление конфигурации контроллера

Для сохранения настроек контроллера и всех массивов выполните команду:

megacli -CfgSave -f raidcfg.txt -a0

Для восстановления настроек контроллера используйте следующую команду:

megacli -CfgRestore -f raidcfg.txt -a0

Включение WriteBack

 megacli -LDSetProp WB -LALL -aALL

Включение Cache без BBU (без батареи)

megacli -LDSetProp CachedBadBBU -LALL -aALL

Отключение Cache без BBU (без батареи)

megacli -LDSetProp NoCachedBadBBU -LALL -aALL

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


Создание RAID 10 с размером stripe 1024 kb

 megacli -CfgSpanAdd -r10 -Array0[32:0,32:1] Array1[32:2,32:3] WB RA Direct CachedBadBBU -strpsz 1024 -a0

Включение ReadAhead

 megacli -LDSetProp RA -LALL -aALL

Включить / Отключить световой индикатор на жестком диске

, чтобы физически подсветить неисправный диск на фронт-панели сервера

  megacli -PDLocate -start -PhysDrv [12:6] -aAll     -  Включить светодиод на HDD
  
  megacli -PDLocate -stop -PhysDrv [12:6] -aAll      -  Отключить светодиод на HDD
  
  ,где [12:6] - это 12 - Enclosure Device ID
                     6 - Slot Number

Верификация массива и проверка на ошибки (patrol read)

megacli -AdpPR -Start -aALL    - запуск верификации

megacli -AdpPR -Stop -aALL     - остановка верификации

megacli -AdpPR -Info -aALL     - проверка состояния

Проверка состояния и информации S.M.A.R.T жестких дисков

 //узнаем номер жесткого диска в корзине//
 
 for i in `megacli -PDlist -aall | grep -e 'Device Id' | sed -s 's/Device Id: //g'`; do echo Device ID=$i;smartctl -a /dev/sda -d megaraid,$i|grep -E 'Serial|Product|Status:|defect list|error count';done;
 
 //проверяем S.M.A.R.T диска//
 
 smartctl -a /dev/sda -d sat+megaraid,28           - для sata дисков
 
 smartctl -a /dev/sda -d megaraid,28               - для sas дисков 
 
 ,где 28 - номер жесткого диска (Device Id)

Далее после выявления сбойного диска, используя ранее полученные данные Enclosure Device ID: и Slot Number: мы можем подсветить сбойный диск светодиодом при помощи команды -PDLocate описанной выше.


Добавление / удаления диска HOTSPARE

 megacli -PDHSP -Set -PhysDrv [12:6] -a0   - добавление диска
 megacli -PDHSP -Rmv -PhysDrv [12:6] -a0   - удаление диска

Удаление JBOD дисков

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

  megacli -CfgLDDel -L0 -force -a0      ,где L0 номер диска

Отключение собственного кэша на дисках

 megacli -LDSetProp DisDskCache -LAll -aAll

Включение собственного кэша на дисках

 megacli -LDSetProp EnDskCache -LAll -aAll

Создание виртуальных разделов внутри массива (пример с raid 10)

 megacli -CfgSpanAdd -r10 -Array0[32:0,32:1] Array1[32:2,32:3] WB RA Direct NoCachedBadBBU -sz300000 -a0
 
 , где -sz300000 размер раздела в Mb

Редактирование boot order

 megacli -AdpBootDrive -get -a0
 megacli -AdpBootDrive -set -L0 -a0

Прошивка контроллера

  megacli -adpfwflash -f mr2108fw.rom -a0

Информация по корзине

  megacli -EncInfo -aALL

Проверка статуса ребилда

  megacli -PDRbld -ShowProg -PhysDrv[32:3] -a0