Comment installer KVM / QEMU sur Centos 8

Comment installer KVM / QEMU sur Centos 8
La forme complète de KVM est la machine virtuelle du noyau. C'est une solution de virtualisation pour Linux. KVM est un module de noyau Linux qui permet au noyau Linux d'agir comme un programme d'hyperviseur comme VMware ESXi ou vSphere.

Dans cet article, je vais vous montrer comment installer KVM sur CentOS 8 et créer une simple machine virtuelle KVM avec. Alors, commençons.

Activation de la virtualisation matérielle:

Vous devez activer l'extension de virtualisation matérielle du BIOS de votre ordinateur pour que KVM fonctionne. Pour les processeurs Intel, vous devez activer la fonction de processeur VT-X ou VT-D à partir du BIOS. Pour les processeurs AMD, vous devez activer la fonction de processeur AMD-V du BIOS.

Une fois que la virtualisation du matériel est activée dans le BIOS, exécutez la commande suivante pour vérifier si l'extension VT-X / VT-D ou AMD-V est activée.

$ grep --color --perl-regexp 'vmx | svm' / proc / cpuinfo

Tu devrais avoir soit le SVM ou vmx Indicateur disponible dans la sortie si vous avez la virtualisation matérielle activée dans le BIOS.

J'utilise un processeur AMD. Alors le SVM Le drapeau 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 tous les packages logiciels existants de votre machine CentOS 8.

Tout d'abord, mettez à jour le cache du référentiel de package DNF de votre machine CentOS 8 avec la commande suivante:

$ sudo dnf makecache

Le cache du référentiel de packages DNF doit être mis à jour.

Améliorez tous les packages logiciels existants de votre machine CentOS 8 avec la commande suivante:

$ sudo dnf mise à jour

Pour confirmer la mise à niveau, appuyez sur Y Et puis appuyez sur .

Le gestionnaire de packages DNF doit télécharger tous les packages requis depuis Internet.

Une fois le téléchargement du package terminé, il devrait installer tous les packages téléchargés. Cela peut prendre un certain temps pour terminer.

À ce stade, votre système CentOS 8 devrait être à jour.

Pour que les modifications prennent effet, redémarrez votre machine CentOS 8 avec la commande suivante:

$ sudo redémarrer

Définition de SELINUX en mode permissif:

La configuration de Selinux pour KVM est hors de portée de cet article. Si vous quittez SELINUX application Mode (par défaut), vous obtiendrez les erreurs refusées l'autorisation lors de la création de machines virtuelles KVM. Si vous n'avez pas d'expérience avec Selinux, vous devriez le définir sur permissif mode. Sinon, vous ne pourrez pas créer des machines virtuelles KVM.

Pour définir SELINUX sur permissif mode, ouvrir le / etc / selinux / config fichier avec un éditeur de texte (i.e. nano) avec la commande suivante:

$ sudo nano / etc / selinux / config

Changer la ligne Selinux = application pour Selinux = permissive comme marqué dans la capture d'écran ci-dessous.

Une fois que vous avez terminé, appuyez sur + X suivie par Y et Pour enregistrer le fichier de configuration.

Pour que les modifications prennent effet, redémarrez votre ordinateur avec la commande suivante:

$ sudo redémarrer

Installation de KVM:

Vous pouvez facilement installer tous les packages requis pour la virtualisation KVM sur CentOS 8 en installant simplement le Hôte de virtualisation groupe de forfaits.

Vous pouvez installer le Hôte de virtualisation Groupe de packages sur votre machine CentOS 8 avec la commande suivante:

$ sudo dnf groupinstall "hôte de virtualisation"

Pour confirmer l'installation, appuyez sur Y Et puis appuyez sur .

Le gestionnaire de packages DNF doit télécharger tous les packages requis depuis Internet.

Une fois le téléchargement du package terminé, il devrait installer tous les packages téléchargés. Cela peut prendre un certain temps pour terminer.

À ce stade, KVM doit être installé.

Maintenant, vérifiez si le libvirtd Le service s'exécute avec la commande suivante:

$ sudo systemctl status libvirtd

Comme vous pouvez le voir, le libvirtd Le service est actif/ /en cours. libvirtd Le service est très important. S'il ne fonctionne pas, vous ne pourrez pas administrer KVM.

Si la libvirtd Le service ne fonctionne pas dans votre cas, vous pouvez le démarrer avec la commande suivante:

$ sudo systemctl start libvirtd

Vérifiez si vous pouvez exécuter la commande de gestion KVM vif comme suit:

$ sudo virsh --version

La commande doit imprimer les informations de version comme vous pouvez le voir dans la capture d'écran ci-dessous.

Installation de Virgin-install:

verrouillage est un outil de ligne de commande pour créer facilement des machines virtuelles KVM. verrouillage est basé sur libvirt. Ainsi, les machines virtuelles créées en utilisant verrouillage peut également être géré avec vif et manager.

Vous pouvez installer verrouillage avec la commande suivante:

$ sudo dnf installer Virt-install

Pour confirmer l'installation, appuyez sur Y Et puis appuyez sur .

verrouillage devrait être installé.

Configuration des répertoires KVM requis:

Je pense que c'est une bonne idée de garder toutes les données de machine virtuelle organisées. Je garde généralement toutes les données de machine virtuelle KVM dans / kvm / annuaire. Dans le / kvm / répertoire, je crée 2 sous-répertoires disque/ et ISO /. Dans le disque/ Subdirectory, je garde tous les fichiers de disque dur de la machine virtuelle (VM). Dans le ISO / Subdirectory, je garde les images d'installation ISO de différents systèmes d'exploitation (i.e. Ubuntu, Debian, Centos, etc.).

Vous pouvez créer les mêmes structures de répertoire avec la commande suivante:

$ sudo mkdir -pv / kvm / disque, iso

Création d'une machine virtuelle KVM:

Dans cette section, je vais vous montrer comment créer un bureau Ubuntu 20.04 LTS KVM Virtual Machine.

Tout d'abord, vous devez télécharger le bureau Ubuntu 20.04 Image d'installation ISO LTS. Pour garder tous les fichiers / données de la machine virtuelle, c'est une bonne idée de stocker l'image ISO dans le / kvm / iso / annuaire.

Alors, accédez à / kvm / iso / Répertoire avec la commande suivante:

$ CD / KVM / ISO

Vous pouvez télécharger le bureau Ubuntu 20.04 LTS ISO Image du site officiel d'Ubuntu avec la commande suivante:

$ sudo wget https: //.ubuntu.com / 20.04 / Ubuntu-20.04.1-desktop-amd64.ISO

WGET devrait commencer à télécharger le bureau Ubuntu 20.04 LTS ISO Image. Il faudra un certain temps pour terminer.

À ce stade, le bureau Ubuntu 20.04 LTS ISO L'image doit être téléchargée.

Le bureau Ubuntu 20.04 LTS ISO L'image est disponible dans le / kvm / iso / Répertoire comme vous pouvez le voir dans la capture d'écran ci-dessous.

Une fois le bureau Ubuntu 20.04 LTS ISO L'image est téléchargée, vous pouvez créer une machine virtuelle KVM avec la commande suivante:

$ sudo virgin-install --name udesktop20_04-01 \
--Linux de type OS \
--OS-Variant Ubuntu19.dix \
--RAM 4096 \
--disque / kvm / disque / udesktop20_04-01.img, périphérique = disque, bus = virtio, taille = 20, format = qcow2 \
--graphiques vnc, écouter = 0.0.0.0 \
--noautoconsole \
--hvm \
--CDROM / KVM / ISO / UBUNTU-20.04.1-desktop-amd64.ISO \
--BOOT CDROM, HD

Ici, le nom de la machine virtuelle sera udesktop20_04-01.

Le système d'exploitation que nous installerons est Linux.

La variante du système d'exploitation est Ubuntu19.dix. La base de données du système d'exploitation de CentOS 8 n'a pas d'entrée pour Ubuntu 20.04 LTS au moment de la rédaction de cet article. Donc, j'ai utilisé les informations pour Ubuntu 19.dix.

Le type de système d'exploitation et les valeurs de variantes du système d'exploitation ne sont pas aléatoires. Vous pouvez trouver la variante de type OS et de système d'exploitation pour la distribution Linux souhaitée avec le OSINFO-QUERY commande. Comme vous pouvez le voir, aucune entrée pour Ubuntu 20.04 LTS est disponible. Mais une entrée pour Ubuntu 19.10 est disponible. Le type OS d'Ubuntu 19.10 est Linux Et la variante OS est Ubuntu19.dix.

$ osinfo-query os - champs = nom, id court, famille | grep -i ubuntu

Le RAM (mémoire d'accès aléatoire) de la machine virtuelle sera de 4096 Mo (mégaoctets) ou 4 Go (gigaoctets).

Le disque virtuel de la machine virtuelle sera enregistré dans le / kvm / disque / udesktop20.04-01.IMG déposer. Le disque virtuel est à propos 20 Go en taille 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 hôte CENTOS 8 KVM.

L'hôte CentOS 8 KVM n'essaiera pas automatiquement de se connecter à la machine virtuelle une fois la machine virtuelle créée. La machine virtuelle continuera à fonctionner en arrière-plan.

Utilisez la virtualisation complète pour la machine virtuelle. Cela rendra les machines virtuelles à mieux fonctionner.

Utilisez le bureau Ubuntu 20.04 LTS ISO Image que nous venons de télécharger comme la ROM Virtual CD / DVD de la machine virtuelle. Utilisé pour installer Ubuntu Desktop 20.04 LTS sur la machine virtuelle.

Définir l'ordre de démarrage de la machine virtuelle. La première entrée de démarrage est la ROM Virtual CD / DVD puis le disque dur virtuel. Ainsi, la machine virtuelle pourra démarrer à partir du bureau Ubuntu 20.04 LTS ISO Image et installer Ubuntu Desktop 20.04 LTS sur le disque dur.

Ce sont toutes les options dont vous avez besoin pour créer une machine virtuelle KVM.

Une fois que vous avez exécuté le verrouillage Commande, KVM devrait commencer à créer la machine virtuelle. Cela peut prendre un certain temps en fonction de votre configuration de machine virtuelle.

À ce stade, la machine virtuelle KVM doit être créée.

Listing des machines virtuelles KVM:

Une fois la machine virtuelle KVM créée, vous pouvez la répertorier avec la commande suivante:

$ lish lish - tout

La commande doit vous montrer toutes les machines virtuelles KVM que vous avez. En ce moment, je n'ai qu'une seule machine virtuelle udesktop20_04-01. C'est celui que je viens de créer. Comme vous pouvez le voir, la machine virtuelle udesktop20_04-01 est en cours. Vous devriez pouvoir vous y connecter en utilisant n'importe quel client VNC.

Configuration du pare-feu pour l'accès à distance aux machines virtuelles KVM:

Pour accéder à la machine virtuelle KVM à distance, vous devez autoriser l'accès au pare-feu au port VNC de la machine virtuelle.

Pour trouver le port VNC de la machine virtuelle KVM udesktop20_04-01, Exécutez la commande suivante:

$ virsh vncdisplay udesktop20_04-01

Comme vous pouvez le voir, le numéro de port VNC du udesktop20_04-01 La machine virtuelle est 0.

Ici, port 0 MAISON PORT 5900. De la même manière, port 1 MAISON PORT 5901 et ainsi de suite.

Comme vous pouvez le voir, la machine virtuelle KVM udesktop20_04-01 fonctionne sur le port 5900 (: 0).

$ sudo netstat -tln

Pour permettre l'accès au port 5900, Exécutez la commande suivante:

$ sudo Firewall-CMD --Add-Port = 5900 / TCP - Permanent

Pour que les modifications du pare-feu prennent effet, exécutez la commande suivante:

$ sudo Firewall-CMD - Reload

Connexion à distance aux machines virtuelles KVM avec VNC Client:

Pour vous connecter à la machine virtuelle via VNC, vous devez connaître l'adresse IP de votre hôte CentOS 8 KVM.

Vous pouvez trouver l'adresse IP de votre hôte CENTOS 8 KVM avec la commande suivante:

$ ip a

Dans mon cas, l'adresse IP est 192.168.0.103. Ce sera différent pour vous. Alors, assurez-vous de le remplacer par le vôtre à partir de maintenant.

Ouvrez n'importe quel client VNC et connectez-vous à l'adresse 192.168.0.103: 0.

Cliquer sur Continuer.

Cliquer sur Continuer.

Vous devez être connecté à l'affichage de la udesktop20_04-01 KVM Virtual Machine comme vous pouvez le voir dans la capture d'écran ci-dessous.

Maintenant, vous pouvez installer le système d'exploitation souhaité sur la machine virtuelle.

Dans mon cas, je vais installer le bureau Ubuntu 20.04 Système d'exploitation LTS sur la machine virtuelle.

Ubuntu Desktop 20.04 LTS est installé sur la machine virtuelle KVM. Cela peut prendre un certain temps pour terminer.

Une fois l'installation terminée, cliquez sur Redémarrer maintenant.

Presse .

La connexion VNC doit être fermée.

La machine virtuelle doit être éteinte automatiquement une fois l'installation du système d'exploitation terminée comme vous pouvez le voir dans la capture d'écran ci-dessous.

$ sudo virsh liste - tout

Commencer le udesktop20_04-01 Machine virtuelle KVM avec la commande suivante:

$ virsh start udesktop20_04-01

La machine virtuelle udesktop20_04-01 devrait être démarré.

Maintenant, vous pouvez vous connecter au udesktop20_04-01 machine virtuelle d'un client VNC comme avant. Comme vous pouvez le voir, le bureau Ubuntu 20.04 LTS fonctionne très bien dans la machine virtuelle KVM.

Suppression des machines virtuelles KVM:

Vous pouvez également supprimer une machine virtuelle KVM très facilement avec le vif outil de ligne de commande.

Comme vous pouvez le voir, j'ai 2 machines virtuelles KVM (udesktop20_04-01 et udesktop20_04-02) courir sur mon hôte Centos 8 kvm. Supprimons udesktop20_04-02 Machine virtuelle KVM.

$ lish lish - tout

Comme vous pouvez le voir, le udesktop20_04-02 La machine virtuelle KVM est en cours. Vous devez l'arrêter avant de le supprimer.

$ lish lish - tout

Pour forcer arrêter le udesktop20_04-02 Machine virtuelle KVM, exécutez la commande suivante:

$ virsh détruire udesktop20_04-02

Comme vous pouvez le voir, le udesktop20_04-02 La machine virtuelle est éteinte.

$ lish lish - tout

Vous pouvez retirer en permanence le udesktop20_04-02 Machine virtuelle et tous ses disques durs virtuels attachés avec la commande suivante:

$ VIRSH UNDEFINE - Remarqueur-All-Storage Udesktop20_04-02

Comme vous pouvez le voir, le udesktop20_04-02 La machine virtuelle n'est plus disponible.

$ lish lish - tout

Problème n ° 1: Fixation du CPU-> KVM_MSR_BUF-> Erreur d'assurance NMSRS

Lors de la création d'une machine virtuelle KVM sur l'hôte CentOS 8 KVM, vous pouvez voir le message d'erreur suivant. C'est un bug du noyau. Habituellement, cela se produit lorsque vous exécutez KVM dans une autre machine virtuelle. J'exécute KVM dans une machine virtuelle VMware. C'est pourquoi j'ai eu cette erreur je crois. C'est facile à réparer.

Ouvrez le fichier de configuration / etc / modprobe.d / kvm.confli avec la commande suivante:

$ sudo nano / etc / modprobe.d / kvm.confli

Le / etc / modprobe.d / kvm.confli Le fichier doit être ouvert. Vous devez activer l'option spécifique au processeur pour la virtualisation imbriquée KVM à partir d'ici.

Si vous utilisez un processeur Intel, décommentez la ligne comme marqué dans la capture d'écran ci-dessous.

Si vous utilisez un processeur AMD, décommentez la ligne comme marqué dans la capture d'écran ci-dessous.

Ensuite, ajoutez la ligne options kvm ignore_msrs = 1 à la fin du fichier comme indiqué dans la capture d'écran ci-dessous.

Une fois que vous avez terminé, appuyez sur + X suivie par Y et Pour sauver le / etc / modprobe.d / kvm.confli déposer.

Ensuite, redémarrez votre hôte CentOS 8 KVM avec la commande suivante pour que les modifications prennent effet.

$ sudo redémarrer

Votre problème doit être résolu.

Problème n ° 2: Correction de l'erreur de protocole RFB du client VNC:

Lorsque vous vous connectez à la machine virtuelle KVM à l'aide d'un client VNC, vous pouvez voir le message d'erreur suivant. Ce message d'erreur s'affiche lorsque la qualité d'image du client VNC est définie sur Automatique. C'est facile à réparer.

Clique sur le Propriétés icône de votre client VNC.

Comme vous pouvez le voir, le Qualité de l'image est réglé sur Automatique.

Pour résoudre ce problème, sélectionnez soit Faible, Moyen, ou Haut du Qualité de l'image menu déroulant.

Une fois que vous avez terminé, cliquez sur D'ACCORD.

Votre problème doit être résolu.

Conclusion:

Dans cet article, je vous ai montré comment installer KVM sur CentOS 8 et créer des machines virtuelles KVM à partir de la ligne de commande. Je vous ai également montré comment supprimer les machines virtuelles KVM et les solutions à certains problèmes KVM courants. Cela devrait vous aider à démarrer avec la virtualisation Linux KVM.