Destinado a todos os que deseja utilizar alguma espécie de software Open Source

quarta-feira, 24 de setembro de 2008

Virtualização - Xen ou não

Introdução
Virtualização é um recurso que existe há muito tempo e seu principal uso era nos mainframes. Mas por que a virtualização está em alta agora?

Com a evolução da arquitetura x86 usada nos computadores domésticos, com o poder de processamento cada vez melhor e mais barato, podemos “rodar “ mais de um sistema operacional ao mesmo tempo, independentemente da plataforma. Isso é proporcionado por processadores mult-core e hardwere mais rápidos com o custo baixo, que não eram realidade antigamente.

O que muita gente não sabe é que existem vários tipos de virtualização. A mais conhecida é a Modell Hosted Virtualization, que nada mais é do que uma virtualização completa executada a partir de um sistema hospedeiro (Windows, Linux ou Mac OS). O software mais conhecido para este tipo de virtualização é o VMware (www.vmware.com), que emula uma ISA (Instruction Ser Architecture) no sistema operacional hospedeiro onde pode ser aberto um novo host (máquina virtual) a partir do mesmo.

O outro modo de virtualização é o modo clássico denominado de hypervisor, que obteve uma grande preferência pois precisa de hardware específico para rodar mas máquinas virtuais (são gerenciadas pelo hardware). Com o hypervisor podemos ter dois tipos de virtualização. Elas são:

Paravirtualização: os hóspedes sabem perfeitamente que rodam em um ambiente virtual. Para isso o kernel do hóspede precisa ser modificado, sendo perfeito para sistemas operacionais que possuem seu código aberto, como o Linux.

Virtualização completa: este modo de virtualização tem um desempenho superior, pois é feita por uma interface que controla diretamente o hardware e não por um sistema hospedeiro.
Xen

O Xen foi desenvolvido por um grupo de pesquisadores da Universidade de Cambridge, como parte do projeto XenoServers. Este projeto tem como objetivo criar uma “infra-estrutura global para a computação distribuída”. O Xen possui esta função chave.

O modo de virtualização utilizada neste sistema é um pouco diferente daquele usado pelos softwares VMware ou VirtualBox que utilizam o conceito de hóspede e hospedeiro.

O Xen utiliza um outro conceito mais aprimorado que permite um ganho de desempenho. O Xen carrega um componente chamado de hypervisor antes de carregar o sistema operacional, onde o hypervisor é responsável por controlar os recursos de comunicação, memória e processamento das maquinas virtuais; é como se estivesse executando direto no hardware. As máquinas virtuais no Xen são chamadas de domínios ou simplesmente dom, por isso, precisam ter um sistema operacional inicial invocado pelo hypervisor que é chamado de domínio0 ou simplesmente dom0.

O hypervisor não possui drivers e controladores de hardware por isso precisa do dom0 para esta comunicação. O dom0 é o responsável por controlar as demais máquinas que se chamam Domínio Uniprivileged ou domU; todas as máquinas virtuais são gerenciadas pelo dom0.

Para que se tenha uma virtualização completa com o Xen é preciso que o processador suporte o recurso para isso. Por exemplo, os processadores Vanderpool da Intel e o Pacifica da AMD, para que consigam ter uma virtualização, um Pentium 4 com 512 mb de RAM já é o suficiente, porém só pode ser uma paravirtualização.


Instalando o Xen no Centos

Para instalar o Xen no Centos é preciso ter os pacotes:

Citando:

Kernel-xen
Xen
Xen-libs


O ideal é que seu sistema possua o sistema de arquivos todo montado sobre LVM para que, em caso de algum problema de espaço em disco, o mesmo possa ser mudado sem precisar fazer "gambiarras" ou reinstalar todo o sistema.

Após a instalação desses componentes é preciso dar um boot na máquina e entrar no Linux utilizando o kernel-Xen. Muitas implementações já optam por instalar o Xen durante a instalação do sistema operacional.
Temos que iniciar o serviço xend para iniciar a criação da máquina virtual.

Citando:

#service xend start


Abra o virtual machine manage em aplicações, ferramentas do sistema, virtual machine manager.

Photobucket

Clique em novo

Photobucket

Avance, digite o nome da máquina virtual e avance novamente.

Agora você poderá escolher qual o modo de virtualização; se o seu processador não suportar a virtualização completa, esta opção não estará disponível.

Photobucket

Após avançar ele vai pedir um kernel modificado para a paravirtualização.

Clique em virtualização completa e clique em avançar.


Agora você irá escolher a origem da instalação do sistema operacional que pode ser por uma imagem ISO ou pela unidade de CD-ROM. Também é possível escolher qual o tipo de sistema operacional como no VMware (Windows, Linux, Unix ou genérico). Após avançar você poderá definir o tamanho do disco rígido e se deseja alocar o espaço agora ou se crescerá à medida que forem sendo gravados dados na máquina virtual.

Após avançar irá escolher o dispositivo da rede que pode ser uma rede virtual interna entre os domínios ou se a máquina virtualizada estará na rede física como no modo bridge do VMware e clique em avançar. Agora iremos escolher a memória RAM disponível para este novo domínio que está sendo criado e podemos avançar para concluir.

Agora a instalação do novo sistema operacional em uma máquina totalmente virtualizada pode ocorrer de forma muito parecida como o que fazemos com o VMware.

No modo de para virtualização não é tão simples não é nenhum bicho de sete cabeças. Para isso precisando ter uma imagem de um kernel-xen no /boot do dom0

Conclusão

Após esta implementação conclui que não é tão viável utilizar o Xen quando não se tem o hardware adequado pois se tem um exigência maior. Sendo assim é melhor partir pra soluções infantis como a da Vmware, mas se o seu hardware suportar, nem pense duas vezes, pois a escolha mais correta é o Xen para sistemas profissionais.

Nenhum comentário: