Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
unix:xen_hvm [2007/07/02 10:01]
127.0.0.1 external edit
unix:xen_hvm [2010/01/12 13:29] (current)
Line 1: Line 1:
 +====== Xen 3 & HVM ======
  
 +HVM est l'​abstraction de Xen concernant la virtualisation matérielle (dispo sur les Intel(tm) avec VT et les AMD(tm) avec Pacifica). Cet article se base sur mon expérience avec de l'​intel VT, sur un dom0 linux (debian etch).
 +
 +====== Installer son dom0 ======
 +
 +Rien de plus simple : 
 +  * Installer normalement sa distribution
 +  * Réserver de l'​espace "​vide"​ pour les domU
 +
 +puis 
 +
 +<​code>​
 +apt-get install sudo less xen-hypervisor-3.0.3-1-i386 xen-utils-3.0.3-1 xen-tools iproute bridge-utils debootstrap bridge-utils libc6-xen xen-linux-system-2.6.18-3-xen-vserver-686 xen-ioemu-3.0.3-1
 +</​code>​
 +
 +====== Préparer la place pour les domU ======
 +
 +Comme nous sommes des gens prévoyants,​ et qu'on se dit qu'on aura peut être besoin de plus de place, on va utiliser LVM, qui permet de retailler les partitions de façon conviviale :)
 +
 +
 +Pour l'​exemple on travaillera sur /dev/sda5 qui est une partition de 200G.\\
 +On va y créer un volume physique avec :
 +
 +<​code>​
 +pvcreate /dev/sda5
 +</​code>​
 +
 +Puis un "​volume group" appelé "​dom-u"​
 +<​code>​
 +vgcreate dom-u /dev/sda5
 +</​code>​
 +
 +Et maintenant on crée les volumes logiques destinés à recevoir les domUs
 +<​code>​
 +lvcreate -n serveur_web --size 25G dom-u
 +lvcreate -n serveur_ldap --size 20G dom-u
 +lvcreate -n serveur_mysql --size 50G dom-u
 +</​code>​
 +
 +Au passage, la conf réseau (bridgée)
 +<​code>​
 +auto br-xen
 +iface br-xen inet static
 +        address 192.168.X.Y
 +        netmask 255.255.255.0
 +        gateway 192.168.X.Y
 +        dns-nameservers 192.168.X.Y
 +        dns-search mon.domaine.com
 +
 +        bridge_ports eth1
 +        # optional
 +        bridge_maxwait 0
 +</​code>​
 +
 +====== Les confs des domU ======
 +
 +Voici un fichier de conf typique pour une machine virtuelle HVM :
 +<​code>​
 +kernel = "/​usr/​lib/​xen-default/​boot/​hvmloader"​
 +builder = "​hvm"​
 +
 +memory ​ = "​256"​
 +
 +disk = [ '​phy:/​dev/​dom-u/​serveur_web,​ioemu:​hda,​w',​ '​file:/​votre/​stuff/​etch.iso,​hdc:​cdrom,​r'​ ]
 +device_model = '/​usr/​lib/​xen-default/​bin/​qemu-dm'​
 +
 +name    = '​serveur_web'​
 +
 +vif  = [ '​type=ioemu,​ bridge=br-xen'​ ]
 +
 +vnc=1
 +vnclisten="<​ip du dom0>"​
 +vncunused=0
 +vncdisplay=1
 +
 +boot = "​dca"​
 +
 +on_poweroff = '​destroy'​
 +on_reboot ​  = '​restart'​
 +on_crash ​   = '​restart'​
 +</​code>​
 +
 +Pour installer on utilise l’ordre de boot “dca”, mais au premier reboot il faut passer sur “cda” (et accessoirement on pourra enlever le CD)
 +
 +Constaté avec un domU en debian etch : penser à changer l’interface eth0 en “auto” et pas “allow-hotplug”,​ sinon apparemment l’interface ne monte pas à tous les coups (saleté).
 +
 +**WARNING**
 +Attention, avec l’utilisation du bridge modifier la topologie (up/down d’interface toussa) rend le bridge “inopérant” pendant quelques secondes (15 sec ici). A savoir lorsqu’une VM de prod peut être impactée.
 +
 +Sur la version 3.0.3 on ne peut pas attacher de console série sur les guest HVM.
 +
 +Solution de contournement : on peut fixer un display par VM. Pour ça il faut mettre “vncunused=0”,​ et fixer le display avec “vncdisplay=<​entier>​”. Selon la doc le numéro de display devrait être fixé automatiquement à l’ID du domaine, mais dans la pratique il n’en est rien. 
 +
 +
 +====== Références ======
 +
 +  * [[http://​wiki.xensource.com/​xenwiki/​|wiki xen]]
 +  * [[http://​www.debian-administration.org/​articles/​410|LVM]]
unix/xen_hvm.txt · Last modified: 2010/01/12 13:29 (external edit)