Skip to content

351.2 Xen (weight: 3)

Description: Candidates should be able to install, configure, maintain, migrate and troubleshoot Xen installations. The focus is on Xen version 4.x.

Key Knowledge Areas:

Understand architecture of Xen, including networking and storage
Basic configuration of Xen nodes and domains
Basic management of Xen nodes and domains
Basic troubleshooting of Xen installations
Awareness of XAPI
Awareness of XenStore
Awareness of Xen Boot Parameters
Awareness of the xm utility

The following is a partial list of the used files, terms and utilities:

Domain0 (Dom0), DomainU (DomU)
PV-DomU, HVM-DomU
/etc/xen/
xl
xl.cfg
xl.conf
xentop

XEN es un Hipervisor de tipo 1

Las maquinas virtules en Xen se nombran como Dominios

Dom0 dominio privilegiado es el unico que puede acceder al hardware, atraves de el se gestionan los demas dominios DomU

tipos de virtualización en XEN:

  1. PV: paravirtualizacion
  2. HVM: Virtualizacion por hardware, usar extensiones desarrolladas por Intel y AMD que facilitan la virtualización
  3. Virtualización por hadware con drivers de paravirtualización
  4. PVHVM: Virtualización completa por hardware,
  5. PVH: se usa un kernel más extensines de hardware, y no se emula ningun elemento del hardware.

Paquetes de Instalación

apt install xen-system-amd64 xen-doc xen-tools

Archivos de configuración

/etc/xen/xl.conf    # config
/etc/xen/xlexample.hvm    # config en hardware
/etc/xen/xlexample.pvlinux # config paravirtualización

Comandos basicos

sudo xk list
sudo xl console Alpine
sudo xl pause Alpine
sudo xl unpause Alpine
sudo xl shutdown Alpine
sudo xl destroy Alpine
sudo xl save Alpine backup.chk
sudo xl restore backup.chk
sudo xl migrate Alpine 192.168.55.20

xentop  # recursos en uso de cada dominio

virtualización PV

Descargo una iso de alpine para cla instalación y creo un disco donde se instalará

dd if=/dev/zero of=virtual.disk bs=1M count=1024
sudo mount -o loop alpine-virt.iso /mnt

Copio un archivo por defecto a la nueva config

cp xlexample.pvlinux alpine.pvlinux

Crear config incial en /etc/xen/alpine.pvlinux

name = "Alpine"
memory = 1024
disk = ['virtual.disk,raw,xvda,rw',
    'format=raw, vdev=xvda, access=rw, target=/dev/XENVM/XENLV', # opcion disco en lvm
    'format=raw, vdev=xvda, access=rw, target=virtual.disk',    # disco creado
    'format=raw, vdev=xvda, access=r, devtype=cdrom, target=alpine-virt.iso', # dispositivo cdrom con iso
]
vcpus = 2
kernel = path to kernel vmlinuz
ramdisk = path to initrd

vif = [ 'bridge=Br0' ]

Crear maquina

sudo xl create -f alpine.pvlinux
sudo xl create alpine.pvlinux -c

al crear la maquina intenta crear la red en base a /etc/xen/scripts/vif-bridge

Virtualización por hadware

instalar alpine en un disco

sudo qemu-system-x86-64 -accel kvm -cdrom alpine-virt*.iso -boot d -m 2047 disco_alpine.qcow2

crear archivo de configuracion en base al ejemplo hvm ç

cp /etc/xen/xlexample.hvm alpine.hvm

type = "hvm" # builder = "hvm"
name = "Alpine"
memory = 1024
disk = [
    'format=qcow2, vdev=xvda, access=rw, target=disco_alpine.qcow2',
    'format=raw, vdev=xvda, access=r, devtype=cdrom, target=alpine-virt.iso',
]
vcpus = 2
boot = "d"
#sdl = 1
vnc = 1

Crear maquina

xl create alpine.hvm

XenStore

XenStore es un espacio de almacenamiento de información compartido entre dominios mantenido por Xenstored.

xenstore-ls
xenstore-list
xenstore-read