Outils pour utilisateurs

Outils du site


kvm

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

kvm [2015/11/19 20:30] (Version actuelle)
Ligne 1: Ligne 1:
 +
 +===== KVM =====
 +
 +Marre de se battre avec [[:​xen|Xen]] et sa mauvaise intégration dans [[:​old:​debian|Debian]].
 +
 +Et surtout son [[:​noyau|noyau]] Dom-0 en carton.
 +
 +Place à [[:​kvm|KVM]].
 +
 +Pour le réseau, c'est pareil:
 +
 +  * création d'un bridge
 +  * configuration (avec une ip)
 +  * activation ip_forward
 +  * activation masquerading sur eth0
 +
 +//bug:// pour une raison x ou y, impossible d'​avoir du réseau avec la carte eth0 dans un bridge...
 +
 +Non, c'est plus un problème de configuration. Il faut penser à supprimer l'​adresse de l'​interface //eth// avant de la déconfigurer. (voir la commande ip addr delete...)
 +
 +==== Installation ====
 +
 +yum install qemu-kvm libvirt-daemon-kvm virt-install
 +
 +==== Migration workine ====
 +
 +Le test suivant a été réalisé:
 +
 +Création d'une machine virtuelle [[:​old:​debian|Debian]] de base et montage d'un LV [[:​xen|xen]] existant => impeccable.
 +
 +Donc je crois que c'est ce que l'on va faire ...
 +
 +La migration a été faite: [669]
 +
 +==== Astuces ====
 +
 +Pour pouvoir ouvrir une console via //%%virsh -c qemu:///​system console machine%%// il faut une directive **console=ttyS0** dans la ligne //kernel// de [[:​grub|grub]].
 +
 +Pour pouvoir manipuler les vm en tant qu'​utilisateur standard:
 +
 +  - il faut appartenir aux groupes kvm et libvirt
 +  - il faut se connecter (explicitement) sur <​code>​qemu:///​system</​code>​
 +  - ou définir cette url via la VE  //​VIRSH_DEFAULT_CONNECT_URI//​
 +
 +==== Installer un vm en ligne de commande ====
 +facile:
 +<​code>​
 +virt-install \
 + ​--name=foo \
 + ​--ram=1024 \
 + ​--location=http://​centos.mirror.fr.planethoster.net/​6/​os/​i386 \
 + ​--boot=hd ​ \
 + ​--disk path=/​srv/​foo.img,​size=8,​cache=none,​sparse=true,​bus=virtio \
 + ​--network bridge=virbr0 \
 + ​--graphics=vnc,​password=foobar,​keymap=fr \
 + ​--hvm ​ \
 + ​--autostart
 +</​code>​
 +
 +Pour se connecter à cette machine, on utilise [[:​vnc|vnc]] (voir le paramètre //​graphics//​ ci-dessus) qui n'​écoute qu'en local, mais tout le monde sait faire un //tunnel ssh//
 +
 +Sinon, on peut utiliser virt-manager
 +
 +==== virt-manager ====
 +
 +Interface (assez basique) de gestion d'​hyperviseur. Se base sur libvirt, donc indépendant de l'​hyperviseur,​ bien que plutôt utilisé avec [[:​kvm|kvm]].
 +
 +Pour l'​utiliser avec [[xen]] : il faut, sur la machine hôte installer //​netcat-openbsd//​ et //​libvirtd//​ qui doit écouter sur le réseau (port tcp8000), ​
 +
 +Pour l'​utiliser comme utilisateur simple sur [[:fedora]] il faut modifier [[polkit]] :
 +<​code>​
 +cat /​etc/​polkit-1/​rules.d/​51-polkit.rules
 +
 +polkit.addRule (function (a,s) {
 +    if (a.id.indexOf ('​org.libvirt.unix.'​) == 0 && (s.isInGroup( '​wheel'​) || s.isInGroup( '​libvirt'​ ) ) )                                                      ​
 +    return polkit.Result.YES;​
 +    });
 +</​code>​
 +
 +Le code ci-dessus autorise les membres des groupes //libvirt// ou //wheel// à utiliser virt-manager pour **administrer** les machines virtuelles.
 +
 +On peut utiliser l'​action //​org.libvirt.monitor//​ pour déléguer la visualisation des machines :
 +
 +<​code>​
 +polkit.addRule (function (a,s) {
 +    if (a.id=='​org.libvirt.unix.monitor'​ && (s.isInGroup( '​adm'​) ​ ) )                                                                                          ​
 +    return polkit.Result.YES;​
 +    });
 +</​code>​
 +
 +En français: les membres du groupe //adm// ont le droit de jeter un oeil sur les vm.
 +==== Snapshot ====
 +
 +Les snapshot permettent d'​enregistrer l'​état de la machine à un moment donné (par ex avant une grosse mise à jour).
 +
 +Prérequis : les fichiers de disque doivent être au format //qcow2//. Conversion possible : 
 +<​code>​
 + ​[[:​sudo|sudo]] qemu-img convert -p -O qcow2 lenine.img lenine.qc2.img
 +</​code>​
 +
 +==== Passer de LVM à des images disques ====
 +
 +Parce que vous souhaitez, par exemple, bénéficier des fonctionnalités de migration ou de snapshot:
 +
 +<​code>​
 +qemu-img convert -O qcow2 /​dev/​vg_name/​lv_name /​var/​lib/​libvirt/​disk.img
 +</​code>​
 +
 +
 +# vim: set filetype=dokuwiki:​
  
kvm.txt · Dernière modification: 2015/11/19 20:30 (modification externe)