Pokazywanie postów oznaczonych etykietą RAID. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą RAID. Pokaż wszystkie posty

wtorek, 7 października 2014

DELL PowerEdge 2850 - stary kontroler RAID LSI MEGARAID - ocena stanu RAID i monitoring NAGIOS

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.

ś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.
       
       

wtorek, 19 sierpnia 2014

Instalacja kontroli stanu macierzy RAID w linuxie (na przykładzie CentOS`a) dla kontrolera Adaptec.

Jest sobie serwer już leciwy np jakiś Dell PowerEdge2650 mamy na nim linuxa w tym przypadku CentOS`a i podejrzewamy, że może coś złego się dziać z naszym RAIDem, a nie mamy narzędzi, ani sposobności, żeby to sprawdzić. Nawet nie wiemy jaki mamy kontroler.
Zaczynamy od małego reserczu :)

Sprawdzamy jaki mamy ADAPTER RAID w systemie:
[root@xxx]# lspci
00:00.0 Host bridge: Broadcom CMIC-WS Host Bridge (GC-LE chipset) (rev 13)
00:00.1 Host bridge: Broadcom CMIC-WS Host Bridge (GC-LE chipset)
00:00.2 Host bridge: Broadcom CMIC-LE
00:04.0 Class ff00: Dell Embedded Remote Access or ERA/O
00:04.1 Class ff00: Dell Remote Access Card III
00:04.2 Class ff00: Dell Embedded Remote Access: BMC/SMIC device
00:0e.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
00:0f.0 Host bridge: Broadcom CSB5 South Bridge (rev 93)
00:0f.1 IDE interface: Broadcom CSB5 IDE Controller (rev 93)
00:0f.2 USB Controller: Broadcom OSB4/CSB5 OHCI USB Controller (rev 05)
00:0f.3 ISA bridge: Broadcom CSB5 LPC bridge
00:10.0 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 03)
00:10.2 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 03)
00:11.0 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 03)
00:11.2 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 03)
03:06.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5701 Gigabit Ethernet (rev 15)
03:08.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5701 Gigabit Ethernet (rev 15)
04:08.0 PCI bridge: Intel Corporation 80303 I/O Processor PCI-to-PCI Bridge (rev 01)
04:08.1 RAID bus controller: Dell PowerEdge Expandable RAID Controller 3/Di (rev 01) <<<--- nasz kontroler
05:06.0 SCSI storage controller: Adaptec RAID subsystem HBA (rev 01)
05:06.1 SCSI storage controller: Adaptec RAID subsystem HBA (rev 01)
następnie sprawdzamy jakie moduły mamy zainstalowane:

[root@xxx]# lsmod
Module                  Size  Used by
..
aacraid                67657              <<<---- nasz sterownik od RAID
..

Jeśli nie mamy takiego modułu załadowanego, to musimy wyszukać moduł odpowiedzialny za RAID i sprawdzić za jakiego producenta odpowiada :).
Teraz musimy ściągnąć i zainstalować potrzebne nam oprogramowanie:

Dla systemu 32bit:
wget www.thomas-krenn.com/redx_tools/mb_download.php/mid.065102097066087081055088074052107061/StorageManager_Adaptec_Linux_x86_v6.10.18359_20090.rpm
 

Dla systemu 64bit:
wget www.thomas-krenn.com/redx_tools/mb_download.php/mid.104098115056084084089102070050065061/StorageManager_Adaptec_Linux_x64_v6.10.18359_20090.rpm

Instalujemy ściągniętą paczkę:
[root@xxxi]# rpm -i StorageManager_Adaptec_Linux_x86_v6.10.18359_20090.rpm

Adaptec Storage Manager
Version 6.10

starting Adaptec Storage Manager agent ...


Installation completed successfully.
The application can be started by running: /usr/StorMan/StorMan.sh

Teraz sprawdzamy czy nam działa wszystko:
cd /usr/StorMan
./arcconf getconfig 1

w tym miejscu może wystąpić poniższy błąd
./arcconf: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
jeśli wystąpi to sprawdzamy jaki pakiet odpowiada, za brakującą bibilotekę:
 yum whatprovides libstdc++.so.5
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirror-pl.kielcetechnologypark.net
 * base: mirror-pl.kielcetechnologypark.net
 * epel: ftp.icm.edu.pl
 * extras: mirror-pl.kielcetechnologypark.net
 * rpmforge: mirror1.hs-esslingen.de
 * updates: mirror-pl.kielcetechnologypark.net
compat-libstdc++-33-3.2.3-61.i386 : Compatibility standard C++ libraries
Repo        : base
Matched from:
Other       : libstdc++.so.5

StorMan-6.10-18359.i386 : Adaptec Storage Manager
Repo        : installed
Matched from:
Other       : Provides-match: libstdc++.so.5


i doinstalowujemy brakującą paczkę:
yum install compat-libstdc++-33-3.2.3-61.i386
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirror-pl.kielcetechnologypark.net
 * base: mirror-pl.kielcetechnologypark.net
 * epel: ftp.icm.edu.pl
 * extras: mirror-pl.kielcetechnologypark.net
 * rpmforge: mirror1.hs-esslingen.de
 * updates: mirror-pl.kielcetechnologypark.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package compat-libstdc++-33.i386 0:3.2.3-61 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================================================
 Package                                             Arch                                 Version                                  Repository                            Size
==============================================================================================================================================================================
Installing:
 compat-libstdc++-33                                 i386                                 3.2.3-61                                 base                                 232 k

Transaction Summary
==============================================================================================================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 232 k
Is this ok [y/N]: y
Downloading Packages:
compat-libstdc++-33-3.2.3-61.i386.rpm                                                                                                                  | 232 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : compat-libstdc++-33                                                                                                                                    1/1

Installed:
  compat-libstdc++-33.i386 0:3.2.3-61

Complete!





Następnie wydajemy ponownie polecenie:
/usr/StoreMan/arcconf getconfig 1
Dostaniemy wynik ze statusem naszego RAIDu i dysków do niego podłączonych.

Powodzenia