Kvm Config xml

De BlaxWiki
Aller à la navigationAller à la recherche


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

  <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>