Genauer Blick aufs Update: Was Ubuntu 20.04 fĂĽr Server bringt
Ubuntu 20.04 alias Focal Fossa steht in den Startlöchern und bringt auch auf Servern viele wichtige Neuerungen mit sich.
- Martin Gerhard Loschwitz
- Moritz Förster
Gerades Jahr, April – eine neue LTS-Version von Ubuntu steht an. Am 23. April war es so weit: Canonical veröffentlichte Ubuntu 20.04 alias Focal Fossa mit vielen Neuerungen. Viele davon betreffen Desktops, doch auch beim Server hat sich einiges getan. Worauf sich Admins bei der neuen LTS-Version von Ubuntu freuen dürfen, verrät der detaillierte Blick auf die Updates.
Kernel 5.4 mit Langzeit-UnterstĂĽtzung
Linux 5.4 treibt als Kernel das jüngst erschienene Ubuntu an. Konsequent setzt Canonical bei seiner neuen LTS-Version auf einen LTS-Kernel: Für ihn versprechen die Entwickler Updates zumindest bis 2022. Danach wird der Hersteller jedoch, wie bisher üblich, darüber hinaus einen neueren Kernel in Form des Hardware Enablement Stacks (HWE) zur Verfügung stellen. Wer bisher Ubuntu 18.04 einsetzt, kommt per HWE-Kernel immerhin jetzt schon an einen Kernel 5.3, nämlich jenen von Ubuntu 19.10. Und spätestens ab August dürfte der Kernel 5.4 auch für Ubuntu 18.04 folgen.
Wichtiger als die Versionsnummern des neuen Kernels sind jedoch dessen Features. Hier schnürt Canonical ein rundes Gesamtpaket. Wer für die Sicherheit zuständig ist, freut sich über den erweiterten Lockdown-Modus: Mit ihm lassen sich einzelne Subsysteme des Linux-Kernels selbst vor dem Zugriff durch den Systemadministrator root schützen. Erleichterungen gibt es außerdem für virtuelle Systeme: Der virtio-fs-Treiber erstellt ein geteiltes Dateisystem zwischen Host und VMs auf Basis von FUSE. Das virtio im Namen verrät, dass hier Prinzipien der Paravirtualisierung zum Einsatz kommen – mit dem Ergebnis, dass Dateisysteme auf Basis von virto-fs flinker sind als konventionelle Ansätze.
Auch in Sachen Live-Patching hat sich einiges getan: Kernel-Updates lassen sich in Ubuntu 20.04 automatisch und ohne anschließenden Reboot aktivieren. Jedoch ist die Implementierung der Funktion etwas eigenwillig: Der Vorgang ist an ein Launchpad-Konto gekoppelt. Privatanwender versorgen so bis zu drei Systeme mit Updates. Verwaltet man größere Flotten, benötigt man zur Nutzung des Features zwangsweise ein kostenpflichtiges Advantage-Support-Paket von Canonical.
Ein besonderes Schmankerl in Ubuntu 20.04 auf Servern ist die Unterstützung für WireGuard. Das gehört eigentlich erst seit Linux 5.6 zum Lieferumfang des Kernels. Wie üblich reichert Canonical seinen Kernel jedoch mit diversen, zurückportierten Features aus aktuelleren Versionen an. WireGuard bietet sich als Ersatz für IPsec oder OpenVPN an.
ZFS fast in erster Reihe
Canonical nimmt bei der Integration von ZFS in seine Distribution seit Jahren eine Vorreiterrolle ein. Andere – wie Linux-Erfinder Torvalds – vertreten den Standpunkt, dass die Lizenzen von ZFS On Linux und des Linux-Kernels unvereinbar seien. Canonical hat weniger Berührungsängste und integriert ZFS tief in seine Distribution. Erste Wahl ist das Dateisystem aber auch in Ubuntu 20.04 noch nicht, denn es gilt weiterhin als experimentell – trotzdem tut sich in Sachen ZFS einiges.
So ist Ubuntu 20.04 die erste LTS-Version von Ubuntu, die die Installation des root-Dateisystems auf ZFS ermöglicht. Schon während des Setups wählt man dazu ZFS als Zieldateisystem aus – der Installer löscht daraufhin alle bestehenden Partitionen. Im Anschluss legt er eine neue Partitionstabelle an, die auf die ZFS-Nutzung optimiert ist.
Auf dem System landet dann automatisch auch Zsys: Das ist ein eigener, von Canonical entwickelter Daemon, der bestehende ZFS-Dateisysteme verwaltet. Mit ihm lassen sich auch Anwendungsfälle in der Praxis umsetzen, die ab Werk nicht realisierbar wären, zum Beispiel die gleichzeitige Nutzung mehrerer ZFS-Dateisysteme im selben System. Mit Zsys lassen sich zudem verschiedene Wartungsaufgaben erledigen. Auf Wunsch aktualisiert das Programm etwa die Konfiguration des Bootloaders oder kümmert sich um das Thema Garbage Collection. Weitere Details finden sich im GitHub-Verzeichnis von Zsys.
Bemerkenswert sind verschiedene Hooks, die Canonical in Ubuntu 20.04 im Hinblick auf ZFS eingebaut hat – und auf die man als Admin im ersten Moment gar nicht kommt. Ein kritischer Prozess ist zum Beispiel stets das Einspielen von Aktualisierungen, weil diese ein laufendes System potenziell beschädigen. Weil eine der wichtigsten ZFS-Funktionen Snapshots sind, vertäut Canonical das Paketwerkzeug Apt im Hintergrund kurzerhand mit ZFS: Vor dem Einspielen von Updates erstellt Apt auf ZFS-basierten Systemen künftig einen ZFS-Snapshot des Systems. Geht das Update schief, ist der Rollback besonders leicht und schnell über die Bühne. Noch ist das Feature aber mit einer Drossel versehen: Den Snapshot erstellt Apt nämlich nur alle 20 Minuten – was in der Praxis aber wohl von untergeordneter Bedeutung ist.
Subiquity als neuer Installer
Viele Admins sehen heutzutage über Jahre hinweg keinen Installer einer Linux-Distribution mehr. Für den Betrieb von Systemen in der Cloud stehen fertige Abbilder bereit, auf echtem Blech ist die Installation des Betriebssystems oft komplett automatisiert. In Ubuntu 20.04 entgeht einem dann aber der neue Installer Subiquity: Er löst den schon etwas betagten Debian-Installer ab und bietet eine Reihe nützlicher Zusatzfunktionen. Eine besteht darin, sich in eine laufende Installation per SSH einzuloggen. Dass das extrem hilfreich sein kann, weiß jeder, der schon einmal ohne Maus versucht hat, einen Fehler während des Setups zu debuggen.
Wer ZFS ausprobieren möchte, kann die Server-Abbilder von Ubuntu 20.04 für die Installation eines Systems gar nicht benutzen. Denn die Option, ZFS als Dateisystem für das Hauptsystem zu nutzen, fehlt im Subiquity-Installer komplett. Das ist zwar lästig, aber kein Beinbruch, denn letztlich führen sowohl der grafische Ubiquity-Installer als auch Subiquity zu denselben Ubuntu-Systemen. Ein Nachteil entsteht dem Server-Admin durch den grafischen Desktop also nicht.
Der Linux-HA-Stack aus Pacemaker und Corosync gehört nicht gerade zu jenen Komponenten, mit denen sich Admins bevorzugt auseinandersetzen. Das hat zum Teil historische Gründe: Seit Heartbeat 2 mit seiner XML-basierten Ressourcenkonfiguration vor über einem Jahrzehnt den alten Heartbeat 1 ablöste, folgt der HA-Suite der Ruf der Unbenutzbarkeit. Schon die bloße Installation von Pacemaker und die Konfiguration von Corosync als dessen Kommunikationsmechanismus brachten manchen Systemverwalter zur Weißglut. Vor diesem Hintergrund lässt Ubuntu 20.04 aufhorchen: Hier gehört Corosync 3.0 ebenso zum Lieferumfang wie Pacemaker 2.0 – und zusammen liefern die Komponenten einige neue Funktionen.
In Corosync hat Knet – Abkürzung von Kronosnet – den vorherigen Ring-Mechanismus abgelöst, was die Kommunikation der Cluster-Knoten untereinander verbessert. Geringere Latenzen und ein erhöhter Durchsatz bei der Cluster-Kommunikation sind die Resultate. Darüber hinaus haben die Entwickler den Corosync-Code aufgeräumt und viele wenig genutzte Features wie den RDMA-Support entfernt.
Auch Pacemaker 2.0 versteht sich vorrangig als Aufräum-Release, das alte Zöpfe abschneidet. Die zuvor noch unterstützte Kommunikationsschicht von Heartbeat 1 gehört in Version 2.0 endgültig der Vergangenheit an. Dasselbe gilt für Red Hats alten Cluster-Manager CMAN. Und selbst bei der Arbeit mit Ressourcen in der Cluster Information Base (CIB), also der oft verhassten XML-Datei, sorgen die Entwickler für mehr Ordnung: Master-Slave-Ressourcen waren bisher nötig, um solche Ressourcen in Pacemaker abzubilden, die auf vielen Cluster-Knoten laufen konnten, dort aber unterschiedliche Zustände haben. Der Klassiker ist die redundante Speicherlösung DRBD, bei der ein Laufwerk auf einem Host stets den Primary-Status hat und beschreibbar ist, während dieselbe Ressource auf anderen Systemen im Secondary-Modus läuft. An die Stelle der Master-Slave-Ressourcen treten nun die bereits vorhandenen Klon-Ressourcen, die jedoch mit einem promotable
-Flag versehen werden.
Die wohl wichtigste Neuerung aus Sicht des Admins betrifft aber die Art, wie Pacemaker und Corosync in Ubuntu 20.04 aufzusetzen sind. Hier übernimmt die Pacemaker Control Shell (pcs) das Kommando. Auf jedem späteren Cluster-Host läuft deren Daemon pcsd, der die Konfiguration aus der Ferne ermöglicht. Mit wenigen Befehlen von einem zentralen Host aus lässt sich in Ubuntu 20.04 dadurch ein Pacemaker-Cluster aus dem Boden stampfen. Das Hantieren mit Konfigurationsdateien ist nicht länger nötig, denn diese legt pcsd automatisch an.
Software per Snap? Nicht so sehr auf Servern…
Auf Desktop-Systemen rührt Canonical kräftig die Werbetrommel für sein neues Paketformat Snap. Das fußt auf Container-Technik und soll es sowohl Canonical als auch Drittanbietern erlauben, Software für Ubuntu 20.04 leicht zu verteilen. Denn jedes Programm bringt alle Abhängigkeiten im fertigen Container mit, lediglich eine funktionale Runtime für letztere ist auf dem jeweiligen System nötig.
Zwar lässt sich das Snap-Paketformat freilich auch ohne grafische Oberfläche nutzen, so recht will darüber aber keine große Freude aufkommen. Während der Installation fragt das System, welche Snaps aus einer Liste vermeintlich beliebter Snaps man installieren möchte – darunter Docker, PostgreSQL oder Prometheus. Von der Umstellung des Haupt-Werkzeugs zur Paketinstallation merkt man in der Server-Variante ohne grafische Oberfläche aber gar nichts. Entscheidet man sich nicht explizit für die Snap-Nutzung, bleiben diese praktisch außen vor und den größten Teil seiner Programme bezieht man weiterhin in Form von .deb-Paketen.
Dies ist vielen Admins aber vermutlich ohnehin lieber. Vielen Nutzern stößt es außerdem durchaus sauer auf, dass Canonical ein eigenes Paketformat erfinden musste, statt sich dem bereits bestehenden Flatpak-Format anzuschließen – das sich auf Ubuntu 20.04 freilich ebenfalls nutzen lässt.
Die ĂĽbliche Modellpflege
Über die bisher erwähnten neuen Funktion hinaus liefert Ubuntu 20.04 die übliche Modellpflege. Qemu steht als Standard-Emulator in Version 4.2 zur Verfügung, VMs mit bis zu acht Terabyte RAM lassen sich nun live umziehen. Passend dazu liefert die Libvirt 6.0 bessere Verwaltungsoptionen für virtuelle Systeme. Und auch in Sachen Cloud-Computing forstet Canonical bei Ubuntu 20.04 weiter auf: OpenStack Ussuri erscheint zwar erst in ein paar Tagen, ist aber dennoch die Standard-OpenStack-Version in der neuen Ubuntu-Release. Wobei die Frage nach der mitgelieferten OpenStack-Version ohnehin von untergeordnetem Interesse ist: Wer OpenStack auf Ubuntu nutzt, aktiviert im Idealfall das separate OpenStack-PPA und bekommt so jeweils die aktuellste Ausgabe durch den Anbieter frei Haus.
Neu in Ubuntu 20.04 ist auch DPDK 19.11. Vielen Admins ist DPDK kein Begriff, obgleich es gerade im Virtualisierungskontext wichtige Dienste leistet. Konkret geht es um das Offloading von Netzwerkfunktionen auf die Chipsätze entsprechend vorbereiteter Netzwerkkarten. Das wird nötig, weil in modernen Setups immer mehr Aufgaben von klassischen Switches auf die einzelnen Hosts wandern – Open vSwitch ist hierfür ein gutes Beispiel. DPDK 19.11 enthält viele Verbesserungen: Offloading-Funktionen von Mellanox- und Broadcom-Karten lassen sich nun besser nutzen, hinzu kommen neue Features wie eine effizientere Allokationsmethode für Speicher-Pools. Allerdings braucht DPDK ein eigenes Kernel-Modul zum Erfüllen seiner Aufgaben, was Aktualisierungen und insbesondere In-Place-Updates verkompliziert. Details hierzu liefern die Release Notes im Ubuntu-Wiki.
Ubuntu 20.04 ist die erste Ubuntu-Version, in der alle relevanten Komponenten für Webserver – darunter auch Apache – endlich TLS 1.3 beherrschen. Dem Ansinnen, sämtliche Verbindungen vom System weg und zum System hin mit moderner Verschlüsselung abzuwickeln, stehen nun also keine technischen Hürden mehr im Weg.
AuĂźerdem verbannt Canonical Python 2.7 aus dem Hauptzweig der Distribution. Wer will, findet es zwar noch um universe-Verzeichnis. Weil die Entwickler den Support fĂĽr Python 2 mittlerweile ebenfalls komplett eingestellt haben, lautet die dringende Empfehlung aber ohnehin, noch vorhandene Python-2-Apps auf eine neuere Version zu portieren.
Ähnliches gilt übrigens für 32-Bit-Systeme. Installieren ließen sie sich mit Ubuntu schon seit einigen Jahren nicht mehr, entsprechende Pakete stellte der Anbieter aber zur Verfügung. Damit ist nun Schluss: i386 gehört in Ubuntu 20.04 endgültig der Vergangenheit an.
Fazit: Behutsames Update, mehr Features
Die allermeisten Admins werden bei Ubuntu 20.04 vorrangig von den aktualisierten Programmen profitieren, die mehr Features und eine bessere Stabilität versprechen. Der Umstieg lohnt sich, denn In-Place-Updates von Ubuntu 18.04 sind grundsätzlich kein Problem. In Summe liefert der Hersteller ein behutsames Update – das letztlich aber zu überzeugen vermag. (fo)