Virt/Xen4

De TartareFR
Aller à la navigation Aller à la recherche

Installation

On commence par configurer un bridge . L'ajout de tap est inutile ici, car c'est xen qui s'en chargera.

yum install debootstrap perl-Text-Templateh perl-Config-IniFiles perl-File-Slurp perl-File-Which perl-Data-Dumper
yum install libvirt-daemon-xen libvirt-daemon-config-network libvirt-daemon-driver-network virt-manager virt-viewer
yum install xen-tools

Configuration de libvirt

On modifie le fichier <path>/etc/sysconfig/libvirtd</path> pour accepter les connexions externes et pour utiliser le fichier de configuration afin de ne pas utiliser les paramètres par défaut.

LIBVIRTD_ARGS="--listen --config /etc/libvirt/libvirtd.conf"

On modifie le fichier <path>/etc/libvirt/libvirtd.conf</path> afin d'activer l'écoute sur le LAN sans authentification.

listen_tls = 0
listen_tcp = 1
listen_addr = "192.168.0.148"
auth_tcp = "none"

On modifie le fichier <path>/etc/libvirt/qemu.conf</path> afin de décommenter la ligne suivante

vnc_listen = "0.0.0.0"

Définition d'un pool de disque

Définition en mode graphique

On Sélectionne notre Dom0 en double cliquant dessus: ici il s'appelle localhost(xen), puis on sélectionne l'onglet Storage

Screenshot de Virtual Machine Manager

Screenshot de Virtual Machine Manager

Définition en ligne de commande

On va se servir de l'utilitaire <app>virsh</app> pour éditer le fichier de configuration de notre pool default.

virsh pool-edit default
<pool type='dir'>
  <name>default</name>
  <uuid>1b43560e-ef3d-a541-9db7-4864ddad438f</uuid>
  <capacity unit='bytes'>42141548544</capacity>
  <allocation unit='bytes'>28013756416</allocation>
  <available unit='bytes'>14127792128</available>
  <source>
  </source>
  <target>
    <path>/var/lib/xen/images</path>
    <permissions>
      <mode>0755</mode>
      <owner>-1</owner>
      <group>-1</group>
    </permissions>
  </target>
</pool>

cette utilitaire permet aussi de créer un pool ( en fait il permet de faire tout ce qui est possible en CLI et même plus )

  • On créé un répertoire qui accueillera notre pool
    mkdir /var/lib/xen/iso
    
  • On créé un pool à partir de ce répertoire
    virsh pool-create-as --name isos --type dir --target /var/lib/xen/iso
    

Installation / Importation de Virtual Machines

On lance l'application graphique <app>Virtual Machine Manager</app>.

Screenshot de Virtual Machine Manager

Virtual Machine Windows

L'importation de VM Windows fonctionne parfaitement, seulement au démarrage de celle-ci, on est gratifié par un joli BSOD ( Blue Screen Of Death ). Le hardware n'étant pas émulé de la même manière entre VirtualBox et Xen, l'importation a été vite oubliée.

On va donc installer une VM from scratch.

Bug.png
Taille du disque
Apparement, l'allocation entière du disque ne fonctionne pas en créant le disque en même temps que la VM. Il est impératif de le créer avant la définition d'une nouvelle VM.

Rappel: notre pool de disque se trouve dans <path>/var/lib/xen/images/</path>

Installation graphique

Installation en ligne de commande

Les suffixes suivants peuvent être utilisé afin de définir la taille du disque:

  • k or K ( kilo octets, 1024 bits )
  • M ( mega octets, 1024 ko )
  • G ( giga octets, 1024 Mo )
  • T ( terra octets, 1024 Go )
qemu-img create -f raw /var/lib/xen/images/test.img 8G

Ou alors avec <app>virsh</app>

virsh vol-create-as --pool default --name xp-dev-ie7.img --capacity 8G

Virtual Machine Linux

Trucs et astuces

Pools de disque

  • pour éditer le pool par défaut ( nommé default )
    virsh pool-edit default
  • pour rafrfaichir le truc
    virsh pool-refresh default
  • mais un redémarrage du service libvirtd semble nécessaire
    systemctl restart libvirtd

Convertir un disque pour Xen

KVM

qemu-img convert -O raw win-xp.qcow2 win-xp.img

VBox

  • Export du disque depuis le serveur VBox
    VBoxManage clonehd centos6.vdi centos6.img -format RAW
  • Copie de l'export dans le pool de disque sur le serveur Xen
    cp centos6.img /var/lib/xen/images/
  • import avec libvirt

Import d'une VM avec un disque déjà créé

  • Nommage et sélection d'un disque déjà existant
    LibVirtImport1.png
  • Sélection du fichier image
    LibVirtImport2.png
  • Paramétrage de l'OS
    LibVirtImport3.png
  • Paramètrage CPU et RAM
    LibVirtImport4.png
  • Paramètrage adresse MAC
    LibVirtImport5.png
  • La VM est importée avec succès. Elle démarre dès la fin de l'import.
    LibVirtImport6.png