1 Punkte von GN⁺ 2024-02-09 | 1 Kommentare | Auf WhatsApp teilen

Öffentliche Veröffentlichung von VirtualBox KVM

  • Cyberus Technology hat das KVM-Backend von VirtualBox als Open Source veröffentlicht.
  • VirtualBox ist ein plattformübergreifender Virtual Machine Monitor (VMM), der verschiedene Gastbetriebssysteme unterstützt und eine konsistente Benutzeroberfläche auf mehreren Host-Betriebssystemen bietet.
  • Mit dem KVM-Backend kann VirtualBox den Linux-KVM-Hypervisor zum Ausführen virtueller Maschinen nutzen, anstelle des benutzerdefinierten Kernel-Moduls, das die Standardversion von VirtualBox verwendet.

Open-Source-Veröffentlichung

  • Um sein Versprechen gegenüber Open Source einzulösen, hat Cyberus Technology das KVM-Backend unter einer Open-Source-Lizenz auf GitHub veröffentlicht.
  • Nutzer können VirtualBox und das KVM-Backend von Cyberus Technology über GitHub bauen und die verbesserten Funktionen direkt nutzen.
  • Die Roadmap für 2024 enthält weitere spannende Funktionen, und es sind zusätzliche Beiträge geplant, die bei jeder Veröffentlichung von Updates auf technische Details eingehen werden.

Support erhalten

  • Wenn Sie VirtualBox und KVM nutzen möchten oder eine maßgeschneiderte Virtualisierungslösung benötigen, steht Cyberus Technology mit Beratung und Engineering-Services bereit.
  • Nutzer, die Support erhalten möchten, können über das Support-Formular oder per E-Mail an service@cyberus-technology.de Kontakt aufnehmen.

GN⁺-Meinung:

  1. Die Open-Source-Veröffentlichung des KVM-Backends für VirtualBox ist ein wichtiger Fortschritt für die Weiterentwicklung von Virtualisierungstechnologien sowie für Nutzer- und Entwickler-Communities, die breitere Kompatibilität anstreben.
  2. Diese Ankündigung steht für technischen Fortschritt, da sie Leistungsverbesserungen bei virtuellen Maschinen, stärkere Sicherheit und eine breitere Unterstützung für Hardware- und Gast-Anwendungsfälle ermöglicht.
  3. Die Bemühungen von Cyberus Technology, zur Open-Source-Community beizutragen, dürften die Weiterentwicklung und Innovation von Open-Source-Software fördern.

1 Kommentare

 
GN⁺ 2024-02-09
Meinungen auf Hacker News
  • Wer VirtualBox nutzt, sollte beim Extension Pack vorsichtig sein. Oracle ist sehr klagefreudig.
    https://www.reddit.com/r/sysadmin/comments/147k6az/oracle_is...
    https://www.reddit.com/r/sysadmin/comments/d1ttzp/oracle_is_...
    https://www.theregister.com/2019/10/04/oracle_virtualbox_mer...
    In unserer Organisation haben wir VirtualBox verboten. VMware Workstation oder virt-manager sind deutlich günstiger, als sich mit Oracle auseinanderzusetzen.

    • Genau das wollte ich auch sagen. Bei uns war es genauso, und Oracle schien sich auf das Extension Pack zu versteifen, das die meisten VBox-Nutzer brauchen dürften.
      Deshalb mussten wir so schnell wie möglich dafür sorgen, dass es niemand mehr nutzt. Das gilt natürlich nicht nur für VBox, sondern genauso für Datenbanken; man fährt besser damit, sie einfach zu meiden.
    • Was passiert, wenn man Oracle einfach ignoriert? Haben sie tatsächlich die Macht, das durchzusetzen? Wenn sie den Download kostenlos anbieten, sollte er kostenlos sein.
      Man kann nicht jemandem auf der Straße eine Banane in die Hand drücken und drei Monate später zurückkommen und 1000 Dollar verlangen.
  • Endlich ist es da. Jedes Mal, wenn ich virtuelle Maschinen betreibe, wähle ich libvirt, weil es schneller und einfacher zu handhaben ist als VirtualBox, aber die GUI-Optionen waren wirklich dürftig.
    Selbst virt-manager, die „beste“ libvirt-GUI, ist voller Bugs und es fehlen Funktionen. Sie kommt mit HiDPI-Displays nicht gut zurecht, und es gibt zum Beispiel keine Möglichkeit, IPv6 zu konfigurieren.
    Ich habe mehrfach VirtualBox gewählt, obwohl die Performance schlechter ist als bei libvirt/KVM, einfach weil die Bedienung angenehmer ist. Jetzt scheint das nicht mehr nötig zu sein.

    • IPv6 wird unterstützt. Tatsächlich betreibe ich ein reines IPv6-Netzwerk, inklusive Hypervisor.
      $ virsh net-dumpxml default6
      default6
      73590ea2-eb15-4e67-b104-319721bdf302
      Bei Bedarf kann man auch DHCPv6 verwenden.
    • virt-manager kommt unter Wayland gut mit HiDPI zurecht. Umgekehrt ist die VirtualBox-GUI unter Wayland extrem buggy.
      Die beiden sind praktisch das genaue Gegenteil. Ich nutze virt-manager, weil die GUI einfacher ist, und die VirtualBox-Konfiguration ist ohnehin fast ein Albtraum.
      Jedenfalls ist diese Funktion ein Schritt in die richtige Richtung. Ich bin gespannt, ob Distributionen sie übernehmen und ob sie irgendwann upstream integriert wird.
    • Ich stimme zu 100 % zu, dass die GUI-Optionen furchtbar sind. Wenn ich tatsächlich virtuelle Maschinen verwalten musste, wollte ich mich nicht mit der Kommandozeile herumplagen, also habe ich libvirt komplett gemieden und bis vor Kurzem VMware genutzt.
      Damals war mein Haupt-PC Windows 10, und die Kommandozeilenumgebung unter Windows war ziemlich miserabel.
    • Ich fand virt-manager eigentlich in Ordnung, aber die konkret genannten Beschwerden wirken berechtigt.
    • Ich frage mich, welche Gäste du hauptsächlich laufen lässt, dass du mit libvirt/KVM eine bessere Performance gesehen hast.
  • Macht das VirtualBox im Grunde zu einem Ersatz für virt-manager und virsh?
    Soweit ich weiß, unterstützt VirtualBox kein PCI-Passthrough für Dinge wie GPUs; ich frage mich, wie solche Fälle gehandhabt werden.
    Unter Linux bin ich zu QEMU/KVM gewechselt und habe VirtualBox nicht mehr angerührt, aber unter Windows nutze ich VirtualBox und merke jedes Mal, dass die GUI viel besser und zugänglicher ist.
    Nebenbei habe ich gesehen, dass VirtualBox über das Extension Pack experimentelles PCI-Passthrough anbietet [0]. Lässt sich das auch mit dem KVM-Backend nutzen?
    [0] https://docs.oracle.com/en/virtualization/virtualbox/6.0/adm...

  • Der praktische Vorteil ist, dass man das vbox-Kernelmodul, einen Drittanbieter-Treiber, nicht bei jedem Kernel-Upgrade neu kompilieren muss. DKMS versucht das zwar ohne Eingriff des Administrators zu erledigen, ist aber nicht immer fehlerfrei.
    Gleichzeitig ist die VirtualBox-Anwendung darauf ausgelegt, gut in den Desktop integriert zu sein; per VNC auf den Gast zuzugreifen, ist daher kaum eine Alternative.
    Für FreeBSD wäre ein ähnlicher Ansatz für den bhyve-Hypervisor wünschenswert.
    Auch die Terminologiefrage ist interessant, wurde aber kürzlich schon im Zusammenhang mit dem Linux Direct Rendering Manager DRM behandelt. Diese Abkürzungen wurden in engeren Kreisen verwendet als in der „gesamten ICT“, und dasselbe galt für Keyboard-Video-Mouse-Geräte.
    Weniger als 1 % der Fachleute beschäftigen sich auf diesem Niveau mit Linux-Interna, und auch weniger als 1 % sind Vor-Ort-Ingenieure in Serverräumen; es gab also kein kollektives Bewusstsein für diese Begriffe, weshalb sie wiederverwendet wurden.
    LVM ist im Storage-Bereich bereits in Gebrauch, und LKVM könnte ebenfalls verwirrend sein.

    • Das für FreeBSD zu bauen, wäre ein großartiges Projekt. Es ist allerdings so umfangreich, dass es ohne irgendeine Form von Finanzierung kaum zu stemmen wäre.
    • Ich kann mir kaum vorstellen, eine Distribution zu nutzen, die DKMS- und Kernelmodul-Updates nicht zuverlässig handhabt. Unter NixOS hatte ich noch nie auch nur ein einziges DKMS-Problem.
      Downvotes machen deine Distribution auch nicht kompetenter.
  • Ich verstehe nicht, was das gegenüber dem bringt, was man unter Linux mit KVM und virt-manager ohnehin schon bekommt

    • Die Performance, wenn man Windows direkt in VirtualBox ausführt, ist sehr gut und meist besser als virt-manager (QEMU). QEMU kann mit gutem Tuning ebenfalls hervorragend performen, aber man muss etwas Hand anlegen
      VirtualBox ist insgesamt benutzerfreundlicher. Gast-Integration, Drag & Drop, Zwischenablage, USB-Passthrough und Audio-Unterstützung sind bei VBox ebenfalls sehr gut
    • Ich virtualisiere den Großteil meiner Desktop-Umgebung. Anfangs wollte ich auf KVM und virt-manager setzen, weil ich hauptsächlich einen Linux-Host und Linux-Gäste nutze, aber ich wusste nicht, wie ich damit die zwei Kernfunktionen bekommen sollte, die ich wollte: Verschlüsselung und Portabilität
      Die meisten virtuellen Maschinen sind verschlüsselt, sodass ich sie bedenkenlos mitnehmen kann. Verschiedene Geheimnisse sind zwar zusätzlich separat verschlüsselt, aber durch die Verschlüsselung der virtuellen Maschine selbst muss ich mir keine Sorgen machen, dass bei einem Geräteverlust am Flughafen Dinge offengelegt werden, auf die niemand Zugriff haben sollte
      Mit virt-manager und KVM gibt es zwar Möglichkeiten, aber keine hat mir gefallen. Ich wollte mich nicht auf Verschlüsselung auf Dateisystemebene des Hosts verlassen, es gab auch Portabilitätsprobleme, und weil ich früher mit Full-Disk-Encryption ein paar Probleme hatte, fühlte es sich unangenehm an, mich darauf zu stützen
      VirtualBox macht im Grunde ebenfalls Full-Disk-Encryption, aber sie ist für den Gast nicht sichtbar und wirkt zuverlässig
      In Sachen Portabilität sollte ich mit https://www.vbox.me/ die virtuelle Maschine und den Host auf einem Flash-Laufwerk installieren und meine Umgebung ohne zusätzliche Installation auf jedem Windows-Host ausführen können. Ich habe das noch nicht wirklich ausprobiert, aber es war ein großer Pluspunkt
      Inzwischen wird der Großteil meiner Umgebung automatisch mit Vagrant eingerichtet: https://github.com/robsheldon/vagrantfiles Damit bekomme ich auch einige Vorteile von virt-manager
      Mir gefällt es wirklich nicht, in irgendeiner Form von Oracle abhängig zu sein
    • Man kann eine ordentliche UI erwarten und, wenn möglich, Unterstützung für die Nutzung von VirtualBox-Appliances
  • KVM kenne ich nur im Kontext von Keyboard-Video-Monitor-Geräten; zum Konzept virtueller Maschinen scheint das nicht recht zu passen. Bedeutet es hier etwas anderes?

    • Ja, etwas ziemlich anderes. Im Grunde ist es ein Projekt, mit dem Linux als Hypervisor genutzt werden kann, und es ist sehr weit verbreitet
      https://en.m.wikipedia.org/wiki/Kernel-based_Virtual_Machine
    • Vereinfacht gesagt ist der Kontext folgender: In der Linux-Welt gibt es zwei große Hypervisoren
      Xen erweitert den Kernel, um virtuelle CPUs per Zeitscheiben zu unterstützen
      KVM weist jeden virtuellen Core als Prozess zu, der den Linux-Scheduler verwendet
      Wenn der vCPU-Core einer Hardware-VM präemptiert wird, löst das einen vmexit-Aufruf aus, bei dem Register usw. erneut eingerichtet werden müssen, und das ist teuer
      Frühere AWS-Instanzen liefen auf Xen, was den Vorteil hatte, dass Fairness zwischen Gästen leichter herzustellen war
      KVM hat den Vorteil, vom gut optimierten Linux-Scheduler auf Basis von Rot-Schwarz-Bäumen zu profitieren
      Wenn zum Beispiel eine neue CPU erscheint, bekommt KVM Unterstützung upstream, während Xen sie selbst unterstützen muss
      Mit Verbesserungen bei Technologien wie cgroups sorgte der Vorteil, Threads nicht wegen abgelaufener Zeitscheiben zu präemptieren, sondern sie fertig laufen zu lassen, dafür, vmexit-Kosten zu vermeiden
      Theoretisch dürfte es auch VirtualBox zugutekommen, im Kern optimierte Linux-Funktionen zu nutzen
      Die meisten Leute, die KVM verwenden, nutzen eine Abstraktionsschicht wie libvirt, die die Implementierungsdetails verbirgt
      Wenn man sich tatsächlich die Prozesse ansieht, sieht man vermutlich qemu, auch wenn die Implementierung KVM ist
    • Es steht für Kernel-Based Virtual Machine und ist eine VM-Engine, die es seit 2007 gibt: https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
    • https://linux-kvm.org/page/Main_Page
  • Das interessiert mich wirklich. Als Penetration Tester nutze ich ein Linux-Notebook und verbringe viel Zeit in einer Kali-VM in VirtualBox
    Mit welchem Performance-Gewinn kann man durch ein KVM-Backend ungefähr rechnen?

    • Zu diesem Setup hätte ich konkret eine Frage. Ich wollte aus Spaß in Pentesting einsteigen und habe beschlossen, als Einstieg mit HackTheBox herumzuspielen
      Da man sich mit deren VPN verbinden muss, schien es mir sinnvoll, diese Aktivitäten von meinem privaten Netzwerk zu trennen
      Mich würde interessieren, welche Netzwerkkonfiguration man für eine Pentesting-VM verwendet. Idealerweise soll die VM Zugriff aufs Internet und damit auf das HTB-VPN haben, aber keinen Zugriff auf mein lokales Netzwerk
      Ich bin mir allerdings nicht sicher, wie man das zuverlässig umsetzt. Vielleicht ist der Gedanke von vornherein zu paranoid, um praktisch sinnvoll zu sein; deshalb würde mich die Sicht eines Experten interessieren
      Normalerweise würde ich QEMU verwenden, aber wenn VirtualBox Funktionen enthält, die das einfacher machen, wäre VirtualBox in diesem Fall für mich in Ordnung
    • Das hängt von der Konfiguration und der Workload ab. Auf aktuellen Intel-CPUs sehen wir in unserem Performance-Dashboard bei einigen Benchmarks +10 %
      Allgemein lässt sich das allerdings schwer sagen
  • Früher haben einige unserer Kunden VBox genutzt, daher habe ich einmal zu libvirt beigetragen, um bestimmte VirtualBox-Funktionen zu unterstützen
    Wenn es das damals gegeben hätte, wäre es praktisch gewesen, und wir hätten alle Kunden dazu bringen können, KVM-VMs zu nutzen
    Glückwunsch zur Arbeit

  • Cool ist es schon, aber vielleicht bin ich inzwischen einfach alt und grantig: Vor 10 Jahren wäre das großartig gewesen. Interessiert das heute wirklich noch jemanden?

  • Heutzutage gibt es beim Virtualisieren einer Linux-GUI innerhalb von Linux auch deutlich bessere Wege als virt-manager, VMware oder VirtualBox
    Mit crosvm kann man Wayland über Shared-Memory-Buffer teilen und im Gast OpenGL- und Vulkan-Beschleunigung bekommen
    Dadurch erscheinen Gastanwendungen nahtlos über den Wayland-Compositor des Hosts

    • Stimmt, das ist tatsächlich ziemlich gut. Ich habe auch ein Chromebook, und die Integration von Linux-Apps ist wirklich nahtlos
      Allerdings ist der Hauptanwendungsfall von VBox größtenteils Windows