KVM-Qemu : Différence entre versions
m |
m (ajout copier/coller VM Windows) |
||
| (6 révisions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 2 : | Ligne 2 : | ||
== Config réseau: redirection de port sur réseau NATé == | == 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 | 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? | ||
| + | ===Import avec virt-v2v === | ||
| + | Voir : https://www.redhat.com/fr/blog/importing-vms-kvm-virt-v2v | ||
== Utilisation == | == 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 === | ===Executer virt-manager, virt-viewer par un utilisateur non-root sans mot de passe === | ||
==== première possibilité: utiliser sudo. ==== | ==== première possibilité: utiliser sudo. ==== | ||
| Ligne 13 : | Ligne 36 : | ||
}); | }); | ||
* sous fedora-21: il suffit d'ajouter le group libvirt à l'utilisateur. | * 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: | ||
| + | |||
| + | = KVM/qemu: copier/coller vers/depuis une VM Windows = | ||
| + | |||
| + | Sur la machine virtuelle Windows, télécharger et installer spice-guest-tools depuis https://www.spice-space.org/download.html. | ||
| + | |||
| + | Vérifier avec virt-manager que : | ||
| + | |||
| + | * le mode "Video QXL" de la VM est bien positionné à QXL | ||
| + | * un canal spice existe, de type "spicevmc" et ayant pour cible "com.redhat.spice.0" | ||
| + | |||
| + | Arrêter et redémarrer la VM. En principe, ça fonctionne. | ||
| + | |||
| + | Voir aussi: https://blogs.nologin.es/rickyepoderi/index.php?/archives/87-Copy-n-Paste-in-KVM.html | ||
| + | |||
| + | [[Category:Linux]] | ||
| + | [[Category:KVM]] | ||
| + | [[Category:Virtualisation]] | ||
Version actuelle datée du 10 mai 2020 à 17:20
Sommaire
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?
Import avec virt-v2v
Voir : https://www.redhat.com/fr/blog/importing-vms-kvm-virt-v2v
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:
KVM/qemu: copier/coller vers/depuis une VM Windows
Sur la machine virtuelle Windows, télécharger et installer spice-guest-tools depuis https://www.spice-space.org/download.html.
Vérifier avec virt-manager que :
- le mode "Video QXL" de la VM est bien positionné à QXL
- un canal spice existe, de type "spicevmc" et ayant pour cible "com.redhat.spice.0"
Arrêter et redémarrer la VM. En principe, ça fonctionne.
Voir aussi: https://blogs.nologin.es/rickyepoderi/index.php?/archives/87-Copy-n-Paste-in-KVM.html