Virtualisation avec Fedora 15 KVM et Spice (3/3)

Pour finir cette première introduction avec la virtualisation sur Fedora 15, voici quelques commandes utiles.  

Gérer les vms

Listes les vms

La commande suivante permet de lister les vms actives :
# virsh list
Et celle-ci de lister toutes les vms :
# virsh list --all
 

Démarrer / Arrêter / Détruire une vm

Pour démarrer une vm :
# virsh start nom_vm
Pour arrêter une vm :
# virsh shutdown nom_vm
Pour forcer l’arrêt d’une vm plantée par exemple :
# virsh destroy nom_vm
 

Cloner une vm existante

Il est possible de cloner une vm. Par exemple ici on clone la vm03 en vm05 :
# virt-clone -o vm03 -n vm05 -f /var/lib/libvirt/images/vm05.img
 

Supprimer une vm

Pour supprimer une vm il faut :
  1. l’éteindre
  2. la supprimer des vms existantes
  3. effacer le fichier img ou la partition lvm
  Pour le point 2 il faut faire :
# virsh undefine nom_vm
 

Editer la configuration d’une vm

Il ne faut pas modifier directement le fichier xml contenant la configuration de la vm. Il faut utiliser l’outils virsh :
# virsh edit nom_vm
On se retrouve dans un éditeur classique (VI par exemple) et on peut éditer le fichier.  

Créer une vm à partir d’un fichier img existant

Il est possible de récupérer un fichier contenu une vm kvm, cependant il faut pour faire fonctionner cette vm créer le fichier de configuration adéquat. Pour cela on va faire comme ceci en supposant que vm.img est le fichier de la vm récupéré :
# virt-install --name nom_vm --ram 2048 --vcpus 1 --disk path=/var/lib/libvirt/images/vm.img --import --noautoconsole --network=bridge:br0 --graphics spice,port=5901,listen=192.168.37.1 --video cirrus --channel spicevmc,target_type=virtio --soundhw ac97 --os-type=linux --force
   

Monter un fichier img sur le système de fichier

Il peut arriver d’avoir besoins de modifier une information dans une machine virtuelle sans la démarrer avec l’hyperviseur. Il faut impérativement que le fichier img soit un fichier de taille complète et non pas de taille dynamique. Voici la procédure à suivre : vm01.img est le fichier que nous voulons monter sur le système de fichier :
# losetup -f
# losetup /dev/loop0 /var/lib/libvirt/images/vm01.img
# yum install kpartx

# kpartx -av /dev/loop0
add map loop0p1 (253:3): 0 1024000 linear /dev/loop0 2048
add map loop0p2 (253:4): 0 19945472 linear /dev/loop0 1026048

# ls -alF /dev/mapper/
total 0
drwxr-xr-x.  2 root root     160 19 avril 15:32 ./
drwxr-xr-x. 20 root root    3680 19 avril 15:32 ../
crw-------.  1 root root 10, 236 19 avril 14:08 control
lrwxrwxrwx.  1 root root       7 19 avril 15:32 loop0p1 -> ../dm-3
lrwxrwxrwx.  1 root root       7 19 avril 15:32 loop0p2 -> ../dm-4
lrwxrwxrwx.  1 root root       7 19 avril 14:08 vg_srvfed15-lv_home -> ../dm-2
lrwxrwxrwx.  1 root root       7 19 avril 14:08 vg_srvfed15-lv_root -> ../dm-1
lrwxrwxrwx.  1 root root       7 19 avril 14:08 vg_srvfed15-lv_swap -> ../dm-0
  Une difficulté supplémentaire est que nous avons des partitions lvm dans le fichier image. Il faut donc rescanner les volumes groupes disponibles :
# vgscan
Reading all physical volumes.  This may take a while...
Found volume group "vg_vmfedora15" using metadata type lvm2
Found volume group "vg_srvfed15" using metadata type lvm2

# vgchange -ay
2 logical volume(s) in volume group "vg_vmfedora15" now active
3 logical volume(s) in volume group "vg_srvfed15" now active

# mount /dev/vg_vmfedora15/lv_root /mnt/tmp1/
Une fois les manips finies :
# vgchange -an vg_vmfedora15
0 logical volume(s) in volume group "vg_vmfedora15" now active

# kpartx -d /dev/loop0
# losetup -d /dev/loop0
   

Conclusion

Voilà cette première introduction avec la virtualisation kvm et spice terminée. Il reste encore pas mal de choses à explorer pour devenir un administrateur chevronné sur ces technologies mais l’aventure fut intéressante.
  1. Un tout petit tips, mais a priori tu peux utiliser kpartx directement sur le fichier image, il va lui même se charger d’associer l’image à un loop device disponible.

    Pour créer le device
    # kpartx -av image.bin
    Pour le supprimer
    # kpartx -dv image.bin

Laisser un commentaire


NOTE - Vous pouvez utiliser les éléments et attributs HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <font color="" face="" size=""> <span style="">