Linux und Windows HelpDesk

LSI MegaRAID - Device ID anpassen (Direct-PD-Mapping).

Verwendet man eine LSI MegaRAID Controller in seinem System hat man evtl. bemerkt, dass die Device ID der einzelnen Festplatten, nicht mit der physikalischen ID, also dem Anschluss am Controller, übereinstimmt.
Bei megacli sind es die Slot Number und Device ID, bei storcli zeigt es sich bei Slt-Slot No. und DID-Device ID und bei megaclisas-status sieht man es bei Slot ID und LSI ID.

Noch unschöner und gefährlich ist, dass die Device ID durcheinander wie z.B. Device ID: 13 15 14 16 17 vergeben sein kann. Ich habe auch erlebt, dass die Device ID beim entfernen von Laufwerken und anschließendem hinzufügen neuer Laufwerke, immer weiter hochgezählt wird.

Lässt man die Festplatten in seinem RAID-Verbund z.B. mit smartctl auf Fehler überprüfen, kann das zu einem Problem führen, da smartctl die Device ID zur Festplattenidentifikation benutzt und bei Fehlermeldungen auch ausgibt.
Entfernt man nun irrtümlich eine falsche Festplatte aus einem RAID-Verbund, kann das zum Totalverlust führen.

Um dieser Gefahr aus dem Weg zu gehen, kann man bei seinem LSI MegaRAID das "aus Gründen" standardmäßig nicht aktivierte Direct-PD-Mapping einschalten.

Den Status von Direct-PD-Mapping fragt man mit megacli für den Controller a0 mit diesem Befehl ab.

# megacli -DirectPdMapping -Dsply -a0

Adapter 0: Direct Pd Mapping is: Disabled

Exit Code: 0x00

Mit megacli kann man Direct-PD-Mapping für den Controller a0 mit dem Befehl megacli -DirectPdMapping -Enbl -a0 aktivieren.

Den Status von Direct-PD-Mapping kann man mit storcli für den Controller c0 mit diesem Befehl abfragen.

# storcli /c0 show directpdmapping

Controller = 0
Status = Success
Description = None


Controller Properties :
================

-----------------------------
Ctrl_Prop             Value
-----------------------------
Directpdmapping  OFF
-----------------------------

Um Direct-PD-Mapping mit storcli für den Controller c0 zu aktivieren, muss der Befehl storcli /c0 set directpdmapping=on ausgeführt werden.

Anschließend ist in beiden Fällen ein Neustart nötig.
Damit sind die physikalische ID der einzelnen Festplatten und die vom Controller vergebene Device ID identisch (0 bis ...).
Ich habe die Änderung ohne Probleme auch bei einem bestehenden RAID5 ohne Datenverlust Durchführen können.