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 supara 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-fullO 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 removeO 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-serverIsso 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.debEm 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.debAgora faça isso:
mv /lib/tls /lib/tls.disabledTambé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-toolsroot@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/xenUsaremos 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:
rebootSe o seu sistema reiniciar sem problemas, então tudo está bem!
Execute
uname -re seu novo kernel Xen deve aparecer:
root@server1:~# uname -r
2.6.24-16-xen
root@server1:~#Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.