Nachdem die Hetzner-Leute (Ich verzichte an der Stelle auf die Bezeichnung Techniker) es nicht vor Ort hinbekommen eine HDD an den Controller zu stecken und das Rebuild im grafischen Menü zu starten, kommt hier die Anleitung wie man es im Rescue-System hin bekommt. Alternativ kann man sich auch gegen eine geringe Gebühr *hust* eine LARA Console anstecken lassen. Wie sowas dann aussieht kann man sich bei Thomas-Krenn anschauen.
Hetzner bietet in ihrem Wiki eine Anleitung dazu, welche leider lückenhaft ist.
Als erstes sollte man den Zustand des RAID-Arrays kontrollieren:
megacli -LDInfo -Lall -Aall
das könnte bei einem RAID-1 jetzt so aussehen:
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
Nicht wundern sollte man sich hier über “Qualifier-0” das sagt nichts über das RAID-Level aus. Was man hier sieht ist dass es sich um 2 Laufwerke handelt an Adapter 0 und dies das 1. Array am Controller ist (Index 0 bedeutet 1.).
Den Zustand der Platten bekommt man mit dem Befehl:
megacli -PDList -Aall
Hier ist es wichtig die zu unterscheiden welche “online” sind und welche “Unconfigured”. Letzteres können good oder bad sein!
fyi: SPUN Up bedeutet nur dass es sich um ein “normale” Festplatte handelt – keine SSD o.ä.
Ist die Platte “Unconfigured(bad)” muss man sie zuerst auf good bekommen:
megacli -PDList -a0 | grep Firmware
liefert hier eine gute Übersicht der Platten. -a0 bedeutet Array 0 – also das 1.
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
zuerst sucht man Festplatten die nicht zum Array gehören (z.B. ausgewechselte Platten)
dann werden diese mit -Clear zurück gesetzt und anschließend auf good.
Hier ganz wichtig die ID des Physikalischen Laufwerkes: wenn ihr oben mit -PDList euch die Platten anzeigen lasst (ohne grep) sehr ihr die Adapter ID (müsste so 250 – 255 sein) und den Port wo die Platte dran steckt (beginnt bei 0 bis N (N=Anzahl der Anschlüsse am Controller)).
sind alle Platten auf Good kann man nun das Rebuild starten.
megacli -PdReplaceMissing -PhysDrv[252:1] -array0 -row0 -a0
so lautet der Befehl um an Adapter 252 Port 1 im Array 0 die row 0 zu ersetzen.
So und hier möchte ich nun etwas mehr dazu erklären:
Adapter 252 bekommt man über die Anzeige der Platten heraus. Ebenso den Anschluss. Die Zeile (row) ist abhängig von der Größe des Arrays. Die Zeile bekommt man über:
megacli -pdgetmissing -a0
heraus. Anschließend kann man die Platte ersetzen und mit
megacli -PDRbld -Start -PhysDrv[252:1] -a0
den Rebuild-Vorgang starten. Je nach Festplattengröße kann dies mehrere Stunden dauern.
Wer genug Zeit hat, kann den Rebuildvorgang mit
megacli -PDRbld -progdsply -PhysDrv [252:1] -aAll
live verfolgen.
Alternativ kann man auch den Rechner nun neustarten und normal weiter arbeiten. Der RAID-Controller synct die Platten die nun im Hintergrund.
Wer den Mega LSI Treiber im ESXi Server installiert hat sieht nun folgendes:
weitere Quelle: http://www.simpit.com/wordpress/?p=595
Meine Stadt , mein Bezirk , mein Viertel , meine Gegend, meine Straße, mein Zuhause, mein Blog 😀
Hab’s als erster erkannt 😛
Pingback: Some links on recovery of drives on LSI megaRAID controllers. « The Wiert Corner – irregular stream of stuff