NetBSD 9.0 mit neuem Hypervisor und verbesserter ZFS-Unterstützung

Das für viele Plattformen verfügbare NetBSD legt in seinem siebzehnten Major-Release viele Neuerungen vor, mit denen das Potenzial fürs Rechenzentrum steigt.

In Pocket speichern vorlesen Druckansicht 51 Kommentare lesen
NetBSD 9.0 mit neuem Hypervisor und verbesserter ZFS-Unterstützung

Dieser lustige Geselle dient als Platzhalter für das BSD-Maskottchen "Beastie".

(Bild: Volha Stasevich / Shutterstock)

Lesezeit: 5 Min.
Von
  • Oliver Müller
Inhaltsverzeichnis

NetBSD ist ein quelloffenes Unix-Derivat aus der BSD-Familie, das sich vor allem auf Plattformunabhängigkeit und fortgeschrittene Netzwerk-Funktionen spezialisiert hat. Wie alle BSDs geht auch NetBSD auf die freie Unix-Version 4.4BSDLite2 zurück.

Die zentralen Aktualisierungen der frisch erschienenen Version 9.0 sind die stark verbesserte ZFS-Unterstützung, ein neues Virtualisierungs-Framework (NetBSD Virtual Machine Monitor, NVMM) und eine Reihe von neuen Sicherheitsfunktionen unter anderem auf Kernel-Ebene. Damit will NetBSD vor allem im Cloud-Umfeld an Bedeutung gewinnen.

Seit 2004 war Xen stabiler Bestandteil des BSD-Ablegers. Mit dem neuen Release verabschiedet sich NetBSD von diesem Hypervisor und führt stattdessen den neuen NetBSD Virtual Machine Monitor (NVMM) ein. Dieser ist in einen hardwareabhängigen Kernel-Treiber und eine plattformunabhängige API (libnvmm) unterteilt. Ein eigenes Frontend à la Virtual Box liefert NVMM von Haus aus nicht mit. Dieser reine API-Ansatz ist vergleichbar mit dem Hypervisor Framework (HVF) von macOS oder der Windows Hypervisor Platform (WHPX).

Als unabhängiges Frontend kann ein gepatches qemu dienen, das via pkgsrc verfügbar ist. Über die Kommandozeilenoption -accel nvmm lässt sich die Unterstützung für NVMM aktivieren.

NVMMs Hardwareunabhängigkeit kann eine einheitliche Lösung auf vielen der von NetBSD unterstützten Prozessorarchitekturen liefern. Gerade im Hinblick auf ARM 64-Bit (aarch64) wäre dies ein willkommener Fortschritt. Derzeit unterstützt NVMM mit VT-x (Intel) und SVM (AMD) zwar (noch) nicht mehr Architekturen als Xen. Dafür punktet es aber damit, dass Sicherheitsprobleme der Vergangenheit während der Entwicklung direkt berücksichtigt werden konnten.

Als Gastsysteme sind aktuell die 32-Bit- und 64-Bit-Varianten von NetBSD, OpenBSD und FreeBSD sowie diverse Linux-Distributionen verfügbar. Windows läuft ab XP bis einschließlich 10. Alte Varianten mit DOS-Unterbau wie Windows 95 können hingegen nicht als Gast ausgeführt werden.

Das Dateisystem ZFS erhielt ein umfangreiches Update und ist nun für den produktiven Einsatz geeignet. Allerdings kann das System nicht von ZFS booten. Das root-Dateisystem darf zudem auch nicht in ZFS liegen.

Das "hochportable" NetBSD fügt seinen unzähligen unterstützten Hardware-Plattformen mit aarch64 eine weitere hinzu. Damit läuft es auch auf 64-Bit-ARM-Prozessoren – darunter die weit verbreiteten Raspberry Pi, NanoPi und Odroid. Neben dem Betrieb auf Single-CPU und Multiprozessoren im SMP (Symmetric Multi-Processing) läuft es auch im asymmetrischeren Multiprozessing mit big.LITTLE. Bei letzterem lassen sich Cluster von Kernen energiesparend abschalten, wenn diese gerade nicht benötigt werden.

Das x86-Lager darf sich über aktualisierte GPU-Treiber freuen. Darunter viele aktuelle Karten mit Chips von Intel, nVidia und AMD. Ebenso sind neue GPU-Treiber für ARM hinzugekommen. Das aus Linux stammende Subsystem DRM/KMS für Direct Rendering ist nun auf dem Stand von Linux 4.4. Neue Virtio-Treiber und PCI-Support auf qemu steigern die Leistung von NetBSD als Gastsystem. Hardware-Beschleunigung erhält es als Gast auf NVMM. Der Support auf Hyper-V wurde erweitert.

Mit dem neuen Release wirft NetBSD im Gegenzug alten Ballast über Bord. Das gesamte NETISDN-System samt zugehörige Treiber fallen in NetBSD 9.0 dem Rotstift zum Opfer. Mit dem Rückbau von ISDN ist das naheliegend. Ebenso fallen natives ATM samt Midway-Treiber sowie Kompatibilitätsschichten weg, wie NDIS, SVR3 und SVR4.

NetBSD führt mit 9.0 eine Reihe von Sicherheitsmechanismen auf Kernel-Ebene ein. Hierzu gehören zwei Mechanismen zum Erkennen von unberechtigten Speicherzugriffen sowie eine KASLR (Kernel Address Space Layout Randomization), durch welche der Adressraum des Kernels zufällig gestaltet wird. Dadurch können sich Angreifer beispielsweise bei Pufferüberläufen nicht mehr sicher sein, wo sie im Kernel landen. Bereits in der Standardkonfiguration ist KASLR in Teilen aktiv.

Das Einführen eines Kernel Undefined Behaviour Sanitizer (KUBASN) soll schlechten Code erkennen und die Code-Qualität steigern. Auch das Testen soll durch KCOV (Kernel Coverage) erleichtert werden.

Einziger Wermutstropfen ist, dass zumeist erste Implementierungen nur für amd64 vorliegen; nur wenige auch für aarch64. Alle anderen Plattformen können allenfalls auf Version 10 von NetBSD hoffen, die nach aktueller Planung später in diesem Jahr veröffentlicht werden soll.

Erfreulich ist, dass die Ergebnisse des im Mai 2018 vorgestellten Netzwerksicherheitsaudits in den Netzwerk-Stack eingeflossen sind. Dieser wurde (für alle Plattformen) auf Basis der Ergebnisse gesichert und gehärtet.

NetBSD 9.0 wartet mit einer ganzen Reihe von Neuerungen gegenüber Version 8.0 auf. Gerade für den Rechenzentrumsbetrieb ist die neue Version mit ZFS, NVMM und den zahlreichen Sicherheitsfeatures gut aufgestellt, um seinem bisherigen Nischendasein zu entwachsen.

Weitere Details und Download-Links für NetBSD 9.0 sind einem aktuellen Eintrag im NetBSD-Blog sowie den Release-Notes zur neuen Version zu entnehmen.

Mehr Infos

adsad

(ovw)