Pour créer la VM nous allons utiliser l'outil en ligne de commande virt-install.
virt-install --version
4.1.0
S'il n'est pas disponible sur le système consulter les notes de présentation de virt-install.
On choisit de créer le fichier disque de la VM en amont :
# Changement du groupe principal de l'utilisateur newgrp libvirt-qemu # Créer un dossier dédié à la VM cd ~ mkdir -p ~/KVM/debian12 # L'utilisateur libvirt-qemu doit avoir les droits d'écriture sur le dossier cd KVM chmod -R 770 debian12/ ls -ld debian12/ drwxrwx--- 2 yoann libvirt-qemu 4096 mars 27 20:25 debian12/ # Création du fichier disque cd debian12 qemu-img create -f qcow2 vda 5G chmod 660 vda # Vérification des droits ls -l total 196 -rw-rw---- 1 yoann libvirt-qemu 196688 mars 27 20:49 vda
Nous aurons également besoin du média d'installation. On télécharge l'ISO (netinstall) et on s'assure quelle soit accessible en lecture pour l'utilisateur libvirt-qemu :
mkdir ~/KVM/install_files wget "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.5.0-amd64-netinst.iso" KVM/install_files chmod 444 KVM/install_files/debian-12.5.0-amd64-netinst.iso
Pour créer plus facilement la VM, on utilise l'outil .
Pour pouvoir correctement renseigner les valeurs des options du script virt-install on doit :
virt-install propose un paramètre --os-variant qui permet de paramétrer correctement la VM en fonction de l'OS invité. La valeur associée à l'option est l'identifiant de l'OS, il peut être obtenu via la commande osinfo-query os
# Ici on n'affiche que les identifiants pour les systèmes Debian osinfo-query os | grep debian debian1.1 | Debian GNU/Linux 1.1 | 1.1 | http://debian.org/debian/1.1 debian1.2 | Debian GNU/Linux 1.2 | 1.2 | http://debian.org/debian/1.2 debian1.3 | Debian GNU/Linux 1.3 | 1.3 | http://debian.org/debian/1.3 debian10 | Debian 10 | 10 | http://debian.org/debian/10 debian11 | Debian 11 | 11 | http://debian.org/debian/11 debian12 | Debian 12 | 12 | http://debian.org/debian/12 debian2.0 | Debian GNU/Linux 2.0 | 2.0 | http://debian.org/debian/2.0 debian2.1 | Debian GNU/Linux 2.1 | 2.1 | http://debian.org/debian/2.1 debian2.2 | Debian GNU/Linux 2.2 | 2.2 | http://debian.org/debian/2.2 debian3 | Debian GNU/Linux 3.0 | 3.0 | http://debian.org/debian/3 debian3.1 | Debian GNU/Linux 3.1 | 3.1 | http://debian.org/debian/3.1 debian4 | Debian GNU/Linux 4.0 | 4.0 | http://debian.org/debian/4 debian5 | Debian GNU/Linux 5.0 | 5.0 | http://debian.org/debian/5 debian6 | Debian 6.0 | 6.0 | http://debian.org/debian/6 debian7 | Debian 7 | 7 | http://debian.org/debian/7 debian8 | Debian 8 | 8 | http://debian.org/debian/8 debian9 | Debian 9 | 9 | http://debian.org/debian/9 debiantesting | Debian testing | testing | http://debian.org/debian/testing
On peut voir que pour une Debian 12 l'identifiant sera debian12.
Pour lister les réseaux disponibles :
virsh net-list Name State Autostart Persistent -------------------------------------------- default active yes yes
Ici on peut voir qu'il existe un réseau nommé default
, ce réseau conviendra pour notre installation. On cherche le nom de l'interface virtuelle :
# Afficher les détails du réseau virsh net-info default Name: default UUID: d93d7ec0-73d7-41e2-83f8-100867ac9b70 Active: yes Persistent: yes Autostart: yes Bridge: virbr0
L'interface virtuelle qu'il faudra renseigner pour connecter la VM est donc virbr0.
On peut à présent invoquer virt-install avec les paramètres suivants :
virt-install \ -n debian12-amd64 \ --description "Debian 12 codename Bookworm" \ --os-variant=debian12 \ --ram=2048 \ --vcpus=2 \ --disk format=qcow2,path=/home/yoann/KVM/debian12/vda \ --vnc \ --cdrom /home/yoann/KVM/install_files/debian-12.5.0-amd64-netinst.iso \ --network bridge:virbr0
Après finalisation du processus d'installation, la VM est automatiquement redémarrée. On peut alors contrôler son exécution via la console graphique virt-viewer ou via virsh.