Curso de Engenharia de Computação -...

54
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

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

54

Figura 34: Comparação visual lâmina x servidor (superior)

SERVIDOR

LÂMINA