Virtualização em linux

VirtualizaçãoUma semana brigando com o Linux e procurando o melhor sistema para virtualizar diversos SO’s.

Os pontos na qual foram observados:

  • Velocidade
  • Possibilidade de roteamento para a rede das máquinas virtuais
  • Facilidade na integração com bibliotecas e painéis
  • Ser livre (Open Source)

 

Dentre os testados, destacaram-se:

  • KVM – é uma infraestrutura de virtualização, integrada ao Linux. Atualmente a KVM suporta virtualização nativa usando Intel VT ou AMD-V. Suporte limitado a paravirtualização também está disponível para hóspedes Linux e Microsoft Windows na forma de um driver de rede paravirtual,1 um driver de dispositivo de entrada/saída (disco),2 um driver recipiente para afetar a operação do gerenciador de memória virtual do hóspede,3 e otimizações de processamento para hóspedes Linux. (http://pt.wikipedia.org/wiki/Kernel-based_Virtual_Machine)
  • OpenVZ – é uma tecnologia de virtualização em nível de sistema operacional baseada no sistema operacional e núcleo Linux. Ele permite que um servidor físico execute multiplas instâncias de um sistema operacional, conhecidas como containers, Sevidores Virtuais Privados (VPSs) ou Ambientes Virtuais (VEs). É similar ao FreeBSD jail e ao Solaris Zones. Quando comparado à máquinas virtuais tais como VMware e paravirtualização tais como Xen, o OpenVZ é limitado e exige que tanto o host quanto o SO convidado sejam Linux (apesar das distribuições Linux serem diferentes em containers diferentes). Contudo, OpenVZ possui uma vantagem em relação a performance; de acordo com seu site web, há apenas uma perda de performance de 1-3% para o OpenVZ comparado com a utilização de um servidor standalone.
  • XEN – é um software livre de virtualização para as arquiteturas x86, x86-64, IA-32, IA-64 e PowerPC. Xen permite a execução de vários sistemas operacionais, simultaneamente, sobre um mesmo hardware. Versões modificadas de Linux e NetBSD podem ser usadas como base. Diversos sistemas Unix modificados podem ser executados.
  • User Mode Linux (UML) – permite que vários sistemas Linux  (conhecido como convidados) possa ser executado como um aplicativo dentro de um sistema Linux normal (conhecido como o host). À medida que cada convidado é apenas um aplicativo normal executado como um processo no espaço do usuário. Esta abordagem fornece ao usuário uma maneira de executar várias máquinas virtuais Linux em uma única peça de hardware, oferecendo segurança e segurança [carece de fontes], sem afetar o ambiente de host configuração ou estabilidade.

Vamos aos sistemas de gerenciamento testados. Os mais populares foram:

  • OpenVZ Web Panel – é uma interface web GUI para controlar o hardware e servidores virtuais com a tecnologia de virtualização OpenVZ.
  • Proxmox Virtual Environment – é um software livre de virtualização, especificamente um hypervisor para máquinas virtuais. Ele possui suporte a OpenVZ e KVM.
  • OpenNode – sistema fácil de usar (com base no CentOS/RHEL) com suporte ao OpenVZ e ao KVM em um mesmo host físico. Para uma gestão local, incluímos OpenNode TUI Utility, bem como uma seleção de ferramentas padrão amplamente utilizados como virsh como o vzctl.
  • SolusVM – possui uma característica própria e área de administração baseado na web que permite o gerenciamento seguro total do seu conjunto de nós e servidores virtuais.
  • HiperVM – flexível Sistema de gerenciamento de virtualização. Controle o seu servidor fazenda a partir de um único nó.  Suporte para o nível do sistema operacional (OpenVZ) e nível de hardware (Xen).

Considerações finais

Como precisava virtualizar diversas distribuições Linux, como CentOS, Debian 7, Slackware e Ubuntu, escolhemos o OpenVZ para gerenciar as máquinas baseadas em Linux. Mas ainda precisávamos emular o Windows para alguns casos esporádicos e testes a serem feitos em nossos projetos e a saída foi o KVM.

Para gerenciar todas as nossas máquinas virtuais, escolhemos o OpenNode, aberto, código fonte aberto, baseado em Python e com grandes promessas em seu roadmap (http://opennodecloud.com/about/roadmap/)

Em breve estarei postando maires detalhes sobre o servidor utilizado, instalação do sistema base bem como do painel de gerenciamento escolhido.