- 1 Introduction
- 2 Comparaison entre KVM et d’autres technologies de virtualisation
- 3 Création de machines virtuelles et opérations de base
- 4 Configuration réseau et extensions
- 5 Gestion du stockage et opérations sur les disques
- 6 Installation et exploitation du système d’exploitation invité
- 7 Cas d’utilisation pratiques et conseils d’automatisation
- 8 Dépannage et solutions d’erreurs courantes
- 9 Sécurité et optimisation des performances
- 10 Conclusion et ressources d’apprentissage
- 11 Fiche de référence des commandes et exemples de configuration courants
- 12 FAQ
- 12.1 Q1: Quelle est la différence entre KVM, VirtualBox et VMware ?
- 12.2 Q2: Comment puis-je sauvegarder et restaurer des machines virtuelles ?
- 12.3 Q3: Puis-je utiliser des périphériques USB à l’intérieur d’une machine virtuelle ?
- 12.4 Q4: Comment puis-je démarrer automatiquement les machines virtuelles au démarrage de l’hôte ?
- 12.5 Q5: Que dois-je faire si une machine virtuelle fonctionne lentement ?
- 12.6 Q6: La configuration réseau ne fonctionne pas correctement. Que dois-je vérifier ?
- 12.7 Q7: Puis-je construire des clusters ou des configurations haute disponibilité (HA) avec KVM ?
Introduction
Ubuntu est l’une des distributions Linux les plus largement utilisées au monde, fiable dans une grande variété d’environnements, des utilisateurs individuels aux systèmes d’entreprise. Elle est couramment employée pour la construction de serveurs et les environnements de développement. Lorsque vous souhaitez mettre en œuvre une virtualisation à grande échelle sur Ubuntu, l’une des solutions les plus puissantes disponibles est KVM (Kernel-based Virtual Machine).
KVM est une technologie de virtualisation basée sur un hyperviseur intégrée directement au noyau Linux. En tirant parti des fonctionnalités de virtualisation assistée par le matériel telles qu’Intel VT et AMD‑V, il offre des performances élevées et une grande stabilité. En tant que solution open‑source, KVM vous permet de créer une infrastructure de virtualisation robuste tout en maintenant les coûts bas.
Les technologies de virtualisation peuvent sembler complexes au premier abord. Cependant, grâce à la combinaison d’Ubuntu et de KVM, même les débutants peuvent créer et exploiter des machines virtuelles relativement facilement. Elle est également fortement recommandée aux utilisateurs intermédiaires qui souhaitent exploiter efficacement les ressources physiques existantes, ainsi qu’aux ingénieurs qui souhaitent virtualiser des systèmes de production.
Cet article fournit une explication détaillée sur la façon de construire un environnement de virtualisation basé sur KVM sous Ubuntu, couvrant l’utilisation de base, les techniques opérationnelles pratiques et les solutions aux problèmes courants. Si vous envisagez d’introduire KVM ou de mieux exploiter la virtualisation sur Ubuntu, assurez‑vous de lire jusqu’à la fin.
Comparaison entre KVM et d’autres technologies de virtualisation
Il existe de nombreux types de technologies de virtualisation. Dans les environnements Ubuntu, les options les plus couramment utilisées sont KVM, VirtualBox et VMware. Cette section explique les caractéristiques et les différences de chacune, ainsi que les avantages et les inconvénients de choisir 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 le support matériel de virtualisation tel qu’Intel VT et AMD‑V, il offre des performances élevées des machines virtuelles adaptées à un usage en production. Des opérations flexibles sont possibles grâce aux outils en ligne de commande et aux utilitaires de gestion comme virt‑manager.
- VirtualBox : VirtualBox est un logiciel de virtualisation orienté bureau fourni par Oracle, fonctionnant sous Windows, macOS et Linux. Il possède une interface intuitive et est souvent utilisé à des fins personnelles ou d’apprentissage. Comparé à KVM, il est toutefois moins adapté aux environnements à forte charge ou commerciaux.
- VMware (VMware Workstation / ESXi, etc.) : VMware est un produit de virtualisation commercial largement utilisé dans les environnements d’entreprise. Il offre de nombreuses fonctionnalités et un support solide, mais nécessite des licences payantes, ce qui augmente les coûts opérationnels, notamment lors de déploiements à grande échelle.
Avantages de KVM
- Haute performance et stabilité : Comme KVM fonctionne en tant que partie du noyau Linux, il assure une utilisation efficace des ressources et un contrôle fin de l’allocation CPU et mémoire. Sa stabilité le rend adapté aux systèmes de production réels.
- Open source et gratuit : KVM est entièrement open source et ne requiert aucun frais de licence, ce qui le rend idéal pour construire une plateforme de virtualisation avec un budget limité.
- Outils de gestion riches et automatisation : KVM propose à la fois des outils en ligne de commande (virsh, virt‑install) et des outils graphiques (virt‑manager), facilitant l’automatisation des opérations et l’intégration aux flux de travail DevOps et de gestion d’infrastructure.
Inconvénients de KVM
- Système d’exploitation hôte uniquement Linux : KVM nécessite le noyau Linux et ne peut pas être utilisé comme hôte sous Windows ou macOS.
- Connaissances Linux requises pour l’installation et le dépannage : Bien que des outils graphiques existent, la configuration avancée et le dépannage nécessitent souvent des opérations en ligne de commande et des connaissances spécifiques à Linux.
Quand choisir KVM ?
- Lorsque vous souhaitez exploiter efficacement les ressources d’un serveur physique
- Lorsque la virtualisation est nécessaire pour des systèmes ou serveurs de niveau production
- Lorsque vous voulez créer une plateforme de virtualisation complète à faible coût
- Lorsque vous désirez automatiser les opérations serveur Linux et la gestion d’infrastructure
KVM est recommandé non seulement aux utilisateurs et ingénieurs Linux expérimentés, mais aussi à ceux qui prévoient de passer à des opérations serveur sérieuses à l’avenir.
Création de machines virtuelles et opérations de base
Une fois l’environnement KVM prêt, vous pouvez commencer à créer et à exploiter des machines virtuelles. KVM vous permet de choisir entre un outil de gestion graphique (virt‑manager) et des opérations en ligne de commande (virt‑install et virsh), selon votre cas d’utilisation. Cette section présente les deux approches.
Création de machines virtuelles avec virt‑manager (GUI)
virt‑manager est un outil qui permet de créer et de gérer des machines virtuelles via une interface graphique intuitive. Si vous utilisez un environnement de bureau Linux, virt‑manager est particulièrement pratique.
- Lancez
virt-managerdepuis le menu des applications ou la ligne de commande. - Cliquez sur le bouton « Nouveau » en haut à gauche.
- Sélectionnez l’emplacement du support d’installation (par exemple une image ISO) et choisissez le type de système d’exploitation invité (ex. : Ubuntu ou Windows).
- Configurez le nombre de CPU, la taille de la mémoire et la capacité du disque pour la machine virtuelle.
- Vérifiez les paramètres et cliquez sur « Terminer » pour créer la machine virtuelle et lancer le processus d’installation.
Avec virt‑manager, vous pouvez facilement démarrer, arrêter et redémarrer les machines virtuelles, prendre des instantanés, et ajouter des interfaces réseau ou des périphériques de stockage.
Création de machines virtuelles avec virt‑install (CLI)
Pour les cas d’utilisation serveur ou les environnements distants, créer des machines virtuelles depuis la ligne de commande est souvent plus pratique.
Voici un exemple d’utilisation de base de la commande 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: Mémoire allouée (en Mo)--vcpus: Nombre de cœurs CPU virtuels--disk size=20: Taille du disque virtuel (en Go)--cdrom: Chemin vers l’image ISO utilisée pour l’installation--os-type,--os-variant: Type et version du système d’exploitation--network: Configuration réseau--graphics: Mode graphique (ex. : VNC)
Après l’exécution de la commande, la machine virtuelle démarre automatiquement et affiche l’écran d’installation via VNC ou une autre interface graphique.
Démarrage, arrêt, suppression et instantanés de machines virtuelles
KVM facilite la gestion des machines virtuelles avec des commandes simples. Les opérations courantes comprennent :
- Démarrer une machine virtuelle
virsh start <virtual-machine-name>
- Arrêter proprement une machine virtuelle
virsh shutdown <virtual-machine-name>
- Forcer l’arrêt d’une machine virtuelle
virsh destroy <virtual-machine-name>
- Supprimer une machine virtuelle (attention à la suppression des disques)
virsh undefine <virtual-machine-name>
- Créer un instantané
virsh snapshot-create-as <virtual-machine-name> <snapshot-name>
Toutes ces opérations peuvent également être effectuées via l’interface graphique de virt‑manager.
Configuration réseau et extensions
La configuration réseau est un aspect crucial de l’exploitation des machines virtuelles avec KVM. Bien que la configuration par défaut suffise pour de nombreux cas d’utilisation, les environnements de production nécessitent souvent une personnalisation. Cette section explique les bases du réseau KVM et les configurations avancées les plus courantes.
Différences entre le NAT par défaut (virbr0) et le réseau en pont
Lorsque KVM est installé, un pont réseau virtuel nommé virbr0 est créé automatiquement. Il s’agit d’un réseau basé sur le NAT avec les caractéristiques suivantes.
- Caractéristiques de virbr0 (mode NAT)
- Les machines virtuelles peuvent accéder à Internet externe
- L’accès direct depuis l’hôte ou d’autres réseaux nécessite une redirection de ports
- Idéal pour un usage domestique, le développement et les environnements de test
En revanche, le réseau en pont offre aux machines virtuelles un accès équivalent à celui du réseau physique.
- Caractéristiques du réseau en pont
- Les machines virtuelles rejoignent le même segment réseau que l’hôte
- L’accès direct depuis les PC physiques et d’autres serveurs est possible
- Idéal pour les serveurs de production et les services accessibles publiquement
Création et configuration d’un pont personnalisé (pour l’accès LAN)
Si vous souhaitez permettre un accès direct aux machines virtuelles depuis des serveurs de production ou d’autres PC, vous devez configurer un réseau en pont. Voici un exemple de procédure générale où l’interface réseau physique de l’hôte est eth0.
- Installer bridge‑utils (ignorer si déjà installé)
sudo apt install bridge-utils
- Modifier le fichier de configuration réseau
Ubuntu 18.04 et versions ultérieures utilisent Netplan. Modifiez un fichier de configuration tel que/etc/netplan/01-netcfg.yaml. Exemple :network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no bridges: br0: interfaces: [eth0] dhcp4: yes
- Appliquer la configuration
sudo netplan apply
- Attribuer le nouveau pont (br0) au réseau de la machine virtuelle
Changez l’adaptateur réseau vers br0 à l’aide de virt‑manager ou virsh.
Attribution d’IP statique et redirection de ports
- Attribution d’IP statique
Vous pouvez configurer une adresse IP statique à l’intérieur du système d’exploitation invité ou attribuer une IP fixe via le serveur DHCP en fonction de l’adresse MAC. - Redirection de ports (lors de l’utilisation du NAT)
En utilisant la commande virsh ou la configuration XML de libvirt, vous pouvez rediriger des ports spécifiques (comme SSH ou les services web) de l’hôte vers la machine virtuelle. Exemple (redirection du port SSH 22) :virsh nat-forward --network default --add-port tcp:2222:22
Note : des configurations plus avancées sont possibles en modifiant les fichiers de configuration de libvirt ou en contrôlant l’accès avec firewalld.
Gestion du stockage et opérations sur les disques
Lors de l’utilisation de machines virtuelles avec KVM, la conception du stockage et la gestion des disques sont extrêmement importantes. Cette section explique les types de disques virtuels, comment les créer, comment gérer les pools de stockage, et comment étendre les disques et utiliser les snapshots efficacement.
Types de disques virtuels (qcow2 et raw) et cas d’utilisation
KVM prend principalement en charge les deux types de disques virtuels suivants.
- format qcow2
- Le format de disque virtuel standard pour KVM
- Prend en charge les snapshots, la compression de disque et l’allocation efficace en espace
- Idéal pour les opérations flexibles et les environnements de test
- format raw
- Un format simple sans compression ni conversion
- Le mieux adapté aux performances maximales et aux charges de travail à forte I/O
Dans la plupart des cas, qcow2 est recommandé, mais vous devez choisir le format en fonction de vos exigences spécifiques.
Création et gestion des pools de stockage
KVM gère les ressources disque utilisées par les machines virtuelles via un concept appelé pools de stockage.
- Pool de stockage par défaut
Après l’installation,/var/lib/libvirt/images/est utilisé comme pool de stockage par défaut. Les disques virtuels sont créés dans ce répertoire. - Création d’un nouveau pool de stockage (exemple)
- Créez un répertoire
sudo mkdir /data/kvm-images sudo chown libvirt-qemu:kvm /data/kvm-images - Ajoutez un nouveau pool à l’aide de virt‑manager ou virsh
En utilisant 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 snapshots
- Extension des disques virtuels
Pour augmenter la capacité du disque, utilisez la commandeqemu-img(prise en charge à la fois pour qcow2 et raw).sudo qemu-img resize /var/lib/libvirt/images/ubuntu-vm.qcow2 +10G
Après le redimensionnement, vous devez également étendre la partition et le système de fichiers à l’intérieur du système d’exploitation invité.
- Utilisation des instantanés Avec les disques qcow2, vous pouvez créer des instantanés pour sauvegarder l’état d’une machine virtuelle à un moment précis.
virsh snapshot-create-as <virtual-machine-name> <snapshot-name>
Les instantanés sont extrêmement utiles pour les sauvegardes avant les changements de configuration, les mises à jour du système ou les scénarios de test de retour en arrière.
Installation et exploitation du système d’exploitation invité
Cette section explique comment installer et exploiter efficacement les systèmes d’exploitation à l’intérieur des machines virtuelles KVM. Elle couvre les procédures d’installation typiques des OS invités, la gestion des images ISO et les conseils d’optimisation des performances.
Installation des systèmes d’exploitation invités courants
KVM prend en charge une grande variété de systèmes d’exploitation invités, notamment Ubuntu, CentOS et Windows. Vous trouverez ci‑dessous des procédures d’installation exemplaires pour Ubuntu et Windows.
- Installation d’Ubuntu
- Téléchargez la dernière image ISO depuis le site officiel d’Ubuntu.
- Dans virt‑manager, sélectionnez « Média d’installation local » lors de la création d’une nouvelle machine virtuelle et indiquez le fichier ISO téléchargé.
- Configurez le CPU, la mémoire et la capacité du disque pour la machine virtuelle.
- Suivez les instructions à l’écran pour terminer l’installation standard d’Ubuntu.
- Installation de Windows
- Téléchargez une image ISO d’évaluation de Windows depuis le site officiel de Microsoft.
- Créez une nouvelle machine virtuelle avec virt‑manager ou virt‑install et indiquez le fichier ISO.
- Pour les invités Windows, l’installation des pilotes virtio améliore considérablement les performances du disque et du réseau. Montez l’ISO virtio comme lecteur CD virtuel et appliquez‑le pendant l’installation.
Obtention et montage des images ISO
- L’installation du système d’exploitation invité nécessite des images ISO téléchargées depuis des sources officielles.
- En spécifiant le chemin du fichier ISO lors de la création de la VM, il sera monté comme CD/DVD virtuel.
- Plusieurs images ISO (OS et pilotes) peuvent être montées simultanément si nécessaire.
Conseils pour l’exploitation du système d’exploitation invité et l’optimisation des performances
- Optimiser l’allocation des ressources Allouez le CPU et la mémoire de manière appropriée. Une surallocation des ressources peut affecter négativement le système d’exploitation hôte et les autres machines virtuelles.
- Installer les pilotes virtio L’installation des pilotes virtio sous Windows ou sur des invités Linux plus anciens améliore grandement les performances du disque et du réseau.
- Désactiver les services inutiles Désactiver les services et processus en arrière‑plan inutilisés dans l’OS invité aide à conserver les ressources système.
- Utiliser les outils invités KVM L’installation de l’agent invité QEMU permet une récupération d’informations VM plus précise et des opérations d’arrêt contrôlées.
Cas d’utilisation pratiques et conseils d’automatisation
KVM ne se limite pas à la création et à l’exploitation simples de machines virtuelles. Il est largement utilisé dans divers scénarios d’entreprise et de développement, et son efficacité de gestion peut être grandement améliorée en le combinant avec des scripts et des outils d’automatisation. Cette section présente des cas d’utilisation pratiques et des idées d’automatisation.
Exemples de cas d’utilisation serveur
- Séparation des environnements de développement et de test En préparant des machines virtuelles distinctes pour chaque projet, vous pouvez changer librement les versions logicielles et les configurations. Cela vous permet de tester de nouvelles versions d’OS ou des applications sans impacter les systèmes de production.
- Création de services internes Exécuter des serveurs de fichiers, des serveurs web et des serveurs de bases de données dans des machines virtuelles séparées aide à limiter l’impact des pannes. Les sauvegardes et les instantanés peuvent également être gérés facilement par VM.
Provisionnement automatisé avec CLI et Ansible
- Création automatisée de VM avec CLI En scriptant les commandes
virt-installetvirsh, vous pouvez créer et gérer automatiquement plusieurs machines virtuelles. Exemple : script Shell pour la création en lot de VM.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 de l’infrastructure avec Ansible En utilisant Ansible, vous pouvez automatiser la création de machines virtuelles, la configuration initiale et le déploiement d’applications uniquement avec des playbooks. Cela est particulièrement efficace pour les environnements avec de nombreux serveurs ou où la cohérence de la configuration est cruciale.
Conseils pour des opérations de type cloud
- Création de modèles de VM En enregistrant les machines virtuelles de base fréquemment utilisées comme modèles, vous pouvez déployer de nouveaux serveurs presque instantanément.
- Intégration d’API et outils de gestion web libvirt fournit des API qui peuvent être intégrées à des outils personnalisés ou à d’autres systèmes de gestion. Dans les environnements à grande échelle, des outils de gestion web tels que Cockpit permettent un contrôle visuel et centralisé.
Dépannage et solutions d’erreurs courantes
Lorsque vous exploitez un environnement KVM, vous pouvez rencontrer des problèmes tels que des machines virtuelles qui ne démarrent pas ou des problèmes de connectivité réseau. Cette section couvre les problèmes courants, les étapes de dépannage et comment utiliser efficacement les journaux et les ressources d’assistance.

Problèmes courants dans KVM
- La machine virtuelle ne démarre pas ou ne peut pas être créée
- La virtualisation matérielle (Intel VT ou AMD‑V) est désactivée
- Mémoire ou espace disque alloués insuffisants
- Pool de stockage ou chemin d’image ISO incorrect
- Problèmes de connectivité réseau
- Configuration incorrecte de l’adaptateur réseau virtuel
- Pont ou NAT mal configuré, ou échec d’attribution DHCP
- Restrictions de pare‑feu ou de sécurité
- Performance fortement dégradée
- Surallocation ou sous‑allocation des ressources
- Pilotes virtio manquants (surtout pour les invités Windows)
- Goulots d’étranglement d’E/S disque
Inspection des journaux et flux de dépannage de base
Lorsque des problèmes surviennent, la vérification des journaux doit être votre première étape.
- Vérifier les journaux système
sudo journalctl -xe
Recherchez les messages d’erreur liés à KVM ou libvirt.
- Vérifier les journaux libvirt Les fichiers journaux sous
/var/log/libvirt/(commelibvirtd.log) fournissent des informations précieuses. - Vérifier les journaux spécifiques aux VM Utilisez virt‑manager ou virsh pour inspecter l’état de la VM et examiner les détails des erreurs dans les journaux ou la vue détaillée.
- Vérifier l’état du réseau
ip a brctl show virsh net-list --all
Ces commandes aident à vérifier les connexions réseau et les configurations de pont.
Flux de dépannage de base
- Identifier quand le problème a commencé et ce qui a changé
- Examiner les journaux et les configurations
- Modifier les paramètres si nécessaire et redémarrer les services ou recréer la machine virtuelle
Utilisation de la documentation officielle et des ressources communautaires
Les ressources suivantes sont extrêmement utiles lors du dépannage.
- Documentation officielle Documentation officielle KVM d’Ubuntu Documentation officielle de libvirt
- Forums communautaires et sites de Q&A
- Ubuntu Forums
- Ask Ubuntu
- Stack Overflow
- Recherche à l’aide des messages d’erreur Rechercher les messages d’erreur exacts en anglais et dans votre langue locale révèle souvent des solutions pertinentes.
Sécurité et optimisation des performances
Pour exploiter un environnement KVM en toute sécurité et efficacité, les mesures de sécurité et l’optimisation des performances sont essentielles. Cette section présente des techniques pratiques pour protéger votre plateforme de virtualisation et maximiser l’efficacité des ressources.
Renforcement de la sécurité de la virtualisation
- Désactiver les services inutiles et minimiser la configuration Désactiver les services inutilisés sur les systèmes invités et hôtes afin de réduire la surface d’attaque.
- Pare-feu et contrôle d’accès Configurer correctement les pare-feu (comme ufw ou firewalld) sur les systèmes hôte et invité. Protéger l’accès SSH en utilisant des ports non par défaut, l’authentification par clé, et des outils comme fail2ban.
- Isolation entre les machines virtuelles Séparer les serveurs critiques en utilisant différents réseaux virtuels ou une segmentation réseau physique afin de limiter les dommages en cas de compromission.
- Mises à jour régulières Maintenir à jour les systèmes hôte et invité avec les correctifs de sécurité et les mises à jour logicielles.
Optimisation de l’allocation des ressources (CPU, Mémoire, I/O disque)
- Gestion de base des ressources Allouer soigneusement le CPU et la mémoire à chaque machine virtuelle tout en laissant des ressources suffisantes pour le système hôte.
- Optimisation de l’I/O disque Utiliser un stockage SSD haute vitesse pour les machines virtuelles critiques. Faire attention à une utilisation excessive des snapshots au format qcow2, car cela peut impacter les performances.
- Utiliser les pilotes virtio L’installation des pilotes virtio améliore considérablement les performances disque et réseau dans les systèmes d’exploitation invités.
Automatisation des sauvegardes et des snapshots
- Création régulière de snapshots Les snapshots périodiques permettent une récupération rapide en cas de défaillance du système.
- Sauvegarde des images disque et des fichiers de configuration Sauvegarder régulièrement les images disque virtuelles (qcow2 ou raw) et les fichiers de configuration XML de libvirt sur un stockage externe.
- Intégration avec des outils d’automatisation Utiliser cron ou Ansible pour automatiser les tâches de sauvegarde et de snapshot.
Conclusion et ressources d’apprentissage
Cet article a couvert tout, depuis la création d’un environnement de virtualisation KVM sur Ubuntu jusqu’aux opérations quotidiennes, cas d’utilisation pratiques, dépannage, sécurité et optimisation des performances. Vous trouverez ci-dessous un résumé et des ressources recommandées pour approfondir vos connaissances.
Résumé
- Vue d’ensemble et avantages de KVM KVM est une technologie de virtualisation open-source et haute performance largement utilisée dans les environnements serveur Ubuntu.
- De l’installation à l’exploitation Nous avons parcouru les vérifications de virtualisation CPU, l’installation des paquets, la configuration des permissions, la création de VM et les opérations de base.
- Réseau, stockage et meilleures pratiques opérationnelles Vous avez appris à configurer le réseau NAT et en pont, gérer les pools de stockage, étendre les disques et utiliser efficacement les snapshots.
- Dépannage et sécurité Des solutions aux erreurs courantes, des méthodes d’inspection des journaux et des meilleures pratiques pour des opérations sécurisées et efficaces ont été présentées.
Prochaines étapes et ressources recommandées
- Documentation officielle
- Guide officiel KVM d’Ubuntu
- Documentation officielle de libvirt
- Ask Ubuntu
- Qiita KVM Tag
- Stack Overflow (English)
KVM est une plateforme de virtualisation puissante adaptée tant aux particuliers qu’aux entreprises. Utilisez ce guide comme base pour approfondir votre compréhension et adapter KVM à vos besoins spécifiques.
Fiche de référence des commandes et exemples de configuration courants
Avoir à portée de main les commandes et exemples de configuration fréquemment utilisés peut améliorer considérablement l’efficacité de la gestion quotidienne des VM. Cette section fournit une référence concise.
Commandes courantes KVM / virsh / virt-manager
- Lister les machines virtuelles
virsh list --all
- Démarrer une machine virtuelle
virsh start <virtual-machine-name>
- Éteindre une machine virtuelle
virsh shutdown <virtual-machine-name>
- Arrêt forcé d’une machine virtuelle
virsh destroy <virtual-machine-name>
- Créer une 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 (définition uniquement)
virsh undefine <virtual-machine-name>
Exemples de Configuration de Réseau et de Pont
- Lister les réseaux
virsh net-list --all
Gestion du Stockage et Opérations sur les Disques
- Lister les pools de stockage
virsh pool-list --all
- Redimensionner un disque virtuel
sudo qemu-img resize /path/to/disk.qcow2 +10G
- Créer un instantané
virsh snapshot-create-as <virtual-machine-name> <snapshot-name>
Autres Conseils Utiles
- Activer le démarrage automatique de la VM
virsh autostart <virtual-machine-name>
- Afficher les informations détaillées de la VM
virsh dominfo <virtual-machine-name>
- Lancer virt-manager (GUI)
virt-manager
FAQ
Q1: Quelle est la différence entre KVM, VirtualBox et VMware ?
A1: KVM est une plateforme de virtualisation haute performance intégrée au noyau Linux et bien adaptée aux serveurs de production. VirtualBox est principalement conçu pour un usage sur bureau, tandis que VMware offre des fonctionnalités riches pour l’entreprise avec un support commercial. KVM est idéal si vous voulez de hautes performances à faible coût.
Q2: Comment puis-je sauvegarder et restaurer des machines virtuelles ?
A2: Vous pouvez sauvegarder des machines virtuelles en copiant les fichiers d’images de disque (qcow2 ou raw). Il est également recommandé de sauvegarder les fichiers de configuration XML de libvirt et les instantanés pour une restauration plus facile.
Q3: Puis-je utiliser des périphériques USB à l’intérieur d’une machine virtuelle ?
A3: Oui. Vous pouvez configurer le passthrough USB en utilisant les paramètres matériels de virt-manager ou via virsh, ce qui permet d’utiliser des périphériques de stockage USB, des disques externes et des imprimantes à l’intérieur des machines virtuelles.
Q4: Comment puis-je démarrer automatiquement les machines virtuelles au démarrage de l’hôte ?
A4: Exécutez la commande virsh autostart <nom-de-la-machine-virtuelle> pour activer le démarrage automatique lors du démarrage du système hôte.
Q5: Que dois-je faire si une machine virtuelle fonctionne lentement ?
A5: Vérifiez l’allocation du CPU et de la mémoire, optimisez les E/S disque (utilisez un stockage plus rapide ou passez de qcow2 à raw si approprié), et installez les pilotes virtio dans l’OS invité.
Q6: La configuration réseau ne fonctionne pas correctement. Que dois-je vérifier ?
A6: Vérifiez l’état du réseau en utilisant les commandes virsh et brctl. Examinez les fichiers de configuration du pont et de Netplan ou NetworkManager et recréez les réseaux virtuels si nécessaire.
Q7: Puis-je construire des clusters ou des configurations haute disponibilité (HA) avec KVM ?
A7: Oui. En combinant KVM avec Pacemaker, Corosync et un stockage partagé (NFS ou iSCSI), vous pouvez implémenter des configurations HA et la migration à chaud. Des connaissances avancées sont requises.


