28 de março de 2009

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. Para isso, temos o VMware que é o mais utilizado em desktop, dentre outras ferramentas (VirtualBox, XEN, QEMU e etc).

Essa semana decidi baixar e instalar o 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 "Windoze" 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 à versão instalada. Para isso, acessei a pasta "/usr/src" e rode o comando "sudo ln -sf linux-headers-2.6.*-* linux", como em:

# sudo 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:

- VMware-server-2.0.0-122956.i386.tar.gz
- vmware-update-2.6.27-5.5.7-2.tar.gz (http://www.insecure.wa/warehouse/vmware-update-2.6.27-5.5.7-2.tar.gz)


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" à 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 Windoze antes, decidi testá-lo no Linux; o problema é que no windoze 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: http://download.virtualbox.org/virtualbox/2.1.4/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 à luta!

5 comentários:

  1. Trampo mesmo em cara.
    E no fim dar com a cara na parede é o pior, mas a gente acaba nunca desistindo até ver funcionando. isso ae...
    Vi no seu curriculo que você tem uma formação de Filosofo. O que te levou a buscar isso? Como você usa isso em sua profissão?
    Quizer conhecer meu Blog:
    http://teje-preso.blogspot.com

    abs

    ResponderExcluir
  2. Sim, foi um trabalho brabo!
    Eo mais interessante é que eu não gostava do Virtual Box no Windows, mas no Linux, com isso td foi ele quem me salvou...rs. São problemas comuns que sempre surgem com atualizações de kernel, infelizmente.
    Quanto a filosofia, pra mim sempre foi uma paixão tbm, e acabei indo trabalhar como psicoterapeuta.
    E assim vou equilibrando minha vida nas áreas de humanas e exatas, pois TI é outra paixão com a qual envolvi-me desde criança (a long long time ago, in a galaxy distant far far away...rs).
    Mas uma coisa posso dizer: filosofia ajudou-me muito quando tornei-me professor justamente de TI, pois facilita na hora de conseguir traduzir para leigos conceitos técnicos que os mesmos não entenderiam se fossem explicados em "tecniquês"...rs.
    Gostei do seu blog, que acaba tratando de alguma maneira do mesmo assunto que o meu. E ainda fui encontrar o seu post fazendo referência ao Tiger Team, a série sobre teste de invasão que só teve dois capítulos, infelizmente...
    Vou colocar um link aqui para seu blog, tranquilo?
    Forte abraço e sucesso!

    ResponderExcluir
  3. Eu não sei por que continuo usando o VMWare, desde as versões 1.x ele apresenta problemas para compilar, e sempre tenho que usar esses updates e o vmware-any-any. Quando será que teremos um VMWare decente?

    Ahh, ótimo blog! Seus textos sobre segurança são bem legais =)

    Abraços!

    InFog

    ResponderExcluir
  4. Valeu Infog!
    Não preciso nem comentar que so leitor assíduo de seu blog, não é?! Tanto que o mesmo está aqui na minha lista de blogs :-)
    Quanto ao VMWare, sempre utilizei-o no Windoze, e funcionava muito bem. No entanto, foi só migrar pro Linux que o mundo caiu... De qualquer forma, o Virtual Box, que era horrível no Win, salvou minha vida no Linux.
    O Xen é uma boa opção, mas esbarra na omplexidade de ter que realizar alterações no SO que será instalado para adaptá-lo ao modus operandis do Xen.
    Enquanto não surge opção melhor, convivo com o Virtual Box e vamos caminhando :-D
    Abs!
    Luiz

    ResponderExcluir
  5. Funcionou perfeitamente o vmware aqui. Obrigado

    ResponderExcluir