Open Source im professionellen Einsatz

Systemd.conf 2016: Pläne für portable Systemdienste und neue Kernel-IPC

30.09.2016

Nachdem Systemd nun in vielen Distributionen gelandet ist, schmieden Lennart Poettering und seine Mitentwickler bereits neue Pläne. Die haben sie auf der Systemd-Konferenz vorgestellt. Auch die Idee einer Kernel-IPC ist noch nicht beerdigt.

870

Vier Stockwerke hoch, ohne Fahrstuhl, das mutet die Systemd-Konferenz im Berliner Betahaus ihren Besuchern auch dieses Jahr wieder zu. Die werden dafür mit einem Blick über Berlin belohnt, Fernsehturm inklusive.

Doch die meisten konzentrieren sich eher auf die Bühne. Kein Wunder: Sie arbeiten professionell mit Systemd, dem Initsystem, das inzwischen die meisten großen Linux-Distributionen einsetzen und sind wegen der Vorträge hier. Von diesen erhoffen sie sich nicht nur Denkanstöße für Probleme mit ihren Clustern oder anderweitigen Linux-Landschaften, sondern auch Neuigkeiten über die Pläne der Systemd-Entwickler -- und die sind auf der Konferenz fast vollständig versammelt.

Wie im letzten Jahr fand die Systemd.conf auch diesmal im Betahaus Berlin statt.

Natürlich ist auch Lennart Poettering da, das "Mastermind" hinter dem Projekt. Er zeigte sich sehr zufrieden mit dem Klima der Konferenz und der Vortragsauswahl. Eine auch für ihn interessanteste Neuigkeit sei gewesen, dass Systemd nun auch auf Lexmark-Druckern und in der neuesten Generation von Cisco-Routern (mit I-OS) zum Einsatz komme. Viele Hersteller gäben sich in diesem Bereich recht zugeknöpft, daher erfahre man nicht immer, auf welchen Geräten Systemd und Linux in der Praxis laufen. Gegenüber dem Linux-Magazin erläuterte er die Pläne für Systemd, sprach aber auch über das gescheiterte Kdbus-Projekt.

User-IDs fürs Sandboxing

Aktuell liegen Poettering offenbar die neu eingeführten Dynamic Users sehr am Herzen. Das System soll das Sandboxing von Anwendungen und Container mit Hilfe von User IDs (UIDs) umsetzen. Die Idee ist, jede Anwendung mit einer einzigartigen UID auszuführen.

In bestehenden Distributionen kommen solche System-User, wie etwa "nobody", bereits seit Jahren zum Einsatz. Er will diesen Ansatz ausbauen. Unter Linux gebe es ausreichend viele UIDs. Sie anzulegen, koste nicht viel, da Unix sie ohnehin vorsehe. Android setze diese Methode bereits ein und Poettering möchte "eine Scheibe aus dem Android-Modell herausschneiden."

Lennart Poettering möchte Portable System Services einführen.

Der Vorteil an UIDs für Anwendungen: Sie hinterlassen keine Trümmer: Stirbt ein Service, geht auch der mit ihm verknüpfte User hopps. Das sei bei gewöhnlichen Distributionen noch nicht der Fall. Zugleich sind die Dynamic Users nur das Vorspiel zu einer größeren neuen Idee: den Portable System Services.

Keine Container, portable Services

Jetzt, wo Systemd gewonnen habe, müsse man sich wohl eine neue Aufgabe suchen, erklärt Poettering in seinem Einführungsvortrag "State of the Union" halb im Scherz. Er habe festgestellt, dass Admins Container hauptsächlich als eine Art Packaging-System verwenden und weniger wegen der Isolierung.

Portable System Services will er aber nicht als Container verstanden wissen, sondern als eine "Evolution von Services". Sie funktionieren wie gewöhnliche Dienste, laufen aber auf einem eigenen Dateisystem (als Directory Tree oder auf Squash-FS-Basis). Der User kann sie in ein Image packen und dieses auf ein anderes System transferieren. Persistente Daten kann er wahlweise über Ressource Bundling oder in dafür deklarierten Verzeichnissen aufbewahren. Diese Dienste könnten dann Logging, Netzwerk und so weiter vom Hostsystem übernehmen.

Kdbus zu komplex

Komplexität sei sicherlich einer der Gründe, warum Kdbus es nicht in den Kernel geschafft habe. Nicht der Code, die Konzepte hinter Kdbus, seien für den Kernel offenbar zu komplex gewesen, vermutet Poettering. Vielleicht hätten auch zu viele Userspace-Konzepte in Kdbus gesteckt, jedenfalls habe man es nicht geschafft, den Kernelentwicklern das Konzept zu erklären.

Ein anderer Grund für die Ablehnung bestehe sicherlich in den Animositäten zwischen Kernel- und Systemd-Entwicklern. Wohl auch aus diesem Grunde hält sich Poettering aus der Entwicklung an Bus 1, einer Nachfolge-IPC für den Kernel heraus.

Bus 1 ohne Zentralstation

David Hermann stellt Bus 1 in seinem Vortrag vor. Gab es in Kdbus noch eine zentrale Komponenten, um die Kommunikation zwischen den Clients zu koordinieren, soll diese in Bus 1 voraussichtlich wegfallen. Die IPC arbeitet, wie Doors (Solaris), Binder (Android), Mach Ports (OS X) Capability-orientiert, der Wegfall einer zentralen Instanz soll unter anderem das aufwändige Matching der Kommunikationspartner einsparen.

Systemd-Entwickler David Herrmann sprach über die Ideen für Bus 1, eine Kernel-IPC.

Weiterhin erlaubt Bus 1 Multicasts, behält die Reihenfolge der Nachrichten und den Ressourcenverbrauch im Auge und arbeitet nur im lokalen Kontext. An einem RFC für ein natives Protokoll arbeiten die Entwickler zurzeit, ihre Fortschritte wollen sie auf dem Kernel Summit präsentieren. Insgesamt sind das neue Konzept und der Code von Bus 1 deutlich einfacher gehalten als bei Kdbus, weshalb die Entwickler hoffen, damit auf mehr Gegenliebe zu stoßen.

Embedded, Container und Nix OS 16.09

Weitere Vorträge drehten sich um Bereiche, in denen Systemd zum Einsatz kommt und klärten das Wie und Warum. Dazu gehören etwa Embedded-Systeme, Container und auf Switches. Rok Garbas berichtete über Systemd in der reproduzierbar gebauten Distribution Nix OS. Sie verfolgt einen deklarativen Ansatz für das Konfigurationsmanagement und erlaubt dank einer Software-Atomisierung auch Updates bei schlechtem Netzzugang sowie Rollbacks. Und auch er hatte eine Neuigkeit anzukündigen: Im Verlauf des Konferenztages erscheint Nix OS 16.09.

Nix OS unterstützt Reproducible Builds, Rollbacks und Atomic Updates und setzt auf Systemd.

Wer es nicht zur Konferenz geschafft hat, kann sich Videoaufzeichnungen der Vorträge ansehen, die bereits jetzt online verfügbar sind.

Ähnliche Artikel

  • Systemd-Konferenz

    Mit rund 100 Teilnehmern startete im November in Berlin die erste Konferenz rund um das Initsystem Systemd. Sie richtete sich vor allem an professionelle Init-Nutzer, also Admins und Entwickler.

  • Systemd.conf 2015: Premiere in Berlin

    Mit rund 100 Teilnehmer startet in Berlin die erste Konferenz rund um das Initsystem Systemd. Die Systemd.conf richtet sich in erster Linie an professionelle Nutzer des Initsystems, sprich, an Admins und Entwickler.

  • Streit um Systemd geht weiter: Poettering zeigt erfolgreiches Booten mit Systemd und Kernel DBus auf Fedora

    Seit Jahren streitet sich die Linux-Community um Systemd und Dbus. Eine zentrale Rolle in den Diskussionen nahm dabei vor allem Systemd-Entwickler Lennart Poettering ein. Mit der Veröffentlichung einer Systemd-Kdbus-Variante, die auf Fedora erfolgreich Systemd mit dem Kernel Dbus bootet sowie einigen deutlichen Blogposts und Kommentaren in sozialen Netzen hat er die Diskussion wieder angefacht.

  • Kdbus überspringt Linux 4.2

    Das Merge-Window für Kernel 4.2 ist bereits offen, doch Greg Kroah-Hartman möchte Kdbus noch mindestens eine Runde aussetzen lassen.

  • Videos der Systemd-Konferenz sind online

    Die Videos von den Vorträgen der Systemd.conf 2015, die am Wochenende in Berlin zu Ende ging, sind online verfügbar.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.