(Getestet auf Debian Squeeze)
Im Syslog eines Debian Servers mit einem LSI Hardware Raid Controller wird Ihnen möglicherweise folgender Fehler angezeigt:
/var/log/messages
mpt-statusd: detected non-optimal RAID status
Für Hardware Raid Controller, wie zB dem »LSI MegaSAS 9260« bzw. einem »Dell Perc H700« kann das »mpt-status« Utility nicht verwendet werden. So wird beim Aufruf von »mpt-status -pv« uU folgendes zurückgegeben:
# mpt-status -pv
Checking for SCSI ID:0
Checking for SCSI ID:1
Checking for SCSI ID:2
Checking for SCSI ID:3
Checking for SCSI ID:4
Checking for SCSI ID:5
Checking for SCSI ID:6
Checking for SCSI ID:7
Checking for SCSI ID:8
Checking for SCSI ID:9
Checking for SCSI ID:10
Checking for SCSI ID:11
Checking for SCSI ID:12
Checking for SCSI ID:13
Checking for SCSI ID:14
Checking for SCSI ID:15
Nothing found, contact the author
Nicht sonderlich aufschlussreich, erklärt jedoch zumindest schon mal die beunruhigende Meldung im Syslog!
In so einem Fall kann man den »mpt-statusd« deaktivieren, damit nicht weiterhin ständig die Meldungen nach »/var/log/messages« geschrieben werden:
Halten Sie dafür zunächst den »mpt-statusd« an:
# /etc/init.d/mpt-statusd stop
Stopping mpt-status monitor: mpt-statusd.
Entfernen Sie die Links des Start/Stop-Skripts in den einzelnen Runleveln:
# update-rc.d-insserv -f mpt-statusd remove
LSI bietet jedoch das Tool »MegaCLI« an, welches im Prinzip die gleichen Aufgaben erfüllt, dass Problem ist nur, dass LSI dieses nur im RPM-Format anbietet. Insofern kann es nicht auf Debian installiert werden, zumindest nicht einfach so ohne Weiteres. Es besteht aber die Möglichkeit RPM-Pakete in DEB-Pakete zu konvertieren. Dafür verwendet man das Tool »rpm2cpio«, welches zB bei der Installation des Alien-Pakets1) mit installiert wird.
Installieren Sie »alien« auf Ihrem System:
# aptitude install alien
Des Weiteren benötigen Sie noch das Tool »sysfsutils«2):
# aptitude install sysfsutils
Laden Sie sich auf der LSI Webseite das aktuelle MegaCLI Utility für den MegaRaid Controller 9260 herunter MegaRAID 9260 Support und Download Seite3).
Extrahieren Sie das RPM-Paket aus der heruntergeladenen ZIP-Datei. In der Datei »8.00.29_Linux_MegaCli.zip« befindet sich auch noch eine weitere ZIP-Datei → »MegaCliLin.zip«:
# unzip 8.00.29_Linux_MegaCli.zip # unzip MegaCliLin.zip
Sie erhalten danach uA das RPM des MegaCLI Utility → »MegaCli-8.00.29-1.i386.rpm« Extrahieren Sie daraus das MegaCLI Utility:
# rpm2cpio MegaCli-8.00.29-1.i386.rpm | cpio -idmv
Sie erhalten danach im Download Verzeichnis bzw. im Verzeichnis, wo Sie die ZIPs entpackt haben, ein Verzeichnis »./opt/MegaRAID/MegaCli/«, welches das MegaCLI Utility und noch eine 64-Bit Variante enthält:
# ls -l ./opt/MegaRAID/MegaCli/
insgesamt 4016
-rwxr-xr-x 1 root root 1940732 12. Jul 2010 MegaCli
-rwxr-xr-x 1 root root 2161160 12. Jul 2010 MegaCli64
Kopieren Sie es im Anschluss an einen Speicherort, von wo aus Sie das Utility nutzen möchten, zB »/opt«, oder führen Sie es im absoluten Pfad aus:
# mv ./opt/MegaRAID/MegaCli /opt
Einen ersten Überblick über den Status Ihres Raid Controllers können Sie sich mit dem Kommando »MegaCli -LDInfo -Lall -aALL« verschaffen:
# /opt/MegaRAID/MegaCli/MegaCli -LDInfo -Lall -aALL
OSSpecificInitialize: Failed to load libsysfs.so.2.0.2 Please ensure that libsfs is present in the system.
The dependent library libsysfs.so.2.0.1 not available. Please contact LSI for distribution of the package
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 232.375 GB
State : Optimal
Strip Size : 64 KB
Number Of Drives : 2
Span Depth : 1
Default Cache Policy: WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU
Access Policy : Read/Write
Disk Cache Policy : Disk's Default
Encryption Type : None
Bad Blocks Exist: No
Virtual Drive: 1 (Target Id: 1)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 232.375 GB
State : Optimal
Strip Size : 64 KB
Number Of Drives : 2
Span Depth : 1
Default Cache Policy: WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU
Access Policy : Read/Write
Disk Cache Policy : Disk's Default
Encryption Type : None
Bad Blocks Exist: No
Virtual Drive: 2 (Target Id: 2)
Name :PIXBASE
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 931.0 GB
State : Optimal
Strip Size : 64 KB
Number Of Drives : 2
Span Depth : 1
Default Cache Policy: WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU
Access Policy : Read/Write
Disk Cache Policy : Disk's Default
Encryption Type : None
Bad Blocks Exist: No
Exit Code: 0x00
Den Fehler »OSSpecificInitialize: Failed to load libsysfs.so.2.0.2« habe ich erst mal ignoriert, da die Ausgabe das liefert, was ich wissen wollte und ich auf die Schnelle keine Lösung dafür gefunden habe.
Weitere nützliche Parameter für das »MegaCLI« Utiliy sind:4)
Kommando | Beschreibung |
---|---|
-AdpAllinfo -aALL | Zeigt alle möglichen Informationen über ALLE im Server eingebauten LSI RAID Controller an. Interessante Felder sind u.a.: - Degraded - Offline - Critical Disks - Failed Disks |
-LDInfo -Lall -aALL | Zeigt alle logischen Laufwerke, deren Konfiguration und Zustand auf allen eingebauten LSI Controllern an. Interessante Felder sind u.a.: »State ( State: Optimal)« |
-LdPdInfo -aALL | Zeigt alle logischen Laufwerke und die dazugehörenden physikalischen Drives und deren Status an. |
-pdInfo -PhysDrv[252:0] -a0 | Zeigt alle Informationen über das physikalische Laufwerk in Enclosure-ID 252, Slot-ID 0 am Controller 0 an. So kann gefahrlos die Adressierung des einzelnen physikalischen Laufwerks überprüft werden. |
-PDMakeGood -PhysDrv[252:0] -a0 | Setzt ein physikalisches Laufwerk welches als »Firmware state: Unconfigured(bad)« markiert ist zurück auf den Status »Firmware state: Unconfigured(good)«. Somit kann versucht werden eine ausgefallene Festplatte wieder zu reaktivieren, sofern diese keinen Hardware-Defekt aufweist. |
-PDList -aALL | grep -i firm | Zeigt den aktuellen Status aller physikalischer Drives an. (Nur die Drives welche aktuell gesteckt sind! Fehlende Drives tauchen nicht auf.) |
Eine ausführliche Dokumentation und Beschreibung aller MegaCLI Kommandos finden Sie in folgendem PDF: 80-00156-01_revf.pdf
— pronto 2011/05/09 14:30