Login
Newsletter
Werbung

Di, 10. Februar 2015, 13:18

Software::Kernel

Live-Patching zieht in den Linux-Kernel ein

Live-Patching, das Einfügen von Fehlerkorrekturen in einen laufenden Kernel ohne Neustart, wird wohl ab Linux 3.20 zur Verfügung stehen. Ein entsprechender Patch wurde jetzt - nicht live - eingereicht.

Larry Ewing

Live-Patching ist eine Technologie, um den Linux-Kernel zur Laufzeit zu patchen, ohne neu booten zu müssen. Dies soll beispielsweise mit einem Großteil der anfallenden Sicherheitspatches funktionieren. Die Technologie kommt allen Anwendern zugute, die dringende Probleme schnell beheben wollen, aber nicht einfach die Dienste durch einen Neustart unterbrechen können. Besonders gefragt ist sie bei Unternehmen. Dort bestehen häufig extrem kurze Wartungsfenster für manche Server. Mitunter stehen nur 15 Minuten im Jahr für Wartungsarbeiten zur Verfügung, was nicht einmal reicht, um einen großen Server zweimal zu booten.

Als eines der ersten Unternehmen bot vor einigen Jahren Ksplice entsprechende Funktionalität für Linux an. Das Produkt war in den ersten Jahren frei erhältlich, wenn auch nur für zahlende Kunden nützlich. Im Juli 2011 kaufte Oracle die Firma auf. Seither ist Ksplice proprietär. Es kann zwar kostenlos für Ubuntu und Fedora genutzt werden, erfordert aber in jedem Fall eine Registrierung. Oracle zeigte keinen Willen, die Funktionalität in den offiziellen Kernel einzubringen.

Sowohl Red Hat als auch Suse verfügen über Unternehmenskunden mit denselben Anforderungen, so dass beide im Jahr 2014 entsprechende Lösungen vorstellten: Kgraft bei Suse und kpatch bei Red Hat. Die Ansätze ähneln sich, wurden aber ohne Kenntnis voneinander entwickelt. Inzwischen sind beide als Produkt verfügbar, für die zahlende Kunden die entsprechenden getesteten Patches beziehen können.

Von Anfang an war klar, dass nicht beide Ansätze in den offiziellen Kernel aufgenommen werden konnten, da sie im Wesentlichen das gleiche tun. Doch im Oktober 2014 kam es auf der Linux Plumbers Conference zu Gesprächen zwischen beiden Teams mit dem Ziel, den grundlegenden Code zu vereinheitlichen und diesen in den Kernel zu bringen. Ein erster gemeinsamer Patch wurde bereits kurz danach vorgestellt. Vier Monate später ist die gemeinsame Arbeit von Suse und Red Hat nun so fortgeschritten, dass sie, wie bereits im Vorfeld angekündigt, für die Aufnahme in Linux 3.20 vorgeschlagen wurde.

Wie Suse-Mitarbeiter Jiri Kosina erläuterte, stellt der Patch die grundlegende Infrastruktur bereit, um Funktionen im Kernel zu ersetzen. Dazu gehört auch ein API für die Kernelmodule, die die eigentlichen Patches enthalten, und die Schnittstellen zu den Benutzerwerkzeugen. Die Entwickler hielten die Änderungen einfach und möglichst minimal und setzten auf die vorhandene ftrace-Funktionalität des Kernels auf, was von kPatch übernommen wurde. Red Hat und Suse werden ihre Patch-Werkzeuge künftig auf diese gemeinsame Infrastruktur aufsetzen und die Eigenentwicklungen aufgeben. Die Infrastruktur steht nun auch allen anderen Interessierten zur Verfügung, gleichgültig ob sie eigene Korrekturen in den Kernel einbringen oder Dienste für andere Benutzer anbieten wollen.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung