Linux-Container mit LXC 6 und Incus 6: Canonical gegen den Rest der Welt
Kurz nach der stabilen Version 6 der Linux Containers (LXC) ist nun auch das Verwaltungswerkzeug Incus 6 als Fork von Canonicals LXD erschienen.
- Martin Gerhard Loschwitz
Zwar reden im Kontext von Containern und Linux die meisten Entwickler und Administratoren heute eher von Podman, Docker und Kubernetes, aber LXC ist auch noch da – und putzmunter: Bereits am 4. April erschien die Version 6 von LXC. Nun haben seine Entwickler das Management-Werkzeug Incus in der Version 6 nachgereicht. Das Besondere: Sowohl LXC 6 als auch Incus 6 kommen mit Langzeitunterstützung daher. Wer auf Grundlage von LXC 6 und Incus 6 Systeme konzipiert und baut, darf also davon ausgehen, dass er eine Weile Ruhe vor Migrationen und tiefgreifenden Updates hat.
Wer die Container-Welt unter Linux nicht regelmäßig verfolgt, hat von Incus bisher vielleicht noch gar nichts gehört. Dabei handelt es sich eigentlich um einen alten Bekannten, denn Incus ist ein Fork von LXD, dem einst von Canonical federführend ersonnenen Container-Verwalter. Incus existiert, weil Canonical sich vor knapp einem Jahr dazu entschlossen hatte, die gesamte LXD-Verwaltung intern abzuwickeln und sich nicht länger an der Arbeit des Linux Containers Projects zu beteiligen. Jenes zeichnete ursprünglich vor allem für LXC verantwortlich, erweiterte seinen Aufgabenbereich später aber eben auch auf Werkzeuge wie LXD. Was durchaus Sinn ergibt: Eine Lösung wie LXC alleine hilft schließlich nicht weiter, wenn kein Werkzeug zur Verfügung steht, um Container auf Systemen dann auch sinnvoll zu verwalten. LXC selbst umfasst vor allem die nötigen Komponenten, um auf der Ebene des Linux-Kernels Container anzulegen, zu starten und zu betreiben.
Canonical hatte LXD ins Leben gerufen, um eben diese LĂĽcke zu fĂĽllen. Am Independence Day 2023 beschloss der Linux-Hersteller dann aber, den gemeinsamen Weg mit dem Linux Container Project zu beenden und kĂĽnftig stattdessen ein eigenes SĂĽppchen zu kochen. Das Linux Container Project reagierte mit einem Fork der letzten gemeinsam entwickelten LXD-Version, die unter dem Namen Incus firmiert. Seither laufen die Entwicklungen von LXD und Incus auseinander.
Viele Neuerungen
Bei Incus haben die LXC-Leute seither viel Zeit investiert, um ihren LXD-Fork überhaupt erst mal aus dem recht engen Netzwerk von Ubuntus Entwicklungswerkzeugen und Diensten zu befreien. Anbindungen an MaaS oder Candid etwa flogen ebenso raus wie die Integration in Canonicals RBAC. Ebenso entfernte man Shiftfs, ebenfalls ein Ubuntu-Produkt, weil sich dieses mittlerweile durch spezielle Mounts mit ID-Mapping aus Linux ersetzen lässt, das unmittelbar im Kernel vorhanden ist.
Auch bei LXC bemüht man sich, alte Zöpfe abzuschneiden: So unterstützt LXC 6.0 erstmals Upstart, das alte Init-System von Ubuntu, nicht mehr. Obendrein lässt sich jetzt erstmals ein gemeinsames "lxc"-Programm bauen, das alle "lxc-"-Unterkommandos enthält, die bisher als eigenständige Programme daherkamen. Das ist aber optional. Eine weitere zentrale Änderung umfasst den Umstieg auf libdbus-1, um mit dem System-Bus zu sprechen, statt dafür wie bisher libsystemd zu verwenden. Erstmals ist in LXC 6.0 zudem IPv6 ab Werk in der Standardeinstellung aktiviert. Die flächendeckende Einführung und Nutzung von IPv6 dürfte folglich kaum mehr aufzuhalten sein.
Eine weitere zentrale Neuerung in Incus 6 betrifft dessen Unterstützung für externen Speicher. So existiert nun ein Volume-Treiber für die Anbindung von LVM, den der Hersteller als "clustered" bezeichnet. Das bezieht sich auf geteilte Storages im Hintergrund: Solange alle Knoten einer LXC-Installation einen gemeinsamen Speicher sehen, lässt er sich künftig über Clustered LVM mit LXC an Container anbinden. Der LVM-Treiber von LXC kümmert sich dann um das Locking.
Vorteil Open Source
Zugleich besinnt man sich bei Canonical auf die eigenen Wurzeln und hat in der ebenfalls kürzlich erschienenen Version 5.21 von LXD den Support für externe Speicher sogar gestutzt. Geht es nach dem Willen des Herstellers, soll LXD vorrangig in hyperkonvergenten Infrastrukturen auf Grundlage von Dells PowerFlex zum Einsatz kommen, was nicht zuletzt auf die Kooperation zwischen Canonical und Dell zurückzuführen sein dürfte. Was manchem Beobachter insofern als Nachteil erscheinen mag – nämlich der Streit innerhalb der Linux Container Community –, unterstreicht einmal mehr den unschlagbaren Vorteil des Open-Source-Prinzips: Praktisch haben die Nutzer von Linux-Containern jetzt sogar mehrere technische Ansätze mit unterschiedlichen Feature-Sets zur Auswahl. Dass sowohl Incus 6 als auch LXD 5.21 seitens ihrer Autoren jeweils als LTS-Version bezeichnet werden, verdeutlicht jedenfalls, dass Nutzer von Linux-Containern sich absehbar keine Sorgen um deren Zukunftssicherheit machen müssen.
Alle Details zu Incus 6.0 LTS und LXC 6.0 LTS finden sich in den Release-AnkĂĽndigungen.
(fo)