[Allgemein] Kernel-Fehler

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [Allgemein] Kernel-Fehler

    Ein mittlerweile beseitigter Fehler im RAID-Treiber von Linux kann unter bestimmten Umständen die Metadaten des RAIDs zerstören. Nur einige nicht mehr aktuelle Kernel-Versionen sind davon betroffen, doch die fehlerhaften Versionen wurden zeitweise auch von Ubuntu und SUSE verteilt.

    Kernel-Entwickler Neil Brown beschreibt in seinem Blog ausführlich, wie es zu dem Fehler kam, wer davon betroffen ist und wie man Probleme vermeiden oder notfalls seine RAID-Systeme reparieren kann. Der Fehler konnte nur auftreten, wenn RAID-Arrays inaktiv waren, während das System heruntergefahren wurde, was normalerweise nicht der Fall sein sollte.

    Wie Brown berichtet, wurde der Fehler in die erste Testversion von Linux 3.4 eingeführt und noch vor dem Erscheinen von Linux 3.4 erkannt und beseitigt. Dadurch waren zunächst nur Kernel-Tester von dem Problem betroffen. Doch der Patch wurde auch in Linux 3.2.14 und 3.3.1 übernommen und einige Versionen später korrigiert. Daher sind auch die Versionen 3.2.14 bis 3.2.16 und 3.3.1 bis 3.3.3 betroffen. Nach den vorliegenden Informationen wurden die fraglichen Kernel-Versionen von SUSE in SLES 11 SP2 sowie von Ubuntu 12.04 kurzzeitig verwendet.

    Eigentlich sollte der Patch, der zu dem Fehler führte und von Brown selbst stammte, nur einen eigentlich harmlosen Fehler beim Herunterfahren beheben. Ursprünglich setzte der RAID-Treiber beim Herunterfahren die RAIDs auf schreibgeschützt, doch aufgrund einer Änderung in Linux 3.0 konnten auch nach diesem Zeitpunkt noch Schreibanforderungen an das RAID eintreffen. Um die daraus resultierende Fehlermeldung zu vermeiden, hob Brown den Schreibschutz auf und ersetzte ihn durch ein »immediate-safemode«-Flag, was seiner Ansicht fast genauso sicher war wie der Schreibschutz. Dabei übersah er jedoch, dass dieses Flag zum Schreiben der Metadaten auf das Array führt. Wenn ein Array jedoch inaktiv war, wurden damit unerwünschte Daten geschrieben. Entsprechend trivial war die Korrektur: Nur bei aktiven Arrays dürfen die Metadaten geschrieben werden.

    Im Blog-Eintrag von Brown kann man weitere Details über den Fehler, seine Vermeidung und, sofern das RAID bereits beschädigt ist, seine Reparatur erfahren. Da nur die Metadaten, nicht die eigentlichen Daten betroffen sind, kann man nach der Reparatur wieder problemlos auf seine Daten zugreifen.

    Quelle: Pro-Linux

    Für den Inhalt des Beitrages 43739 haftet ausdrücklich der jeweilige Autor: Suse-Newbie