====== Конфигурация 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
{{:help_system:servera:raid: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.
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdDel -Lall -force -aAll
/opt/MegaRAID/MegaCli/MegaCli64 -CfgClr -Force -aAll
/opt/MegaRAID/MegaCli/MegaCli64 -CfgForeign -Clear -A0
__Далее узнаем номер адаптера, на котором будем создавать новый RAID.__
для Linux
/opt/MegaRAID/MegaCli/MegaCli64 Adpallinfo -aall | grep '^Adapter'
Adapter #0
для Windows
MegaCli64 Adpallinfo -aall | findstr /c:"Adapter"
Adapter #0
__Теперь, имея номер адаптера (их может быть несколько в зависимости от сервера), нужно узнать в каких слотах и какой корзине установлены диски подходящие для конфигурации в массив.__
для Linux
/opt/MegaRAID/MegaCli/MegaCli64 -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 диска.
__Теперь мы имеем всю нужную информацию для создания новых рейдов. В нашем случаи команда будет выглядеть так:__
/opt/MegaRAID/MegaCli/MegaCli64 -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, который можно форматировать в нужную файловую систему и маунтить.
----
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r1 [21:0,21:1] WB RA Direct NoCachedBadBBU -a0
Данный пример создает **RAID1** на 0-м адаптере из списка дисков.
----
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r5 [21:0,21:1,21:2,21:3] WB RA Direct NoCachedBadBBU -a0
Данный пример создает **RAID5** на 0-м адаптере из списка дисков.
----
====Информацию о состоянии RAID Вы сможете посмотреть следующей командой:====
/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL
====Проверка состояния батареи на контроллере====
/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -aALL
----
===== Вспомогательные команды MegaCLI =====
==== Расширение существующего массива ====
, после установки дополнительного диска потребуется изменить настройки соответствующего массива. Пример добавления диска в RAID5:
/opt/MegaRAID/MegaCli/MegaCli64 -LDRecon -Start -r5 -Add -PhysDrv[21:5] -L0 -a0
----
==== Использование дисков как JBOD ====
По средствам создания RAID-0 на каждом диске:
/opt/MegaRAID/MegaCli/MegaCli64 -CfgEachDskRaid0 WB RA Direct CachedBadBBU -a0
----
==== Создание резервной копии и восстановление конфигурации контроллера ====
Для сохранения настроек контроллера и всех массивов выполните команду:
/opt/MegaRAID/MegaCli/MegaCli64 -CfgSave -f raidcfg.txt -a0
Для восстановления настроек контроллера используйте следующую команду:
/opt/MegaRAID/MegaCli/MegaCli64 -CfgRestore -f raidcfg.txt -a0
----
====Включение WriteBack====
/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp WB -LALL -aALL
----
====Включение Cache без BBU (без батареи)====
/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp CachedBadBBU -LALL -aALL
====Отключение Cache без BBU (без батареи)====
/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp NoCachedBadBBU -LALL -aALL
**Категорически не рекомендуется включать кэш при отсутствии батареи на RAID контроллере, так как при аварийном отключении питания возможна потеря данных влекущая к неработоспособности сервера!**
----
====Создание RAID 10 с размером stripe 1024 kb====
/opt/MegaRAID/MegaCli/MegaCli64 -CfgSpanAdd -r10 -Array0[32:0,32:1] Array1[32:2,32:3] WB RA Direct CachedBadBBU -strpsz 1024 -a0
----
====Включение ReadAhead====
/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp RA -LALL -aALL
----
====Включить / Отключить световой индикатор на жестком диске====
, чтобы физически подсветить неисправный диск на фронт-панели сервера
/opt/MegaRAID/MegaCli/MegaCli64 -PDLocate -start -PhysDrv [12:6] -aAll - Включить светодиод на HDD
/opt/MegaRAID/MegaCli/MegaCli64 -PDLocate -stop -PhysDrv [12:6] -aAll - Отключить светодиод на HDD
,где [12:6] - это 12 - Enclosure Device ID
6 - Slot Number
----
====Верификация массива и проверка на ошибки (patrol read)====
/opt/MegaRAID/MegaCli/MegaCli64 -AdpPR -Start -aALL - запуск верификации
/opt/MegaRAID/MegaCli/MegaCli64 -AdpPR -Stop -aALL - остановка верификации
/opt/MegaRAID/MegaCli/MegaCli64 -AdpPR -Info -aALL - проверка состояния
----
====Проверка состояния и информации S.M.A.R.T жестких дисков====
//узнаем номер жесткого диска в корзине//
for i in `/opt/MegaRAID/MegaCli/MegaCli64 -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====
/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Set -PhysDrv [12:6] -a0 - добавление диска
/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Rmv -PhysDrv [12:6] -a0 - удаление диска
----
====Удаление JBOD дисков====
Если присутствуют JBOD диски, то перед тем как очистить конфигурацию контроллера необходимо их удалить командой:
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLDDel -L0 -force -a0 ,где L0 номер диска
----
====Отключение собственного кэша на дисках====
/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp DisDskCache -LAll -aAll
====Включение собственного кэша на дисках====
/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp EnDskCache -LAll -aAll
----
====Создание виртуальных разделов внутри массива (пример с raid 10)====
/opt/MegaRAID/MegaCli/MegaCli64 -CfgSpanAdd -r10 -Array0[32:0,32:1] Array1[32:2,32:3] WB RA Direct NoCachedBadBBU -sz300000 -a0
, где -sz300000 размер раздела в Mb
----
====Редактирование boot order====
/opt/MegaRAID/MegaCli/MegaCli64 -AdpBootDrive -get -a0
/opt/MegaRAID/MegaCli/MegaCli64 -AdpBootDrive -set -L0 -a0
----
====Прошивка контроллера====
/opt/MegaRAID/MegaCli/MegaCli64 -adpfwflash -f mr2108fw.rom -a0
----
====Информация по корзине====
/opt/MegaRAID/MegaCli/MegaCli64 -EncInfo -aALL
----
====Проверка статуса ребилда====
/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ShowProg -PhysDrv[32:3] -a0