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