[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: md-raid1 nach reboot gesplittet, mdadm, debian wheezy
[Thread Prev] | [Thread Next]
- Subject: Re: md-raid1 nach reboot gesplittet, mdadm, debian wheezy
- From: Jakob Haufe <sur5r@xxxxxxxxx>
- Date: Thu, 27 Sep 2012 00:35:40 +0200
- To: uugrn@xxxxxxxxxxxxxxx
On Wed, 26 Sep 2012 22:12:40 +0200 Raphael Eiselstein <rabe@xxxxxxxxx> wrote: > Allerdings hat das RAID keinen Rebuild gemacht (das war mein > Erwartungswert) sondern die zweite Platte (genauer: sdb1 und sdb2) als > jeweils *eigenstaendige* degradete RAIDs erkannt, zu allem Ueberfluss als > md127 und md126 (IIRC). Auch das war fuer mich noch kein Grund zur Panik, > ich haette die Platte einfach destroyen und wieder zum md0/md1 zufuegen > koennen. Das is natuerlich Ober-Murks, so sollte das definitiv nicht passieren. Passt da evtl. die mdadm.conf in der initrd nicht zur Realitaet? Ich hab es schon erlebt, dass da ne veraltete Version drin war... Im Zweifelsfall mit /usr/share/mdadm/mkconf ne korrekte Version erzeugen und nach /etc/mdadm.conf legen. Danach initrd neu bauen. Was hier mal interessant waere, waere die Ausgabe von mdadm --examine /dev/sdXY fuer alle Komponenten. > Das ganze wirft allerdings Fragen auf: Was ist das *normale* Verhalten, > wenn eine SATA-Platte rausgeworfen wird in Bezug auf ein RAID? Ist es > *sinnvoll*, dass die zuvor als defekt deklarierte Platte als Volume > wieder in Betrieb geht? Eigentlich gibt es Timestamps auf den Komponenten eines RAIDs. Damit eben der Kernel erkennen kann, welche Platte veraltet ist und ueberschrieben werden muss. Dass hier aus der "failed" Komponente ein neues RAID entstanden ist ist eindeutig nicht im Sinne des Erfinders. > Im Falle von LVM (ist hier der Fall) wird dieses "md127-Device" *immer* > die gleiche UUID haben wie der Zwilling /dev/md1 und LVM wird deswegen > *immer* eine von beiden Platten bevorzugt verwenden. Warum ausgerechnet > die *aeltere* Variante (hier: sdb2 alias md127)? Waere es nicht im Sinn > von LVM bei einem UUID-Konflikt der Physical Volumes das *aktuellere* > zu verwenden? Dazu muesste LVM etwas ueber die Metadaten von md1 und > md127 wissen. Aber denkbar waere es. LVM hat keinerlei Infos durch die es so eine Situation aufloesen koennte. Er sieht einfach alles doppelt und da entscheidet dann wohl Kollege Zufalll. Du koenntest die gueltigen LVM-Devices in der /etc/lvm/lvm.conf auf md0 und md1 oder so einschraenken... aber das geht ja ein bisschen am Sinn von LVM vorbei. > Abhilfe? *vor* dem Reboot das "failed"-Device aus dem RAID abmelden. Da > das "failed"-device (hier sdb) zu dem Zeitpunkt nicht mehr zugreifbar > ist, kann man es nicht durch Loeschen des Superblocks erzwingen. Was hat > man hier fuer Optionen? Ich weiss nicht ob in den Superblocks auch die An-/Abwesenheit der restlichen Komponenten vermerkt wird. Wenn man es noch beeinflussen kann, weil das System noch laeuft, schadet ein "mdadm /dev/mdX --remove failed" sicher nicht. > Kann man eine Plattem die vom Kernel aufgrund von Channel-Fehlern (SATA) > abgemeldet wurde durch einen gezielten Reset des SATA-Channels > "wiederbeleben" um dann die Superblocks zu loeschen oder einen Rebuild zu > forcieren? Ja, wobei das natuerlich immer auf die Schwere des Schluckaufs und den konkreten Controller ankommt: echo 1 > /sys/class/block/sdX/device/delete Danach kannst Du mit echo - - - > /sys/class/scsi_host/hostX/scan einen Rescan veranlassen. Die "- - -" stehen hier als Wildcard fuer Bus, ID, LUN. Du kannst also auch nach einem bestimmten Geraet suchen lassen. Welcher Host der richtige ist guckst Du am besten vor dem ersten Kommando nach: # readlink /sys/class/block/sda ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda Hier waere es also host0. Danach koenntest Du sie auch wieder in das Array aufnehmen (nach einem SMART-Test oder so). > PS: Hier noch dmesg seit dem letzten Boot Hast Du evtl. noch was in /var/log/kern.log.* vom Zeitpunkt des Fehlers? Gruesse, sur5r -- ceterum censeo microsoftem esse delendam. -- UUGRN e.V. http://www.uugrn.org/ http://mailman.uugrn.org/mailman/listinfo/uugrn Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste Archiv: http://lists.uugrn.org/