Instalando Xen 3.3.0 no Debian Lenny Linux

Neste artigo abordo a instalação do Xen 3.3.0 no Linux Debian Lenny. O Xen é uma plataforma de virtualização livre para arquitetura x86. Com ele é possível executar vários sistemas operacionais (inclusive Windows) em cima de um mesmo hardware.

[ Hits: 91.676 ]

Por: Bruno Roberto em 05/11/2008


Criando a VM de modelo



Criarei uma VM de modelo Debian Linux que dará origem a todas as outras VMs que serão criadas. Com isso você não precisará repetir todo esse processo lento e trabalhoso toda vez que quiser criar uma VM.

1. Crie um diretório /xen/modelo.

2. Instale o pacote debootstrap (necessário para se fazer uma instalação do Debian dentro de um diretório).

3. Execute:

# debootstrap --include=libc6-xen lenny /xen/modelo http://ftp.br.debian.org/debian

Obs.1: aqui será criada uma instalação básica do Debian Lenny dentro do diretório /xen/modelo, com a opção de instalar a biblioteca libc6-xen.

Obs.2: mais uma vez, esse trecho será um pouco demorado. ;-)

Para a instalação das VMs é necessário compilar um novo kernel. Usaremos o que compilamos no capítulo anterior.

4. Acesse novamente /usr/src/xen-3.3.0/linux-2.6.18-xen.hg e deixe a seguinte linha no arquivo Makefile conforme abaixo. Mudaremos de "dom0" para "domU":

EXTRAVERSION = .8-xen-domU

5. Abra o menu de configuração do kernel:

# make menuconfig

6. No menu principal, em "XEN", deixe a opção conforme abaixo:

[ ] Privileged Guest (domain 0)

7. Saia do menu de configuração, lembre-se de salvar quando ele perguntar e recompile o novo kernel:

# make
# make modules_install


8. Copie /usr/src/xen-3.3.0/linux-2.6.18-xen.hg/arch/i386/vmlinuz para /boot/vmlinuz-2.6.18.8-xen-domU. Copie /lib/modules/2.6.18.8-xen-domU para /xen/modelo/lib/modules.

9. Nessa instalação "modelo" é necessário instalar alguns pacotes e fazer algumas configurações, seguem:

9.1. Execute:

# chroot /xen/modelo (a partir de agora todas as alterações serão feitas nesse "modelo")

9.2. # mount /proc

9.3. Edite /etc/environment adicionando as linhas:

LANG="pt_BR"
LANGUAGE="pt_BR:pt:pt_PT"

9.4. Carregue o arquivo:

# source /etc/environment

9.5. Adicione a entrada "export LC_ALL=pt_BR" ao arquivo /etc/profile.

9.6. Carregue as alterações:

# source /etc/profile

9.7. Edite /etc/apt/sources.list:

deb http://ftp.br.debian.org/debian testing main contrib non-free

9.8. # apt-get update

9.9. # apt-get install vim less build-essential locales ssh nmap udev

9.10. Descomente as linhas abaixo no arquivo /etc/locale.gen:

pt_BR ISO-8859-1
pt_BR.UTF-8 UTF-8

9.11. Execute:

# locale-gen

9.12. Edite /etc/inittab adicionando a entrada abaixo para permitir fazer logon no console da VM (MUITO IMPORTANTE):

co:2345:respawn:/sbin/getty 38400 xvc0

9.13. Crie senha para usuário root:

# passwd

9.14. Altere /etc/ld.so.conf.d/libc6-xen.conf, trocando "hwcap 1 nosegneg" para "hwcap 0 nosegneg".

10. # umount /proc

11. Saia do chroot:

# exit

Usaremos o LVM (Logical Volume Manager) para criar os discos que serão usados pelas VMs.

12. Instale as ferramentas de administração do LVM no Domain-0.

12.1. # apt-get install lvm2 dmsetup

12.2. Inicie o LVM:

# /etc/init.d/lvm2 start

13. Verifique se há no disco uma partição (no meu caso sda3) criada especialmente para abrigar as discos criados via LVM:

# fdisk -l /dev/sda

Obs.: se não houver, deverá ser criada via "fdisk". Essa recomendação é feita no capítulo "Preparando o sistema hospedeiro (dom0)".

14. Crie um Physical Volume nessa partição:

# pvcreate /dev/sdaX

Cuidado! Especifique exatamente a partição que você disponibilizou para o LVM.

15. Crie o Volume Group de nome "xenvg" nesta partição.

# vgcreate xenvg /dev/sdaX

Cuidado! Especifique exatamente a partição que você disponibilizou para o LVM.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Preparando o sistema hospedeiro (dom0)
   3. Instalando o Xen
   4. Criando a VM de modelo
   5. Criando a VM real
   6. Apêndice: Comandos básicos para administração
Outros artigos deste autor

Acesso seguro a um desktop remoto utilizando Linux, OpenVPN e Nxserver

Leitura recomendada

Visualizando Área de Trabalho Remota

Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS

Por que não migrar?

Cuca Fresca no Linux

Instalando e configurando OpenNMS em Ubuntu Linux

  
Comentários
[1] Comentário enviado por andrefreire em 05/11/2008 - 19:53h

Parabéns pelo artigo ! Bastante detalhado e assim que tiver tempo vou testar, porém só uma dúvida. Por que você não usou um kernel já compilado pra XEN do próprio Debian ?

[2] Comentário enviado por brunaocomanda em 06/11/2008 - 08:36h

Opa André,

Cara, nada impede que vc use um kernel pré-compilado do próprio Debian, inclusive, que vc instale o Xen via apt, mas a questão é que eu gosto de deixar o kernel bem "enxuto", só com aquilo que é realmente necessário. Isso é uma forma de ter mais controle também, por isso eu faço assim.

[3] Comentário enviado por giaco em 06/11/2008 - 09:02h

Cara, ótimo artigo!
Como faria para instalar um Windows virtualizado no Xen?

[4] Comentário enviado por brunaocomanda em 06/11/2008 - 09:23h

Pra instalar o Windows, vc deve criar uma imagem ISO do cd de instalação do windows no HD (pra isso use o comando "dd"); Deve tambem criar o volume onde será instalado o windows (windows.disk) e usar o exemplo abaixo como arquivo de configuração desta VM, salvo em /etc/xen/windows.vm
#---------------------------------------------------------------------------------------------------
builder='hvm'
memory = 512
shadow_memory = 8
name="WindowsXP"
vcpus=2
vif = [ 'mac=00:16:3e:00:00:02, type=ioemu, bridge=eth0' ]
disk=[ 'phy:xenvg/windows.disk,ioemu:hda,w','file:/opt/windows.iso,ioemu:hdc:cdrom,r' ]
cdrom = "/opt/windows.iso"
on_poweroff = 'destroy'
on_reboot = 'restart'
n_crash = 'restart'
device_model= '/usr/lib/xen/bin/qemu-dm'
ne200 = 1
boot = "d"
sdl = 1
vnc = 0
#----------------------------------------------------------------------------------------------

Inicie a vm com xm create windows.vm, ela será iniciada a partir da ISO do cd (opção "boot = d"), depois de instalado o windows, mude esta opção para "boot = c". Tente ai e boa sorte!!!

[5] Comentário enviado por apscherbach em 13/11/2008 - 12:14h

A pergunta é: é preciso ter um processador específico ou com uma tecnologia específica para fazer isso?

Pelo artigo entendi que há processadores com recursos para potencializar a virtualização, mas não ficou claro se iso é um requisito para desempenho ou para realmente ter a solução.

Muito bom o artigo.

Abraço,
Adriano

[6] Comentário enviado por brunaocomanda em 13/11/2008 - 12:48h

Caro apscherbach,

A tecnologia presente nos novos processadores com certeza melhora o desempenho das VMs, porque é feito pra isso, mas a maior utilidade dessa tecnologia é permitir que dois sistemas operacionais distintos rodem no mesmo nível de execução do processador. Por isso é possível executar o Windows num esquema de paravirtualização. Sem esses recursos no processador, o Xen funciona, mas a execução do windows é feita com virtualização total. No caso do Linux, como tem que haver as modificações no kernel, ele sempre é executado no modo de paravirtualização, independente ou não do processador. Conforme falei, os recursos do processador apenas aumentam (e muito) o desempenho das Vms.

[7] Comentário enviado por apscherbach em 14/11/2008 - 12:18h

Maravilha meu caro, muito obrigado.

Eu estava usando VMWare, mas estou achando a versão 2 bem mais lenta que a 1. Tentei o qemu também. Vamos ver como ficará com o Xen.

Valeu abraço.

[8] Comentário enviado por removido em 11/11/2010 - 23:50h

Bruno, no Xen tem como dar boot via usb?

[9] Comentário enviado por jeff.jno em 08/10/2011 - 12:17h



Meu amigo muito obrigado e parabéns.
BrunoaComanda, Ficou ótimo seu artigo muito bom mesmo. Estou precisando de uma solução e o sistema da Vmware é muito caro no meu caso que trabalho para uma instituição de ensino você já pode imaginar o quão é difícil conseguir dinheiro se quer para comprar novos mouses, imagine então para comprar uma solução da vmware que me ofereceram por 11k por processador. tem base!

Queria fazer algumas perguntinhas:

1) conseguira eu rodar isso no ubuntu server 2.38-8? Ou você me indica mesmo o Debian?
2) Tentei instalar no unbutu e deu erro, usando esse kernel 2.38 precisaria eu usar um kernel mais antigo como o 2.11?
3) preciso baixar o kernel para compilar e gerar o arquivo que vou madar o link para o /boot
4) eu conseguiria rodar um tipo de cluster com essa solução exemplo... 4 ou 5 computadores rodando o Xem e eu instalar por exemplo uma máquina virtual onde se uma cair as outras continuam rodando os processos?
5) Se possível for fazer o cluster queria saber se tem como eu configurar por exemplo um cluster de HP e outro de HA, uma analogia bem simploria seria uma RAID 0+1 com computadores rsrs ou quem sabe até uma RAID 5?

Bruno desculpe se fiz um monte de pergunta boba ou sem sentido sou vigem nesse assunto a alguns anos atrás comecei a estudar KVM mas me roubaram o livro...

Agradeço por compartilhar seu conhecimento,


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts