KVM-Qemu

De TechWik
Révision datée du 10 mars 2018 à 05:26 par Toine (discussion | contributions) (Toine a déplacé la page KVM vers KVM-Qemu)
Aller à : navigation, rechercher

KVM/qemu, libvirt

Config réseau: redirection de port sur réseau NATé

Voir la section "Forwarding Incoming Connections" de la page https://wiki.libvirt.org/page/Networking

Conversion de VMs

Import VMDK (VMware)

Récupérer l'image disque VMDK (cas fichier unique)

 # qemu-img info vmdisk1.vmdk
   image: vmdisk1.vmdk
   file format: vmdk
   virtual size: 13G (13958643712 bytes)
   disk size: 5.3G
 # qemu-img convert -O qcow2 vmdisk1.vmdk <VM-images-store>/newvm.img
 # cd /etc/libvirt/qemu
Créer une nouvelle VM avec ce disque.

A voir: avec image splitée: comment fait-on?

Utilisation

virsh: commandes utiles

Attacher/détacher une image iso au CD d'une VM

Attacher une image iso au cdrom :

 # virsh attach-disk myVMdomain mypath.iso hdc --type cdrom --mode readonly

Détacher:

 # virsh change-media myVMdomain hdc --eject
ou pour modif sur VM éteinte:
 # virsh change-media VM30-prodrh6-64 hdc --eject --config

Executer virt-manager, virt-viewer par un utilisateur non-root sans mot de passe

première possibilité: utiliser sudo.

deuxième option sans sudo

  • sous fedora-20 ou Centos 7, libvirt implémente policy-kit (voir sur le wiki fedora: [1]). On peut alors autoriser l'accès en se basant par exemple sur un groupe particulier de l'utilisateur. Pour autoriser les utilisateurs locaux et connectés du groupe wheel, créer le fichier /etc/polkit-1/rules.d/80-libvirt.rules avec le contenu:
 polkit.addRule(function(action, subject) {                                                                                                    
   if (action.id == "org.libvirt.unix.manage" && subject.local && subject.active && subject.isInGroup("wheel")) {
     return polkit.Result.YES;
   }
 });
  • sous fedora-21: il suffit d'ajouter le group libvirt à l'utilisateur.

guestfish / guestmount : manipuler des images disque

guestfish - the guest filesystem shell

 Permet de monter une image ou des images en read-only ou read-write (sur image stoppée, sinon risque élevé de corruption)
 $ sudo guestfish --ro -a /shared/VMimages/debian7.qcow2
 Welcome to guestfish, the guest filesystem shell for
 editing virtual machine filesystems and disk images.
 ><fs> run
 ><fs> list-filesystems
 /dev/sda1: ext2
 /dev/sda2: unknown
 /dev/deb7-vg/root: ext4
 /dev/deb7-vg/swap_1: swap
 ><fs> mount /dev/deb7-vg/root /
 ><fs> cat /etc/fstab
 ... 
   et pour quitter: 
 ><fs> exit

guestmount - Mount a guest filesystem on the host using FUSE and libguestfs

Permet de monter une image en read-only ou read-write (sur image stoppée, sinon risque élevé de corruption)

 $ sudo guestmount --ro -a /shared/VMimages/debian7.qcow2 -m /dev/kali2-vg/root /mnt/tmp
 $ sudo cat /mnt/tmp/etc/fstab
 ... 

Ensuite pour démonter l'image: