22 de out. de 2007

Virtualizar ou não virtualizar?

Estamos vendo uma nova grande onda na área de TI. Quer dizer, a onda é nova na era x86, mas a tecnologia em sí já existe desde os anos 1960 quando era utilizada em mainframes. O artigo que escrevo agora refere-se à recente utilização de máquinas virtuais na arquitetura x86.

Para quem está chegando agora, virtualizar significa disponibilizar os recursos de um computador físico (processador, armazenamento, memória RAM, interfaces de rede e outros) para sistemas operacionais distintos. Isto significa instalar vários sistemas em uma mesma máquina, cada um independente dos outros e com acesso "direto" ao hardware.


A essência da Virtualização: N servidores virtuais x 1 servidor físico


O compartilhamento de recursos

Há algumas ferramentas no mercado maduras o suficiente para realizar virtualizações: as nativas, como VMWare Server e Microsoft Virtual PC, e as chamadas "paravirtualiações", como o XEN do GNU/Linux - mas não quero me envolver na melhor escolha ou brigas ideológias, e sim discutir os reais benefícios da virtualização.

Estive no Symposia 2007, um evento mundial realizado pela VMWare com presença das grandes empresas de hardware (HP, IBM, Unisys, EMC entre outras) e pode-se dizer que todas estão apostando alto em virtualização. E com razão: pode-se aumentar brutalmente a eficiência, desempenho e disponibilidade, e ao mesmo tempo melhorar o custo benefínio. Quem não gostaria de conseguir tudo isso ao mesmo tempo?

Agora chegamos no dilema de todos os "tarados" por tecnologia: apreciamos a beleza das inovações por sí só, mas é necessário que se levante a aplicabilidade para os negócios. O downside de se conseguir todas as vantagens da virtualização é o alto custo inicial: servidores com alto processamento e memória RAM são necessários, assim como uma SAN para armazenar os dados. A real eficiência só aparece quando a razão Máquinas Virtuais x Servidores reais é alta (não há razão em construir toda uma estrutura para colocar apenas duas máquinas virtuais, por exemplo).

Portanto, em uma grande corporação, onde existe a real necessidade e orçamento para a implementação total, é fácil comprovar, implementar e pagar uma solução completa de virtualização com clusters e movimentação de máquinas virtuais entre servidores. Mas e nas pequenas e médias empresas? A virtualização ainda pode ser eficiente?

Tomemos como exemplo uma empresa com um servidor Linux defasado, sem atualização alguma e sem servidor de backup, e um outro servidor que tenha Windows instalado. Realizar uma atualização do sistema operacional Linux é uma tarefa necessária porém muito arriscada, pois dependeria somente de backups realizados em fitas DAT, e nesse ponto uma máquina virtual se mostraria útil. Há vários softwares de virtualização gratuitos e sólidos - caso do VMWare Server (o ESX é a solução paga da VMware) e da solução Microsoft, que deixou de ser cobrada. Instalar um servidor Linux virtual de backup em cima do servidor físico Windows é uma tarefa bastante trivial, e traz a segurança da redundância para a realização da atualização . É uma precaução extra muito mais simples que montar um computador somente para ser o backup e que pode reduzir muitas dores de cabeça no caminho.

Outra utilidade da virtualização em pequenas empresas é na criação de ambientes de teste. Estou trabalhando para encontrar a melhor forma de integração de sistemas Linux com o Active Directory, e criei algumas máquinas virtuais para realização de testes - brincar com NIS e Winbind podem trazer sérios danos ao SO, risco que poucos estariam dispostos a correr em servidores de produção.

Realizei testes comparativos para testar a performance da máquina virtual. Não foi o teste mais
correto devido às diferenças de hardware, porém serve para ter um parâmetro. O ambiente foi o seguinte:

1) Servidor Linux , Kernel 2.2, Dual Xeon 700Mhz, 2Gb RAM
2) Servidor Windows 2003 com VMWare Server instalado, single Intel Xeon Quad-Core 1.6Ghz, 2Gb RAM e Máquina Virtual Debian Linux Etch com 256MB de RAM alocados.

Com os dois servidores isolados, executo um processo do sistema que utiliza muito o processador. Todos os meses o processo é executado no servidor Linux e demora cerca de 45 minutos. Quando executado no servidor virtual, a "surpresa": o tempo não chegou a 15 minutos. Apesar da disparidade do hardware eu me ví realmente surpreso pois pensava que a máquina virtual perderia desempenho somente por ser virtual. Pura ignorância.

Pretendo executar testes mais precisos, como performance de discos e memória, mas desde já posso afirmar que a virtualização é uma boa saída inclusive para pequenos ambientes onde o investimento em TI não é alto, podendo tornar a vida dos administradores mais segura e eficiente.

19 de jul. de 2007

E o NT vive!


Pois é... Por questões de licenciamento, estamos substituindo todas as instalações Windows 98 por NT4 Workstation. Com 11 anos de idade (foi lançado em Julho de 1996), o Windows NT4 tem 6 (!) services packs (na verdade mais, pois o sexto tem ainda a versão 6A).

Já tinha brincado com os mais diversos Windows, mas o NT era novidade. Comecei com TI em 99, e o máximo que tinha feito era me logar em um NT 3.51 Server. Para quem nunca o fez, instalar o NT tem seus segredos – a começar que a partição na qual o SO é instalado tem que ser FAT16, limitado a 2GB.
O segredo é usar um fdisk qualquer e escolher “N” para ativar o suporte a discos de grande capacidade. Criei apenas a partição para instalar o NT, pois o restante do disco particionarei mais tarde como NTFS. Fica a dica do Baboo para a instalação:
http://www.baboo.com.br/absolutenm/templates/content.asp?articleid=4075&zoneid=4&resumo=

Sistema instalado, service pack aplicado, vamos à caça dos drivers – uma SIS 6326 e uma 3COM 3C905B-TX – o que foi muito fácil, pois ambas são bastante comuns. Agora era hora de entrar para o domínio. Temos um controlador Windows 2000 com AD e o processo seria simples se não fosse o perfil padrão que eu havia criado baseado no XP. Eu estava esperando várias incompatibilidades, ou até que o NT fosse ignorar o perfil padrão, mas não: tudo funcionou na mais perfeita ordem. Menu Iniciar, Painel de Controle, tudo da maneira que deveria estar. E ainda por cima os ícones do NT4 foram substituídos pelo do XP, o que deixou o sistema bem agradável de usar.


Desktop antes e depois... Repare nos ícones do Menu Iniciar


O desempenho da máquina foi outra surpresa boa. Com um processador Pentium 3 450Mhz e 128MB de RAM, o sistema ficou muito mais rápido do que quando estava com o Windows 98 mesmo após instalar o AVG e o BROffice. Com relação à compatibilidade de softwares, novamente nenhum problema – as instalações padrões utilizadas no XP funcionaram perfeitamente. Segue a lista das versões instaladas:

  • AVG 7.5 Network
  • EditionBROffice 2.0.4
  • BDE 5.0
  • Oracle Client 8.0
  • FlexODBC 2.50.20

Máquina praticamente pronta, tudo indo bem até que... alguma coisa tinha que dar errado, não poderia ser tão fácil assim. Um dos sistemas internos da empresa não abria nem com reza brava nesse computador. Confirmei umas 10 vezes se tudo estava configurado certo e estava... BDE, Oracle, tudo funcionando corretamente. E a única bendita mensagem que o NT mostrava era uma tela de erro do Dr. Watson que não explicava absolutamente nada.

Passei a investigar as fontes do programa. Olhando tela por tela consegui achar algumas que estavam apresentando o erro, e o que elas tinham em comum eram componentes ADO do Delphi 7. Não ajuda muito, mas era o começo. Um pouco de investigação e descubro que o NT4, assim como o Windows 95, não possuem o componente MDAC – Microsoft Data Access Component. Fazia sentido... instalei o MDAC 2.5 e vòila!
Agora sim estava tudo 100%. O computador no domínio, rodando todas as aplicações necessárias, estável e rápido.

No final das contas o NT4 foi uma agradável surpresa. Aproveitando um computador de pelo menos 5 anos e um SO de 11 acabei com uma estação bem entry level, mas que não espero me dar dores de cabeça.


O sistema instalado