implementacao e desempenho da virtualizacao no dcomp ufs

82
UNIVERSIDADE FEDERAL DE SERGIPE CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA DEPARTAMENTO DE COMPUTAÇÃO ANDERSON DE PAULA CASSIMIRO IMPLEMENTAÇÃO E DESEMPENHO DA VIRTUALIZAÇÃO NO DCOMP/UFS São Cristóvão 2010

Upload: edward-david-moreno

Post on 25-May-2015

646 views

Category:

Technology


29 download

DESCRIPTION

TCC no DCOMP/UFS do aluno Anderson de Paula Casssimiro, em Dezembro de 2010

TRANSCRIPT

Page 1: Implementacao e desempenho da virtualizacao no dcomp ufs

UNIVERSIDADE FEDERAL DE SERGIPE

CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA

DEPARTAMENTO DE COMPUTAÇÃO

ANDERSON DE PAULA CASSIMIRO

IMPLEMENTAÇÃO E DESEMPENHO DA

VIRTUALIZAÇÃO NO DCOMP/UFS

São Cristóvão

2010

Page 2: Implementacao e desempenho da virtualizacao no dcomp ufs

UNIVERSIDADE FEDERAL DE SERGIPE

CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA

DEPARTAMENTO DE COMPUTAÇÃO

ANDERSON DE PAULA CASSIMIRO

IMPLEMENTAÇÃO E DESEMPENHO

DA VIRTUALIZAÇÃO NO DCOMP/UFS

Monografia apresentada ao Departamento de Computação da Universidade Federal de Sergipe, como requisito parcial para obtenção do título de bacharel em Ciência da Computação.

Orientador: Prof. Dr. Edward David Moreno Ordonez.

São Cristóvão

Novembro de 2010

Page 3: Implementacao e desempenho da virtualizacao no dcomp ufs

Cassimiro, Anderson.

Implementação e Desempenho da Virtualização no DCOMP/UFS / Anderson de Paula Cassimiro – São Cristóvão: UFS, 2010.

82f.

Trabalho de Conclusão do Curso de Graduação – Universidade Federal de Sergipe, Curso de Ciência da Computação, 2010.

1. Informática. 2. Virtualização. 3. Máquinas

Virtuais. I. Título.

Page 4: Implementacao e desempenho da virtualizacao no dcomp ufs

ANDERSON DE PAULA CASSIMIRO

IMPLEMENTAÇÃO E DESEMPENHO

DA VIRTUALIZAÇÃO NO DCOMP/UFS

Trabalho de Conclusão de Curso submetido ao corpo docente do

Departamento de Computação da Universidade Federal de Sergipe (DCOMP/UFS)

como parte dos requisitos para obtenção do grau de Bacharel em Ciência da

Computação.

São Cristóvão, 26 de novembro de 2010.

Professor Doutor Edward David Moreno Ordonez

Orientador – DCOMP/UFS

Professor Doutor Carlos Alberto Estombelo Montesco

DCOMP/UFS

Professor Doutor Leonardo Nogueira Matos

DCOMP/UFS

Page 5: Implementacao e desempenho da virtualizacao no dcomp ufs

Dedico este trabalho a todos aqueles que

contribuíram de forma direta ou indireta para conclusão do mesmo.

Page 6: Implementacao e desempenho da virtualizacao no dcomp ufs

Agradeço primeiramente a Deus...

Page 7: Implementacao e desempenho da virtualizacao no dcomp ufs

"O analfabeto do século XXI não será aquele que não sabe ler e escrever, mas aquele que não consegue aprender, desaprender e aprender novamente".

Alvin Tofler

Page 8: Implementacao e desempenho da virtualizacao no dcomp ufs

CASSIMIRO, Anderson. Implementação e Desempenho da

Virtualização no DCOMP/UFS. 2010. Trabalho de Conclusão de Curso – Curso

de Ciência da Computação, Departamento de Computação, Universidade

Federal de Sergipe, São Cristóvão, 2010.

RESUMO

A utilização das técnicas de virtualização tem ganhado notoriedade nos últimos anos. Por esse motivo este trabalho discorre sobre os vários conceitos que envolvem a virtualização, mostrando as possibilidades com o uso da mesma e algumas vantagens e desvantagens. O trabalho também trata sobre as principais ferramentas para consolidação de servidores disponíveis no mercado e apresenta um breve comparativo sobre elas. Os conhecimentos sobre virtualização são aplicados usando um estudo de caso que tem por objetivo principal a consolidação de servidores no Departamento de Computação da Universidade Federal de Sergipe (DCOMP/UFS). No desenvolvimento deste estudo de caso optou-se pela utilização das ferramentas disponibilizadas pela Microsoft, uma vez que o departamento já possui acordo de licenciamento com a mesma. Ao final, o trabalho mostra os vários benefícios obtidos com a virtualização e também mostra como alguns problemas foram evitados na implementação utilizada.

Palavras-chave: consolidação de servidor; hipervisor; virtualização.

Page 9: Implementacao e desempenho da virtualizacao no dcomp ufs

ABSTRACT

The use of virtualization techniques has gained notoriety in recent years. That is why this work discusses several concepts involving virtualization, showing the possibilities with its use and some advantages and disadvantages. The work also addresses the main tools for consolidating servers available on the market and provides a brief comparison with them. Knowledge about virtualization is applied using a case study which mainly aims to provide server consolidation at Computing Department of the Federal University of Sergipe (DCOMP/UFS). In the development of this case study the tools provided by Microsoft were chosen, since the department has a licensing agreement with the same. In the end, the work shows the various benefits obtained with virtualization and also shows how some problems were avoided in the implementation used. Keywords: server consolidation; hypervisor; virtualization.

Page 10: Implementacao e desempenho da virtualizacao no dcomp ufs

LISTA DE FIGURAS

Figura 1. História da Virtualização - Linha do Tempo (Quevedo, 2008) .................. 18

Figura 2. Diagrama de uma máquina virtual (Laureano, 2006) .............................. 20

Figura 3. Uma máquina virtual (Laureano e Maziero, 2008) .................................. 21

Figura 4. Diferença entre abstração e virtualização. (Laureano e Maziero, 2008) ... 24

Figura 5. Hipervisor ou monitor de tipo I (Laureano, 2006) .................................... 26

Figura 6. Hipervisor ou monitor de tipo II (Laureano, 2006) ................................... 27

Figura 7. Abordagem híbrida para tipo I (Laureano, 2006) .................................... 28

Figura 8. Abordagem híbrida para tipo II (Laureano, 2006) ................................... 29

Figura 9. Virtualização total (Laureano, 2006) ...................................................... 31

Figura 10. Para-virtualização (Laureano, 2006) .................................................... 32

Figura 11. Uso dos níveis de privilégio da arquitetura x86 (Maziero, 2008) ............ 34

Figura 12. Visão geral da arquitetura Intel VT (Maziero, 2008) .............................. 35

Figura 13. Datacenter virtual (Vmware, 2010a) .................................................... 41

Figura 14. Arquitetura das versões ESX e ESXi (Vmware, 2010b)......................... 42

Figura 15. Hipervisor Xen (Laureano e Maziero, 2008) ......................................... 44

Figura 16. Produtos e Tecnologias de Virtualização Microsoft (Microsoft, 2010a) ... 45

Figura 17. Arquitetura do Hyper-V (Microsoft, 2010d) ........................................... 46

Figura 18. Cenário inicial dos servidores do DCOMP (Elaboração própria) ............ 53

Figura 19. Cenário da solução proposta (Elaboração própria) ............................... 57

Figura 20. Utilização de CPU em % (Elaboração própria) ..................................... 65

Figura 21. Utilização de CPU em % (Elaboração própria) ..................................... 66

Figura 22. Utilização de CPU em % (Elaboração própria) ..................................... 66

Figura 23. Utilização de CPU em % (Elaboração própria) ..................................... 67

Figura 24. Utilização de CPU em % do servidor MANAGER (Elaboração própria) .. 67

Figura 25. Memória disponível em MB (Elaboração própria) ................................. 68

Figura 26. Memória disponível em MB (Elaboração própria) ................................. 68

Figura 27. Memória disponível em MB (Elaboração própria) ................................. 69

Figura 28. Memória disponível em MB (Elaboração própria) ................................. 69

Page 11: Implementacao e desempenho da virtualizacao no dcomp ufs

LISTA DE TABELAS

Tabela 1. Serviços em cada servidor .................................................................. 53

Tabela 2. Configuração dos servidores ............................................................... 54

Tabela 3. Configuração dos servidores reais nesta solução ................................. 58

Tabela 4. Serviços em cada servidor migrado ou criado ...................................... 61

Tabela 5. Comparação de características dos hipervisores .................................. 76

Tabela 6. Comparação de funções incluídas nas versões gratuitas para servidor do

Xen e do VMware ............................................................................... 78

Tabela 7. Comparação entre máquinas virtuais e emuladores .............................. 79

Page 12: Implementacao e desempenho da virtualizacao no dcomp ufs

LISTA DE SIGLAS

AMD-V AMD Virtualization – Virtualização AMD

BIOS Basic Input/Output System – Sistema Básico e Entrada e Saída

CMS Console Monitor System – Console Monitor de Sistema

CP Control Program – Programa de Controle

CPU Central Processing Unit – Unidade Central de Processamento

DCOMP Departamento de Computação

DHCP Dynamic Host Configuration Protocol – Protocolo de Configuração

Dinâmica de Hosts

DNS Domain Name System – Sistema de Nomes de Domínios

E/S Entrada e Saída

HAL Hardware Abstraction Layer – Camada de Abstração de Hardware

Intel VT Intel Virtualization Technology – Tecnologia de Virtualização da Intel

ISA Instruction Set Architecture – Conjunto de Instruções da Arquitetura

JVM Java Virtual Machine – Máquina Virtual Java

NAT Network Address Translation – Tradução de Endereço de Rede

PC Personal Computer – Computador Pessoal

QoS Quality of Service – Qualidade de Serviço

ROI Return on Investment – Retorno sobre Investimento

SCCM System Center Configuration Manager

SCDPM System Center Data Protection Manager

SCOM System Center Operations Manager

SCVMM System Center Virtual Machine Manager

SPOF Single point of failure – Ponto único de falha

SVM Secure Virtual Machine – Máquina Virtual Segura

TCC Trabalho de Conclusão de Curso

TCO Total Cost of Ownership – Custo Total de Propriedade

TI Tecnologia da Informação

TSS Time Sharing System – Sistema de Compartilhamento de Tempo

UFS Universidade Federal de Sergipe

VM Virtual Machine – Máquina Virtual

VMM Virtual Machine Monitor – Monitor de Máquina Virtual

Page 13: Implementacao e desempenho da virtualizacao no dcomp ufs

SUMÁRIO

1 INTRODUÇÃO ..................................................................................... 13

1.1 Motivações e objetivos ............................................................................. 13

1.2 Organização do trabalho........................................................................... 15

2 VIRTUALIZAÇÃO – HISTÓRICO E CONCEITOS.......................... 16

2.1 Histórico .................................................................................................. 17

2.2.1 Emulador e máquina virtual....................................................................... 23

2.2.2 Abstração e virtualização .......................................................................... 23

2.3 Hipervisores............................................................................................. 24

2.3.1 Tipos de hipervisores ............................................................................... 25

2.3.2 Classificação dos hipervisores .................................................................. 26

2.4 Formas de virtualização ............................................................................ 29

2.5 Técnicas de virtualização e emulação........................................................ 30

2.5.1 Virtualização total ..................................................................................... 31

2.5.2 Para-virtualização .................................................................................... 32

2.5.3 Tradução dinâmica ................................................................................... 33

2.6 Processadores com virtualização nativa .................................................... 33

2.7 Usos da virtualização ............................................................................... 35

2.7.1 Vantagens ............................................................................................... 37

2.7.2 Desvantagens .......................................................................................... 38

3 FERRAMENTAS PARA MÁQUINAS VIRTUAIS ............................ 39

3.1 VMware ................................................................................................... 39

3.2 Citrix ....................................................................................................... 42

3.3 Microsoft.................................................................................................. 44

3.4 Comparação entre as ferramentas ............................................................ 47

4 ESTUDO DE CASO ............................................................................ 50

4.1 Sobre o DCOMP ...................................................................................... 50

4.2 Situação anterior ...................................................................................... 52

Page 14: Implementacao e desempenho da virtualizacao no dcomp ufs

4.3 Solução proposta ..................................................................................... 55

4.3.1 Configuração dos servidores ..................................................................... 56

4.3.2 Aplicações dos servidores ........................................................................ 59

4.4 Resultados .............................................................................................. 62

4.4.1 Desempenho ........................................................................................... 63

5 CONCLUSÕES.................................................................................... 70

5.1 Trabalhos futuros ..................................................................................... 70

REFERÊNCIAS BIBLIOGRÁFICAS........................................................... 72

ANEXOS ........................................................................................................ 75

ANEXO A – Tabela comparativa de características do VMware,

Hyper-V e Xen............................................................................................... 76

ANEXO B – Tabela comparativa do XenServer e VMware ESXi ....... 78

ANEXO C – Comparação entre máquinas virtuais e emuladores .... 79

Page 15: Implementacao e desempenho da virtualizacao no dcomp ufs

13

1 INTRODUÇÃO

O conceito de máquinas virtuais surgiu na década de 1960 pela necessidade

do compartilhamento de recursos em mainframes. Mas na década de 1980 a partir

da diminuição do custo do hardware este conceito perdeu importância, pois o custo

dos mainframes que eram utilizados na virtualização eram maiores que os de vários

computadores que forneciam o ambiente desejado (Laureano e Maziero, 2008).

Com isto, durante muitos anos, a virtualização era um termo que ficava

restrito aos membros de departamentos de TI. Atualmente ela passou a oferecer

soluções de vanguarda para organizações em busca de otimização dos

investimentos em TI. Estas soluções são disponibilizadas por um grande número de

fornecedores, o que tem permitido uma economia de custos e outros benefícios

(Ribas, 2008).

De uma maneira generalizada pode-se definir a virtualização como a

capacidade de criar diversas máquinas lógicas (máquinas virtuais) com um único

hardware (Gonçalves e Vahl Junior, 2009).

Em um sistema virtualizado temos um software host sendo executado na

máquina física, chamado Virtual Machine Monitor (VMM), ou hipervisor. Este

software é responsável pela criação de ambientes simulados de computação, que

são as máquinas virtuais (VMs). Sistemas operacionais inteiros podem ser

executados nessas máquinas virtuais como se estivessem sendo executados em um

hardware real (Seo, 2009).

1.1 Motivações e objetivos

A virtualização está sendo cada vez mais utilizada, também, por causa das

práticas da TI verde. Em (Hess, 2009) TI verde é definida como um conjunto de

práticas para tornar mais sustentável e menos prejudicial o nosso uso da

computação. As práticas de TI verde buscam reduzir o desperdício e aumentar a

eficiência de todos os processos e fenômenos relacionados à operação dos

computadores. A maior vantagem da utilização de virtualização neste caso é a

Page 16: Implementacao e desempenho da virtualizacao no dcomp ufs

14

economia de energia, pois menos computadores e equipamentos serão necessários

para execução de diversos serviços.

A virtualização também traz vantagens no maior aproveitamento da

capacidade dos servidores, facilidade para gerenciamento das máquinas e na

segurança (Quevedo, 2008). A capacidade de isolamento oferecida pelos

hipervisores oferece uma boa camada de proteção, já que não é necessária a

utilização de mais de um hardware para garantir que um sistema não afete outro.

Esta capacidade também permite que sejam testadas alterações em sistemas de

produção antes de colocá-las em prática. A capacidade de restaurar estados

anteriores e a migração ao vivo de máquinas virtuais ajuda a prover uma maior

disponibilidade para os serviços oferecidos pela TI.

Neste trabalho é realizado um estudo de caso e respectiva análise da

implementação da virtualização no Departamento de Computação (DCOMP) da

Universidade Federal de Sergipe (UFS). Este departamento utiliza a TI com a função

de auxiliar na administração e em suas atividades de ensino, pesquisa e extensão.

Possui três cursos de graduação e um de pós-graduação, que contam com

aproximadamente 650 alunos matriculados e ministra aulas para aproximadamente

1.000 alunos de outros cursos da universidade.

O objetivo desta implementação é facilitar a administração e monitoramento

dos servidores e equipamentos do departamento de computação, além de ampliar o

número de serviços e aplicações oferecidas à comunidade acadêmica sem ter que

investir no aumento do número de servidores.

Mas a virtualização não traz somente vantagens, por isto este trabalho

busca, também, minimizar as desvantagens que possam ser introduzidas devido ao

uso da virtualização. Dentre as desvantagens é possível citar (Quevedo, 2008;

Hansen e Schaeffer, 2009): a perda de desempenho se comparado ao hardware

físico; a necessidade de alterações no núcleo do sistema hóspede em alguns casos;

a indisponibilidade de um equipamento físico pode causar indisponibilidade de

diversas aplicações; e a exigência de um hardware com uma maior capacidade de

processamento e armazenamento.

Page 17: Implementacao e desempenho da virtualizacao no dcomp ufs

15

1.2 Organização do trabalho

Este trabalho está dividido em cinco capítulos, sendo o primeiro de introdução

do trabalho. No capítulo dois são apresentados os conceitos teóricos sobre

virtualização, no capítulo três são apresentadas algumas soluções de virtualização.

O capítulo quatro mostra o estudo de caso do DCOMP e o capítulo cinco apresenta

as conclusões obtidas com este trabalho.

Page 18: Implementacao e desempenho da virtualizacao no dcomp ufs

16

2 VIRTUALIZAÇÃO – HISTÓRICO E CONCEITOS

Neste capítulo mostra-se o histórico da virtualização, seus conceitos e suas

diversas aplicações, vantagens e desvantagens. Mas antes disto é importante saber

o que significa o termo “virtual”.

Segundo o dicionário Michaelis:

virtual.vir.tu.al adj m+f (lat virtuale) 1 Que não existe como realidade, mas sim como potência ou faculdade. 2 Que equivale a outro, podendo fazer as vezes deste, em virtude ou atividade. 3 Que é suscetível de exercer-se

embora não esteja em exercício; potencial. 4 Que não tem efeito atual. 5 Possível. 6 Diz-se do foco de um espelho ou lente, determinado pelo encontro dos prolongamentos dos raios luminosos (Weiszflog e Silva, 2010).

O oposto de virtual não é o que é real como muitos podem imaginar. Seu

antônimo é o que é concreto, físico, tangível, com limites bem definidos. O virtual

existe somente como potência, como uma simulação de algo concreto, não

possuindo limites (Nascimento, 2009).

O autor Pierre Lévy em “O que é o virtual?” diz que o virtual faz oposição ao

atual:

Contrariamente ao possível, estático e já construído, o virtual é como o complexo problemático, o nó de tendências ou de forças que acompanha uma situação, um acontecimento, um objeto ou uma entidade qualquer, e

que chama um processo de resolução: a atualização (Lévy, 2003).

Ele exemplifica isto através de uma semente, explicando que ela é uma

virtualização da árvore, ela “conhece” a forma que deverá se expandir e a partir das

circunstâncias que encontrar ela vai ser a encarregada de inventar, de coproduzir, a

mesma.

Ele define a virtualização como o movimento inverso ao da atualização. É

uma passagem do atual ao virtual, uma “elevação à potência” da entidade

considerada. Ele cita o caso da “virtualização” de uma empresa, onde uma

organização comum reúne os empregados num mesmo edifício ou em conjunto de

departamentos, onde cada empregado ocupa um posto já determinado e possui

horários de trabalho específicos. Já numa empresa virtual o tele trabalho substitui a

necessidade da presença física e são utilizados recursos e programas que

favoreçam a colaboração. O autor diz que neste caso a organização deixa de ser um

conjunto de departamentos, postos de trabalho e livros de ponto e passa a se

Page 19: Implementacao e desempenho da virtualizacao no dcomp ufs

17

preocupar com soluções não estáveis, que contribuam para a colaboração entre os

empregados a partir de diversas exigências.

Por meio destes e outros conceitos, Nascimento (2009) conclui:

[...] “o virtual é algo real com uma natureza intangível e pode torna-se [sic] tangível através do uso de recursos tecnológicos tangíveis, como os

computadores e intangíveis, como os sistemas por eles processados. Proporcionando uma experiência real como os simuladores de vôo para treinamento de pilotos, entre outros exemplos” (Nascimento, 2009).

2.1 Histórico

A virtualização, mesmo só tendo difundido nos últimos anos, já existe desde

a década de 1960. De acordo com Laureano e Maziero (2008) ela surgiu pela

necessidade de oferecer a cada usuário um ambiente monousuário completo,

independente e desvinculado de outros usuários para os mainframes da época.

O primeiro sistema que fez uso da virtualização foi desenvolvido pela IBM, o

sistema operacional experimental M44/44X (Creasy, 1981). Ele se baseava no

conceito do sistema de tempo compartilhado ou TSS (Time Sharing System), criado

pela IBM, e foi a partir dele que a mesma começou a desenvolver seus sistemas

comerciais. O primeiro computador comercial com suporte a tecnologia foi lançado

em 1964, o mainframe System/360, com um suporte limitado a virtualização. No

mesmo ano foi criado o projeto CP-40 cujo objetivo era a disponibilização de uma

máquina virtual System/360 completa para cada usuário. Foi neste projeto que

surgiu a primeira menção às memórias virtuais e às máquinas virtuais, que na época

eram chamadas de pseudo-máquinas (Quevedo, 2008).

A partir daí a IBM desenvolveu o sistema CP/CMS que era constituído por

dois componentes principais, o Control Program (Programa de Controle ou CP) e o

Console Monitor System (Console Monitor de Sistema ou CMS). O CP era

responsável por simular um computador System/360 e o CMS era um sistema

operacional “leve” monousuário para uso no compartilhamento de tempo interativo.

Ao executar várias cópias do CMS em máquinas virtuais CP o esforço da máquina

era menor por cada usuário se comparado ao uso de sistemas operacionais

multitarefas comuns (Creasy, 1981).

Page 20: Implementacao e desempenho da virtualizacao no dcomp ufs

18

O conceito de máquinas virtuais CP/CMS foi importante, pois isola os

usuários uns dos outros, com isto aumenta a segurança do sistema, além de

aumentar o desempenho no uso de um sistema de compartilhamento de tempo e ao

simular um computador completo para cada usuário elimina a necessidade de

escrever aplicações específicas para sistemas de tempo compartilhado, já que todas

as aplicações já escritas para o sistema original funcionam (Creasy, 1981).

Na Figura 1 são listados acontecimentos importantes para a área de TI

desde 1954, nela os fatos que contribuíram para o desenvolvimento da virtualização

estão destacados.

Figura 1. História da Virtualização - Linha do Tempo (Quevedo, 2008)

A partir da adoção de plataformas de menor custo, como o PC, na década

de 1980 a virtualização perdeu sua importância devido ao custo de um mainframe

não compensar o custo necessário para o fornecimento de um PC a cada usuário

(Laureano e Maziero, 2008).

O conceito voltou a se popularizar a partir do aumento de desempenho e

funcionalidade dos computadores pessoais e pelo desenvolvimento da linguagem

Java na década de 1990, uma vez que esta possui uma máquina virtual cujo objetivo

Page 21: Implementacao e desempenho da virtualizacao no dcomp ufs

19

é tornar possível a execução de um mesmo aplicativo em várias plataformas

diferentes (Laureano e Maziero, 2008).

Desde 1997 surgiram várias soluções de virtualização no mercado para tirar

proveito das máquinas virtuais, é possível citar o VirtualPC, VMware, Xen, Hyper-V e

o VirtualBox dentre outras.

De acordo com Mattos (2008), a plataforma PC x86 não possui instruções

que permitem a virtualização de forma nativa, por isto vários fabricantes

desenvolveram soluções para tornar possível a execução de máquinas virtuais nesta

plataforma como o VMware, Xen e VirtualPC. Segundo Laureano e Maziero (2008)

estas soluções possuem um desempenho inferior ao de soluções que usam a

virtualização nativa.

Atualmente vários processadores da Intel e AMD já incluem suporte nativo a

virtualização com o objetivo de aumentar o desempenho das máquinas virtuais que

são executadas neles através das tecnologias Virtualization Technology (VT) da Intel

e Secure Virtual Machine (SVM) da AMD (Quevedo, 2008), como exemplo pode-se

citar os processadores da série Core i3 (Intel, 2010).

Na década de 2000 a virtualização passou a ser adotada por diversas

organizações em busca da consolidação de servidores. A consolidação de

servidores consiste na utilização de um servidor físico com vários servidores virtuais,

isto permite um melhor aproveitamento dos recursos, a possibilidade de um

ambiente mais flexível, diminuição do espaço físico e um menor gasto com energia e

manutenção de hardware (Mattos, 2008; Fragni, 2009).

2.2 Conceitos

Segundo Quevedo (2008) “A virtualização pode ser definida como uma

metodologia que permite a divisão de um único computador físico em diversos

computadores virtuais independentes entre si”.

Um computador real, computador físico, máquina real, sistema nativo ou

hospedeiro (host), possui cinco componentes básicos: processador, memória,

dispositivos de entrada e saída (E/S), armazenamento em disco e programas

Page 22: Implementacao e desempenho da virtualizacao no dcomp ufs

20

aplicativos. Sendo os quatro primeiros componentes classificados como hardware e

o último como software (Norton, 1996).

Uma máquina real é formada por vários componentes físicos que fornecem operações para o sistema operacional e suas aplicações. Iniciando pelo núcleo do sistema real, o processador central (CPU) e o chipset da placa-mãe fornecem um conjunto de instruções e outros elementos fundamentais para o processamento de dados, alocação de memória e processamento de

E/S. Olhando mais detalhadamente um sistema físico, temos ainda os dispositivos e os recursos, tais como a memória, o vídeo, o áudio, os discos rígidos, os CD-ROMs e as portas (USB, paralela, serial). Em uma máquina real, a BIOS ou devices drivers específicos fornecem as operações de baixo nível para que um sistema operacional possa acessar os vários recursos da placa-mãe, memória ou serviços de E/S (Figura 2) (Laureano, 2006).

Figura 2. Diagrama de uma máquina virtual (Laureano, 2006)

Já uma máquina virtual ou VM (Virtual Machine) pode ser definida como

“uma duplicata eficiente e isolada de uma máquina real” (Laureano, 2006), mas de

acordo com este autor com o passar do tempo o termo passou a englobar várias

Page 23: Implementacao e desempenho da virtualizacao no dcomp ufs

21

abstrações já que, por exemplo, a Java Virtual Machine (JVM) não virtualiza um

sistema real.

A Figura 3 mostra um hipervisor executando sobre a plataforma Sparc e

permitindo a execução do sistema operacional Windows que foi desenvolvido para a

plataforma x86.

Figura 3. Uma máquina virtual (Laureano e Maziero, 2008)

A partir da Figura 3 é possível verificar as três partes básicas que compõem

um ambiente de máquina virtual (Laureano e Maziero, 2008):

a) Sistema hospedeiro: contém recursos reais de hardware e software.

b) Sistema virtual, ou sistema convidado (guest system): executa sobre o

sistema virtualizado.

c) Monitor de máquina virtual, ou hipervisor: constrói as interfaces virtuais a

partir da real.

A criação de ambientes virtuais pode acontecer utilizando-se diversos

conceitos e tecnologias, como o particionamento de hardware e software, o TSS, a

simulação total ou parcial e a emulação (Quevedo, 2008).

O monitor de máquina virtual (VMM) é o software responsável por fornecer

uma interface idêntica ao hardware em que ele funciona, usando a multiplexação de

várias máquinas virtuais em um só hardware, e pela criação e controle das máquinas

virtuais (Laureano, 2006).

As máquinas virtuais possuem as mesmas características de uma máquina

real, incluindo a BIOS que provê uma interface entre o sistema operacional e o

Page 24: Implementacao e desempenho da virtualizacao no dcomp ufs

22

hardware, e os dispositivos de entrada e saída. Mas o VMM pode fornecer um

ambiente diferente do real, com diferenças no armazenamento em disco e

quantidade de memória (Quevedo, 2008).

Popek e Goldberg (1974) enunciaram três propriedades necessárias para

um sistema computacional oferecer suporte a virtualização de forma eficiente:

a) Eficiência: todas as instruções de máquina que não comprometem o

funcionamento do sistema devem ser executadas diretamente no hardware sem

intervenção da máquina virtual.

b) Controle de recursos: um monitor de máquina virtual deve ter controle

completo sobre os recursos virtualizados sendo estritamente proibido que um

programa executando sobre a máquina virtual os acesse diretamente.

c) Equivalência: um programa executando sobre uma máquina virtual deve

exibir um comportamento idêntico àquele apresentado caso a máquina virtual não

existisse e o programa acessasse diretamente uma máquina física equivalente.

Duas exceções são consideradas. Primeira, eventualmente, algumas instruções

podem ter seu tempo de execução aumentado. Segunda, pode haver problemas de

conflito de acesso a recursos, os quais devem ser resolvidos de forma apropriada.

Estas propriedades classificaram a ISA (Conjunto de Instruções da

Arquitetura ou Instruction Set Architecture) em três grupos (Carissimi, 2008): as

privilegiadas se executadas por um programa em modo usuário causam exceções;

as sensíveis de controle permitem a alteração de recursos do sistema; e as

sensíveis comportamentais cujo comportamento dependem da configuração de

recursos, como conteúdo de registradores internos ou modos de execução do

processador.

A partir disto Popek e Goldberg (1974) enunciaram e provaram o seguinte

teorema sobre a possibilidade de construção de um hipervisor em uma determinada

plataforma:

Para qualquer computador convencional de terceira geração, um hipervisor pode ser construído se o conjunto de instruções sensíveis daquele

computador for um subconjunto de seu conjunto de instruções privilegiadas.

Page 25: Implementacao e desempenho da virtualizacao no dcomp ufs

23

De acordo com Carissimi (2008) o teorema pode ser traduzido no fato de

que qualquer instrução que possa afetar o controle do hipervisor deve passar pelo

seu controle.

2.2.1 Emulador e máquina virtual

Um emulador simula um computador real, ele é desenvolvido

especificamente para transcrever instruções do um processador alvo para o

processador no qual ele está sendo executado. O emulador implementa as

operações da máquina real em software, ou seja, ele interpreta ou recompila um

código que foi desenvolvido para outra plataforma (Laureano, 2006).

Enquanto na emulação o software simula um computador real traduzindo

todas as instruções, na virtualização ele é responsável por multiplexar um hardware

real, o que possibilita que máquinas virtuais sejam consideradas cópias idênticas e

isoladas do hardware real (Quevedo, 2008).

O Bochs (Lawton, Denney et al., 2010), o Crusoe (Klaiber, 2000) e o QEMU

(Qemu, 2010) são exemplos de emuladores segundo Laureano e Maziero (2008).

2.2.2 Abstração e virtualização

Existe uma diferença entre abstração e virtualização. A abstração provê

alguns recursos específicos de hardware, enquanto a virtualização provê um

conjunto completo de recursos. Na Figura 4 é possível visualizar esta diferença, na

abstração o software pode acessar os arquivos para operações específicas, como

read ou write, enquanto a virtualização fornece um sistema de arquivos montado

sobre um arquivo, onde é possível realizar outras operações, como mkdir (Laureano,

2006).

Page 26: Implementacao e desempenho da virtualizacao no dcomp ufs

24

Figura 4. Diferença entre abstração e virtualização. (Laureano e Maziero, 2008)

2.3 Hipervisores

Como já vimos o hipervisor, ou monitor de máquinas virtuais (VMM), é a

camada de software que faz a criação e controla o ambiente simulando o acesso

direto ao hardware. Laureano e Maziero (2008) afirmam que um hipervisor deve

atender a três requisitos básicos: prover um ambiente de execução basicamente

idêntico ao da máquina real; o hipervisor deve ter controle total sobre os recursos da

máquina real; e, no pior caso, os programas em execução nas máquinas virtuais

devem apresentar leves degradações de desempenho.

Segundo Quevedo (2008) e Laureano e Maziero (2008) as seguintes

propriedades, enunciadas por Popek e Goldberg (1974), devem ser atendidas por

um hipervisor ideal:

a) Equivalência: o hipervisor deve prover um ambiente de execução quase

idêntico ao da máquina real original. Possibilitando um comportamento idêntico ao

da sua execução sobre a máquina real.

b) Controle de recursos: o hipervisor deve possuir controle completo dos

recursos da máquina real. Nenhum programa executado na máquina virtual deve ter

acesso a recursos que não tenham sido alocados explicitamente pelo hipervisor.

c) Eficiência: a maior parte das instruções do processador virtual devem ser

executadas diretamente pelo processador da máquina real, sem intervenções do

Page 27: Implementacao e desempenho da virtualizacao no dcomp ufs

25

hipervisor. Este deve somente interpretar instruções que não possam ser

executadas pelo processador real.

Quevedo (2008) também cita as seguintes propriedades frequentemente

associadas à hipervisores:

a) Isolamento: um software ao ser executado em máquina real não pode ver,

influenciar ou modificar outro software que esteja em execução no hipervisor ou em

outra máquina virtual.

b) Inspeção: o hipervisor pode controlar e acessar todas as informações do

estado interno da máquina virtual.

c) Gerenciabilidade: a administração de várias instâncias de máquinas

virtuais sobre um mesmo hipervisor é simplificada e centralizada. O hipervisor é

capaz de gerenciar os recursos entre os sistemas convidados.

d) Encapsulamento: através da inspeção o hipervisor é capaz de salvar

estados de uma máquina virtual, isto permite o retorno a um estado anterior,

análises em casos de falha e migração entre hipervisores executando em

computadores diferentes.

e) Recursividade: deve ser possível executar um hipervisor dentro de uma

máquina virtual, produzindo um novo nível de máquinas virtuais.

2.3.1 Tipos de hipervisores

De acordo com Quevedo (2008) os hipervisores podem ser divididos em

diferentes classes:

a) Complete Software Interpreter Machine (CSIM): as instruções passam por

uma tradução através do software antes de serem executadas na CPU através da

técnica de tradução dinâmica, que consiste em traduzir e guardar blocos de código.

Page 28: Implementacao e desempenho da virtualizacao no dcomp ufs

26

b) Hybrid Virtual Machine (HVM): quando todas as instruções privilegiadas

são executadas por software, é utilizada quando a CPU não suporta hipervisores do

tipo I ou II, estes serão tratados na próxima seção.

c) Hipervisor simples: a maior parte das instruções é executada diretamente

no hardware. Os hipervisores desta classe normalmente possuem um melhor

desempenho se comparado a hipervisores das outras classes.

2.3.2 Classificação dos hipervisores

A seguir são detalhados os hipervisores pela abordagem utilizada na sua

construção segundo Laureano (2006) e Quevedo (2008).

2.3.2.1 Hipervisores do tipo I

Hipervisores do tipo I, também conhecido como abordagem clássica ou

hipervisores nativos, executam diretamente sobre o hardware da máquina real, com

as máquinas virtuais sendo criadas na camada acima. O hipervisor é executado com

maior prioridade e as VMs executam no modo usuário, possibilitando que o

hipervisor intercepte e emule todas as operações do sistema convidado que

necessitem de recursos do hardware. Este tipo está exemplificado na Figura 5 e é

utilizado pelo VMware ESX Server e o ambiente Xen.

Figura 5. Hipervisor ou monitor de tipo I (Laureano, 2006)

Page 29: Implementacao e desempenho da virtualizacao no dcomp ufs

27

2.3.2.2 Hipervisores do tipo II

Hipervisores do tipo II, também conhecido como abordagem hospedada ou

hipervisores convidados, executam sobre o sistema operacional hospedeiro, como

uma aplicação do sistema real que utiliza os drivers do sistema operacional para

acesso ao hardware. Este tipo simula todas as operações que o sistema hospedeiro

controla. Ele está exemplificado na Figura 6 e é utilizado pelo VMware Workstation,

o QEMU e o VirtualBox.

Figura 6. Hipervisor ou monitor de tipo II (Laureano, 2006)

2.3.2.3 Hipervisores híbridos

Os hipervisores de tipo I e II não são muito utilizados em sua forma

conceitual, na prática são inseridas várias otimizações que tem como objetivo

melhorar o desempenho. Como as otimizações levam a arquiteturas diferenciadas

elas são chamadas de abordagens híbridas.

Como as operações de E/S são pontos cruciais no desempenho dos

hipervisores, as principais otimizações são feitas nestas operações. É possível listar

quatro otimizações mais usadas:

a) Em hipervisores de tipo I:

Page 30: Implementacao e desempenho da virtualizacao no dcomp ufs

28

1. O sistema convidado acessa diretamente o hardware

hospedeiro, para permitir isto são necessárias mudanças no

núcleo do sistema convidado e no hipervisor. A Figura 7 ilustra

este caso.

Figura 7. Abordagem híbrida para tipo I (Laureano, 2006)

b) Em hipervisores de tipo II, ilustrado pela Figura 8:

1. O sistema convidado acessa diretamente o sistema hospedeiro,

oferecendo partes da API do sistema hospedeiro.

2. O sistema convidado acessa diretamente o hardware, isto é feito

por meio de uma implementação parcial no hipervisor e no

sistema convidado através de um driver específico.

3. O hipervisor acessa diretamente o hardware. Implementado a

partir da instalação de um driver no sistema hospedeiro.

Page 31: Implementacao e desempenho da virtualizacao no dcomp ufs

29

Figura 8. Abordagem híbrida para tipo II (Laureano, 2006)

2.4 Formas de virtualização

Existem várias formas possíveis de classificação para a virtualização, aqui

são tratadas as formas utilizadas em Laureano (2006) e Quevedo (2008).

A classificação de acordo com o tipo de sistema convidado suportado

(Rosenblum, 2004) é dividida em virtualização do hardware, virtualização do sistema

operacional e virtualização de linguagens de programação.

a) A virtualização do hardware exporta o sistema físico como uma abstração

do hardware, possibilitando o funcionamento de qualquer software escrito para a

arquitetura.

b) A virtualização do sistema operacional exporta um sistema operacional

como abstração de um sistema específico, permitindo a execução de aplicativos

desenvolvidos para outro sistema operacional.

c) A virtualização de linguagens de programação consiste em uma aplicação

que é executada no sistema operacional, suas máquinas virtuais são desenvolvidas

para computadores fictícios projetados para uma finalidade específica. A camada da

Page 32: Implementacao e desempenho da virtualizacao no dcomp ufs

30

aplicação é responsável por exportar a abstração para execução dos programas que

foram desenvolvidos para ela.

Já na outra classificação, de Chiueh (2005), os sistemas são classificados

como Hardware Abstraction Layer (HAL), abstração da Instruction Set Architeture

(ISA), nível de sistema operacional, nível de aplicação e biblioteca de interface do

usuário.

a) Na virtualização HAL o hipervisor simula uma arquitetura completa para o

sistema convidado, fazendo com que o sistema convidado acredite estar executando

sobre um sistema completo.

b) Na Abstração da ISA a virtualização faz a emulação completa da ISA,

com isto o emulador executa as instruções do sistema convidado através da

tradução das instruções para o sistema nativo.

c) A virtualização de nível de sistema operacional é obtida utilizando uma

chamada de sistema específica, o seu principal benefício é a criação de uma

camada de isolamento de processos.

d) A virtualização pelo nível de aplicação é obtida através da abstração da

camada de execução, com uma aplicação utilizando esta camada para execução

das instruções do programa. Isto permite que um aplicativo seja executado em

várias plataformas.

e) E, por fim, a virtualização da biblioteca de interface para o usuário é feita

com a abstração do topo do sistema operacional, permitindo que aplicações que

usam o conjunto de bibliotecas disponibilizadas por um sistema consigam executar

em outro sistema.

2.5 Técnicas de virtualização e emulação

Para construção de hipervisores é necessário definir algumas estratégias

para a virtualização. As estratégias mais utilizadas são a virtualização total (full

Page 33: Implementacao e desempenho da virtualizacao no dcomp ufs

31

virtualization), a para-virtualização (paravirtualization) e a recompilação dinâmica

(dynamic recompilation).

2.5.1 Virtualização total

Na virtualização total o hipervisor fornece uma estrutura completa de

hardware virtualizada, que corresponde a uma máquina real existente. Desta

maneira os sistemas operacionais convidados não precisam sofrer nenhuma

alteração ou ajuste para execução dentro do ambiente virtual. Esta abordagem é

utilizada na maioria dos hipervisores de sistema clássicos como o QEMU e VMware

e está ilustrada na Figura 9 (Laureano e Maziero, 2008).

A maior vantagem desta estratégia é que os sistemas operacionais

convencionais podem ser executados sem necessidade de modificações, mas ele é

executado mais lentamente já que todos os acessos ao hardware são intermediados

pelo hipervisor. O hipervisor também é o responsável por implementar alternativas

para que as operações privilegiadas sejam executadas em processadores que não

suportam a virtualização nativamente (Laureano, 2006).

Figura 9. Virtualização total (Laureano, 2006)

Page 34: Implementacao e desempenho da virtualizacao no dcomp ufs

32

2.5.2 Para-virtualização

Na para-virtualização, ilustrada na Figura 10, o sistema convidado sofre

modificações para obter uma interação mais eficiente com o monitor de máquinas

virtuais. Esta estratégia permite que o sistema convidado acesse alguns recursos do

hardware, como processador e memória, diretamente, sendo este acesso somente

monitorado pelo hipervisor que fornece seus “limites”, como os endereços de

memória que podem ser utilizados e endereçamento em disco (Laureano, 2006;

Quevedo, 2008).

O desempenho obtido com esta técnica compensa as modificações

necessárias aos sistemas convidados. A complexidade para desenvolvimento dos

hipervisores é reduzida com esta estratégia, já que a maioria dos processadores não

suporta nativamente a para-virtualização. O Denali (Whitaker, Shaw et al., 2002) e o

Xen (Clark, 2002) foram os primeiros ambientes a adotar a para-virtualização

(Laureano e Maziero, 2008).

Figura 10. Para-virtualização (Laureano, 2006)

Page 35: Implementacao e desempenho da virtualizacao no dcomp ufs

33

2.5.3 Tradução dinâmica

A tradução dinâmica, ou recompilação dinâmica, traduz, em tempo de

execução do programa, as instruções de um formato para outro. Nela as solicitações

de um sistema convidado são analisadas, reorganizadas e traduzidas em novas

sequências durante a execução (Quevedo, 2008).

Ela tem vários objetivos: detectar e tratar instruções sensíveis não

privilegiadas; traduzir as instruções geradas pelo sistema convidado para a interface

ISA do hospedeiro; ou analisar, reorganizar e otimizar sequências de instruções

geradas pelo sistema convidado com objetivo de melhorar o desempenho. A

máquina virtual Java implementa esta estratégia usando o JIT (Just-in-Time

Bytecode Compiler). Outros hipervisores implementam esta técnica por meio da

busca e troca de instruções sensíveis para outras rotinas em processadores que não

suportam virtualização nativamente (Laureano e Maziero, 2008).

Esta estratégia é composta por sete passos (Laureano, 2006): agrupamento

de bits, desmontagem (disassembling), geração de código intermediário,

decompilação, compilação, montagem (assembling) e armazenagem dos bits.

2.6 Processadores com virtualização nativa

A arquitetura x86 possui quatro níveis de privilégio, ou modos de operação,

chamados anéis (rings) que são numerados de 0 a 3, sendo o nível 0 o de maior

privilégio na execução de intruções (Mattos, 2008).

Os sistemas operacionais convencionais, como Microsoft Windows e as

variações do UNIX, usam dois níveis do processador, o nível 0 usado pelo sistema

operacional e o nível 3 que possui o menor privilégio e é usado nos processos do

usuário, como é possível verificar na Figura 11. Quando um processo de usuário

tenta executar uma instrução privilegiada ocorre uma exceção que poderá ser

tratada, mas a arquitetura x86, em especial a família de processadores Intel Pentium

IV e seus predecessores (Laureano e Maziero, 2008), possui dezessete instruções

não privilegiadas que são sensíveis, ou seja, violam o teorema estabelecido por

Popek e Goldberg (1974) (Carissimi, 2008).

Page 36: Implementacao e desempenho da virtualizacao no dcomp ufs

34

Ainda assim é possível implementar máquinas virtuais para as arquiteturas

que não respeitam o teorema, mas existe um custo no desempenho. Neste caso a

virtualização é feita por meio das estratégias de para-virtualização e tradução

dinâmica.

Os fabricantes de processadores AMD e Intel desenvolveram extensões

para a arquitetura x86 para suportarem a virtualização, elas são denominadas AMD-

V (AMD-Virtualization) e Intel VT (Intel Virtualization Technology). Mesmo sendo

similares elas são incompatíveis entre si.

Figura 11. Uso dos níveis de privilégio da arquitetura x86 (Maziero, 2008)

De acordo com Carissimi (2008), a AMD implementa este suporte por meio

de funções especiais no processador que são executadas por um hipervisor e

controlam, através do hipervisor, se os acessos do sistema hóspede são permitidos.

Ainda segundo este autor a Intel possui mecanismos similares. Estes

mecanismos completam a ideia do conceito de anéis de proteção adicionando dois

modos, o root e o não-root. O hipervisor, que executa em modo root, controla os dois

modos, podendo transferir a execução de um sistema operacional convidado para o

modo não-root, onde as instruções do anel 0 são executadas sem risco para o

sistema. Este comportamento pode ser verificado na Figura 12.

Com o suporte oferecido pelos processadores os hipervisores podem

combinar a virtualização completa ou a para-virtualização com técnicas de

aceleração de E/S. Ela tem o melhor desempenho de CPU, memória e E/S de todos

os tipos de virtualização na arquitetura x86 (Quevedo, 2008).

Page 37: Implementacao e desempenho da virtualizacao no dcomp ufs

35

Figura 12. Visão geral da arquitetura Intel VT (Maziero, 2008)

2.7 Usos da virtualização

Vistos os conceitos envolvidos na virtualização esta seção trata dos seus

usos, vantagens e desvantagens.

Segundo Quevedo (2008) a utilização de máquinas virtuais pode ajudar na

diminuição da complexidade dos ambientes de TI. Ela facilita os trabalhos da equipe

de suporte, aumenta a portabilidade dos ambientes, diminui os custos e aumenta a

segurança e disponibilidade dos recursos para os usuários.

Principais usos para máquinas virtuais (Laureano, 2006; Laureano e

Maziero, 2008; Quevedo, 2008; Seo, 2009): consolidação de servidores, laboratórios

de ensino, execução de software legado, debug e monitoração de aplicações,

sandboxing1, honeypots2 e honeynets3, facilitar a migração de aplicações e

1 “A técnica de sandboxing consiste na criação de um ambiente de execução totalmente isolado de

forma a garantir que o mau-funcionamento de um sistema não interfira nos demais.” Quevedo (2008) 2 Sistema preparado para ser atacado e invadido. (Laureano e Maziero, 2008)

Page 38: Implementacao e desempenho da virtualizacao no dcomp ufs

36

servidores, permitir a simulação de um hardware específico, desenvolvimento de

sistemas e planos de contingência e continuidade de negócios.

A consolidação de servidores, que consiste em consolidar a carga de

diversos servidores em poucos ou apenas um servidor, é um dos principais atrativos

da virtualização, pois reduz custos com o gerenciamento de servidores, a utilização

de espaço físico, o consumo de energia elétrica, entre outros, auxiliando assim na

redução do Custo Total de Propriedade4 (TCO) (Quevedo, 2008).

O princípio da consolidação de servidores é a utilização de um servidor de

maior capacidade em substituição a vários servidores de menor capacidade. Pela

diminuição da quantidade de servidores ela cria um ponto único de falha (SPOF), o

que aumenta os riscos da indisponibilidade de vários serviços ao mesmo tempo.

As máquinas virtuais, quando utilizadas no ensino, facilitam a aplicação de

aulas práticas e laboratórios multidisciplinares e reduz o custo de manutenção. Já

que é possível criar máquinas virtuais com sistemas operacionais e aplicações

específicas a depender do tipo da aula, neste caso elas poderiam ficar disponíveis

em um servidor e serem executadas somente quando forem necessárias.

Aplicações ou sistemas operacionais legados podem ser executados a partir

da simulação de um hardware compatível com a mesma, sem necessidade de um

hardware dedicado a estas funções.

Ela auxilia na criação de ambientes múltiplos de execução, ajudando a

aumentar a Quality of Service (QoS) e a disponibilidade dos recursos. Também é

possível executar mais aplicações em um mesmo hardware já que uma máquina

virtual não interfere em outras.

Permite que aplicações sejam distribuídas com todo um ambiente de

execução já configurado. É possível também testar o comportamento de aplicações

em diversos sistemas operacionais utilizando somente o computador do

desenvolvedor.

Ela é útil na aplicação da técnica de sandboxing pela possibilidade do

isolamento para execução de aplicações não confiáveis. Elas também auxiliam na

3 Coleção de honeypots com diferentes sistemas operacionais, configurações e serviços de rede.

(Laureano e Maziero, 2008) 4 “É o custo de manter a tecnologia.” Ribas (2008)

Page 39: Implementacao e desempenho da virtualizacao no dcomp ufs

37

criação de honeypots e honeynets já que é possível criar várias máquinas isoladas

com diferentes configurações para que sejam atacadas (Laureano e Maziero, 2008).

Facilita a criação e aplicação de planos de contingência já que um servidor

com problemas pode ser restaurado rapidamente, sem envolver nenhuma

reinstalação física de equipamentos ou de sistema operacional.

2.7.1 Vantagens

A partir destes usos podem ser citadas as seguintes vantagens no uso da

virtualização (Laureano, 2006; Quevedo, 2008; Ribas, 2008; Nascimento, 2009):

a) Instalação de diversos sistemas operacionais, de diferentes plataformas,

usando somente um computador;

b) Portabilidade de aplicações, principalmente aplicações legadas;

c) Facilidade no gerenciamento de servidores, pela diminuição da

quantidade necessária;

d) Facilidade na criação de ambientes operacionais em plataformas

diferentes para demonstração de sistemas, testes de novos aplicativos, testes de

sistemas operacionais, aplicação de atualizações, etc.;

e) Diminuição de custos com equipamentos, com espaço físico e com

energia elétrica através da consolidação de servidores, auxiliando a conformidade

de práticas de TI Verde;

f) Melhor utilização dos recursos disponíveis;

g) Agilidade na criação de backups;

h) Simplificação do ambiente de desenvolvimento e testes de novos

aplicativos;

i) Isolamento de falhas de software, provendo maior segurança;

j) Conter ataques usando o isolamento;

Page 40: Implementacao e desempenho da virtualizacao no dcomp ufs

38

k) Simular diferentes situações do mundo real, sem a necessidade de

compra de equipamentos específicos;

l) Simular alterações e falhas de hardware;

m) Prover serviços dedicados a clientes com segurança e confiabilidade.

2.7.2 Desvantagens

Podem ser citadas as seguintes desvantagens no uso da virtualização

(Laureano, 2006; Quevedo, 2008; Ribas, 2008; Nascimento, 2009):

a) Desempenho limitado, se comparado ao ambiente real, e consumo de

recursos pela camada de virtualização;

b) Necessidade de alterações no sistema hóspede para melhorar o

desempenho;

c) A criação de um ponto único de falha (SPOF), o que aumenta a criticidade

do ambiente, pois um servidor hospedeiro indisponível pode significar a

indisponibilidade de diversas aplicações;

d) Necessidade de hardware específico para obtenção de um melhor

desempenho, como é o caso dos processadores;

e) Compatibilidade de hardware para algumas soluções, como dispositivos

USB, interfaces de rede e armazenamento;

f) Para garantir uma maior segurança do ambiente os sistemas hospedeiros

não devem ser esquecidos, eles também devem estar seguindo todas as políticas de

segurança estabelecidas pela organização.

Este capítulo apresentou os principais conceitos envolvidos na virtualização

e fez um resumo de seus principais usos, vantagens e desvantagens. O próximo

capítulo irá mostrar as principais ferramentas de virtualização disponíveis no

mercado.

Page 41: Implementacao e desempenho da virtualizacao no dcomp ufs

39

3 FERRAMENTAS PARA MÁQUINAS VIRTUAIS

Depois de discorrer sobre os diversos conceitos que envolvem a

virtualização, este capítulo mostra as características das principais ferramentas de

virtualização utilizadas para consolidação de servidores e apresenta uma breve

comparação das mesmas.

Ele está dividido entre os principais fornecedores (Nascimento, 2009) de

soluções para virtualização de servidores: VMware, Citrix e Microsoft. Segue um

pequeno histórico destes:

A VMware fundada em 1998, disponibilizou seu software de virtualização em 1999, desde então, mantém a liderança do mercado e atualmente esta bem a frente dos seus principais concorrentes diretos, Microsoft e Citrix (Xen). A Microsoft disponibilizou seu software de virtualização em 2006 após adquirir a Connectix, uma pequena e promissora empresa especializada em produtos para virtualização. Desde então, tem investido

nessa tecnologia para se tornar a líder de mercado e atualmente ocupa o segundo lugar. A Xen disponibilizou seu software de virtualização em 2003, em 2007 foi adquirida pela Citrix, líder de mercado na virtualização de aplicações, assim o software da Xen ganhou mais destaque no mercado. Porém, sua participação é pequena e a empresa ocupa a terceira posição na liderança do mercado (Nascimento, 2009).

3.1 VMware

De acordo com Quevedo (2008), o VMware foi a primeira solução de

virtualização para a arquitetura x86, fornecendo uma implementação completa ao

sistema convidado. A VMware Inc. é a empresa que desenvolve o software e possui

uma linha completa de produtos voltados a virtualização, alguns sem custo de

licenciamento, que vão desde desktops a datacenters (Mattos, 2008).

Ele provê uma interface x86 extremamente genérica para o sistema

convidado, o que faz seu hipervisor mais complexo já que ele deve emular certas

instruções para representar corretamente um processador virtual em cada máquina

virtual. Esta emulação ocorre através da tradução dinâmica. Ele também fornece um

driver, o VMdriver, para permitir que as máquinas virtuais acessem drivers do

sistema hóspede diretamente e assim diminuir a perda do desempenho (Carissimi,

2008).

Page 42: Implementacao e desempenho da virtualizacao no dcomp ufs

40

São disponibilizados produtos em três categorias: gerenciamento e

automação, infraestrutura virtual e plataformas de virtualização. Os produtos de

gerenciamento e automação permitem a gerência de todos os recursos da

infraestrutura virtual de forma automatizada e centralizada, possibilitando a

monitoração dos sistemas, conversão de máquinas físicas em máquinas virtuais,

recuperação de desastres e outros (Carissimi, 2008).

Os de infraestrutura virtual auxiliam na monitoração e alocação de recursos

entre máquinas virtuais para o fornecimento de requisitos e regras de negócio. E os

produtos de virtualização são os destinados a criar máquinas virtuais, que são tanto

hipervisores nativos quanto convidados (Carissimi, 2008; Laureano e Maziero,

2008).

O principal produto oferecido pela VMware é o VMware vSphere. Ele é

capaz de oferecer um datacenter virtual para ambientes de todos os tamanhos

atendendo várias necessidades de flexibilidade, velocidade, resistência e eficiência,

transformando os dados em uma “nuvem”, um sistema elástico, autogerido e

autorecuperável, podendo ser associado a outras “nuvens” de computação externas.

Ele garante níveis adequados de disponibilidade, escalabilidade e segurança para

todos os aplicativos, sem depender do hardware e da localização. Também fornece

um gerenciamento de energia, desligando servidores fora de uso, ajudando a criar

um datacenter verde (Nascimento, 2009).

O VMware vSphere, como ilustrado na Figura 13, oferece: o Application

Services, que garantem os níveis adequados de disponibilidade, escalabilidade e

segurança; e o Infrastructure Services, que resume, agrega e aloca servidores,

armazenamento e rede para o máximo de eficiência da infraestrutura. Ele também

se integra ao VMware vCenter Suite, que permite gerenciar o datacenter virtual e as

aplicações que executam nele, além de poder ser integrado a outras “nuvens”

externas (Vmware, 2010a).

A seguir são listados os hipervisores da VMware:

a) VMware ESX Server: é um hipervisor nativo para ser utilizado em

datacenters virtuais. Ele possui um kernel proprietário chamado VMkernel e utiliza o

Red Hat Linux para fornecimento de outros serviços através do console de serviços,

como gerência de usuários.

Page 43: Implementacao e desempenho da virtualizacao no dcomp ufs

41

Figura 13. Datacenter virtual (Vmware, 2010a)

b) VMware ESXi Server: possui as mesmas características do VMware ESX

Server mas não possui o console de serviços, fazendo que os agentes do VMware

executem diretamente no VMkernel. A diferença entre o ESX e o ESXi pode ser

visualizada na Figura 14.

c) VMware Server: versão gratuita do ESX Server para permitir que os

usuários testem o produto antes de adquirir. Não está disponível para esta versão a

ferramenta de configuração, sendo necessária a utilização de ambientes já pré-

definidos. Ele é um hipervisor convidado.

d) VMware Workstation: hipervisor convidado para ser utilizado em

ambientes desktop, foi a primeira versão comercializada.

e) VMware Fusion: versão do VMware Workstation para o sistema

operacional Mac OS com processadores Intel.

Page 44: Implementacao e desempenho da virtualizacao no dcomp ufs

42

f) VMware Player: versão gratuita do VMware Workstation, limitado a

executar as máquinas criadas com versões comerciais do produto.

Figura 14. Arquitetura das versões ESX e ESXi (Vmware, 2010b)

3.2 Citrix

A Citrix disponibiliza o Xen, que é um hipervisor de código aberto para a

arquitetura x86 que utiliza a técnica de para-virtualização. Uma de suas vantagens é

o melhor desempenho do que os produtos de virtualização total e seus principais

Page 45: Implementacao e desempenho da virtualizacao no dcomp ufs

43

usos são para a consolidação de servidores, o suporte de aplicações legadas e

computação em cluster (Mattos, 2008; Quevedo, 2008).

O Xen requer, devido à para-virtualização, que o sistema hóspede seja

alterado. Em sistemas operacionais de código aberto, como o Linux, isto é possível,

mas em sistemas proprietários, como o Windows, não é possível executar sobre o

ambiente Xen (Quevedo, 2008).

O Xen também pode ser implementado utilizando a virtualização total,

requerendo um hardware compatível como o Intel VT ou AMD-V, o que possibilita a

utilização de sistemas como o Windows, já que não são necessárias modificações,

mas com um desempenho menor que o da para-virtualização (Laureano e Maziero,

2008; Quevedo, 2008).

A tecnologia de virtualização fornecida pela Xen, através da para-

virtualização, fornece abstrações, como processador, memória e rede virtual, onde

os sistemas podem ser portados. Estas abstrações não precisam ser similares ao

hardware da máquina real (Mattos, 2008).

Os principais conceitos do Xen são o de domínio e o de hipervisor. Os

domínios são as máquinas virtuais e podem ser de dois tipos, privilegiadas (domínio

0) e não privilegiadas (domínio U). O hipervisor controla os recursos de

comunicação, memória e processamento das máquinas virtuais, mas não possui os

drivers necessários para manipular os dispositivos (Carissimi, 2008; Mattos, 2008).

Isto faz com que o Xen não suporte interação com os sistemas hospedes,

sendo necessária a utilização de um sistema inicial, uma máquina virtual do domínio

0, invocado pelo hipervisor. Esta máquina de domínio 0 acessa uma interface de

controle e executa as aplicações de gerenciamento, sendo que as máquinas de

domínio U só podem ser criadas, iniciadas e desligadas através do domínio 0

(Carissimi, 2008; Mattos, 2008).

Esta máquina de domínio 0 é executada em Linux com um núcleo

modificado e este possui privilégios para acessar os recursos da máquina física e se

comunicar com as máquinas virtuais de domínio U. Para isto ela possui os drivers do

hardware da máquina física e dois drivers para tratar requisições de acesso à rede e

ao disco feitas pelas máquinas de domínio U. As máquinas de domínio U não

possuem acesso ao hardware, sendo este feito utilizando-se a máquina de domínio

0 através da abstração fornecida pelo hipervisor (Carissimi, 2008; Mattos, 2008). A

Figura 15 ilustra o funcionamento do Xen.

Page 46: Implementacao e desempenho da virtualizacao no dcomp ufs

44

Figura 15. Hipervisor Xen (Laureano e Maziero, 2008)

A partir da versão 3, onde foi introduzido o suporte a virtualização completa,

o Xen distingue domínios U para-virtualizados, os domínios U-PV, dos domínios U

virtualizados, domínios U-HVM (Hosted Virtual Machines). Os domínios U-PV sabem

que não possuem acesso direto ao hardware e reconhecem a existência de outras

máquinas virtuais, já os domínios U-HVM não sabem que não possuem acesso

direto e nem reconhecem outras máquinas. Para este último caso o Xen fornece um

emulador QEMU vinculado a cada domínio U-HVM, sendo o hardware fornecido

para estes através dele (Carissimi, 2008).

O Xen também suporta as funções de Migration e Live Migration, onde é

possível migrar um domínio de forma controlada ocorrendo interrupção da máquina

virtual, no caso da Migration, e sem a necessidade de interrupções, no caso da Live

Migration. Várias distribuições do Linux suportam o Xen de forma nativa e algumas

ainda fornecem ferramentas gráficas para a criação e manutenção de máquinas

virtuais neste hipervisor (Quevedo, 2008).

3.3 Microsoft

A Microsoft possui vários produtos voltados a virtualização de soluções de

negócios, como é possível visualizar na Figura 16.

Page 47: Implementacao e desempenho da virtualizacao no dcomp ufs

45

Figura 16. Produtos e Tecnologias de Virtualização Microsoft (Microsoft, 2010a)

Estes produtos têm como objetivo gerar maior eficiência, flexibilidade e

melhor relação custo-benefício para toda a organização, como (Microsoft, 2010b; c):

provisionamento e consolidação de servidores; implantação de aplicações;

gerenciamento centralizado e baseado em diretivas; continuidade dos negócios/

recuperação de desastres; menor TCO, maior ROI; computação dinâmica; teste e

desenvolvimento; segurança; e hospedagem.

Com estes produtos a Microsoft fornece um conjunto completo de

tecnologias, permitindo a integração da infraestrutura virtualizada, utilizando

interfaces familiares e consoles de gestão compartilhada, que simplificam a gestão

da infraestrutura.

Os principais produtos de virtualização da Microsoft são:

a) Virtualização de Servidores com o Windows Server 2008 R2 Hyper-V:

hipervisor que funciona diretamente sobre o hardware, abaixo do sistema

operacional. Algumas de suas características são: o suporte a arquiteturas x86 e

x64, ambiente multiprocessador, switch virtual integrado, migração rápida de

máquinas virtuais com o mínimo de downtime. Ele requer processador compatível

Page 48: Implementacao e desempenho da virtualizacao no dcomp ufs

46

com Intel VT ou AMD-V. Sua arquitetura, que apresenta semelhanças com a

arquitetura do Xen, pode ser visualizada na Figura 17.

Figura 17. Arquitetura do Hyper-V (Microsoft, 2010d)

b) Gerenciamento de Virtualização com o System Center Virtual Machine

Manager: gerencia a configuração dos servidores hospedeiros e das máquinas

virtuais, criação de máquinas virtuais, acompanhamento, alterações, recuperação

rápida, auto provisionamento e automatização.

c) Virtualização de Aplicações com o Microsoft Application Virtualization

(App-V): transforma aplicações em serviços virtuais gerenciados que não precisam

ser instalados e não entram em conflito com outras aplicações e é capaz de

transmitir estas aplicações para outros computadores por demanda.

Page 49: Implementacao e desempenho da virtualizacao no dcomp ufs

47

d) Virtualização da Estação de Trabalho com o Virtual PC: cria um ambiente

de sistema operacional separado na estação de trabalho, permitindo a execução de

aplicações legadas em um sistema operacional não suportado ou ainda que dois

ambientes distintos sejam executados no mesmo computador.

e) Virtualização de Apresentação com os Serviços de Terminal: permite que

aplicações que executam no servidor sejam acessadas a partir de uma página da

internet e/ou diretamente em uma estação de trabalho local. Ela permite manter a

propriedade intelectual protegida através da remoção de aplicações e dados da

estação de trabalho dos usuários.

f) Virtualização do Armazenamento com System Center Data Protection

Manager: protege máquinas virtuais sem tempo de inatividade, ele fornece backup

rápido e retenção eficiente que não consome um espaço excessivo em disco.

Outros produtos como o System Center Operations Manager e o System

Center Configuration Manager também podem trazer benefícios a virtualização

facilitando o gerenciamento e a monitoração dos sistemas hospedeiros e as

máquinas virtuais hospedadas neles.

Vale ressaltar que, assim como o Xen, o Hyper-V necessita que drivers

sejam instalados nos sistemas convidados para garantir um melhor desempenho,

caso estes não sejam instalados as máquinas virtuais podem ter um desempenho

inferior.

3.4 Comparação entre as ferramentas

Entre as três ferramentas a VMware é a que tem a maior participação de

mercado (Nascimento, 2009). Seguem alguns dados obtidos no trabalho de

Nascimento (2009) em fevereiro de 2009:

a) As vendas de licenças de virtualização, no mundo todo, cresceram 53%

no segundo trimestre de 2008 em relação ao mesmo período de 2007.

Page 50: Implementacao e desempenho da virtualizacao no dcomp ufs

48

b) No segundo trimestre de 2008, a VMware foi líder em receitas no mercado

de virtualização com 78% de participação, a Virtuozzo, da Parallels, ficou em

segundo lugar com 16% e a Microsoft apenas 1,1% da renda total.

c) A VMware mantém sua liderança no mercado de virtualização x86, mas a

Microsoft está ganhando mercado com o Hyper-V.

d) No ranking dos vendedores de servidores com funções de virtualização

temos a HP com 34% do mercado, seguida pela Dell com 25% e IBM com 16%.

e) A VMware possui 44% de participação no mercado por licenciamento

(somando ESX e Server) contra 23% da Microsoft (somando Hyper-V e Virtual

Server). Porém, não está claro o quanto desse mercado é representado por

equipamentos em produção, teste, desenvolvimento.

f) O preço do Hyper-V da Microsoft é de 28 dólares por servidor e as versões

de alta qualidade do Hyper-V também são gratuitas para os usuários do Windows

Server 2008. Uma licença padrão para o VMware ESX Server custa 3 mil dólares.

Mesmo assim, a VMware possui uma participação no mercado bem maior que a

Microsoft. Tanto em faturamento quanto por licenciamento.

Nos sites das três empresas foi possível encontrar comparações sobre qual

produto é melhor, todas as empresas tentam mostrar porque o seu produto é o

melhor, mas isto depende muito do cenário de cada organização. As comparações

encontradas foram várias, dentre elas é possível citar as seguintes: VMware

ESXi/ESX, Windows Server 2008 com Hyper-V e Citrix XenServer no site da

VMware (Vmware, 2010c), XenServer versus a competição (VMware ESXi) no site

da Citrix (Citrix, 2010) e a comparação de custos de operação e manutenção entre o

Microsoft Hyper-V e VMware ESX & vSphere no site da Microsoft (Microsoft,

2010e). O Anexo A e o Anexo B mostram as duas primeiras comparações de

características.

Não foram encontradas durante esta pesquisa de TCC comparações entre

as ferramentas da Microsoft e da Citrix nos sites das mesmas.

No Anexo C é possível verificar a comparação entre várias máquinas virtuais

e emuladores, onde é possível verificar as técnicas utilizadas e os seus principais

usos.

Page 51: Implementacao e desempenho da virtualizacao no dcomp ufs

49

Após análise das comparações encontradas foi possível verificar que a

VMware possui um conjunto de produtos que são superiores ao fornecidos pela

Citrix e pela Microsoft, mas que também possui um custo mais alto de licenciamento

e manutenção. É bom notar também que, entre os três fabricantes, o produto da

Microsoft é o que é compatível com o menor número de distribuições do sistema

operacional Linux.

Como a escolha da ferramenta envolve várias questões, o mais

recomendável é que seja analisado primeiramente o cenário da implementação, para

decidir quais servidores serão virtualizados, os serviços que serão implantados e o

tipo de gerenciamento que a organização vai necessitar.

Este capítulo apresentou as características das principais ferramentas de

virtualização disponíveis no mercado. O próximo capítulo discorre sobre o estudo de

caso feito neste trabalho, relacionado com os serviços de informática usados e

oferecidos pelo DCOMP/UFS.

Page 52: Implementacao e desempenho da virtualizacao no dcomp ufs

50

4 ESTUDO DE CASO

Este capítulo vai tratar do estudo de caso feito no Departamento de

Computação da Universidade Federal de Sergipe (DCOMP/UFS). Ao final, são

apresentados os resultados obtidos.

4.1 Sobre o DCOMP

O Departamento de Computação (DCOMP) é originário do Departamento de

Estatística e Informática, o qual, na criação do Curso de Bacharelado em Ciência da

Computação, contava com apenas cinco professores mestres e um graduado na

área de Computação. Em 2006, os professores de Estatística desvincularam-se

formando um núcleo próprio. O Departamento de Computação foi então instituído e

conta hoje com vinte e um professores.

Ele oferece atualmente três cursos de graduação e um de pós-graduação

além de oferecer disciplinas para diversos outros cursos da universidade.

Os cursos oferecidos pelo DCOMP são Ciência da Computação, com

entrada de cinquenta alunos por semestre, Sistemas da Informação, que foi iniciado

em 2007 e conta com uma entrada de cinquenta alunos por ano, Engenharia da

Computação, iniciado em 2009 e conta com uma entrada de cinquenta alunos por

ano, e o Mestrado em Ciência da Computação, que foi iniciado no segundo

semestre de 2010 com uma entrada de quinze alunos por ano.

O DCOMP conta com cinco laboratórios de ensino (Laboratório de Ensino

Geral, Laboratório de Ensino Avançado, Laboratório de Ensino Básico, Laboratório

de Ensino de Redes e Laboratório de Ensino de Hardware) e três laboratórios de

pesquisa (Laboratório de Projetos, INES e LABSOFT) equipados com

computadores. Destes o DCOMP não é responsável pela administração do

laboratório do INES, que conta com a infraestrutura fornecida diretamente pela

universidade.

Page 53: Implementacao e desempenho da virtualizacao no dcomp ufs

51

Também estão disponíveis computadores nas salas dos professores e na

secretaria do departamento. Estes computadores também são utilizados para

funções administrativas.

O próprio departamento é responsável pela administração de toda a

estrutura de TI interna ao mesmo. Atualmente ele não conta com nenhum

funcionário responsável pela área e não há previsão sobre quando haverá a

contratação deste funcionário.

Durante o ano de 2010 ocorreu uma renovação dos computadores utilizados

nos laboratórios, secretaria e salas dos professores.

Devido ao DCOMP estar situado em uma instituição pública de ensino ele

está sujeito a toda a burocracia e falta de recursos comuns a este tipo de

departamento, o que dificulta a aquisição de novos servidores e outros

equipamentos.

Recentemente ocorreu a utilização da virtualização nos laboratórios do

DCOMP em dois casos. O primeiro foi durante a 1ª Semana de Computação, onde

foi criada uma máquina virtual com softwares necessários para utilização durante as

aulas dos minicursos oferecidos. E o segundo caso foi durante a etapa regional da

Maratona de Programação onde foi disponibilizado aos participantes um ambiente

em máquina virtual próprio para a competição.

Em breve vai ser construído um novo prédio que irá abrigar novos

laboratórios para o departamento e irão utilizar a infraestrutura de servidores que

está sendo atualizada neste trabalho.

Após uma análise da situação atual, que será apresentada na próxima

seção, ficou decidido que este trabalho iria abordar somente a consolidação de

servidores, já que as maiores deficiências foram encontradas nesta área. Outros

tipos de virtualização que podem beneficiar o DCOMP são a virtualização de

aplicações e a virtualização de apresentação, que permitiriam uma implantação de

novos aplicativos mais rapidamente e a utilização de aplicativos temporários.

Page 54: Implementacao e desempenho da virtualizacao no dcomp ufs

52

4.2 Situação anterior

O DCOMP contava com seis servidores que forneciam os serviços de

arquivos, DNS5, DHCP6, diretório7, NAT8, Web e gerenciamento de configuração. A

maioria dos servidores contava com alguma versão do Windows Server e dois deles

executavam uma distribuição do Linux. É possível visualizar este cenário na Figura

18.

Os hardwares de alguns destes servidores estavam apresentando defeito e

nenhum deles se encontrava mais no período de garantia, já que a maioria deles foi

adquirido, pelo menos, há quatro anos.

O servidor ITAIPU fornece o serviço de NAT e o SOBRADINHO os serviços

de servidor Web e DNS para clientes externos, os dois possuem acesso à internet

através de endereços de internet válidos. Estes dois servidores vinham

apresentando diversos problemas, com travamentos constantes e indisponibilidade

de alguns serviços. Era comum a falta de acesso à internet durante várias horas por

semana, pois o servidor NAT parava de funcionar, sendo necessária a reinicialização

do mesmo. Recentemente devido a travamentos no servidor SOBRADINHO os

serviços de DNS e Web paravam de funcionar, prejudicando o recebimento de e-

mails com o domínio do DCOMP e o acesso à página de internet do mesmo.

O servidor DCFURNAS provia o serviço de diretório Active Directory, o

DOCMACHADINHO o serviço de arquivos, o INFRALAJEADO os serviços de DHCP

e DNS para os clientes da rede interna e o MANAGER os serviços de gerenciamento

de atualizações, antivírus, softwares e sistemas operacionais. Os serviços de cada

servidor podem ser verificados na Tabela 1.

5 Resolve nomes de domínios em endereços de rede.

6 Oferece configuração dinâmica de terminais através da concessão de endereços IP de host e outros

parâmetros de configuração para clientes de rede. 7 É um serviço que armazena e organiza informações sobre os recursos e os utilizadores de uma

rede de computadores, e que permite os administradores de rede gerenciar o acesso de utilizador e sistemas a esses recursos. 8 É uma técnica que consiste em reescrever os endereços IP de origem de um pacote que passam

por um router ou firewall de maneira que um computador de uma rede interna tenha acesso a uma rede externa.

Page 55: Implementacao e desempenho da virtualizacao no dcomp ufs

53

Figura 18. Cenário inicial dos servidores do DCOMP (Elaboração própria)

Tabela 1. Serviços em cada servidor

Servidor Serviços

SOBRADINHO Web

DNS externo DCFURNAS Domínio Active Directory

Servidor de Arquivos DOCMACHADINHO Servidor de Arquivos

INFRALAJEADO DHCP

DNS interno

ITAIPU NAT MANAGER Gerenciamento de configuração

Gerenciamento de atualizações

Gerenciamento do antivírus

Gerenciamento de ativação do Windows

Fonte: Elaboração própria

Destes servidores o único que foi adquirido mais recentemente e possui

suporte a arquitetura de 64 bits é o MANAGER, ele também é o que possui o melhor

desempenho entre estes seis servidores já que possui uma configuração mais atual.

A média de utilização da CPU dos computadores com o Windows Server foi

analisada durante um período de tempo, antes de propor a solução, e ficou

Page 56: Implementacao e desempenho da virtualizacao no dcomp ufs

54

verificado que nos servidores DOCMACHADINHO, DCFURNAS e INFRALAJEADO

esta média não chega a 5% durante os horários de funcionamento do departamento.

Já o servidor MANAGER tem uma média de utilização de CPU de 50% com picos de

mais de 80% durante um dia normal.

Nos servidores que executavam o Linux não foi feita uma análise da

utilização de CPU, mas uma alta utilização da CPU pode ser o motivo dos

constantes travamentos. Alguns usuários chegaram a reportar que o servidor

SOBRADINHO ficava muito lento em alguns horários, isto também pode significar

uma utilização elevada da CPU e da memória.

Não era utilizada nenhuma solução para backup dos sistemas, sendo que os

servidores INFRALAJEADO, DOCMACHADINHO, DCFURNAS E SOBRADINHO

tinham armazenamentos espelhados, pelo menos para suas partições principais, o

que garantia a disponibilidade dos arquivos mesmo na falha de um dos discos. A

configuração de cada servidor pode ser verificada na Tabela 2.

Tabela 2. Configuração dos servidores

Servidor Configuração

DCFURNAS

INFRALAJEADO

SOBRADINHO

Processador com um núcleo; 1GB de memória; Dois

discos rígidos de 80GB em RAID 1, para espelhamento

dos dados; Duas placas de rede Fast Ethernet.

DOCMACHADINHO Processador com um núcleo; 1GB de memória; Quatro

discos rígidos de 80GB, sendo dois em RAID 1, para

espelhamento dos dados; Uma placa de rede Fast

Ethernet.

ITAIPU Processador com um núcleo; 512MB de memória; Um

disco rígido de 40GB; Duas placas de rede Fast Ethernet.

MANAGER Processador de dois núcleos; 2GB de memória; Um disco

rígido de 160GB; Uma placa de rede Fast Ethernet.

Fonte: Elaboração própria

Não existia nenhuma solução de gerenciamento destes servidores

implantada, o que ocasionava a necessidade da presença de alguém para

solucionar diversos problemas, além de impossibilitar o acompanhamento do status

dos computadores de uma maneira mais fácil.

Page 57: Implementacao e desempenho da virtualizacao no dcomp ufs

55

Os serviços essenciais para o DCOMP, que são o acesso à internet

(fornecido pelo NAT), o DNS e o diretório, não possuíam nenhuma redundância e

quando acontecia falha em um dos computadores o serviço fornecido por ele ficava

indisponível ao departamento.

4.3 Solução proposta

Tendo analisado a situação dos servidores foi decidido que a virtualização

no DCOMP deveria proporcionar:

Consolidação dos servidores, para aumentar a carga de utilização;

Diminuir o espaço necessário para armazenamento, devido às

limitações de espaço físico;

Gerenciamento centralizado, para facilitar a administração;

Aumentar a QoS, provendo um maior tempo de disponibilidade para

os serviços;

Diminuir o SPOF, que pode ser ampliado com a utilização da

virtualização;

Plano de contingência, a partir da utilização de backups diários dos

servidores;

Aumento da segurança da informação de uma maneira geral, com a

implantação destas medidas.

Primeiramente foram analisados os fornecedores de soluções de

virtualização, como visto no capítulo 3, e optou-se por utilizar as soluções da

Microsoft já que o departamento possui atualmente um acordo de licenciamento, que

diminui o custo com as licenças dos aplicativos a serem utilizados.

Após isto foi necessário obter hardware compatível com estes produtos.

Devido à limitação para aquisições do departamento foi necessária a utilização de

Page 58: Implementacao e desempenho da virtualizacao no dcomp ufs

56

alguns computadores que seriam destinados a laboratórios de ensino. Mas também

foi possível adquirir, por meio de um convênio do DCOMP com a FAPESE9, dois

computadores que foram utilizados nesta implementação.

4.3.1 Configuração dos servidores

Foi decidido que seriam utilizados ao final da implementação sete

computadores, todos ligados em nobreaks. Destes computadores o MANAGER foi o

único que continuou a existir como uma máquina real, devido a sua maior utilização

e a falta de um servidor com uma configuração mais adequada para receber este

sistema como uma máquina virtual. Outros dois computadores reais foram

adicionados para o gerenciamento de máquinas virtuais e backup dos servidores

virtuais, estes devido as suas funções não poderiam ocupar máquinas virtuais. Os

outros quatro são os servidores hospedeiros. A Figura 19 ilustra o cenário da

solução proposta.

Os computadores a serem utilizados como hospedeiros foram:

HYPERV-001 e HYPERV-002 com processador de quatro núcleos,

4GB de memória, uma placa de rede Gigabit Ethernet, três placas de

rede Fast Ethernet e 500GB de armazenamento em um só disco;

HYPERV-003, com processador de quatro núcleos, 2GB de memória,

três placas de rede com duas portas Gigabit Ethernet em cada, um

disco rígido de 250GB para sistema e dois discos de 160GB

espelhados para armazenamento dos discos virtuais;

HYPERV-004, com processador de quatro núcleos, 4GB de memória,

três placas de rede Fast Ethernet, um disco rígido de 160GB para

sistema e dois discos de 500GB espelhados para armazenamento

dos discos virtuais.

9 Fundação de Apoio à Pesquisa e Extensão de Sergipe.

Page 59: Implementacao e desempenho da virtualizacao no dcomp ufs

57

Figura 19. Cenário da solução proposta (Elaboração própria)

Os quatro computadores hospedeiros podem receber máquinas virtuais que

ocupem até 3GB de memória, no caso dos servidores HYPERV-001, HYPERV-002 e

HYPERV-004. O servidor HYPERV-003 só pode receber máquinas virtuais para

utilizar até 1GB de memória, devido ao mesmo possuir menos memória que os

outros. Isto deve-se a utilização de até 1GB de memória pelo Windows Server 2008

R2 que executa o Hyper-V.

Os servidores para gerenciamento (SCVMM) e backup (SCDPM) possuem a

seguinte configuração: o SCVMM conta com processador de dois núcleos, 4GB de

memória, uma placa de rede Gigabit Ethernet e 320GB de disco rígido; já o SCDPM

conta com processador de quatro núcleos, 4GB de memória, uma placa de rede Fast

Ethernet, um disco rígido de 1TB e três discos rígidos de 160GB.

A Microsoft recomenda que para cada servidor hospedeiro existam pelo

menos duas placas de rede, uma para ser utilizada pelo sistema do hospedeiro e

garantir o seu gerenciamento remoto, e a outra para ser utilizada pelas máquinas

virtuais. A Tabela 3 mostra a configuração do hardware de cada servidor físico.

Page 60: Implementacao e desempenho da virtualizacao no dcomp ufs

58

O motivo principal de a solução proposta utilizar o servidor HYPERV-003

com somente uma máquina virtual, não fazendo uma consolidação, se deve ao fato

desta execução proporcionar a capacidade de backup e restauração do servidor

virtual em caso de falhas, o que não seria possível se o servidor estivesse

executando diretamente sobre o servidor real. Outro motivo é que este servidor real

suporta até 24GB de memória, os outros que suportam até 8GB, possibilitando,

mediante a compra de mais memória, a sua utilização por diversas máquinas

virtuais.

Tabela 3. Configuração dos servidores reais nesta solução

Servidor Configuração

HYPERV-001

HYPERV-002

Processador de quatro núcleos; 4GB de memória; Um disco

rígido de 500GB; Uma placa de rede Gigabit Ethernet; Três

placas de rede Fast Ethernet.

HYPERV-003 Processador de quatro núcleos; 2GB de memória; Um disco

rígido de 250GB para sistema e dois discos de 160GB

espelhados para armazenamento dos discos virtuais; Três

placas de rede com duas portas Gigabit Ethernet.

HYPERV-004 Processador de quatro núcleos; 4GB de memória; Um disco

rígido de 160GB para sistema e dois discos de 500GB

espelhados para armazenamento dos discos virtuais; Três

placas de rede Fast Ethernet.

SCVMM Processador de dois núcleos; 4GB de memória; Um disco rígido

de 320GB; Uma placa de rede Gigabit Ethernet.

SCDPM Processador de quatro núcleos; 4GB de memória; Um disco

rígido de 1TB e três discos rígidos de 160GB, sendo um destes

de 160GB destinados ao sistema operacional; Uma placa de

rede Fast Ethernet.

MANAGER Processador de dois núcleos; 2GB de memória; Um disco rígido

de 160GB; Uma placa de rede Fast Ethernet.

Fonte: Elaboração própria

Page 61: Implementacao e desempenho da virtualizacao no dcomp ufs

59

4.3.2 Aplicações dos servidores

Foi decidida pela utilização do Windows Server 2008 R2 Enterprise nos

computadores hospedeiros com a opção Server Core de instalação, que provê uma

versão mínima do Windows Server, sem interface gráfica, com necessidade de

atualizações reduzidas e que oferece poucos recursos. Nestas instalações foram

usadas somente a função Hyper-V, além do software antivírus e os agentes de

backup e gerenciamento. Uma placa de rede é dedicada a este sistema e as outras

são configuradas para utilização pelo hipervisor.

Toda a administração das máquinas virtuais e dos computadores reais é

feita a partir do servidor SCVMM que contém uma instalação completa do Windows

Server 2008 R2 Enterprise com o System Center Virtual Machine Manager 2008 R2,

que monitora e gerencia as máquinas virtuais e os computadores hospedeiros, e o

System Center Operations Manager 2007 R2, que, neste caso, monitora e gerencia

o desempenho e tarefas de manutenção necessárias nos servidores.

O servidor SCDPM possui uma instalação do sistema operacional Windows

Server 2008 R2 Enterprise em um dos discos de 160GB e possui também o System

Center Data Protection Manager 2010, que é responsável pelo backup de todos os

servidores virtualizados. O SCDPM usa um disco de 1TB junto com os outros dois

discos de 160GB para armazenar o backup dos servidores virtuais. Este backup é

realizado diariamente às 23h, fica armazenado por um prazo de até cinco dias e é

executado com o uso de agentes nos servidores hospedeiros. Os agentes são

responsáveis por identificar os dados que podem ser protegidos e recuperados com

a utilização do SCDPM, eles também são responsáveis por monitorar as mudanças

que ocorrem nos arquivos protegidos e enviar estas mudanças do computador

protegido ao servidor do SCDPM.

Feito esta configuração dos servidores hospedeiros e gerenciadores foi

decidido que os servidores virtuais não sofreriam uma migração da máquina física

para uma virtual. Todas as instalações são novas e o processo de migração deveria

ser feito seguindo as instruções disponibilizadas pelos desenvolvedores dos

softwares.

Pela familiaridade do autor com a plataforma Windows, este decidiu não

utilizar um servidor NAT baseado em Linux fazendo a migração para um servidor

Page 62: Implementacao e desempenho da virtualizacao no dcomp ufs

60

baseado em Windows Server. Isto trouxe o benefício da monitoração nativa

oferecida pelo SCVMM.

Para minimizar a possibilidade de indisponibilidade da internet e dos

serviços de diretório foi decidido que duas máquinas virtuais iriam executar estes

serviços, sendo cada uma em um servidor hospedeiro diferente, para evitar o SPOF.

Com isto o NAT passou a contar com dois servidores virtuais, o NATITAIPU e o

NATTRESMARIAS, e o servidor de serviços de diretório com os servidores

DCFURNAS e DCANGRA.

Todos os servidores que executam Windows foram migrados para a versão

mais atual, o Windows Server 2008 R2, com a edição Enterprise, a mesma edição

que os servidores Windows já possuíam instalada.

De acordo com as práticas da Microsoft, o servidor de domínio passou a

oferecer além do serviço de diretório o serviço de DNS, o que também resultou em

uma maior disponibilidade deste último serviço já que o servidor de domínio passou

a contar com um segundo servidor virtual.

O servidor INFRALAJEADO, que fornecia o serviço de DHCP e DNS, passa

então a oferecer somente o serviço de DNS. E o servidor DOCMACHADINHO

continua oferecendo o serviço de arquivos. Estes dois servidores não dispõem de

replicação pelo uso de uma segunda máquina virtual. Na Tabela 4 são mostrados os

serviços oferecidos nos servidores que foram migrados e nos que foram criados.

Com exceção dos servidores NATITAIPU e NATRESMARIAS que estão

configurados com duas placas de rede todos os servidores virtuais estão

configurados com uma placa de rede, um processador lógico e 1GB de memória. O

espaço e a quantidade de discos virtuais variam a depender da aplicação, mas eles

executam o Windows Server com aproximadamente 40GB de espaço no disco

virtual. O DOCMACHADINHO possui outros discos virtuais que são utilizados no seu

compartilhamento oferecido na rede.

O servidor SOBRADINHO foi migrado para o WEBSOBRADINHO no

HYPERV-003 com dois processadores lógicos, 1GB de memória, uma placa de rede

e dois discos virtuais, um de 127GB e outro de 10GB. Este servidor passou a utilizar

o Ubuntu 10.04 como sistema operacional, que necessitou ser atualizado para o

kernel 2.6.35 para contar com os adicionais de convidado para HYPER-V, inclusos a

partir desta versão do kernel do Linux, e executar com um melhor desempenho.

Page 63: Implementacao e desempenho da virtualizacao no dcomp ufs

61

Tabela 4. Serviços em cada servidor migrado ou criado

Servidor Serviços

HYPERV-001

HYPERV-002

HYPERV-003

HYPERV-004

Hipervisor

WEBSOBRADINHO Web

DNS externo

DCANGRA e DCFURNAS Domínio Active Directory

DNS interno

DOCMACHADINHO Servidor de Arquivos

INFRALAJEADO DHCP

NATITAIPU

NATTRESMARIAS

NAT

SCVMM Gerenciamento de máquinas hospedeiras e virtuais

Gerenciamento de servidores

SCDPM Backup

Fonte: Elaboração própria

O servidor HYPERV-002 recebeu os servidores DCFURNAS,

INFRALAJEADO e NATTRESMARIAS, o HYPERV-003 recebeu somente o servidor

WEBSOBRADINHO e o servidor HYPERV-004 recebeu os servidores DCANGRA,

DOCMACHADINHO e NATITAIPU.

O servidor HYPERV-001 não recebeu nenhum servidor e está desligado,

mas pronto para receber qualquer servidor quando for necessário além de ficar

disponível para criação de imagens para os computadores e outras funções que

sejam definidas posteriormente.

Toda a documentação técnica a cerca desta implementação será fornecida

ao departamento de computação.

Page 64: Implementacao e desempenho da virtualizacao no dcomp ufs

62

4.4 Resultados

A migração dos servidores proporcionou ao DCOMP uma melhor utilização

do hardware disponível, já que mais servidores passaram a executar em um só

hardware. Neste caso a virtualização não conseguiu proporcionar uma redução do

espaço físico, já que mais serviços foram adicionados para garantir outros propósitos

estabelecidos para a virtualização, mas esta redução aconteceu devido à troca dos

monitores CRT, que eram utilizados anteriormente, por monitores de LCD que

ocupam menos espaço.

Os serviços de domínio, DNS interno, DHCP e arquivos foram migrados com

sucesso para os servidores virtuais executando o Windows Server 2008 R2

seguindo as instruções disponibilizadas pela Microsoft em (Microsoft, 2010f). Esta

migração ocorreu fora dos horários de funcionamento do DCOMP e o único

problema enfrentado foi uma indisponibilidade do serviço de DHCP por um tempo,

até que a falha fosse identificada e solucionada.

O serviço de DNS externo já foi migrado, mas o serviço de páginas da

internet ainda está em processo de migração do SOBRADINHO para o

WEBSOBRADINHO, enquanto a mesma não está concluída os dois servidores

estão funcionando ao mesmo tempo em endereços IP externos diferentes.

O gerenciamento centralizado foi obtido por meio da adoção do SCVMM que

fica responsável por gerenciar todos os servidores do departamento. O plano de

contingência passou a existir graças à adoção do SCDPM que ficou responsável por

fazer o backup diário de todos os servidores.

O servidor SCDPM está no limite do espaço de armazenamento para

backups, isto significa que não poderão ser adicionados futuramente novos

servidores ao backup sem investir em uma maior capacidade de armazenamento.

Mesmo INFRALAJEADO e DOCMACHADINHO não oferecendo nenhum

tipo de replicação dos dados de suas máquinas virtuais diretamente eles possuem

backups diários, e em caso de necessidade basta restaurar o backup para um

servidor executando o HYPER-V. No caso dos servidores DCANGRA, NATITAIPU,

DOCMACHADINHO e WEBSOBRADINHO os dados são armazenados em discos

rígidos espelhados, adicionando outra camada de proteção além do backup.

Page 65: Implementacao e desempenho da virtualizacao no dcomp ufs

63

A disponibilidade do serviço aumentou graças à redundância obtida através

da utilização de dois servidores para o serviço de NAT e dois servidores para o

serviço de domínio. Estes haviam sido identificados como servidores essenciais para

o DCOMP. Como cada um destes serviços possui servidores em hardware diferente

o SPOF é eliminado.

A atualização do sistema operacional dos servidores está possibilitando a

utilização de novas funcionalidades, como o filtro de computadores que recebem um

endereço do DHCP ou a proteção contra remoção acidental de unidades

organizacionais do domínio, que não estavam disponíveis nas versões anteriores.

Permitindo que sejam implementadas novas medidas para aumentar a segurança da

infraestrutura do DCOMP.

4.4.1 Desempenho

Através do SCOM que está funcionando no servidor SCVMM foi possível

verificar a utilização dos servidores após a adoção da virtualização. Os dados

apresentados aqui foram capturados durante um período de sete dias,

compreendidos entre 09/11/2010 e 16/11/2010, e mostra a média de utilização dos

servidores.

Os dados capturados sobre a utilização do processador estão disponíveis

nas Figuras 20, 21, 22, 23 e 24. A Figura 20 mostra a utilização da CPU no servidor

HYPERV-002 e nos servidores virtuais executando nele, a Figura 21 a utilização de

CPU no servidor HYPERV-003 e a Figura 22 a utilização de CPU no servidor

HYPERV-004 e nos servidores virtuais executando nele. Já a Figura 23 mostra a

utilização da CPU nos servidores SCVMM e SCDPM e a Figura 24 a utilização no

servidor MANAGER.

Através da análise dos dados contidos nestas figuras é possível verificar que

em todos os casos, aproximadamente às 2h existe uma atividade intensa nos

servidores, causada pela verificação do antivírus que está programada para iniciar

neste horário.

No caso dos servidores hospedeiros existe também uma maior utilização por

volta das 23h, horário programado para backup dos servidores virtuais.

Page 66: Implementacao e desempenho da virtualizacao no dcomp ufs

64

Outros pontos de pico podem ser visualizados na Figura 21 e na Figura 22,

mas estão todos dentro de uma utilização razoável e podem ter sido causados por

aplicações programadas para serem executadas somente uma vez por semana.

Na Figura 24 é possível verificar que o servidor MANAGER é o que possui

um uso mais intenso de seu processador, com uma média de 50%, devido aos

diversos serviços de gerenciamento que são executados nele.

Os gráficos das Figuras 25, 26, 27 e 28 mostram a memória disponível nos

servidores. A Figura 25 mostra a memória disponível no servidor HYPERV-002 e nos

servidores virtuais sendo executados nele, a Figura 26 mostra a memória disponível

no servidor HYPERV-003, a Figura 27 mostra a memória disponível no servidor

HYPERV-004 e nos servidores virtuais sendo executados nele e a Figura 28 mostra

a memória disponível nos servidores SCVMM, SCDPM e MANAGER.

Analisando estas figuras é possível verificar que a memória disponível fica

em uma média de 300 a 400MB nos servidores virtuais e nos servidores

hospedeiros.

Vale ressaltar que a prática recomendada pela Microsoft é a execução de

servidores com pelo menos 2GB de memória alocada para os mesmos e no caso do

DCOMP, devido à limitação de memória nos computadores utilizados, as máquinas

virtuais só estão funcionando cada uma com 1GB. Mas pelas Figuras 25, 26 e 27 é

possível verificar que as máquinas que estão executando com 1GB ainda possuem

uma quantidade de memória disponível razoável (aproximadamente 300MB), não

afetando a execução dos sistemas.

Ao decorrer do dia os servidores hospedeiros utilizam mais memória do

sistema, esta memória provavelmente é utilizada pelo serviço de backup já que após

o horário programado para ocorrer o backup diário o sistema libera a memória que

estava sendo utilizada.

Já entre os outros servidores, como pode ser verificado na Figura 28, o

único que possui uma maior utilização de memória é o servidor MANAGER, que na

maioria do tempo possui somente 150MB de memória disponível. Isto indica que

este servidor está precisando de uma quantidade maior de memória para execução

dos seus serviços.

Por meio dos dados da utilização de processador e memória é possível

verificar que o servidor MANAGER está sendo o mais utilizado, o que sugere que

Page 67: Implementacao e desempenho da virtualizacao no dcomp ufs

65

talvez seja melhor separar alguns dos serviços oferecidos por ele, colocando-os em

máquinas virtuais e passar a oferecê-los no servidor HYPERV-001.

Os dados do servidor WEBSOBRADINHO não foram apresentados, pois não

foi possível instalar o agente neste servidor, devido à incompatibilidade do software

de medição utilizado com a versão da distribuição do Linux instalada no servidor.

Caso tenha acontecido alguma perda de desempenho ela foi imperceptível

aos usuários e não está afetando a utilização diária dos serviços no DCOMP.

Figura 20. Utilização de CPU em % (Elaboração própria)

Page 68: Implementacao e desempenho da virtualizacao no dcomp ufs

66

Figura 21. Utilização de CPU em % (Elaboração própria)

Figura 22. Utilização de CPU em % (Elaboração própria)

Page 69: Implementacao e desempenho da virtualizacao no dcomp ufs

67

Figura 23. Utilização de CPU em % (Elaboração própria)

Figura 24. Utilização de CPU em % do servidor MANAGER (Elaboração própria)

Page 70: Implementacao e desempenho da virtualizacao no dcomp ufs

68

Figura 25. Memória disponível em MB (Elaboração própria)

Figura 26. Memória disponível em MB (Elaboração própria)

Page 71: Implementacao e desempenho da virtualizacao no dcomp ufs

69

Figura 27. Memória disponível em MB (Elaboração própria)

Figura 28. Memória disponível em MB (Elaboração própria)

Este capítulo mostrou o estudo de caso feito e os resultados obtidos com a

utilização da virtualização para consolidação dos servidores do DCOMP. No próximo

capítulo são apresentadas as conclusões deste trabalho.

Page 72: Implementacao e desempenho da virtualizacao no dcomp ufs

70

5 CONCLUSÕES

O uso da virtualização permitiu ao Departamento de Computação da UFS

modernizar a sua estrutura de TI. Através dela agora é possível gerenciar todos os

servidores do departamento por meio dos consoles disponíveis usando um único

computador.

A consolidação de servidores adotada no departamento, até este momento,

tem se mostrado muito benéfica e permite que o departamento continue crescendo

de maneira sustentável e de fácil administração.

A virtualização permitiu que o DCOMP aumentasse o tempo de

disponibilidade dos serviços ofertados através da execução de um mesmo serviço

em máquinas virtuais diferentes.

Ela também permitiu a criação de uma solução de backup que torna fácil a

recuperação de desastres, garantindo que os serviços possam ser reestabelecidos

mais rapidamente.

Mesmo tendo como uma desvantagem a criação de SPOF, a virtualização,

neste caso garantiu que mesmo em casos de falha de um servidor os serviços mais

importantes ainda continuarão funcionando. E mesmo nos serviços que não

executam em mais de uma máquina existe a possibilidade da recuperação rápida de

um backup para outro servidor hospedeiro.

Mesmo com várias restrições em relação às configurações do hardware

utilizado o resultado alcançado neste trabalho foi positivo, provando que a

virtualização pode auxiliar nas tarefas de administração de TI.

5.1 Trabalhos futuros

Como sugestões de trabalhos futuros, é possível citar:

a) Planejar a utilização da virtualização para auxiliar nas aulas práticas

lecionadas pelo DCOMP. Por meio da utilização da virtualização de aplicações a

disponibilização de aplicações nos laboratórios de ensino para aulas ou eventos

Page 73: Implementacao e desempenho da virtualizacao no dcomp ufs

71

esporádicos iria ser facilitada, requerendo menos esforço para implantação das

mesmas;

b) Estudar como a virtualização pode afetar o desempenho de servidores

que estão sendo executados sobre máquinas virtuais;

c) Verificar qual, entre os principais fornecedores de hipervisores, possui o

melhor desempenho de execução para as máquinas virtuais;

d) Aquisição de novos servidores com maior capacidade para substituição

dos atuais, tornando possível a diminuição do número de servidores utilizados;

e) Aquisição de mais discos rígidos para armazenamento de backups, já que

a capacidade de armazenamento encontra-se no limite;

f) Estudar a disponibilização e a possível economia de custos de outras

formas de virtualização, como a virtualização de aplicativos, que permite uma

economia no custo de licenciamento e pode aumentar a disponibilidade de softwares

para os laboratórios de ensino;

g) Estudo de outras soluções de virtualização que poderiam ser adotadas

para consolidação de servidores e quais os benefícios que podem ser conseguidos

com as mesmas;

h) Implementação de um cluster que seja suportado pela solução

implementada atualmente, para permitir a migração de máquinas virtuais

automaticamente entre servidores hospedeiros.

Page 74: Implementacao e desempenho da virtualizacao no dcomp ufs

72

REFERÊNCIAS BIBLIOGRÁFICAS

CARISSIMI, A. Virtualização: da teoria a soluções. Minicursos do Simpósio Brasileiro de Redes de Computadores-SBRC 2008. Rio de Janeiro, RJ: 173-207 p.

2008. CHIUEH, S. A Survey on Virtualization Technologies. RPE Report, p. 1–42,

2005. CITRIX. Citrix Systems >> Server virtualization, virtual server - Dare to

Compare, 2010. Disponível em: <

http://www.citrix.com/English/ps2/products/subfeature.asp?contentID=2300455 >. Acesso em: 15/11/2010.

CLARK, C. Xen v3.3. Xen Users' Manual, 2002. Disponível em: <

http://bits.xensource.com/Xen/docs/user.pdf >. Acesso em: 18/11/2010. CREASY, R. The origin of the VM/370 time-sharing system. IBM Journal of

Research and Development, v. 25, n. 5, p. 483-490, 1981. ISSN 0018-8646.

Disponível em: < http://pages.cs.wisc.edu/~stjones/proj/vm_reading/ibmrd2505M.pdf >.

FRAGNI, C. Estudo Comparativo de Técnicas de Virtualização. 2009.

Departamento de Eletrônica e de Computação, Universidade Federal do Rio de Janeiro, Rio de Janeiro, RJ.

GONÇALVES, D. B.; VAHL JUNIOR, J. C. White Paper - Virtualização.

Campinas, SP: Polis de Tecnologia, 2009. Disponível em: < http://www.sensedia.com/br/anexos/wp_virtualizacao.pdf> >.

HANSEN, J.; SCHAEFFER, C. Estudo e Aplicação de Virtualização na

Criação de Ambientes para Ensino de Redes de Computadores. Passo Fundo,

RS: Universidade de Passo Fundo 2009. HESS, P. O que é TI Verde. Agenda Sustentável. Julho de 2009, 2009.

INTEL. Intel® Virtualization Technology List, 2010. Disponível em: <

http://ark.intel.com/VTList.aspx >. Acesso em: 27/09/2010. KLAIBER, A. The technology behind Crusoe processors. Low-power x86-

compatible processors implemented with Code Morphing software. Santa Clara, CA: Transmeta Corporation 2000.

LAUREANO, M. A. P. Máquinas Virtuais e Emuladores: conceitos,

técnicas e aplicações. São Paulo: Novatec, 2006.

Page 75: Implementacao e desempenho da virtualizacao no dcomp ufs

73

LAUREANO, M. A. P.; MAZIERO, C. A. Virtualização: Conceitos e Aplicações em Segurança. In: MAZIERO, C.;GASPARY, L., et al (Ed.). Livro-texto de minicursos do SBSeg 2008. 1. Porto Alegre, RS: Sociedade Brasileira de

Computação, v.1, 2008. p.1-49. LAWTON, K. et al. Bochs User Manual, 2010. Disponível em: <

http://bochs.sourceforge.net/doc/docbook/user/index.html >. Acesso em: 18/11/2010. LÉVY, P. O que é o virtual? São Paulo: Editora 34, 2003. 160p ISBN

857326036X. MATTOS, D. M. F. Virtualização: VMWare e Xen. Rio de Janeiro, RJ:

Universidade Federal do Rio de Janeiro 2008. MAZIERO, C. Sistemas Operacionais IX-Máquinas Virtuais. Porto Alegre,

RS 2008. MICROSOFT. Virtualização Microsoft: Produtos e Tecnologias, 2010a.

Disponível em: < http://www.microsoft.com/brasil/servidores/virtualizacao/products.mspx >. Acesso em: 15/11/2010.

______. Virtualization from the Datacenter to the Desktop, 2010b.

Disponível em: < http://download.microsoft.com/download/0/A/C/0AC57003-473C-4F9A-84B0-8ADEF6ACE753/VirtualizationWhitepaper.pdf >. Acesso em: 15/11/2010.

______. Virtualização Microsoft: Soluções Corporativas, 2010c.

Disponível em: < http://www.microsoft.com/brasil/servidores/virtualizacao/solutions.mspx >. Acesso em: 15/11/2010.

______. Windows Server 2008 R2: Virtualization with Hyper-V: Features,

2010d. Disponível em: < http://www.microsoft.com/windowsserver2008/en/us/hyperv-features.aspx >. Acesso em: 15/11/2010.

______. Microsoft Hyper-V vs. VMware ESX & vSphere: Operations &

Management Cost Analysis 2010e. Disponível em: <

http://download.microsoft.com/download/1/F/8/1F8BD4EF-31CC-4059-9A65-4A51B3B4BC98/Hyper-V-vs-VMware-ESX-and-vShpere-WP.pdf >. Acesso em: 15/11/2010.

______. Migrar funções do servidor para o Windows Server 2008 R2,

2010f. Disponível em: < http://technet.microsoft.com/pt-br/library/dd365353(WS.10).aspx >. Acesso em: 15/11/2010.

NASCIMENTO, R. L. D. Recomendações sobre o uso da virtualização de

recursos de TI, utilizando o COBIT 4.1 como modelo de governança de TI. 2009.

Universidade Nove de Julho, São Paulo, SP.

Page 76: Implementacao e desempenho da virtualizacao no dcomp ufs

74

NORTON, P. Introdução à Informárica. São Paulo: Pearson Makron Books,

1996. POPEK, G.; GOLDBERG, R. Formal requirements for virtualizable third

generation architectures. Communications of the ACM, v. 17, n. 7, p. 421, 1974.

ISSN 0001-0782. QEMU. QEMU Emulator User Documentation, 2010. Disponível em: <

http://wiki.qemu.org/download/qemu-doc.html >. Acesso em: 18/11/2010. QUEVEDO, D. P. Virtualização: Conceitos, Técnicas Aplicadas e um

Comparativo de Desempenho entre as Principais Ferramentas Sem Custo de Licenciamento. 2008. SOCIESC, Joinville.

RIBAS, M. Consolidação de Servidores: Estudo de Caso. 2008. Instituto

de Ciências Exatas e Tecnológicas, Centro Universitário Feevale, Novo Hamburgo, RS.

ROSENBLUM, M. The Reincarnation of Virtual Machines. Queue, v. 2, n. 5, p.

34-40, 2004. ISSN 1542-7730. SEO, C. Virtualização–Problemas e desafios. Campinas, SP: Universidade

Estadual de Campinas 2009. VMWARE. VMware vSphere Brochure, 2010a. Disponível em: <

http://www.vmware.com/files/pdf/vsphere_enterprise_datasheet.pdf >. Acesso em: 15/11/2010.

______. Compare VMware ESXi and ESX Hypervisors for Simplified

Virtualization Management, 2010b. Disponível em: <

http://www.vmware.com/products/vsphere/esxi-and-esx/compare.html >. Acesso em: 15/11/2010.

______. VMware Hypervisor: Comparison with Microsoft Hyper-V and

Citrix Xen Server, 2010c. Disponível em: < http://www.vmware.com/technical-

resources/advantages/robust-foundation.html >. Acesso em: 15/11/2010. WEISZFLOG, W.; SILVA, A. Michaelis Moderno Dicionário Da Língua

Portuguesa, 2010. Disponível em: <

http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portugues-portugues&palavra=virtual >. Acesso em: 11/11/2010.

WHITAKER, A.; SHAW, M.; GRIBBLE, S. D. Denali: a scalable isolation

kernel. Proceedings of the 10th workshop on ACM SIGOPS European workshop. Saint-Emilion, France: ACM: 10-15 p. 2002.

Page 77: Implementacao e desempenho da virtualizacao no dcomp ufs

75

ANEXOS

ANEXO A – Comparing VMware ESXi/ESX and Windows Server 2008

with Hyper-V

ANEXO B – XenServer versus the competition

ANEXO C – Comparação entre máquinas virtuais e emuladores

(Rosenblum, 2004; Chiueh, 2005)

Page 78: Implementacao e desempenho da virtualizacao no dcomp ufs

76

ANEXO A – Tabela comparativa de características do VMware,

Hyper-V e Xen

Tabela 5. Comparação de características dos hipervisores

Atributos do Hipervisor

VMware ESXi/ESX 4.1

Windows Server 2008 R2 with Hyper-

V

Citrix XenServer 5.6

Espaço em disco pequeno

Espaço em disco de

70 MB (VMware ESXi)

>2GB com instalação

Server Core

~10GB com instalação completa do Windows Server

1.8GB

Independência de sistema operacional

Sem dependência

em sistema operacional de uso

geral (VMware ESXi)

Depende do

Windows 2008 na partição principal

Depende do

Linux na partição de

gerenciamento Dom

Drivers “endurecidos”

Otimizado com fornecedores de

hardware

Drivers genéricos do

Windows

Drivers genéricos

do Linux

Gerenciamento de memória avançado

Capacidade de

recuperar a memória não utilizada, eliminar

a duplicação de páginas de memória, compactar páginas

de memória

Sem capacidade para recuperar a

memória física não utilizada, eliminar a

duplicação ou compactar páginas

Adicionou

recentemente overcommit

básico, mas não ajusta a alocação

de memória baseada no uso

da VM; sem duplicação ou

compressão das páginas

Gerenciamento de armazenamento avançado

VMware vStorage VMFS, Storage

vMotion

Não possui um

sistema de arquivos de cluster integrado,

sem migração de armazenamento ao

vivo

Não possui um

sistema de arquivos de

cluster integrado,

sem migração de armazenamento

Page 79: Implementacao e desempenho da virtualizacao no dcomp ufs

77

ao vivo, recursos de

armazenamento suportam poucas

matrizes

Alta escalabilidade de E/S

Modelo de driver

direto

Gargalo na gestão de

E/S do sistema hospedeiro

Gargalo na

gestão de E/S do sistema Dom0

Gerenciamento de recursos de host

Traffic shaping da

rede, recursos compartilhados por

VM, definir qualidade das prioridades do

serviço de armazenamento e de

E/S de rede

Não possui recursos

semelhantes

Não possui recursos

semelhantes

Aprimoramentos de desempenho

AMD RVI, páginas de

grande quantidade de memória Intel

EPT, vSMP universal de 8 vias,

paravirtualização da VMI, E/S através de VMDirectPath I/O,

driver PV convidado para SCSI

Páginas de memória

grandes, vSMP de 4 vias em VMs com Windows 2008 e Windows 7

apenas

Sem páginas de

memória grandes, nenhum dispositivos de

SCSI paravirtual convidado, sem suporte direto

para dispositivos de E/S

Tecnologia de segurança virtual

VMware VMsafe™ API de segurança

Nada comparável

Nada comparável

Alocação de recursos flexíveis

Permite hot add nas

VM de vCPUs e memória, aumento

de volume VMFS, hot extend discos

virtuais, hot add de disco virtuais

Permite apenas hot

add de discos

Nada comparável

Fonte: (Vmware, 2010c) Tradução minha

Page 80: Implementacao e desempenho da virtualizacao no dcomp ufs

78

ANEXO B – Tabela comparativa do XenServer e VMware ESXi

Tabela 6. Comparação de funções incluídas nas versões gratuitas

para servidor do Xen e do VMware

Funções inclusas nas versões gratuitas Citrix XenServer

VMware ESXi

Plataforma do hipervisor

Live Motion (Migração ao vivo) Armazenamento compartilhado de SAN e NAS

Servidores, máquinas virtuais e memória ilimitados

Clientes Windows® e Linux®

Console de gerenciamento

Gerenciamento centralizado de configurações

Gerenciamento centralizado de vários servidores

Modo de manutenção do servidor inteligente

Conversão de físico para virtual e virtual para virtual

Arquitetura de gerenciamento distribuído resiliente

Biblioteca de modelos de máquinas virtuais compartilhadas

Gerenciamento de patches da infraestrutura virtual

Fonte: (Citrix, 2010) Tradução minha

Page 81: Implementacao e desempenho da virtualizacao no dcomp ufs

79

ANEXO C – Comparação entre máquinas virtuais e emuladores

Tabela 7. Comparação entre máquinas virtuais e emuladores

Nome

Tipo10

1

Classificação de acordo com (Rosenblum, 2004)

Classificação de acordo com (Chiueh, 2005)

Plataforma disponível para uso (hospedeiro)

Plataforma suportada (hóspede)

Utilização Técnica utilizada

Bochs E Virtualização do Hardware

Abstração da ISA Windows, Linux, MacOS, Unix e BeOS

DOS, Windows, Unix BSD, Linux

Curiosos e desenvolvimento

Emulação Total

chroot SMV Virtual ização do Sistema Operacion al

Virtualização do Sistema Operacional

Linux e Unix BSD Linux e Unix BSD

Segurança Confinamento de Contexto

Cooperative Linux

MV Virtualização do Hardware

Hardware Abstraction Layer

Windows Linux Migração de Usuários e Segurança

Vitualização Total

Crusoe E Virtualização do Hardware

Abstração da ISA x86 x86 Micros-portáteis e servidores

Tradução dinâmica

Denali MV Virtualização do Hardware

Hardware Abstraction Layer

Denali (Diretamente sobre o hardware)

Sistema Proprietário (llwaco)

Acadêmico Para virtualização

DOSEMU

E Virtual ização do Sistema Operac ional

Virtualização do Sistema Operacional

Linux DOS Aplicação legados

Emulação total

Jail SMV Virtual ização do Sistema Operacion al

Virtualização do Sistema Operacional

FreeBSD FreeBSD Segurança Confinamento de Contexto

Java MV Linguagem de Programação

Nível de aplicação ou virtualização de linguagens de programação

Vários Plataforma JAVA (proprietário)

Aplicações Abstração de um hardware específico

Linux VServer

SMV Virtual ização do Sistema Operacion al

Virtualização do Sistema Operacional

Linux Linux Aplicações e segurança

Confinamento de contexto

Mac-on-Linux

MV Virtualização do Hardware

Hardware Abstraction Layer

Linux MAC OS Curiosos, aplicações e desenvolvimento

Virtualização total

Microsoft .NET

MV Linguagem de Programação

Nível de aplicação ou Virtualização de linguagens de programação

Windows Plataforma .NET (proprietário)

Aplicações Abstração de um hardware específico

Parrot MV Linguagem de Programação

Nível de aplicação ou virtualização de linguagens de programação

Linux, Unix e Windows

Plataforma Parrot (Proprietário)

Aplicações Abstração de um hardware específico

Plex86 MV Virtualização do Hardware

Hardware Abstraction Layer

QEMU E Virtualização do Hardware

Abstração da ISA Windows, Linux e MAC OS

Acadêmico, desenvolvimento, aplicações de produção

Recompilação dinâmica

10

Tipo E refere-se a Emulador, tipo MV refere-se à Máquina Virtual e tipo SVM refere-se à Simulação de Máquina Virtual.

Page 82: Implementacao e desempenho da virtualizacao no dcomp ufs

80

User-Mode-Linux

MV Virtual ização do Sistema Operac ional

Hardware Abstraction Layer

Linux Linux Acadêmico, desenvolvimento, aplicações de produção

Virtual ização total utilizando rastreamento de chamadas de sistema

Valgrind

E Virtualização do Hardware

Abstração da ISA Linux x86,Linux PowerPC (experimental) e Unix (experimental)

Linux Depuração, desenvolvimento

Tradução Dinâmica

Virtual PC

MV Virtualização do Hardware

Hardware Abstraction Layer

Windows DOS,Windows e OS/2

Acadêmico, desenvolvimento, aplicações de produção

Virtualização total e recompilação dinâmica

Virtual Server

MV Virtualização do Hardware

Hardware Abstraction Layer

Windows Windows Acadêmico, desenvolvimento, aplicações de produção

Virtualização total e recompilação dinâmica

VMware

MV Virtualização do Hardware

Hardware Abstraction Layer

Linux e Windows Windows, DOS, Linux, Unix BSD, Netware, Solaris

Acadêmico, desenvolvimento, aplicações de produção

Virtualização total e recompilação dinâmica

Wine E Virtual ização do Sistema Operacion al

Bibliot eca de interface para usuário

Linux Aplicações Windows

XEN MV Virtualização do Hardware

Hardware Abstraction Layer

NetBSD e Linux Linux, Unix BSD e Windows XP (todos com modificações)

Acadêmico, desenvolvimento, aplicações de produção

Para virtualização

Fonte: (Laureano, 2006; Quevedo, 2008)