Libvirt
Installation des paquets
dnf install virt-install libvirt-python libvrt-client libvrt-daemon libvirt-daemon-ddriver-qemu qemu-kvm qemu-img
Démarrer les services libvrtd
et virtlogd
Création de la machine virtuelle
Exemple pour l'installation de debian 8 depuis les dépots d'images
virt-install \
--name=mail \
--file=/var/lib/libvirt/images/mail.dsk \
--file-size=8 \
--vcpus=2 --ram=2048 \
--location http://cdn-fastly.deb.debian.org/debian/dists/jessie/main/installer-amd64/ \
--extra-args "console=ttyS0,115200n8 serial" \
--os-type linux \
--os-variant generic \
--network bridge=virbr0 \
--graphics none \
--console pty,target_type=serial
Repertoires partagés
Configuration de l'host
- Dans
/etc/libvirt/qemu.conf
trouver et décommenter les lignes
#user = "root"
#group = "root"
#dynamic_ownership = 1
Modier ensuite les valeurs pour
user = "qemu" #Ou l'utilisateur avec lequel qemu est censé être lancé
group = "qemu" #Idem
dynamic_ownership = 0 #Requis pour les configurations qui vont suivre
-
Redémarrer libvirt
systemctl restart libvirtd
. -
Modifier ensuite les paramètre de la VM (
virsh edit [domain]
) et rajouter dans le noeud<devices>
<filesystem type='mount' accessmode='mapped'>
<source dir='/data/mails'/> <!-- Répertoire a partager (sur l'host) -->
<target dir='sharedDirMails'/> <!-- label avec lequel le périphérique virtuel va être accessible -->
</filesystem>
- Créer le répertoire
/data/mails
avec qemu:qemu comme propriétaire. - Redémarrer la machine virtuelle
virsh reboot [domain]
.
Configuration du guest
- Editer le fichier
/etc/modules
pour être sur que les bons modules soient chargés :
# cat >>/etc/modules <<EOF
loop
virtio
9p
9pnet
9pnet_virtio
EOF
-
Charger les modules
systemctl restart kmod
-
Créer le répertoire
/opt/share/mails
-
Le répertoire peut maintenant être monté
mount sharedDirMails /opt/share/mail -t 9p -o trans=virtio,version=9p2000.L
-
Pour monter le répertoire au démarrage de la VM, editer
/etc/fstab
en ajoutant
sharedDirMails /opt/share/mails 9p trans=virtio,version=9p2000.L 0 2
Commandes utiles
virsh list --all
: liste toutes les vm peut importe l'étatvirsh shutdown [domain]
virsh reboot [domain]
virsh start [domain]
: arrete / redémarre ou démarre la vm[domain]
virsh destroy [domain]
: force l'arret de la machinevirsh undefine [domain]
: oublie la vm[domain]
virsh net-dhcp-leases --network default
: récupère la liste des leases dhcp pour le réseau par défaut
Liens utils
https://raymii.org/s/articles/virt-install_introduction_and_copy_paste_distro_install_commands.html http://rabexc.org/posts/p9-setup-in-libvirt http://www.linux-kvm.org/page/9p_virtio