====== Mega CLI ======
Broadcom/Avago/LSI Syncro/MegaRAID Controllers
File Name: MR_SAS_StorCLI_6-7-1-15-12-SCGCQ00852539.zip
Download URL: http://docs.avagotech.com/docs/12354905
Dell PERC Hardware RAID Controllers
File Name: perccli-1.11.03-1_Linux_A00.tar.gz
Download URL: https://downloads.dell.com/FOLDER02444760M/1/perccli-1.11.03-1_Linux_A00.tar.gz
Adaptec AACRAID Controllers
File Name: arcconf_v1_8_21375.zip
Download URL: https://storage.microsemi.com/en-us/speed/raid/storage_manager/arcconf_v1_8_21375_zip.php
HP Smart Array Controllers
File Name: hpacucli-9.40-12.0.x86_64.rpm
Download URL: http://downloads.linux.hpe.com/repo/spp/2013.02.0_supspp_rhel6.4_x86_64/hpacucli-9.40-12.0.x86_64.rpm
HP Smart Array Controllers (Gen8+)
File Name: hpssacli-2.30-6.0.x86_64.rpm
Download URL: http://downloads.linux.hpe.com/SDR/repo/spp/2015.10.0_supspp_rhel7.2_x86_64/hpssacli-2.30-6.0.x86_64.rpm
Areca RAID Controllers
File Name: linuxcli_V1.15.8_180529.zip
Download URL: http://www.areca.us/support/s_linux/driver/cli/linuxcli_V1.15.8_180529.zip
3ware SATA/SAS RAID Controllers
File Name: 3DM2_CLI-linux_10-2-2-1_9-5-5-1.zip
Download URL: http://docs.avagotech.com/docs/12353043
===== Установка =====
{{ :wiki:storage:megacli:megacli.tar |}}
[[wiki:storage:megacli:install_alt_linux|Установка MegaCLI на Alt Linux p10]]
===== Вывод информации =====
Для создания RAID группы необходимо выяснить параметры адаптера и дисков, для этого необходимо:
**Получить номер адаптера**
megacli Adpallinfo -aall | grep '^Adapter'
**Получить адрес диска**
megacli -PDlist -aall | grep -e '^Enclosure Device ID:' -e '^Slot Number:' -e 'Firmware state'
**Информация о состоянии RAID**
megacli -LDInfo -Lall -aALL
**Проверка состояния батареи**
megacli -AdpBbuCmd -aALL
**Информация по корзине**
megacli -EncInfo -aALL
**Проверка статуса ребилда**
megacli -PDRbld -ShowProg -PhysDrv[32:3] -a0
===== Управление конфигурацией =====
==== Импорт дисков с другого контроллера ====
megacli -CfgForeign -Import -a0
==== Очистка конфигурации ====
Перед настройкой массива, возможно, потребуется удалить использованную ранее конфигурацию. Для того чтобы просто удалить логические устройства вы можете использовать CfgLdDel.
megacli -CfgLdDel -Lall -force -aAll
megacli -CfgClr -Force -aAll
megacli -CfgForeign -Clear -A0
Если присутствуют JBOD диски, то перед тем как очистить конфигурацию контроллера необходимо их удалить командой:
megacli -CfgLDDel -L0 -force -a0 ,где L0 номер диска
==== Резервное копирование конфигурации ====
Для сохранения настроек контроллера и всех массивов выполните команду:
megacli -CfgSave -f raidcfg.txt -a0
Для восстановления настроек контроллера используйте следующую команду:
megacli -CfgRestore -f raidcfg.txt -a0
===== Управление RAID группами =====
==== Создание новой RAID группы ====
=== RAID0 ===
Режим создания RAID0 (псевдо JBOD) на каждом отдельном диске для использования программного RAID массива на сервере.
megacli -CfgEachDskRaid0 WB RA Direct CachedBadBBU -a0
=== RAID1 ===
megacli -CfgLdAdd -r1 [21:0,21:1] WB RA Direct NoCachedBadBBU -a0
Данный пример создает **RAID1** на 0-м адаптере из списка дисков.
=== RAID5 ===
megacli -CfgLdAdd -r5 [21:0,21:1,21:2,21:3] WB RA Direct NoCachedBadBBU -a0
Данный пример создает **RAID5** на 0-м адаптере из списка дисков.
=== RAID10 ===
megacli -CfgSpanAdd -r10 -Array0[252:0,252:2] Array1[252:1,252:3] WB ADRA Direct NoCachedBadBBU -strpsz 1024 -a0
В данном примере созается RAID10 из четырех дисков с размером блока 1МБ , включается режим кэширования WriteBack при наличии батареи, адаптивное упреждающее чтение.
==== Расширение RAID группы ====
Пример добавления диска в RAID5:
megacli -LDRecon -Start -r5 -Add -PhysDrv[21:5] -L0 -a0
==== Создание логических томов ====
megacli -CfgSpanAdd -r10 -Array0[32:0,32:1] Array1[32:2,32:3] WB RA Direct NoCachedBadBBU -sz300000 -a0
, где -sz300000 размер раздела в Mb
==== Верификация массива и проверка на ошибки (patrol read)====
megacli -AdpPR -Start -aALL - запуск верификации
megacli -AdpPR -Stop -aALL - остановка верификации
megacli -AdpPR -Info -aALL - проверка состояния
====Редактирование boot order====
megacli -AdpBootDrive -get -a0
megacli -AdpBootDrive -set -L0 -a0
===== Управление накопителями =====
==== Проверка 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 описанной выше.
==== Управление Hot Spare ====
megacli -PDHSP -Set -PhysDrv [12:6] -a0 - добавление диска
megacli -PDHSP -Rmv -PhysDrv [12:6] -a0 - удаление диска
==== Локация диска в корзине ====
чтобы физически подсветить неисправный диск на фронт-панели сервера
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
===== Управление кэшированием =====
=== Кэш дисков ===
**Включение собственного кэша накопителей**
megacli -LDSetProp EnDskCache -LAll -aAll
**Отключение собственного кэша накопителей**
megacli -LDSetProp DisDskCache -LAll -aAll
=== Кэш контроллера ===
== Кэширование записи ==
**Включение режима WriteBack ((Запись данных производится в кэш. Запись же в основную память производится позже (при вытеснении или по истечению времени), группируя в одной операции несколько операций записи в соседние ячейки. Очевидно, что этот тип кэширования существенно ускоряет скорость записи данных на диск, однако имеет несколько меньшую надежность с точки зрения записи данных.)) (кэширование записи)**
megacli -LDSetProp WB -LALL -aALL
**Включение кэширования без батареи**
megacli -LDSetProp CachedBadBBU -LALL -aALL
**Категорически не рекомендуется включать кэш при отсутствии батареи на RAID контроллере, так как при аварийном отключении питания возможна потеря данных влекущая к неработоспособности сервера!**
**Отключение кэширования без батареи**
megacli -LDSetProp NoCachedBadBBU -LALL -aALL
== Кэширование чтения ==
**Включение режима WriteThrough ((Запись производится непосредственно в основную память и дублируется в кэш. Такой тип кэширования не ускоряет запись данных на диск (но и не замедляет), но существенно увеличивает скорость чтения данных, которые можно взять из кэша. Этот тип кэша безопасен с точки зрения надежности данных и дает однозначный выигрыш в производительности)) (кэширование чтения)**
megacli -LDSetProp WT -LALL -aALL
**Включение режима Adaptive ReadAhead**
megacli -LDSetProp ADRA -LALL -aALL
**Включение режима ReadAhead**
При отсутствии функционала адаптивного упреждающего чтения необходимо выполнить команду для включения традиционного упреждающего чтения:
megacli -LDSetProp RA -LALL -aALL
===== Обнолвление микрокода =====
megacli -adpfwflash -f mr2108fw.rom -a0