Instalar o Xen no Ubuntu 8.04

Por Diego Zuqueto | 02/06/2009 | Tutoriais

Este tutorial e outros mais estão disponível em www.zuqueto.com

Antes da instalação do Xen deve-se suprir as dependências do sistema.

root@vilela:~# apt-get install iproute bridge-utils python-twisted gcc binutils make zlib1g-dev python-dev transfig bzip2 libcurl4-openssl-dev libncurses5-dev x-dev libsdl1.2-dev bin86 bcc python-pam patch latex-make qemu qemu-launcher qemuctl graphviz graphviz-dev lvm2 libvncserver-dev libjpeg62-dev libjpeg62 gettext python-xml tetex-extra tetex-base openssl libssl-dev mercurial libc6-dev libpci-dev libgcrypt11-dev texi2html texinfo

No caso do ubuntu 8.04 e 8.10 use o gcc-3.4 para compilar pois com o gcc-4.3 a compilação do kernel do xen dará erro.

root@vilela:~# apt-get install gcc-3.4

root@vilela:~# export CC=/usr/bin/gcc-3.4

root@vilela:~# rm /usr/bin/gcc

root@vilela:~#ln –s /usr/bin/gcc-3.4 /usr/bin/gcc

O kernel no ubuntu também é necessário instalar o gawk

apt-get install gawk

rm /usr/bin/awk

ln –s /usr/Bin/gawk /usr/Bin/awk

Feito isso temos um ambiente preparado para a instalação do xen.

Faça o download do código fonte no site oficial.

wget http://bits.xensource.com/oss-xen/release/3.3.0/xen-3.3.0.tar.gz

tar zxvf xen-3.3.0.tar.gz

cd /usr/src/xen-3.3.0

make world

Durante o make world bastante coisa acontece:

  • O código é preparado para instalação.
  • O xen faz o download do kernel para virtualização, parametriza o kernel novo confrontando com a configuração do kernel atual.
  • Compila o novo kernel instala e configura a imagem no grub.

Sendo assim é primordial que todo o processo seja efetuado com o sistema conectado na internet.

Após a preparação com make world digite make install.

Para concluir o processo deve-se gerar o arquivo initrd.img-2.6.18.8-xen com os comandos:

depmod 2.6.18.8-xen

mkinitramfs -o /boot/initrd.img-2.6.18.8-xen 2.6.18.8-xen

Nesta etapa é recomendável que o operador tenha conhecimento suficiente sobre o hardware para entender a necessidade de incluir módulos adicionais na criação do initrd (em nosso ambiente de testes foi necessário informar os drivers de disco e rede sata_nv e forcedeth).

Com a instalação e configuração adequada do xen o sistema está pronto para uso de virtualização.

Kernel:

Este documento não contempla explicações sobre compilação de kernel, entretanto deve-se observar alguns detalhes na customização do mesmo:

O recurso SLAB deve ser ativado:

General setup —> Choose SLAB allocator (SLUB (Unqueued Allocator)) —> (X) SLAB

Altere a opção de arquitetura de processador para Xen:

Processor type and features —> Subarchitecture Type (PC-compatible) —> (X) Enable Xen compatible kernel

Habilitar o recurso PCI Frontend no xen:

Bus options (PCI etc.) —> [*] PCI support

[*] Xen PCI Frontend

[ ] Xen PCI Frontend Debugging (NEW)

O modulo de Bridge deve ser ativado com *

Networking support —> Networking options —> <*> 802.1d Ethernet Bridging

Até a versão atual o xen não oferecia suporte para redes 10Gb por isso recomendamos que seja desativado no kernel pois pode causar erros na compilaçã/funcionamento do xen.

Device Drivers —> [*] Network device support —> [ ] Ethernet (10000 Mbit) —>

No menu xen tenha certeza de manter opções idênticas com as listadas abaixo:

Device Drivers —> XEN —> [*] Privileged Guest (domain 0)

<*> Backend driver support (NEW)

<*> Block-device backend driver (NEW)

<*> Block-device tap backend driver (NEW)

<*> Network-device backend driver (NEW)

(8) Maximum simultaneous transmit requests (as a power of 2) (NEW)

[ ] Pipelined transmitter (DANGEROUS) (NEW)

< > Network-device loopback driver (NEW)

<*> PCI-device backend driver (NEW)

PCI Backend Mode (Virtual PCI) —>

[ ] PCI Backend Debugging (NEW)

< > TPM-device backend driver (NEW)

<M> SCSI backend driver (NEW)

<M> Block-device frontend driver

<M> Network-device frontend driver

<M> Network-device frontend driver acceleration for Solarflare NICs (NEW)

<M> SCSI frontend driver (NEW)

<*> User-space granted page access driver (NEW)

<*> Framebuffer-device frontend driver (NEW)

<*> Keyboard-device frontend driver (NEW)

[*] Disable serial port drivers (NEW)

<*> Export Xen attributes in sysfs (NEW)

(256) Number of guest devices (NEW)

Xen version compatibility (3.0.4 and later) —>