diff --git a/HowtoKVM.md b/HowtoKVM.md index cd519e95..82474991 100644 --- a/HowtoKVM.md +++ b/HowtoKVM.md @@ -1,8 +1,12 @@ -# Howto KVM +--- +categories: virtualisation +title: Howto KVM +... * Documentation KVM : * Documentation libvirt : -* virsh(1) : +* virsh(1) : +* Statut de cette page : prod / bullseye [KVM](http://www.linux-kvm.org/) est une technologie de virtualisation intégrée au noyau Linux. On l'utilise avec [libvirt](https://libvirt.org), une surcouche qui facilite l'utilisation de la virtualisation. @@ -17,18 +21,18 @@ Pour installer un hyperviseur (machine capable de faire tourner des machines vir ~~~ $ kvm --version -QEMU emulator version 2.8.1(Debian 1:2.8+dfsg-6+deb9u4) -Copyright (c) 2003-2016 Fabrice Bellard and the QEMU Project developers +QEMU emulator version 5.2.0 (Debian 1:5.2+dfsg-11+deb11u2) +Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers $ virsh -V -Virsh command line tool of libvirt 3.0.0 -See web site at http://libvirt.org/ +Virsh command line tool of libvirt 7.0.0 +See web site at https://libvirt.org/ Compiled with support for: - Hypervisors: QEMU/KVM LXC UML Xen LibXL OpenVZ VMware VirtualBox Test - Networking: Remote Network Bridging Interface netcf Nwfilter VirtualPort - Storage: Dir Disk Filesystem SCSI Multipath iSCSI LVM RBD Sheepdog ZFS - Miscellaneous: Daemon Nodedev AppArmor SELinux Secrets Debug DTrace Readline Modular + Hypervisors: QEMU/KVM LXC LibXL OpenVZ VMware VirtualBox ESX Test + Networking: Remote Network Bridging Interface netcf Nwfilter + Storage: Dir Disk Filesystem SCSI Multipath iSCSI LVM RBD Gluster ZFS + Miscellaneous: Daemon Nodedev AppArmor SELinux Secrets Debug DTrace Readline ~~~ Installation de virt-manager : @@ -86,7 +90,7 @@ Le CPU pinning permet d’attacher un processus à un CPU particulier. La machin Pour choisir les CPU, on peut s’appuyer sur les informations sur la topologie du processeur avec la commande `lspcu`. -``` +~~~ $ lscpu -e=cpu,core,cache CPU CORE L1d:L1i:L2:L3 0 0 0:0:0:0 @@ -105,11 +109,11 @@ CPU CORE L1d:L1i:L2:L3 13 5 5:5:5:1 14 6 6:6:6:1 15 7 7:7:7:1 -``` +~~~ On voit ici que les CPU 4 et 12 (1ère colonne) sont dans le même _core_ (2ème colonne). Les CPU 4 à 7 et 12 à 15 partagent le même cache L3 (3ème colonne, dernier caractère). La configuration XML ci-dessous associe à la machine virtuelle les CPU 4 à 7 et 12 à 15. -```xml +~~~{.xml} […] 8 @@ -124,7 +128,7 @@ On voit ici que les CPU 4 et 12 (1ère colonne) sont dans le même _core_ (2ème […] -``` +~~~ La machine virtuelle ne pourra utiliser que ces processur, mais ça n’empêchera pas des processus de l’hôte de les utiliser aussi. Pour empêcher ça, il faudra isoler les CPU. @@ -1181,14 +1185,14 @@ tic $ virsh domrename Pour Debian 7 et inférieur, la commande `virsh domrename` n'existe pas. On peut alors contourner de cette manière : -``` +~~~ # cd /etc/libvirt/qemu/ # cp .xml .xml # virsh undefine # vim .xml # : faire les modifications de l'étape 8 ainsi que le changement de nom dans la balise # virsh define .xml -``` +~~~ 8. On ajuste les chemins des volumes dans la définition de la VM @@ -1549,7 +1553,7 @@ Cela ne résoud pas forcément le problème. Parfois suite à la commande virt-install on n'a toujours pas de CD dans la définition de la VM. Un bloc fonctionnel ressemble à : -~~~ +~~~{.xml} @@ -1557,18 +1561,17 @@ Parfois suite à la commande virt-install on n'a toujours pas de CD dans la déf
- ~~~ Il faudra possiblement rajouter -~~~ +~~~{.xml} ~~~ avant `hd` dans le block -~~~ +~~~{.xml} hvm @@ -1581,7 +1584,7 @@ afin de bien booter sur le CD. Si on veut que le vnc mis en place utilise une disposition de clavier qwerty -~~~ +~~~{.xml} ~~~ @@ -1603,7 +1606,7 @@ Sur certains hyperviseurs et certains CPU, il est possible que le mode CPU `host Il faut donc, dans le fichier xml, mettre le modèle de CPU de l'hyperviseur correspondant, exemple avec un modèle Sandy Bridge : -~~~ +~~~{.xml} SandyBridge