Fehler im Linux-Kernel kann Software-RAIDs zerstören

Einige Versionen des Linux-Kernels enthalten einen Fehler, der beim Herunterfahren des Systems unter bestimmten Bedingungen die Metadaten zerstören kann, die zum Zugriff auf das RAID benötigt werden.

In Pocket speichern vorlesen Druckansicht 274 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Thorsten Leemhuis

Einige Versionen des Linux-Kernels enthalten einen Fehler, der beim Herunterfahren des Systems unter bestimmten Bedingungen Teile der Metadaten zerstören kann, die Informationen zum RAID-Level, zur Größe der Chunks und der Zahl der am RAID beteiligten Geräte enthalten. Ohne diese Informationen lässt sich das Software-RAID nicht mehr zusammensetzen; die Nutzdaten sind somit letztlich noch vorhanden, aber mit normalen Mitteln unerreichbar.

Der Fehler tritt nur auf, wenn der RAID-Verbund beim Herunterfahren teilweise zusammengesetzt wurde, aber nicht gestartet wurde. Es sei allerdings ziemlich unwahrscheinlich, dass ein Software-RAID beim Herunterfahren in diesem Zustand sei, erläutert Neil Brown, der Mdadm und den darüber administrierten Software-RAID-Code im Linux-Kernel betreut, in einem ausführlichen Blog-Eintrag zum Fehler. Den Zustand zu erreichen sei aber nicht unmöglich, einige Nutzer seien von dem Problem betroffen. Die meisten Anwender, die von dem Problem berichtet hätten, setzten Ubuntu ein; möglicherweise mache die Distribution beim Shutdown etwas, was die Wahrscheinlichkeit für ein Auftreten des Bugs erhöht.

Die Ursache für den Fehler ist in den Ubuntu-12.04-Kernel 3.2.0-22.35 eingeflossen; die Fehlerkorrektur folgte mit Version 3.2.0-24.38, die am 21. Mai freigegeben wurde. Betroffen sind auch die Vorabversionen des Linux-Kernels 3.4 bis hin zum Ende April freigegebenen RC5 sowie die Longterm-Kernel 3.2.14 bis einschließlich 3.2.16 und die Stable-Kernel 3.3.1, 3.3.2 und 3.3.3. Mit allen in den vergangenen sechs Wochen freigegebenen Kernel.org-Kerneln der Serien 3.2, 3.3 und 3.4 sollte das Problem somit nicht auftreten.

Der Fehler betrifft nur den typischerweise via Mdadm administrierten RAID-Code; die anderen RAID-Implementationen des Kernels wie jene im Device Mapper oder die in Btrfs sind nicht betroffen. Wer einen der fehlerhaften Kernel zusammen mit einem Software-RAID betreibt, sollte das Programm Mdadm vorübergehend unerreichbar machen, damit der Fehler nicht beim Herunterfahren dieses Kernels zuschlägt; Details hierzu und zahlreiche weitere Hintergründe zum Fehler liefert Brown in seinem Blog-Eintrag. (thl)