sábado, 21 de novembro de 2009

VMware Server: um passo para a frente, dois para trás?

Sou usuário do VMware Server desde a versão 1.0.0. O produto acabava de se tornar gratuito (anteriormente era chamado de VMware GSX Server, cuja licença custava US$1000). Ele ainda tinha vários pontos a amadurecer, mas funcionava bem, era estável e ocupava poucos recursos da máquina, voltei a utilizá-lo na versão 1.0.5 e estava bem mais maduro, a interface ficou bem mais responsiva, permindo inclusive acessar VMs com ambiente gráfico em servidores remotos sem lags perceptíveis. Cumpria plenamente seu papel: era um produto gratuito com funcionamento exemplar, servindo como porta de entrada para as soluções de grande porte (ESX Server).

No final de 2008 a VMware lançou a versão 2.0 do VMware Server, após um longo período de versões Beta e Release Candidate. Ela trouxe vários benefícios sobre a versão 1.0, dentre os quais pode-se destacar:

  • Melhor desempenho, principalmente em operações de disco e em máquinas virtuais bi-processadas.
  • Suporte a VMI (Virtual Machine Interface), para-virtualização oferecida por diversas distribuições Linux (Ubuntu, Debian, Gentoo, dentre outras) e que oferece ganhos significativos de desempenho.
  • Suporte a recursos avançados de virtualização, como a MMU virtualizada encontrada nos últimos processadores Intel e AMD e que também oferece um aumento sensível de desempenho.
  • Suporte a USB 2.0 nas máquinas virtuais, contra o suporte a USB 1.1 na versão 1.0.
  • Capacidade de alocar 8GB de memória por máquina virtual, mais que o dobro oferecido pela versão 1.0 (3600MB).
  • Compatibilidade com novos sistemas operacionais, como Windows Server 2008, Vista e Red Hat Enterprise Linux 5
  • Suporte a hot-swap de discos virtuais, permitindo remover um disco de uma VM e adicionar a outra, enquanto ambas estão ligadas.
Infelizmente nem tudo foram flores na transição para a versão 2.0. Vários pontos pesam contra a nova versão:
  • Interface Web: um dos grandes motes da versão 2.0. Com ele, é possível gerenciar as configurações do servidor e das máquinas virtuais através de um navegador web (IE 7+ e Firefox 2+ são suportados oficialmente), com a instalação de um plugin (na verdade um aplicativo a parte acessível pelo navegador) para acessar o console das máquinas virtuais. Aparentemente a solução é excelente, o problema é o tempo de resposta. Algumas vezes ao selecionar uma máquina virtual, leva um minuto até todas as informações serem carregadas. Outras vezes, ao digitar no navegador a URL do servidor, o usuário é presenteado com uma tela em branco, e após várias tentativas de recarregamento da página finalmente a tela de login aparece, às vezes não! Pra completar, o Remote Console (o "plugin") leva mais tempo pra abrir que o VMware Server Console da versão 1.0.
  • Tamanho do Download: Nas últimas versões, o VMware Server 1.0 já não era um aplicativo peso pena, com cerca de 140MB. A versão 2.0 quebrou qualquer precedente e chegou a estúpidos 500MB. Isso veio de algumas decisões da VMware. A primeira dela foi basear a interface web no Tomcat. Com isso foi necessário empacotar a aplicação web, o Tomcat e também a máquina virtual Java. Some-se a isso o um grande número de módulos pré-compilados para o host (na versão para Linux) e para o VMware Tools (o ISO de instalação do VMware Tools pra Linux) que acabam tomando a maior parte desse espaço. Pra se ter uma idéia, tem módulo pro kernel 2.4.9! Acho que quem tem uma máquina com um kernel desses passa bem longe dos requisitos de instalação. O mais curioso é que para distribuições recentes (qualquer uma lançada do meio de 2008 pra frente) é preciso compilar os módulos na unha.
  • Consumo de recursos: Se na versão 1.0 havia um baixo consumo de recursos, algo em torno de 20MB de RAM (exceto é claro os recursos que cada VM necessita), na versão 2.0 esse consumo inicial facilmente supera os 150MB. Isso se deve principalmente ao Apache Tomcat.
  • Problemas para a instalação em Linux: Um problema ao instalar VMware Server no Linux é conseguir fazê-lo funcionar em distribuições recentes (lançadas após o meio de 2008). Quando não existem módulos pré-compilados para o sistema, o instalador tenta compilar os módulos necessários para o funcionamento a partir dos fontes. Além de ter dependências (gcc, make, cabeçalhos do kernel), não é incomum um erro nesse processo impedir que a instalação seja completada. A solução nesse caso é recorrer a patches feitos por terceiros que alteram arquivos do instalador, de forma que ele compile em distros mais novas. Esse problema já existia na versão 1.0, mas esperava-se que fosse amenizado na 2.0. A culpa também não é inteiramente da VMware, o kernel Linux também sofre alterações constantes, além da falta de padronização das distribuições (em uma a variável de ambiente com o caminho pro gcc é GCC, em outra é GCC4, e por aí vai), então não é uma tarefa fácil fazer um pacote universal frente a tantas variações.
  • Remote Console instável no Ubuntu 9.04: Não presenciei esse comportamento em outras versões do Ubuntu ou em outras distros, mas nessa em especial o Remote Console muitas vezes acabava por congelar o ambiente gráfico, obrigando a reiniciá-lo a partir de uma sessão em modo texto.
  • Problemas com inicialização automática de VMs: Um bug que já tive o desprazer de presenciar é o VMware Server travar na inicialização do sistema, na fase de auto-start de VMs. O problema é que não havia nenhuma VM configurada para iniciar no boot, muito menos a opção de auto-start estava ativadas nas configurações! Pensei se tratar de um problema isolado, mas já encontrei algumas pessoas reclamando do mesmo problema nos fóruns de discussão da VMware.
  • Incompatibilidade com o RHEL/CentOS 5.4: Uma mudança na versão da glibc na versão 5.4 do Red Hat Enterprise/CentOS tornou o VMware Server inoperante. Quem já estava com o Server funcionando, ao atualizar para a última versão e reiniciar teve a surpresa dele não iniciar mais. Nesse caso a maior culpada é a Red Hat, que tem o compromisso de não causar quebras de compatibilidade entre revisões do RHEL.
  • Problemas na interface: A interface web possui alguns bugs que são no mínimo ridículos. Um que já me aborrece há algum tempo é que ao adicionar hardware, só é possível adicionar um disco de cada vez. Explicando, eu posso em uma mesma operação adicionar 2 placas de rede, mas não posso adicionar dois discos. Isso em si não é o problema, e sim a interface permitir que eu adicione os dois discos, e ao clicar pra concluir, simplesmente congelar a interface! Há alguns dias encontrei uma menção sobre isso na documentação da VMware, com a sugestão de não tentar adicionar dois discos de uma vez só. Poxa, se eles sabem do problema, porque simplesmente não limitam a adição de apenas um disco por operação???
Como já utilizava a versão 1.0, posso dizer que fiquei um tanto frustrado com a versão 2.0. As VMs possuem mais recursos e rodam mais rápidas, mas o conjunto em si ficou pior. Ele está (bem) mais pesado, a interface não é responsiva além de uma coletâneas de pequenos bugs. Parece que a VMware colocou em segundo plano o VMware Server. Uma razão para isso é a disponibilidade gratuita do VMware ESXi. Não acho isso muito sensato, pois são produtos bem diferentes, o ESXi exige hardware compatível e impede a utilização do equipamento para outras tarefas, enquanto o Server roda sob Windows ou Linux e pode ser instalado mesmo em um desktop, já que o suporte a hardware é feito pelo Sistema Operacional.

A única coisa que podemos esperar é que não demorem em lançar uma versão 3.0, baseada no VMware Workstation 7.0 e no VMware Player 3.0, com uma interface mais funcional e sem tantos bugs. Será pedir demais?

Nenhum comentário:

Postar um comentário