Máquina Virtual do TFS 2010 rodando sob Oracle VirtualBox

Uma das maneiras mais convenientes de conhecer mais sobre o Team Foundation Server 2010 é usando a máquina virtual (VM, virtual machine) criada por Brian Keller, evangelista sênior da Microsoft. Essa VM contém vários produtos e exemplos pré-instalados, que permitem a você navegar à vontade pelo produto ou então executar os laboratórios “mão na massa” (hands-on labs) para conhecer melhor os recursos oferecidos pelo Team Foundation Server 2010 e o Visual Studio 2010 Ultimate.

Para simplificar a instalação dessas máquinas virtuais em seu computador, Brian criou três versões diferentes da mesma máquina virtual – uma para cada uma das plataformas de virtualização da Microsoft:

A diferença entre as versões é que elas já vêm com as ferramentas de integração (“Guest Additions”, “Virtual Machine Additions”) pré-instaladas. Dessa forma, é só baixar a versão correspondente à ferramenta de virtualização em seu computador e sair usando.

Porém, e se eu não estiver usando nenhuma das opções acima? Mais especificamente – e se eu estiver usando o Oracle VirtualBox?

Mas por que VirtualBox?

Minha experiência com as ferramentas de virtualização da Microsoft é basicamente a seguinte: Se você tiver um servidor e puder executar Hyper-V, terá o melhor desempenho possível. Qualquer coisa diferente disso oferece um desempenho bastante sofrível.

Já o VirtualBox, por outro lado, oferece um desempenho muito melhor que o oferecido por qualquer uma das versões do Virtual PC. Logo, recomendo a qualquer um que queira executar a VM do TFS 2010 (ou qualquer outra VM, na verdade) e que não tenha como usar o Hyper-V: utilize o VirtualBox.

NOTA: O Windows 8 virá com Hyper-V disponível também nas versões desktop – diferentemente do que acontece hoje, onde temos o Hyper-V apenas no Windows Server. Mas até lá, o VirtualBox continua a melhor opção.

Rodando a VM sob VirtualBox

Para rodar a VM do TFS 2010 sob o VirtualBox, faça o seguinte:

  1. Baixe e instale o VirtualBox – não, esta etapa não é opcional Smile;
  2. Baixe a versão para Hyper-V da máquina virtual, a partir de http://tinyurl.com/vm-tfs2010-hv;
  3. Instale a máquina virtual (VisualStudio2010RTM_HyperV.part0001.exe). Isso extrairá o disco virtual para o caminho padrão C:\VS2010-HyperV\Visual Studio 2010 RTM Hard Disk.vhd. Se desejar, pode colocar em qualquer outro lugar mais conveniente, de acordo com a configuração de seu computador.

DICA: Para ter um desempenho ainda melhor com sua máquina virtual, é recomendável manter o disco virtual num disco físico à parte do Windows. Em outras palavras, o ideal é ter um drive C: (onde está instalado o Windows e o VirtualBox) e um outro drive D: onde ficará o arquivo VHD (o disco virtual) da máquina virtual. Ah, e o drive D: precisa ser físico – ou seja, um HD separado. Partição não vale!

Agora, vamos criar a máquina virtual no VirtualBox:

  1. Abra o Gerenciador do VirtualBox e clique em Novo. No assistente de criação de VM (a janela “Criar nova máquina virtual”), informe o nome da VM (pode ser qualquer um; no exemplo abaixo, “TFS 2010”) e o sistema operacional (Microsoft Windows, Windows 2008):
    Nome da VM e tipo de Sistema Operacional
  2. Na página de memória, aloque a quantidade desejada de memória. Sugiro que você aloque, no mínimo, 3500 MB de memória (requer um computador com pelo menos 6 GB de RAM). Caso você tenha apenas 4GB de RAM, pode rodar a VM com 2500 MB mas saiba que o desempenho cai bastante.
    Configuração de memória. Use ao menos 2500 MB (3500 MB recomendados).
  3. Agora, em Disco Rígido Virtual, selecione Usar disco rígido existente e aponte para o VHD do TFS 2010:
    Disco rígido virtual - selecione o VHD do TFS 2010
  4. Conclua o assistente. Parabéns, você acabou de criar sua VM para o TFS 2010 usando o VirtualBox! Fácil, não?

Ligando a máquina virtual

Agora basta clicar em Iniciar para usar o TFS 2010. Apenas que, muito provavelmente, você vai entrar em um loop infinito de telas azuis (BSOD, blue screen of death) dentro da máquina virtual, no início do processo de boot.

Qual o problema?!?!?

O “detalhe”, aqui, é o seguinte: quando a máquina virtual foi originalmente criada, o disco virtual (o arquivo VHD) foi conectado a uma controladora virtual IDE – padrão no Virtual PC e no Hyper-V. Já o VirtualBox, por outro lado, conectou seu VHD a uma controladora SATA! Ao iniciar o boot, o Windows tenha encontrar o disco de boot do sistema conectado a uma controladora IDE. Por não encontrá-lo, dá a mensagem de erro na tela azul e reseta o servidor.

Mas e porque o VirtualBox inventou de usar SATA, você pode se perguntar. É que controladores SATA consomem menos CPU e, portanto, tendem a liberar mais desempenho para máquina virtual. Já o Virtual PC e o Hyper-V são mais conservadores e usam IDE por ser mais compatível – ainda que mais lenta.

Assim, para conseguir utilizar a VM do TFS 2010, basta trocar a controladora! Selecione a máquina virtual no Gerenciador do VirtualBox e clique em Configurações. Depois, selecione “Armazenamento”:

Janela de configurações. Clique em Armazenamento para alterar a controladora de SATA para IDE.

Reparou que seu VHD está sob a controladora SATA? Clique no VHD (Visual Studio 2010 RTM Hard …) e clique no botão Remover Conexão, abaixo da lista:

Removendo o VHD de baixo da Controladora SATA

Por fim, basta adicionar de volta o disco VHD – só que, agora, sob a Controladora IDE:

Adicionando o VHD, agora sob a Controladora IDE

Agora sim! Sua VM está pronta para uso!

E se eu quiser usar SATA?

Caso você queira tirar proveito do desempenho adicional oferecido pela controladora SATA, pode adaptar sua máquina para usar SATA ao invés de IDE. Dê uma olhada no artigo em http://r3dux.org/2010/01/how-to-switch-a-virtualbox-windows-guest-hard-drive-from-ide-to-sata-mode/ para dicas de como fazê-lo.

IMPORTANTE: Eu não tentei fazer essa conversão, por isso não sei se funciona. Lembre-se de tirar um snapshot da máquina virtual antes de tentar!

Um abraço,
    Igor

Igor Abade

Igor Abade V. Leite ([email protected]) é Microsoft MVP (Most Valuable Professional) de Visual Studio ALM desde 2006. Palestrante em diversos eventos da comunidade de desenvolvimento de software (TechEd Brasil, The Developers’ Conference, DevOps Summit Brasil, Agile Brazil, Visual Studio Summit, QCON e outros), é também autor de artigos em revistas e sites como o MSDN Brasil. Desde março de 2011 é um dos sócios da Lambda3, uma consultoria especializada em ALM, desenvolvimento de software e treinamentos. Siga-o no Twitter @igorabade.