Creation de VM KVM

Créer un disque virtuel

Depuis virsh :

virsh # vol-create-as kvm_imgs tuleap_sys.qcow2 10G

kvm_imgs → storage pool où sera créé l'image disque tuleap_sys.qcow2 → nom de l'image disque (ici au format QCOW2) 10G → taille de l'image disque (10 GB)

Procéder à la création et l'installation de la VM

Avec l'outil virt-install :

virt-install  --virt-type=kvm --name tuleap --memory=1024 --vcpus=2 --network bridge=br0 \
  --boot=cdrom,hd --os-variant=rhel6 --graphics vnc,password=toto,port=5912,keymap=fr \
  --cdrom /data/files/iso/CentOS-6.8-x86_64-minimal.iso \
  --disk=/data/opt/kvm/tuleap.qcow2
virt-type kvm type de virtualisation. Ici on utilise l'hyperviseur KVM
name tuleap nom de la VM
memory 1024 mémoire allouée à la VM. Ici 1 GB de RAM
vcpus 2  nombre de CPU virtuels de la VM. ici 2 VCPU
network bridge=br0 Définition d'une interface réseau. Ici on se connecte à un pont ethernet (br0)
boot cdrom,hd  ordre de boot. Ici CDROM, puis HDD
os-variant rhel6  pré-réglage des paramètres de la VM pour un système hôte RHEL6
graphics vnc,password=toto,port=5912,keymap=fr  on configure une redirection de la video vers VNC afin de pouvoir procéder à l'installation
cdrom /data/files/iso/CentOS-6.8-x86_64-minimal.iso image ISO à utiliser pour l'installation du système hôte
disk /data/opt/kvm/tuleap.qcow2 image disque de l'hôte

Creation de VM LXC

Procéder à la création du container LXC à l'aide de debootstrap classiquement, par exemple :

debootstrap jessie /data/opt/lxc/jessuiebuild

Puis créer un template XML pour libvirt :

<!--
For Reference :
  https://libvirt.org/drvlxc.html
  https://libvirt.org/formatdomain.html
 
To "register" a new domain into libvirt :
  virsh -c lxc:// define lxc-template.xml
-->
<domain type='lxc'>
  <name>sorrow</name>
  <memory unit='MB'>2048</memory>
  <os>
    <type>exe</type>
    <init>/sbin/init</init>
  </os>
  <vcpu>2</vcpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/lib/libvirt/libvirt_lxc</emulator>
    <filesystem type='mount'>
      <source dir='/data/opt/lxc/sorrow/rootfs'/>
      <target dir='/'/>
    </filesystem>
    <interface type='bridge'>
      <mac address='00:1e:e8:df:e3:cf'/>
      <source bridge='br0'/>
      <link state='up'/>
    </interface>
    <console type='pty'/>
  </devices>
</domain>