Ссылки:
https://www.broadcom.com/support/knowledgebase/1211161500661/installing-megacli-in-debian-or-ubuntu
https://gist.github.com/fxkraus/595ab82e07cd6f8e057d31bc0bc5e779
install Megacli debian
0. Создаем каталог
mkdir /opt/distr
1. Переходим в каталог
cd /opt/distr
2. Скачиваем дистрибутив
wget https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/8-07-14_MegaCLI.zip
3. Ставим пакеты
apt install alien unzip libncurses5
4. Распаковываем
unzip 8-07-14_MegaCLI.zip
5. cd Linux
6. Создаем пакет для apt
alien MegaCli-8.07.14-1.noarch.rpm
7. Ставим пакет
dpkg -i megacli_8.07.14-2_all.deb
8. Проверяем работу
/opt/MegaRAID/MegaCli/MegaCli64 -h
Команды для работы с контроллером
# flash bios
MegaCli -adpfwflash -f /scripts/firmware/lsi_imr_fw.rom -aALL
MegaCli -adpfwflash -f imr_fw.rom -NoVerChk -aAll
MegaCli -adpfacdefset -aALL # reset to factory default
# controller info
MegaCli -AdpAllinfo -aALL
MegaCli -PDGetNum -a0 # nubmer of discs
MegaCli -PDInfo -PhysDrv [64:0] -aALL
MegaCli -PDMakeJBOD -PhysDrv[64:4]
# clear controller config to defaults
MegaCli -CfgClr -aALL
# delete all
MegaCli -CfgLdDel -LALL -aALL
# create raid
MegaCli -CfgLdAdd -r5 [64:0, 64:1, 64:2, 64:3] -a0
MegaCli -CfgLdAdd -r0 [64:4,64:5,64:6,64:7] -a0
# get free devices
MegaCli -PDList -a0 | grep -e '^Enclosure Device ID:' -e '^Slot Number:'
# get raid info
MegaCli -LDInfo -Lall -aALL
MegaCli -PDMakeGood -PhysDrv[64:4] -force -aALL > /dev/null
MegaCli -PDMakeGood -PhysDrv[64:5] -force -aALL > /dev/null
MegaCli -PDMakeGood -PhysDrv[64:6] -force -aALL > /dev/null
MegaCli -PDMakeGood -PhysDrv[64:7] -force -aALL > /dev/null
MegaCli -PDMakeJBOD -PhysDrv[64:4,64:5,64:6,64:7] -a0
MegaCli -CfgLdAdd -r0 [64:4,64:5,64:6,64:7] -a0
MegaCli -AdpEventLog -GetEvents -f logfile -aALL # Dump all events from the adapters event log to a file named logfile
MegaCli -PDList -aAll # Dump information about all Phsyical Disks
MegaCli -LDInfo -LAll -aAll # Dump information about all Logical Disks on all adapters
MegaCli -LdPdInfo -aAll # Dump information of all logical and physical disks on all known adapters
MegaCli -AdpSetProp -EnableJBOD 1 -aALL
MegaCli -CfgDsply -aAll
# adapter diagnostic
MegaCli -AdpDiag -a0
Controller information
MegaCli -AdpAllInfo -aALL
MegaCli -CfgDsply -aALL
MegaCli -AdpEventLog -GetEvents -f events.log -aALL && cat events.log
Enclosure information
MegaCli -EncInfo -aALL
Virtual drive information
MegaCli -LDInfo -Lall -aALL
Physical drive information
MegaCli -PDList -aALL
MegaCli -PDInfo -PhysDrv [E:S] -aALL
Battery backup information
MegaCli -AdpBbuCmd -aALL
Controller management
Silence active alarm
MegaCli -AdpSetProp AlarmSilence -aALL
Disable alarm
MegaCli -AdpSetProp AlarmDsbl -aALL
Enable alarm
MegaCli -AdpSetProp AlarmEnbl -aALL
Physical drive management
Set state to offline
MegaCli -PDOffline -PhysDrv [E:S] -aN
Set state to online
MegaCli -PDOnline -PhysDrv [E:S] -aN
Mark as missing
MegaCli -PDMarkMissing -PhysDrv [E:S] -aN
Prepare for removal
MegaCli -PdPrpRmv -PhysDrv [E:S] -aN
Replace missing drive
MegaCli -PdReplaceMissing -PhysDrv [E:S] -ArrayN -rowN -aN
Rebuild drive
MegaCli -PDRbld -Start -PhysDrv [E:S] -aN
MegaCli -PDRbld -Stop -PhysDrv [E:S] -aN
MegaCli -PDRbld -ShowProg -PhysDrv [E:S] -aN
Clear drive
MegaCli -PDClear -Start -PhysDrv [E:S] -aN
MegaCli -PDClear -Stop -PhysDrv [E:S] -aN
MegaCli -PDClear -ShowProg -PhysDrv [E:S] -aN
MegaCli -PDMakeGood -PhysDrv[E:S] -aN
This changes drive in state Unconfigured-Bad to Unconfigured-Good.
Set the drive offline, if it is not already offline due to an error
MegaCli -PDOffline -PhysDrv [E:S] -aN
Mark the drive as missing
MegaCli -PDMarkMissing -PhysDrv [E:S] -aN
Prepare drive for removal
MegaCli -PDPrpRmv -PhysDrv [E:S] -aN
If you’re using hot spares then the replaced drive should become your new hot spare drive:
MegaCli -PDHSP -Set -PhysDrv [E:S] -aN
In case you’re not working with hot spares, you must re-add the new drive to your RAID virtual drive and start the rebuilding
MegaCli -PdReplaceMissing -PhysDrv [E:S] -ArrayN -rowN -aN
MegaCli -PDRbld -Start -PhysDrv [E:S] -aN
MegaCli -CfgLdAdd -r0 [0:1, 0:1] -a0
MegaCli -LDInfo -Lall -aALL
# View all controleler informations
MegaCli -AdpAllInfo -aAll
MegaCli -LDSetProp CachedBadBBU -LALL -aALL
Delete all devices
MegaCli -CfgLdDel -LALL -aALL
MegaCli -CfgLdAdd -r1 [252:0,252:1] -a0
MegaCli -CfgLdAdd -r10 [252:0,252:1,252:2,252:3] -a0
# create RAID5
MegaCli -CfgLdAdd -r5 [64:0,64:1,64:2,64:3] -a0
# create RAID10
MegaCli -CfgSpanAdd -r10 -Array0[64:0,64:1] -Array1[64:2,64:3] -a0
# create RAID10
MegaCli -AdpSetProp -EnableJBOD 1
# Enable disks cache
MegaCli -LDSetProp EnDskCache -LAll -aAll
# Force flash
MegaCli -adpfwflash -f ./12.12.0-0111.rom -NoVerChk -a0
# load controller defauts
MegaCli -adpfacdefset -aALL
smartmontools
0. Получаем информацию о дисках
smartctl --scan
1. Настраиваем отправку на почту в случаи сбоя
/etc/smartd.conf
!!! По умолчанию smartd мониторит все диски
!!! Для изменения такого поведения комментируем строку, нужно закомментировать строку DEVICESCAN
!!! # DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/smartd-runner
/dev/bus/0 -d megaraid,0 -S on -o on -a -I 194 -m root # /dev/bus/0 [megaraid_disk_00], SCSI device
/dev/bus/0 -d megaraid,1 -S on -o on -a -I 194 -m root # /dev/bus/0 [megaraid_disk_01], SCSI device
#/dev/bus/0 -d megaraid,2 -S on -o on -a -I 194 -m root # /dev/bus/0 [megaraid_disk_02], SCSI device #spare
/dev/bus/0 -d megaraid,3 -S on -o on -a -I 194 -m root # /dev/bus/0 [megaraid_disk_03], SCSI device
/dev/bus/0 -d megaraid,4 -S on -o on -a -I 194 -m root # /dev/bus/0 [megaraid_disk_04], SCSI device
/dev/bus/0 -d megaraid,5 -S on -o on -a -I 194 -m root # /dev/bus/0 [megaraid_disk_05], SCSI device
/dev/bus/0 -d megaraid,6 -S on -o on -a -I 194 -m root # /dev/bus/0 [megaraid_disk_06], SCSI device
#/dev/bus/0 -d megaraid,7 -S on -o on -a -I 194 -m root # /dev/bus/0 [megaraid_disk_07], SCSI device #spare
2. описание директив в /etc/smartd.conf
Первая колонка - устройство, которое мы собираемся мониторить.
Директива -o включает автоматическое off-line тестирование.
Директива -S включает автозапись атрибутов.
Директива -m за которой следует e-mail указывает куда warning сообщения отсылать.
Директива -a указывает smartd мониторить все SMART параметры диска
smartd по умолчанию логирует изменение значений всех атрибутов.
Директива -I 194 означает игнорировать атрибут #194, (т.е. температуру), т.к. температура диска часто меняется и нет смысла ее логировать.
root - почта ( /etc/aliases, команда newaliases перечитает файл aliases )