Skip to main content

Virtualisation

Virt-Manager

Pour ARCH et dérivées

Il faut bien vérifier que l’utilisateur fait partie du groupe libvirt, pour contrôler, il suffit de faire la commande id, pour l’ajouter, il suffit de faire la commande sudo adduser utilisateur libvirt (Arch : sudo usermod -aG libvirt $user), il faut aussi contrôler que le service libvirtd est bien activé, pour se faire lancer la commande systemctl status libvirtd, s’il n’est pas activé, il suffit de faire la commande : systemctl enable libvirtd, il ne faut pas oublier de relancer le système pour la prise en compte des modifications.

Pour Debian et dérivées

Il faut ajouter l'utilisateur aux groupes kvm et libvirt-qemu.
sudo usermod -aG kvm,libvirt-qemu $USER

Créer un disque virtuel dynamiquement allouer qcow2

qemu-img create -f qcow2 fichier.qcow2 20G

Paquet à installer pour la prise en charge de l’EFI

sudo apt-get install ovmf

Installer l'équivalent des additions invité de VirtualBox avec Virt-Manager

Il suffit d'installer les paquets spice-vdagent qemu-guest-agent libvirt0 xserver-xorg-video-qxl

Pour Windaube https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.215-2/
Explications des additions invitées : https://www.deltasight.fr/les-differentes-additions-invite-kvm-spice/
https://www.spice-space.org/download.html

Convertion de disques virtuels

VDI vers QCOW2 (virtualBox)

qemu-img convert -c -f vdi mondisque.vdi -O qcow2 mondisque.qcow2

VMDK vers QCOW2 (VmWare)

qemu-img convert -c -f vmdk mondisque.vdi -O qcow2 mondisque.qcow2

Si après conversion il y a des problèmes de réseau avec la machine virtuelle, il suffit de contrôler la similitude des interfaces réseau.
Pour ce faire, il suffit de comparer le résultat de ces 2 commandes :

ip a
cat /etc/network/interfaces

S'il existe une différence entre les 2 résultats au niveau de l'interface, celle faisant foi est celle de la première commande (ip a).
Il suffira donc de changer l'interface dans etc/network/interfaces (avec nano ou autre).

Monter un disque QCOW2

Ceci est un guide rapide pour monter des images disque qcow2 sur votre serveur hôte. Ceci est utile pour réinitialiser les mots de passe, modifier des fichiers ou récupérer quelque chose sans que la machine virtuelle soit en cours d'exécution.

Étape 1 - Activer NBD sur l'hôte

modprobe nbd max_part=8

Étape 2 - Connectez le QCOW2 en tant que périphérique de bloc réseau

qemu-nbd --connect=/dev/nbd0 /var/lib/vz/images/100/vm-100-disk-1.qcow2

Étape 3 - Rechercher les partitions de la machine virtuelle

fdisk /dev/nbd0 -l

Étape 4 - Monter la partition depuis la VM

mount /dev/nbd0p1 /mnt/somepoint/

Étape 5 - Après avoir terminé, démontez et déconnectez-vous

umount /mnt/somepoint/
qemu-nbd --disconnect /dev/nbd0
rmmod nbd

Ajuster la résolution sur GDM3 de l’invité

Pour ce faire, il suffit de lancer cette commande sudo cp ~/.config/monitor.xml /var/lib/gdm3/.config et redémarrer la machine

Multi-écrans

Pour rajouter des écrans, il suffit d’éditer Video QXL en mode XML et doublé ou triplé les valeurs selon le nombre d’écrans voulu.
Ensuite, une fois la machine lancer, il faut exécuter la commande :
remote-viewer spice://localhost:5900 ou encore mieux la commande virt-viewer là une nouvelle fenêtre s’ouvre avec la VM afficher, il suffit d’aller dans affichage et coché les écrans supplémentaires.
Source => https://linuxfr.org/users/jobpilot/journaux/virt-manager-vm-avec-plusieurs-ecrans

Dossier partager (hôte invité)

Dans l'exemple, le dossier de partage se nommera partage et se trouve dans le répertoire personnel. La première opération est de créer le répertoire partage dans le dossier personnel.
mkdir ~/partage

Ensuite dans virt-manager, il faut aller dans Ajouter un matériel puis Système de fichiers, ensuite :
Type : mount
Pilote : Default
Mode : Mapped
Chemin de la source : /home/$user/partage là, on renseigne quel répertoire partage, remplacez $user par le nom de l'utilisateur.
Chemin de la cible : /partage, c'est le point d'accès dans l'invité.

Dans la machine virtuelle, nous allons créer ce même répertoire.
mkdir ~/partage Ensuite, il reste plus qu'à monter le partage dans ce répertoire.
sudo mount -t 9p -o trans-virtio /partage ~/partage
Source : https://www.youtube.com/watch?v=fItncVR7d6w

Créer un snapshot de disque virtuel EFI

Pour créer un snapshot d'une installation EFI ont ne peut passer par l'interface graphique pour le moment, voici la commande qui permet de le faire, ne pas oublier de l'adapter :

virsh snapshot-create-as --domain dual-boot --name=10-11-2020 --description="dual boot ok avec additions invitées" --disk-only

Pour le restaurer, le supprimer est apparemment la seule solution, voici la commande pour supprimer le dernier snapshot :
virsh snapshot-delete dual-boot --current

Pour lister les snapshot :
virsh snapshot-list dual-boot

Exporter une machine virtuelle

Pour exporter une machine virtuelle, il suffit de faire une copie de son disque virtuel.
Pour faire une sauvegarde de son fichier de configuration, il suffit d’exécuter la commande suivante en remplaçant GuestID pas le nom de la machine :
virsh dumpxml GuestID > guest.xml

Importer une machine virtuelle

Une fois l’exportation effectuée, il suffit de placer le disque virtuel sur le nouvel hôte et lancer la commande suivante pour importer la configuration :
virsh define configuration_file.xml

Erreurs

Error starting domain: Requested operation is not valid: network 'default' is not active Dans un premiser temps, il faut contrôler que la connexion " default " est bien active avec la commande :

virsh net-list--all

Et contrôler si la connection virbr0 existe bien et si elle a une adresse IP

ifconfig virbr0 ou ip a

Si ce n'est pas le cas, la solution est de lancer les commandes suivantes et de redémarrer le système.

systemctl enable --now libvirtd
systemctl enable virtlogd.socket
systemctl restart libvirtd.service
sudo apt-get install ebtables
sudo apt-get install dnsmasq
sudo apt-get install bridge-utils

Test de clé USB bootable

Pour tester une clé USB bootable en virtuel dans le système actuel, il suffit de lancer la commande sudo qemu-system-x86_64 -hda /dev/sdX en remplaçant X par la lettre de la clé.

VirtualBox

Pour avoir tous les périphériques USB connectables à la machine virtuelle

Il suffit d’ajouter l’utilisateur au groupe vboxusers

sudo adduser $user vboxusers

Activation de l'USB 2 et 3

In suffit de télécharger le bon extpack pour la bonne version de virtualbox

https://download.virtualbox.org/virtualbox