Kontynuując kwestię kontroli statusu kontrolerów RAID. Warto wspomnieć o starszych rozwiązaniach stosowanych w serwerach np. DELL POWEREDGE 2850 kontroler MEGARAID, który poznamy po module (lsmod):
megaraid_mbox
Żeby zobaczyć jaki jego jest stan to skorzystamy z narzędzia megarc, do ściągniecia ze strony LSI:
http://www.lsi.com/search/pages/Results.aspx?k=megarc
Ściągamy plik i rozpakowujemy go, a następnie nadajemy plikom prawa do wykonania:
chmod +x megarc*
Do ocenienia statusu RAIDU jak i stanu dysków wystarcza nam te dwie komendy:
./megarc -dispCfg -a0
**********************************************************************
MEGARC MegaRAID Configuration Utility(LINUX)-1.11(12-07-2004)
By LSI Logic Corp.,USA
**********************************************************************
[Note: For SATA-2, 4 and 6 channel controllers, please specify
Ch=0 Id=0..15 for specifying physical drive(Ch=channel, Id=Target)]
Type ? as command line arg for help
Finding Devices On Each MegaRAID Adapter...
Scanning Ha 0, Chnl 1 Target 15
**********************************************************************
Existing Logical Drive Information
By LSI Logic Corp.,USA
**********************************************************************
[Note: For SATA-2, 4 and 6 channel controllers, please specify
Ch=0 Id=0..15 for specifying physical drive(Ch=channel, Id=Target)]
Logical Drive : 0( Adapter: 0 ): Status: OPTIMAL
---------------------------------------------------
SpanDepth :01 RaidLevel: 1 RdAhead : Adaptive Cache: DirectIo
StripSz :064KB Stripes : 2 WrPolicy: WriteBack
Logical Drive 0 : SpanLevel_0 Disks
Chnl Target StartBlock Blocks Physical Target Status
---- ------ ---------- ------ ----------------------
0 00 0x00000000 0x0887c000 ONLINE
0 01 0x00000000 0x0887c000 ONLINE
**********************************************************************
Existing Logical Drive Information
By LSI Logic Corp.,USA
**********************************************************************
[Note: For SATA-2, 4 and 6 channel controllers, please specify
Ch=0 Id=0..15 for specifying physical drive(Ch=channel, Id=Target)]
Logical Drive : 1( Adapter: 0 ): Status: OPTIMAL
---------------------------------------------------
SpanDepth :01 RaidLevel: 1 RdAhead : Adaptive Cache: DirectIo
StripSz :064KB Stripes : 2 WrPolicy: WriteBack
Logical Drive 1 : SpanLevel_0 Disks
Chnl Target StartBlock Blocks Physical Target Status
---- ------ ---------- ------ ----------------------
1 02 0x00000000 0x22ec0000 ONLINE
1 03 0x00000000 0x22ec0000 ONLINE
Oraz polecenie:
./megarc -AllAdpInfo
Wyciąga nam informacje, na temat fizycznych dysków w razie problemów z RAIDem (reszta informacji łatwo dostępna w GOOGLE).
Teraz, jak już wiemy jak stan RAID wygląda dodajemy nasza maszynę do NAGIOS`a.
Musimy pliki megarc i megarc.bin wrzucić do kalalogu pluginów nagiosa /usr/lib64/nagios/plugin (w przypadku 64 bitowych systemów). Następnie ze strony:
http://exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/RAID-Controllers/LSI-Mega-RAID-plugin-for-32-2Dbit-and-64-2Dbit-systems/details
Ściągamy plugin i umieszczamy w tym samym katalogu co powyżej i nadajemy mu nazwę chek_lsi_megaraid i prawo do wykonywania. Do pliku konfiguracyjnego NRPE /etc/nagios/nrpe.cfg dodajemy taki wpis:
command[check_raid]=/usr/bin/sudo /usr/lib64/nagios/plugins/check_lsi_megaraid
Restartujemy NRPE:
service nrpe restart
Żeby prawidłowo zadziałał plugin musimy w sudoers dodać mu odpowiednie wpisy:
visudo
Defaults:nagios !requiretty
nagios ALL=(ALL) NOPASSWD: /usr/lib64/nagios/plugins/
Następnie po stronie serwera NAGIOS`a w pliku konfiguracyjnym hosta dodajemy:
define service{
use graphed-service ; Name of service template to use
host_name hostname
service_description Raid Status
check_command check_nrpe!5666!check_raid
Restart serwera NAGIOS:
service nagios restart
I mamy na bieżąco podgląd do statusu naszego RAID`a.
Pokazywanie postów oznaczonych etykietą LSI. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą LSI. Pokaż wszystkie posty
wtorek, 7 października 2014
środa, 1 października 2014
Monitoring macierzy LSI MEGARAID SAS w Nagiosie.
Wracamy do kwestii macierzy RAID, teraz zajmiemy się rozwiązaniem firmy LSI MEGARAID SAS. Mamy już wcześniej zainstalowane MegaCli i chcemy teraz na bieżąco monitorować stan dysków w Nagiosie. Mega Cli może my poprać, ze strony: http://www.thomas-krenn.com/de/download.html I instalujemy. Instalacje jest prosta, więc nie będę opisywał tu tej procedury.
Pierwsze próby podpięcia wtyczki check_megaraid_sas zakończyły się tym, że po stronie serwera monitorowanego dostajemy prawidłowy output, lecz po stronie serwera nagiosa wynik się nie pokrywa (pokazuje, że jest ok, ale nie pokazuje stanu kontrolerów). Winne temu jest sudo. Musimy zmodyfikować odpowiednio plik sudoers.
Dodajemodpowiednie wpisy do sudo (pamiętajmy o sprawdzeniu ścieżki do MegaCli/MegaCli64):
visudo
Defaults:nagios !requiretty
nagios ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/
nagios ALL=(ALL) NOPASSWD: /opt/MegaRAID/MegaCli/MegaCli64
Następnie instalujemy plugin do nagiosa z:
wget http://www.techno-obscura.com/~delgado/code/check_megaraid_sas
Żeby prawidłowo nam zadziałał musimy zmodyfikować w nim linię:
my $megaclibin = '/opt/MegaRAID/MegaCli/MegaCli64'; # the full path to your MegaCli binary
na taką jak powyżej, lub inną ścieżkę w zależności, gdzie znajduje się plik MegaCli64/Megacli.
Wgrywamy go do katalogu pluginów Nagios`a /usr/lib/nagios/plugins/ lub /usr/lib64/nagios/plugins (w zależności od architektury)
W pliku /etc/nagios/nrpe.cfg na kliencie dodajemy (pamiętajmy, żeby nazwa użytkownika w tym pliku zgadzała się z nazwą użytkownika w sudoers, no i oczywiście prawidłowa ścieżka do pluginu):
command[check_megaraid_sas]=/usr/lib/nagios/plugins/check_megaraid_sas
Jeśli są pokazywane jakiekolwiek błędy dysków, a nie chcemy, żeby wiecznie wisiały w Nagiosie musimy w poleceniu użyć przełącznika, za pomocą którego je zignorujemy:
Usage: [-s number] [-m number] [-o number]
-s is how many hotspares are attached to the controller
-m is the number of media errors to ignore
-p is the predictive error count to ignore
-o is the number of other disk errors to ignore
Teraz po stronie serwera Nagios`a tworzymy/modyfikujemy plik konfiguracyjny hosta i zamieszczamy w nim wpis::
define service{
use graphed-service ; Name of service template to use
host_name Nasza_Nazwa
service_description Raid Status
check_command check_nrpe!5666!check_megaraid_sas
}
Może się jeszcze po stronie serwera nagios pojawić taka niespodzianka:
NRPE: Unable to read output
Po sprawdzeniu plików konfiguracyjnych, sudoers i pliku pluiginu i tam jest ok, to problem może tkwić po stronie sellinuxa to polecenie powinno naprawić (jak zwykle zwracamy uwagę na ścieżke do pliku):
restorecon -R -v /usr/lib64/nagios/plugins/check_megaraid_sas
Po tych zabiegach wszytko u mnie wróciło do normy i Nagios prawidłowo odczytuje wyniki z pluginu.
Następnym razem opisze w jaki sposób diagnozować dyski, w których pojawiają się błędy, a także jak rozwiąże jeden przypadek braku chęci współpracy sudo z pluginem.
Pierwsze próby podpięcia wtyczki check_megaraid_sas zakończyły się tym, że po stronie serwera monitorowanego dostajemy prawidłowy output, lecz po stronie serwera nagiosa wynik się nie pokrywa (pokazuje, że jest ok, ale nie pokazuje stanu kontrolerów). Winne temu jest sudo. Musimy zmodyfikować odpowiednio plik sudoers.
Dodajemodpowiednie wpisy do sudo (pamiętajmy o sprawdzeniu ścieżki do MegaCli/MegaCli64):
visudo
Defaults:nagios !requiretty
nagios ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/
nagios ALL=(ALL) NOPASSWD: /opt/MegaRAID/MegaCli/MegaCli64
Następnie instalujemy plugin do nagiosa z:
wget http://www.techno-obscura.com/~delgado/code/check_megaraid_sas
Żeby prawidłowo nam zadziałał musimy zmodyfikować w nim linię:
my $megaclibin = '/opt/MegaRAID/MegaCli/MegaCli64'; # the full path to your MegaCli binary
na taką jak powyżej, lub inną ścieżkę w zależności, gdzie znajduje się plik MegaCli64/Megacli.
Wgrywamy go do katalogu pluginów Nagios`a /usr/lib/nagios/plugins/ lub /usr/lib64/nagios/plugins (w zależności od architektury)
W pliku /etc/nagios/nrpe.cfg na kliencie dodajemy (pamiętajmy, żeby nazwa użytkownika w tym pliku zgadzała się z nazwą użytkownika w sudoers, no i oczywiście prawidłowa ścieżka do pluginu):
command[check_megaraid_sas]=/usr/lib/nagios/plugins/check_megaraid_sas
Jeśli są pokazywane jakiekolwiek błędy dysków, a nie chcemy, żeby wiecznie wisiały w Nagiosie musimy w poleceniu użyć przełącznika, za pomocą którego je zignorujemy:
Usage: [-s number] [-m number] [-o number]
-s is how many hotspares are attached to the controller
-m is the number of media errors to ignore
-p is the predictive error count to ignore
-o is the number of other disk errors to ignore
Teraz po stronie serwera Nagios`a tworzymy/modyfikujemy plik konfiguracyjny hosta i zamieszczamy w nim wpis::
define service{
use graphed-service ; Name of service template to use
host_name Nasza_Nazwa
service_description Raid Status
check_command check_nrpe!5666!check_megaraid_sas
}
Może się jeszcze po stronie serwera nagios pojawić taka niespodzianka:
NRPE: Unable to read output
Po sprawdzeniu plików konfiguracyjnych, sudoers i pliku pluiginu i tam jest ok, to problem może tkwić po stronie sellinuxa to polecenie powinno naprawić (jak zwykle zwracamy uwagę na ścieżke do pliku):
restorecon -R -v /usr/lib64/nagios/plugins/check_megaraid_sas
Po tych zabiegach wszytko u mnie wróciło do normy i Nagios prawidłowo odczytuje wyniki z pluginu.
Następnym razem opisze w jaki sposób diagnozować dyski, w których pojawiają się błędy, a także jak rozwiąże jeden przypadek braku chęci współpracy sudo z pluginem.
Subskrybuj:
Posty (Atom)