1 points par GN⁺ 2024-02-09 | 1 commentaires | Partager sur WhatsApp

Lancement public de VirtualBox KVM

  • Cyberus Technology a publié en open source le backend KVM de VirtualBox.
  • VirtualBox est un moniteur de machines virtuelles (VMM) multiplateforme qui prend en charge divers systèmes d’exploitation invités et offre une interface utilisateur cohérente sur plusieurs systèmes d’exploitation hôtes.
  • Grâce au backend KVM, VirtualBox peut utiliser l’hyperviseur KVM de Linux pour exécuter des machines virtuelles, à la place du module noyau personnalisé utilisé par la version standard de VirtualBox.

Publication en open source

  • Afin de tenir son engagement envers l’open source, Cyberus Technology a publié le backend KVM sous licence open source sur GitHub.
  • Les utilisateurs peuvent compiler VirtualBox et le backend KVM de Cyberus Technology depuis GitHub afin de profiter directement de fonctionnalités améliorées.
  • La feuille de route 2024 comprend encore davantage de fonctionnalités intéressantes, et des billets supplémentaires traitant des aspects techniques seront publiés à mesure que les mises à jour sortiront.

Obtenir de l’aide

  • Pour utiliser VirtualBox et KVM, ou si vous avez besoin d’une solution de virtualisation sur mesure, Cyberus Technology est prêt à fournir des conseils et des services d’ingénierie.
  • Les utilisateurs souhaitant obtenir de l’aide peuvent prendre contact via le formulaire de support ou à l’adresse service@cyberus-technology.de.

Avis de GN⁺ :

  1. La publication en open source du backend KVM de VirtualBox constitue une avancée importante pour l’évolution des technologies de virtualisation ainsi que pour les communautés d’utilisateurs et de développeurs en quête d’une compatibilité plus large.
  2. Cette annonce représente un progrès technique en rendant possibles de meilleures performances des machines virtuelles, un renforcement de la sécurité et un élargissement de la prise en charge du matériel et des cas d’usage côté invité.
  3. Les efforts de Cyberus Technology pour contribuer à la communauté open source devraient favoriser le développement et l’innovation dans le logiciel open source.

1 commentaires

 
GN⁺ 2024-02-09
Réactions sur Hacker News
  • Les utilisateurs de VirtualBox doivent faire attention à l’Extension Pack. Oracle est très agressif sur le plan judiciaire
    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...
    Dans notre organisation, VirtualBox a été interdit. Ça revient bien moins cher d’utiliser VMware Workstation ou virt-manager que d’avoir affaire à Oracle

    • C’est exactement ce que j’allais dire. Même chose ici, et Oracle semblait obsédé par l’Extension Pack dont la plupart des utilisateurs de VBox ont besoin
      Donc il a fallu empêcher tout le monde de l’utiliser le plus vite possible. Et ça ne se limite évidemment pas à VBox : c’est pareil pour les bases de données, donc autant éviter Oracle tout court
    • Qu’est-ce qui se passe si on ignore simplement Oracle ? Ont-ils vraiment un moyen de faire appliquer ça ? Si le téléchargement était gratuit, ça devrait être gratuit
      On ne peut pas donner une banane à quelqu’un dans la rue puis revenir 3 mois plus tard pour lui réclamer 1 000 dollars
  • Enfin. Chaque fois que je fais tourner des machines virtuelles, je choisis libvirt parce que c’est plus performant et plus simple à gérer que VirtualBox, mais les options de GUI étaient vraiment médiocres
    Même virt-manager, le « meilleur » GUI pour libvirt, est plein de bugs et manque de fonctionnalités. Il ne s’adapte pas bien aux écrans HiDPI et, par exemple, il n’y a aucun moyen de configurer IPv6
    J’ai plusieurs fois choisi VirtualBox simplement parce qu’il était plus agréable à utiliser, même avec des performances inférieures à libvirt/KVM, mais ça ne semble plus nécessaire maintenant

    • IPv6 est pris en charge. En fait, j’exploite un réseau IPv6 uniquement jusqu’à l’hyperviseur inclus
      $ virsh net-dumpxml default6
      default6
      73590ea2-eb15-4e67-b104-319721bdf302
      On peut aussi utiliser DHCPv6 si nécessaire
    • virt-manager fonctionne bien avec le HiDPI sous Wayland. À l’inverse, le GUI de VirtualBox est extrêmement buggé sous Wayland
      C’est pratiquement l’inverse exact. J’utilise virt-manager parce que son GUI est plus simple, et de toute façon la configuration de VirtualBox relève elle aussi du cauchemar
      Quoi qu’il en soit, cette fonctionnalité est un pas dans la bonne direction. Je me demande si les distributions vont l’adopter et si cela finira par être intégré en amont
    • Entièrement d’accord sur le fait que les options de GUI sont affreuses. J’ai même complètement évité libvirt parce que je n’avais pas envie de me battre avec la ligne de commande quand il fallait vraiment gérer des machines virtuelles, et j’ai utilisé VMware jusqu’à récemment
      À l’époque, mon PC principal tournait sous Windows 10, et l’environnement en ligne de commande de Windows était assez mauvais
    • Je trouvais virt-manager correct, mais les reproches formulés en détail ici me paraissent justifiés
    • Je serais curieux de savoir quels invités ils faisaient surtout tourner pour constater de meilleures performances avec libvirt/KVM
  • Est-ce que ça transforme en pratique VirtualBox en remplaçant de virt-manager et de virsh ?
    Si je ne me trompe pas, VirtualBox ne prend pas en charge le PCI passthrough pour les GPU par exemple, donc je me demande comment ces cas sont gérés
    Sous Linux, je suis passé à QEMU/KVM et je n’ai jamais regardé en arrière, mais sous Windows j’utilise toujours VirtualBox, et à chaque fois je constate que son GUI est bien meilleur et plus accueillant
    Après vérification, il semble que VirtualBox propose bien un PCI passthrough expérimental via l’Extension Pack [0]. Est-ce que cela peut aussi être utilisé avec le backend KVM ?
    [0] https://docs.oracle.com/en/virtualization/virtualbox/6.0/adm...

  • L’avantage pratique, c’est qu’il n’est plus nécessaire de recompiler les modules noyau vbox, des pilotes tiers, à chaque mise à niveau du noyau. DKMS essaie de s’en charger sans intervention de l’administrateur, mais ce n’est pas toujours exempt de bugs
    En revanche, l’application VirtualBox a été conçue pour bien s’intégrer au bureau, donc se connecter aux invités en VNC n’est pas vraiment une alternative
    Ce serait bien de voir un effort similaire autour de l’hyperviseur bhyve du côté de FreeBSD
    La question terminologique est aussi intéressante, mais elle a déjà été abordée récemment à propos du DRM, le gestionnaire de rendu direct de Linux. Ces sigles étaient utilisés par des groupes plus restreints que « l’ensemble des TIC », et c’était aussi le cas des périphériques clavier-vidéo-souris
    Les experts capables de manipuler les entrailles de Linux à ce niveau ne représentent même pas 1 %, et les ingénieurs de terrain en salle serveur moins de 1 % également, donc il n’existait pas de conscience collective de ces termes et ils ont été réemployés
    LVM est déjà utilisé côté stockage, et LKVM pourrait aussi prêter à confusion

    • En faire quelque chose pour FreeBSD serait un excellent projet. Mais l’ampleur est telle qu’il serait difficile de le mener sans financement d’une manière ou d’une autre
    • J’ai du mal à imaginer utiliser une distribution incapable de gérer de façon fiable DKMS et les mises à jour de modules noyau. Je n’ai pas eu un seul problème avec DKMS sur NixOS
      Ce n’est pas en downvotant que votre distribution deviendra plus compétente
  • Je ne vois pas bien ce que cela apporte de plus par rapport à ce qu’on obtient déjà sous Linux avec KVM et virt-manager

    • Les performances quand on exécute directement Windows dans VirtualBox sont très bonnes, et généralement meilleures qu’avec virt-manager (QEMU). QEMU peut aussi offrir d’excellentes performances avec un bon réglage, mais il faut y mettre les mains.
      VirtualBox est globalement plus convivial. L’intégration invité, le glisser-déposer, le presse-papiers, le pass-through USB et la prise en charge audio y sont aussi très bons
    • Je virtualise la plupart de mes environnements de bureau. Au départ, comme j’utilisais surtout un hôte Linux et des invités Linux, je voulais partir sur KVM et virt-manager, mais je ne voyais pas comment obtenir les deux fonctionnalités clés que je voulais, à savoir le chiffrement et la portabilité, avec cette approche.
      La plupart de mes machines virtuelles sont chiffrées, ce qui me rassure quand je les transporte. D’autres informations sensibles sont aussi chiffrées séparément, mais le chiffrement de la machine virtuelle elle-même m’évite de m’inquiéter qu’une perte d’appareil à l’aéroport expose des choses qui ne devraient pas être accessibles.
      Il existe des moyens de le faire avec virt-manager et KVM, mais aucun ne me convenait. Je ne voulais pas dépendre du chiffrement au niveau du système de fichiers de l’hôte, il y avait des problèmes de portabilité, et j’avais déjà eu quelques soucis avec le chiffrement complet du disque, donc je n’étais pas à l’aise à l’idée de m’y reposer.
      VirtualBox aussi fait essentiellement du chiffrement complet du disque, mais cela n’est pas visible pour l’invité et cela paraît stable.
      Côté portabilité, avec https://www.vbox.me/, on peut installer la machine virtuelle et l’hôte sur une clé USB et, en théorie, exécuter mon environnement sur n’importe quel hôte Windows sans installation supplémentaire. Je ne l’ai pas encore fait en pratique, mais c’était un gros avantage.
      Aujourd’hui, la plupart de mes environnements sont provisionnés automatiquement avec Vagrant : https://github.com/robsheldon/vagrantfiles donc j’obtiens aussi une partie des avantages de virt-manager.
      Cela dit, je n’aime vraiment pas dépendre de quoi que ce soit venant d’Oracle
    • On peut espérer une UI correcte et, si possible, la prise en charge des appliances VirtualBox
  • Je n’avais entendu parler de KVM que dans le contexte des appareils clavier-vidéo-moniteur, donc ça ne colle pas très bien avec l’idée de machine virtuelle. Cela veut dire autre chose ici ?

    • Oui, c’est assez différent. En gros, c’est un projet qui permet d’utiliser Linux comme hyperviseur, et il est très largement utilisé.
      https://en.m.wikipedia.org/wiki/Kernel-based_Virtual_Machine
    • Pour simplifier, le contexte est le suivant. Dans le monde Linux, il y a deux grands hyperviseurs.
      Xen étend le noyau pour prendre en charge des CPU virtuels par tranches de temps.
      KVM assigne chaque cœur virtuel à un processus utilisant l’ordonnanceur Linux.
      Si le vCPU d’une machine virtuelle matérielle est préempté, cela déclenche un appel vmexit, coûteux, car il faut reconfigurer les registres, etc.
      Les anciennes instances AWS tournaient sur Xen, avec l’avantage qu’il était plus facile d’assurer l’équité entre invités.
      KVM bénéficie du scheduler Linux, bien optimisé et fondé sur un arbre rouge-noir.
      Par exemple, lorsqu’un nouveau CPU sort, KVM bénéficie du support en amont, tandis que Xen doit l’implémenter lui-même.
      À mesure que des technologies comme les cgroups se sont améliorées, le fait de laisser un thread aller au bout sans être préempté à l’expiration de sa tranche de temps a permis d’éviter le coût des vmexit.
      En théorie, le fait de s’appuyer sur des fonctionnalités fondamentales de Linux déjà optimisées devrait aussi profiter à VirtualBox.
      La plupart des gens qui utilisent KVM passent par une couche d’abstraction comme libvirt, qui masque les détails de l’implémentation.
      En pratique, si vous regardez les processus, vous verrez probablement qemu, même si l’implémentation sous-jacente est KVM
    • Cela signifie Kernel-Based Virtual Machine, et c’est un moteur de machine virtuelle qui existe depuis 2007 : https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
    • https://linux-kvm.org/page/Main_Page
  • C’est précisément ce qui m’intéresse. En tant que pentester, j’utilise un portable Linux et je passe beaucoup de temps dans une VM Kali sous VirtualBox.
    Quel gain de performances peut-on espérer avec un backend KVM ?

    • J’aimerais poser une question plus précise à propos de cette configuration. J’avais envie de m’initier au pentest pour le fun et j’ai décidé de commencer avec HackTheBox.
      Comme il faut se connecter à leur VPN, il me semblait judicieux d’isoler cette activité de mon réseau personnel.
      Je suis curieux de savoir quelle configuration réseau vous utilisez pour une VM de pentest. Idéalement, je voudrais que la VM puisse accéder à Internet, et donc au VPN HTB, mais pas à l’intérieur de mon réseau local.
      En revanche, je ne vois pas très bien comment mettre cela en place de façon fiable. C’est peut-être une inquiétude trop paranoïaque et peu pratique au départ, donc j’aimerais avoir l’avis de quelqu’un d’expérimenté.
      J’utiliserais normalement QEMU, mais si VirtualBox inclut des fonctions qui facilitent cela, alors VirtualBox pourrait aussi convenir dans ce cas
    • Cela dépend de la configuration et de la charge. Sur des CPU Intel récents, notre tableau de bord de performances montre +10 % sur certains benchmarks.
      Cela dit, c’est difficile à généraliser
  • Par le passé, certains clients utilisaient VBox, et j’ai contribué à libvirt pour prendre en charge certaines fonctionnalités de VirtualBox.
    Si cela avait existé à l’époque, cela nous aurait simplifié la vie et nous aurions pu faire passer tous les clients sur des VM KVM.
    Bravo pour le travail

  • C’est sympa, mais je ne sais pas si c’est juste que je suis devenu vieux et grincheux : il y a 10 ans, ça aurait été énorme. Aujourd’hui, est-ce que ça intéresse vraiment encore du monde ?

  • De nos jours, pour virtualiser un Linux GUI dans Linux, on peut faire bien mieux que virt-manager, VMware ou VirtualBox.
    Avec crosvm, on peut partager Wayland via des tampons en mémoire partagée, et obtenir aussi l’accélération OpenGL et Vulkan dans l’invité.
    Les applications invitées apparaissent alors de manière fluide via le compositeur Wayland de l’hôte

    • Oui, c’est effectivement assez impressionnant. J’ai aussi un Chromebook, et l’intégration des applis Linux y est vraiment fluide.
      Cela dit, le principal cas d’usage de VBox reste surtout Windows