Ещё один вариант скрипта RAID-мониторинга использующего MegaCli (LSI) на CentOS


Первое, скачиваем MegaCLI с LSI сайта -> MegaCLI 2.00.11 for Linux

Распаковываем и устанавливаем его используя RPM. Файлы будут помещены в /opt/MegaRAID/MegaCli.

1. Создаём файл и называем его «analysis.awk» в папке /opt/MegaRAID/MegaCli со следующим содержимым:

# Это небольшая AWK программа интерпритирующая MegaCLI вывод

/Device Id/ { counter += 1; device[counter] = $3 }

/Firmware state/ { state_drive[counter] = $3 }

/Inquiry/ { name_drive[counter] = $3 » « $4 » « $5 » « $6 }

END {

for (i=1; i<=counter; i+=1) printf ( «Device %02d (%s) status is: %s \n», device[i], name_drive[i], state_drive[i]); }

2. Проверяем запуском команды : ./MegaCli64 -PDList -aALL | awk -f analysis.awk

[root@xxxxx MegaCli]# ./MegaCli64 -PDList -aALL | awk -f analysis.awk

Device 00 (ATA ST3xxxxxxxx Sxxx 5xxxxx) status is: Online

Device 01 (ATA ST3xxxxxxxx Sxxx 5xxxxx) status is: Online

3. Создаем файл raidstatus в /etc/cron.hourly. Помещаем ниже приведенный скрипт в него:

/opt/MegaRAID/MegaCli/MegaCli64 PdList aALL | awk f /opt/MegaRAID/MegaCli/analysis.awk | grep qEv «*: Online» > /dev/null && echo «Warning: RAID status no longer optimal»

4. Запускаем команды, чтобы сделать файл запускаемым для всех пользователей.

chmod a+x /etc/cron.hourly/raidstatus

5. Проверяем  куда идут почтовые уведомления службы CRON. Проверяем файл  -> /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

 

# run-parts

01 * * * * root run-parts /etc/cron.hourly

02 4 * * * root runparts /etc/cron.daily

22 4 * * 0 root runparts /etc/cron.weekly

42 4 1 * * root runparts /etc/cron.monthly

Я не менял CRONTAB. Поправил файл /etc/aliases.  root : aaa@bbb.com. Так вся почта для root будет уходить aaa@bbb.com

Полезные команды:

Вывод информации по контроллеру :

/opt/MegaRAID/MegaCli/MegaCli64 AdpAllInfo aAll

Вывод списка всех логических устройств :

/opt/MegaRAID/MegaCli/MegaCli64 LDInfo LALL aAll

Вывод информации о физических устройствах:

/opt/MegaRAID/MegaCli/MegaCli64 PDList aAll

Проверка работы команды Cron :

runparts /etc/cron.hourly