Curso de Engenharia de Computação -...
Transcript of Curso de Engenharia de Computação -...
Curso de Engenharia de Computação
VIRTUALIZAÇÃO:
ESTUDO DAS PRINCIPAIS CARACTERÍSTICAS E
FERRAMENTAS COM VMWARE ESX SERVER
Helen Danielsen Pena Agard
Campinas – São Paulo – Brasil
dezembro de 2009
ii
Curso de Engenharia de Computação
VIRTUALIZAÇÃO:
ESTUDO DAS PRINCIPAIS CARACTERÍSTICAS E
FERRAMENTAS COM VMWARE ESX SERVER
Helen Danielsen Pena Agard
Monografia apresentada à disciplina de Trabalho de
Conclusão do Curso de Engenharia de Computação da
Universidade São Francisco, sob a orientação do Prof. Dr.
André Leon Sampaio Gradvohl, como exigência parcial
para conclusão do curso de graduação.
Orientador: Prof. Dr. André Leon Sampaio Gradvohl
Campinas – São Paulo – Brasil
dezembro de 2009
VIRTUALIZAÇÃO:
ESTUDO DAS PRINCIPAIS CARACTERÍSTICAS E
FERRAMENTAS COM VMWARE ESX SERVER
Helen Danielsen Pena Agard
Monografia defendida e aprovada em 16 de dezembro de 2009 pela Banca
Examinadora assim constituída:
Prof. Dr. André Leon Sampaio Gradvohl (Orientador)
USF – Universidade São Francisco – Campinas – SP.
Bel Elton César da Silva Gírio
IBM BRASIL – Hortolândia – SP.
Prof. Dr. Alencar de Melo Júnior
USF – Universidade São Francisco – Campinas – SP.
Dedico meu trabalho ao meu filho, que durante esses
anos foi privado de minha presença em muitos
momentos, mas entendeu que um trabalho digno e um
futuro próspero dependem das difíceis escolhas que
fazemos durante nossa jornada.
v
.Agradecimentos
Agradeço a Deus primeiramente, que torna todas as coisas possíveis. Em segundo, minha
família que acreditou em mim. Aos professores que entenderam as dificuldades pelas quais
passei durante o curso e não deixaram de me apoiar. Ao professor Sidney Pio de Campos,
orientador inicial do meu trabalho de conclusão de curso e enfim, ao professor e orientador
André Leon, que durante os semestres entendeu nossas necessidades, aceitou nossas críticas e
tornou-se mais que um mestre, um amigo admirado e respeitado pelo resto de nossas vidas.
vi
“O sucesso nasce do querer, da determinação e
persistência em se chegar a um objetivo. Mesmo não
atingindo o alvo, quem busca e vence obstáculos, no
mínimo, fará coisas admiráveis.”
José de Alencar
vii
Sumário
Lista de Abreviaturas .............................................................................................................. ix
Lista de Figuras ........................................................................................................................ x
Resumo .................................................................................................................................... xii
Abstract ................................................................................................................................... xii
1 Introdução ........................................................................................................................ 13
1.1 Contextualização ......................................................................................................... 13
1.2 Definição do problema a ser tratado ........................................................................... 14
1.3 Conceitos ..................................................................................................................... 14
2 PRINCIPAIS APLICAÇÕES DE MÁQUINAS VIRTUAIS ....................................... 16
2.1 Consolidação de servidores ......................................................................................... 17
2.2 Isolamento ................................................................................................................... 18
2.3 Falhas .......................................................................................................................... 18
2.4 Segurança .................................................................................................................... 19
2.4.1 Detecção de intrusão ............................................................................................. 20
2.5 Suporte técnico ............................................................................................................ 21
3 NÍVEIS E TIPOS DE VIRTUALIZAÇÃO ................................................................... 21
3.1 TIPOS .......................................................................................................................... 21
3.1.1 Aplicação ..................................................................................................................... 21
3.1.2 Sistemas Operacionais................................................................................................. 22
3.1.3 Hardware .................................................................................................................... 22
3.2 TIPOS DE VIRTUALIZAÇÃO .................................................................................. 23
3.2.1 Virtualização Total ...................................................................................................... 24
3.2.2 Paravirtualização ......................................................................................................... 25
3.2.3 Recompilação dinâmica .............................................................................................. 26
4 TIPOS DE MÁQUINAS VIRTUAIS ............................................................................. 27
4.1 Máquinas virtuais do tipo I.......................................................................................... 28
4.2 Máquinas virtuais do tipo II ........................................................................................ 28
5 ESTUDO PRÁTICO DO VMWARE ESX SERVER EM AMBIENTE COORPORATIVO ................................................................................................................. 29
5.1 Entendendo a estrutura ................................................................................................ 29
5.2 Tecnologias Auxiliares ................................................................................................ 42
6 OUTRAS SOLUÇÕES .................................................................................................... 45
7 Conclusão .......................................................................................................................... 46
7.1 Contribuições .............................................................................................................. 48
7.2 Trabalhos futuros......................................................................................................... 49
Referências Bibliográficas ..................................................................................................... 50
Apêndice I ................................................................................................................................ 52
viii
Comparação Lâmina Blade x Servidor tradicional............................................................. 52
ix
Lista de Abreviaturas
AMD-v
CO2
ERP (SIGE)
E/S (I/O)
HP
IDS
Intel VT
PC
SO
TI
UCP (CPU)
Advanced Micro Devices – Virtualization
Dióxido de Carbono
Enterprise Resource Planning (Sistemas Integrados de Gestão
Empresarial)
Entrada e Saída (In and Out)
Hewllet-Packard
Intrusion Detection System (Sistema de Detecção de Intrusão)
Intel Virtualization Technology
Personal Computer (Computador Pessoal)
Sistema Operacional
Tecnologia da Informação
Unidade Central de Processamento (Central Processing Unit)
VM
VMM
Virtual Machine
Virtual Machine Monitor
x
Lista de Figuras
FIGURA 1: COMPARAÇÃO ENTRE SISTEMAS TRADICIONAIS E VIRTUAIS ...................................... 14
FIGURA 2: ESTRUTURA DE ARQUIVOS DE UMA VM DO VMWARE ESX SERVER ....................... 19
FIGURA 3: VIRTUALIZAÇÃO DE APLICAÇÃO ............................................................................... 22
FIGURA 4: VIRTUALIZAÇÃO DE SISTEMA OPERACIONAL ............................................................ 22
FIGURA 5: VIRTUALIZAÇÃO DE HARDWARE ................................................................................ 23
FIGURA 6: MODELO DE MÁQUINAS VIRTUAIS DO TIPO I ........................................................... 28
FIGURA 7: MODELO DE MÁQUINA VIRTUAL DO TIPO II ............................................................. 29
FIGURA 8: ARQUITETURA DE PROCESSADORES X86 .................................................................. 24
FIGURA 9: VIRTUALIZAÇÃO TOTAL ........................................................................................... 25
FIGURA 10: PARAVIRTUALIZAÇÃO ............................................................................................ 26
FIGURA 11: RECOMPILAÇÃO DINÂMICA .................................................................................... 27
FIGURA 12: INTERFACE PARA GERENCIAMENTO DA BLADE VIA WEB .......................................... 30
FIGURA 13: VMWARE INSTALADO – MODO LINUX ................................................................... 31
FIGURA 14: DETALHE DA VERSÃO DO KERNEL VMWARE ......................................................... 31
FIGURA 15: TELA INICIAL DE INSTALAÇÃO ................................................................................ 32
FIGURA 16: DADOS DA LÂMINA ................................................................................................. 33
FIGURA 17: MÁQUINAS VITUAIS CRIADAS NA LÂMINA .............................................................. 33
FIGURA 18: COMPARTILHAMENTO DE PROCESSADOR E MEMÓRIAS ENTRE AS VMS ................... 34
FIGURA 19: PROCESSADORES DA LÂMINA.................................................................................. 35
FIGURA 20: ATIVAÇÃO DA TECNOLOGIA INTEL VT ................................................................... 36
FIGURA 21: PÁGINAÇÃO DE MEMÓRIA EM DOIS NÍVEIS .............................................................. 38
FIGURA 22: CONFIGURAÇÃO DE MEMÓRIA DA LÂMINA .............................................................. 38
FIGURA 23: CONFIGURAÇÃO DE DISCOS DA LÂMINA .................................................................. 39
FIGURA 24: SERVIDORES VIRTUAIS NA LÂMINA SATURNO ......................................................... 40
FIGURA 25: CRIANDO UMA MÁQUINA VIRTUAL A PARTIR DE UMA MÁQUINA FÍSICA .................. 41
FIGURA 26: ANÉIS (NÍVEIS DE PRIVILÉGIO) COM INTEL VT ........................................................ 43
FIGURA 27: ESQUEMA DE FUNCIONAMENTO DA INTEL VT ........................................................ 43
FIGURA 28: NOVA TECNOLOGIA HARDWARE ASSIST ................................................................... 44
FIGURA 29: FUNCIONAMENTO DA PARAVIRTUALIZAÇÃO NO XEN ............................................. 45
FIGURA 30: FOTO DA LÂMINA SATURNO (SUPERIOR) ................................................................. 52
FIGURA 31: FOTOS DA LÂMINA SATURNO (FRONTAL E LATERAL) .............................................. 52
FIGURA 32: COMPARAÇÃO VISUAL LÂMINA X SERVIDOR (FRONTAL ) ........................................ 53
xi
FIGURA 33: COMPARAÇÃO VISUAL LÂMINA X SERVIDOR (LATERAL) ......................................... 53
FIGURA 34: COMPARAÇÃO VISUAL LÂMINA X SERVIDOR (SUPERIOR) ........................................ 54
xii
Resumo
Todos os anos, fornecedores de serviços em tecnologia pesquisam formas de oferecer serviços
cada vez mais competitivos, tentando combinar eficiência, desempenho e custo. Alguns
conceitos como virtualização, TI Verde, cloud computing (computação em nuvens), são as
promessas para os próximos anos. Entre essas novas tecnologias e conceitos, a virtualização já
mostra resultados positivos e tem cada vez mais adeptos, principalmente no mercado
corporativo, conseqüência da preocupação com a redução de custos, infra-estrutura e melhor
aproveitamento dos recursos computacionais existentes na empresa. Este trabalho de
conclusão de curso tem como objetivo apresentar os principais conceitos desta tecnologia,
características técnicas (arquitetura, aplicações), bem como alguns exemplos de
funcionalidades, através de um estudo prático em ambiente corporativo com a ajuda de um
software próprio para criação, monitoração e gerenciamento de uma estrutura virtual
empresarial.
PALAVRAS-CHAVE: Virtualização, Sistemas Operacionais, Hardware, Máquinas Virtuais.
Abstract
Every year, technology service providers research ways to offer more competitive services,
trying to combine efficiency, performance and cost. Some concepts like virtualization, Green
IT and cloud computing are promises for next years. Among these new technologies and
concepts, the virtualization is already presenting positive results increasingly adepts,
especially in the corporate market, due to concerns about cost reduction, infrastructure and
better use of computing resources at the companies. This work intents to present the main
concepts of this technology, technical features (architecture, applications) as well as features
through a case study in corporate environment helped by proprietary software to create,
monitor and manage a virtual business structure.
KEY WORDS: Virtualization, Operating Systems, Hardware, Virtual Machines.
13
1 INTRODUÇÃO
A produtividade das empresas nunca foi tão ligada à demanda sobre os datacenters
como agora. A agilidade, qualidade dos serviços e prazos têm hoje uma correlação direta com
os serviços suportados pela infra-estrutura informatizada implantada. Nada mais justo então
que as empresas se preocupassem cada vez mais com a qualidade desses serviços e sua
manutenção, e não menos com o quanto pagam por isso. O fato é que, até pouco tempo atrás,
as empresas tinham como padrão o uso de servidores físicos dedicados a uma ou duas
aplicações, subutilizando seus recursos de armazenamento e processamento, e ainda, pagando
muito caro por isso. Nesse contexto, aliar o alto desempenho dos servidores ao custo acessível
de novas tecnologias passou a ser o grande desafio de quem oferece e de quem compra
soluções em TI. Visando esse cenário promissor, novas tecnologias foram surgindo e dentre
elas a virtualização.
Segundo os pesquisadores S. Nanda e T. Chiueh em [1], a virtualização pode ser
definida como uma “técnica que combina ou divide recursos computacionais para prover um
ou mais ambientes operacionais de execução”. Ela permite que em um único hardware, sejam
executados mais de um sistema operacional, ou várias máquinas virtuais com o mesmo
sistema, de forma isolada e independente, diminuindo a importância do sistema operacional.
Nesse contexto, esse trabalho visa apresentar os principais conceitos dessa tecnologia,
baseando-se no software VMWare ESX para apresentar algumas funcionalidades práticas da
virtualização.
A primeira parte do trabalho trata dos mais importantes conceitos de virtualização,
seguido de suas aplicações, estrutura e tipos de técnicas existentes. Na parte final, aborda as
principais características do software VMWare ESX, objeto de estudo prático em ambiente
coorporativo, conclusão e as contribuições do estudo na empresa, bem como linhas de
desenvolvimento para trabalhos futuros.
1.1 Contextualização
Essa idéia de virtualização surgiu na década de 60, com a necessidade de
multiprogramação em mainframes, com o objetivo de otimização do processamento, redução
do número de servidores e centralização da administração. Fruto do projeto M44/44X, do
grupo formado por pesquisadores da IBM e do MIT (Massachusetts Institute of Technology),
tinha como principal objetivo promover acessos concorrentes e interativos em servidores de
grande porte [2]. Logo, se tornaria uma proposta para um maior aproveitamento dos recursos
computacionais, reduzindo a
do número de servidores dentro dos
necessidade de manutenção de
Sob essa nova perspectiva, vários termos como
virtualização e máquina virtual
virtuais (virtual machine monitor
em si. Em seguida, são apresentado
máquinas virtuais, com exemplos de
VMWare Player). Na Figur
primeiro, temos o sistema operacional acessando diretamente a CPU para execução das
instruções e, no segundo, as máquinas v
sistemas operacionais convidados), necess
de máquinas virtuais – para execução das instruções.
Figura
1.2 Definição do problema a ser tratado
Esse trabalho de conclusão de curso tem por objetivo
características da virtualização, seus conceitos e aplicações
prático desta técnica em ambiente corporativo, atr
mostrando de que forma
produção de calor, consumo
através desta técnica.
1.3 Conceitos
Uma vez que o conce
esclarecimento de alguns outros termos para melhor compreensão desta técnica.
computacionais, reduzindo a produção de calor e consumo de energia elétrica (pela redução
do número de servidores dentro dos datacenters), redução da utilização do espaço físico e da
necessidade de manutenção de hardware.
nova perspectiva, vários termos como hardware físico e
virtualização e máquina virtual (virtual machine - VM), emulação, monitor de máquinas
virtual machine monitor – VMM) serão apresentados para compreensão da técnica
são apresentados os níveis e tipos de virtualização, bem como
, com exemplos de softwares envolvidos em cada uma delas (
igura 1, uma comparação entre sistemas tradicionais e virtuais.
primeiro, temos o sistema operacional acessando diretamente a CPU para execução das
instruções e, no segundo, as máquinas virtuais com seus sistemas operacionais (chamados
sistemas operacionais convidados), necessitando de um “intermediário”
para execução das instruções.
Figura 1: Comparação entre sistemas tradicionais e virtuais
Definição do problema a ser tratado
Esse trabalho de conclusão de curso tem por objetivo explorar as principais
características da virtualização, seus conceitos e aplicações. Além disso, descreve um
prático desta técnica em ambiente corporativo, através do software VMWare ESX Server,
problemas como: baixo desempenho, ociosidade de recursos,
consumo de energia elétrica e espaço físico, podem ser minimizados
Uma vez que o conceito de virtualização já foi tratado, faz
esclarecimento de alguns outros termos para melhor compreensão desta técnica.
14
produção de calor e consumo de energia elétrica (pela redução
redução da utilização do espaço físico e da
físico e hardware virtual,
, emulação, monitor de máquinas
apresentados para compreensão da técnica
bem como os tipos de
em cada uma delas (VMWare, Xen,
, uma comparação entre sistemas tradicionais e virtuais. No
primeiro, temos o sistema operacional acessando diretamente a CPU para execução das
irtuais com seus sistemas operacionais (chamados
itando de um “intermediário” – no caso o monitor
e virtuais
explorar as principais
Além disso, descreve um estudo
VMWare ESX Server,
ociosidade de recursos,
, podem ser minimizados
, faz-se necessário o
esclarecimento de alguns outros termos para melhor compreensão desta técnica.
15
Máquina virtual e máquina física
Define-se uma máquina virtual como sendo “uma duplicata eficiente e isolada de uma
máquina real”[3].
Uma máquina física (também chamada de máquina real) é formada pelo hardware físico
propriamente dito e seu sistema operacional (chamado também de sistema anfitrião ou
hospedeiro) e hospeda as máquinas virtuais, compartilhando seus recursos com as mesmas.
Hardware físico e hardware virtual
O primeiro termo é usado para descrever o hardware que será compartilhado pelas
máquinas virtuais, ou seja, o equipamento total disponível para criação e compartilhamento
entre as máquinas virtuais (mas não incluiu o sistema operacional, como nas máquinas
físicas); o hardware virtual descreve o hardware isolado que cada uma dessas máquinas
virtuais possuirá, uma vez que é o administrador que determina quais serão essas
configurações (quantidade de memória, espaço em disco, entre outros).
Monitor de Máquina Virtual ou VMM (Virtual Machine Monitor)
O monitor de máquina virtual é o software que hospeda os sistemas operacionais
convidados (também chamado Hypervisor). Esse componente abstrai o hardware para
gerenciá-los entre as máquinas virtuais. Assim, as VMs (máquinas virtuais) comportam-se
como máquinas físicas tradicionais.
Emulação
A emulação, muito confundida com virtualização, é a tradução de instruções entre
sistemas incompatíveis, permitindo que esses possam se comunicar. Em outras palavras, a
emulação torna possível a interação entre sistemas incompatíveis, sejam eles hardware x
hardware ou software x hardware ou software x software.
TI Verde
Com o crescimento do uso da tecnologia nas empresas, se fez necessário cada vez
mais poder de processamento para suprir as necessidades do mercado. De acordo com a
Revista ECO [4], “a energia consumida por servidores e sistemas de datacenters dobrou entre
2000 e 2005. O consumo aumentou graças à crescente demanda por downloads de arquivos de
vídeo e música, juntamente com a telefonia via internet”. O hardware necessário para
suportar várias aplicações - em ambientes corporativos ou não - exige maior poder de
processamento, mais memória, discos com algoritmos eficientes de leitura/escrita e maior
proteção. A manutenção (quebra, reposição, garantia) de equipamentos desse porte requer
geralmente contratos com empresas especializadas e, somando tudo, seu custo pode superar
16
os gastos previstos com tecnologia (orçamento). Assim, os administradores acabam optando
por usar vários servidores com nem tanta robustez, mas de baixo custo, com uma ou duas
aplicações cada. Ainda segundo a Revista ECO [4], “o aumento no número de servidores nos
datacenters foi responsável por 90% da demanda adicional por eletricidade. Em 2005, a
energia gasta por datacenters em todo o mundo foi equivalente à produzida por 14 usinas”.
Infelizmente, isso gera impacto no meio ambiente, seja pela produção de calor
(conseqüentemente usa-se mais refrigeração e emite-se mais CO2 na atmosfera) ou pelo
descarte de equipamentos obsoletos em lugares desapropriados (a incineração não parece uma
medida viável, uma vez que usa combustíveis na queima e libera substâncias nocivas ao
ambiente). Nesse cenário, a virtualização ganha espaço como uma proposta de economia de
energia (que reduz a geração de calor), uma vez que é capaz de abstrair vários servidores
físicos em servidores virtuais, usando menos hardware. Segundo a Revista ECO [4], é
possível diminuir quase 100 máquinas físicas em 8 (oito), cada uma rodando uma média de 12
(doze) máquinas virtuais.
Cloud Computing
Descreve um recurso mais abrangente que a virtualização, juntando todos os recursos
computacionais em uma “nuvem” de serviços que possam ser oferecidos ininterruptamente,
com substituições, reparos ou qualquer outro tipo de manutenção feitos “on-line” (sem que o
usuário perceba). Conforme Computer World [5], “uma arquitetura em cloud deve dispor de
uma infra-estrutura de gerenciamento que inclua funções como provisionamento de recursos
computacionais, balanceamento dinâmico do carga de trabalho e monitoração do
desempenho”.
2 PRINCIPAIS APLICAÇÕES DE MÁQUINAS VIRTUAIS
As máquinas virtuais têm-se consolidado quando se trata da redução do espaço físico
utilizado pelos servidores, centralização da gerência desses recursos, fins didáticos,
isolamento, simulação de ambientes com mais (ou menos) recursos de hardware, rápida
recuperação em casos de falhas e segurança dos dados.
Assim, quando se trata de virtualização, termos como TI Verde não podem deixar de ser
mencionados, pois se trata de uma das maiores justificativas para sua existência. Aspectos
como a redução da emissão de calor e menor necessidade de refrigeração, menos hardware
17
para descartar em caso de substituição, inclusive o fato de que equipamentos específicos
possuem escalabilidade, tendo uma vida útil maior, são razões para adoção da virtualização.
Agregado a esses benefícios, acessar um só hardware remotamente para manutenção de
servidores, estejam eles desligados ou não, a possibilidade de suspendê-los quando não estão
em uso e a centralização de todas essas facilidades em um único lugar, são muito úteis aos
administradores de infra-estrutura. Outros motivos para incentivar a virtualização, como
isolamento e segurança, também são descritos mais detalhadamente no decorrer do texto,
enriquecendo o conceito inicial e sua aplicabilidade.
2.1 Consolidação de servidores
Esse processo consiste na redução do número de servidores físicos no datacenter da
empresa, agregando-os em um hardware mais poderoso, transformando-os em máquinas
virtuais. O hardware tradicional necessário para uma aplicação empresarial tem um custo
muito elevado que, mais do que justificar, faz necessário o aproveitamento do máximo de
processamento dessa máquina. Infelizmente, nem sempre isso é possível, pois no ato da
compra, o administrador precisa mensurar os recursos pensando em um crescimento futuro e,
inicialmente, memória e processadores são subutilizados. Mesmo quando estão chegando
próximos de sua capacidade máxima, geralmente o equipamento já é considerado obsoleto.
Os dispositivos (peças) para servidores são mais caros que aquelas para computadores
pessoais e, geralmente, não têm estoque em lojas de peças de informática. Isso faz com que os
administradores tenham que contratar empresas de suporte, aumentando ainda mais as
despesas de TI. Quando isso é colocado em uma escala maior, por exemplo, empresas
pequenas comumente têm de 2 (dois) a 4 (quatro) servidores para suas aplicações (email,
arquivos, entre outros) e empresas grandes 10 (dez) a 15 (quinze) (emails, proxy, sistemas
ERP, banco de dados, entre outros), o dinheiro investido é muito maior e o benefício começa
a ser questionado.
Não bastasse o investimento, é necessário que o espaço onde essas máquinas estejam
alocadas seja grande o suficiente para que haja refrigeração entre elas e que o administrador
possa manuseá-las para manutenção. A refrigeração necessária para que essas máquinas
continuem em funcionamento emite gás carbono, nocivo à atmosfera e o consumo de energia
também (indiretamente, já que para gerar eletricidade as usinas emitem CO2).
18
A virtualização de servidores parece então uma boa alternativa nesses casos, devido à
redução de hardware (que conseqüentemente precisará de menos refrigeração e consumirá
menos energia), ocupará menos espaço e torna a manutenção mais fácil ao administrador.
Em ambientes corporativos, no entanto, são necessárias algumas precauções para que
o investimento na virtualização não seja inútil:
é preciso avaliar os processos e as aplicações críticas, que demandam uma rápida recuperação
e possuem dados que exijam maior segurança e verificar quais servidores são subutilizados e
que poderiam compartilhar recursos.
Algumas aplicações não devem ser virtualizadas. Por exemplo, aplicações de alto
desempenho que utilizam o processador na maior parte do tempo (pois as máquinas virtuais já
demandam um maior gasto de memória e processamento por si só) e reduzir esses recursos
causaria mais prejuízos que benefícios ao sistema.
2.2 Isolamento
O isolamento é um dos maiores benefícios das máquinas virtuais. Significa a separação
das máquinas virtuais que rodam em um mesmo hardware físico. Em outras palavras, caso
uma das máquinas virtuais tenha algum problema (vírus, invasão, aplicações que não rodam
efetivamente), as outras máquinas (e também o hardware físico) não serão afetadas, bastando
ao administrador da infra-estrutura atuar somente sobre a máquina com problema. Para o
software virtualizador (no caso de estudos, o VMWare), a máquina virtual nada mais é que
um arquivo, ou um conjunto de arquivos ( uma vez que tem-se o sistema operacional e as
aplicações), que pode ser removido, movido, transportado em uma mídia, o que facilita
também a recuperação em casos de desastres (Disaster Recovery) e no planejamento de
continuidade dos negócios (Business Continuity).
2.3 Falhas
No caso de recuperação de máquinas por backup, por se tratar apenas de um arquivo
(falando da máquina virtual), basta que se tenha o software virtualizador em que ela foi
criada, para que esse arquivo seja restaurado. Em alguns casos, como no VMWare, pode-se
abrir uma máquina virtual criada no VMWare ESX Server no VMWare Workstation. Isso é
bastante eficiente e rápido comparado à recuperação de máquinas físicas tradicionais, que
necessitam de formatação, instalação dos drivers, instalação das aplicações e depois
recuperação do backup.
19
Outra funcionalidade é que, caso seja necessário testar um novo ambiente de produção,
simulando diferentes configurações de recursos ou combinações de softwares, é possível fazê-
lo numa máquina virtual isolada, ou seja, sem prejudicar o ambiente corporativo, afetando a
produtividade da empresa.
Ambientes didáticos de programação também são úteis, ou mesmo testes de programação em
ambientes virtuais, balanceamento de bancos de dados, clusters e outras aplicações, que
poderiam de alguma forma influenciar negativamente a infra-estrutura da empresa.
Na Figura 2 a seguir, pode-se observar a estrutura de arquivos de uma das máquinas
virtuais, retirada do ambiente de estudo.
Figura 2: Estrutura de arquivos de uma VM do VMWare ESX Server
Os arquivos com extensão .vmx e .vmdk são as configurações e a máquina virtual
completa, respectivamente.
2.4 Segurança
O aspecto positivo na segurança em máquinas virtuais está diretamente relacionado ao
isolamento, uma vez que, caso acha uma falha de segurança, acredita-se que esta ficará
restrita a apenas uma máquina. Entretanto, alguns especialistas receiam que, uma vez que a
máquina virtual tenha sido invadida, o Monitor de Máquinas Virtuais (VMM) possa ser
alcançado, disseminando vírus, copiando todas as máquinas virtuais operantes ou não. No pior
dos casos, o invasor poderia controlar o hypervisor e ter o controle completo de toda a
estrutura, ou danificá-la por completo e, nesse caso, a recuperação poderia ser muito mais
complicada que nas máquinas tradicionais. Conforme Steil [6], “A segurança de rede é a maior
20
vulnerabilidade dos sistemas físicos. Nas máquinas virtuais o risco não é menor, porque suas
placas de rede conectam em partes do servidor físico. Alguns malwares espertos o suficiente
podem detectar que um sistema é virtual e, quando ligado, usá-lo para atacar a própria máquina ou
outras VMs.”
2.4.1 Detecção de intrusão
Ainda não existe um sistema de detecção de intrusão específico para máquinas
virtuais, sendo o modelo tradicional IDS (Intrusion Detection System) utilizado. Segundo
Allen et al[7], esse modelo consiste basicamente em quatro linhas de análise, que se
diferenciam pelo tipo de dados que analisam:
Aplicação – um IDS baseado em aplicações (application-based IDS), trabalha através da
análise do comportamento dos programas, em forma de arquivos de logs.
Host – um IDS baseado em hosts (host-based IDS) examina as atividades locais em um host,
como comportamento de usuários, processos, conexões de rede, chamadas de sistema,
arquivos de log ou saídas do IDS baseado em aplicações.
Rede – um IDS baseado em rede (network-based IDS) examina o tráfego da rede. Pode
acessar também as saídas dos IDS baseados em hosts e aplicações que estão dentro do
ambiente de rede monitorado.
Multi-rede/infraestrutura – esse IDS geralmente assume a forma de uma equipe de resposta a
incidentes (Incident Response Team - IRT), onde a entrada do sistema vem de sites do
domínio administrativo. Os dados transmitidos a este tipo de IDS
geralmente é de aplicação, host, rede ou outros de multi-rede.
Nos ambientes tradicionais, o IDS tem que estar hospedado dentro do ambiente monitorado
para coletar os dados para análise, o que fragiliza o sistema no caso de uma intrusão bem
sucedida, pois o intruso pode ser capaz de desativar ou manipular o IDS. No ambiente virtual,
é possível isolar o IDS em relação às máquinas virtuais monitoradas. Essa separação o
tornaria invisível e inacessível aos processos dos sistemas operacionais dessas máquinas e
conseqüentemente, aos intrusos. Conforme Laureano et al [8], “Através de modificações no
monitor de máquinas virtuais é possível coletar, de forma transparente, informações sobre a
atividade de cada sistema operacional convidado, incluindo seus usuários, processos,
conexões de rede, etc. Essa informação é então enviada para um detector de intrusão externo
ao ambiente, executando fora do sistema operacional convidado. “
2.5 Suporte técnico
O suporte técnico é um item de extrema importância para qualquer aplicação.
Freqüentemente subestimado,
tradicional ou virtual. Particularmente na virtualização, além dos custos de licença, o
suporte técnico especializado nessa técnica é bastante elevado. Isso se deve ao fato de ser uma
tecnologia nova no mercado e, para os profis
específica de cada fabricante, o que os submetem aos preços cobrados pelas entidades
autorizadas a oferecê-los.
Em contrapartida, um profissional bem sucedido da área também pode exigir
remuneração bem superior à
3 NÍVEIS E TIPOS DE
3.1 TIPOS
3.1.1 Aplicação
Nesse método, o objetivo é executar as aplicações implementadas com essa finalidade
isoladamente dos processos do sistema anfitrião
confiabilidade e independência do mesmo. Isso significa que a aplicação é independente dos
componentes do sistema operacional e, como conseqüência, essas aplicações podem rodar em
vários sistemas operacionais (po
processo externo, a aplicação solicita ao sistema operacional.
nível de virtualização.
técnico é um item de extrema importância para qualquer aplicação.
Freqüentemente subestimado, o suporte requer bastante cuidado em qualq
tradicional ou virtual. Particularmente na virtualização, além dos custos de licença, o
suporte técnico especializado nessa técnica é bastante elevado. Isso se deve ao fato de ser uma
tecnologia nova no mercado e, para os profissionais, a oferta de cursos além de escassa, é
específica de cada fabricante, o que os submetem aos preços cobrados pelas entidades
Em contrapartida, um profissional bem sucedido da área também pode exigir
r à oferecida aos profissionais não familiarizados com a técnica.
TIPOS DE VIRTUALIZAÇÃO
Nesse método, o objetivo é executar as aplicações implementadas com essa finalidade
dos processos do sistema anfitrião (e de outras aplicações)
confiabilidade e independência do mesmo. Isso significa que a aplicação é independente dos
componentes do sistema operacional e, como conseqüência, essas aplicações podem rodar em
vários sistemas operacionais (portabilidade). Caso seja necessária a execução de algum
processo externo, a aplicação solicita ao sistema operacional. A seguir, a Figura 3 ilustra esse
21
técnico é um item de extrema importância para qualquer aplicação.
requer bastante cuidado em qualquer ambiente, seja
tradicional ou virtual. Particularmente na virtualização, além dos custos de licença, o custo do
suporte técnico especializado nessa técnica é bastante elevado. Isso se deve ao fato de ser uma
sionais, a oferta de cursos além de escassa, é
específica de cada fabricante, o que os submetem aos preços cobrados pelas entidades
Em contrapartida, um profissional bem sucedido da área também pode exigir
oferecida aos profissionais não familiarizados com a técnica.
Nesse método, o objetivo é executar as aplicações implementadas com essa finalidade
(e de outras aplicações), garantindo maior
confiabilidade e independência do mesmo. Isso significa que a aplicação é independente dos
componentes do sistema operacional e, como conseqüência, essas aplicações podem rodar em
Caso seja necessária a execução de algum
A seguir, a Figura 3 ilustra esse
3.1.2 Sistemas Operacionais
A virtualização de
virtuais (“instâncias” desse sistema) que, por sua vez, podem rodar processos ou aplicações
isoladamente. Nesse tipo de virtualização, não é possível usar um sistema operacional nas
VM”s que seja diferente do sistema anfitrião. É bastante útil para testes em que não se des
comprometer a máquina real. A
operacionais.
Figura
3.1.3 Hardware
Nesse tipo de virtualização, o
que “acreditam” ter um hardware
no momento de sua criação. É utilizado pela VMWare em suas virtualizações.
exemplifica o esquema de virtualização de
Figura 3: Virtualização de aplicação
Sistemas Operacionais
ão de sistema operacionais abstrai o sistema anfitrião para as máquinas
desse sistema) que, por sua vez, podem rodar processos ou aplicações
isoladamente. Nesse tipo de virtualização, não é possível usar um sistema operacional nas
seja diferente do sistema anfitrião. É bastante útil para testes em que não se des
comprometer a máquina real. A Figura 4 mostra o funcionamento de virtualização de sistemas
Figura 4: Virtualização de sistema operacional
tipo de virtualização, o hardware físico é abstraído para as máquinas virtuais,
hardware físico com as configurações escolhidas pelo administrador
no momento de sua criação. É utilizado pela VMWare em suas virtualizações.
exemplifica o esquema de virtualização de hardware.
22
sistema operacionais abstrai o sistema anfitrião para as máquinas
desse sistema) que, por sua vez, podem rodar processos ou aplicações
isoladamente. Nesse tipo de virtualização, não é possível usar um sistema operacional nas
seja diferente do sistema anfitrião. É bastante útil para testes em que não se deseja
Figura 4 mostra o funcionamento de virtualização de sistemas
físico é abstraído para as máquinas virtuais,
físico com as configurações escolhidas pelo administrador
no momento de sua criação. É utilizado pela VMWare em suas virtualizações. A Figura 5
3.2 TIPOS DE VIRTUALIZAÇÃO
Como os processadores x86 não foram projetados para fins de virtualização, é
necessário que a software
original da máquina. Para um maior entendimento, é necessário voltar à arquitetura desses
processadores, que tem por padrão quatro níveis de privilégio (ou anéis). Enumerados de 0 a
3, onde 0 é o mais privilegiado, os sistemas operacionais podem executar qualquer instrução
(pois atuam no nível 0) e as aplicações nem todas (pois atuam no nível 3). Os dois níveis
intermediários não são utilizados e, assim, não há uma definição de onde a virtualiz
atuar (já que não existe um modo
não podem ser executados no mesmo nível (para evitar conflitos).
Assim, algumas técnicas foram desenvolvidas para superar essa dificuldade, conforme
descrito abaixo. A Figura 8 traz a estrutura de processadores x86.
Figura 5: Virtualização de hardware
TIPOS DE VIRTUALIZAÇÃO
Como os processadores x86 não foram projetados para fins de virtualização, é
software virtualizador atue de maneira diferente do sistema operacional
original da máquina. Para um maior entendimento, é necessário voltar à arquitetura desses
processadores, que tem por padrão quatro níveis de privilégio (ou anéis). Enumerados de 0 a
é o mais privilegiado, os sistemas operacionais podem executar qualquer instrução
(pois atuam no nível 0) e as aplicações nem todas (pois atuam no nível 3). Os dois níveis
intermediários não são utilizados e, assim, não há uma definição de onde a virtualiz
(já que não existe um modo hypervisor nesses anéis) e o sistema convidado e o anfitrião
não podem ser executados no mesmo nível (para evitar conflitos).
Assim, algumas técnicas foram desenvolvidas para superar essa dificuldade, conforme
A Figura 8 traz a estrutura de processadores x86.
23
Como os processadores x86 não foram projetados para fins de virtualização, é
virtualizador atue de maneira diferente do sistema operacional
original da máquina. Para um maior entendimento, é necessário voltar à arquitetura desses
processadores, que tem por padrão quatro níveis de privilégio (ou anéis). Enumerados de 0 a
é o mais privilegiado, os sistemas operacionais podem executar qualquer instrução
(pois atuam no nível 0) e as aplicações nem todas (pois atuam no nível 3). Os dois níveis
intermediários não são utilizados e, assim, não há uma definição de onde a virtualização deve
nesses anéis) e o sistema convidado e o anfitrião
Assim, algumas técnicas foram desenvolvidas para superar essa dificuldade, conforme
3.2.1 Virtualização Total
A virtualização total é usada no VMWare.
máquina virtual abstrai o
sistema convidado. O sistema da máquina virtual a entende como uma máquina física
Entretanto, o desempenho da máquina é inferior já que as instruções são interpretadas pelo
VMM. Outro problema é que algumas
cada anel (lembrando que um sistema operacional roda no nível 0
monitor roda no nível 3 –
gerar resultados diferentes do esperado.
verificando um pedaço do código que está sendo executado na máquina virtual, podendo
modificar instruções que gerariam erros. Essa técnica é conhecida como
Figura 9 apresenta o esquema do funcionamento da virtualização total.
Figura 8: Arquitetura de Processadores x86
Virtualização Total
A virtualização total é usada no VMWare. Executado no nível 3,
o hardware físico e interpreta todas as instruções sol
. O sistema da máquina virtual a entende como uma máquina física
ntretanto, o desempenho da máquina é inferior já que as instruções são interpretadas pelo
utro problema é que algumas instruções privilegiadas rodam de modo diferente em
cada anel (lembrando que um sistema operacional roda no nível 0 –
menos privilegiado), podendo assim o sistema operacional virtual
es do esperado. A VMWare ESX Server contorna esse problema
verificando um pedaço do código que está sendo executado na máquina virtual, podendo
modificar instruções que gerariam erros. Essa técnica é conhecida como
squema do funcionamento da virtualização total.
24
no nível 3, o monitor de
todas as instruções solicitadas pelo
. O sistema da máquina virtual a entende como uma máquina física.
ntretanto, o desempenho da máquina é inferior já que as instruções são interpretadas pelo
instruções privilegiadas rodam de modo diferente em
mais privilegiado e o
menos privilegiado), podendo assim o sistema operacional virtual
A VMWare ESX Server contorna esse problema
verificando um pedaço do código que está sendo executado na máquina virtual, podendo
modificar instruções que gerariam erros. Essa técnica é conhecida como binary patching. A
3.2.2 Paravirtualização
Nessa técnica, a máquina virtual não é idêntica ao equipamento físico original,
precisando o sistema operacional convidado de algumas adaptações. Essa técnica permite que
sistema convidado possa enviar instruções mais simples diretamente para o
o VMM responsável apenas por instruções de alto nível. A adaptação age exatamente nesse
ponto, modificando o SO convidado para interagir com o VMM e definir quais instruções ele
executa direto no hardware
No modelo de virtualização do Xen, por exemplo, o monitor é executado no nível mais
privilegiado, e os sistemas operacionais virtuais são executados no nível 1. Isso ajuda a
garantir que o VMM possua mais privilégios, o que permite gerenciar as demais máqui
Instruções privilegiadas que necessitem ser executadas pelas máquinas virtuais precisam ser
interceptadas e executadas pelo
virtual. A Figura 10 traz o esquema da paravirtualização.
Figura 9: Virtualização Total
Paravirtualização
Nessa técnica, a máquina virtual não é idêntica ao equipamento físico original,
precisando o sistema operacional convidado de algumas adaptações. Essa técnica permite que
sistema convidado possa enviar instruções mais simples diretamente para o
o VMM responsável apenas por instruções de alto nível. A adaptação age exatamente nesse
ponto, modificando o SO convidado para interagir com o VMM e definir quais instruções ele
hardware e quais serão responsabilidade do monitor.
o modelo de virtualização do Xen, por exemplo, o monitor é executado no nível mais
privilegiado, e os sistemas operacionais virtuais são executados no nível 1. Isso ajuda a
garantir que o VMM possua mais privilégios, o que permite gerenciar as demais máqui
Instruções privilegiadas que necessitem ser executadas pelas máquinas virtuais precisam ser
interceptadas e executadas pelo hypervisor, que depois retorna o resultado
A Figura 10 traz o esquema da paravirtualização.
25
Nessa técnica, a máquina virtual não é idêntica ao equipamento físico original,
precisando o sistema operacional convidado de algumas adaptações. Essa técnica permite que
sistema convidado possa enviar instruções mais simples diretamente para o hardware, ficando
o VMM responsável apenas por instruções de alto nível. A adaptação age exatamente nesse
ponto, modificando o SO convidado para interagir com o VMM e definir quais instruções ele
o modelo de virtualização do Xen, por exemplo, o monitor é executado no nível mais
privilegiado, e os sistemas operacionais virtuais são executados no nível 1. Isso ajuda a
garantir que o VMM possua mais privilégios, o que permite gerenciar as demais máquinas.
Instruções privilegiadas que necessitem ser executadas pelas máquinas virtuais precisam ser
que depois retorna o resultado para a máquina
3.2.3 Recompilação dinâmica
Na recompilação dinâmica, as instruções são traduzidas durante a execução do programa
da seguinte forma: as instruções do programa são identificadas em forma de seqüência de bits.
Essas seqüências são agrupa
operacional anfitrião e depois reagrupadas em um código de mais alto nível, que é compilado
na linguagem nativa do sistema hospedeiro. Na verdade, isso resume sucintamente os
seguintes passos:
Agrupamento de bits:
características que o identificam como
sistema operacional que ele manipula. A máquina virtual, tendo tais informações, pode
recuperar os agrupamentos de bits do executável e reordená
Desmontagem (disassembling
de instruções e operadores ordenados em pares.
Geração intermediária do código:
de máquina independente.
Decompilação: essa representação gerada é transformada em uma ling
Compilação: O código gerado é novamente compilado para a nova plataforma (código
objeto).
Montagem (assembling):
criação de um novo executável.
Figura 10: Paravirtualização
Recompilação dinâmica
Na recompilação dinâmica, as instruções são traduzidas durante a execução do programa
da seguinte forma: as instruções do programa são identificadas em forma de seqüência de bits.
Essas seqüências são agrupadas em instruções mais próximas do
e depois reagrupadas em um código de mais alto nível, que é compilado
na linguagem nativa do sistema hospedeiro. Na verdade, isso resume sucintamente os
um programa (ou executável do programa) armazena as
características que o identificam como o endereço de memória, registradores e funções do
sistema operacional que ele manipula. A máquina virtual, tendo tais informações, pode
recuperar os agrupamentos de bits do executável e reordená-los.
disassembling): os bits são “desmontados” e transformados em um conjunto
de instruções e operadores ordenados em pares.
Geração intermediária do código: as instruções são transformadas para uma representação
essa representação gerada é transformada em uma linguagem de alto nível.
O código gerado é novamente compilado para a nova plataforma (código
Os códigos-objeto são novamente montados e preparados para a
criação de um novo executável.
26
Na recompilação dinâmica, as instruções são traduzidas durante a execução do programa
da seguinte forma: as instruções do programa são identificadas em forma de seqüência de bits.
das em instruções mais próximas do código do sistema
e depois reagrupadas em um código de mais alto nível, que é compilado
na linguagem nativa do sistema hospedeiro. Na verdade, isso resume sucintamente os
um programa (ou executável do programa) armazena as
endereço de memória, registradores e funções do
sistema operacional que ele manipula. A máquina virtual, tendo tais informações, pode
transformados em um conjunto
as instruções são transformadas para uma representação
uagem de alto nível.
O código gerado é novamente compilado para a nova plataforma (código-
objeto são novamente montados e preparados para a
Armazenagem dos bits: os bits são agrupados de forma a gerar o novo executável.
Abaixo, a Figura 11 traz a recompilação dinâmica.
Comparação
A virtualização total tem como vantagem dispensar a alteração do sistema operacional
convidado para adaptar-se à arquitetura X86 (
monitor de máquina virtual tem que i
com as instruções do sistema operacional da máquina física,
Já a paravirtualização melhora o desempenho
executada diretamente no
adaptações no kernel para isso. A recompilação dinâmica tem
código gerado ao ambiente de virtualização à
novas informações são coletadas, melhor refletindo o ambiente original do aplicativo. Com
isso, o código gerado se torna mais eficiente. E
processamento, visto que a recompilação acontece em tempo real de execução do programa.
4 TIPOS DE MÁQUINAS VI
O monitor de máquina virtual pode trabalhar de duas formas diferentes: atuando
diretamente sobre o hardware
os bits são agrupados de forma a gerar o novo executável.
Abaixo, a Figura 11 traz a recompilação dinâmica.
Figura 11: Recompilação Dinâmica
A virtualização total tem como vantagem dispensar a alteração do sistema operacional
se à arquitetura X86 (quatro níveis de privilégios). Entretanto, como o
virtual tem que interceptar todas as instruções para não gerar conflitos
com as instruções do sistema operacional da máquina física, acaba perde
Já a paravirtualização melhora o desempenho, pois a maioria das instruções pode ser
diretamente no hardware (caso configurada), mas tem a desvantagem de exigir
para isso. A recompilação dinâmica tem como vantagem a ade
o ao ambiente de virtualização à medida que a recompilação acontece, pois
novas informações são coletadas, melhor refletindo o ambiente original do aplicativo. Com
gerado se torna mais eficiente. Entretanto, exige maior
processamento, visto que a recompilação acontece em tempo real de execução do programa.
TIPOS DE MÁQUINAS VIRTUAIS
O monitor de máquina virtual pode trabalhar de duas formas diferentes: atuando
hardware, funcionando como o sistema operacional das máquinas
27
os bits são agrupados de forma a gerar o novo executável.
A virtualização total tem como vantagem dispensar a alteração do sistema operacional
níveis de privilégios). Entretanto, como o
para não gerar conflitos
perdendo em desempenho.
pois a maioria das instruções pode ser
(caso configurada), mas tem a desvantagem de exigir
vantagem a adequação do
medida que a recompilação acontece, pois
novas informações são coletadas, melhor refletindo o ambiente original do aplicativo. Com
ntretanto, exige maior capacidade de
processamento, visto que a recompilação acontece em tempo real de execução do programa.
O monitor de máquina virtual pode trabalhar de duas formas diferentes: atuando
, funcionando como o sistema operacional das máquinas
convidadas, ou atuando como se fosse um processo em
as chamadas máquinas virtuais do tipo I e máquinas virtuais do tipo II, respectivamente.
4.1 Máquinas virtuais do tipo I
Nesse modelo, o monitor de máquinas virtuais é implementado entre o
máquinas virtuais, permitindo o controle dos recursos e das m
um sistema operacional, que controla os processos
Figura 6 mostra o modelo de máquinas virtuais do tipo I.
Figura
Esse modelo foi utilizado no estudo de caso, onde o VMWare ESX é instalado
diretamente sobre o hardware
4.2 Máquinas virtuais do tipo II
Nesse caso, o monitor de máquinas virtuais
operacional, ou sistema anfitrião, e roda como uma aplicação dentro desse sistema e dentro
dele existem as máquinas virtuais. Um exemplo disso é o uso em
o Windows e adicionou-se
através deste componente, sejam
qualquer outro sistema operacional.
como se fosse um processo em outro sistema abaixo dele, segregando
amadas máquinas virtuais do tipo I e máquinas virtuais do tipo II, respectivamente.
Máquinas virtuais do tipo I
monitor de máquinas virtuais é implementado entre o
máquinas virtuais, permitindo o controle dos recursos e das máquinas virtuais. Funciona como
um sistema operacional, que controla os processos, que nesse caso são as máquinas
Figura 6 mostra o modelo de máquinas virtuais do tipo I.
Figura 6: Modelo de Máquinas Virtuais do Tipo I
Esse modelo foi utilizado no estudo de caso, onde o VMWare ESX é instalado
hardware e a partir dele sãs máquinas virtuais são criadas.
Máquinas virtuais do tipo II
, o monitor de máquinas virtuais é implementado dentro de
operacional, ou sistema anfitrião, e roda como uma aplicação dentro desse sistema e dentro
dele existem as máquinas virtuais. Um exemplo disso é o uso em desktops
o monitor (Virtual PC - Microsoft, Virtual Box
ste componente, sejam instaladas máquinas virtuais com Windows, Linux ou
qualquer outro sistema operacional. A Figura 7 mostra esse modelo.
28
outro sistema abaixo dele, segregando
amadas máquinas virtuais do tipo I e máquinas virtuais do tipo II, respectivamente.
monitor de máquinas virtuais é implementado entre o hardware e as
áquinas virtuais. Funciona como
que nesse caso são as máquinas virtuais. A
Esse modelo foi utilizado no estudo de caso, onde o VMWare ESX é instalado
e a partir dele sãs máquinas virtuais são criadas.
é implementado dentro de um sistema
operacional, ou sistema anfitrião, e roda como uma aplicação dentro desse sistema e dentro
desktops, onde está instalado
Virtual Box – Sun) para que -
máquinas virtuais com Windows, Linux ou
Figura
5 ESTUDO PRÁTICO DO VM
COORPORATIVO
5.1 Entendendo a estrutura
VMWare ESX Server
um mesmo hardware, ou seja, são criadas máquinas virtuais com sistemas operacionais
convidados (Linux, Windows). De
pode ter mais de uma CPU virtual, além de compartilhar recursos de rede e periféricos
hardware (portas USB, CD
Dentro do ambiente corporativo de estudos, o VMWare ESX Server foi
uma estrutura chamada BLADE
podem ser encaixados num único
servidores projetados para o uso em
principalmente em ambientes virtualizados.
Packard - HP) foi instalado para gerenciar
pode observar na Figura 12
Figura 7: Modelo de Máquina Virtual do Tipo II
ESTUDO PRÁTICO DO VMWARE ESX SERVER EM AMBIEN
COORPORATIVO
Entendendo a estrutura
Server é um software que permite a virtualização de máquinas dentro de
ou seja, são criadas máquinas virtuais com sistemas operacionais
nux, Windows). Dependendo da versão, cada máquina virtual que hospeda
pode ter mais de uma CPU virtual, além de compartilhar recursos de rede e periféricos
CD-ROM e placas de rede).
Dentro do ambiente corporativo de estudos, o VMWare ESX Server foi
BLADE , que consiste em vários servidores de tamanho reduzido, que
num único rack, junto com vários outros servidores similares.
servidores projetados para o uso em datacenters, possibilitando
principalmente em ambientes virtualizados. Um software próprio do fabricante (a
HP) foi instalado para gerenciar o hardware físico como um todo que, conforme
12, é feito utilizando-se uma interface web:
29
ESX SERVER EM AMBIENTE
que permite a virtualização de máquinas dentro de
ou seja, são criadas máquinas virtuais com sistemas operacionais
pendendo da versão, cada máquina virtual que hospeda
pode ter mais de uma CPU virtual, além de compartilhar recursos de rede e periféricos de
Dentro do ambiente corporativo de estudos, o VMWare ESX Server foi instalado em
, que consiste em vários servidores de tamanho reduzido, que
, junto com vários outros servidores similares. São
ndo alto desempenho,
próprio do fabricante (a Hewllet
físico como um todo que, conforme se
30
Figura 12: interface para gerenciamento da blade via web
Uma vez escolhida a máquina (também chamada de lâmina), o VMWare ESX foi
instalado e em sua tela inicial é possível obter o endereço web para instalação das ferramentas
de gerenciamento – VMWare Infrastructure Client, Infrastructure Update, vSphere Client e
vSphere Host Update Utility, de acordo com a Figura 13. O VMWare é implementado sobre
um kernel Linux que, com as modificações do produto, chama-se ELVmnix, conforme a
Figura 14. Nessa interface “Linux”, é possível apenas fazer as configurações do host onde o
VMWare está instalado, mas a criação de máquinas virtuais e seu gerenciamento é feito via
VMWare vSphere Client. Pode-se observar que o software da empresa HP é apenas para
gerenciamento do hardware, não sendo considerado um sistema operacional.
31
Figura 13: VMWare instalado – modo Linux
Figura 14: Detalhe da versão do kernel VMWare
Ao acessar o endereço, seguiram-se as instruções das telas para instalação das
ferramentas. Apresenta-se, na Figura 15, a tela inicial para download das mesmas:
32
Figura 15: Tela inicial de instalação
Depois da instalação, é possível o gerenciamento do VMWare a partir de um desktop
comum. Com as ferramentas, é possível interagir com o VMWare instalado na máquina física
Saturno e criar as máquinas virtuais.
33
Figura 16: Dados da lâmina
Na Figura 16, observa-se a tela inicial do VMWare ESX Server (é necessária a
autenticação por meio de usuário com direitos administrativos). As características do
hardware físico estão descritas na tela e corresponde ao hardware da lâmina (ou hardware
físico). Existe a possibilidade da junção de mais de uma lâmina, através de uma ferramenta
paga chamada VMWare vSphere (que possui versão gratuita), também conhecida como
ferramenta de alta disponibilidade. Ela faria com que os recursos fossem somados, mas não
seriam encarados como uma única máquina. Seria como um cluster do hardware das duas
máquinas e, quando uma lâmina falhasse, as máquinas virtuais começariam a utilizar os
recursos da outra lâmina. Por isso, no momento da criação das máquinas virtuais em
ambientes assim, o ideal é que não se use 100% dos recursos de cada lâmina.
Figura 17: Máquinas vituais criadas na lâmina
Na Figura 17, pode-se ver as máquinas virtuais criadas dentro de “Saturno”, bem
como monitorar seu funcionamento. Uma vantagem neste caso é o uso dos estados “powered
on” (ligadas), “suspended” (suspensas) ou “stopped” (paradas). Isso é muito útil pois, por
exemplo, caso se necessite ligar uma dessas máquinas que esteja desligada, não é necessário
que alguém se desloque até o datacenter para fazê-lo, como no caso de uma máquina física.
Basta clicar e iniciar a máquina. Outra vantagem é que se podem criar várias máquinas
virtuais, instalar o sistema operacional convidado e, deixá-las suspensas. Isso dá ao
administrador a possibilidade de deixar máquinas prontas para receber algum tipo de
aplicação, sem consumir os recursos computacionais até lá.
34
Figura 18: Compartilhamento de processador e memórias entre as VMs
Na Figura 18, observa-se como está a alocação de recursos (CPU e memória) e o
compartilhamento destas entre as máquinas.
5.1.1 Processadores
Os processadores utilizados na lâmina são Intel Xeon E5440 12M Cache, 2.83 GHz,
quadcore. Segundo o fabricante [9], esses dispositivos possuem suporte para tecnologia de
virtualização, neste caso, chamada de Intel VT (Virtualization Technology). Essa tecnologia
baseia-se principalmente em trazer as instruções do sistema operacional convidado para serem
executados em modo privilegiado, sem passar pelo monitor de máquina virtual, ficando este
apenas responsável por “ativar” o modo virtualização no processador. Esta tecnologia está
descrita com mais propriedade na seção “Tecnologias Auxiliares”
Na Figura 19 estão descritos os detalhes dos processadores utilizados na lâmina.
35
Figura 19: Processadores da lâmina
Na Figura 20, é mostrada a tela para ativação da tecnologia Intel VT no processador.
Antes da ativação, o processador só trabalha em 32 bits e após, pode trabalhar tanto em 32
quanto em 64 bits.
36
Figura 20: Ativação da tecnologia Intel VT
5.1.2 Memória
Para preservar cada processo, existe um mapeamento de memória virtual (que, para o
processo, é como se fosse memória física) e de memória física (como o endereço sai da CPU
e vai para os chips de memória). Da mesma forma, existe um mapeamento diferente para as
máquinas virtuais, uma vez que elas devem “achar” que são máquinas reais e para tanto,
acessariam a memória física do hardware. O mapeamento não pode ser feito diretamente do
sistema virtual para o físico, pois todos os sistemas operacionais (convidados e hospedeiro)
direcionariam suas páginas para o endereço 0 da memória física.
Para contornar esse problema, segundo Steil [6], o monitor de máquinas virtuais faz o
gerenciamento de uma tabela de mapeamento que tem o mesmo efeito que o endereçamento
físico direto. Cada acesso à tabela de páginas no kernel da máquina virtual causa uma trap
(exceção na CPU) no monitor de máquina virtual, o qual cria um mapeamento com o mesmo
efeito, mas usando uma página diferente que ele mesmo gerencia. Se o kernel convidado lê
uma entrada da tabela de páginas de volta, também lançará uma trap e o VMM apresentará o
37
valor original da VM (não o valor efetivo em sua tabela). As tabelas de páginas efetivas são
chamadas de “tabelas de páginas sombra”, e o método chamado de “paginação em 2 níveis”.
Quando o SO convidado quer mapear uma nova página, o kernel do VMM pode ao sistema
operacional hospedeiro uma página de memória e este então mapeará dentro do espaço de
mapeamento do monitor. Este, por sua vez, poderá ler entradas da tabela de páginas que
acabaram de ser criadas pelo sistema operacional anfitrião e ver qual endereço físico (real) lhe
foi concedido. Esta página física poderá então ser usada pela VM. O kernel anfitrião nunca
poderá oferecer esta página a outros recursos, marcando-a como “indisponível” pois, na
verdade, a página é usada dentro da máquina virtual; o monitor marca uma página de seu
próprio mapeamento para a VM. O VMM marca a página como “presa” para que o kernel
hospedeiro nunca a disponibilize em arquivo ou em disco. Algumas vezes, a paginação nas
VMs pode não ser possível: na paginação normal (arquivos, discos) o sistema operacional
libera da memória RAM páginas de aplicações menos utilizadas, caso o sistema esteja lento.
No caso da virtualização, uma vez que as páginas estão “presas”, isso não é possível. Isso
pode ser solucionado por uma interface especial de “pressão de memória” entre o sistema
anfitrião e o monitor. Se o sistema hospedeiro apresentar lentidão, ele pode “conversar” com
o VMM que procurará – dentro de suas estatísticas – páginas menos usadas para liberá-las ao
SO. Na Figura 21, um resumo do funcionamento da paginação em dois níveis.
38
Figura 21: Paginação de memória em dois níveis
Na Figura 22, estão descritas as configurações de memória física da lâmina.
Figura 22: configuração de memória da lâmina
39
5.1.3 Discos (Storage)
O gerenciamento do disco entre as máquinas virtuais com VMWare é semelhante ao
da memória. Entretanto, ao invés de endereço de memória, temos a referência aos endereços
dos setores – menor unidade de endereçamento e armazenamento de um disco. Na Figura 23,
estão os dados dos storages aos quais a lâmina está associada. No primeiro, descrito como
“Saturno: storage1”, a lâmina acessa seu próprio disco e, no segundo descrito como
“datastore 2”, a lâmina acessa o conjunto de discos externo (storage).
Figura 23: Configuração de discos da lâmina
Redução de espaço físico
Inicialmente, a estrutura da empresa em estudo continha 20 servidores físicos (alguns
desktops feitos de servidor, servidores IBM com storage, servidores Dell) distribuídos em 2
(dois) racks de 42u e 4 mesas no datacenter (cerca de 12 (doze) servidores ficavam em
mesas). A metragem da sala era de 16m2 (4mx4m) e havia ainda os equipamentos de rede
(switchs, modems, roteadores, etc). Nenhum equipamento podia ser alocado por falta de
espaço e a manutenção era feita com bastante dificuldade entre os equipamentos, muitas vezes
sendo necessário a retirada do mesmo da sala para manusêa-lo. Após a compra da Blade para
implementação de um ambiente virtualizado, houve a substituição imediata de 10 (dez)
máquinas físicas por 10 (dez) VMs, que rodam na mesma lâmina. Com a reorganização do
40
datacenter, foi possível deixar 3 (três) racks: em dois foram organizados os servidores físicos
e um storage, em outro foi instalada a Blade. Houve uma redução de 4,8m2 na área ocupada e
uns dos 3 (três) equipamentos de ar-condicionado foi desativado.
Centralização da gerência de infra-estrutura
Na Figura 24 pode-se observar as VMs, seu estado atual, recursos e algumas
facilidades em se administrar um ambiente virtualizado (acesso a várias máquinas
simutaneamente, duplicação de máquinas, criação de máquinas a partir de arquivos de
imagem, backup da máquina como um todo – já que não deixa de ser um arquivo, ou das
aplicações que rodam nela). Outro recurso interessante é uma ferramenta chamada Snapshot,
o qual provê um “ponto de restauração” da máquina virtual. É útil quando se deseja testar,
atualizar ou instalar algum software no servidor e, em caso de insucesso, é possível voltar a
esse ponto, exatamente como a máquina era até antes da operação. Abaixo, a Figura 24
mostra todos os servidores virtuais gerenciados através da lâmina “Saturno”.
Figura 24: Servidores virtuais na lâmina Saturno
Útil também é a rápida “conversão” de uma máquina física em minutos para uma VM
(conhecida como P2V – Physical to Virtual). Abaixo uma das telas da criação de uma VM a
41
partir de um servidor operacional (ou seja, on-line). O chamado V2V (Virtual to Virtual)
consiste em mover uma máquina virtual de uma lâmina para outra.
Na Figura 25, observa-se a criação de uma máquina virtual a partir de uma máquina
física. Essa ferramenta foi utilizada pois, o servidor físico apresentava vários problemas
(espaço em disco, memória, processamento lento) e, como se tratava do único Controlador de
Domínio (Domain Controller – DC) e também servidor DNS (Domain Name Service), não
poderia ser desativado. A solução foi virtualizar a máquina, renomea-lá (para não haver
conflitos) e colocá-la em funcionamento para que os usuários continuassem com serviços de
autenticação e resolução de nomes. Feito isso, a máquina física foi desativada e a VM
recebeu o nome da original. Após isso, outros dois Controladores de Domínio foram
colocados na rede para redundância.
Figura 25: Criando uma máquina virtual a partir de uma máquina física
Recuperação em casos de falhas e segurança dos dados.
Além do backup comum das VMs (o software de backup não sabe que é uma máquina
virtual e faz a cópia dos arquivos selecionados para tal sem distinção), é possível copiar as
42
máquinas virtuais inteiras (com o sistema operacional, aplicações, configurações etc) para um
disco, uma mídia ou disco removível. Em termos de backup é bem prático, pois se pode
“carregar” a máquina virtual para qualquer lugar, bastando para isso ter o VMWare instalado
na máquina que for abri-la, mas já nem tão bom quando de trata de segurança.
Outrossim, instalar uma máquina virtual não requer que o administrador fique na frente da
VM, como nas máquinas tradicionais. É possível criá-la a partir de um desktop remoto, com o
VMWare InfraStructure instalado, mapeando os dispositivos deste para uso na VM, usando
inclusive arquivos de imagem para instalação. Além disso, caso haja um erro durante o
processo de criação, é necessário somente apagar a máquina virtual e criar novamente,
processo muito mais rápido do que formatar novamente a máquina física.
5.2 Tecnologias Auxiliares
5.2.1 Intel VT (Virtualization Technology)
Essa tecnologia permite à CPU dois modos de operação: VMX root e VMX non-root.
O VMM é executado no modo VMX root e seus sistemas operacionais convidados são
executados no modo VMX non-root. Os dois modos de operação dão suporte aos quatro
níveis de privilégio (igual à arquitetura x86), permitindo que o sistema operacional hospedado
seja executado no nível de privilégio que ele deve ser executado (por exemplo, existem
instruções do SO convidado que precisam ser executadas como privilegiadas) e fornecendo ao
VMM a flexibilidade de usar múltiplos níveis de privilégio. Esses processadores possuem um
conjunto de instruções extra chamado Virtual Machine Extensions (Extensões de Máquina
Virtual) ou VMX, que traz 10 novas instruções específicas de virtualização: MPTRLD,
VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUCH, VMRESUME,
VMXOFF e VMXON.
Figura 26: Anéis (níveis de privilégio) com Intel VT
Segundo o Clube do
deve executar a instrução VMXON e então chama o monitor que pode entrar em cada
máquina virtual usando a instrução VMLAUNCH, e sair usando a instrução
VMRESUME. Se o monitor quiser parar todas as máquinas vir
virtualização, ele executa a instrução VMXOFF.
27.
Figura 27
Figura 26: Anéis (níveis de privilégio) com Intel VT
Segundo o Clube do Hardware [10], para entrar no modo de virtualização, o programa
deve executar a instrução VMXON e então chama o monitor que pode entrar em cada
máquina virtual usando a instrução VMLAUNCH, e sair usando a instrução
VMRESUME. Se o monitor quiser parar todas as máquinas virtuais e sair do modo de
virtualização, ele executa a instrução VMXOFF. Esse processo está descrito na Figura
Figura 27: Esquema de funcionamento da Intel VT
43
entrar no modo de virtualização, o programa
deve executar a instrução VMXON e então chama o monitor que pode entrar em cada
máquina virtual usando a instrução VMLAUNCH, e sair usando a instrução
tuais e sair do modo de
Esse processo está descrito na Figura
5.2.2 AMD-V
A tecnologia AMD
assistido. A intenção é eliminar a necessidade da tradução binária que o monitor de máquinas
virtual tem que fazer a cada instrução, melhorando o desempenho da máquina. Alguns autores
afirmam que a tecnologia traz para o nível mais privilegiado a execução
sistemas operacionais convidados, através da ativação do modo virtualizado. Em outras
pesquisas, embora menos citado,
estrutura de hardware assistido incluiu um novo nível entre o
utilizado pelo VMM, dispensando a necessidade da tradução binária, agilizando o
desempenho no processamento das intruções.
Fonte: VMWord, disponível em http://www.vmworld.com.br/freedow/do
A tecnologia AMD-V trabalha com o mesmo princípio da Intel VT: o
assistido. A intenção é eliminar a necessidade da tradução binária que o monitor de máquinas
virtual tem que fazer a cada instrução, melhorando o desempenho da máquina. Alguns autores
afirmam que a tecnologia traz para o nível mais privilegiado a execução
sistemas operacionais convidados, através da ativação do modo virtualizado. Em outras
pesquisas, embora menos citado, alguns sites como o VMWorld [11
assistido incluiu um novo nível entre o hardware
dispensando a necessidade da tradução binária, agilizando o
desempenho no processamento das intruções.
Figura 28: Nova tecnologia Hardware Assist
Fonte: VMWord, disponível em http://www.vmworld.com.br/freedow/doku.php?id=vmworld:utilidade_diaria:aula_virtual:hardware
44
V trabalha com o mesmo princípio da Intel VT: o hardware
assistido. A intenção é eliminar a necessidade da tradução binária que o monitor de máquinas
virtual tem que fazer a cada instrução, melhorando o desempenho da máquina. Alguns autores
afirmam que a tecnologia traz para o nível mais privilegiado a execução de instruções dos
sistemas operacionais convidados, através da ativação do modo virtualizado. Em outras
alguns sites como o VMWorld [11] afirmam que essa
hardware e o nível 0, somente
dispensando a necessidade da tradução binária, agilizando o
ku.php?id=vmworld:utilidade_diaria:aula_virtual:hardware
45
6 OUTRAS SOLUÇÕES
Este trabalho teve como objeto de estudos a solução de virtualização da VMWare - o
VMWare ESX Server - por ser possível estudá-lo quando em fase de implementação e
analisar os benefícios trazidos à empresa. Entretanto, outras soluções estão disponíveis no
mercado e, trabalhando com um tipo diferente de virtualização, devem ser consideradas no
momento da elaboração de um projeto de um ambiente virtualizado.
6.1 Xen Citrix
O Xen Citrix é uma solução de virtualização também usada em ambientes corporativos
que, ao contrário do VMWare, não utiliza a virtualização total, mas sim a paravirtualização.
Funciona basicamente com um kernel adaptado para otimizar o acesso das máquinas virtuais
aos drivers (recursos de E/S), enquanto o VMM continua gerenciando o compartilhamento de
memória e processador. Isso se dá através de um núcleo modificado que, trabalhando em
conjunto com o hypervisor, é capaz de executar as instruções diretamente na CPU.
A Figura 29 mostra como as instruções são direcionadas, ilustrando o esquema de
funcionamento do Xen.
Figura 29: Funcionamento da paravirtualização no Xen
Embora menos utilizado que o VMWare – que é mais fácil de implementar mas tem um
desempenho menor – o Xen também vem ganhando espaço por ser uma solução mais barata
que a primeira.
Gerenciamento de Processador e Memória
Dispositivos de E/S Processador Memória
SO Convidado
Modificado
Drivers Virtuais
SO Convidado
Modificado
Drivers Virtuais Kernel
Modificado
Kernel
Modificado
Drivers Físicos
Executa no VMM
Executa Direto
46
6.2 Microsoft
A solução da Microsoft, chamada Hyper-V, segue os mesmos princípios de
paravirtualização do Xen: as máquinas virtuais são adaptadas para rodar algumas instruções
diretamente no hardware físico (tecnologia denominada (parent partition). Embora ainda
“pequena” no mercado de virtualização, a Microsoft promete grandes mudanças através do
lançamento de uma série de produtos (desktops virtuais, discos virtuais, acesso à aplicações
off-line) não só voltados para virtualização, mas também em Cloud Computing, agregados em
uma plataforma chamada Windows Azure.
7 CONCLUSÃO
Nas empresas, o orçamento destinado à área de tecnologia da informação geralmente é
enxuto e os administradores têm que proporcionar um ambiente seguro e estável com verba,
muitas vezes, insuficiente para tal.
Persuadir os gestores financeiros de investir em máquinas ou equipamentos para melhoria
contínua da infra-estrutura computacional corporativa não é uma tarefa fácil, restando apenas
aproveitar da melhor forma possível o que já existe ou o que é possível comprar. Servidores
são equipamentos caros, que exigem constante manutenção e monitoramento, bem como o
restante dos dispositivos que compõe uma infra-estrutura, e rapidamente ficam obsoletos
quando não é possível atualizá-los como necessário.
Dentro do ambiente de estudos, utilizando-se virtualização total com o VMWare ESX
Server, houve mudanças fundamentais para a estabilidade do sistema na empresa:
• a redução de servidores físicos fez com que fosse possível reduzir o calor gerado
dentro do datacenter, o que diminuiu a necessidade de refrigeração em 12000 BTU;
• com a redução do espaço ocupado por esses servidores, foi possível a redução da área
do datacenter em 4,8m2;
• a administração dos servidores virtualizados ficou quase totalmente remota e mais
centralizada, evitando – por exemplo – que pessoas mal intencionadas pudessem
acessar um servidor diretamente (os servidores virtuais não possuem monitor no
datacenter, forçando assim o acesso remoto com autenticação);
• migração on-line de servidores físicos, sem interrupção da produção;
• criação de servidores padronizados e pré-configurados, diminuindo o tempo para
“subir” máquinas;
47
• redução do tempo de permanência no datacenter, uma vez que a checagem da maioria
dos servidores é feita via browser.
Além disso, o suporte técnico dentro da própria empresa possibilitou uma redução nos custos
com serviços terceirizados de suporte, como era feito nos servidores tradicionais.
Em contrapartida, os pontos mais sensíveis da implementação foram:
• o hardware comprado para implementação do ambiente virtualizado teve um custo
muito superior à infra-estrutura comum, ficando a solução - blade, storage, tape
library ( robô de backup), lâminas e switch SAN (Switch Attachment Network) - cerca
de 40 vezes mais cara que um servidor IBM (com configurações equivalentes a uma
lâmina).
• tempo extra para treinamento dos administradores para familiarização no novo
ambiente;
• baixo desempenho em servidores que exigiam alta performance (como os servidores
de banco de dados do sistema ERP – SAP – que apresentaram desempenho muito
abaixo do esperado);
• impossibilidade de treinamento certificado pela VMWare, pois o curso ainda não
existe na região (Campinas) e seu alto custo (U$S 2.500 por funcionário).
Com esses dados, pode-se dizer que a virtualização não é uma solução recomendada para
empresas com recursos limitados (financeiros e tecnológicos), devido seu alto investimento.
Outrossim, é necessário avaliar a real necessidade desta técnica em médias e grandes
empresas, pois virtualizar ambientes que exijam grande poder processamento e memória,
pode significar não só a perda do investimento, mas a paralisação da produção devido ao
travamento de máquinas.
Já em servidores subutilizados, mostrou-se uma solução eficaz, permitindo a virtualização
de 10 (dez) servidores sem perda significativa de desempenho. A manutenção é feita através
de interface WEB ou da própria VMWare e na maioria das vezes, não é necessário que um
administrador tenha que se deslocar até o piso superior – onde o datacenter está localizado –
para monitorar estes servidores. Outro ponto positivo é que, devido a não utilização de
monitor na Blade, ainda que um indivíduo mal intencionado tente copiar dados diretamente
das lâminas, não terá como fazê-lo, sendo possível apenas a administração remota com a
48
devida instalação das ferramentas de gerenciamento e com autenticação do usuário
administrador, aumentando a segurança na empresa.
Embora ainda tenha algumas deficiências, por exemplo, o maior gasto de processamento
devido ao monitor de máquinas virtuais, a virtualização tem tudo para consolidar-se no
mercado. Fabricantes de processadores já mostraram interesse na técnica pelo
desenvolvimento de processadores com arquitetura X86 melhorada (detalhes em tecnologias
auxiliares), que visam otimizar o desempenho de ambientes virtualizados.
Com tudo isso, a virtualização parece mesmo que veio para ficar, aliada a novas
tecnologias como cloud computing, e melhorar não só ambientes corporativos, mas também
os serviços oferecidos a usuários domésticos.
7.1 Contribuições
Com a necessidade de estudar os benefícios da virtualização, aliada às práticas na
implementação em ambiente corporativo, as seguintes contribuições foram possíveis:
• Padronização na criação de máquinas
Os servidores eram utilizados sem critério ou separação, conforme surgia a necessidade da
criação de máquinas – por exemplo, um novo servidor de arquivos – e muitas vezes,
aplicações que deveriam ficar isoladas em servidores de menor porte, eram executadas
paralelamente em um mesmo servidor. A padronização na criação de máquinas permitiu a
distinção entre máquinas menores e maiores, ou seja, entre servidores para aplicações que
exigiam menos da máquina (ou mais) e criação de arquivos de imagem (.iso) com
configurações diferenciadas, agilizando o trabalho dos administradores quando uma nova
máquina era solicitada.
• Documentação das VMs Criadas
A documentação das máquinas virtuais criadas foi um dos pontos mais relevantes do projeto,
pois significou o registro de todo ambiente (virtual) em funcionamento, documentação esta
que não havia para os servidores físicos. Esse procedimento também possibilitou a
classificação das máquinas em grupo (por exemplo: servidores de arquivos, servidores Citrix,
servidores de impressão etc), facilitando a configuração da ferramenta de monitoramento
(Nagios).
• Documentação para outros funcionários
A documentação dos procedimentos adotados para criação e manutenção do ambiente
contribuiu para o treinamento de funcionários com responsabilidades sobre a administração
49
do ambiente, distribuindo o conhecimento, fazendo possível a ausência de funcionários que
precisavam tirar férias ou folgas, sem afetar a produção da empresa.
• Resolução de problemas reais de implementação e manutenção.
Algumas das ferramentas da solução de virtualização da VMWare foram exploradas com
mais detalhes durante o estudo, conforme as dúvidas surgiram na execução do trabalho de
conclusão de curso, melhorando ou facilitando o trabalho na empresa. Um exemplo disso foi a
comparação das funcionalidades entre ferramentas pagas e gratuitas – citando o Vmotion, que
na versão gratuita permite mover uma máquina virtual de um servidor para outro apenas com
a máquina virtual “origem” desligada, sendo que, na versão paga, esse processo é feito on-
line. A ferramenta VMWare HA (High Availability), que permite o “cluster” entre hardwares
da Blade, e existe somente na versão paga da solução VMWare.
7.2 Trabalhos futuros
Como extensões desse trabalho, julga-se relevante o desenvolvimento de duas vertentes.
A primeira seria a integração de diferentes hardwares on-line, caso fosse necessário. Em
outras palavras, caso fosse preciso colocar em produção mais um conjunto Blade, que seja
possível a integração (via USB, por exemplo) dos conjuntos, independentemente dos
fabricantes. Por exemplo, no ambiente de estudos, existe uma Blade da HP e no futuro, se
fosse necessário, um conjunto IBM fosse integrado ao ambiente, para que a empresa não fique
presa a somente um fabricante.
Na outra vertente, pode-se pensar nas mesmas condições em âmbito de software,
combinando soluções diferentes (virtualização total e paravirtualização) de fabricantes
distintos (VMWare e XenCitrix, respectivamente). Hoje existem formas de se converter
máquinas virtuais de uma solução para outra, mas com nenhuma delas com as máquinas em
produção e ou que possa integrá-las sem conversão.
50
Referências Bibliográficas
[1] NANDA, S., CHIUEH, T. A Survey on Virtualization Technologies. Disponível on-line
em http://www.ecsl.cs.sunysb.edu/tr/TR179.pdf, último acesso em 12/10/2009.
[2] História: Conhecendo a origem da virtualização. VMWorld. Disponível on-line em
http://www.vmworld.com.br/freedow/doku.php?id=vmworld:utilidade_diaria:aula_virtual:hys
tory , último acesso em 08/09/2009.
[3] POPEK, G.J., and GOLDBERG, R.P. Formal requirements for virtualizable third
generation architetures. Communications of ACM. v 17. n 7. pp. 412-421. 1974.
[4] Virtualização e o meio ambiente. Revista Eco 21. Disponível on-line em
http://www.eco21.com.br/textos/textos.asp?ID=1501, último acesso em 21/10/2009.
[5] Cloud computing: prepare-se para essa nova onda. Computer World. Disponível on-line
em http://computerworld.uol.com.br/gestao/2008/04/17/cloud-computing-prepare-se-para-a-
nova-onda-em-tecnologia, último acesso em 12/10/2009.
[6] Steil, M. Inside VMWare. How VMware, VirtualPC and Parallels actually work.
Disponível on-line em http://events.ccc.de/congress/2006/Fahrplan/attachments/1132-
InsideVMware.pdf, último acesso 20/11/2009.
[7] ALLEN, Julia et al. State of the practice of intrusion detection technologies. Relatório
Técnico. Pittsburg: Carnegie Mellon Software Engineering Institute, 2000. 242 p.
[8] LAUREANO M., MAZIERO C., JAMHOUR E. Proteção de detectores de intrusão
através de máquinas virtuais. 4º WORKSHOP EM SEGURANÇAS DE SISTEMAS
COMPUTACIONAIS, 2004, Gramado: SBRC. P. 63-74
[9] Intel® Xeon® Processor. Intel. Disponível on-line em
http://ark.intel.com/Product.aspx?id=33082, último acesso em 29/10/2009.
[10] Como funciona a tecnologia de virtualização da Intel. Clube do Hardware. Disponível
on-line em http://www.clubedohardware.com.br/artigos/1144/2, último acesso em
15/11/2009.
[11] Hardware e os tipos de virtualização. VMWorld. Disponível em
http://www.vmworld.com.br/freedow/doku.php?id=vmworld:utilidade_diaria:aula_virtual:har
dware, último acesso em 20/11/2009.
51
[12] Mercado de virtualização deve crescer 20% em 2009. Computer World. Disponível on-
line em http://computerworld.uol.com.br/negocios/2009/02/16/mercado-de-virtualizacao-
deve-crescer-20-em-2009, último acesso em 12/10/2009.
[13] 51% das empresas brasileiras já implantaram ti verde. Computer World. Disponível on-
line em http://computerworld.uol.com.br/gestao/2009/08/19/51-das-empresas-brasileiras-ja-
implantaram-ti-verde, último acesso em 12/10/2009.
[14] Datacenter Verde. IBM Brasil. Disponível on-line em
http://www.ibm.com/br/services/gts/pdf/Datacenter_verde.pdf, último acesso em 29/10/2009.
[15] Virtualização: uma introdução ao mundo virtual. VMWorld. Disponível on-line em
http://www.vmworld.com.br/freedow/doku.php?id=vmworld:utilidade_diaria:aula_virtual:intr
o, último acesso em 20/11/2009.
[16] Mattos, Diogo. Virtualização: VMWare e Xen. Universidade Federal do Rio de Janeiro,
2008. Disponível em http://www.gta.ufrj.br/grad/08_1/virtual/Xen.html, último acesso em
28/11/2009.
[17] Vivencio, Diego. Virtualização: Tecnologias e tendências. SECOMP, 2009. Disponível
em http://www.scribd.com/doc/16641526/Virtualizacao-Tecnologias-e-Tendencias-Secomp-
2009, último acesso em 28/11/2009.
[18] Windows Azure Platform. Microsoft. Disponível em
http://www.microsoft.com/windowsazure/, último acesso em 29/11/2009.
52
Apêndice I Comparação Lâmina Blade x Servidor tradicional
Na seção referente à redução de espaço, pode-se citar não só a consolidação de vários
servidores físicos em máquinas virtuais num único hardware. O equipamento específico -
chamado de lâmina da Blade - para aplicações em ambientes virtualizados é muito menor que
os servidores tradicionais e com desempenho igual ou superior. A seqüência de figuras 30 a
34 abaixo mostra a diferença de tamanho e volume ocupado:
Figura 30: Foto da lâmina Saturno (superior)
Figura 31: Fotos da lâmina Saturno (frontal e lateral)
53
Figura 32: Comparação visual lâmina x servidor (frontal )
Figura 33: Comparação visual lâmina x servidor (lateral)
LÂMINA
SERVIDOR
LÂMINA
SERVIDOR