Sonntag, 15. August 2010

megacli

Eins vorweg: Sollte ich jemals euch, die Programmierer dieser absolut intuitiv bedienbaren und benutzerfreundlichen Software nachts in angeheitertem Zustand und mit einer Brechstange in der Hand treffen: RENNT!


Eine Platte aus meinem RAID-5 ist angeblich gestorben. Also gut, ohne das megacli cheat sheet geht erstmal gar nichts: megacli / PERC cheat sheet
Nachdem ich ein DELL PERC 5/i in meinem Mainboard stecken habe muss folgendes dazu erwähnt werden: Die DELL PERC-Karten sind nichts anderes als LSI-RAID Karten mit einem DELL Aufkleber drauf. Deshalb kann man auch die "LSI megacli" benutzen, um den Controller und alle RAID-Volumes darauf zu administrieren.

Allein die Freundlichkeit mit der einem dieses Tool begegnet ist unbeschreiblich:
frank@MrPink:~$ ./MegaCli64
Fatal error - Command Tool invoked with wrong parameters
Exit Code: 0x01
frank@MrPink:~$
Es geht aber noch weiter, jeder normale Mensch denkt, ok - mal nach --help fragen, aber nein: ihr habt die Rechnung ohne die diablolischen LSI-Programmierer gemacht, die sich - laut Erzählungen - beim Erstellen der "Usability Guidelines" alle morgens gleichzeitig ihre Finger in der Duschkabine eingeklemmt haben... und mit entsprechend guter Laune ans Werk gegangen sind. Das ganze wird im "Hitchhiker's Guide to the Galaxy" als "Größte Katastrophe nach der Zerstörung von Melmac" erwähnt werden. Dort waren es zwar nur Föns die gleichzeitig eingeschaltet wurden, aber die Auswirkung auf die Lebewesen war ähnlich verheerend.
frank@MrPink:~$ ./MegaCli64 --help
Invalid input at or near token -                                          

Exit Code: 0x01
 Zu deutsch: "Das glaubst auch nur du..."

Glücklicherweise gibt es ja das Cheat sheet. Und Google.

Quintessenz eines HowTos war dann man müsse nur die entsprechende EnclosureID herausfinden, die braucht man später für das Ersetzen der kaputten Festplatte.
Ergebnis bei mir war:
frank@MrPink:~$ sudo ./MegaCli64 -pdList -a0 | grep -i enclosure
Enclosure Device ID: N/A
Soweit sogut. Ich wusste eben nur nicht wie ich jetzt dieser großartigen Software hätte sagen sollen dass sie das physikalische Device an der Adresse [EnclosureID:DiskID] austauschen soll. Syntax war:
./MegaCli64 -PdReplaceMissing -PhysDrv[$EnclosureID:$DiskID] -array1 -row1 -a0
Versuch:
root@MrPink:~# ./MegaCli64 -PdReplaceMissing -PhysDrv[00:06] -array1 -row1 -a0
                                    
Adapter 0: Device at Enclosure - 0, Slot - 6 is not found.

Wollte also nicht so wirklich.
Für eine Sekunde habe ich mit folgender Kommandozeile im Kopf gespielt:
for i in `seq -w 01 99`; do ./MegaCli64 -PdReplaceMissing -PhysDrv[$i:06] -array1 -row1 -a0; done;

War dann aber auch nicht der Stein der Weisen.
Irgendwann zwischen Verzweiflung und Hass habe ich folgendes ausprobiert:
root@MrPink:~# ./MegaCli64 -PdReplaceMissing -PhysDrv[:06] -array1 -row1 -a0
                                    
Adapter: 0: Missing PD at Array 1, Row 1 is replaced.

Vollkommen intuitiv.

Keine Kommentare:

Kommentar veröffentlichen