La forme complète de KVM est Kernel Virtual Machine. Il s’agit de la solution de virtualisation pour Linux. KVM est un module du noyau Linux qui permet au noyau Linux d’agir comme un programme hyperviseur comme VMware ESXi ou VSphere.
Dans cet article, je vais vous montrer comment installer KVM sur Ubuntu 20.04 LTS et créer une machine virtuelle KVM simple avec. Alors, commençons.
- Activer la virtualisation matérielle :
- Mise à niveau du système :
- Installation de KVM :
- Installation de LibVirt:
- Configuration des répertoires KVM requis:
- Création d’une machine virtuelle KVM:
- Lister les machines virtuelles KVM :
- Connexion aux machines virtuelles KVM à distance avec VNC:
- Suppression de machines virtuelles KVM:
- Issue#1 : Fixing cpu->kvm_msr_buf->nmsrs Assertion Error
- Conclusion:
Activer la virtualisation matérielle :
Vous devez activer l’extension de virtualisation matérielle à partir du BIOS de votre ordinateur pour que KVM fonctionne. Pour les processeurs Intel, vous devez activer la fonctionnalité du processeur VT-x ou VT-d à partir du BIOS. Pour les processeurs AMD, vous devez activer la fonction de processeur AMD-v à partir du BIOS.
Une fois que vous avez activé la virtualisation matérielle dans le BIOS, exécutez la commande suivante pour vérifier si l’extension VT-x/VT-d ou AMD-v est activée.
Vous devriez avoir l’indicateur svm ou vmx disponible dans la sortie si la virtualisation matérielle est activée dans le BIOS.
J’utilise un processeur AMD. Donc, le drapeau svm est disponible dans mon cas. Si vous utilisez un processeur Intel, alors ce sera vmx.
Mise à niveau du système :
Avant d’installer KVM, vous devez mettre à niveau les paquets logiciels de votre Ubuntu 20.04 LTS.
D’abord, mettez à jour le cache du dépôt de paquets APT d’Ubuntu 20.04 LTS avec la commande suivante:
Le cache du dépôt de paquets APT d’Ubuntu 20.04 LTS devrait être mis à jour.
Comme vous pouvez le voir, tous les paquets de ma machine Ubuntu 20.04 LTS sont déjà à jour. Donc, je n’ai pas à faire quoi que ce soit.
Si vous avez des mises à jour disponibles, vous pouvez appliquer ces mises à jour avec la commande suivante :
Puis, appuyez sur Y et ensuite sur <Enter> pour confirmer l’installation.
Une fois les mises à jour installées, redémarrez votre ordinateur avec la commande suivante :
Installation de KVM :
Les paquets KVM sont disponibles dans le dépôt de paquets officiel d’Ubuntu 20.04 LTS.
Vous pouvez installer KVM sur votre Ubuntu 20.04 LTS avec la commande suivante:
Pour confirmer l’installation, appuyez sur Y et ensuite sur <Enter>.
Le gestionnaire de paquets APT devrait télécharger tous les paquets requis depuis internet.
Une fois les paquets téléchargés, le gestionnaire de paquets APT les installera.
À ce stade, KVM devrait être installé.
Installation de LibVirt:
LibVirt est un outil pour créer et gérer des machines virtuelles KVM et configurer KVM. C’est un outil indispensable pour la virtualisation avec KVM.
LibVirt est disponible dans le dépôt de paquets officiel d’Ubuntu 20.04 LTS.
Pour installer LibVirt, exécutez la commande suivante :
Pour confirmer l’installation, appuyez sur Y puis sur <Enter>.
Le gestionnaire de paquets APT devrait télécharger et installer tous les paquets requis depuis internet.
LibVirt devrait être installé à ce stade.
Une fois LibVirt installé, ajoutez votre utilisateur de connexion au groupe libvirt avec la commande suivante :
Puis, redémarrez votre ordinateur avec la commande suivante pour que les changements prennent effet.
Une fois que votre ordinateur démarre, exécutez la commande suivante pour confirmer que LibVirt fonctionne.
La commande devrait retourner le numéro de version de LibVirt. Dans mon cas, c’est 6.0.0.
Configuration des répertoires KVM requis:
Je pense que c’est une bonne idée de garder toutes les données de la machine virtuelle organisées. Je garde généralement toutes les données de la machine virtuelle KVM dans le répertoire /kvm/. Dans le répertoire /kvm/, je crée 2 sous-répertoires disk/ et iso/. Dans le sous-répertoire disk/, je conserve tous les fichiers du disque dur de la machine virtuelle (VM). Dans le sous-répertoire iso/, je conserve les images d’installation ISO de différents systèmes d’exploitation (c’est-à-dire Ubuntu, Debian, CentOS, etc.).
Vous pouvez créer les mêmes structures de répertoire avec la commande suivante:
Création d’une machine virtuelle KVM:
Dans cette section, je vais vous montrer comment créer une machine virtuelle KVM Ubuntu Server 20.04 LTS.
D’abord, vous devez télécharger l’image d’installation ISO Ubuntu Server 20.04 LTS. Pour garder tous les fichiers/données de la machine virtuelle organisés, c’est une bonne idée de stocker l’image ISO dans le répertoire /kvm/iso/.
Donc, naviguez dans le répertoire /kvm/iso/ avec la commande suivante :
Vous pouvez télécharger l’image ISO du serveur Ubuntu 20.04 LTS ISO image à partir du site officiel d’Ubuntu avec la commande suivante:
wget devrait commencer à télécharger l’image ISO Ubuntu Server 20.04 LTS. Cela prendra un certain temps pour se terminer.
Une fois que l’image ISO d’Ubuntu Server 20.04 LTS est téléchargée, vous pouvez créer une machine virtuelle KVM avec la commande suivante:
–os-type linux \
–os-variant ubuntu20.04 \
–ram 1024 \
–disk /kvm/disk/server-01.img,device=disk,bus=virtio,size=10,format=qcow2 \
–graphics vnc,listen=0.0.0.0 \
–noautoconsole \
–hvm \
–cdrom /kvm/iso/ubuntu-20.04.1-live-server-amd64.iso \
–boot cdrom,hd
Ici, le nom de la machine virtuelle sera server-01.
Le système d’exploitation que nous allons installer est linux.
La variante du système d’exploitation est ubuntu20.04 (Ubuntu 20.04 LTS).
Les valeurs de type d’OS et de variante d’OS ne sont pas aléatoires. Vous pouvez trouver le type d’OS et la variante d’OS pour votre distribution Linux souhaitée avec la commande osinfo-query. Comme vous pouvez le voir, pour Ubuntu 20.04 LTS, le type d’OS en linux et la variante d’OS est ubuntu20.04.
Si vous n’avez pas la commande osinfo-query disponible sur votre ordinateur, vous pouvez l’installer avec la commande suivante :
La RAM (Random Access Memory) de la VM sera de 1024 MB (Megabytes).
Le disque virtuel de la VM sera enregistré dans le fichier /kvm/disk/server-01.img. Le disque virtuel a une taille d’environ 10 Go, et le format est QCOW2 (QEMU Copy-On-Write v2)
La machine virtuelle sera accessible via le protocole de bureau à distance VNC (Virtual Network Computing), et le serveur VNC écoutera sur toutes les interfaces réseau disponibles configurées sur votre Ubuntu 20.04 LTS hôte KVM.
L’hôte KVM d’Ubuntu 20.04 LTS ne tentera pas automatiquement de se connecter à la machine virtuelle une fois celle-ci créée. La machine virtuelle continuera à fonctionner en arrière-plan.
Utiliser la virtualisation complète pour la machine virtuelle. Cela rendra les machines virtuelles plus performantes.
Utiliser l’image ISO Ubuntu Server 20.04 LTS que nous venons de télécharger comme CD/DVD ROM virtuel de la machine virtuelle et utilisée pour installer Ubuntu Server 20.04 LTS sur la machine virtuelle.
Définit l’ordre de démarrage de la machine virtuelle. La première entrée de démarrage est le CD/DVD ROM virtuel et ensuite le disque dur virtuel. Ainsi, la machine virtuelle pourra démarrer à partir de l’image ISO d’Ubuntu Server 20.04 LTS et installer Ubuntu Server 20.04 LTS sur le disque dur.
C’est essentiellement toutes les options dont vous avez besoin pour créer une machine virtuelle KVM.
Une fois que vous exécutez la commande virt-install, KVM devrait commencer à créer la machine virtuelle. Cela peut prendre un certain temps selon la configuration de votre machine virtuelle.
À ce stade, la machine virtuelle KVM devrait être créée.
Lister les machines virtuelles KVM :
Une fois que la machine virtuelle KVM est créée, vous pouvez la lister avec la commande suivante :
La commande devrait vous montrer toutes les machines virtuelles KVM que vous avez. Pour l’instant, je n’ai qu’une seule machine virtuelle server-01. C’est celle que je viens de créer. Comme vous pouvez le voir, la machine virtuelle server-01 est en cours d’exécution. Vous devriez pouvoir vous y connecter en utilisant n’importe quel client VNC.
Connexion aux machines virtuelles KVM à distance avec VNC:
Dans cette section, je vais vous montrer comment vous connecter à votre machine virtuelle KVM à distance avec VNC.
Vous pouvez trouver le numéro de port VNC de la machine virtuelle KVM server-01 avec la commande suivante :
Comme vous pouvez le voir, le numéro de port VNC de la machine virtuelle server-01 est 0.
Ici, le port 0 signifie le port 5900. De la même manière, le port 1 signifie le port 5901 et ainsi de suite.
Maintenant, trouvez l’adresse IP de votre hôte KVM Ubuntu 20.04 LTS avec la commande suivante :
Dans mon cas, l’adresse IP est 192.168.20.131. Elle sera différente pour vous. Assurez-vous donc de la remplacer par la vôtre à partir de maintenant.
Ouvrez n’importe quel client VNC et connectez-vous à l’adresse 192.168.20.131:0.
Cliquez sur Continuer.
Vous devriez être connecté à l’écran de la machine virtuelle KVM du serveur-01, comme vous pouvez le voir dans la capture d’écran ci-dessous.
Maintenant, vous pouvez installer votre système d’exploitation souhaité sur la machine virtuelle.
Dans mon cas, je vais installer le système d’exploitation Ubuntu Server 20.04 LTS sur la machine virtuelle.
Ubuntu Server 20.04 LTS est installé sur la machine virtuelle à ce stade. Redémarrons la machine virtuelle.
Passez <Enter> lorsque vous voyez ce message.
La machine virtuelle KVM server-01 devrait être mise hors tension automatiquement, comme vous pouvez le voir dans la capture d’écran ci-dessous.
Démarrez la machine virtuelle KVM server-01 avec la commande suivante :
La machine virtuelle server-01 devrait être démarrée.
Maintenant, vous pouvez vous connecter à la machine virtuelle server-01 depuis un client VNC comme auparavant. Comme vous pouvez le voir, l’écran de connexion du serveur Ubuntu 20.04 LTS s’affiche.
Vous pouvez vous connecter et exécuter toutes les commandes que vous voulez.
Suppression de machines virtuelles KVM:
Vous pouvez également supprimer une machine virtuelle KVM très facilement en utilisant LibVirt.
Comme vous pouvez le voir, j’ai 2 machines virtuelles KVM (serveur-01 et serveur-02) fonctionnant sur mon hôte KVM Ubuntu 20.04 LTS. Supprimons la machine virtuelle KVM server-02.
Comme vous pouvez le voir, la machine virtuelle KVM server-02 est en cours d’exécution. Vous devez l’arrêter avant de la supprimer.
Pour arrêter de force la machine virtuelle KVM server-02, exécutez la commande suivante :
Comme vous pouvez le voir, la machine virtuelle server-02 est mise hors tension.
Vous pouvez supprimer définitivement la machine virtuelle server-02 et tous ses disques durs virtuels attachés avec la commande suivante :
Comme vous pouvez le voir, la machine virtuelle server-02 n’est plus disponible.
Issue#1 : Fixing cpu->kvm_msr_buf->nmsrs Assertion Error
Lors de la création d’une machine virtuelle KVM sur Ubuntu 20.04 LTS, vous pouvez voir le message d’erreur suivant. Il s’agit d’un bogue du noyau. Habituellement, cela se produit lorsque vous exécutez KVM à l’intérieur d’une autre machine virtuelle. J’exécute KVM à l’intérieur d’une machine virtuelle VMware. C’est pourquoi j’ai eu cette erreur, je crois. Il est facile à corriger.
Créer un nouveau fichier /etc/modprobe.d/qemu-system-x86.conf avec la commande suivante:
Ajoutez les lignes suivantes dans le fichier si vous utilisez un processeur AMD.
options kvm ignore_msrs=1
Ajoutez les lignes suivantes dans le fichier si vous utilisez un processeur Intel.
options kvm ignore_msrs=1
Une fois que vous avez terminé, appuyez sur <Ctrl> + X suivi de Y et <Enter> pour enregistrer le fichier /etc/modprobe.d/qemu-system-x86.conf.
Puis, redémarrez votre ordinateur avec la commande suivante pour que les changements prennent effet.
Votre problème devrait être résolu.
Conclusion:
Dans cet article, je vous ai montré comment installer KVM sur Ubuntu 20.04 LTS et créer des machines virtuelles KVM en utilisant LibVirt. Je vous ai également montré comment supprimer les machines virtuelles KVM. Cela devrait vous aider à démarrer avec la virtualisation KVM de Linux.