libvirt et Rocky Linux
Introduction¶
libvirt est une API qui permet la virtualisation de presque tous les systèmes d'exploitation de votre choix avec la puissance de KVM comme hyperviseur et de QEMU comme émulateur.
Ce document fournit les instructions de configuration de libvirt
sur Rocky Linux 9.
Prérequis¶
- Une machine 64bit fonctionnant sous Rocky Linux 9.
- Assurez-vous de l'activation de la virtualisation dans les paramètres de votre BIOS. Si la commande suivante renvoie un résultat, cela signifie que l'activation de la virtualisation est terminée :
sudo grep -e 'vmx' /proc/cpuinfo
Mise en place du référentiel et installation des packages¶
- Activez le dépôt EPEL (Extra Packages for Enterprise Linux) :
sudo dnf install -y epel-release
- Installez les packages requis pour
libvirt
(en option pourvirt-manager
si vous souhaitez utiliser une interface graphique pour gérer vos machines virtuelles) :
sudo dnf install -y bridge-utils virt-top libguestfs-tools bridge-utils virt-viewer qemu-kvm libvirt virt-manager virt-install
Configuration de l'utilisateur libvirt
¶
- Ajoutez votre utilisateur au groupe
libvirt
. Cela permet de gérer vos VM et d'utiliser des commandes telles quevirt-install
en tant qu'utilisateur non root :
sudo usermod -aG libvirt $USER
- Activez le groupe
libvirt
en utilisant la commandenewgrp
:
sudo newgrp libvirt
- Activez et démarrez le service
libvirtd
:
sudo systemctl enable --now libvirtd
Configuration de l'interface Bridge
pour un accès direct aux machines virtuelles¶
- Vérifiez les interfaces actuellement utilisées et notez l'interface principale avec une connexion Internet :
sudo nmcli connection show
- Supprimez l'interface connectée à Internet et toutes les connexions de pont virtuel actuellement présentes :
sudo nmcli connection delete <CONNECTION_NAME>
Avertissement
Assurez-vous d'avoir un accès direct à la machine. Si vous configurez la machine via SSH, la connexion sera interrompue après la suppression de la connexion à l'interface principale.
- Créer la nouvelle connexion de pont :
sudo nmcli connection add type bridge autoconnect yes con-name <VIRTUAL_BRIDGE_CON-NAME> ifname <VIRTUAL_BRIDGE_IFNAME>
- Attribuez une adresse IP statique :
sudo nmcli connection modify <VIRTUAL_BRIDGE_CON-NAME> ipv4.addresses <STATIC_IP/SUBNET_MASK> ipv4.method manual
- Attribuez une adresse de passerelle :
sudo nmcli connection modify <VIRTUAL_BRIDGE_CON-NAME> ipv4.gateway <GATEWAY_IP>
- Attribuez une adresse DNS :
sudo nmcli connection modify <VIRTUAL_BRIDGE_CON-NAME> ipv4.dns <DNS_IP>
- Ajoutez la connexion esclave du pont :
sudo nmcli connection add type bridge-slave autoconnect yes con-name <MAIN_INTERFACE_WITH_INTERNET_ACCESS_CON-NAME> ifname <MAIN_INTERFACE_WITH_INTERNET_ACCESS_IFNAME> master <VIRTUAL_BRIDGE_CON-NAME>
- Démarrer la connexion du pont :
sudo nmcli connection up <VIRTUAL_BRIDGE_CON-NAME>
- Ajoutez la ligne
allow all
àbridge.conf
:
sudo tee -a /etc/qemu-kvm/bridge.conf <<EOF
allow all
EOF
- Redémarrez le service
libvirtd
:
sudo systemctl restart libvirtd
Installation de machine virtuelle¶
- Définissez la propriété du répertoire
/var/lib/libvirt
et de ses répertoires imbriqués sur votre utilisateur :
sudo chown -R $USER:libvirt /var/lib/libvirt/
- Vous pouvez créer une machine virtuelle sur la ligne de commande en utilisant la commande
virt-install
. Par exemple, pour créer une machine virtuelle Rocky Linux 9.5 Minimal, vous devez exécuter la commande suivante :
virt-install --name Rocky-Linux-9 --ram 4096 --vcpus 4 --disk path=/var/lib/libvirt/images/rocky-linux-9.img,size=20 --os-variant rocky9 --network bridge=virbr0,model=virtio --graphics none --console pty,target_type=serial --extra-args 'console=ttyS0,115200n8' --location ~/isos/Rocky-9.5-x86_64-minimal.iso
- Pour ceux qui souhaitent gérer leurs machines virtuelles via une interface graphique,
virt-manager
est l'outil parfait.
Comment éteindre une machine virtuelle¶
- La commande
shutdown
accomplit ceci :
virsh shutdown --domain <YOUR_VM_NAME>
- Pour forcer l'arrêt d'une VM qui ne répond pas, utilisez la commande
destroy
:
virsh destroy --domain <YOUR_VM_NAME>
Comment supprimer une machine virtuelle¶
- Utilisez la commande
undefine
:
virsh undefine --domain <YOUR_VM_NAME> --nvram
- Pour plus de commandes
virsh
, consultez les pages de manuelvirsh
.
Conclusion¶
- libvirt offre de nombreuses possibilités et vous permet d'installer et de gérer vos machines virtuelles en toute simplicité. Si vous avez des ajouts ou des modifications à apporter à ce document que vous souhaiteriez partager, l’auteur vous invite volontiers à le faire.
Author: Howard Van Der Wal
Contributors: Steven Spencer