3 de janeiro de 2011

FAQ sobre virtualização

O mercado de virtualização está explodindo em todo o mundo corporativo, acompanhando as tendências da Cloud Computing e com empresas "de peso" como VMware, Oracle, IBM e Microsoft investindo pesado em arquiteturas com suporte a virtualização.

No Brasil a coisa está bastante evoluída, apesar de estar oculta aos olhos do público em geral. O problema é a falta de mão de obra qualificada para trabalhar com virtualização à nível corporativo. Essa deficiência vem interferindo negativamente nos investimentos em infraestrutura de virtualização em nossos datacenters.

Na tentativa de "arregalar os olhos" da galera para este promissor mercado das nuvens, que de "nublado" não tem nada, à partir deste post, vou iniciar uma série sobre um assunto bastante atual e em franca expansão: virtualização de hardware.

Para começar, um pequeno F.A.Q. (Frequently Asked Questions - Perguntas Frequentes) sobre virtualização. São aquelas perguntas já batidas que todos sempre me fazem e cujas respostas já estão na ponta da língua. Vamos lá!

O que significam os termos VM, host e guest aos quais você sempre se refere ao falar de virtualização?
VM ou virtual machine é o ambiente onde o sistema operacional que está sendo virtualizado está instalado e rodando. Um ambiente VM é fornecido por um aplicativo específico, como veremos adiante.

Host ou hospedeiro é o sistema operacional principal, o que já esta instalado na máquina onde rodaremos o software de vitualização e as VMs.

Guest ou visitante é o sistema que está rodando dentro da VM, ou seja, o sistema que está sendo virtualizado no momento.

* Outros termos surgirão ao longo do tempo. Coisas de tecnologia...
Posso rodar uma VM dentro de uma VM?
Sim, se você é louco o suficiente, pode sim. Mas, alguns aplicativos, como o VirtualBox, bloqueiam a instalação de VMs dentro de VMs por motivos óbvios.
Posso criar mais de uma partição no H.D. virtual?
Sim, inclusive fazer sistemas dual boot com Linux em uma partição e Windows em outra, por exemplo.
Posso instalar qualquer S.O. na VM?
Não. Se a VM virtualiza a plataforma IBM PC, apenas S.O.s compatíveis com IBM PC podem ser usados, mas se você usar uma VM que virtualiza a plataforma IBM PC em um Mac, você poderá instalar o Windows neste Mac por intermédio da VM.
Posso acessar a Internet pela VM?
Desde que o S.O. host esteja na Internet, a maioria dos softwares de virtualização dá suporte para rede e portanto, acesso à Internet. Pode-se até usar a VM como servidor da máquina real, por exemplo.
Posso instalar e rodar qualquer programa na VM?
Na prática, alguns softwares terão problemas sérios devido às limitações do hardware virtualizado. Um bom exemplo são os jogos 3D. Só os bem antiguinhos rodam em VM, mas isso varia de sistema para sistema.
O Wine, usado no Linux para rodar aplicativos “for Windows” é uma VM?
Não. O Wine roda os aplicativos de Windows no próprio Linux mesmo, ele apenas usa as bibliotecas e APIs do Windows ou compatíveis para isso. Ele está mais para um emulador do que para uma VM, apesar de "quase todos" dizerem que o Wine não é um emulador...
Já ouví o termo "sandbox" relacionado a virtualização. O que significa?
Literalmente, "caixa de areia". Funciona mais ou menos como a caixa onde o gatinho faz caquinha e que você pode limpar a "sujeira" dele sem colocar a mão na titica. Ou seja, "sandbox" é um recurso que permite explorar coisas diferentes em um sistema sem medo de danificar algo mais importante, já que, caso danifique, você simplesmente recupera o original.

Em virtualização, usamos o termo quando estamos usando máquinas virtuais para testes e estudo: podemos infectar um sistema virtual com um vírus, por exemplo, sem que isso afete o sistema real.
O que acontece com o Windows e outros softwares e S.O.s que necessitam de licença para instalação?
Uma VM é considerada um hardware completo. Assim, você precisa ter uma licença separada do Windows e dos aplicativos exclusivamente para cada VM que os use. Para um PC com Vista "real", e um XP "virtual", você precisa ter a licença de ambos. O mesmo vale para os programas como o Photoshop, Office, etc. Cada VM tem que ter a suas licenças, mesmo que você não as execute ao mesmo tempo.
Que VM você usa e qual você recomenda?
Aos iniciantes indico quatro aplicativos de virtualização, todos muito bons e funcionais. Atualmente uso o VMWare Workstation, que é uma versão paga do VMWare para desktops. É muito poderoso, versátil, seguro e tem um excelente suporte, inclusive em português. O problema é que me custou mais de R$300,00, mas valeu à pena, pois me facilita em muito nos estudos.

Para quem não quer/pode pagar esse valor, tem a versão VMWare Server que é gratuita, mas mais voltada para servidores. 
Mas o VMWare é um sistema um pouco complexo - nada que assuste. Para um inciante é bom começar com algo mais "light" como o Virtual PC da Microsoft ou o excelente VirtualBox da Oracle que fazem um excelente trabalho com custo zero para plataformas não comerciais.

Por enquanto, é só e se você quer saber mais, ainda tem dúvidas, dicas, sugestões e contribuições, comente!

Esta é uma edição revisada, ampliada e atualizada. A versão anterior não está mais disponível na Internet.

2 comentários neste post

Quando um programa que não roda direito em um S.O. ou hardware a virtualização pode resolver este drama, não? A virtualização não seria uma solução rápida e barata para a manutenção de micros em ambientes com MUITOS computadores?

Wallace, se um profissional conhece bem sobre virtualização, suas aplicações, vantagens e desvantagens, pode aplicá-la de modo satisfatório em praticamente qualquer tipo de negócio em que se usa computadores.

Rodar aplicativos incompatíveis com a plataforma atual, instalando um sistema compatível, virtualizado, com certeza é uma das aplicações mais comuns para a virtualização em pequena escala...

Postar um comentário

Atenção comentarista!
  • Todos os comentários serão rigidamente moderados;
  • Identifique-se! Comentários anônimos não são recomendados;
  • Comentários com três ou mais links serão removidos;
  • Comentários escritos em miguxês ou excesso de gírias serão removidos;
  • Comentários escritos com predominância de maiúsculas serão removidos;
  • Por favor, prove que você é coerente, educado e bem informado: conheça o restante do site, saiba quem somos, sobre o que, para quem e como escrevemos antes de comentar futilidades;
  • Respeite as opiniões dos autores e dos outros comentaristas. Seja breve e sem ofensas;
  • Escreva comentários relevantes e que contribuam de alguma forma para o bem da humanidade;
  • Não seja um inútil social. Lembre-se que o mundo não gira ao seu redor.