Virtualisation KVM avec Libvirt sur une machine (Squeeze) roulant déjà Openvz

Documentation

NB : j'ai suivi la première.

On prépare le serveur

Ne pas taper les commandes sans en comprendre le sens, lire la première doc citée ci-dessus (je n'en fais qu'un résumé)

apt-get install kvm qemu-kvm libvirt-bin virtinst
adduser `id -un` libvirt
adduser `id -un` kvm
adduser mnombre kvm ; adduser mnombre libvirt                  <---- pour l'accès depuis son Ubuntu avec virt-manager
# installation et configs réseau (bridge-utils) : vu qu'on utilise une machine Openvz, cette config est déjà faite

C'est tout le serveur KVM est prêt !

Les machines virtuelles

On peut créer nos machines virtuelles. Et là nous avons deux choix : ligne de commande (méthode utilisée) ou interface graphique (non expérimentée jusqu'où bout, cf le NB plus bas)

Migration de machine kvm d'un hôte à un autre

copier/coller de mes notes (NM)

vz-tech :virsh -c qemu:///system dumpxml labo-si > labo-si.xml
vz-intranet : nc -l -p 12345 | dd bs=1M of=/dev/vz/569-labo-si
vz-tech : dd bs=1M if=/dev/serveurs-virtuels/569-labo-si |nc vz-intranet.ca.auf 12345
vz-intranet : kill -USR1 9895 # pour suivre l'évolution
rsync du labo-si.xml vers vz-intranet
   modifier les noms de vg dans labo-si.xml (serveurs-virtuels --> vz)
vz-intranet :virsh -c qemu:///system define /tmp/labo-si.xml
virt-manager vz-intranet
   vérifier et corriger les bridges
   démarrer la kvm
vz-tech : virsh -c qemu:///system undefine labo-si

Augmentation de la taille des disques

  1. Dans l'hôte :
    • augmentation de la taille :
      • pour une VM dans une lv : lvresize -L 20G /dev/vz/415-kvm-sirh-disk2

      • pour une VM en img : virsh blockresize glpi /var/lib/libvirt/images/glpi-data.img 75G

  2. Dans la VM :
    • vérifier la nouvelle taille du disque : fdisk -l /dev/sda

    • photo de la table des partitions : sfdisk -d /dev/sda > /boot/sda.dump et aussi

    • refaire la table des partition : fdisk /dev/sda

    • (!) si le premier secteur de l'ancienne partition est < 2048, ajouter l'option -c=dos pour autoriser un début de partition en dessous de cette nouvelle norme

      • lister les partition et bien noter le début de la partition (par ex. 63) : p

      • supprimer la partition voulue : d

      • recréer la partition : n

      • (!) vérifier le début et s'assurer que la nouvelle partition commence exactement au même endroit que la précédente (par ex. 63)

      • s'assurer que le type de partition soit le même que l'ancien (par ex. 8e) : t

      • enregistrer : w

      • et quitter : q

    • Redémarrer la VM (soit un reboot dans la VM, soit un redémarrage depuis l'hôte)

    • Retourner dans la VM pour retailler le PV : pvresize /dev/sda1

(!) À noter que, quand on souhaite utiliser la totalité d'un disque, il serait préférable de faire directement le PV sur /dev/sda plutôt que de partitionner. Cela permettrait de s'affranchir de toutes les étapes de partitionnement et ne nécessiterait qu'un seul redémarrage de la VM (pour que KVM informe de la nouvelle taille du disque). Il serait peut-être même possible que KVM informe de la nouvelle taille sans même avoir à redémarrer, avec un simple reload/SIGHUP (piste à explorer). -- ProgFou


Virtualisation KVM avec Libvirt sur une machine (Wheezy) sans Openvz

Documentation

Installation d'une nouvelle VM

La section "On prépare le serveur" est valable pour ce qui va suivre aussi

Création d'une VM Debien 7, nommée testkvm2 avec 1024 de RAM et un disk de 10G0, sur le bridge br0.

# virt-install --connect qemu:///system --virt-type kvm --name testkvm2 --ram 1024 --disk /var/lib/libvirt/images/testkvm2,size=10 --cdrom /var/lib/libvirt/template/debian-7.5.0-amd64-netinst.iso --network bridge=br0 --vnc --os-type linux --os-variant debianwheezy

Lire les explications décrites : ici

La VM sera lancée automatiquement. Il faudra alors utiliser virt-manager depuis un Desktop graphique (Ubuntu par exemple) pour poursuivre l’installation.

Créer une VM depuis une image disque existante, KVM-PROXMOX par exemple

# virt-install --import --disk path=/var/lib/libvirt/images/vm-106-disk-1.raw --disk path=/var/lib/libvirt/images/vm-106-disk-2.raw --vcpus=2 --ram=1024 --name=ifadem-fichiers --hvm --vnc --network bridge:br0

#  virsh list --all
 Id    Name                           State
----------------------------------------------------
 4     ifadem-fichiers                running
 -     testkvm2                       shut off

Créer une VM depuis une image existante avec une configuration existante

Mettre en place un gabarit personnalisé de VM

cf http://ostolc.org/kvm-clone-guests-from-template-image.html

Convertir une VM de lvm à img

qemu-img convert -O qcow2 /dev/mapper/vz-511--glpi /var/lib/libvirt/images/glpi-sys.img

source http://nocoast-tech.blogspot.ca/2010/05/converting-kvm-guests-from-lvm-to-qcow2.html

Suivi des infos sur les VM avec Munin

Sur Debian c'est aussi simple que :

sudo apt-get install munin-libvirt-plugins
sudo munin-libvirt-plugins-detect
sudo service munin-node restart

Sauvegardes des VM

Sous pages


KVMLibvirt (dernière édition le 2017-09-27 18:15:42 par MoussaNombre)