Für systemd wird die Möglichkeit entwickelt, Systemabbilder über HTTP zu laden.

Lennart Poettering hat vorgeschlagen, dem Systemmanager systemd eine Änderung hinzuzufügen, die das Booten eines Systems mit einem Root-Dateisystemabbild, das von einem externen Host über das HTTP-Protokoll bezogen wird, ermöglicht. Die Änderung besteht darin, dass systemd nicht nur in der Lage ist, ein Disk-Abbild während der Boot-Phase über HTTP herunterzuladen, sondern auch das heruntergeladene Abbild zu entpacken, mit einem Blockgerät im Loopback-Modus zu verbinden, das Blockgerät als /sysroot zu mounten und das System von dort zu booten.

Die Unterstützung für das Herunterladen von Disk-Abbildern während des Systemstarts mittels systemd-import-generator ist bereits in systemd 257 enthalten. Der Rest der Funktionalität befindet sich noch in der Prototyp-Phase und bedarf der Überarbeitung. Der vollständige Boot-Zyklus wird derzeit noch nicht unterstützt, aber in Zukunft plant man, die Funktionalität bis zum Booten über UEFI HTTP Boot universeller Kernelabbilder (UKI - Unified Kernel Image) zu erweitern, die einen Bootloader für UEFI (UEFI Boot Stub), das Linux-Kernelabbild und die in den Speicher geladene Initrd-Umgebung in einer Datei vereinen.

Die URL zum Herunterladen des Systemimages wird basierend auf der für das EFI-Image in den Einstellungen des UEFI HTTP Boot angegebenen URL berechnet (zum Beispiel, beim Booten über EFI HTTP Boot „http://example.com/somedir/myimage.efi“ wird der im UKI initrd-Prozessor enthaltene Rootfs-Bild als „http://example.com/somedir/myimage.raw.xz“ heruntergeladen). Zukünftig wird neben HTTP auch die Unterstützung der NVMe-over-TCP-Technologie geplant, die den Zugriff auf NVMe-Speicherlaufwerke über das Netzwerk (NVM Express over Fabrics) unter Verwendung des TCP-Protokolls ermöglicht.

Es wird erwartet, dass das Booten von Images, die von einem externen Host heruntergeladen werden, die Durchführung von Tests moderner unveränderlicher („immutable“) Betriebssysteme auf echter Hardware erleichtert. Der Entwickler kann auf seinem Computer ein Image mit der Systemumgebung mit dem Tool mkosi erstellen und es über HTTP mit dem Befehl „mkosi -f serve“ verfügbar machen. Auf dem Computer, auf dem das System getestet werden soll, genügt es, im EFI das Booten über HTTP zu aktivieren und die URL des herunterzuladenden Images mit dem Befehl hinzuzufügen: kernel-bootcfg —add-uri=http://192.168.47.11:8081/image.efi —title=testloop —boot-order=0.

Nach dem kann der Computer einfach neu gestartet werden und er lädt das Standard-UKI-Kernel-Image, das dann das vom Entwickler vorbereitete Disk-Image mit dem Root-Dateisystem lädt. Bis zur Deaktivierung des HTTP-Starts im EFI wird jeder nachfolgende Neustart des Computers dazu führen, dass ein frisches Systemimage geladen wird. Bei dieser Art von Test werden lokale Festplatten nicht berührt.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster