Hetzner - DokuWiki

LSI RAID Controller

Inhaltsverzeichnis

LSI Hardware-RAID-Controller

Das von LSI entwickelte Programm zur Administration des RAID-Controllers finden Sie in unserem Download-Bereich unter:

http://download.hetzner.de/tools/LSI/
  • Die Zugangsdaten zu diesem Bereich haben Sie bereits mit der Fertigstellungsmail Ihres Root Servers erhalten.
  • Bitte beachten Sie beim Download die Lizenzvereinbarung
  • Das Tool megacli dient zur Verwaltung des Controllers auf der Kommandozeile. (Hinweis: Das RPM installiert dieses unter /opt/MegaRAID/MegaCli/)
  • Das Tool MegaRAID Storage Manager (MSM) dient zur Verwaltung des Controllers über eine graphische Oberfläche
  • Weitere Tools und Treiber erhalten Sie direkt über LSI

Den Status eines Hardware-RAID auslesen

Um den Status der LSI RAID-Controller auszulesen muss das Commandline-Tool megacli von LSI installiert sein. Im Rescue-System ist dies bereits der Fall.

Den Zustand des RAIDs erhält man mit folgenden Befehl (Zeige alle Logical Devices an allen Controllern):

megacli -LDInfo -Lall -Aall

Ausgabe Beispiel RAID-1:

Adapter 0 -- Virtual Drive Information:
Virtual Disk: 0 (Target Id: 0)
Name:
RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0
Size:697.560 GB
State: Optimal
Stripe Size: 64 KB
Number Of Drives:2
Span Depth:1
Default Cache Policy: WriteBack, ReadAhead, Direct, Write Cache OK if Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Direct, Write Cache OK if Bad BBU
Access Policy: Read/Write
Disk Cache Policy: Enabled
Encryption Type: None

Exit Code: 0x00

Den Zustand der Festplatten erhält man mit folgenden Befehl:

megacli -PDList -Aall

Da dabei auch eine Menge unnützer Informationen herauskommt, empfiehlt es sich die Ausgabe zu filtern, z.B. mittels:

megacli -PDList -aAll | egrep "Enclosure Device ID:|Slot Number:|Inquiry Data:|Error Count:|state"

Einrichten eines Hardware-RAID

Bevor das Array angelegt werden kann, muss die bisherige Konfiguration eventuell gelöscht werden. Um nur die logischen Geräte zu löschen genügt ein CfgLdDel:

megacli -CfgLdDel -Lall -aAll

Um alles (inkl. z.B. Cache-Verhalten) zu löschen gibt es "Configuration Clear":

megacli -CfgClr -aAll

Verwendbare Festplatten müssen im Zustand "Unconfigured (good)" sein (siehe oben). Falls diese im Zustand "Unconfigured (bad)" sind, kann man dies via:

megacli -PDMakeGood -PhysDrv[<Enclosure#>:<Slot#>] -a0

Syntax:

megacli -CfgLdAdd -r<RAID#> [E0:S0,E1:S1,...] [WT|WB] [NORA|RA] [Direct|Cached] -sz<Größe> [-sz<Größe>]

RAID-0, 1 oder 5 erstellen. Für "r1" entsprechend "r0" bzw. "r5" einsetzen (HDDs an Enclosure 252, Port 0 und 1, WriteBack an, ReadCache auf adaptiv, Cache aktiv auch ohne BBU)

megacli -CfgLdAdd -r1 [252:0,252:1] WB RA Direct CachedBadBBU -a0

RAID-0, 1 oder 5 wie oben erstellen mit einer Größe von 20GB:

megacli -CfgLdAdd -r1 [252:0,252:1] WB RA Direct CachedBadBBU -sz10GB -a0

RAID-10 erstellen:

megacli -CfgSpanAdd -r10 -Array0[252:0,252:1] Array1[252:2,252:3] WB RA Direct CachedBadBBU -a0

Ein bestehendes Array (z.B. RAID5) erweitern

nachdem die zusätzliche HDD eingebaut ist, wird das gewünschte Volume entsprechend rekonfiguriert. Hier ein Beispiel für das Hinzufügen einer HDD zu einem bestehen RAID5:

megacli -LDRecon -Start -r5 -Add -PhysDrv[252:3] -L0 -a0

Festplatten als JBOD nutzen

Der LSI MegaRAID 9260 Controller beherrscht keinen JBOD-Modus, bei dem die Festplatten direkt durchgereicht werden. Es ist jedoch möglich, alle Festplatten als RAID-0 zu konfigurieren und so einzeln zu nutzen:

megacli -CfgEachDskRaid0 WB RA Direct CachedBadBBU -a0

Eine Festplatte als Hotspare setzen

Über das "Drives"-Menü eine unbenutzte ("unconfigured good") Festplatte auswählen und die Eigenschaften ("Properties") aufrufen. Dort kann die Festplatte entweder als dedizierte Hotspare für ein Array oder als Globale Hotspare für alle Arrays konfiguriert werden. Über das megacli Tool ist dies auch möglich

  • als globale Hotspare:
megacli -PDHSP -Set -PhysDrv[252:2] -a0
  • als dedizierte Hotspare für Array0:
megacli -PDHSP -Set -Dedicated -Array0 -PhysDrv[252:2] -a0

Hotspare Status entfernen:

megacli -PDHSP  -Rmv -PhysDrv[252:2] -a0

Ein Array als Bootlaufwerk setzen

Falls Array nicht bootfähig ist, kann man dies abfragen und auf ein logisches Device setzen:

root@rescue ~ # megacli -AdpBootDrive -get -a0

Adapter 0: No Virtual drive or Physical Drive is configured as boot drive.

Exit Code: 0x00
root@rescue ~ # megacli -AdpBootDrive -set -L0 -a0

Boot Virtual Drive is set to #0 (target id #0) on Adapter 0

Exit Code: 0x00

Die Konfiguration des Controllers sichern/wiederherstellen

Um die Konfiguration des Controller und aller Arrays zu sichern

# megacli -CfgSave -f raidcfg.txt -a0

Um die Konfiguration des Controller wiederherzustellen

root@rescue ~ # megacli -CfgRestore -f raidcfg.txt -a0

Ersetzen eine Festplatte im Array, wenn der Rebuild nicht automatisch startet

Eine neue Festplatte sollte im Zustand "Unconfigured (good)" sein. Dies kann man mittels PDList überprüfen. Falls die Festplatte im Zustand "Unconfigured (bad)" ist, muß diese erst wie folgt nutzbar gemacht werden:

root@rescue ~ # megacli -PDList -a0 | grep Firmware
Firmware state: Online, Spun Up
Device Firmware Level: CC45
Firmware state: Online, Spun Up
Device Firmware Level: CC45
Firmware state: Unconfigured(bad), Spun Up
Device Firmware Level: CC45
Firmware state: Online, Spun Up
Device Firmware Level: CC45
root@rescue ~ # megacli -CfgForeign -Scan -a0

There are 1 foreign configuration(s) on controller 0.

Exit Code: 0x00
root@rescue ~ # megacli -CfgForeign -Clear -a0

Foreign configuration 0 is cleared on controller 0.

Exit Code: 0x00

root@rescue ~ # megacli -PDMakeGood -PhysDrv [245:3] -a0

Wenn die Festplatte "good" ist, kann diese nun die fehlende Festplatte ersetzen. Dazu muß sowohl das Array als auch die Position angegeben werden, welche ersetzt werden soll. Die Zahlen erhält man zum Beispiel aus der Ausgabe von megacli -CfgDsply -a0. Fehlt eine Festplatte in einem Array existiert ein Eintrag "Physical Disk:", aber keine weiteren Informationen. Im Beispiel wird nun die 4. Festplatte des ersten Arrays (Array0) mit der Festplatte in Enclosure 245 Slot 3 ("PhysDrv[245:3]") ausgetauscht:

root@rescue ~ # megacli -PdReplaceMissing -PhysDrv[245:3] -array0 -row4 -a0

Adapter: 0: Missing PD at Array 0, Row 4 is replaced.

Exit Code: 0x00
root@rescue ~ # megacli -PDRbld -Start -PhysDrv[245:3] -a0

Started rebuild progress on device(Encl-245 Slot-3)

Exit Code: 0x00
root@rescue ~ # megacli -PDRbld -ShowProg -PhysDrv [245:3] -aAll

Rebuild Progress on Device at Enclosure 245, Slot 3 Completed 1% in 0 Minutes.

Die SMART Werte der Festplatten im RAID auslesen

Mittels smartmontolls kann direkt auf die physischen Festplatten hinter dem Controller zugegriffen werden, z.B. für die erste Festplatte. Dazu muß zunächst mit dem megacli Tool die Device Id ermittelt werden:

# megacli -pdlist -a0| grep 'Device Id'
Device Id: 4
Device Id: 5

Diese kann man nun als Option nach "megaraid" angeben, also z.B.

smartctl -d sat+megaraid,4 -a /dev/sda

Je nach Betriebssystem ist eine Aktualisierung der smartmontools oder des Kernels notwendig.

Nach Reboot RAID-Konfiguration leer

In seltenen Fällen kann es sein, dass nach dem ersten Anlegen eines RAID-Verbunds keine Konfiguration mehr gefunden wird, nachdem man den Server neu startet.

Um dieses Problem zu lösen, muss man die Konfiguration im Rescue System zweimal anlegen.

Beispiel für RAID-1:

Anlegen

megacli -CfgLdAdd -r1 [252:0,252:1] WB RA Direct CachedBadBBU -a0

Löschen (in dem Fall Alles)

megacli -CfgLdDel -Lall -aAll

Erneut Anlegen

megacli -CfgLdAdd -r1 [252:0,252:1] WB RA Direct CachedBadBBU -a0

Firmware-Update LSI

Mit einem Firmware-Update falls vom Hersteller verfügbar wird die Firmware Ihres LSI RAID-Controllers immer auf dem aktuellem Stand gehalten bzw. es werden damit bekannte Fehler behoben oder auch Funktionen erweitert.

Bevor Sie ein Firmware-Update durchführen, empfehlen wir immer zu einem Backup Ihrer Daten und der RAID-Konfiguration um einen möglichen Datenverlust zu vermeiden.

Eine Anleitung zum sichern/wiederherstellen der Konfiguration des RAID-Controllers finden Sie weiter oben.

Vorgehensweise:

1. RAID-Controller Modell / FW-Version auslesen

Um den Status der LSI RAID-Controller auszulesen muss das Commandline-Tool megacli von LSI installiert sein. Im Rescue-System ist dies bereits der Fall.

Befehl - Syntax:

megacli -AdpAllInfo -aAll

Ausgabe Beispiel:

Versions
================
Product Name : LSI MegaRAID SAS 9260-4i
Serial No: SV52117135
FW Package Build: 12.15.0-0205

2. RAID-Controller FW-Update durchführen

In Abhängigkeit der auf dem RAID-Controller installierten Firmware Version, kann ein Zwischen-Update (nur bei Firmware Versionen älter als 12.12.0-0090) erforderlich sein.

Sollte die installierte Firmware Version älter als die Firmware Version 12.12.0-0090 sein, führen Sie bitte zuerst ein Zwischen-Update auf die Firmware Version 12.12.0-0090 durch, welche Ihnen auf unseren Mirror zum Download zur Verfügung steht:

http://mirror.hetzner.de/tools/LSI/firmware/

Speichern Sie die Firmware-Datei entsprechend auf Ihrem Server und führen Sie mit folgendem Befehl, der Pfad zur zuvor gespeicherten Firmware-Datei (.rom-Datei) „mr12.12.0-0090.rom“ muss entsprechend angepasst werden, das Firmware-Update in diesem Beispiel auf die FW-Version „12.12.0-0090“ durch.

Den entsprechenden Befehl zum Firmware-Update entnehmen Sie bitte der Readme-Datei des Firmware-Updates. In diesem Beispiel lautet es wie folgt:

MegaCli -adpfwflash -f mr12.12.0-0090.rom -a0

Sollte kein Zwischen-Update erforderlich sein, können Sie auf der Hersteller Support Seite unter folgendem Link die Verfügbarkeit einer aktuellen Firmware Version für Ihren LSI RAID-Controller überprüfen und entsprechend herunterladen.

Hersteller Support Dokumente und Download

http://www.avagotech.com/support/download-search

Speichern Sie auch hier die Firmware-Datei entsprechend auf Ihrem Server und führen Sie mit folgendem Befehl, der Pfad zur zuvor gespeicherten Firmware-Datei (.rom-Datei) z.B. „mr2108fw.rom“ muss entsprechend angepasst werden, das Firmware-Update in diesem Beispiel auf die FW-Version „2108fw“ durch.

Den entsprechenden Befehl zum Firmware-Update entnehmen Sie bitte der Readme-Datei des Firmware-Updates. In diesem Beispiel lautet es wie folgt:

Befehl - Syntax:

MegaCli -adpfwflash -f mr2108fw.rom -a0

3. RAID-Controller Firmware-Update überprüfen

Abschließend können Sie wie folgt die nun installierte FW-Version überprüfen.

Befehl - Syntax:

megacli -AdpAllInfo -aAll

Ausgabe Beispiel:

Versions
================
Product Name : LSI MegaRAID SAS 9260-4i
Serial No: SV52117135
FW Package Build: 12.15.0-0205


© 2016. Hetzner Online GmbH. Alle Rechte vorbehalten.