L'équipe NetBSD développe un nouvel hyperviseur NVMM

Les Développeurs de projets NetBSD récemment a annoncé la création d'un nouvel hyperviseur et sa pile de virtualisation associée, qui sont déjà inclus dans la branche expérimentale de NetBSD-current et sera proposé dans la version stable de NetBSD 9.

NVMM est encore limité à la prise en charge de l'architecture x86_64 et propose deux versions pour l'utilisation de mécanismes de virtualisation matérielle.

L'un d'eux est x86-SVM avec prise en charge de la virtualisation des processeurs AMD et des extensions x86-VMX pour les processeurs Intel.

Dans sa forme actuelle, jusqu'à 128 machines virtuelles peuvent être démarrées sur un hôte, chacun pouvant être alloué jusqu'à 256 cœurs de processeur virtuel (VCPU) et 128 Go de RAM.

À propos de l'hyperviseur NVMM

Dans la présentation de cet hyperviseur, les développeurs du projet NetBSD expliquent que NVMM comprend un pilote qui fonctionne au niveau du noyau système.

Et cela aussi coordonne l'accès aux mécanismes de virtualisation matériels et à la pile Libnvmm, qui s'exécute dans l'espace utilisateur.

L'interaction des composants du noyau et de l'espace utilisateur se fait via IOCTL.

 Une caractéristique de NVMM qui le distingue des hyperviseurs tels que KVM, HAXM et Bhyve est qu'au niveau du noyau, seul l'ensemble minimal requis de mécanismes de virtualisation matérielle est exécuté et tout le code d'émulation informatique est supprimé du noyau à ce moment-là. Espace utilisateur .

Cette approche réduit la quantité de code exécuté avec des privilèges élevés et réduit les risques que l'ensemble du système est compromis en cas d'attaques sur les vulnérabilités de l'hyperviseur.

De plus, le débogage du projet et les tests de confusion sont grandement simplifiés.

En même temps, Libnvmm lui-même ne contient pas de fonctions d'émulation, mais fournit uniquement une API qui permet d'intégrer le support NVMM dans les émulateurs existants, par exemple dans QEMU.

API de virtualisation

L'API couvre des fonctions telles que la création et l'exécution d'une machine virtuelle, l'allocation de mémoire au système invité et la distribution du VCPU.

Pour augmenter la sécurité et réduire les vecteurs d'attaque possibles, libnvmm ne fournit que les fonctions explicitement demandées.

Par défaut, les contrôleurs complexes ne sont pas appelés automatiquement et ne peuvent pas être utilisés du tout s'ils peuvent être supprimés.

NVMM essaie de faire des solutions simples, sans tomber dans les complications et vous permettant de contrôler autant d'aspects du travail que possible.

La partie au niveau du noyau de NVMM est assez bien intégrée au noyau NetBSD et vous permet d'obtenir de meilleures performances en réduisant le nombre de changements de contexte entre le système d'exploitation invité et l'environnement hôte.

Dans l'espace utilisateur, libnvmm essaie d'ajouter les opérations d'E / S typiques et sans avoir besoin de le faire, sans recourir aux appels système.

Performance

Contrairement aux autres pilotes pseudo-noyau multiplateformes, comme VirtualBox ou HAXM, NVMM est bien intégré au noyau NetBSD et ceci permet d'optimiser les changements contexte entre les invités et l'hôte, pour éviter des opérations coûteuses dans certains cas.

Sécurité

Le système d'allocation de mémoire est basé sur le sous-système pmap, que vous permet de déplacer les pages de la mémoire invité vers la partition de swap en cas de manque de mémoire dans le système.

NVMM est libre de verrous et d'échelles globales, vous permettant d'utiliser simultanément différents cœurs de processeur pour exécuter différentes machines virtuelles invitées.

Sur la base de QEMU, une solution a été préparée à l'aide de NVMM pour activer les mécanismes de virtualisation matérielle.

Des travaux sont en cours pour intégrer les patchs préparés dans l'équipement principal QEMU.

El Paquete QEMU + NVMM vous permet déjà d'exécuter avec succès des systèmes invités avec FreeBSD, OpenBSD, Linux, Windows XP / 7 / 8.1 / 10 et autres systèmes d'exploitation sur des systèmes x86_64 avec des processeurs AMD et Intel (NVMM lui-même n'est pas lié à une architecture spécifique).

Le backend pourra fonctionner sur les systèmes ARM64). À partir de domaines d'application supplémentaires, NVMM a également examiné l'isolation dans la zone de test d'application individuelle.

source: http://blog.netbsd.org


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.