Machine virtuelle basée sur le noyau - Kernel-based Virtual Machine
Auteur (s) original (s) | Qumranet |
---|---|
Développeur (s) | La communauté du noyau Linux |
Dépôt | |
É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 |
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
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
- 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
- Amit Shah (02/11/2016). "Dix ans de KVM" . lwn.net . Récupéré 10/02/2017 .
Liens externes
- Site officiel
- Meilleures pratiques pour la machine virtuelle basée sur le noyau , IBM, deuxième édition, avril 2012
- Virtio-blk Performance Improvement , KVM Forum 2012, 8 novembre 2012, par Asias He
- Wikibook QEMU et KVM
- crosvm - moniteur de machine virtuelle Chrome OS
- Pétard VMM pour KVM