Stéphane Graber, Leiter des Projekts Linux Containers, einer der Schöpfer des LXC-Tools, Mitglied des technischen Leitungsgremiums von Ubuntu und Teilnehmer der Teams, die für die Veröffentlichung der Ubuntu-Versionen verantwortlich sind, hat eine neue Linux-Distribution namens IncusOS vorgestellt. IncusOS bietet ein atomar aktualisierbares Systemabbild zur Erstellung von Servern, deren zentralisierte Verwaltung mithilfe des Incus-Tools (Fork von LXD) erfolgt. Die Distribution wird unter dem Banner des Projekts Linux Containers entwickelt, das für die Entwicklung der Werkzeuge LXC und Incus verantwortlich ist. Die Arbeiten des Projekts sind in der Programmiersprache Go verfasst und stehen unter der Lizenz Apache 2.0.
Die Systemabbilder werden für die Architekturen x86_64 und ARM64 bereitgestellt und basieren auf einer abgespeckten Umgebung von Debian 13 sowie einem Linux-Kernel aus dem Zabbly-Repository, das Pakete mit 'vanilla' Kernversionen für Debian und Ubuntu bereitstellt, ergänzt durch Patches und Einstellungen zur Optimierung des Containerstarts in einer Umgebung, die auf dem Incus-Tool basiert. Als Dateisystem wird ZFS verwendet.
Die Builds werden mithilfe des mkosi-Tools erstellt, das von Lennart Poettering entwickelt wurde. Die grundlegende Systemumgebung wird im Nur-Lese-Modus eingebunden. Zum Installieren zusätzlicher Anwendungen wird das Systemd-sysext-Tool verwendet, das es ermöglicht, Anwendungen in Form von Systemerweiterungsabbildern (System Extension) zu verteilen, deren Inhalt auf die Hierarchie /usr/ mithilfe von OverlayFS aufgebracht wird. Eine Sicherung und Wiederherstellung der Einstellungen des Hauptsystems und der Daten einzelner Anwendungen sowie ein Zurücksetzen der Einstellungen auf die Werkseinstellungen (Factory reset) für das gesamte Betriebssystem oder ausgewählte Anwendungen werden unterstützt.
Zur Aktualisierung des Systems wird die Komponente systemd-sysupdate verwendet, die den Mechanismus der atomaren Partitionsersetzung nutzt – es gibt zwei unabhängige Partitionen, auf denen sich das funktionierende System befindet, während auf der anderen die nächste Aktualisierung installiert wird, wonach die Partitionen swapped werden. Um die Integrität der Boot-Umgebung zu gewährleisten, erfolgt der Bootvorgang unter Verwendung von UEFI Secure Boot und vollständiger Festplattenschrift (LUKS) mit der Speicherung von Informationen zum Entschlüsseln von Schlüsseln im TPM 2.0 (Trusted Platform Module).
Die Systemumgebung wurde auf ein Minimum reduziert und enthält nur die Komponenten, die für den Betrieb von Incus erforderlich sind. Die Umgebung verfügt nicht über eine Kommandozeilen-Shell und keine traditionellen Möglichkeiten zur Verwaltung über die Eingabeaufforderung oder zur Remote-Verbindung über SSH. Stattdessen werden alle Verwaltungs- und Konfigurationsoperationen ausschließlich über die REST-API des Incus-Systems mit Authentifizierung über ein Client-TLS-Zertifikat oder über OIDC (OpenID Connect) durchgeführt. Die Verwaltung aller Server erfolgt zentral über die Web-Oberfläche des Operations Centers oder die CLI-Oberfläche von Incus. Zum Migrieren von Containern und virtuellen Maschinen aus anderen Systemen, wie VMware vCenter, steht der Migrationsmanager zur Verfügung.

Für die Erstellung des Boot-Images wird ein Online-Generator verwendet, der es ermöglicht, das Image basierend auf den angegebenen Parametern vorzubereiten und ein Seed-Archiv mit Einstellungen wie TLS-Zertifikat für den Client-Zugriff, die Kennung des Blockgerätes für die Installation und die Netzwerkkonfiguration (standardmäßig wird das Netzwerk über DHCPv4 oder SLAAC (Stateless Address Autoconfiguration) konfiguriert). Der interaktive Installationsmodus wird nicht unterstützt – alle Parameter für die Installation und die Ersteinrichtung werden über den integrierten Konfigurationsblock festgelegt, der beim ersten Bootvorgang übergeben wird. Die Installation des Images IncusOS wird sowohl auf physischer Hardware als auch auf virtuellen Maschinen, die von den Plattformen libvirt, Incus, Proxmox, VirtualBox und VMware gesteuert werden, unterstützt.
Speicherbezogene Funktionen:
- automatische Bereitstellung eines lokalen ZFS-Pools;
- Erstellung komplexer ZFS-Pools auf zusätzlichen Festplatten;
- Unterstützung von NVME-over-TCP, iSCSI, Fiber Channel und Multipath;
- Möglichkeit zur Erstellung von Cluster-Konfigurationen für LVM über Fiber Channel, NVME-over-TCP oder iSCSI;
- Möglichkeit zur Erstellung von Software-Speichern auf Basis des verteilten Dateisystems Ceph.
Netzwerkfunktionen:
- automatische Unterstützung von VLAN im Bridged Networking-Modus, was das Anschließen von virtuellen Maschinen an beliebige Netzwerkschnittstellen erleichtert;
- Unterstützung für Link-Aggregation;
- Unterstützung von LLDP (Link Layer Discovery Protocol);
- Unterstützung für Unternehmens-Proxys (einschließlich Authentifizierung über Kerberos);
- Unterstützung von NTP (Network Time Protocol);
- Möglichkeit, Logs auf einem externen Server über syslog zu speichern;
- Unterstützung für OVS/OVN für Software-definierte Netzwerke OVS (Open vSwitch) und OVN (Open Virtual Network);
- eingebaute Unterstützung VPN- für Tailscale-Netzwerke (unterstützt werden auch Netbird in der Planung).

Quelle: opennet.ru
