Der zweite Prototyp der ALP-Plattform, der SUSE Linux Enterprise ersetzt

SUSE hat den zweiten Prototyp der ALP „Punta Baretti“ (Adaptable Linux Platform) veröffentlicht, die als Fortsetzung der Entwicklung der SUSE Linux Enterprise-Distribution positioniert ist. Der Hauptunterschied zwischen ALP besteht in der Aufteilung der Kerndistribution in zwei Teile: ein abgespecktes „Host-Betriebssystem“, das auf der Hardware ausgeführt wird, und eine Ebene zur Unterstützung von Anwendungen, die auf die Ausführung in Containern und virtuellen Maschinen ausgerichtet sind. Die Baugruppen sind für die x86_64-Architektur vorbereitet. ALP wird zunächst in einem offenen Entwicklungsprozess entwickelt, bei dem Zwischenbuilds und Testergebnisse für jedermann öffentlich zugänglich sind.

Die ALP-Architektur basiert auf der Entwicklung der Umgebung im „Host-Betriebssystem“, die zur Unterstützung und Verwaltung der Geräte minimal erforderlich ist. Es wird vorgeschlagen, alle Anwendungen und User-Space-Komponenten nicht in einer gemischten Umgebung, sondern in separaten Containern oder virtuellen Maschinen auszuführen, die auf dem „Host-Betriebssystem“ laufen und voneinander isoliert sind. Diese Organisation ermöglicht es Benutzern, sich auf Anwendungen und abstrakte Arbeitsabläufe zu konzentrieren, ohne auf die zugrunde liegende Systemumgebung und Hardware angewiesen zu sein.

Als Basis für das „Host-OS“ dient das Produkt SLE Micro, basierend auf den Entwicklungen des MicroOS-Projekts. Zur zentralen Verwaltung werden die Konfigurationsmanagementsysteme Salt (vorinstalliert) und Ansible (optional) angeboten. Zur Ausführung isolierter Container stehen die Tools Podman und K3s (Kubernetes) zur Verfügung. Zu den in Containern untergebrachten Systemkomponenten gehören yast2, podman, k3s, Cockpit, GDM (GNOME Display Manager) und KVM.

Zu den Funktionen der Systemumgebung gehört die standardmäßige Verwendung der Festplattenverschlüsselung (FDE, Full Disk Encryption) mit der Möglichkeit, Schlüssel im TPM zu speichern. Die Root-Partition wird im schreibgeschützten Modus gemountet und ändert sich während des Betriebs nicht. Die Umgebung verwendet einen atomaren Update-Installationsmechanismus. Im Gegensatz zu atomaren Updates auf Basis von Ostree und Snap, die in Fedora und Ubuntu verwendet werden, verwendet ALP einen standardmäßigen Paketmanager und Snapshot-Mechanismus im Btrfs-Dateisystem, anstatt separate atomare Images zu erstellen und zusätzliche Bereitstellungsinfrastruktur bereitzustellen.

Es gibt einen konfigurierbaren Modus für die automatische Installation von Updates (Sie können beispielsweise die automatische Installation nur von Patches für kritische Schwachstellen aktivieren oder zur manuellen Bestätigung der Installation von Updates zurückkehren). Live-Patches werden unterstützt, um den Linux-Kernel zu aktualisieren, ohne die Arbeit neu zu starten oder zu stoppen. Um die Überlebensfähigkeit des Systems aufrechtzuerhalten (Selbstheilung), wird der letzte stabile Zustand mithilfe von Btrfs-Snapshots aufgezeichnet (wenn nach der Anwendung von Updates oder der Änderung von Einstellungen Anomalien festgestellt werden, wird das System automatisch in den vorherigen Zustand versetzt).

Die Plattform nutzt einen mehrversionigen Software-Stack – dank der Verwendung von Containern können Sie gleichzeitig verschiedene Versionen von Tools und Anwendungen nutzen. Sie können beispielsweise Anwendungen ausführen, die unterschiedliche Versionen von Python, Java und Node.js als Abhängigkeiten verwenden, und so inkompatible Abhängigkeiten trennen. Basisabhängigkeiten werden in Form von BCI-Sets (Base Container Images) bereitgestellt. Der Benutzer kann Software-Stacks erstellen, aktualisieren und löschen, ohne andere Umgebungen zu beeinträchtigen.

Wichtigste Änderungen im zweiten ALP-Prototyp:

  • Zum Einsatz kommt der D-Installer-Installer, bei dem die Benutzeroberfläche von den internen Komponenten von YaST getrennt ist und verschiedene Frontends genutzt werden können, darunter auch ein Frontend zur Verwaltung der Installation über ein Webinterface. Die grundlegende Schnittstelle zur Verwaltung der Installation wird mithilfe von Webtechnologien erstellt und umfasst einen Handler, der den Zugriff auf D-Bus-Aufrufe über HTTP ermöglicht, sowie die Webschnittstelle selbst. Die Weboberfläche ist in JavaScript unter Verwendung des React-Frameworks und der PatternFly-Komponenten geschrieben. Um die Sicherheit zu gewährleisten, unterstützt D-Installer die Installation auf verschlüsselten Partitionen und ermöglicht Ihnen die Verwendung von TPM (Trusted Platform Module) zum Entschlüsseln der Startpartition, wobei im TPM-Chip gespeicherte Schlüssel anstelle von Passwörtern verwendet werden.
  • Die Ausführung einiger YaST-Clients (Bootloader, iSCSIClient, Kdump, Firewall usw.) in separaten Containern wurde aktiviert. Es wurden zwei Arten von Containern implementiert: Kontrollcontainer für die Arbeit mit YaST im Textmodus, in der GUI und über die Weboberfläche sowie Testcontainer für automatisiertes Texten. Einige Module sind auch für den Einsatz in Systemen mit transaktionaler Aktualisierung angepasst. Für die Integration mit openQA wird die libyui-rest-api-Bibliothek mit einer REST-API-Implementierung vorgeschlagen.
  • Implementierte Ausführung in einem Container der Cockpit-Plattform, auf deren Basis das Webinterface des Konfigurators und Installers aufgebaut ist.
  • Der Einsatz der Full-Disk-Verschlüsselung (FDE, Full Disk Encryption) ist nicht nur in Virtualisierungssystemen und Cloud-Systemen, sondern auch bei Installationen auf herkömmlichen Geräten möglich.
  • GRUB2 wird als Haupt-Bootloader verwendet.
  • Konfigurationen für die Bereitstellung von Containern zum Aufbau einer Firewall (firewalld-container) und zur zentralen Verwaltung von Systemen und Clustern (warewulf-container) hinzugefügt.

Source: opennet.ru

Kommentar hinzufügen