Virtualização: VMware ou VirtualBox no Ubuntu 9.04 com kernel 2.6.29-11?

Atualmente muito vem se falando de virtualização, não apenas em servidores, mas de aplicações desktop também. É muito mais tranquilo virtualizar um outro SO para rodar uma determinada aplicação que precisamos do que rodar em dual boot.

[ Hits: 51.003 ]

Por: Luiz Vieira em 30/03/2009 | Blog: http://hackproofing.blogspot.com/


Do embate entre VMWare e Virtualbox



Atualmente muito vem se falando de virtualização, não apenas em servidores, mas de aplicações desktop também. É muito mais tranquilo virtualizar um outro SO para rodar uma determinada aplicação que precisamos do que rodar em dual boot. Para isso temos o VMWare, que é o mais utilizado em desktop, dentre outras ferramentas (VirtualBox, XEN, QEMU etc).

Essa semana decidi baixar e instalar o Linux Ubuntu 9.04. Qual não foi minha surpresa ao encontrar imensa dificuldade em instalar o VMWare? Coisa tão tranquila no Ubuntu 8.04 (mas pelo que sei, também não instalava tão bem assim no 8.10).

Utilizei a versão VMWare Server 2.0 (que é gratuita) para testar a instalação e virtualizar algumas aplicações do "Windows" e uma outra distribuição Linux (BackTrack BETA 4). Para baixar o VMWare: http://www.vmware.com/download/server/

Segui os seguintes passos, começando pela verificação de meu kernel:

# uname -a

Que retornou "Linux server 2.6.29-11".

Daí comecei a instalação dos headers do kernel:

# apt-get install linux-headers-2.6.29-11

Depois disso, foi necessário instalar o conjunto de compiladores básicos:

# apt-get install build-essential

No Ubuntu, precisei criar manualmente o link "/usr/src/linux" (coisa que muito provavelmente não precise fazer em outras distribuições), apontando para a pasta referente a versão instalada. Para isso acessei a pasta "/usr/src" e rodei o comando "sudo ln -sf linux-headers-2.6.*-* linux", como em:

# ln -sf linux-headers-2.6.29-11-server linux

Nesse ponto foi necessário instalar um conjunto de bibliotecas que o VMWare precisa para a parte gráfica:

# apt-get install libx11-6 libxtst-dev libxt-dev libxrender-dev libxtst6 libxt6 libxrender1 libxi6 libdb3

Pronto, tudo o que preciso (nesse momento pelo menos) está instalado.

Baixei, depois de tudo isso, os seguintes arquivos:
Nesse ponto foi onde comecei a instalação propriamente dita:

# tar -zxvf VMware-server-2.0.0-122956.i386.tar.gz
# cd vmware-server-distrib
# ./vmware-install.pl


Segui instalando normalmente, respondendo "yes" a todas as perguntas. E quando cheguei na seguinte mensagem:

Before running VMware Server for the first time, you need to configure it by invoking the following command: "/usr/bin/vmware-config.pl". Do you want this program to invoke the command for you now? [yes]

Digitei "no" para interromper a instalação.

Após isso precisei fazer o seguinte:

# cd /usr/lib/vmware/modules/source
# tar -zxvf vmmon.tar
# vi source/vmmon-only/include/compat_kernel.h


E nesse ponto foi necessário realizar a alteração do arquivo que abri no vi. As alterações são as seguintes:

De:

#define __NR_compat_exit __NR_exit
static inline _syscall1(int, compat_exit, int, exit_code);

Para:

#define __NR_compat_exit __NR_exit
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)
static inline _syscall1(int, compat_exit, int, exit_code);
#endif

Salvei o arquivo e saí do vi (:wq). E então executei os seguintes comandos para reconstruir o pacote:

# mv vmmon.tar vmmon.origin.tar
# tar cvf vmmon.tar vmmon-only


Então retornei ao diretório onde estava meu arquivo vmware-update-2.6.27-5.5.7-2.tar.gz e executei os seguintes comandos:

# tar -zxvf vmware-update-2.6.27-5.5.7-2.tar.gz
# cd vmware-update-2.6.27-5.5.7-2
# ./runme.pl


Prossegui com a instalação normalmente, informando tudo o que foi solicitado (normalmente as opções default são as corretas) e então o script compila a biblioteca vmmom que alterei, já com as informações corretas.

Após terminada a instalação, não havendo nenhum erro, executei:

# vmware

E como o comando foi executando corretamente, entrei no navegador (já que achei estranho não haver o vmware-console, como nas versões anteriores). No navegador digitei https://localhost:8333/

O mesmo solicitou o nome do usuário e senha: usuário root e senha [senha-do-root].

Lembrando que o Ubuntu não define a senha de root por padrão, bastando digitar no terminal:

# passwd root

e então redefinir a senha de root.

Pronto! Agora consegui acesso ao gerenciador remoto de máquinas virtuais! Criei duas máquinas virtuais e qual não foi minha surpresa ao ver o seguinte erro no console remoto ao carregar minhas máquinas virtuais: "Failed to initialize monitor device".

Bem, depois disso tudo, consegui descobrir que o vmware-server-2.0 só possui console remoto (nesse ponto, sua versão anterior é mais tranquila, pois você trabalha com o console local, instalando o vmware-server-console), e que no kernel mais atual o vmware, na versão 2.0 tem problemas com o módulo vmmon do kernel. Foi um trabalho para chegar até aqui e ainda tenho que descobrir como resolver a questão do módulo vmmon!

Enquanto isso decidi fazer um teste para não ficar órfão. Como já tinha usado o VirtualBox no Windows antes, decidi testá-lo no Linux. O problema é que no Windows tive problemas na conexão de rede entre as máquinas virtuais. Porém, qual não foi minha surpresa em descobrir que no VirtualBox para Linux o modo bridge de rede é padrão?! Isso facilitou demais minha vida, sem contar que a instalação foi super tranquila.

Baixei a versão .deb para o Ubuntu 8.10 aqui: virtualbox-2.1_2.1.4-42893_Ubuntu_intrepid_i386.deb

Já no tamanho vemos a diferença: 32mb do VirtualBox contra mais de 500mb do VMware Server.

Depois de baixar, bastou dar dois cliques no pacote .deb e a instalação foi realizada, de forma simples e indolor!

Bem, no momento estou usando o VirtualBox, feliz da vida, mas ainda com um gosto amargo na boca, resquício da luta com o VMware. Mas aguardem, em breve resolvo o problema do módulo vmmon e posto aqui a solução!

Vamos a luta!

   

Páginas do artigo
   1. Do embate entre VMWare e Virtualbox
Outros artigos deste autor

ARP Poisoning: compreenda os princípios e defenda-se

Wmap web scanner

Vulnerabilidade em mais de 6 milhões de sites com flash

Explorando celulares Android via Web com airbase-ng

Metasploit Framework

Leitura recomendada

Montando uma rádio de internet no Linux

Integração Contínua com Jenkins - Instalação (Parte 1)

Um tour pelos players de áudio para Linux

Zabbix e iPhone

ownCloud - Em poder de suas mãos (Private Cloud)

  
Comentários
[1] Comentário enviado por stremer em 30/03/2009 - 12:01h

Ola amigo. Eu testei ambos, inclusive outras soluções. Uso VMWare desde 2001 (virtualizando windows 98 no linux na epoca do kernel 2.2)... mas o vi a primeira vez em 99. Ja usei qemu tbem... Uso VMWare ESXi na empresa.
Minha conclusões:
- Para servidor virtual de verdade, VMWare ESXi é fantastico... mas para usar as VMs como desktop esquece...
- Para maquinas antigas (diria que tem somente 1 nucleo de processamento), o VMWare se sai muito melhor que o Virtual Box, principalmente a versão Workstation para aplicativos desktop.
- Para maquinas mais novas o Virtual Box se sai melhor e é mais leve, porém tem alguns SOs que não funcionam mto bem no Virtual Box (não estou falando de nenhum windows aqui, mas de alguns BSDs).

Ou seja, no final das contas, ainda precisamos de todos eles :))))

[2] Comentário enviado por admtempos em 30/03/2009 - 16:32h

muito bom este posse e nao sabia que ja tinha para teste a nova versao do ubuntu nao sei pq mais no ubuntu 8.04 quando eu instalei o vmware se eu fizece alguma atualização eu teria que reinstalar o vmware mais eu vou esta testando no novo ubuntu

[3] Comentário enviado por armctec em 30/03/2009 - 22:31h

No que usei para desktops a melhor opção é o VMWare Workstation

[4] Comentário enviado por luizvieira em 31/03/2009 - 09:22h

A grande questão nesse caso, do que quis mostra, não é por ser VMware server ou workstation, mas sim que o software possui incompatibilidde com o kernel 2.6.29.
O Workstation realmente é melhor para desktops, mas é pago, e sua chave expira em 30 dias, o que é incomodo, e como o server é gratuito, dei preferência ao mesmo.
stremer, ainda não usei a versão ESXi, prometo que vou testá-la assim que possível...rs. tbm trabalho com o VMware há anos e sempre gostei do mesmo, daí minha decepção de ter que migrar pro VirtualBox só prq estou com o kernel mais novo...

Obrigado pelos comentários de todos, pois sempre enriquecem nosso trabalho e pesquisa.
[ ]'s
Luiz

[5] Comentário enviado por facb69 em 31/03/2009 - 09:31h

Para mim, no Ubuntu 7.10 e 8.04 o VMWare Server não funcionou nem com kernel 2.4. Já no Windows é o VirtualBox que não roda bem.
Precisamos lembrar que o VB foi feito para rodar em qualquer ambiente, Linux, Windows, MAC, BSDs, mas o VMWare foi feito para rodar mais no Windows mesmo. A versão server é mais simples por ser gratuita e não chega aos pés da Workstation.
Para desktops, minha opinião é: VirtualBox para Linux e VMWare Server para Windows (para ambientes de rede eu não testei :|).

[]s
pktp69

[6] Comentário enviado por nicolo em 31/03/2009 - 10:15h

O artigo é ótimo, mas não é razoável que se tenha que modificar o sistema para instalar um aplicativo.
Ou o aplicativo funciona com a intalação padrão ou o linux não sai do laboratório dos experts.
Um dos virtualizadores é necessário para rodar algo que não se consegue em Linux.

[7] Comentário enviado por luizvieira em 31/03/2009 - 13:12h

Concordo com vcs, pktp69 e nicolo!

[8] Comentário enviado por pinduvoz em 01/04/2009 - 18:51h

O Morimoto também tratou recentemente do VMware (Player) no Linux.

Vejam: http://www.gdhpress.com.br/blog/vmware-player-linux/

No que interessa a este artigo, consta do texto linkado:

"A VMware é um pouco lenta para atualizar o VMware Player (e os demais produtos) em relação às novas versões do kernel, por isso você não conseguirá instalá-lo em versões de desenvolvimento, que utilizem versões muito recentes do kernel. Nesses casos, o melhor é não perder tempo e utilizar o VirtualBox, que tem uma versão open-source".

[9] Comentário enviado por andersoncw em 02/04/2009 - 11:48h

Tenho instalado o VMWare no meu Ubuntu 8.10, foi um pouco chato para instalar, mas depois que encontrei os módulos de instalação e configuração, consegui fazê-lo funcionar.
Em relação ao 9.04, ainda não instalei...
Sendo sincero, não gosto muito do Virtual Box...

[10] Comentário enviado por regullus em 29/04/2009 - 09:46h

Olá Luiz,

Estranho eu não tive problemas em instalar no ubuntu 8.10 e 9.04, não sei se há diferença, mas o meu ubuntu é de 64 bits,

antes instalo:

apt-get install libx11-dev xinetd manpages-dev autoconf automake1.9 libtool flex bison fakeroot linux-headers-`uname -r` build-essential

dai uso o VMware-server-2.0.1-156745.x86_64.tar.gz com o 2.0.0 funcionou bem também.

Já no debian 5 (também 64bits) tive que fazer o ajuste:

ls -l /usr/bin/gcc*
export CC=/usr/bin/gcc-4.1


[]s
Regullus


[11] Comentário enviado por ruybraga em 14/07/2009 - 06:28h

Pois é!

Eu tive problemas com o vmware também.
Mas eu acabei achando um script no site do ubuntu que resolveu.
Basta salva-lo num arquivo chamado vmware-build-module, dar permissão de execução e executa-lo.





#!/bin/bash

cd ~
rm -rf vmware-modules
mkdir vmware-modules
cd vmware-modules
find /usr/lib/vmware/modules/source -name "*.tar" -exec tar xf '{}' \;
mkdir -p /lib/modules/`uname -r`/misc
rm -f /lib/modules/`uname -r`/misc{vmblock.ko,vmci.ko,vmmon.ko,vmnet.ko,vsock.ko}
rm -f /lib/modules/`uname -r`/misc{vmblock.o,vmci.o,vmmon.o,vmnet.o,vsock.o}
cd vmblock-only; make; cd ..
cd vmci-only; make; cd ..
cd vmmon-only; make; cd ..
cd vmnet-only; make; cd ..
#cd vmppuser-only; make; cd ..
cd vsock-only; make; cd ..

cp *.o /lib/modules/`uname -r`/misc/.
cd /lib/modules/`uname -r`/misc/

ln -s vmblock.o vmblock.ko
ln -s vmci.o vmci.ko
ln -s vmnet.o vmnet.ko
ln -s vmmon.o vmmon.ko
#ln -s vmppuser.o vmppuser.ko
ln -s vsock.o vsock.ko

depmod -a
service vmware restart

cd ~
rm -rf vmware-modules




[12] Comentário enviado por luizvieira em 14/07/2009 - 20:28h

Valeu pela dica ruy!
Vou testar aqui e ver no que dá.
[ ]'s

[13] Comentário enviado por lsilveira em 31/07/2009 - 16:21h

o link correto para baixar o update
http://www.insecure.ws/warehouse/vmware-update-2.6.27-5.5.7-2.tar.gz

[14] Comentário enviado por elsonjunior em 09/09/2009 - 16:56h

Alguém sabe explicar o porquê do erro abaixo:

./vmware-install.pl
The following VMware kernel modules have been found on your system that were
not installed by the VMware Installer. Please remove them then run this
installer again.

vmmon
vmci

I.e. - 'rm /lib/modules/2.6.28-15-generic/misc/<ModuleName>.{o,ko}'

Execution aborted.


Ele aconteceu da segunda vez que tentei fazer o procedimento.
Tks!!!

[15] Comentário enviado por elsonjunior em 10/09/2009 - 10:31h

opa...nada como uma noite de sono..consegui solucionar o problema acima...questão de leitura do erro mesmo..hehe

[16] Comentário enviado por luizvieira em 10/09/2009 - 16:40h

Removeu os módulos e executou novamente o ./vmware-install.pl?
Normalmente isso resolve o problema...
[ ]'s

[17] Comentário enviado por farley.rangel em 14/10/2009 - 16:28h

Foi tanto comentário importante que li, além da matéria, que pensei em deixar minha contribuição, da seguinte forma:

Uso Mac OS Snow Leopard e VMWare Fusion. Depois de ter experiência em tentativas, erros e acertos no Ubuntu desde a versão 7.10 até a 9.04 com VMWare e VirtualBox, comparar com o VMWare Fusion (que uso atualmente) é relativamente fácil pra mim.

O VMWare Fusion para Mac instala super simples e já vem todo configurado para rede e acesso remoto. Tenho acesso fácil de configurar aos dois ambientes (Mac e Win), drivers USB e demais, rodando Windows XP para aplicativos exclusivos de que necessito.

O Hardware que uso onde o VMWare Fusion roda folgado é um MacBook White 13' com 4GB Ram e HD 120. Minha máquina Virtual completa e totalmente funcional ficou com 25GB para inclusive aplicativo de vídeo, Adobe e Corel.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts