terça-feira, 8 de setembro de 2009

Chatices do Windows 2008 Para Desenvolvedores

Bem, um resumo do que descobri sobre o Windows 2008. Podemos chamar de "Chatices do Windows 2008 Para Desenvolvedores", ou "Como Perder Um Dia Tentanto Usar o Windows 2008 Em Ambiente Virtualizado".

  1. Você começa a pesquisar o Windows 2008 e descobre que tem uma versão nova dele: o Windows 2008 R2. "Legal", pensa você. "Vou baixar ela e instalar numa VM do Virtual PC". Tome-lhe 3,2Gb de donwload.
A consequência do item 1 é que Windows 2008 R2 em VM só se seu sistema operacional já for o Windows 2008, para rodar a VM no Hyper-V, ou se você usar um dos produtos VMWare - o mais barato é o VMWare Server, que é gratuito, mas tome-lhe 0,5Gb de download.
  1. Para rodar um sistema operacional de 64 bits dentro de uma VM, o seu processador precisar suportar tecnologia de virtualização.
    • Processadores Intel: deve haver suporte à Intel VT - Intel Virtualization Technology, ou Intel Vanderpool Technology. Tem uma lista de suporte a VT em http://ark.intel.com/VTList.aspx. E tem uma ferramenta de identificar o processador em http://www.intel.com/support/processors/tools/piu/sb/cs-014921.htm.
    • Cuidado com o PC Wizard: a versão 2008 reconheceu erroneamente meu processador como o Intel mobile T7100, que suporta VT. A versão 2009 reconheceu o processador corretamente como o T5670, que não suporta VT.
Resumo da opera, verifique se seu processador tem suporte a tecnologia de virtualização. Geralmente isto pode ser visto como uma opção no setup da BIOS. Tem um programinha chamado SecurAble, em http://www.grc.com/securable.htm, que verifica isto.
  1. Ok. Tem que ser o Windows 2008 de 32 bits. Só que aí você descobre o tal de "Windows 2008 Server Core", que requer aproximadamente 1/3 dos recursos de hadware do Windows 2008 "normal". Ótima pedida pra uma VM!!!
    • O Windows 2008 Server Core requer menos recursos que as edições "normais" porque, dentre outros componentes, não tem a GUI (inteface gráfica) - é tudo linha de comando, até o sistema operacional estar todo configurado, quando ele poderá ser acessado via TS ou MMC.
    • Uma instalação Server Core pode exercer um dentre vários "papéis" (roles), dentre os quais está o IIS.
    • Infelizmente, dentre os componentes que estão faltando, está o .NET Framework. Ou seja, ASP.NET: esquece. SQL Server 2005 ou superior: esquece também.
    • Felizmente, no Windows 2008 *R2* o papel IIS de uma instalação Server Core vem com o .NET Framework. Ou seja, ASP.NET: roda. SQL Server 2005: roda, mas "não suportado": http://www.nullsession.com/2009/06/02/sql-server-2008-on-server-core-2008-r2/.
    • Infelizmente, meu processador não suporta o diacho da Intel VM. Então, nada de Windows 2008 R2. E nada de Server Core com menos consumo de máquina.
Bem, como é pra ambiente de desenvolvimento, a escolha é baixar o Windows 2008 Web Edition 32 bits (tome-lhe mais 3,2Gb de download). Infelizmente, os links de trial pras versões de 32 bits parecem estar sendo desativados pela M$. Então ou você tem uma assinatura da MSDN ou TechNet, pra baixar as versões de 32 bits, ou você vai ter que comprar um processador que tenha a tecnologia de virtualização, pra poder usar as de 64 bits.

Você tem aí, em poucos minutos, o que levei um dia inteiro para descobrir. Basicamente, se você vai montar uma VM com Windows 2008 para ambiente de desenvolvimento ASP.NET, é o seguinte:

  1. Se seu processador suporta tecnologia de virtualização, você pode baixar a versão nova do Windows 2008, que é a R2.
    • A vantagem é tentar instalar um Windows 2008 Server Core com ASP.NET e SQL Server, que em teoria consome menos máquina que uma instalação normal do Windows 2008. Não tentei ainda, só encontrei links falando que dá pra fazer.
    • Pra rodar essa VM, só no VMWare. O Virtual PC e o Virtual Server não suportam VM´s com sistemas operacionais de 64 bits. Ou vc instala o W2008 na sua máquina e roda a VM no Hyper-V.
  2. Se o seu processador não suporta virtualização, baixe uma versão 32-bits do Windows 2008.
    • Roda no VMWare ou no Virtual PC/Virtual Server.
    • O Server Core não roda ASP.NET nem SQL Server, então tem que ser uma das edições "normais". Vou tentar a Web Edition.
É isso. Haja detalhe....





Um update: Se você chegou até aqui, é que está tentando montar uma máquina de testes usando o Virtual PC, ou o Hyper-V, ou outro trem desses. Se você usa Windows 7 ou Windows 2008, tem uma opção *espetacular* pra montar máquinas de teste: dar boot através de um VHD. Dá uma olhada nesse post: Máquina de Testes usando Boot de um VHD.

[]s,

GB