Linux: Fehler im Kernel zerstört Raid-Arrays

Ein Fehler im Raid-Stack des Linux-Kernels kann die Metadaten so beschädigen, dass Daten nach einem Neustart nur schwer zugänglich sind. Der Fehler betrifft zahlreiche Kernelversionen, ist aber inzwischen behoben.

Artikel veröffentlicht am ,
Ein Linux-Bug kann Raid-Arrays zerstören.
Ein Linux-Bug kann Raid-Arrays zerstören. (Bild: Christian Jansky/CC BY-SA 3.0)

Durch einen Fehler können Metadaten auf Raid-Arrays des Linux-Kernels beschädigt werden. Die Daten selbst gehen dabei nicht verloren, wohl aber Informationen zum Raid-Array selbst, etwa dessen Blockgröße oder die Anzahl der dazugehörigen Geräte. Der Fehler tritt nur nach einem Neustart auf, wenn ein Raid-Array erneut zusammengestellt (Assemble), danach aber nicht erneut initialisiert wird, schreibt Entwickler Neil Brown.

Stellenmarkt
  1. IT-Koordination und Teamleitung (w/m/d)
    Hochschule für Musik Freiburg i. Br., Freiburg
  2. IT Service Delivery Manager (m/w/d)
    nora systems GmbH, Weinheim
Detailsuche

Das kann etwa passieren, wenn der Befehl "mdadm --incremental" auf einigen einem Raid zugehörigen Geräten ausgeführt wird, aber nicht auf allen. Brown nennt als Fehlerquelle auch den Befehl "mdadm -A", bei dem ein Raid zusammengestellt wird, aber nicht alle Geräte per Parameter definiert wurden, die dem Array zugeordnet sind. Auch hier startet das Administrationswerkzeug Mdadm das Array nicht.

Erst einprogrammiert, dann behoben

Der Bug tritt in den Kernelversionen 3.3.1 bis 3.3.3, 3.2.14 bis 3.2.16 und in der Vorabversion 3.4-rc1 und v3.4-rc5 des aktuellen Kernels 3.4 auf. In der finalen Version 3.4 sowie in Linux 3.3.4 und 3.2.17 sei der Fehler behoben, schreibt Brown. In Suse Linux Enterprise Server 11 (SLES11) mit Service Pack 2 tritt der Bug in Kernel 3.0.26-0.7 auf und wurde in 3.0.31-0.9 repariert. In Ubuntus Linux-Kernel-3.2.0-22.35 wurde der Fehler einprogrammiert und in Ubuntu-3.2.0-24.38 wieder behoben.

Vorsorge

Mit dem Befehl mdadm -Evvvvs lassen sich zunächst die wichtigsten Informationen eines Raid-Arrays auslesen und sichern.

Golem Akademie
  1. Linux-Systeme absichern und härten
    8.-10. November 2021, online
  2. Linux-Systemadministration Grundlagen
    25.-29. Oktober 2021, online
  3. Einführung in die Programmierung mit Rust
    21.-25. März 2022, online
Weitere IT-Trainings

Bei einem Upgrade auf einen neuen Kernel und vor dem anschließend notwendigen Neustart sollte zunächst sichergestellt werden, dass alle Raid-Arrays vollständig assembliert und neu initialisiert wurden. Dabei empfiehlt Brown, zunächst mit mv /sbin/mdadm /sbin/mdadm.moved das Raid-Werkzeug umzubenennen, damit ein möglicher distributionseigener Automatismus den Fehler nicht noch auslösen kann.

Unter Ubuntu wird beispielsweise eine inkrementelle Zusammenstellung (incremental assembly) bei einem Start auf allen Raid-Arrays durchgeführt, was den Fehler auslösen kann. Die entsprechenden Befehle sind in der Konfigurationsdatei 85-mdadm.rules festgelegt.

Danach sollte der Befehl /sbin/mdadm.moved --stop -scan ausgeführt werden.

Vor einem Neustart mit repariertem Kernel muss im Rescue-Modus mit mv /sbin/mdadm.moved /sbin/mdadm das Administrationswerkzeug zurückkopiert werden. Dieser Workaround sei etwas fummelig, schreibt Brown, es sei aber der sicherste ihm bekannte.

Brown beschreibt in seinem Blogeintrag auch die technischen Hintergründe des Fehlers sowie mögliche Maßnahmen für den Fall, dass der Fehler bereits eingetreten ist.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Microsoft
Das nächste große Update für Windows 10 kommt im November

Die Version 21H2 wurde wohl auch wegen Windows 11 etwas nach hinten verschoben. Der Patch soll nun aber im November für Windows 10 kommen.

Microsoft: Das nächste große Update für Windows 10 kommt im November
Artikel
  1. Silence S04: Günstiges Elektroauto mit herausnehmbaren Akku vorgestellt
    Silence S04
    Günstiges Elektroauto mit herausnehmbaren Akku vorgestellt

    Beim Elektroauto Silence S04 kann der Nutzer den Akku selbst wechseln, wenn dieser leergefahren ist.

  2. Arduino und Python: Bastler nimmt Audiokassette als Speichermedium für Retro-PC
    Arduino und Python
    Bastler nimmt Audiokassette als Speichermedium für Retro-PC

    Die Kassette kann nicht nur Lieder speichern, sondern auch Bitmuster. Ein Bastler baut dafür eine Schnittstelle mit 1,5 KBit/s Datenrate.

  3. Truth Social: Trumps soziales Netz bekommt Probleme mit Hackern und Lizenz
    Truth Social
    Trumps soziales Netz bekommt Probleme mit Hackern und Lizenz

    Hacker starten in Trumps-Netzwerk einen "Online-Krieg gegen Hass" mit Memes. Der Code scheint illegal von Mastodon übernommen worden zu sein.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • AOC CQ32G2SE/BK 285,70€ • Dell Alienware AW2521H 360 Hz 499€ • Corsair Vengeance RGB PRO SL 64-GB-Kit 3600 253,64€ • DeepCool Castle 360EX 109,90€ • Phanteks Glacier One 240MP 105,89€ • Seagate SSDs & HDDs günstiger • Alternate (u. a. Thermaltake Core P3 TG Snow Ed. 121,89€) [Werbung]
    •  /