Für den Containermanager LXD gibt es ein Update: Version 4.5 bringt Support für Open Virtual Networks (OVN) mit und eine erste Unterstützung für BPF Syscall Interception.
LXD unterstützt neuerdings Netzwerke auf Basis von OVN, wenn auf dem LXD-Host OVN und Open vSwitch laufen. Im Unterschied zu den sonst von LXD verwalteten Netzwerken arbeiten die OVN-basierten im Cluster Node-übergreifend und lassen sich überlappende IP-Adressräume für die Netzwerke verwenden. In der nächsten LXD-Release soll sich OVN dann auch zur Basis für die Netzwerkverwaltung mausern.
OVN und BPF-Syscalls
Open Virtual Networks bestehen laut der OVN-Webseite aus einer Reihe von Daemons, die virtuelle Netzwerkkonfigurationen für OpenFlow übersetzen und auf Open-vSwitch-Instanzen installieren. Anders als Open vSwitch selbst zieht OVN einen höheren Abstraktionsgrad ein und arbeitet auf Basis von logischen Routern und Switches. Beide Projekte, Open vSwitch und OVN, gehörten ursprünglich zusammen. OVN wurde dann aus Open vSwitch herausgelöst und ist nun ein eigenständiges Projekt.
Neu an LXD 4.5 ist ebenfalls, dass es BPF-Systemcalls abfangen kann. Das Feature beschränkt sich auf “security.syscalls.intercept.bpf” und kommt mit einer Warnung: Aktiviert es der Admin, kann ein Container ziemlich komplexe BPF-Programme laden, die womöglich auch auf Informationen zugreifen, die außerhalb des Gültigkeitsbereichs des Containers liegen. Die LXD-Entwickler empfehlen, dies nur für “vertrauenswürdige” Container zu verwenden.
Verbesserte Device Allocation
Weiterhin unterstützt LXD nun native Terminal Device Allocation. Die bisherige Device Allocation für Befehle wie “lxc exec” lief über das virtuelle Dateisystem “devpts” auf dem Host. Dieser Ansatz geschah aus Sicherheitsgründen, allerdings ließ sich die “devpts”-Instanz aus dem Container heraus nicht adressieren. Neuerdings arbeiten der Kernel und LXC zusammen, um die bei einem Container-Startup verwendete “devpts”-Instanz zu tracken und darüber Geräte zu allozieren, ohne dass eine Interaktion mit dem Mount-Table im Container nötig ist. Das verbessert unter anderem die Kooperation mit App-Armor. Apropos AppArmor: Die Software hat nun auch “forkdns” und “forkproxy” unter ihren Fittichen.
Schließlich gibt es auch Änderungen im Umgang mit Remote Storage Pools. Neuerdings erhält nicht mehr jedes Cluster-Mitglied einen eigenen Eintrag, weil dies zu vielen überflüssigen Snapshots von Cluster-Mitgliedern führte. Ein neues Datenbank-Design erlaubt es jetzt, einen einzelnen Remote-Storage-Eintrag zu haben und diesen als “clustered” zu markieren. Das verhindert überflüssige automatische Snapshots im Cluster.
Herunterladen lässt sich die neue Version über die Download-Seite. Weitere Neuerungen und die komplette Commit-Liste finden sich in der Ankündigung.




