Outils pour utilisateurs

Outils du site


braveo:doccreatesrvvirt

Création d'un serveur virtuel avec kvm et libvirt

La différence entre les serveurs virtuels de prod et les serveurs de test réside dans le fait que dans le cas de la prod les serveurs attaquent directement une partition physique alors que dans le cas d'un serveur de test on le fait mapper un fichier car les besoins en performance ne sont pas réelle.

un peu de doc avant de commencer … http://www.vogelweith.com/debian_server/14_kvm.php

et c'est parti

Pour les serveurs de prod

Installation de Libvirt pour gérer des machines virtuelles KVM

# apt-get install libvirt-bin kvm qemu virtinst

bon on va commencer par créer une partition lvm dédié :

lvcreate -L 5G -n Le-Nom-De-La-Machine vg0

Ensuite nous allons créer la machine virtuelle avec la commande

virt-install --connect qemu:///system -n Le-Nom-De-La-Machine -r 512 --vcpus=2 \
-f /dev/vg0/Le-Nom-De-La-Machine -c /root/debian-505-amd64-businesscard.iso --vnc \
--noautoconsole --os-type linux --os-variant debianLenny --accelerate \
--network=bridge:br0 --hvm --keymap=fr

voila une machine de créé avec comme nom Le-Nom-De-La-Machine, 512 Mo de mémoire, elle est mappé sur le disque /dev/vg0/Le-Nom-De-La-Machine, elle boot sur l'iso, sa carte reseau est connecté au bridge de l'hote et le deport ecran,clavier se fait via vnc

pour se connecter le mieux est d'utiliser le virtmanager et se connecter sur l'hote.

Pour les serveurs de test

Null besoin de créer une partition car on stocke la machine dans un fichier

Par contre nous allons créer le fichier au format qcow2 car c'est un format compressé.

Un des avantages de se format est qu'il compresse l'image disque et donc le fichier ne prend pas toute la place .

qemu-img create -f qcow2 /data/VMdisk.qcow2 10G

Format QCOW2
Ce format est spécifique à QEMU. C'est bien sûr un format à taille variable (indépendamment du système de fichiers), et il dispose de fonctionnalités avancées permettant notamment de gérer des snapshots à chaud. L'un des inconvénients est la difficulté à monter une image qcow2.

Format RAW
L'avantage de ce format est sa simplicité ! C'est tout simplement une suite d'octets.. Cela permet de monter les partitions facilement (merci kpartx). Sous Linux, grâce au sparse file, c'est également un format à taille variable.

 qemu-img create -f raw  /data/VMdisk.img 10G 

et ensuite on crée la machine virtuelle

virt-install --connect qemu:///system -n Le-Nom-De-La-Machine -r 512 --vcpus=2 \
-f /data/VMdisk.qcow2 -c /root/debian-505-amd64-businesscard.iso --vnc \
--noautoconsole --os-type linux --os-variant debianLenny --accelerate \
--network=bridge:br0 --hvm --keymap=fr

Administration et installation des machines virtuelles

Installation de virt-manager

Il ne faut pas installer virt-manager sur le serveur

sur votre post d'administration vous installez le paquet virt-manager

aptitude install virt-manager

et vous pouvez le lancer par le menu applications →outils systèmes → Gestionnaires de machines virtuelles

Une fois l'application lancé, vous pourrez vos connecter aux serveurs physiques en ajoutant l'adresse ip par le menu fichier→ add connection

laisser le menu hyperviseur sur kvm

dans le menu connexion choisissez le tunnel ssh

et dans le menu nom d'hote mettez l'adresse ip du serveur physique que vous voulez administrer et valider

il n'y a plus qu'à double cliquer sur l'ip de la machine pour voir apparaitre les machines virtuelles. et il suffit de double cliquer sur les machines virtuelles pour en prendre le controle. C'est bon pour l'install, mais après il vaut mieux passer par le ssh moin gourmand (enfin je crois)

Exploitation

Exemple de VM avec 2 partitions

Les étapes d'installation d'une machine virtuelle est semblable à l'installation d'une machine machine sauf que la plupart des actions sont aussi virtualisées comme :

  • Monter une machine virtuelle ( taille du disque, taille de la mémoire, processeur )
  • Brancher le lecteur dans la machine
  • Insérer un CD-ROM
  • Choisir le périphérique à démarrer en premier
  • Démarrer sur le CD pour lancer l'installation
  • Enlever le CD pour lancer la machine installée

Fichier d'une VM avec 2 partitions et un démarrage sur le disque dur :

<domain type='kvm'>
  <name>nom_de_la_machine</name>
  <memory>524288</memory>
  <currentMemory>524288</currentMemory>
  <vcpu>2</vcpu>
  <os>
    <type arch='x86_64' machine='pc-0.12'>hvm</type>
    <!-- hd pour démarrer sur disque dur, cdrom pour le cdrom -->
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <!-- Exemple disque sur partition LVM -->
    <disk type='block' device='disk' >
      <driver name='qemu' />
      <source dev='/mnt/disk/fichier_du_disque' />
      <target dev='vda' bus='virtio' />
    </disk>
    <!-- Exemple disque dans un fichier qcow2 -->
    <disk type='block' device='file'>
      <driver name='qemu' type="qcow2" />
      <source dev='/dev/vg0/newmail_var'/>
      <target dev='vdb' bus='virtio'/>
    </disk>
    <disk type='block' device='cdrom'>
      <driver name='qemu'/>
      <target dev='hdc' bus='ide'/>
      <source file='//root/debian-6.0.0-amd64-netinst.iso'/>
      <readonly/>
    </disk>
    <interface type='bridge'>
      <mac address='52:54:00:11:bf:eb'/>
      <source bridge='br0'/>
      <model type='virtio'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5907' listen="IP_Hote" keymap='fr'/>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
    </video>
  </devices>
</domain>

Demandez le démarrage sur le cdrom dans la balise boot et spécifiez l'image iso.

La commande suivante :

virsh define /etc/libvirt/qemu/xxxx.xml

met au courant qemu les changements (où xxx.xml est le fichier de configuration de la VM). Sans cela, vous redémarrez la VM dans la configuration précédente. A moins de lancer la machine virtuelle par :

virsh create /etc/libvirt/qemu/xxxx.xml
braveo/doccreatesrvvirt.txt · Dernière modification: 2016/07/19 15:36 (modification externe)