Frage Das XFS-Dateisystem ist in RHEL / CentOS 6.x unterbrochen - Was kann ich dagegen tun?


Kürzliche Versionen von RHEL / CentOS (EL6) brachten einige interessante Änderungen an der XFS-Dateisystem Ich war davon abhängig schwer seit über einem Jahrzehnt. Ich habe einen Teil des letzten Sommers damit verbracht, einen zu jagen XFS-Datei-Datei-Situation resultierend aus einem schlecht dokumentierten Kernel-Backport. Andere haben gehabt unglückliche Leistungsprobleme oder inkonsistentes Verhalten seit dem Umzug nach EL6.

XFS war mein Standard-Dateisystem für Daten- und Wachstumspartitionen, da es Stabilität, Skalierbarkeit und eine gute Leistungssteigerung gegenüber den Standard-ext3-Dateisystemen bot.

Es gab ein Problem mit XFS auf EL6-Systemen, das im November 2012 auftauchte. Ich bemerkte, dass meine Server auch im Leerlauf ungewöhnlich hohe Systemlasten aufwiesen. In einem Fall würde ein unbelastetes System einen konstanten Lastdurchschnitt von 3+ aufweisen. In anderen Fällen gab es eine Belastung von 1+. Die Anzahl der gemounteten XFS-Dateisysteme schien den Schweregrad der Laststeigerung zu beeinflussen.

System verfügt über zwei aktive XFS-Dateisysteme. Load ist +2 nach dem Upgrade auf den betroffenen Kernel. enter image description here

Beim Graben tiefer fand ich ein paar Fäden auf der XFS-Mailingliste das zeigte auf eine erhöhte Häufigkeit der xfsaild Prozess sitzen in der STAT D Zustand. Die entsprechende CentOS Bug Tracker und Red Hat Bugzilla Einträge beschreiben die Besonderheiten des Problems und kommen zu dem Schluss, dass dies kein Leistungsproblem ist; nur ein Fehler beim Melden der Systemlast in neueren Kernen als 2.6.32-279.14.1.el6.

WTF?!? 

In einer einmaligen Situation verstehe ich, dass die Lastmeldung keine große Sache ist. Versuchen Sie das mit Ihrem NMS und hunderten oder tausenden von Servern zu verwalten! Dies wurde in identifiziert November 2012 im Kernel 2.6.32-279.14.1.el6 unter EL6.3. Kernel 2.6.32-279.19.1.el6 und 2.6.32-279.22.1.el6 wurden in den folgenden Monaten (Dezember 2012 und Februar 2013) ohne Änderung dieses Verhaltens veröffentlicht. Es gab sogar eine neue Nebenversion des Betriebssystems, seit dieses Problem erkannt wurde. EL6.4 wurde veröffentlicht und ist jetzt auf Kernel 2.6.32-358.2.1.el6, die das gleiche Verhalten zeigt.

Ich hatte eine neue Systemerstellungswarteschlange und musste das Problem umgehen, indem ich entweder die Kernel-Versionen für die Version vor November 2012 für EL6.3 sperrte oder XFS einfach nicht verwendete ext4 oder ZFS, an einer schwere Leistungsstrafe für die spezifische benutzerdefinierte Anwendung, die oben ausgeführt wird. Die fragliche Anwendung hängt stark von einigen der XFS-Dateisystemattribute ab, um Mängel im Anwendungsdesign zu berücksichtigen.

Hinter Red Hat gehen paywalled Wissensdatenbank-Websiteerscheint ein Eintrag mit folgenden Angaben:

Ein hoher Lastdurchschnitt wird nach der Installation des Kernels beobachtet   2.6.32-279.14.1.el6. Der hohe Lastdurchschnitt wird dadurch verursacht, dass xfsaild für jedes XFS-formatierte Gerät in den D-Zustand wechselt.

Zurzeit gibt es keine Lösung für dieses Problem. Es wird derzeit   verfolgt über Bugzilla # 883905. Umgehung Downgrade des Installierten   Kernel-Paket auf eine Version niedriger als 2.6.32-279.14.1.

(außer dem Herunterstufen von Kernels keine Option auf RHEL 6.4 ...)

Wir haben also über 4 Monate mit diesem Problem zu tun, ohne dass eine echte Lösung für die Betriebssystemversionen EL6.3 oder EL6.4 geplant ist. Es gibt einen vorgeschlagenen Fix für EL6.5 und einen Kernel-Quell-Patch verfügbar ... Aber meine Frage ist:

Wann ist es sinnvoll, von den Betriebssystem-Kernel und -Paketen abzuweichen, wenn der Upstream-Betreuer ein wichtiges Feature durchbrochen hat?

Red Hat hat diesen Fehler eingeführt. Sie sollte Ein Fix in einen Errata-Kernel integrieren. Einer der Vorteile der Verwendung von Enterprise-Betriebssystemen ist, dass sie ein konsistentes und vorhersehbares Plattformziel. Dieser Fehler unterbrach Systeme, die sich bereits während eines Patch-Zyklus in der Produktion befanden, und verringerte das Vertrauen in die Bereitstellung neuer Systeme. Während ich einen der vorgeschlagene Patches für den QuellcodeWie skalierbar ist das? Es würde eine gewisse Wachsamkeit erfordern, wenn das Betriebssystem sich ändert.

Was ist der richtige Zug hier?

  • Wir wissen, dass dies möglicherweise behoben werden kann, aber nicht wann.
  • Die Unterstützung Ihres eigenen Kernels in einem Red Hat-Ökosystem hat seine eigenen Vorbehalte.
  • Wie wirkt sich dies auf die Förderfähigkeit aus?
  • Sollte ich einfach einen funktionierenden EL6.3-Kernel über die neu erstellten EL6.4-Server legen, um die richtige XFS-Funktionalität zu erhalten?
  • Sollte ich nur warten, bis das offiziell festgelegt ist?
  • Was sagt das über den Mangel an Kontrolle aus, den wir über Release-Zyklen von Enterprise Linux haben?
  • War so lange ein Planungs- / Designfehler auf einem XFS-Dateisystem?

Bearbeiten:

Dieser Patch wurde in den letzten aufgenommen CentOSPlus Kernel-Freigabe (kernel-2.6.32-358.2.1.el6.centos.plus). Ich teste das auf meinen CentOS-Systemen, aber das hilft nicht viel für die Red Hat-basierten Server.


27
2018-04-07 17:59


Ursprung


Ich war immer der Überzeugung, dass es bei der Verwendung von EL6 und der Zahlung von RHEL-Support an ihnen liegt, sie für Sie zu reparieren. - Tom O'Connor
Ja ... Red Hat wird es reparieren ... In ihrem eigenen Zeitplan !! - Dieses Problem tauchte Ende 2012 auf. Es ist immer noch nicht behoben. Es ist nicht für eine Reparatur bis zur Veröffentlichung von RHEL 6.5 geplant, also technisch, sie sind kümmert sich darum ... - ewwhite
Nun, mit der Einstellung, die Red Hat zeigt (ref the bug tracker), glaube ich ehrlich gesagt nicht, dass sie sich mit XFS beschäftigen. Ein angepasster Kernel macht hier Sinn, aber was bringt es, für Support zu bezahlen? Vielleicht CentOS ist dein Weg .. - pauska
<rant> Ich verstehe deine Frustration, ich war für eine gemischte RHEL / CentOS-Umgebung verantwortlich und RH macht es dir wirklich schwer, die Dinge auf Lager zu halten, da sie ständig "ignoriere", um kritische Bugs zu beheben, die sie sich manchmal vorstellen . Dann planen sie einen Fix für die nächste Hauptversion, aber da sie das Upgrade auf die nächste Hauptversion nicht unterstützen, ist dies wenig hilfreich. Irgendwann habe ich beschlossen, ihre offiziellen Kernel auf einigen RHEL5-Boxen abzulegen, weil ich aufgrund eines Mangels an einem bestimmten Feature nicht mehr konnte. </ Rant> - Adrian Frühwirth
@ MartinSchröder SLES ist in den USA nicht besonders beliebt, könnte aber eine Option sein. XFS selbst ist nicht kaputt, aber Red Hat's Umgang damit ist. Es ist eine Überlegung wert. - ewwhite


Antworten:


Wann ist es sinnvoll, von den Betriebssystem-Kernel und -Paketen abzuweichen, wenn der Upstream-Betreuer ein wichtiges Feature durchbrochen hat?

"An dem Punkt, an dem der Kern oder die Pakete des Anbieters so schrecklich kaputt sind, dass sie sich auf Ihr Geschäft auswirken", lautet meine allgemeine Antwort (zufälligerweise geht es auch um den Punkt, an dem es Sinn macht, nach Möglichkeiten zu suchen, die Anbieterbeziehung zu verlassen) .

Im Grunde, wie Sie und andere gesagt haben, scheint RedHat das nicht in ihrem verteilten Kernel (aus welchem ​​Grund auch immer) zu patchen. Das lässt Sie ziemlich in der Situation, Ihren eigenen Kernel zu rollen (auf Patches selbst zu halten, Ihr eigenes Paket zu pflegen und es auf Ihren Systemen mit Puppet oder ähnlichem zu installieren oder einen Paketserver zu betreiben, der Yum oder was auch immer) Verwenden Sie heute kann Referenz), oder nehmen Sie Ihre Murmeln und nach Hause gehen.


Ja, ich weiß, dass es eine teure Angelegenheit ist, Murmeln mit nach Hause zu nehmen und nach Hause zu gehen - ein Wechsel der OS-Anbieter ist ein großer Schmerz, besonders in der Linux-Welt, wo die Aromen sich von einem administrativen Standpunkt radikal unterscheiden.
Andere Optionen wie CentOS völlig unattraktiv sind (weil Sie den Support verlieren, und Sie immer noch im Wesentlichen RedHat Code von jemand anderem gebaut, so dass Sie immer noch diesen Fehler haben).

Leider, wenn nicht genug Leute (d. H. "Große Unternehmen") ihre Murmeln nehmen und nach Hause gehen, wird sich der Verkäufer nicht so sehr darum kümmern, Menschen durch das Versenden von schlechtem Code zu verschrauben und nicht zu reparieren.


14
2018-04-09 17:53





Dies wurde behoben (ruhig) von Red Hat 23. April 2013 in RHEL kernel-2.6.32-358.6.1.el6 im Rahmen der 6.4 Errata Updates ...


14
2018-06-23 02:55



20 Wochen nach dem Fehlerbericht, 2 Wochen nach dem Post hier, denkst du, dass Red Hat vielleicht alle Ratschläge gesehen hat zu "laufen" - Jasen
Könnte sein? Ich bin mir nicht sicher. - ewwhite


Wenn Sie Ihren RHEL-Kernel patchern müssen, können Mach es selbst und werde offiziell unterstützt Das Kernel, Sie brauchen nur für sie zu zertifizieren.

Dazu gibt es Bestimmungen in der RHEL-Support-Vereinbarung - ISTR Sie sind auf 1 oder 2 pro Quartal oder Jahr beschränkt, können sich aber nicht sicher erinnern.


3
2018-04-12 17:45



Sehr gut zu wissen! - ewwhite
Das ist nicht richtig. Sie können einen beschleunigten Fix von Red Hat anfordern, aber es gibt Kriterien, die das Problem erfüllen muss, damit dies geliefert wird, und verschiedene Möglichkeiten, einen unterstützten beschleunigten Fix bereitzustellen. Wenn Sie Ihren eigenen Kernel neu kompilieren, wird dieser Kernel von Red Hat nicht unterstützt. - suprjami
Ich habe einen Kunden, der genau das tut. Ich glaube nicht, dass sie es für jeden tun, aber sie tun es. - MikeyB