Probleme bei RAID5 nach Plattentausch mit grub und booten

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
bjog
Beiträge: 39
Registriert: 15.01.2009 19:17:09

Probleme bei RAID5 nach Plattentausch mit grub und booten

Beitrag von bjog » 03.10.2010 06:03:43

Hallo,

ich hoffe, ich habe da jetzt nicht was richtig verbockt und ihr könnt mir helfen. Folgendes Problem:
Ich habe einen Rechner mit 3 Festplatten a 500GB. Da eine davon regelmäßig S.M.A.R.T.-Fehler ausgibt
Device: /dev/sda, 29 Currently unreadable (pending) sectors
und die Kapazität auch ausgebaut werden sollte, habe ich 3 neue Festplatten geholt, um die anderen nacheinander auszutauschen und am Ende die Kapazität zu erhöhen. Anleitung dafür war der Artikel in der c't 2/2009, S.168-170.

Konfiguriert ist das System wie folgt:

Code: Alles auswählen

sd_1 ext3 boot,raid
sd_2 extended
   sd_5 linux-swap raid
   sd_6 ext3 raid
(_ sind jeweils a,b,c)
Die Bezeichnungen ergaben sich automatisch bei der Installation von Lenny vor 2 Jahren.

Das ergab dann folgendes System:
md0 - raid1 für /boot
md1 - raid5 als swap (wird eh nicht genutzt)
md2 - raid5 für den Rest (also Daten etc.)

Wie gesagt stand nun der Austausch an. Also habe ich sda mit

Code: Alles auswählen

 mdadm /dev/md0 --fail /dev/sda1
mdadm /dev/md0 --remove /dev/sda1
mdadm --zero-superblock /dev/sda1 
aus dem Verbund entfernt. Das selbe für md1/sda5 und md2/sda6.

Dann habe ich die Platte gewechselt und wollte erst mal die Partitionierung übernehmen. Ich fand folgende Lösung:

Code: Alles auswählen

 sfdisk -d /dev/sdb | sfdisk /dev/sda 
gparted zeigt auch an, dass die Größen übernommen wurden. Sogar die sda3 und sda4 mit jeweils der Größe 0 wurde korrekt angezeigt. Da die eingebaute größer war, war am Ende noch Platz, auf den die erweiterte Partition ausgedehnt wurde.

Nun habe ich die Sachen wieder eingebunden mit

Code: Alles auswählen

 mdadm /dev/md0 --add /dev/sda1
mdadm /dev/md1 --add /dev/sda5
mdadm /dev/md2 --add /dev/sda6 
und der Spaß wurde synchronisiert.Das klappte auch (etwa 7h) und am Ende ergab cat /proc/mdadm dann auch die vollendete Synchronisierung.

Da es sich ja um die a-Platte handelte, wollte ich jetzt den Bootloader neu installieren um dann eines Tages auch wieder starten zu können. Und an der Stelle gab es offenbar ein Fehler oder ich habe etwas falsch gemacht. Ich habe versucht, grub neu zu installieren und diesen manuell einzurichten. Aber irgendwie war das für die Katz...
Die sichtbaren Fehler:
  • gparted zeigt jetzt keine md0 und md2 mehr an, sondern 3 einzelne Platten
  • Ein Start mit der neuen Platte schlug fehl (stoppt einfach), ein Ersetzen mit der alten Platte bringt die Kiste immerhin zum Laufen
Nachdem ich die alte wieder angeschlossen habe, startet er immerhin. Ich komme auch auf das Dateisystem und kann die Daten per ssh auch von außerhalb lesen. Offenbar funktioniert das RAID5 also mit den 2von3-Platten. Allerdings ergibt ein cat /proc/mdstat
md2 : active raid5 sdb6[1] sdc6[2]
971498496 blocks level 5, 64k chunk, algorithm 2 [3/2] [_UU]

md1 : active (auto-read-only) raid5 sdb5[1] sdc5[2]
4690688 blocks level 5, 64k chunk, algorithm 2 [3/2] [_UU]

md0 : active raid1 sdb1[1] sdc1[2]
289024 blocks [3/2] [_UU]
Ein mdadm --detail /dev/md2 ergibt (entsprechend md0 und md1) dann:
/dev/md2:
Version : 00.90
Creation Time : Thu Jan 29 20:29:54 2009
Raid Level : raid5
Array Size : 971498496 (926.49 GiB 994.81 GB)
Used Dev Size : 485749248 (463.25 GiB 497.41 GB)
Raid Devices : 3
Total Devices : 2
Preferred Minor : 2
Persistence : Superblock is persistent

Update Time : Sun Oct 3 05:36:01 2010
State : clean, degraded
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 64K

UUID : 1935d07f:0a04d40f:c756402b:adf1f930
Events : 0.7676

Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 22 1 active sync /dev/sdb6
2 8 38 2 active sync /dev/sdc6
Offenbar besteht hier noch ein RAID, denn auch die Daten sind ja ok. Andererseits zeigt gparted nur sda, sdb und sdc an und nicht wie vorher md0, md1 und md2. sda1 und sda2 bietet er mir jetzt als einzubindenes Laufwerk an. Ich würde ja sonst schon eine andere Platte nehmen und die Synchronisation nochmal anstoßen, aber das Nichterkenn des RAIDS beunruhigt mich schon.
Mich beruhigt ja (hoffentlich zu Recht) etwas, dass die Daten noch exisiteren, aber das muss natürlich schnellstmöglich geändert werden. Auch der Start von Festplatte sdb hat funktioniert, also war das RAID1 für /boot ganz passabel - aber ist das der richtige Weg?

Meine Fragen:
  • Was kann da jetzt schlimmstenfalls schief gehen, wenn man vom Ausfall einer weiteren Platte absieht? (Das ist mir schon klar.)
  • Wie verhindere ich größere weitere Fehler? (Rechner aus,...)
  • Warum macht gparted das und wie kann ich das korrigieren?
  • Der Bootloader muss doch irgendwie die RAIDS wieder erkennen können, oder?
  • Wie kann ich wieder für ein ordentliches System sorgen?
  • Wie kann ich den Bootloader optimal installieren, dass ein booten beim Ausfall einer Platte funktioniert?
  • Wie bekomme ich die nun schon bespielte Festplatte wieder sauber in den Originalzustand? (Für den Austausch der ersten beiden Platten habe ich ja noch 2 andere hier liegen.)
  • Wie kann ich mein ursprüngliches Ziel (Plattentausch und dann Vergrößerung*) am Besten erreichen?
  • Idee: Vielleicht habe ich mir ja auch nur den Grub zerstört. Wie würde denn dort ein Eintrag aussehen?
Besteht Hoffnung? :cry: :?

(*geplant war nach Abschluss des Tausches ein mdadm /dev/md2 --grow --size=max.)

Nachtrag:

Code: Alles auswählen

fdisk -l
ergibt:
NoPaste-Eintrag35016
Zuletzt geändert von bjog am 03.10.2010 11:56:19, insgesamt 1-mal geändert.

pluvo

Re: Probleme bei RAID5 nach Plattentausch mit grub und boote

Beitrag von pluvo » 15.10.2010 18:56:03

bjog hat geschrieben:Offenbar besteht hier noch ein RAID, denn auch die Daten sind ja ok.
Du hast ja auch einen RAID5. Da kann eine Festplatte ohne Probleme ausfallen. Und in deinem Fall ist das die /dev/sda.
bjog hat geschrieben:Wie kann ich den Bootloader optimal installieren, dass ein booten beim Ausfall einer Platte funktioniert?
Den Bootloader sollte man auf allen drei Festplatten installieren. Standardmäßig wird GRUB nur auf /dev/sda installiert. Das ist natürlich ein bisschen blöd, wenn sich die Boot-Reihenfolge im BIOS ändert, oder /dev/sda kaputt geht.


EDIT: Ah, ich komme ein bisschen zu spät:

Antworten