Virtualização de Sistemas Operacionais Leandro Brito 1, Linsmar Pinheiro 1, Roberto Carlos Santana 1, Thiago Vasconcelos 1, Vanessa Ferraz 1 1 Curso de Sistemas de Informação na Faculdade Integrada da Bahia Objetivo. Mostrar de forma conceitual o que é virtualização de sistemas operacionais e demonstrar na prática como funciona esse recurso. Os softwares utilizados serão: Virtual Server e VMware Workstation. 1. Introdução A virtualização de sistemas operacionais abrange uma série de vantagens no que diz respeito à segurança e custo. Ela permite o teste de sistemas operacionais sem risco de danificar o sistema nativo instalado no computador e também executar programas que necessitam de uma versão de s.o. anterior ou superior para o seu funcionamento. Tendo em vista esta técnica tão eficaz resolvemos abordar um pouco das duas ferramentas mais utilizadas para virtualização de sistemas operacionais. O VMware Workstation e o Virtual PC. Por meio da evolução do hardware novas tecnologias vêem sendo apresentadas aos seus usuários. Mas nem sempre e possível acompanhar e atualizar o sistema operacional utilizado. Muitas vezes, isso envolve o custo com a atualização de aplicativos e pode levar a uma migração do programa utilizado na linha de negocio da empresa. Nesse ponto, apesar dos novos recursos tecnológicos, a portabilidade torna-se uma questão critica. Com isso, muitas empresas abdicam dessas melhorias e preferem manter uma arquitetura de software antigo sobre hardwares novos. Com o recurso de virtualização esperamos unir o melhor dos dois mundos. Mostrar os impactos produtivos positivos que podem ser obtidos sem gerar uma ruptura abrupta dos aplicativos utilizados na linha negocio em uma plataforma antiga. 2. Virtualização Virtualização é um recurso de software que permite a execução de forma virtual de um ou mais sistemas operacionais em apenas uma máquina física, que por sua vez já possui um sistema operacional nativo instalado. Ou seja, é instalado um software no sistema operacional e a partir desse software, outros sistemas operacionais podem ser instalados de forma virtual, sendo que esses funcionam normalmente como servidores ou desktops. O software de virtualização de sistemas operacionais também funciona de forma nativa,
ou seja, o próprio software é o sistema operacional e com este em execução, os demais sistemas operacionais são instalados de forma virtual. Esse recurso não é novo, pois já foi utilizado nos anos 60, na época dos mainframes. De acordo com a idc, ela está a caminho de se tornar uma prática padrão entre as mil maiores empresas do mundo, listadas no ranking fortune 1.000. Segundo dados da forrester research, mais de 40% das empresas norte-americanas já utilizam essa tecnologia em modo de produção. Recentemente, o recurso de virtualização tem chamado atenção de pequenas e principalmente, grandes empresas, pois a utilização desse recurso pode gerar economia de energia elétrica, recursos de hardware e espaço. Assim, a empresa acaba eliminando custos sem impactar na funcionalidade dos equipamentos, incluindo servidores e desktops. No mercado, os principais softwares de Virtualização são: virtual pc, da Microsoft e VMware Workstation, da VMware. As versões para servidores são respectivamente: Virtual Server e VMware ESX Server/GSX Server. O software de virtualização define quais recursos de hardware serão utilizados e como serão utilizados. O software é gerenciável e pode realocar os recursos de memória, processamento, espaço em disco e outros recursos de acordo com a demanda do sistema operacional virtual. Uma das vantagens da aplicação desse recurso é que os recursos dos microcomputadores ou servidores podem ser aproveitados ao máximo, uma vez que quando softwares e sistemas operacionais são utilizados de forma nativa, ou seja, sem virtualização, diversos recursos do equipamento ficam ociosos, como memória, espaço em disco e processamento. 3. Arquitetura Máquina Virtual Na ilustração abaixo descreveremos o modelo da arquitetura aplicável as maquinas virtuais seja ela ambiente servidor ou desktop. No menor nível existe o servidor que controla o acesso ao hardware. A maquina virtual prove a virtualização para as maquinas virtuais.
4. Componentes da Máquina Virtual Todos os componentes físicos são emulados na maquina virtual. Mas para o sistema operacional, seja ele hospedeiro ou convidado, interpreta como hardware físico. Abaixo, segue uma lista dos componentes básicos de hardware e seu correspondente emulado. BIOS Chipset Componente AMI BIOS Intel 440BX Hardware Virtual Sound card Creative Labs Sound Blaster 16 ISA Plug and Play Network adapter (multi-function) DEC 21140A 10/100 Video card S3 Trio 32/64 PCI with 8 MB Video RAM 5. Requisitos A soma dos recursos a serem executadas simultaneamente resultara nos recursos totais a serem disponibilizados pelo hospedeiro e seus convidados. Sistema Convidado Mínima Memória Mínimo Disco Rígido Windows 98, Windows 98 Second Edition 64 MB 500 MB Windows Millennium Edition (Windows Me) 96 MB 2 GB Windows 2000 Professional 96 MB 2 GB Windows XP Home Edition 128 MB 2 GB Windows XP Professional 128 MB 2 GB Para rodar um sistema com duas maquinas virtuais do Windows XP Professional sobre o Windows Vista teríamos a necessidade de um disco rígido de 19 GB (15 GB + 2 GB + 2 GB) e memória de 768 MB (512 MB + 128 MB +128 MB). 6. Pontos Positivos As principais vantagens podem ser observadas tanto em cenários desktop como servidores. Podemos utilizar em aplicações legado, treinamento de usuários, prover suporte ou para testar um sistema. A reprodução de um ambiente virtual similar ao do cliente reduz a chance de risco em migrações de uma plataforma, validar procedimentos e ajudar na homologação de sistemas.
Outro aspecto a ser avaliado esta na rotina de consolidação de servidores. Não existe mais espaço para subutilização de recursos. Podemos ter diversas máquinas virtuais rodando servidores de arquivo, impressão e autenticação sem a necessidade de ter um hardware especifico para cada serviço. Com isso podemos reduzir os gastos envolvidos na aquisição de novos equipamentos, consumo de energia, aquisição de licença para sistema operacional alem de espaço físico para acomodar os equipamentos. As imagens geradas são fáceis de serem gerenciadas. Temos com isso um recurso importantíssimo para a redução do downtime visto que as maquinas podem ser facilmente restauradas e utilizadas em ambiente de produção. 7. Pontos Negativos Embora seja uma solução robusta, cada maquina virtual adicionada gera uma carga adicional no hypervisor. O consumo fica entre 5 e 15 da potencia da CPU. Por isso, deve ser feito um estudo sobre o impacto que pode ser gerado pela infra-estrutura da maquina virtual. Outra questão esta associada às demandas por IO e processos CPU Bound. Para priorizar maior fatia de tempo as maquinas virtuais utilizam dois meios. No ambiente servidor a aplicação permite estipular um percentual para a carga da CPU. No ambiente estação você define que a maquina virtual na janela ativa pode rodar com maior disponibilidade possível em dado momento. 8. Extraindo Mais Performance Como forma de aprimorar o desempenho do sistema convidado as aplicações de virtualização desenvolvem pequenos completos. Esses aplicativos são feitos sob medida para o sistema operacional emulado e são instalados como um plug-in. Para validar a veracidade dessa informação montamos um ambiente de teste. Para tanto usamos a aplicação Microsoft Virtual PC, sistema hospedeiro Windows XP, sistema convidado Windows XP Professional SP2 e o benchmark Hot CPU Tester Pro 4. No primeiro cenário, utilizando o Gerenciador de Tarefas do Windows aberto simultaneamente nas maquinas virtuais, acompanhamentos um redução significativa no consumo de CPU e Memória. No segundo cenário utilizamos o programa Hot CPU Tester Pro 4. Ele foi configurado para usar os módulos Calculating PI, Hard Disk e Memory. Com isso iremos proporcionar uma demanda por processos CPU e IO bound. As maquinas virtuais foram rodadas por 1 hora, simultaneamente, com a mesma fatia de tempo, utilizando o máximo dos recursos disponíveis. Foi possível então perceber uma diferença de 59,25 % na performance entre as maquinas virtuais.
Windows XP SP2 Add-IN Windows XP SP2 Calculating PI 54 32 Memory 54 32 HD 54 32 Total: 162 96 9. Parametrizando as Prioridades E possível determinar a prioridade a ser atribuída para cada máquina virtual. Podemos definir o peso relativo, reservar o mínimo e máximo a ser concedido para a cpu ou sistema. laptopleo CPU Resource Allocation You can allocate CPU resources to virtual machines currently configured on Virtual Server. In most cases, you will y need to configure the Relative Weight of the virtual machines. You can also configure absolute limits. Virtual Machine Reserved Maximum Reserved Maximum Relative Capacity Capacity Capacity Capacity Weight % of one CPU) % of one CPU) % of system) (% of system) CPU Usage Virtual Machines Currently Running XP 100 0 % 100 % 0% 100% XPa 100 0 % 100 % 0% 100% Available Capacity Remaining 100% 0%
10. Interfaces Mais Comuns VMWare Workstation Virtual Server
11. Considerações Finais 1.0 Representa uma tendência para DATACENTERS. 2.0 Existem diversas ferramentas (Xen, Virtual Server, Virtual PC, VMWare Server e VMWare Desktop) no Mercado. 3.0 Podem assumir inúmeras funções tais como servidor de Arquivos, Impressão, WEB e Banco de Dados. 4.0 Balancear a carga de acordo com a prioridade de execução. 12. Referências MS Virtual PC, documentação oficial do produto. MS Vitual server, documentação oficial do produto. VMWare Wrkstation, documentação oficial do produto. VMWare ESX Server/GSX Server, documentação oficial do produto. <http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=010150050509>. Acesso em: 21/05/2007 WIKIPÉDIA. Desenvolvido pela Wikimedia Foundation. Apresenta conteúdo enciclopédico. Disponível em: <http://pt.wikipedia.org/w/index.php?title=virtualiza%c3%a7%c3%a3o&oldid=61404 55>. Acesso em: 28 Mai 2007 <http://www.linuxsecurity.com.br/article.php?sid=11205>. Acesso em: 22/05/2007 11.4903928778>. Acesso em: 23/05/2007 <http://idgnow.uol.com.br/computacao_corporativa/2007/05/11/idgnoticia.2007-05- <http://idgnow.uol.com.br/computacao_corporativa/2007/05/10/idgnoticia.2007-05- 10.5100586662>. Acesso em: 23/05/2007 <http://www.strattus.com.br/noticias.asp?codnoticia=14>. Acesso em: 23/05/2007 <http://www.intel.com/portugues/business/technologies/virtualization.htm>. Acesso em: 23/05/2007 <http://www.imasters.com.br/artigo/3781/redes/virtualizacao_de_servidores/>. Acesso em: 24/05/2007 <http://www.imasters.com.br/artigo/3786/redes/virtualizacao_de_servidores_- parte_02/>. Acesso em: 24/05/2007
<http://www.compaq.com.br/pyme/solucoes/apr_solucoes_01.html>. Acesso em: 24/05/2007 <http://www.ibm.com/news/pt/pt/2007/02/mainfr01.html>. Acesso em: 24/05/2007