Xen Installation · 7 min read · Oct 08, 2025

Instalando Xen Em Um Servidor Ubuntu 8.04 (Hardy Heron) A Partir Dos Repositórios Ubuntu

Instalando Xen Em Um Servidor Ubuntu 8.04 (Hardy Heron) A Partir Dos Repositórios Ubuntu

Versão 1.0
Autor: Falko Timme

Este tutorial fornece instruções passo a passo sobre como instalar o Xen em um sistema servidor Ubuntu Hardy Heron (Ubuntu 8.04) (i386). Você pode encontrar todo o software usado aqui nos repositórios do Ubuntu, portanto, nenhum arquivo externo (além de um kernel Xen fixo do Ubuntu para habilitar a rede para as máquinas virtuais) ou compilação são necessários.

O Xen permite que você crie sistemas operacionais convidados (sistemas operacionais nix como Linux e FreeBSD*), chamadas de “máquinas virtuais” ou domUs, sob um sistema operacional host (dom0). Usando o Xen, você pode separar suas aplicações em diferentes máquinas virtuais que são totalmente independentes umas das outras (por exemplo, uma máquina virtual para um servidor de e-mail, uma máquina virtual para um site de alto tráfego, outra máquina virtual que atende os sites de seus clientes, uma máquina virtual para DNS, etc.), mas ainda usar o mesmo hardware. Isso economiza dinheiro e, o que é ainda mais importante, é mais seguro. Se a máquina virtual do seu servidor DNS for invadida, isso não terá efeito sobre suas outras máquinas virtuais. Além disso, você pode mover máquinas virtuais de um servidor Xen para o próximo.

Usarei o Ubuntu Hardy Heron (i386) para o sistema operacional host (dom0) e o Ubuntu Hardy Heron e o Ubuntu Gutsy Gibbon (7.10) para os sistemas operacionais convidados (domU). Outras distribuições baseadas em Debian que podem ser instaladas usando xen-tools são Debian Etch, Debian Lenny, Debian Sid e Debian Sarge, bem como Ubuntu Dapper Drake, Ubuntu Edgy Eft e Ubuntu Feisty Fawn.

Este howto é destinado como um guia prático; não cobre os fundamentos teóricos. Eles são tratados em muitos outros documentos na web.

Este documento vem sem garantia de qualquer tipo! Quero dizer que esta não é a única maneira de configurar tal sistema. Existem muitas maneiras de alcançar esse objetivo, mas este é o caminho que eu sigo. Não dou nenhuma garantia de que isso funcionará para você!

1 Instale O Sistema Host Ubuntu Hardy Heron (dom0)

Você pode instalar o sistema host (dom0) como mostrado nos capítulos um a dez deste tutorial: https://www.howtoforge.com/perfect-server-ubuntu8.04-lts (é claro, você não precisa fazer isso se já tiver um sistema host Ubuntu 8.04 que deseja usar).

Certifique-se de que você está logado como root (digite

sudo su

para se tornar root), porque devemos executar todas as etapas deste tutorial como usuário root. Além disso, se você quiser usar o vi como seu editor de texto (como sugerido por este tutorial), deve executar

apt-get install vim-full

O pacote vim-full garante que o editor de texto vi se comporte como esperado (sem o vim-full, você pode experimentar um comportamento estranho no editor de texto vi).

É uma boa ideia desativar o AppArmor:

/etc/init.d/apparmor stop  
update-rc.d -f apparmor remove

O FQDN do dom0 neste exemplo será server1.example.com. O endereço IP de server1.example.com será 192.168.0.100 neste tutorial, e o gateway que uso é 192.168.0.1, então as máquinas virtuais também terão que usar esse.

2 Instale o Xen

Para instalar o Xen e todas as dependências necessárias, tudo o que precisamos fazer é executar o seguinte comando:

apt-get install ubuntu-xen-server

Isso também instalará o pacote xen-tools que usaremos mais tarde para criar máquinas virtuais.

O pacote ubuntu-xen-server instala o kernel Ubuntu 2.6.24-16-xen; infelizmente, há um bug desagradável neste kernel que faz com que a rede não funcione para máquinas virtuais (veja https://bugs.launchpad.net/ubuntu/+source/xen-3.2/+bug/204010 e https://bugs.launchpad.net/ubuntu/+source/linux/+bug/218126). Felizmente, Hirano Takahito corrigiu esse kernel e disponibilizou as versões corrigidas (para i386 e amd64) em http://www.il.is.s.u-tokyo.ac.jp/~hiranotaka/ (criei um espelho desses pacotes em http://downloads.howtoforge.com/ubuntu_8.04_server_xen_from_repositories/ caso o link original não funcione mais um dia). Baixe o pacote linux-image correto para sua arquitetura (i386 ou amd64), por exemplo:

wget http://www.il.is.s.u-tokyo.ac.jp/~hiranotaka/linux-image-2.6.24-16-xen_2.6.24-16.30zng1_i386.deb

Em seguida, substitua o kernel Ubuntu 2.6.24-16-xen por ele assim:

dpkg -i linux-image-2.6.24-16-xen_2.6.24-16.30zng1_i386.deb

Agora faça isso:

mv /lib/tls /lib/tls.disabled

Também precisamos adicionar o módulo loop ao kernel toda vez que inicializarmos nosso sistema, então editamos /etc/modules. Se você já tiver uma linha loop lá, faça com que ela fique assim, caso contrário, adicione-a:

vi /etc/modules

| [...] loop max_loop=64 [...] |

Agora dê uma olhada no diretório /boot para ver quais kernels e ramdisks estão instalados:

ls -l /boot/
root@server1:~# ls -l /boot/  
total 34380  
-rw-r--r-- 1 root root  426444 2008-04-10 18:55 abi-2.6.24-16-server  
-rw-r--r-- 1 root root   80203 2008-04-10 18:55 config-2.6.24-16-server  
-rw-r--r-- 1 root root   85149 2008-04-19 23:17 config-2.6.24-16-xen  
drwxr-xr-x 2 root root    4096 2008-05-06 15:19 grub  
-rw-r--r-- 1 root root 7323503 2008-04-24 11:47 initrd.img-2.6.24-16-server  
-rw-r--r-- 1 root root 7047843 2008-04-24 11:45 initrd.img-2.6.24-16-server.bak  
-rw-r--r-- 1 root root 7056979 2008-05-06 15:19 initrd.img-2.6.24-16-xen  
-rw-r--r-- 1 root root 7062168 2008-05-06 15:09 initrd.img-2.6.24-16-xen.bak  
-rw-r--r-- 1 root root  103204 2007-09-28 12:06 memtest86+.bin  
-rw-r--r-- 1 root root  933296 2008-04-10 18:55 System.map-2.6.24-16-server  
-rw-r--r-- 1 root root  883544 2008-04-19 23:17 System.map-2.6.24-16-xen  
-rw-r--r-- 1 root root 1987288 2008-04-10 18:55 vmlinuz-2.6.24-16-server  
-rw-r--r-- 1 root root 1730344 2008-04-19 23:17 vmlinuz-2.6.24-16-xen  
-rw-r--r-- 1 root root  370610 2008-04-11 03:16 xen-3.2.gz  
root@server1:~#

O kernel /boot/vmlinuz-2.6.24-16-xen é o novo kernel Xen corrigido, e /boot/initrd.img-2.6.24-16-xen é seu ramdisk. Precisaremos deles em breve.

Você também pode dar uma olhada no diretório /usr/lib/xen-tools porque ele revela quais distribuições podem ser instaladas em uma máquina virtual com xen-tools:

ls -l /usr/lib/xen-tools
root@server1:~# ls -l /usr/lib/xen-tools  
total 36  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 centos-4.d  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 centos-5.d  
-rwxr-xr-x 1 root root 4409 2008-04-06 03:12 common.sh  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 dapper.d  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 debian.d  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 edgy.d  
lrwxrwxrwx 1 root root    8 2008-05-06 15:08 etch.d -> debian.d  
lrwxrwxrwx 1 root root   15 2008-05-06 15:08 fedora-core-4.d -> fedora-core-6.d  
lrwxrwxrwx 1 root root   15 2008-05-06 15:08 fedora-core-5.d -> fedora-core-6.d  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 fedora-core-6.d  
lrwxrwxrwx 1 root root   15 2008-05-06 15:08 fedora-core-7.d -> fedora-core-6.d  
lrwxrwxrwx 1 root root    6 2008-05-06 15:08 feisty.d -> edgy.d  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 gentoo.d  
lrwxrwxrwx 1 root root    6 2008-05-06 15:08 gutsy.d -> edgy.d  
lrwxrwxrwx 1 root root    6 2008-05-06 15:08 hardy.d -> edgy.d  
lrwxrwxrwx 1 root root    8 2008-05-06 15:08 lenny.d -> debian.d  
lrwxrwxrwx 1 root root    8 2008-05-06 15:08 sarge.d -> debian.d  
lrwxrwxrwx 1 root root    8 2008-05-06 15:08 sid.d -> debian.d  
root@server1:~#

Como você vê, podemos instalar as seguintes distribuições:

  • Debian: Etch, Lenny (testing), Sid (unstable), Sarge
  • Ubuntu: Dapper Drake, Edgy Eft, Feisty Fawn, Gutsy Gibbon, Hardy Heron
  • CentOS 4, CentOS 5
  • Fedora Core 4, 5, 6, Fedora 7
  • Gentoo

(Eu ainda não tentei instalar CentOS, Fedora e Gentoo com xen-tools, então não posso dizer quão bem funciona.)

Quero armazenar minhas máquinas virtuais no diretório /home/xen, portanto, crio-o agora:

mkdir /home/xen

Usaremos o xen-tools para criar máquinas virtuais. O xen-tools facilita muito a criação de máquinas virtuais - por favor, leia este tutorial para saber mais: https://www.howtoforge.com/xen_tools_xen_shell_argo. Como mencionado anteriormente, o pacote xen-tools foi instalado junto com o pacote ubuntu-xen-server.

Agora editamos /etc/xen-tools/xen-tools.conf. Este arquivo contém os valores padrão que são usados pelo script xen-create-image, a menos que você especifique outros valores na linha de comando. Eu mudei os seguintes valores e deixei o resto inalterado:

vi /etc/xen-tools/xen-tools.conf

| [...] dir = /home/xen [...] dist = hardy # Distribuição padrão a ser instalada. [...] gateway = 192.168.0.1 netmask = 255.255.255.0 broadcast = 192.168.0.255 [...] passwd = 1 [...] mirror = http://archive.ubuntu.com/ubuntu/ [...] |

A linha dist contém a distribuição padrão que você deseja instalar em uma máquina virtual. O conteúdo do diretório /usr/lib/xen-tools revela quais distribuições estão disponíveis (veja acima).

A linha kernel deve conter nosso kernel Xen, e a linha initrd seu ramdisk. O arquivo padrão /etc/xen-tools/xen-tools.conf tem os valores kernel = /boot/vmlinuz-uname -r e initrd = /boot/initrd.img-uname -r que se traduzem automaticamente para o kernel e ramdisk corretos, então não precisamos modificar essas linhas.

A linha passwd = 1 faz com que você possa especificar uma senha root ao criar um novo domínio convidado. Na linha mirror, especifique um espelho do Ubuntu próximo a você.

Certifique-se de especificar um gateway e uma máscara de rede. Se você não fizer isso, e não especificar um gateway e uma máscara de rede na linha de comando ao usar xen-create-image, seus domínios convidados não terão rede, mesmo que você tenha especificado um endereço IP!

Agora reinicie o sistema:

reboot

Se o seu sistema reiniciar sem problemas, então tudo está bem!

Execute

uname -r

e seu novo kernel Xen deve aparecer:

root@server1:~# uname -r  
2.6.24-16-xen  
root@server1:~#
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.