Comment créer et gérer la virtualisation KVM sur Ubuntu : guide complet du débutant à l’expert (édition 2025)

目次

Introduction

Ubuntu est l’une des distributions Linux les plus utilisées dans le monde. Elle est populaire dans une variété de scénarios, des utilisateurs individuels aux environnements d’entreprise, et est fréquemment choisie pour le déploiement de serveurs et les configurations de développement. Si vous souhaitez mettre en œuvre une virtualisation avancée sur Ubuntu, l’une des solutions les plus puissantes est KVM (Kernel-based Virtual Machine).

KVM est une technologie d’hyperviseur intégrée directement au noyau Linux. En tirant parti des extensions de virtualisation matérielle (telles qu’Intel VT ou AMD‑V), KVM offre des performances élevées et une grande stabilité. Open‑source, KVM vous permet de construire une infrastructure de virtualisation complète à moindre coût.

La technologie de virtualisation peut sembler intimidante au premier abord. Cependant, avec Ubuntu et KVM, même les débutants peuvent créer et gérer facilement des machines virtuelles. Bien sûr, KVM est également recommandé pour les utilisateurs intermédiaires qui souhaitent optimiser les ressources d’un serveur physique, ainsi que pour les ingénieurs cherchant à virtualiser des systèmes de production.

Cet article fournit un guide complet pour créer un environnement de virtualisation basé sur KVM sous Ubuntu, incluant les étapes d’installation, l’utilisation de base, des astuces pratiques et des solutions de dépannage. Si vous envisagez d’adopter KVM ou de tirer le meilleur parti des fonctionnalités de virtualisation d’Ubuntu, assurez‑vous de lire jusqu’à la fin.

Comparaison de KVM avec d’autres technologies de virtualisation

Il existe diverses technologies de virtualisation, mais sous Ubuntu, KVM, VirtualBox et VMware sont les plus couramment utilisées. Cette section explique les caractéristiques et les différences de chacune, ainsi que les avantages et les inconvénients du choix de KVM.

Principaux types de technologies de virtualisation

  • KVM (Kernel-based Virtual Machine)
    KVM est une fonctionnalité de virtualisation intégrée au noyau Linux et nécessite Linux comme système d’exploitation hôte. En utilisant les extensions de virtualisation matérielle (Intel VT ou AMD‑V), KVM propose des machines virtuelles haute performance adaptées aux environnements de production. Il prend en charge une gestion flexible via des outils en ligne de commande et des gestionnaires graphiques comme virt‑manager.

  • VirtualBox
    VirtualBox est un logiciel de virtualisation orienté bureau fourni par Oracle. Il fonctionne sous Windows, macOS et Linux, et propose une interface intuitive, ce qui en fait un choix populaire pour un usage personnel et éducatif. Cependant, comparé à KVM, il est moins adapté aux environnements commerciaux ou à forte charge.

  • VMware (Workstation/ESXi, etc.)
    VMware est une solution de virtualisation commerciale largement utilisée, reconnue pour son ensemble riche de fonctionnalités et son support complet. Cependant, une licence payante est requise. Bien qu’il soit souvent choisi pour des déploiements d’entreprise à grande échelle, le coût peut constituer un facteur décisif.

Avantages de KVM

  • Haute performance et stabilité
    KVM s’exécute en tant que partie du noyau Linux, offrant une gestion efficace des ressources et un contrôle fin de l’allocation CPU et mémoire pour chaque VM. Il est très stable pour l’exécution de systèmes d’entreprise réels.

  • Open source et sans frais de licence
    KVM est entièrement open source et gratuit, ce qui le rend idéal pour construire des plateformes de virtualisation à faible coût.

  • Outils de gestion riches et prise en charge de l’automatisation
    Une variété d’options de gestion est disponible, incluant les outils en ligne de commande (virsh, virt‑install) et les outils graphiques (virt‑manager). KVM se prête également très bien à l’automatisation et au scripting, ce qui le rend parfait pour le DevOps et la gestion d’infrastructure.

Inconvénients de KVM

  • Exigence d’un hôte Linux uniquement
    Puisque KVM nécessite le noyau Linux, il ne peut pas être utilisé comme hôte sous Windows ou macOS.

  • Connaissances Linux nécessaires pour l’installation initiale et le dépannage
    Bien que des outils graphiques existent, certains paramètres réseau et réglages avancés peuvent nécessiter des opérations en ligne de commande ou des connaissances spécifiques à Linux.

Quand devriez‑vous choisir KVM ?

  • Lorsque vous souhaitez exploiter efficacement les ressources d’un serveur physique
  • Lorsque vous avez besoin de virtualisation pour des systèmes de production ou des applications serveur
  • Lorsque vous voulez construire une infrastructure de virtualisation robuste à faible coût
  • Lorsque vous désirez automatiser les opérations des serveurs Linux ou la gestion d’infrastructure

KVM est une excellente technologie de virtualisation non seulement pour les utilisateurs et ingénieurs Linux expérimentés, mais aussi pour ceux qui souhaitent essayer de faire fonctionner des serveurs à grande échelle à l’avenir.

Création d’un environnement KVM sur Ubuntu [Installation & Initial Setup]

Pour utiliser KVM sur Ubuntu, vous devez satisfaire certaines conditions préalables, effectuer quelques préparations, puis procéder à l’installation. Cette section vous guide à travers les étapes nécessaires pour démarrer avec KVM, avec des astuces pour aider les débutants à configurer l’environnement sans problème.

Prérequis et vérifications préliminaires

Pour utiliser KVM, le processeur de votre ordinateur ou serveur doit prendre en charge les extensions de virtualisation (Intel VT ou AMD‑V).
Tout d’abord, vérifiez que la virtualisation matérielle est activée avec la commande suivante :

egrep -c '(vmx|svm)' /proc/cpuinfo

Si la sortie est 1 ou plus, le support de virtualisation est disponible.
De plus, vous devez exécuter une version 64 bits d’Ubuntu.

Installation de KVM et des paquets requis

Installez le noyau KVM et les outils associés (tels que libvirt et virt-manager) avec les commandes suivantes :

sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
  • qemu-kvm : paquet principal de virtualisation KVM
  • libvirt-daemon-system, libvirt-clients : services de gestion des machines virtuelles
  • bridge-utils : outils pour la configuration du pont réseau
  • virt-manager : outil graphique de gestion des machines virtuelles

Configuration des groupes d’utilisateurs et des permissions

Après l’installation, ajoutez votre utilisateur actuel aux groupes kvm et libvirt. Cela vous permet de gérer les VM sans privilèges root.

sudo usermod -aG libvirt $(whoami)
sudo usermod -aG kvm $(whoami)

Déconnectez‑vous puis reconnectez‑vous, ou redémarrez, pour que les changements prennent effet.

Vérification du statut du service KVM

Vérifiez que KVM est correctement installé et que le service fonctionne :

sudo systemctl status libvirtd

S’il indique « active (running) », tout fonctionne.
Vous pouvez également vérifier KVM avec la commande suivante :

virsh list --all

Si vous voyez une liste (actuellement vide) de VM, l’environnement KVM est correctement configuré.

Création et gestion des machines virtuelles

Une fois votre environnement KVM prêt, vous pouvez commencer à créer et à exploiter des machines virtuelles. Avec KVM, vous pouvez utiliser à la fois des outils graphiques (virt-manager) et des outils en ligne de commande (virt-install, virsh), selon vos besoins. Nous présentons ici les deux approches.

Création d’une VM avec virt-manager (GUI)

virt-manager est un outil graphique qui vous permet de créer et de gérer facilement des machines virtuelles. Si vous utilisez un environnement de bureau Linux, virt-manager est très pratique.

  1. Lancez virt-manager depuis le menu des applications ou la ligne de commande.
  2. Cliquez sur le bouton « New » en haut à gauche.
  3. Sélectionnez l’emplacement de votre média d’installation (par exemple une image ISO) et choisissez le type de système d’exploitation invité (ex. : Ubuntu, Windows).
  4. Définissez le nombre de CPU, la taille de la mémoire, la capacité du disque, etc. pour la VM.
  5. Vérifiez les paramètres et cliquez sur « Finish » pour créer la VM. L’écran d’installation apparaîtra.

Avec virt-manager, vous pouvez également démarrer, arrêter et redémarrer les VM, prendre des instantanés, et ajouter des réseaux ou des disques via une interface intuitive.

Création d’une VM avec virt-install (CLI)

Pour les environnements serveur ou distants, il est souvent plus simple de créer des VM depuis la ligne de commande.
Voici un exemple de base utilisant virt-install :

sudo virt-install 
  --name ubuntu-vm 
  --memory 2048 
  --vcpus 2 
  --disk size=20 
  --cdrom /path/to/ubuntu.iso 
  --os-type linux 
  --os-variant ubuntu20.04 
  --network network=default 
  --graphics vnc
  • --name : Nom de la machine virtuelle
  • --memory : Allocation de mémoire (en Mo)
  • --vcpus : Nombre de cœurs CPU
  • --disk size=20 : Taille du disque (en Go)
  • --cdrom : Chemin vers l’image ISO pour l’installation
  • --os-type , --os-variant : Type et version du système d’exploitation
  • --network : Réseau auquel se connecter
  • --graphics : Mode graphique (par ex., VNC)

Après avoir exécuté cette commande, la VM démarrera et l’écran d’installation sera affiché via VNC ou une autre méthode spécifiée.

Démarrage, arrêt, suppression et création de snapshots de machines virtuelles

Gérer vos machines virtuelles avec KVM est simple. Voici quelques commandes couramment utilisées :

  • Démarrer une machine virtuelle :
  virsh start <vm-name>
  • Arrêter proprement une machine virtuelle :
  virsh shutdown <vm-name>
  • Forcer l’arrêt d’une machine virtuelle :
  virsh destroy <vm-name>
  • Supprimer une machine virtuelle (note : supprime également son disque) :
  virsh undefine <vm-name>
  • Créer un snapshot :
  virsh snapshot-create-as <vm-name> <snapshot-name>

Vous pouvez également effectuer ces opérations depuis l’interface graphique de virt-manager.

Configuration réseau et extension

Les paramètres réseau sont essentiels lors de l’exécution de machines virtuelles avec KVM. Bien que les paramètres par défaut fonctionnent dans de nombreux cas, les environnements professionnels ou de production nécessitent souvent une personnalisation. Cette section explique le réseau de base de KVM et les paramètres avancés couramment utilisés.

Différences entre le NAT par défaut (virbr0) et les réseaux en pont

Lorsque KVM est installé, il crée automatiquement un pont réseau virtuel appelé « virbr0 ». Il s’agit d’un réseau NAT (Network Address Translation), qui possède les caractéristiques suivantes :

  • Fonctionnalités de virbr0 (mode NAT) :
  • Les VM peuvent accéder à Internet externe
  • Cependant, l’accès direct aux VM depuis l’hôte ou d’autres réseaux nécessite un transfert de ports
  • Idéal pour les laboratoires domestiques, le développement ou les tests

En revanche, un « réseau en pont » permet aux VM de rejoindre le même segment réseau que l’hôte physique.

  • Fonctionnalités du réseau en pont :
  • Les VM rejoignent le même segment réseau que l’hôte
  • Les PC physiques ou d’autres serveurs peuvent accéder directement aux VM
  • Idéal pour les serveurs internes ou les services de production

Création et configuration d’un pont personnalisé (pour l’accès LAN)

Si vous souhaitez que les VM soient directement accessibles depuis d’autres PC ou serveurs, créez un réseau en pont. Voici une procédure typique (en supposant que l’interface réseau de l’hôte soit eth0) :

  1. Installer bridge-utils (ignorer si déjà installé)
   sudo apt install bridge-utils
  1. Modifier le fichier de configuration réseau Sur Ubuntu 18.04 et versions ultérieures, Netplan est utilisé. Modifiez /etc/netplan/01-netcfg.yaml, par exemple :
   network:
     version: 2
     renderer: networkd
     ethernets:
       eth0:
         dhcp4: no
     bridges:
       br0:
         interfaces: [eth0]
         dhcp4: yes
  1. Appliquer les paramètres
   sudo netplan apply
  1. Ajouter le nouveau pont (br0) au réseau KVM Changez l’adaptateur réseau de votre VM vers br0 en utilisant virt-manager ou virsh.

Attribution d’adresses IP statiques et configuration du transfert de ports

  • Attribuer des IP statiques En général, définissez une IP statique dans le système d’exploitation de la VM, ou utilisez le serveur DHCP pour attribuer une IP fixe par adresse MAC.
  • Transfert de ports (en cas de NAT) Avec virsh ou le XML de libvirt, vous pouvez transférer des ports (par ex., SSH ou serveur web) de l’hôte vers la VM. Exemple de transfert SSH vers le port 22 :
  virsh nat-forward --network default --add-port tcp:2222:22

Pour des configurations plus complexes, vous pouvez également modifier les fichiers de configuration de libvirt ou utiliser firewalld.

Gestion du stockage et opérations sur les disques

Une conception de stockage adéquate et une bonne gestion des disques sont également essentielles lors de l’utilisation de machines virtuelles avec KVM. Cette section explique les différents types de disques virtuels, comment les créer, la gestion des pools de stockage, l’extension des disques et l’utilisation des snapshots.

Types et utilisations des disques virtuels (qcow2, raw)

  • Format qcow2
  • Le format de disque virtuel standard pour KVM
  • Prend en charge les instantanés, la compression et une utilisation efficace de l’espace disque
  • Idéal pour les environnements flexibles ou de test
  • Format raw
  • Un format simple sans compression ni conversion
  • Idéal lorsque vous avez besoin des meilleures performances d’E/S disque

Dans la plupart des cas, le format qcow2 est recommandé, mais vous pouvez choisir en fonction de vos besoins spécifiques.

Création et gestion des pools de stockage

KVM utilise le concept de « pools de stockage » pour gérer l’espace disque utilisé par les machines virtuelles.

  • Pool de stockage par défaut Par défaut, /var/lib/libvirt/images/ est utilisé comme pool de stockage, et les nouveaux disques virtuels sont créés dans ce répertoire.
  • Création d’un nouveau pool de stockage (exemple)
  1. Créez un répertoire : sudo mkdir /data/kvm-images sudo chown libvirt-qemu:kvm /data/kvm-images
  2. Ajoutez un nouveau pool avec virt‑manager ou la commande virsh. Avec virsh : virsh pool-define-as --name mypool --type dir --target /data/kvm-images virsh pool-autostart mypool virsh pool-start mypool

Extension des disques virtuels et utilisation des instantanés

  • Extension d’un disque virtuel Si vous devez augmenter la taille du disque, utilisez la commande qemu-img (fonctionne pour les formats qcow2 et raw) :
  sudo qemu-img resize /var/lib/libvirt/images/ubuntu-vm.qcow2 +10G

Après cela, agrandissez la partition et le système de fichiers à l’intérieur du système d’exploitation invité selon les besoins.

  • Utilisation des instantanés Avec les disques qcow2, vous pouvez créer des instantanés pour sauvegarder l’état actuel de votre VM à tout moment.
  virsh snapshot-create-as <vm-name> <snapshot-name>

Les instantanés sont très utiles pour sauvegarder avant des mises à jour, revenir en arrière lors de tests ou récupérer après des erreurs de configuration.

Installation et utilisation du système d’exploitation invité

Cette section explique comment installer et exécuter des systèmes d’exploitation sur des machines virtuelles KVM. Nous couvrirons l’installation des systèmes d’exploitation les plus courants, la gestion des images ISO et des astuces pour améliorer les performances en cours d’utilisation.

Installation des systèmes d’exploitation invités les plus populaires

KVM vous permet d’exécuter une variété d’OS, tels qu’Ubuntu, CentOS et Windows. Voici des étapes d’installation type pour Ubuntu et Windows :

  • Pour Ubuntu
  1. Téléchargez la dernière ISO d’Ubuntu depuis le site officiel.
  2. Dans virt‑manager, choisissez « Créer une nouvelle machine virtuelle », sélectionnez « Média d’installation local » et indiquez le fichier ISO.
  3. Définissez le CPU, la mémoire et la taille du disque de la VM, puis lancez l’installation.
  4. Suivez les instructions à l’écran pour terminer l’installation standard d’Ubuntu.
  • Pour Windows
  1. Téléchargez une ISO d’évaluation de Windows depuis le site officiel de Microsoft.
  2. Créez une nouvelle VM dans virt‑manager ou avec virt‑install, et sélectionnez l’ISO comme média d’installation.
  3. Pour de meilleures performances disque et réseau, montez l’ISO des pilotes virtio comme lecteur CD supplémentaire et installez les pilotes pendant l’installation.

Obtention et montage des images ISO

  • Téléchargez les images ISO depuis les sources officielles de l’OS que vous souhaitez installer.
  • Indiquez le chemin du fichier ISO lors de la création d’une nouvelle machine virtuelle ; il sera monté comme lecteur CD/DVD virtuel.
  • Si besoin, vous pouvez monter plusieurs ISO simultanément (par ex. OS et pilotes).

Astuces pour l’utilisation et les performances du système d’exploitation invité

  • Optimiser l’allocation des ressources Allouez des quantités appropriées de CPU et de mémoire à chaque VM. Une surallocation peut nuire à l’OS hôte et aux autres VMs.
  • Installer les pilotes virtio Pour les invités Windows ou Linux plus anciens, l’installation des pilotes virtio peut augmenter considérablement les performances disque et réseau.
  • Désactiver les services inutiles Désactivez les services et programmes en arrière‑plan inutiles dans l’OS invité pour maximiser les ressources disponibles.
  • Utiliser les outils invités KVM Installez l’agent QEMU Guest pour améliorer la précision de la gestion des VM et activer des fonctions comme l’arrêt propre.

Cas d’utilisation pratiques et conseils d’automatisation

KVM n’est pas seulement destiné à créer et exécuter des machines virtuelles — il peut être exploité dans divers scénarios d’entreprise et de développement. L’associer à des scripts ou des outils d’automatisation peut également rendre la gestion beaucoup plus efficace. Cette section partage des cas d’utilisation pratiques de KVM et des idées d’automatisation.

Cas d’utilisation serveur

  • Environnements de développement et de test isolés Fournissez une VM séparée pour chaque projet, vous permettant de changer librement les versions d’OS et les piles logicielles sans impacter la production. C’est un avantage majeur lors du test de nouvelles versions d’OS ou de mises à jour logicielles.
  • Création de services internes Séparez les services critiques (serveurs de fichiers, serveurs web, bases de données, etc.) en VMs individuelles, de sorte que les pannes n’affectent qu’un périmètre limité. Les sauvegardes et les instantanés sont faciles à gérer par VM.

Exemples d’automatisation avec CLI ou Ansible

  • Création automatisée de VM via CLI Utilisez des scripts pour exécuter automatiquement les commandes virt-install ou virsh afin de créer et gérer plusieurs VMs. Exemple avec un script shell :
  for i in {1..5}
  do
    virt-install --name test-vm-$i --memory 1024 --vcpus 1 
      --disk size=10 --cdrom /path/to/ubuntu.iso 
      --os-type linux --os-variant ubuntu20.04 --graphics none --network network=default --noautoconsole
  done
  • Automatisation avec Ansible Avec l’outil d’automatisation d’infrastructure Ansible, vous pouvez décrire la création de VM, la configuration initiale et le déploiement d’applications dans des playbooks — automatisant ainsi l’ensemble du processus. Cela est particulièrement efficace lorsqu’on gère un grand nombre de serveurs ou lorsque la cohérence est cruciale.

Conseils pour des opérations de type cloud

  • Modélisation de VM Enregistrez les états initiaux de VM couramment utilisés comme modèles, vous permettant de déployer rapidement de nouveaux serveurs.
  • Intégration d’API et gestion web libvirt fournit une API pour l’intégration avec des outils personnalisés ou d’autres systèmes de gestion. Pour les grands environnements, utilisez des outils de gestion web (comme Cockpit) pour gérer les VMs visuellement.

Dépannage et solutions d’erreurs courantes

Lors de l’exécution de KVM, vous pouvez rencontrer des problèmes tels que l’échec du démarrage d’une VM ou des problèmes de connectivité réseau. Cette section couvre les problèmes courants, comment les résoudre, ainsi que la façon de vérifier les journaux et d’utiliser les ressources d’assistance.

Problèmes courants avec KVM

  • VM Fails to Start or Create
  • La virtualisation matérielle (Intel VT, AMD-V) est désactivée
  • Mémoire ou espace disque alloué insuffisant
  • Pool de stockage ou chemin ISO incorrect
  • Network Connectivity Issues
  • L’adaptateur réseau de la VM n’est pas configuré correctement
  • Erreurs dans les paramètres de pont ou NAT, ou échecs d’attribution DHCP
  • Restrictions de pare-feu ou de sécurité
  • Poor Performance
  • Surallocation ou sous-allocation des ressources
  • Pilotes virtio manquants (surtout pour les invités Windows)
  • Goulots d’étranglement d’E/S disque

Comment vérifier les journaux et flux de dépannage de base

Lorsque des problèmes surviennent, la vérification des journaux est cruciale.

  • Vérifier les journaux système
  sudo journalctl -xe

Recherchez les messages d’erreur liés à KVM ou libvirt.

  • Vérifier les journaux libvirt Examinez les fichiers journaux sous /var/log/libvirt/ (par ex., libvirtd.log).
  • Vérifier les journaux spécifiques aux VM Dans virt-manager ou virsh, examinez l’onglet « Détails » ou « Journaux » pour chaque VM.
  • Vérifier l’état du réseau
  ip a
  brctl show
  virsh net-list --all

Vérifiez les connexions réseau actuelles et la configuration du pont.

Étapes de dépannage de base

  1. Identifier quand le problème a commencé et clarifier les symptômes
  2. Vérifier les journaux ci‑dessus et les fichiers de configuration
  3. Si nécessaire, modifier les fichiers de configuration, redémarrer les services ou recréer la VM

Exploiter la documentation officielle et les ressources communautaires

Si vous êtes bloqué, ces ressources peuvent être inestimables :

Sécurité et optimisation des performances

Pour exploiter votre environnement KVM en toute sécurité et efficacité, les mesures de sécurité et l’optimisation des performances sont essentielles. Cette section couvre les points clés pour protéger votre infrastructure de virtualisation et propose des conseils pratiques pour maximiser l’efficacité des ressources.

Renforcer la sécurité dans les environnements virtualisés

  • Désactiver les services inutiles et utiliser des configurations minimales Désactivez les services inutilisés à l’intérieur de vos VM pour réduire la surface d’attaque. De même, arrêtez les services superflus sur le système hôte.
  • Pare-feu et contrôles d’accès Configurez correctement les pare-feu (comme ufw ou firewalld) sur les systèmes hôte et invité pour bloquer les accès externes non autorisés. Pour SSH, envisagez de changer le numéro de port, d’utiliser l’authentification par clé, et de mettre en place fail2ban pour une protection supplémentaire.
  • Isolation des VM (segmentation réseau) Séparez les serveurs critiques sur différents réseaux virtuels ou segments physiques afin de minimiser l’impact en cas de violation.
  • Mises à jour régulières Maintenez à jour le système d’exploitation de l’hôte et des invités avec les derniers correctifs de sécurité et mises à jour logicielles.

Optimiser l’allocation des ressources (CPU/Mémoire/I/O disque)

  • Gestion de base des ressources Allouez CPU et mémoire de manière appropriée à chaque VM et laissez une marge de manœuvre sur l’hôte pour la stabilité globale du système. Une surallocation peut entraîner une dégradation des performances tant pour l’hôte que pour les autres VM.
  • Optimisation des I/O disque Les performances du disque deviennent souvent un goulot d’étranglement. Attribuez un stockage SSD rapide aux VM importantes pour de meilleurs résultats. De plus, l’utilisation d’un trop grand nombre de snapshots avec des disques qcow2 peut réduire les performances, il faut donc équilibrer leur usage.
  • Exploiter les pilotes virtio Installez les pilotes virtio dans les systèmes d’exploitation invités pour améliorer considérablement les performances du disque et du réseau.

Automatiser les sauvegardes et les snapshots

  • Planifier des snapshots réguliers Effectuez des snapshots réguliers des VM de production afin de pouvoir récupérer rapidement en cas de défaillance.
  • Sauvegarder les images disque et les fichiers de configuration Sauvegardez régulièrement vos images disque virtuelles (fichiers qcow2/raw) et les fichiers de configuration XML de libvirt sur un autre dispositif de stockage ou serveur externe.
  • Intégrer avec des outils d’automatisation Utilisez des tâches cron ou des outils d’automatisation comme Ansible pour planifier automatiquement les sauvegardes et la création de snapshots.

Résumé et ressources d’apprentissage supplémentaires

Cet article a couvert la création et l’exploitation d’un environnement de virtualisation KVM sur Ubuntu — de l’installation à l’utilisation avancée, le dépannage, la sécurité et l’optimisation des performances. Passons en revue les points clés et présentons des ressources pour vous aider à poursuivre votre apprentissage.

Résumé des points clés

  • Vue d’ensemble de KVM et ses avantages KVM est une solution de virtualisation open source, haute performance, largement utilisée avec les serveurs Ubuntu.
  • Étape par étape, de l’installation à l’exploitation Nous avons parcouru la vérification du support de virtualisation, l’installation des paquets, la configuration des permissions utilisateur, la création de VM et l’exécution d’opérations de base.
  • Conseils pratiques sur le réseau, le stockage et les opérations Vous avez appris à configurer des réseaux NAT ou en pont, à gérer les pools de stockage, à étendre les disques et à utiliser les snapshots.
  • Dépannage et sécurité Nous avons abordé la gestion des erreurs courantes, la façon de consulter les journaux, et les points pour une exploitation sécurisée et efficace.

Prochaines étapes et ressources d’apprentissage recommandées

Une fois que vous avez maîtrisé les bases, KVM peut être utilisé pour tout, des projets personnels à l’infrastructure d’entreprise. Utilisez ce guide comme base et continuez à explorer selon vos objectifs et votre environnement.

Référence rapide des commandes & paramètres courants (Cheat Sheet)

Disposer d’une référence rapide des commandes utiles et d’exemples de configuration pour KVM et libvirt est très pratique pour la gestion quotidienne des VM. Cette section répertorie les commandes courantes et des exemples de paramètres compacts pour les réseaux et les disques.

Commandes principales KVM/virsh/virt-manager

  • Lister toutes les machines virtuelles
  virsh list --all
  • Démarrer une machine virtuelle
  virsh start <vm-name>
  • Éteindre une machine virtuelle
  virsh shutdown <vm-name>
  • Forcer l’arrêt d’une machine virtuelle
  virsh destroy <vm-name>
  • Créer une nouvelle machine virtuelle (virt-install)
  virt-install --name <name> --memory <MB> --vcpus <cores> 
    --disk size=<GB> --cdrom <ISO path> 
    --os-type linux --os-variant ubuntu20.04
  • Supprimer une machine virtuelle (uniquement les paramètres)
  virsh undefine <vm-name>

Exemples de configuration réseau & pont

  • Lister les réseaux actuels
  virsh net-list --all
  • Créer un nouveau réseau (exemple XML) Placez un fichier XML sous /etc/libvirt/qemu/networks/, puis activez‑le avec virsh net-define <filename> et virsh net-start <network-name>

Gestion du stockage & exemples d’opérations sur les disques

  • Lister les pools de stockage
  virsh pool-list --all
  • Agrandir un disque virtuel
  sudo qemu-img resize /path/to/disk.qcow2 +10G
  • Créer un instantané
  virsh snapshot-create-as <vm-name> <snapshot-name>

Autres astuces utiles

  • Configurer la VM pour démarrer automatiquement au démarrage de l’hôte
  virsh autostart <vm-name>
  • Obtenir des informations détaillées sur une VM
  virsh dominfo <vm-name>
  • Lancer virt-manager (GUI)
  virt-manager

FAQ (Foire aux questions)

Voici les réponses aux questions fréquentes des lecteurs concernant KVM et les environnements de virtualisation sous Ubuntu. Utilisez‑les pour le dépannage et les opérations quotidiennes.

Q1 : Quelles sont les différences entre KVM, VirtualBox et VMware ?

R1 : KVM est une plateforme de virtualisation haute performance intégrée au noyau Linux et est la mieux adaptée aux serveurs et à la production. VirtualBox vise un usage de bureau, tandis que VMware offre de nombreuses fonctionnalités et un support pour les environnements commerciaux à grande échelle. KVM est recommandé lorsque vous voulez des performances élevées à faible coût.

Q2 : Comment sauvegarder et restaurer les machines virtuelles ?

R2 : Vous pouvez facilement sauvegarder en copiant les images de disque virtuel (fichiers qcow2 ou raw). Il est également recommandé de sauvegarder les instantanés virsh et les fichiers de configuration XML de la VM pour une restauration fluide.

Q3 : Comment utiliser des périphériques USB à l’intérieur d’une machine virtuelle ?

R3 : Utilisez la fonction « Add Hardware » dans virt‑manager ou configurez le passage USB avec virsh. Cela vous permet d’utiliser des clés USB, disques durs externes, imprimantes, etc. dans vos VM.

Q4 : Comment démarrer automatiquement une VM au démarrage de l’hôte ?

R4 : Exécutez virsh autostart <vm-name> pour configurer la VM afin qu’elle démarre automatiquement lorsque le système hôte démarre.

Q5 : Que faire si les performances de la VM sont lentes ?

R5 : Révisez et ajustez l’allocation CPU/mémoire, optimisez les I/O disque (utilisez un stockage plus rapide ou passez de qcow2 à raw) et installez les pilotes virtio dans le système d’exploitation invité.

Q6 : J’ai des problèmes avec les paramètres réseau. Que devrais‑je vérifier ?

R6 : Utilisez virsh ou brctl pour vérifier l’état du réseau. Examinez et, si nécessaire, recréez les réseaux virtuels ou modifiez les paramètres du pont avec Netplan ou NetworkManager.

Q7 : Est‑il possible de créer des clusters ou des configurations HA avec KVM ?

A7 : Oui. Vous pouvez combiner KVM avec des outils tels que Pacemaker, Corosync et le stockage partagé (NFS, iSCSI, etc.) pour activer des clusters haute disponibilité (HA) et la migration à chaud des VM. Des connaissances avancées sont requises.