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

Por: Bruno Roberto em 05/11/2008


Introdução



O Xen (leia-se Zein), é uma ferramenta de virtualização livre para a plataforma x86. Diferentemente de outras ferramentas, o Xen usa um novo conceito para virtualizar: paravirtualização.

Neste esquema o Xen cria uma simples camada de abstração do hardware (hypervisor) para os sistemas operacionais modificados, permitindo o acesso ao hardware de uma forma quase direta. Por exemplo, transferências de dados "de e para" as máquinas virtuais é realizada através de uma região de memória compartilhada entre o sistema hospedeiro (dom0) e os demais sistemas virtuais (domU), por onde mensagens são transferidas e o hypervisor pode efetuar suas verificações. Já no esquema de virtualização total, todo o hardware é emulado para as máquinas virtuais, isso degrada muito o desempenho dos sistemas virtuais.

Na paravirtualização, através de modificações no kernel, o sistema hóspede (domU) tem "consciência" de que é executado em um ambiente virtual, desta forma ocorre uma grande cooperação entre ele (domU) e o sistema hospedeiro (dom0), que também tem um kernel modificado, resultando num desempenho excepcional das máquinas virtuais (domU).

Para se ter uma idéia, o VMWare, com o esquema de virtualização total, chega a perder 30% de desempenho real na execução das VMs (Virtual Machines), enquanto a perda de desempenho de uma VM com Xen não chega a 5%. Isso é notório quando se quer trabalhar com aplicações que exigem maior poder de processamento.

Para completar, os novos processadores da Intel e AMD agregam em si instruções específicas para trabalhar com virtualização. Tecnologias como INTEL-VT para processadores Intel e AMD-V para a família AMD são totalmente suportadas pelo Xen. Isto permite ao Xen executar sistemas operacionais que não podem ser modificados, como o Windows, sem utilizar virtualização total.

Abaixo um desenho da arquitetura do Xen:
Linux: Instalando Xen 3.3.0 no Debian Lenny
    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

Avaliando Ubuntu 7.10 Gutsy Gibbon (Ubuntu Studio)

Administrando Servidores Windows 2000 c/ o RDesktop

Usando e abusando do Zypper

Utilizando o Protheus em estações Linux

Slapt-get, prático e eficiente para atualizar o sistema e baixar programas novos

  
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