Passer au contenu principal

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'état virsh 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 machine virsh 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