Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Когда нужно обеспечить быстродействие и надежность дисковой системы, а также возможность горячей замены дисков без выключения сервера, большую помощь окажут дисковые контроллеры с кэш памятью и защитным аккумулятором, такие как MegaRAID. Новые версии этих контроллеров есть на сайте https://www.broadcom.com/products/storage/raid-controllers.
Для надежной работы дисковой системы сервера необходимо настроить мониторинг контроллера и подключенных к ним дисков. В этой статье вы найдете практическое руководство, которое позволит вам организовать такой мониторинг для контроллера MegaRAID с помощью Zabbix.
При этом вы будете использовать программу zabbix_sender, с помощью которой, без преувеличения, можно настроить мониторинг практически чего угодно. В данном случае для получения данных мониторинга мы будем использовать программу MegaCli.
Приемы, описанные в этой статье, вы сможете использовать для мониторинга других контроллеров или устройств, если не найдете для них готовых шаблонов на сайте https://www.zabbix.com/integrations.
Установка программы MegaCli
Вы можете загрузить архив с программой MegaCli для многих платформ, включая Linux и Windows, на сайте https://www.broadcom.com, например, по этой ссылке: https://docs.broadcom.com/docs/12351587. Мы расскажем о том, как установить программу MegaCli в ОС Debian 11 из репозитория le-vert.net, где есть утилиты для различных контроллеров RAID. Также приведем инструкцию по установке для CentOS и FreeBSD.
Установка MegaCli в ОС Debian 11
Чтобы установить программу MegaCli в ОС Debian 11, нужно подключить репозиторий le-vert.net. Для этот добавьте в файл /etc/apt/ sources.list следующую строку:
deb http://hwraid.le-vert.net/debian bullseye main
После этого добавьте ключ, обновите пакеты и установите программу:
# wget -O - http://hwraid.le-vert.net/debian/hwraid.le-vert.net.gpg.key | apt-key add -
# apt update
# apt install megacli
После установки проверьте версию программы:
# megacli -v
MegaCLI SAS RAID Management Tool Ver 8.07.14 Dec 16, 2013
(c)Copyright 2013, LSI Corporation, All Rights Reserved.
Обратите внимание, что мы запускаем программу megacli, а не MegaCli.
После установки можно отключить репозиторий. Для этого закройте в файле /etc/apt/sources.list символом комментария добавленную строку и обновите пакеты:
# apt update
Установка MegaCli в CentOS
Если нужно установить программу MegaCli в CentOS, прежде всего скачайте нужный пакет:
# wget --user=hetzner --password=download http://download.hetzner.de/tools/LSI/tools/MegaCLI/8.07.14_MegaCLI.zip
Далее установите утилиту unzip, если ее нет на сервере:
# yum install unzip
Распакуйте пакет и установите программу megacli следующим образом:
# unzip 8.07.14_MegaCLI.zip
# cd Linux
# rpm -i MegaCli-8.07.14-1.noarch.rpm
# ln -s /opt/MegaRAID/MegaCli/MegaCli64 /usr/bin/megacli
Проверьте версию установленной программы:
# megacli -V
MegaCLI SAS RAID Management Tool Ver 8.07.14 Dec 16, 2013
(c)Copyright 2013, LSI Corporation, All Rights Reserved.
Установка MegaCli в ОС FreeBSD
Выполните установку MegaCli из портов ОС FreeBSD. Для этого сначала обновите порты:
# portsnap fetch update
Затем установите программу MegaCli следующим образом:
# cd /usr/ports/sysutils/megacli
# make install
Проверьте версию установленной программы:
# MegaCli -v
Обратите внимание, что в отличие от Debian и CentOS, в командном приглашении FreeBSD нужно запускать команду MegaCli, а не megacli.
Мониторинг состояния массива RAID с контроллером MegaRAID вручную
Прежде чем мы займемся настройкой мониторинга дискового массива RAID с контроллером MegaRAID с помощью Zabbix, выполним основные процедуры диагностики вручную из командной строки.
Проверка состояния массива RAID
Для проверки массива RAID, созданного контроллером как виртуальное дисковое устройство, используйте команду megacli с параметром -LDInfo (в ОС FreeBSD запустите команду MageCli):
# megacli -LDInfo -LALL -aALL
Эта команда покажет важную информацию о виртуальном дисковом устройстве (RAID-массиве):
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 557.861 GB
Sector Size : 512
Mirror Data : 557.861 GB
State : Optimal
Strip Size : 64 KB
Number Of Drives : 2
Span Depth : 1
Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy : Disabled
Encryption Type : None
Is VD Cached: No
Number of Dedicated Hot Spares: 1
0 : EnclId - 4 SlotId - 2
В данном случае сконфигурировано зеркало из двух дисков объемом 557.861 ГБайт каждый.
Если массив находится в оптимальном состоянии, и данные останутся в сохранности при выходе из строя одного из дисков, то значение параметра State будет равно Optimal.
Также обратите внимание на параметр политики кэширования Current Cache Policy.
Если ваш контроллер оснащен аккумулятором, защищающим кэш-память контроллера от внезапного отключения электропитания, то по умолчанию при нормальном заряде и емкости аккумулятора контроллер использует отложенный режим записи WriteBack.
В этом случае контроллер сообщает о том, что данные записаны, сразу после того, как они оказываются в кэше контроллера, еще до завершения фактической записи данных на диск. Этот режим сильно ускоряет запись данных, но он безопасен только при нормальном состоянии аккумулятора.
Если аккумулятор контроллера разряжен в результате запуска периодической тренировки или в результате исчерпания ресурса, то режим отложенной записи WriteBack отключается и включается режим прямой записи WriteThrough:
Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteThrough, ReadAheadNone, Direct, No Write Cache if Bad BBU
В этом режиме контроллер будет дожидаться завершения процесса записи на диск перед тем, как сообщить программе о завершении операции записи.
Политика дискового контроллера Default Cache Policy, установленная по умолчанию, предполагает отключение кэша записи при неисправном или разряженном аккумуляторе. Если кэш не отключить, что в случае аварии с электропитанием можно потерять данные, находящиеся в кэше, но еще не записанные на диск. В этом случае велика вероятность повреждения файловой системы.
Проверка состояния аккумулятора
Дисковый контроллер MegaRAID может быть оснащен блоком батарейного (на самом деле аккумуляторного) питания (рис. 1).
На рис. 2 показан литий-ионный аккумулятор упомянутого выше блока. Новые версии контроллеров оснащаются не литий-ионными аккумуляторами, а супер-конденсаторами (ионисторами), имеющими большой срок службы.
Для проверки состояния аккумулятора используйте следующую команду:
# megacli -AdpBbuCmd -aAll
Эта команда выведет на консоль довольно обширную информацию. На что нужно обратить внимание в первую очередь?
Прежде всего, параметр Battery State должен быть равен Optimal. Если это не так, то с контроллером что-то случилось. В лучшем случае поможет запуск обучения аккумулятора, в худшем — блок аккумулятора придется заменить.
Если контроллер по какой-то причине не запустил автоматическое обучение, может появиться строка с сообщением о необходимости запуска обучения вручную:
Battery State: Degraded(Need Attention)
A manual learn is required.
В этом случае запустите обучение с помощью такой команды:
# megacli -AdpBbuCmd -BbuLearn -aAll
Если обучение запустилось, вы увидите сообщение на консоли:
Adapter 0: BBU Learn Succeeded.
Теперь чтобы отслеживать процесс обучения, время от времени выдавайте команду «megacli -AdpBbuCmd -aAll». Контролируйте состояние заряда или разряда аккумулятора Charging Status, запрос цикла обучения Learn Cycle Requested, его активность Learn Cycle Active и текущее состояние обучения Learn Cycle Status:
Charging Status : Discharging
Learn Cycle Requested : Yes
Learn Cycle Active : Yes
Learn Cycle Status : OK
Заметим, что обучение может выполняться долго, не один час, так что запаситесь терпением. Со временем, после того как аккумулятор в процессе обучения полностью разрядится, начнется его зарядка. Статус Charging Status изменится на Charging.
Еще один важный параметр аккумуляторного блока, это количество циклов обучения Cycle Count. Его можно посмотреть так:
# megacli -AdpBbuCmd -aAll | grep "Cycle Count"
Cycle Count: 4062
Этот параметр показывает степень износа аккумуляторов. В приведенном выше примере аккумуляторный блок давно нужно было заменить.
Просмотр свойств контроллера
Следующая команда выведет на консоль информацию обо всех дисковых контроллерах MegaRAID, установленных на сервере:
# megacli -AdpAllinfo -aAll
Здесь можно увидеть название контроллера Product Name и его серийный номер Serial No, что может пригодиться при обращении в сервис.
Вы можете узнать, оснащен ли контроллер блоком аккумуляторов (поле BBU) и определить размер кэш памяти, количество и состояние сконфигурированных виртуальных дисков Virtual Drives, количество и состояние физических дисков Disks, возможности контроллера и его параметры по умолчанию.
Подробное описание этой информации выходит за рамки нашей статьи. Хорошее описание команды megacli можно найти в руководстве MegaRAID SAS Software User Guide, доступном по адресу https://docs.broadcom.com/docs/12353236.
Просмотр свойств дисков
Со временем жесткие диски, как и диски SSD, могут выходить из строя. Если на сервере установлен контроллер MegaRAID, то список подключенных физических дисков и их состояние можно легко узнать так:
# megacli -PDList -aAll
После запуска команды на консоли появится множество различных параметров и их значения. Параметр Enclosure Device ID содержит идентификатор места расположения, по которому вы сможете адресоваться к диску при выполнении с ним различных операций. Вам также потребуется номер слота Slot Number.
Ниже мы показали команды, с помощью которых можно быстро узнать упомянутый выше идентификатор и номер:
# megacli -PDList -aAll | grep "Enclosure Device ID"
Enclosure Device ID: 252
Enclosure Device ID: 252
Enclosure Device ID: 252
# megacli -PDList -aAll | grep "Slot Number"
Slot Number: 0
Slot Number: 1
Slot Number: 2
Параметр Firmware state очень важен — анализируя его, можно узнать состояние диска:
# megacli -PDList -aAll | grep "Firmware state"
Firmware state: Unconfigured(bad)
Firmware state: Online, Spun Up
Firmware state: Online, Spun Up
Здесь видно, что первый диск, для которого Enclosure Device ID равен 252, а номер слота Slot Number находится в аварийном состоянии и не сконфигурирован для работы в массиве. Остальные два диска работают нормально.
Если вам нужен новый диск на замену, то типы дисков, подключенных к контроллеру, можно узнать так:
# megacli -PDList -aAll | grep "Inquiry Data"
Inquiry Data: SEAGATE ST3600057SS 00063SL098QA
Inquiry Data: SEAGATE ST3600057SS 00063SL09XZ1
Inquiry Data: SEAGATE ST3600057SS 00063SL09EVP
Как видите, используются диски Seagate, указана модель и серийный номер. Для замены нужно приобрести такой же или совместимы диск.
Чтобы посмотреть детальную информацию о диске, укажите следующей команде идентификатор Enclosure Device ID и номер слота Slot Number:
# megacli -PDInfo -PhysDrv\[252:0] -aAll
Будет полезной информация о количестве ошибок на диске:
# megacli -PDInfo -PhysDrv\[252:0] -aAll | grep Error
Media Error Count: 3
Other Error Count: 2
Если появились такие ошибки, то диск скоро может выйти из строя.
Контроллер время от времени запускает тестовое чтение дисков (Patrol Read) с целью обнаружения потенциальных проблем.
С помощью следующих двух команд вы можете инициировать запуск тестового чтения и посмотреть его состояние:
# megacli -AdpPR Start -aAll
# megacli -AdpPR Info -aAll
Другие полезные команды
Если вы заменили вышедший из строя диск, контроллер автоматически запускает перенос на него данных. Эта операция называется CopyBack, а ее состояние можно узнать следующим образом:
# megacli -PDCpyBk -ShowProg -PhysDrv\[252:0] -aAll
Copyback Progress on Device at Enclosure 4, Slot 0 Completed 28% in 192 Minutes.
Также может оказаться полезной команда добавления диска в горячий резерв:
# megacli -PDHSP -set -PhysDrv\[252:3\] -a0
При выходе из строя одного из дисков массива его роль будет играть резервный диск, причем копирование данных на него запустится автоматически.
И, наконец, приведем еще одну полезную команду — чтение журнала контроллера:
# megacli -AdpAlILog -aAll > lsi_log.txt
Содержимое журнала будет записано в файл, который можно проанализировать или отдать для анализа в сервис.
Программа zabbix_sender
Программа с названием zabbix_sender позволяет передавать данные на сервер Zabbix без использования агента zabbix_agent. Если подготовить для нее данные в виде текстового файла, то она сможет передать сразу несколько элементов данных на сервер Zabbix через порт 10050.
Установка программы zabbix_sender
Во второй статье нашей серии про Zabbix мы рассказывали о том, как установить программу zabbix_sender. Нужно установить репозиторий Zabbix, а затем выполнить установку:
# wget https://repo.zabbix.com/zabbix/6.2/debian/pool/main/z/zabbix-release/zabbix-release_6.2-1+debian11_all.deb
# dpkg -i zabbix-release_6.2-1+debian11_all.deb
# apt update
# apt install zabbix-sender
После установки проверьте версию zabbix_sender:
# zabbix_sender -V
Если на сервере установлена ОС FreeBSD, то программа zabbix_sender будет установлена вместе с агентом Zabbix из порта /usr/ports/net-mgmt/zabbix6-agent.
Подготовка файла с данными для zabbix_sender
Если вам нужно передать на сервер Zabbix несколько элементов данных, то нужно подготовить текстовый файл такого вида:
d207 lsi.isOptimal 1
d207 lsi.WriteBack 0
d207 lsi.OnlineDriveCount 2
d207 lsi.HotspareDriveCount 0
d207 lsi.BatteryReplacementRequired No
d207 lsi.RemainingCapacityLow Yes
d207 lsi.RaidDriveHasErrors 1
d207 lsi.PredictiveFailureCount 0
d207 lsi.CycleCount 107
Здесь в каждой строке следует указать через пробел имя хоста, как оно было задано при добавлении в мониторинг, далее имя элемента данных, указанное в шаблоне, созданном для мониторинга этих элементов данных, а также значение элемента данных.
В данном случае в файл записаны данные, полученные от контроллера MegaRAID с помощью утилиты megacli и скрипта, составленного на языке Perl.
Запуск программы zabbix_sender
Для запуска программы zabbix_sender с целью передачи содержимого файла со значениями параметров мы используем следующую команду:
/usr/bin/zabbix_sender -vv -z xxx.xxx.xxx.xxx -i /home/frolov/zabbix_lsi/zabbix_data.txt
Здесь вместо xxx.xxx.xxx.xxx в параметре -z нужно указать адрес IP вашего сервера Zabbix. Параметр -vv позволяет при запуске программы увидеть на консоли детали выполнения операции. И, наконец, параметр -i задает путь к файлу со значениями элементов данных.
Программа check_lsi.pl для сбора и отправки данных мониторинга MegaRAID
Чтобы получить данные от контроллера MegaRAID, сформировать текстовый файла с результатами мониторинга и отправить эти данные на сервер Zabbix с помощью программы zabbix_sender, мы подготовили программу check_lsi.pl.
Эту программу, а также соответствующий шаблон check_lsi.xml для Zabbix вы найдете на GitHub по адресу https://github.com/AlexandreFrolov/shop2you_zabbix_monitoring.
Расскажем кратко о программе check_lsi.pl.
Инициализация
На этапе инициализации программа check_lsi.pl получает первые три параметра командной строки:
my $zabbix_server_ip = $ARGV[0];
my $hostname = $ARGV[1];
if($ARGV[2] eq 'debug') { $debug = 1; } else { $debug = 0; }
Через первый параметр программе передается адреса IP серверов Zabbix, на которые нужно отправить данные мониторинга контроллера MegaRAID и подключенных к нему дисков. Если серверов Zabbix несколько, разделите адреса запятой.
Второй параметр задает имя хоста, к которому подключен контроллер. Это имя должно совпадать с именем соответствующего хоста на сервере Zabbix.
И, наконец, третий параметр позволяет включить вывод отладочной информации на консоль, и при обычном запуске он не используется.
Также при инициализации программа check_lsi.pl определяет версию ОС, на которой ее запустили. В зависимости от версии программа записывает в переменную $zabbix_sender различные пути для Linux и FreeBSD.
Получение состояния MegaRAID и дисков
На этапе получения состояния контроллера и дисков программа выдает команду megacli с параметром -LDInfo, о которой мы говорили выше:
my $cmd;
$cmd = "$bin_megacli -LDInfo -LALL -aALL";
my @rqout = ();
@rqout = split /\n/, `$cmd`;
my $isOptimal = 0;
my $WriteBack = 0;
foreach my $line (@rqout)
{
next if ($line eq "" or !defined $line);
if($line=~/State/ && $line=~/Optimal/) { $isOptimal = 1; }
if($line=~/Current Cache Policy/ && $line=~/WriteBack/) { $WriteBack = 1; }
}
Здесь программа проверяет, находится ли дисковый массив в оптимальном состоянии, и используется ли режим отложенной записи. Результат сохраняется в переменных isOptimal и WriteBack, соответственно.
Проверка состояния дисков
Далее программа выдает команду megacli с параметром -PDList для получения информации обо всех дисках:
$cmd = "$bin_megacli -PDList -aALL";
В программе определяются переменные:
my $MediaErrorCount = 0; // количество ошибок на диске
my $OtherErrorCount = 0; // количество прочих ошибок
my $PredictiveFailureCount = 0; // счетчик предупреждений о возможных сбоях
my $OnlineDriveCount = 0; // счетчик дисков в состоянии онлайн
my $HotspareDriveCount = 0; // счетчик дисков горячего резерва
my $DeviceId = 0; // идентификатор диска
my $raid_drive_has_errors = 0; // признак наличия ошибок в на диске
my $HasPredictiveFailureCount = 0; // признак наличия предупреждений о возможных сбоях
Программа предпринимает несколько попыток выдачи команды -PDList:
my $retry_count = 2;
do
{
@rqout = ();
@rqout = split /\n/, `$cmd`;
my $responce_array_size = $#rqout;
if ($responce_array_size < 3) # PDList cmd failed
{
$retry_count -= 1;
sleep(10);
}
else
{
$retry_count = 0;
}
} while ($retry_count > 0);
Если команда выполнилась успешно, программа анализирует полученные от нее данные и устанавливает соответствующим образом состояние перечисленных выше переменных:
foreach my $line (@rqout)
{
if($line=~/Device Id/)
{
($str, $DeviceId) = split(/:/, $line);
$MediaErrorCount = 0;
$OtherErrorCount = 0;
$PredictiveFailureCount = 0;
}
if($line=~/Media Error Count/) { ($str, $MediaErrorCount) = split(/:/, $line); }
if($line=~/Other Error Count/) { ($str, $OtherErrorCount) = split(/:/, $line); }
if($line=~/Predictive Failure Count/) { ($str, $PredictiveFailureCount) = split(/:/, $line); }
if($MediaErrorCount != 0 || $OtherErrorCount != 0 || $PredictiveFailureCount != 0)
{
$drive_with_errors{$DeviceId} = { MediaErrorCount => $MediaErrorCount, OtherErrorCount => $OtherErrorCount, PredictiveFailureCount => $PredictiveFailureCount };
$raid_drive_has_errors = 1;
}
if($PredictiveFailureCount != 0)
{
$HasPredictiveFailureCount = 1;
}
if($line=~/Firmware state/ && $line=~/Online/) { $OnlineDriveCount += 1; }
if($line=~/Firmware state/ && $line=~/Hotspare/) { $HotspareDriveCount += 1; }
}
Проверка состояния блока аккумуляторов
Для получения состояния блока аккумуляторов, установленных на контроллере MegaRAID, программа выдает команду megacli с параметром -AdpBbuCmd:
$cmd = "$bin_megacli -AdpBbuCmd -aAll";
@rqout = ();
@rqout = split /\n/, `$cmd`;
my $BatteryReplacementRequired = 'No';
my $RemainingCapacityLow = 'No';
my $CycleCount=0;
foreach my $line (@rqout)
{
if ($debug) { print $line."\n"; }
if($line=~/Battery Replacement required/) { ($str, $BatteryReplacementRequired) = split(/:/, $line); }
if($line=~/Remaining Capacity Low/) { ($str, $RemainingCapacityLow) = split(/:/, $line); }
if($line=~/Cycle Count/) { ($str,$CycleCount) = split(/:/, $line); }
}
По результатам анализа программа записывает в переменную BatteryReplacementRequired строку «Yes», если есть необходимость замены блока аккумуляторов.
В переменная RemainingCapacityLow будет записано предупреждение, если емкость аккумуляторной батареи стала низкой.
Что касается переменной CycleCount, то в ней сохраняется текущее значение счетчика циклов обучения аккумуляторного блока.
Запись данных в файл и отправка на сервер Zabbix
Теперь, когда все данных подготовлены, программа check_lsi.pl записывает их в файл:
open(my $fh, '>', $zabbix_sender_data_file) or die "Не могу открыть '$zabbix_sender_data_file' $!";
print $fh $hostname." lsi.isOptimal ".$isOptimal."\n";
print $fh $hostname." lsi.WriteBack ".$WriteBack."\n";
print $fh $hostname." lsi.OnlineDriveCount ".$OnlineDriveCount."\n";
print $fh $hostname." lsi.HotspareDriveCount ".$HotspareDriveCount."\n";
print $fh $hostname." lsi.BatteryReplacementRequired ".$BatteryReplacementRequired."\n";
print $fh $hostname." lsi.RemainingCapacityLow ".$RemainingCapacityLow."\n";
print $fh $hostname." lsi.RaidDriveHasErrors ".$raid_drive_has_errors."\n";
print $fh $hostname." lsi.PredictiveFailureCount ".$HasPredictiveFailureCount."\n";
print $fh $hostname." lsi.CycleCount ".$CycleCount."\n";
close $fh;
После этого файл отправляется на все серверы Zabbix, адреса которых были заданы в командной строке через запятую:
my @zabbix_server_ip_array = split(',', $zabbix_server_ip);
foreach my $server_ip (@zabbix_server_ip_array)
{
my $trap_cmd = $zabbix_sender.' -vv -z '.$server_ip.' -i '.$zabbix_sender_data_file;
my @trapout = ();
@trapout = split /\n/, `$trap_cmd`;
}
Запуск check_lsi.pl через crontab
Для запуска программы check_lsi.pl мы используем crontab. В этом примере проверка запускается каждый час:
0 * * * * /usr/bin/perl /home/frolov/zabbix_lsi/check_lsi.pl xxx.xxx.xxx.xx1,xxx.xxx.xxx.xx2 d207
В командной строке заданы адреса IP двух серверов Zabbix, на которые отправляются данные, а также имя хоста, на котором установлен контроллер MegaCLI.
Файл шаблона для мониторинга MegaCLI
Шаблон для программы check_lsi.pl вы найдете по адресу https://github.com/AlexandreFrolov/shop2you_zabbix_monitoring/blob/main/check_lsi.xml. Вам необходимо подключить этот шаблон к серверу, на котором установлен контроллер MegaCLI.
На рис. 3 показаны элементы данных, определенных в этом шаблоне.
Как видите, здесь имеются все элементы, которые получает и отправляет на сервер Zabbix только что описанная программа check_lsi.pl.
В шаблоне также определены триггеры (рис. 4).
Очень высокая степень важности (High) задана для триггеров, указывающих на деградацию массива RAID, а также на снижение количества дисков в состоянии Online ниже двух (в нашем случае используется зеркало из двух дисков и третий диск горячего резерва).
Менее важные триггеры указывают на необходимость замены блока аккумуляторов.
Также обратите внимание на триггер No LSI heartbeats within last 1.5 hour, для срабатывания которого проверяется следующее выражение:
nodata(/Shop2YOU LSI/lsi.isOptimal,5400s)=1
Триггер срабатывает, если данные мониторинга не приходили от сервера дольше чем полтора часа. Так как мы запускаем программу check_lsi.pl через задание crontab раз в час, то этот триггер сообщит нам, что по какой-то причине мониторинг состояния контроллера и дисков не отработал.
Для других триггеров установлена минимальная степень важности Information. Например, триггеры BBU Remaining Capacity Low и Mode changed from WriteBack to WriteThrough могут срабатывать при периодическом выполнении цикла обучения, когда аккумулятор сначала разряжается, а потом снова заряжается. Нет необходимости обращать внимание системного администратора на запуск процесса обучения.
Если сработал триггер Predictive Failure Count, то это также не приведет к немедленному риску потери информации, однако является поводом для более глубокого анализа состояния контроллера и массива.
Аналогично, сообщение Some Raid Drives has Errors сообщает, что на дисках есть ошибки, но сами по себе диски с ошибками могут работать довольно долго (а могут и быстро выйти из строя).
Разумеется, для мониторинга своей системы вы можете установить другие степени важности триггеров, а также выбрать другую периодичность запуска программы check_lsi.pl.
Автор: Александр Фролов.
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.