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.134 ]

Por: Bruno Roberto em 05/11/2008


Criando a VM real



Cada VM criada no Xen deverá ter seu próprio disco (volume), para tanto basta criá-lo usando o LVM.

1. Criando o disco onde estará o sistema de arquivos raiz (root):

# lvcreate -L4096M -n vm1.disk xenvg

Onde:
  • -L4096 = tamanho do disco (4GB)
  • -n vm1.disk = nome do volume
  • xenvg = nome do volume group onde será criado esse disco

2. Criando o swap dessa VM:

# lvcreate -L1024 -n vm1.swap xenvg

3. Formate os volumes criados:

# mkfs.ext3 /dev/xenvg/vm1.disk
# mkswap /dev/xenvg/vm1.swap


4. Monte o volume vm1.disk.

4.1. Crie um diretório /xen/vm1.

4.2. # mount /dev/xenvg/vm1.disk /xen/vm1

5. Copie o conteúdo da VM modelo para a vm1 que estamos criando:

# cp -a /xen/modelo/* /xen/vm1

Nessa vm1 temos que fazer algumas alterações.

6- Edite /xen/vm1/etc/network/interfaces e adicione as entradas necessárias para o funcionamento da rede. Especifique um IP diferente do existente no dom0.

7. Edite /xen/vm1/etc/hostname e dê um nome para esta VM.

8. Edite /xen/vm1/etc/hosts e preencha com as informações dos hosts.

9. Edite /xen/vm1/etc/fstab e adicione as entradas abaixo:

Obs.1: no fstab, adicione as entradas para os discos criados conforme o arquivo de configuração da VM que está logo abaixo.

Obs.2: os dispositivos mostrados aqui são desta forma mesmo (/dev/hdaX), independente do que esteja no seu sistema.

proc            /proc           proc    defaults        0       0
/dev/hda1       /               ext3    defaults        0       0
/dev/hda2       none            swap    sw              0       0

10. Desmonte o volume /xen/vm1.

11. Crie o arquivo de configuração desta VM em /etc/xen/ com o nome vm1.vm com o conteúdo abaixo:

# Arquivo de configuração
kernel="/boot/vmlinuz-2.6.18.8-xen-domU"
disk=['phy:xenvg/vm1.disk,hda1,w','phy:xenvg/vm1.swap,hda2,w',]
maxmem=512
memory=128
vcpus=1
root="/dev/hda1 ro"
vif=['mac=00:16:3e:00:00:01, bridge=xenbr0']

Obs.1:
  • maxmem = quantidade máxima de memória que esta VM pode ter. Especifique um valor menor do que o total de memória física que você possui.
  • memory = quantidade de memória que a VM iniciará.
  • vcpus = quantidade de processadores (cores) virtuais que a VM terá.

Obs.2: Quando criar mais VMs, incremente o mac que está especificado acima. Ex: vif=['mac=00:16:3e:00:00:02, bridge=xenbr0']

13. Vamos agora iniciar esta VM:

# xm create -c vm1.vm

Obs: -c inicia a VM com o console disponível para login. Para sair do console e retornar ao console padrão do Linux pressione Ctrl + ]

14. Para acessar a console da VM use:

14.1. No dom0, execute:

# xm list

14.2. xm console vm1.vm ou xm console "ID-da VM". Exemplo:

# xm console 1

15. Se você configurou uma rede na VM, é possível acessá-la via ssh.

16. Para iniciar a VM automaticamente na inicialização do sistema dom0, copie o arquivo de configuração da VM para /etc/xen/auto.

O Xen permite o acesso a rede das VMs a partir de um bridge na eth0 do dom0. Com ifconfig no dom0 você verá que uma interface (peth0) foi criada. Ela é usada para fazer a ponte entre a rede das VMs (domU) e a interface física de rede do computador

A partir de agora você pode usar a VM para qualquer fim, inclusive instalar uma interface gráfica, tipo KDE, e acessar essa interface usando ferramentas como o NxServer e NxClient. Bom trabalho!

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

Instalando e configurando o DOSemu no Slackware

Implementando servidor web Java com Tomcat no Linux

Ktechlab - Ambiente de simulação de circuitos

Modelos de Negócio para o Software Livre

dstat - Ferramenta de Monitoramento no 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