Différences entre les versions de « Kvm Config xml »
| Ligne 122 : | Ligne 122 : | ||
<pre> | <pre> | ||
Pour monter un cdrom mis dans l hyerviseur | Pour monter un cdrom mis dans l hyerviseur. Si on met la config ci dessous, lorsque l on insert un dvd dans l hyperviseur (et / ou que l'on change de dvd), il n'est pas nécessaire de | ||
rebooter la vm, juste faire un refresh dans la vm sur le lecteur | |||
<disk type='block' device='cdrom'> | <disk type='block' device='cdrom'> | ||
Version du 8 novembre 2013 à 15:35
Config xml complète standard
Le nom des interfaces réseaux "source bridge" est le vrai nom utilisé sur l'hyperviseur. Si dans le fichier xml la vm s appelle www.free; le fichier xml devra s appeler www.free.xml.
<domain type='kvm'>
<name>vm-technique1.ods-lamp</name>
<uuid>288cc51e-d5d3-4102-be9a-8eba0b208def</uuid>
<memory>2097152</memory>
<currentMemory>2097152</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch='x86_64' machine='rhel6.1.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<!-- Pour que la vm linux puisse être à la bonne heure
-->
<clock offset='utc'/>
<!-- Pour que la vm windows puisse être à la bonne heure
<clock offset='localtime'/>
-->
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/volnode02/vm-technique1'/>
<target dev='vda' bus='virtio'/>
</disk>
<controller type='ide' index='0'>
</controller>
<interface type='bridge'>
<mac address='00:16:3e:01:d6:db'/>
<source bridge='admin'/>
<model type='virtio'/>
</interface>
<interface type='bridge'>
<mac address='00:16:3e:01:d6:02'/>
<source bridge='backup'/>
<model type='virtio'/>
</interface>
<interface type='bridge'>
<mac address='00:16:3e:01:d6:01'/>
<source bridge='br0'/>
<model type='virtio'/>
</interface>
<serial type='pty'>
<target port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' keymap='fr'>
<listen type='address' address='127.0.0.1'/>
</graphics>
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
<memballoon model='virtio'>
</memballoon>
</devices>
</domain>
Config xml vm en cluster
Dans le cas de vm en cluster, il faut préciser une option supplémentaire pour que le live migration puisse fonctionner (pour tout les types de disque : classique, swap ou cdrom) : <driver name='qemu' type='raw' cache='none'/>
Cpu
Par défaut, on peut juste mettre comme valeur <vcpu>1</vcpu> pour indiquer le nombre de cpu que va utiliser la vm. Mais si l'on veut spécifier un id de cpu spécifique, ou assigner un cpu dédié à une vm et un autre cpu dédié à d'autres vm car on n'a pas assez de cpu pour toutes nos vm, il faut alors supprimer ce parametre pour le remplacer par un autre (plus d'option sur http://libvirt.org/formatdomain.html#elementsCPUAllocation)
Ici on dit à la vm d'utiliser le cpu id 7, et de ne prendre que 1 cpu
<vcpu <placement='static' cpuset="7">1</vcpu>
Ici on dit à la vm d'utiliser les cpu 1 à 4 et le 6, mais pas le 3 (le ^ exclus)
<vcpu placement='static' cpuset="1-4,^3,6" current="1">2</vcpu>
Pour avoir les infos cpu de la vm : https://{{SERVERNAME}}/index.php/Kvm#Commande_virsh
Disque et fichier img
En tant que disque on considère tout les /dev/sdX ou /dev/hdX ainsi que des LV avec lvm
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/vgtest1/lvtest1'/>
<target dev='vda' bus='virtio'/>
<!-- Pour utiliser l'émulation ide moins performante
<target dev='hdX' bus='ide'/>
-->
</disk>
Pour les fichiers img :
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/data/images/virtual64.agarik.com.img'/>
<target dev='vda' bus='virtio'/>
<!-- Pour utiliser l'émulation ide moins performante
<target dev='hdX' bus='ide'/>
-->
</disk>
Montage fichier Iso & Cdrom
Pour faire booter la vm sur un fichier Iso ou sur le cdrom de l'hyperviseur, il faut modifier "<boot dev='hd'/>" en "<boot dev='cdrom'/>"
Pour monter un cdrom mis dans l hyerviseur. Si on met la config ci dessous, lorsque l on insert un dvd dans l hyperviseur (et / ou que l'on change de dvd), il n'est pas nécessaire de
rebooter la vm, juste faire un refresh dans la vm sur le lecteur
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<source dev='/dev/sr0'/> (ou /dev/xxx suivant l os et l hyperviseur)
<target dev='hdc' bus='ide'/> (ou hdx suivant la configuration de la vm)
<readonly/>
</disk>
Pour monter un fichier iso
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/home/centos.iso'/>
<target dev='hdc' bus='ide'/> (hdx, sdX suivant l hote de la vm)
<readonly/>
</disk>
Montage / démontage à chaud d'un fichier iso
La vm testkvm.agarik.com (linux) est déja lancée, et nous avons ceci dans son fichier xml :
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file=''/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' unit='0'/>
</disk>
Pour monter un fichier iso dans le cdrom de la vm : virsh attach-disk testvm.agarik.com /gparted-live-0.16.1-1-i486.iso hdc --type cdrom --mode readonly
Pour le démonter (ne pas oublier avant de démonter le cdrom dans la vm) : virsh attach-disk virtual64.agarik.com "" hdc --type cdrom --mode readonly (en fait on n'attache rien)
Montage / démontage à chaud d'une interface réseau
La vm testkvm.agarik.com est deja lancée, dans son fichier xml on a qu'une seule interface réseau (eth0 sous la vm) et on veut en mettre une deuxième (ici prive est le nom de l'interface bridge)
Pour ajouter l'interface : virsh attach-interface testkvm.agarik.com bridge prive
Pour la supprimer : virsh detach-interface testkvm.agarik.com bridge --mac 52:54:00:5F:9F:58 (faire un ifconfig -a sous la vm pour voir la mac)