Publication publique de VirtualBox KVM
(cyberus-technology.de)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⁺ :
- 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.
- 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é.
- 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
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
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
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
$ virsh net-dumpxml default6default673590ea2-eb15-4e67-b104-319721bdf302On peut aussi utiliser DHCPv6 si nécessaire
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
À l’époque, mon PC principal tournait sous Windows 10, et l’environnement en ligne de commande de Windows était assez mauvais
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
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
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
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
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 ?
https://en.m.wikipedia.org/wiki/Kernel-based_Virtual_Machine
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
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 ?
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 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
Cela dit, le principal cas d’usage de VBox reste surtout Windows