Ajouter section environnement ; Créer directement les disques via commande virt-install
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 (installer le paquet libosinfo-bin) ou directement via la commande virt-install --osinfo list.
# 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.
Pour limiter l'écriture sur le fichier disque, on peut facilement configurer en priorité un espace SWAP en RAM.
Sur ce système virtualisé de test, on ne souhaite pas écrire les journaux sur le disque. On paramètre journald pour une conservation en RAM uniquement.