Machine virtuelle basée sur le noyau - Kernel-based Virtual Machine

KVM
Kvmbanner-logo2 1.png
Kvm exécutant divers invités.png
Capture d'écran de QEMU / KVM exécutant des invités NetBSD , OpenSolaris et Kubuntu sur un hôte Arch Linux .
Auteur (s) original (s) Qumranet
Développeur (s) La communauté du noyau Linux
Dépôt Modifiez ceci sur Wikidata
Écrit en C
Système opérateur Unix-like
Plate-forme BRAS , IA-64 , PowerPC , S / 390 , x86 , x86-64
Taper Hyperviseur
Licence GNU GPL ou LGPL
Site Internet www .linux-kvm .org

La machine virtuelle basée sur le noyau ( KVM ) est un module de virtualisation du noyau Linux qui permet au noyau de fonctionner comme un hyperviseur . Il a été fusionné dans le noyau Linux principal dans la version 2.6.20, qui a été publié le 5 février 2007. KVM nécessite un processeur avec des extensions de virtualisation matérielle , telles que Intel VT ou AMD-V . KVM a également été porté sur d'autres systèmes d'exploitation tels que FreeBSD et illumos sous la forme de modules de noyau chargeables.

KVM a été conçu à l'origine pour les processeurs x86 , mais a depuis été porté sur S / 390 , PowerPC , IA-64 et ARM .

KVM fournit une virtualisation assistée par matériel pour une grande variété de systèmes d'exploitation invités, notamment Linux, BSD , Solaris , Windows , Haiku , ReactOS , Plan 9 , AROS Research Operating System et macOS . De plus, Android 2.2, GNU / Hurd ( Debian K16), Minix 3.1.2a, Solaris 10 U3 et Darwin 8.0.1, ainsi que d'autres systèmes d'exploitation et certaines versions plus récentes de ceux-ci répertoriés, sont connus pour fonctionner avec certaines limitations.

De plus, KVM prend en charge la paravirtualisation pour les invités Linux, OpenBSD , FreeBSD, NetBSD , Plan 9 et Windows à l'aide de l' API VirtIO . Cela inclut une carte Ethernet paravirtuelle , un contrôleur d'E / S de disque, un pilote de bulle et une interface graphique VGA utilisant des pilotes SPICE ou VMware .

Histoire

Avi Kivity a commencé le développement de KVM à la mi-2006 chez Qumranet , une start-up technologique acquise par Red Hat en 2008.

KVM a fait surface en octobre 2006 et a été fusionné dans la ligne principale du noyau Linux dans la version 2.6.20 du noyau, qui a été publiée le 5 février 2007.

KVM est maintenu par Paolo Bonzini.

Internes

Un aperçu de haut niveau de l'environnement de virtualisation KVM / QEMU

KVM fournit une abstraction de périphérique mais aucune émulation de processeur. Il expose l' interface / dev / kvm , qu'un hôte en mode utilisateur peut ensuite utiliser pour:

  • Configurez l'espace d'adressage de la machine virtuelle invitée. L'hôte doit également fournir une image du micrologiciel (généralement un BIOS personnalisé lors de l'émulation de PC) que l'invité peut utiliser pour démarrer dans son système d'exploitation principal.
  • Alimentez les E / S simulées par l'invité.
  • Mappez l'affichage vidéo de l'invité sur l'hôte système.

Sous Linux, les versions 0.10.1 et ultérieures de QEMU font partie de ces hôtes d'espace utilisateur. QEMU utilise KVM lorsqu'il est disponible pour virtualiser les invités à des vitesses quasi-natives, mais revient autrement à l'émulation logicielle uniquement.

En interne, KVM utilise SeaBIOS comme une implémentation open source d'un BIOS x86 16 bits .

Caractéristiques

KVM prend en charge les processeurs virtuels hot-plug , la gestion dynamique de la mémoire et la migration en direct depuis février 2007. Impact de la charge de travail intensive en écriture mémoire dans le processus de migration

Matériel émulé

KVM lui-même émule très peu de matériel, se reportant à la place à une application client de niveau supérieur telle que QEMU , crosvm ou Firecracker pour l'émulation de périphérique.

KVM fournit les périphériques émulés suivants:

  • CPU et mémoire virtuelle
  • VirtIO

Outils de gestion graphique

libvirt prend en charge KVM
  • Kimchi  - outil de gestion de virtualisation basé sur le Web pour KVM
  • Virtual Machine Manager  - prend en charge la création, la modification, le démarrage et l'arrêt des machines virtuelles basées sur KVM, ainsi que la migration par glisser-déposer en direct ou à froid des machines virtuelles entre les hôtes.
  • Environnement virtuel Proxmox  - un package de gestion de virtualisation open source comprenant KVM et LXC . Il dispose d'un programme d'installation sans système d'exploitation, d'une interface graphique de gestion à distance basée sur le Web, d'une pile de cluster haute disponibilité, d'un stockage unifié, d'un réseau flexible et d'un support commercial en option.
  • OpenQRM  - plateforme de gestion pour la gestion d'infrastructures de centres de données hétérogènes.
  • GNOME Boxes  - Interface Gnome pour la gestion des invités libvirt sous Linux.
  • oVirt  - outil de gestion de virtualisation open-source pour KVM basé sur libvirt

Licence

Le composant en mode noyau de KVM fait partie du noyau Linux , lui-même sous licence GNU General Public License, version 2 .

Voir également

Les références

Bibliographie

Liens externes