-
Raid wiederherstellen / Festplatte rekonstruieren
Hallo,
ich habe 4 Festplatten und Software RAID5. (3 Platten + 1 Reserve) Nun ist eine Festplatte ausgefallen und ich habe eine identische leere Platte eingebaut. Wie stelle ich unter RedHat 9 die ursprüngliche RAID-Konfiguration wieder her ? Welchen Befehl gibt es dort ? Ich habe von ckraid --fix /etc/raid5.conf gehört, aber das funktioniert bei meinem Linux nicht (kennt den Befehlt nicht)
Thx schonmal und liebe Grüße
Celli
Geändert von DaQuark (14.01.04 um 13:36 Uhr)
-
hm ...
weiß keiner eine Antwort ? man muss doch irgendwie die Platte wieder rekonstruieren können ....
-
Premium Mitglied
Auszug auf dem Raid-Howto....brauchst dieses Beispiel nur auf dein System anwenden
Der sichere Weg
Ein normal laufender RAID-5 Verbund mit Spare-Disk sollte bei einem RAID-Verbund /dev/md0 mit den RAID-Partitionen /dev/sdb1, /dev/sdc1 und /dev/sdd1 plus der Spare-Disk /dev/sde1 unter /proc/mdstat folgendes zeigen:
Personalities : [raid5]
read_ahead 1024 sectors
md0 : active raid5 sde1[3] sdd1[2] sdc1[1] sdb1[0] 782080 blocks
level 5, 32k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
Durch das Entriegeln des Wechselrahmens wird ein Defekt der Partition /dev/sdc1 simuliert. Sobald wieder auf den RAID-5 Verbund zugegriffen wird, wird der Defekt bemerkt, der SCSI-Bus resetet und der Recovery-Prozeß über den raid5d Daemon beginnt. Ein cat /proc/mdstat zeigt jetzt folgendes:
Personalities : [raid5]
read_ahead 1024 sectors
md0 : active raid5 sde1[3] sdd1[2] sdc1[1](F) sdb1[0] 782080 blocks
level 5, 32k chunk, algorithm 2 [3/2] [U_U] recovery=4%
finish=15.4min
unused devices: <none>
Nach dem erfolgreichen Ende des Recovery-Prozesses liefert cat /proc/mdstat folgendes:
Personalities : [raid5]
read_ahead 1024 sectors
md0 : active raid5 sde1[3] sdd1[2] sdc1[1](F) sdb1[0] 782080 blocks
level 5, 32k chunk, algorithm 2 [3/2] [U_U]
unused devices: <none>
Den neuen Zustand sollten Sie nun sichern, indem Sie
umount /dev/md0
ausführen. Mit
raidstop /dev/md0
wird der aktuelle Zustand auf die RAID-Partitionen geschrieben. Ein
raidstart -a
cat /proc/mdstat
zeigt dann:
Personalities : [raid5]
read_ahead 1024 sectors
md0 : active raid5 sdd1[2] sde1[1] sdb1[0] 782080 blocks level 5,
32k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
Wie Sie erkennen können, fehlt die defekte Partition /dev/sdc1[1](F), dafür hat die Spare-Disk /dev/sde1[1] deren Funktion übernommen. Das ist jetzt der aktuelle Zustand des RAID-5. Nun wird die defekte Festplatte ersetzt, indem Sie den Rechner herunterfahren und den Festplattenaustausch durchführt. Wenn Sie neu booten, geht zunächst nichts mehr. Nun bloß keine Panik kriegen, sondern erstmal der /etc/raidtab Datei den neuen Zustand beibringen:
raiddev /dev/md0
raid-level 5
nr-raid-disks 3
nr-spare-disks 1
persistent-superblock 1
parity-algorithm left-symmetric
chunk-size 32
device /dev/sdb1
raid-disk 0
device /dev/sde1
raid-disk 1
device /dev/sdd1
raid-disk 2
device /dev/sdc1
spare-disk 0
Anschließend bringt ein
raidhotadd /dev/md0 /dev/sdc1
dem RAID-Verbund die neue Konstellation bei, ohne dabei die Daten auf dem RAID-5 Verbund zu beschädigen, solange Sie sich in der Datei /etc/raidtab nicht vertan haben. Schauen Sie sich die Einträge in Ihrem eigenen Interesse bitte nochmal genau an. Ein cat /proc/mdstat zeigt jetzt die Resynchronisation. Man sieht jetzt die neue Zuordnung der RAID-Partitionen im RAID-Verbund, die exakt den neuen Stand der Zuordnung darstellen sollte.
Personalities : [raid5]
read_ahead 1024 sectors
md0 : active raid5 sdc1[3] sdd1[2] sde1[19] sdb1[0] 782080 blocks
level 5, 32k chunk, algorithm 2 [3/3] [UUU] resync=36%
finish=6.7min
unused devices: <none>
Am Ende erscheint:
raid5: resync finished
Ein cat /proc/mdstat sieht nun so aus:
Personalities : [raid5]
read_ahead 1024 sectors
md0 : active raid5 sdc1[3] sdd1[2] sde1[1] sdb1[0] 782080 blocks
level 5, 32k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
Nun ruft man
raidstop /dev/md0
auf, um alles auf die Platten zu schreiben. Hat der Kernel das RAID-Array bereits gestartet (persistent-superblock 1), kann man mit einem
mount /dev/md0 /mount-point
den RAID-Verbund wieder in das Dateisystem einhängen. Ansonsten ist vorher noch folgender Befehl notwendig:
raidstart /dev/md0
Hiermit haben Sie wieder ein vollständiges laufendes RAID-5 Array hergestellt.
Geändert von Stage (14.01.04 um 14:03 Uhr)
-
arg ...
ich seh da net durch bei der raidtab .... kann mir jemand helfen ?
hier meine raidtab :
raiddev /dev/md1
raid-level 5
nr-raid-disks 3
chunk-size 64k
persistent-superblock 1
nr-spare-disks 1
device /dev/sda3
raid-disk 0
device /dev/sdb3
raid-disk 1
device /dev/sdc2
raid-disk 2
device /dev/sdd2
spare-disk 0
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
chunk-size 64k
persistent-superblock 1
nr-spare-disks 0
device /dev/sda1
raid-disk 0
device /dev/sdb1
raid-disk 1
raiddev /dev/md2
raid-level 5
nr-raid-disks 3
chunk-size 64k
persistent-superblock 1
nr-spare-disks 1
device /dev/sda2
raid-disk 0
device /dev/sdb2
raid-disk 1
device /dev/sdc1
raid-disk 2
device /dev/sdd1
spare-disk 0
raiddev /dev/md4
raid-level 5
nr-raid-disks 3
chunk-size 64k
persistent-superblock 1
nr-spare-disks 1
device /dev/sda6
raid-disk 0
device /dev/sdb6
raid-disk 1
device /dev/sdc5
raid-disk 2
device /dev/sdd5
spare-disk 0
raiddev /dev/md3
raid-level 5
nr-raid-disks 3
chunk-size 64k
persistent-superblock 1
nr-spare-disks 1
device /dev/sda5
raid-disk 0
device /dev/sdb5
raid-disk 1
device /dev/sdc3
raid-disk 2
device /dev/sdd3
spare-disk 0
bei mir ist die 3. Festplatte von 4 ausgefallen. ID = 2. Ich hab auf der dritten Festplatte mehrere Partitionen gehabt, heißt dass, dass ich für jede Partition extra den Befehl raidhotadd ausführen muss ? Ich hab mal aufgeführt : raidhotadd /dev/md2 /dev/sdc1 und er hat mir folgende Fehlermeldung ausgespuckt : /dev/md2 can not hot-add disk : invalid argument. Was mach ich falsch ?
-
Premium Mitglied
was spuckt
cat /proc/mdstat aus?
-
dies hier ...
Personalities : [raid1] [raid5]
read_ahead 1024 sectors
md0 : active raid1 sda1[0]
104320 blocks [2/1] [U_]
md2 : active raid5 sdb2[1] sda2[0]
8192896 blocks level 5, 64k chunk, algorithm 0 [3/2] [UU_]
md1 : active raid5 sdb3[1] sda3[0]
4401664 blocks level 5, 64k chunk, algorithm 0 [3/2] [UU_]
md3 : active raid5 sdc[2] sdb5[1] sda5[0]
513792 blocks level 5, 64k chunk, algorithm 0 [3/3] [UUU]
md4 : active raid5 sdb6[1] sda6[0]
4449792 blocks level 5, 64k chunk, algorithm 0 [3/2] [UU_]
unused devices: <none>
-
Premium Mitglied
welche Festplatte ist nun ausgefallen? sdc ?
-
@DaQuark
Was hast denn Du für ne wahnsinns RAIDTAB?
soviele verschiedene RAID Arrays?
wofür brauchst Du das?
Ich hab hier Dein erstes RAID Araay rausgepickt
hier hast Du einen RAID 5 über 3 Platten und die zusätzliche Spare Disk
die 1 Zeile ist der Name des Array
die 2 der RAID Level sollte klar sein
die 3 ist die Anzahl der aktiven Platten
die 4 gibt die grösse der Clusters an, das heisst der grösse eines einzeln ansprechbaren Bereichs
die 5 weiss nicht?
die 6 ist Anzahl Reserve Disks
die folgenden sind die einzelnen Disks und deren zugeordnete Partition
und das ganze wiederholt sich bei Dir eben mehrfach, weil Du noch diverse Verzeichnisse als einzelne RAID Arrays definiert hast.
raiddev /dev/md1
raid-level 5
nr-raid-disks 3
chunk-size 64k
persistent-superblock 1
nr-spare-disks 1
device /dev/sda3
raid-disk 0
device /dev/sdb3
raid-disk 1
device /dev/sdc2
raid-disk 2
device /dev/sdd2
spare-disk 0
zudem ist bei Dir noch auf den Partitionen sda1 und sdb1 ein RAID 1 angelegt, welches eben auch noch dabei ist.
deshalb hast Du so ne relativ grosse raidtab.
hoffe ich konnte etwas Klarheit schaffen.
-
ja sdc (die Dritte) ist ausgefallen ... was muss ich in die Console eingeben oder muss ich noch die raidtab ändern ?
Geändert von DaQuark (14.01.04 um 16:11 Uhr)
-
Premium Mitglied
also ich denke/hoffe mal das die Sparedisc (sdd) jetz die funktionen der sdc übernommen haben, wenn ja musst du die raidtab ändern
und zwar überall wo sdc steht muss jetz sdd stehen und umgedreht, weil sdc jetz deine Spareplatte geworden ist.
danach sollte wie gewohnt mit raidhotadd /dev/md1 /dev/hdc2 funktionieren
eventuell vorher partitionieren <- da bin ich mir nit sicher
-
bis morgen
ich mach für heute erstmal Feierabend .
hab eben noch mkraid /dev/md3 ausprobiert, aber da sagt er mir, das ich den Raid erst stoppen soll. Und wenn ich versuche ihn zu stoppen sagt er mir, dass das device busy ist.
deinen Vorschlag probier ich morgen mal aus - und wenn's nicht klappt, meld ich mich morgen nochmal hier
danke erstmal für die Hilfe !
BYe Celli
-
Premium Mitglied
mach ja nicht mkraid ich glaub damit werden alle daten zerstört
-
raidhotadd für alle Partitionen und Raidgeräte ?
so da bin ich nochmal ....
muss ich für alle RAID-Geräte (habe mehrere auf einer Festplatte) den Befehl aufführen ?
also z.B. :
raidhotadd /dev/md1 /dev/hdc2
und dann noch extra
raidhotadd /dev/md4 /dev/hdc5
? Muss ich die Festplatte noch partitionieren ? Und wenn ja wie mach ich das ? ich kenne zwar den Befehl fdisk, weiß aber nicht, wie man damit "Linux Raid autodetect Dateisysteme" (steht bei den anderen Partitonen - also Software Raid Partitionen werden das sein) erstellt.
netten Gruß
Marcel
-
Premium Mitglied
denke mal ja das du für jedes Raidvolume das ausführen musst
beim Partitionieren mit fdisk "t" drücken , dann partition auswählen, und Typ fd eingeben, das der Typ für Raidautodetect (mit L bekommt man auch die Liste)
-
habe die Festplatte jetzt partitioniert und die Befehle ausgeführt ... Er zeigt mir keinen Fehler (raidhotadd /dev/md2 /dev/sdc1) ... hat er die Daten jetzt schon geschrieben ? das geht mir ein bißchen schnell, dauert nichtmal eine Sekunde ... wie erkenne ich, ob und wann er die Festplatte rekonstruiert hat ?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen