67
UNIVERSIDADE SÃO FRANCISCO Engenharia da Computação LEANDRO SOUZA CARNEIRO VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E MÉDIAS EMPRESAS Itatiba 2012

VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

  • Upload
    ledan

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

UNIVERSIDADE SÃO FRANCISCO

Engenharia da Computação

LEANDRO SOUZA CARNEIRO

VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E

MÉDIAS EMPRESAS

Itatiba

2012

Page 2: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

2

LEANDRO SOUZA CARNEIRO – R.A. 002200800210

VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E

MÉDIAS EMPRESAS

Itatiba

2012

Monografia apresentada ao Curso de

Engenharia de Computação, como requisito

parcial para obtenção do título de Bacharel

em Engenharia de Computação.

Orientador: Prof. Ms. Rodrigo Luis Nolli

Brossi

Page 3: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

3

A memória de meu pai,

exemplo de sucesso, homem e pai de família.

Page 4: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

4

AGRADECIMENTOS

Agradeço primeiramente ao meu pai, Jurandir de Souza Carneiro, que infelizmente

não está mais neste mundo, pela dedicação e incentivo dados a mim. A minha mãe, Roseli

Maria Del Roy Carneiro, que continuou forte e me apoiando nesta trajetória. A minha

namorada, Carla Ribeiro Babo, por me ajudar e apoiar durante esses anos.

Ao Fábio Roberto Oliveira, amigo e tutor profissional, que está sempre ao meu lado

ensinando-me e encaminhando-me, o qual foi responsável pelo interesse no assunto

pesquisado.

Ao Prof. Rodrigo Luis Nolli Brossi, orientador, professor e amigo, que ajudou com

que este estudo fosse bem elaborado.

Agradeço finalmente aos amigos de classes, que por todos estes anos sempre

compartilharam conhecimento sobre diversos assuntos.

Page 5: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

5

"Limitações são fronteiras

criadas apenas pela nossa mente."

Provérbio Chinês

Page 6: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

6

RESUMO

Nos dias de hoje, virtualização é um tema muito abrangente que se tornou, de certa forma,

comum. Atualmente, podem-se encontrar máquinas virtuais em notebooks de uso pessoal,

estações de trabalho e em servidores, isso devido sua alta empregabilidade, seja em aproveitar

recursos de outro sistema operacional para uso doméstico, interpretação de bytecodes Java em

uma fábrica de software, ou ainda para fornecer servidores virtualizados. Para as empresas, a

virtualização de servidores é uma solução que gera economia de espaço físico, diminui custos

com o resfriamento dos servidores físicos, e ainda, faz melhor uso do hardware adquirido,

maximizando seus recursos. Porém, para realizar um projeto desses é necessário pensar em

custos, um dos fatores críticos para o impedimento da implantação em pequenas e médias

empresas é o preço de licenças dos softwares de virtualização. Por esse motivo, este trabalho

visa apresentar, com base em estudos bibliográficos, conceitos de virtualização de servidores,

bem como os softwares geralmente empregados e algumas de suas características. Também

serão demonstrados os benefícios e problemas de projetos de virtualização através de casos de

mercado. Ainda, o trabalho consta com a apresentação de um ambiente de virtualização open

source através da solução KVM, que é a resposta para a implantação de projetos em empresas

que não disponibilizam de verba para investimento e aquisição de softwares proprietários.

Palavras-chave: virtualização. servidores. KVM.

Page 7: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

7

ABSTRACT

Nowadays, virtualization is a very embracing theme which, in some ways, common.

Presently, virtual machines can be found in personal use notebooks, workstation and servers,

due to the high employability to utilize resources of other operational systems for domestic

use, to interpretation of bytecodes or to provide virtual servers. For companies, the server

virtualization is a solution which generates saving of space, decreases costs with cooling and

makes better use of the hardware purchased. However, to realize a project like these is

necessary to analyze the costs, one of the critical factors for implantation impediment in small

and medium companies is the software virtualization license price. Therefore, this study aims

to present, based on bibliographical studies, concepts of server virtualization, also the

softwares usually used and some propriets of these. Besides, will be demonstrated the benefits

and problems of a virtualization project through cases. The work also includes a presentation

of an open source virtualization environment based KVM solution, which is the answer to the

implantation of projects in companies which do not provide the budget for invest and

acquisition proprietary softwares.

Key words: virtualization. servers. KVM.

Page 8: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

8

LISTA DE SIGLAS

ACPI Advanced Configuration and Power Interface

AMD Advanced Micro Devices

AMD-V AMD Virtualization

API Application Program Interface

APIC Advanced Programmable Interrupt Controller

AT&T American Telephone & Telegraph

BSD Berkeley Software Distribution

CD Compact Disc

CIDR Classless Inter-Domain Routing

CPU Central Processing Unit

DHCP Dynamic Host Configuration Protocol

DNS Domain Name System

DVD Digital Versatile Disc

GB Gigabyte

GE General Eletric

GHz GigaHertz

HP Hewlett-Packard

HTTP Hypertext Transfer Protocol

IAAS Infrastructure as a Service

IBM International Business Machines

ICMP Internet Control Message Protocol

IP Internet Protocol

ISA Instruction Set Architecture

iSCSI Internet Small Computer System Interface

IVT Intel Virtualization Technology

JVM Java Virtual Machine

KVM Kernel-based Virtual Machine

LUN Logical Unit Number

Page 9: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

9

MAC Media Access Control

Mbps Megabits Per Second

MV Máquina Virtual

NAT Network Address Translation

QEMU Quick Emulator

RAM Random Access Memory

RFB Remote Framebuffer

RHEV Red Hat Enterprise Virtualization

SAAS Software as a Service

SO Sistema Operacional

SSH Secure Shell

TB Terabyte

TI Tecnologia da Informação

USB Universal Serial Bus

VLAN Virtual Local Area Network

VM Virtual Machine

VMM Virtual Machine Monitor

VNC Virtual Network Computing

VPS Virtual Private Server

Page 10: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

10

LISTA DE FIGURAS

FIGURA 1 - Interfaces de um SO............................................................................................ 17

FIGURA 2 - Máquina Virtual de Processo............................................................................... 18

FIGURA 3 - Tipos de Máquina Virtual de Sistema.................................................................. 19

FIGURA 4 - Virtualização Total............................................................................................... 21

FIGURA 5 - Paravirtualização................................................................................................. 21

FIGURA 6 - vSphere Web Client............................................................................................. 23

FIGURA 7 - Hyper-V Manager............................................................................................... 24

FIGURA 8 - XenCenter............................................................................................................ 25

FIGURA 9 – RHEV Manager.................................................................................................. 26

FIGURA 10 - Virtualização com KVM....................................................................................29

FIGURA 11- Migração ao vivo................................................................................................ 31

FIGURA 12 - Verificação das flags do processador................................................................. 36

FIGURA 13 - Instalação dos pacotes....................................................................................... 37

FIGURA 14 - Verificação do Módulo kvm.............................................................................. 37

FIGURA 15 - Interface de rede 'virbr0'.................................................................................... 38

FIGURA 16 - Criação e configuração das interfaces virtuais.................................................. 39

FIGURA 17 - Interfaces de rede............................................................................................... 40

FIGURA 18 - Virt-Manager ao fundo, com mouse destacando o botão de criação

de máquina virtual e o assistente de criação frente .......................................... 41

FIGURA 19 - Criação da Máquina Virtual............................................................................... 42

FIGURA 20 - Instalação do Sistema Operacional em máquina virtual através de VNC......... 43

FIGURA 21 - Adicionar Servidor I.......................................................................................... 45

FIGURA 22 - Adicionar servidor II......................................................................................... 46

FIGURA 23 - Tela geral de criação de MV.............................................................................. 48

FIGURA 24 - Tela de parametrização de disco e drive virtual................................................ 48

FIGURA 25 - Configurações da placa de rede......................................................................... 49

FIGURA 26 - Máquina virtual criada com sucesso................................................................ 50

FIGURA 27 - Opções de gerenciamento de máquina virtual................................................... 51

FIGURA 28 - Confirmação de migração da máquina virtual.................................................. 52

FIGURA 29 - Migração e requisições ICMP............................................................................ 53

v

Page 11: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

11

SUMÁRIO

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

OBJETIVOS.................................................................................................................................... 14

METODOLOGIA........................................................................................................................... 15

1 CONCEITOS................................................................................................................................ 16

1.1 CONCEITOS BÁSICOS............................................................................................................ 16

1.2 INTERFACES............................................................................................................................ 17

1.3 TIPOS DE MÁQUINAS VITUAIS........................................................................................... 18

1.4 O HARDWARE.......................................................................................................................... 19

2 MODOS DE VIRTUALIZAÇÃO............................................................................................... 20

2.1 EMULAÇÃO E SIMULAÇÃO.................................................................................................. 20

2.2 VIRTUALIZAÇÃO PARCIAL, PARAVIRTUALIZAÇÃO E VIRTUALIZAÇÃO

COMPLETA...................................................................................................................................... 21

3 O MERCADO E A VIRTUALIZAÇÃO.................................................................................... 22

3.1 VIRTUALIZADORES................................................................................................................ 22

3.1.1 VMware.................................................................................................................................... 23

3.1.2 Microsoft Hyper-V………………………………………………………………………...… 24

3.1.3 Citrix XenServer...…………………………………………………………………………… 25

3.1.4 Red Hat Enterprise Virtualization…………………………………………………………… 26

3.2 CLOUD COMPUTING e VPS………………………………………………………………… 27

3.3 CASES – VIRTUALIZAÇÃO EMPRESARIAL........................................................................ 27

4 KVM (KERNEL-BASED VIRTUAL MACHINE)..................................................................... 28

4.1 HISTÓRIA.................................................................................................................................. 28

4.2 FUNCIONAMENTO.................................................................................................................. 28

4.3 RECURSOS................................................................................................................................ 30

4.4 INSTALAÇÃO............................................................................................................................ 31

Page 12: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

12

4.4.1 Sistemas Operacionais............................................................................................................. 31

4.4.2 Pacotes da Instalação................................................................................................................ 32

4.5 GERENCIADORES DE MÁQUINAS VIRTUAIS PARA KVM.............................................. 33

5 IMPLEMENTAÇÃO DO AMBIENTE DE VIRTUALIZAÇÃO............................................ 34

5.1 DEFINIÇÕES DO AMBIENTE................................................................................................. 34

5.2 INSTALAÇÃO E CONFIGURAÇÃO DOS SERVIDORES KVM........................................... 35

5.2.1 Instalação do KVM.................................................................................................................. 35

5.2.2 Configuração da Rede.............................................................................................................. 38

5.3 A CRIAÇÃO DE UMA MÁQUINA VIRTUAL......................................................................... 40

5.4 GERENCIAMENTO DO AMBIENTE VIA CONVIRT............................................................ 43

5.4.1 Instalação do ConVirt............................................................................................................... 44

5.4.2 Adicionar servidores KVM...................................................................................................... 45

5.4.3 Criação de uma máquina virtual pelo ConVirt......................................................................... 46

5.4.4 Gerenciamento de uma máquina virtual pelo ConVirt............................................................. 50

6 BENEFÍCIOS E RISCOS DA VIRTUALIZAÇÃO.................................................................. 55

7 CONCLUSÃO.............................................................................................................................. 56

REFERÊNCIAS.............................................................................................................................. 57

ANEXOS.......................................................................................................................................... 62

ANEXO A – Histórico De Comandos Executados No Servidor KVM-HP...................................... 63

ANEXO B – Histórico De Comandos Executados No Servidor KVM-AVELL.............................. 65

ANEXO C – Histórico De Comandos Executados No Servidor Virtual CONVIRT........................ 67

Page 13: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

13

INTRODUÇÃO

A virtualização é um dos assuntos mais discutidos atualmente na área de tecnologia

da informação (TI), porém o conceito de máquina virtual é antigo.

De acordo com CARISSIMI, na década de 60, os grandes e caros mainframes

necessitavam serem compartilhados entre os usuários que desejavam acessá-los

simultaneamente, este seria o primeiro passo para a virtualização, porém a motivação maior

para o estudo da tecnologia era a incompatibilidade entre as aplicações que deveriam ser

executadas nos mainframes.

Nos anos 70 a IBM desenvolveu um mainframe capaz de juntar a multiprogramação

e máquina estendida, a qual uma máquina virtual espelha exatamente o hardware verdadeiro.

Segundo VERAS, ao passar dos anos os computadores foram se tornando menores e

mais comuns, os sistemas operacionais também evoluíram e convergiram em três linhagens

(Unix, Macintosh e Microsoft) que contemplavam públicos alvos distintos, sendo assim,

softwares distintos, tornando a virtualização um tema pouco abordado. O avanço dos

processadores, interfaces de redes e plataformas de desenvolvimento, tornaram os sistemas

distribuídos cada vez mais comuns.

Ainda por VERAS, máquinas virtuais se tornaram mais conhecidas com o

aparecimento da linguagem Java, na qual os softwares não são desenvolvidos para uma

linhagem de sistema operacional mencionado a cima, mas para a Java Virtual Machine

(JVM), uma máquina virtual que funciona como interpretador de bytecodes, forma

intermediaria de código, Java. A JVM pode ser instalada em sistemas operacionais que se

tornaram padrões nos servidores, Unix-like, Solaris e Microsoft.

Hoje em dia empresas mostram-se interessadas pela virtualização por questões

físicas, financeiras e de aproveitamento de recursos. Porém, ao pensar na solução de

virtualização é necessário o estudo de fatores importantes como gastos para implementação

do projeto, desde a compra de servidores e storages á licenças para os softwares de

virtualização. Por esta razão, há no mercado soluções livres, ou seja, que podem ser utilizadas

corporativamente sem que haja gastos, diminuindo assim o preço do projeto. Desta maneira,

este trabalho apresenta solução de virtualização para pequenas e medias empresas, que não

dispõem de grande verba para a implantação de soluções de virtualização, através de

conceitos teóricos e práticos.

Page 14: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

14

OBJETIVOS

Este trabalho tem por objetivo explicar, de forma perfunctória, os conceitos de

virtualização, bem como os tipos de virtualizadores e seus recursos, sempre com foco na

virtualização de servidores.

Demonstrar os benefícios e problemas em um projeto de virtualização, elucidar sobre

contingência na virtualização e comentar as tendências do mercado sobre o assunto.

Criar um ambiente de virtualização totalmente open source baseado em Linux e

Kernel-based Virtual Machine (KVM), concentrando os dados dos discos rígidos virtuais em

storage.

Page 15: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

15

METODOLOGIA

Para conhecer o conceito e os recursos da virtualização será realizado estudo

bibliográfico sobre o assunto. Também serão apresentados tipos de virtualizadores e como

eles atuam. Em seguida será estudado através de referências bibliográficas e cases de mercado

a importância da virtualização e o beneficio para as empresas.

Será apresentada a solução KVM com um detalhamento maior, da história à

instalação, com intuito de preparar o ambiente de virtualização, baseado em referências

bibliográficas.

Este trabalho também realizará pesquisa bibliográfica sobre os benefícios e

problemas em adotar a virtualização.

Page 16: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

16

1 CONCEITOS

1.1 Conceitos Básicos

É importante entender que, segundo VIEIRA, há dois tipos de máquinas virtuais,

uma destinada a aplicações, chamada máquina virtual de processos e outra à sistemas, o

monitor de máquinas virtuais, ou hypervisor. Com tudo, também é relevante conhecer que o

hypervisor pode fornecer virtualização total ou para-virtualização.

Como mencionado, a virtualização começou nos anos 60 e 70 em grandes

computadores da época que geravam cópias fieis ou distintas do seu ambiente de forma

virtual, com o conceito de máquina estendida.

TANENBAUM (2007) conceitua virtualização pela possibilidade de estender ou

comutar um recurso, ou uma interface, existente por outro, a fim de obter comportamento

semelhante. Assim sendo, a partir de um hardware real vários hardwares virtuais podem ser

disponibilizados, possibilitando a criação de várias máquinas virtuais.

Para entender o que é máquina virtual é importante relembrar dois conceitos,

processos e hierarquia.

Processo, segundo TANENBAUM (2003), é a abstração de um programa em

execução em um ambiente compartilhado, composto por memória e registradores lógicos. A

constante troca de contexto, dado pelo salvamento do estado da memória e pela alternância

entre os registradores lógicos nos registradores físicos, da impressão de todos os programas

serem executados ao mesmo tempo. Logo, pode-se assumir que um processo é um tipo de

máquina virtual que executa um único programa.

Para CARISSIMI, hierarquia pode ser definida em computação como a estruturação

em camadas com níveis desiguais de abstrações e interfaces.

Page 17: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

17

1.2 Interfaces

Em um sistema computacional, CARISSIMI afirma que geralmente se encontram

três tipos de interfaces: instruções de máquina privilegiadas; instruções de máquina não

privilegiadas; e a interface aplicativa de programação, como ilustrado pela FIGURA 1.

Fonte: CARISSIMI, A. Virtualização: da teoria a soluções.

FIGURA 1 - Interfaces de um SO

Ainda por CARISSIMI, os processadores detém um conjunto de instruções de

máquina, divididas em privilegiadas e não privilegiadas, chamado de Instruction Set

Architecture (ISA), o qual gera a interface entre software e hardware. Esta subdivisão cria

níveis que separam os programas entre o nível usuário, aquele em que o software pode apenas

executar instruções não privilegiadas, e o nível de programas com privilégios especiais, como

um sistema operacional, que pode executar qualquer tipo de instrução.

Seguindo a linha de raciocínio de CARISSIMI, outra interface é dada pelas

instruções de máquina não privilegiadas e as chamadas do sistema. Nesta, é possível que os

programas de usuários acessem de forma indireta e supervisionada os recursos de hardware,

possibilitando a execução de instruções não privilegiadas direto no processador.

A terceira interface relata CARISSIMI, é chamada de interface aplicativa de

programação, Application Program Interface (API), é dada pela chamada a funções de

bibliotecas que ocultam as chamadas de sistema.

Page 18: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

18

1.3 Tipos de Máquinas Virtuais

SEO afirma que as máquinas virtuais podem ser concebidas de duas formas. A

máquina virtual de processo, ou seja, um programa que fornece um ambiente de execução de

outras aplicações, como a JVM, ou que emule chamadas de sistemas operacionais,

representada na FIGURA 2. Ou então a máquina virtual de sistema, uma camada de software,

denominada de monitor de máquina virtual, Virtual Machine Monitor (VMM).

Fonte: CARISSIMI, A. Virtualização: da teoria a soluções.

FIGURA 2 - Máquina Virtual de Processo

Ainda segundo SEO, esta nova camada pode estar acima da camada de hardware,

criando o conceito de Bare-Metal, ou seja, a virtualização que está antes da camada do

sistema operacional, ou então em seu núcleo. Em algumas literaturas o VMM neste modo é

nomeado hypervisor tipo 1, ou então nativo.

Há a possibilidade do monitor de máquina virtual ser criado a cima de um sistema

operacional. Nesta maneira é chamado de hypervisor tipo 2. Porém, como não há padrões

definidos de nomenclatura, muitos autores abstraem os termos e tratam o monitor de máquina

virtual apenas como hypervisor, a seguir FIGURA 3 ilustrando os dois tipos de hypervisor.

Page 19: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

19

Fonte: software.intel.com

FIGURA 3 - Tipos de Máquina Virtual de Sistema

CARISSIMI relata que o VMM é fornecido toda vez que o computador estiver

ligado, realizando a proteção do sistema operacional ao acesso direto dos recursos físicos e

possibilitando que seja consumida simultaneamente por diferentes programas.

Ao se tratar de máquinas virtuais, surge o conceito simples de hóspede e hospedeiro.

O hospedeiro é a máquina física onde as máquinas virtuais, chamadas de hóspedes, estão

sendo executadas.

1.4 O Hardware

Para haver virtualização é imprescindível que o processador auxilie o software na

execução de tarefas. Nos anos 70, POPEK e GOLDBERG (1974), afirma que foram

introduzidas três propriedades necessárias para o suporte a virtualização: eficiência, controle

de recursos e equivalência. Estas propriedades têm por característica assegurar o isolamento, a

estabilidade e legitimidade de uma máquina virtual.

Para garantir que os processadores pequenos, de arquitetura x86 de 32 ou 64 bits,

fossem capazes de suportar a virtualização os fabricantes Advanced Micro Devices (AMD) e

Intel os aprimoraram criando a tecnologia AMD Virtualization (AMD-V) e Intel

Virtualization Technology (Intel VT), que embora tenham as mesmas funcionalidades não são

compatíveis.

Page 20: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

20

2 MODOS DE VIRTUALIZAÇÃO

2.1 Emulação e Simulação

As técnicas de simulação, por LOTTI e PRADO, são baseadas em manter modelos

matemáticos que dadas as entradas e condições de funcionamento de um sistema, os

resultados esperados de retorno seja semelhante ao de um ambiente real, por exemplo, em um

simulador de voo.

Já as técnicas de emulação consistem em criar uma camada de software, que segundo

MARSHALL, REYNOLDS, e MCCRORY (2006), faz a tradução de todas as instruções da

máquina emulada para a máquina hospedeira, por exemplo, a emulação de uma plataforma de

8 bits, no caso de um emulador de videogame antigo.

2.2 Virtualização Parcial, Virtualização Completa e Paravirtualização

A virtualização parcial, segundo LOTTI e PRADO, foi um marco histórico da

virtualização, este tipo consiste em promover a virtualização por espaços de endereçamento

em que a máquina virtual simula várias instâncias de um hardware abaixo dela. A partir deste

modelo surgiu a virtualização completa.

CARISSIMI afirma que, a virtualização total, apresentada na FIGURA 4, promove

uma cópia virtual da camada de hardware, desta maneira, as aplicações são executadas

exatamente como seriam em um hardware original. Assim, o sistema operacional virtualizado

não necessita ser modificado para executar sobre um monitor de máquinas virtuais. Porém há

custos para este modelo, como todas as instruções não serão modificadas, deve-ser haver o

teste destas para identificar se são ou não sensíveis, consumindo processamento. Também há

o fator de que a imitação do exato comportamento de cada dispositivo é complicada, sendo

necessário criar um VMM que suporte genericamente um conjunto de dispositivos. Ainda há a

Page 21: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

21

questão de que cada sistema operacional é implementado de uma forma e o hypervisor deve

ser flexível a ponto superar estes desencontros, por exemplo, em uma paginação de memória,

isto contribui para a queda do desempenho.

Fonte: CARISSIMI, A. Virtualização: da teoria a soluções.

FIGURA 4 - Virtualização Total

No caso da paravirtualização, representada na FIGURA 5, o objetivo é apresentar

técnicas para solucionar os problemas da virtualização total. Segundo LAUREANO e

MAZIERO o sistema virtualizado é modificado a cada instrução sensível, logo o teste de cada

instrução que poderia acessar diretamente os recursos físicos e abalar a integridade das

máquinas virtuais não se torna mais necessário. Também há drivers na VMM que facilitam a

comunicação aos dispositivos de hardware real.

Fonte: CARISSIMI, A. Virtualização: da teoria a soluções.

FIGURA 5 - Paravirtualização

Page 22: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

22

3 O MERCADO E A VIRTUALIZAÇÃO

A terceirização nas empresas faz-se presente em diversos setores, a principal

vantagem desta se da pelo fato de não ser necessário manter funcionários próprios no seu

quadro, basta contratar o serviço em questão, explica GIOSA.

Na TI a terceirização também é frequente, BERNSTORFF e CUNHA apresentam em

seu estudo que empresas como Settle fornecem serviços de banco de dados aos seus clientes.

Neste caso não seria necessário a presença de um administrador de banco de dados na folha e

pagamento das empresas clientes.

Porém não são apenas pessoas que são terceirizadas, atualmente as empresas buscam

reduzir custos também na compra de equipamentos e softwares, um exemplo de software

como um serviço (SaaS) é a solução Google Docs, do Google, no qual é possível fazer uso de

editores de texto ou criar planilhas, sem a necessidade de adquirir ou instalar alguma solução.

Para equipamentos a empresa Locaweb, por exemplo, especialista em hospedagem e

armazenamento, tem soluções do tipo infraestrutura como um serviço, Infraestructure as a

Service (IaaS) em inglês, ou seja, as empresas não necessitam comprar servidores e switches,

basta apenas contratar o serviço.

3.1 Virtualizadores

Dentre as soluções disponibilizadas no mercado para virtualização de servidores

destacam-se as empresas VMware, Microsoft, Citrix e Red Hat, com os produtos vSphere,

Hyper-V, XenServer e Red Hat Enterprise Virtualization (RHEV) respectivos. Este estudo

apresentará de forma perfunctória as características destas soluções.

Page 23: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

23

3.1.1 VMware

As soluções corporativas da empresa VMware são as mais conhecidas, são

totalmente bare-metal e dotada de vários recursos, porém são soluções proprietárias e caras.

Atualmente foi lançado o vSphere 5, uma plataforma completa de virtualização que,

segundo a própria VMware, converge na arquitetura ESX de hypervisors para virtualização de

computadores, esta arquitetura também é proprietária e foi desenvolvida pela VMware.

Para realizar o gerenciamento do ambiente a VMWare disponibiliza o gerenciador

vSphere Client, exemplificado na FIGURA 6. As versões mais novas deste gerenciador são

web.

Esta solução destaca-se por ter suporte a novas tecnologias como USB 3.0 e smart-

cards, também por prover suporte a gráficos avançados, além de suportar máquinas virtuais

extremamente potentes com mais de 32 CPUs e 1TB de RAM.

Fonte: vmware.com

FIGURA 6 – vSphere Web Client

Page 24: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

24

3.1.2 Microsoft Hyper-V

O Hyper-V é a solução da Microsoft para virtualização de computadores. Este

produto utiliza a técnica de bare-metal.

Segundo a Microsoft, a última versão disponível no mercado é o Hyper-V Server

2008 R2, que para ser acessado é necessário uma licença do Windows Server 2008.

Para o gerenciamento das máquinas virtuais, utiliza-se o Hyper-V Manager,

exemplificado na FIGURA 7, uma aplicação que está presente nos recursos do Windows e

pode ser ativado no servidor ou em computadores clientes que executam o Windows 7.

A solução é bem completa, porém como os produtos Microsoft, é proprietária e de

custo elevado. Contudo, pode ser bem aceita por empresas parceiras a este fornecedor ou para

aquelas que não detêm de expertise em ambientes Unix-like.

Fonte: microsoft.com

FIGURA 7 – Hyper-V Manager

Page 25: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

25

3.1.3 Citrix XenServer

Em 2007, segundo o site da Citrix, a empresa comprou a XenSource, a qual

desenvolvia softwares para virtualização. Hoje o XenServer é uma forte solução de

virtualização para servidores no mercado.

Este produto opera adicionando um módulo Xen para virtualização no kernel do

Linux, categorizando assim a virtualização bare-metal.

O XenServer conta com o XenCenter, FIGURA 8, uma solução web para o

gerenciamento do ambiente, porém, por se tratar de XEN, outras ferramentas podem ser

utilizadas.

Atualmente o XenServer é disponibilizado no mercado nas modalidades gratuita e

Premium, esta ultima é paga.

Fonte: citrix.com

FIGURA 8 – XenCenter

Page 26: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

26

3.1.4 Red Hat Enterprise Virtualization

A empresa Red Hat, especialista em soluções envolvendo distribuição Linux para

empresas desenvolveu o Red Hat Enterprise Virtualization, uma ferramenta de virtualização

baseada em KVM.

Segundo a Red Hat, o RHEV suporta máquinas virtuais com mais de 64 CPUs

virtuais e 512GB de RAM. O gerenciamento pode ser feito através do RHEV Manager,

exemplificado na FIGURA 9.

Esta solução esta tem bastante espaço no mercado, principalmente naquelas que

usam o Red Hat Enterprise Linux, a distribuição Linux deste fornecedor.

Fonte: redhat.com

FIGURA 9 – RHEV Manager

Page 27: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

27

3.2 Cloud Computing e VPS

No mercado atual, o conceito de IaaS está bem consolidado e significa a contratação

de uma empresa para disponibilizar servidores, ao invés de compra-los e armazena-los. A

vantagem desta alternativa é o fato de que a empresa contratante não precisa se preocupar em

criar salas especiais para manter os servidores resfriados e com alta disponibilidade, basta

apenas um link de internet para conseguir acessar o servidor contratado.

Ao solicitar um serviço de IaaS, há as opções de ser ou um servidor virtual privado,

Virtual Private Server (VPS) em inglês, ou em nuvem, Cloud, ou ainda um servidor físico

alocado no DataCenter do fornecedor do serviço.

Segundo a empresa Locaweb do ramo de virtualização e hospedagem, o VPS, como

o próprio nome informa, é um servidor virtual, porém este está sendo executado sobre uma

máquina física conhecida, caso aconteça falha no servidor hóspede as máquinas virtuais serão

afetadas.

Ainda de acordo com a Locaweb, na modalidade Cloud o servidor virtual contratado

está em uma floresta de servidores de virtualização e é difícil de saber ao certo onde está

sendo executado, pois há dinamismo e a máquina virtual migra entre os servidores físicos, ao

acontecer falha em um destes, a máquina virtual pode ser movimentada a outro servidor sem

que haja perdas.

3.3 Cases – Virtualização Empresarial

Segundo a COMPUTERWORLD, a virtualização em corporações está bem

difundida, um exemplo é a General Eletric (GE) que criou uma unidade global de integração e

gerenciamento da infraestrutura de TI, aponta que 60% dos servidores na américa latina são

virtualizados. A GE economiza 1.4 milhões de dólares com a virtualização de seus servidores.

Além do mercado mundial, o setor de pesquisa também utiliza do recurso de

consolidação de servidores, a Organização Europeia de Pesquisa Nuclear, de acordo com

GREENEMEIER, planeja dividir quatro mil servidores físicos em trinta e cinco mil

servidores virtuais, economizando energia e resfriamento.

Page 28: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

28

4 KVM (KERNEL-BASED VIRTUAL MACHINE)

O Kernel-based Virtual Machine, ou KVM como é conhecido, foi desenvolvido

primeiramente pela empresa Qumranet Technologies, segundo KIVITY, líder dos

desenvolvedores do projeto, KVM é um sistema de virtualização para arquitetura x86 baseada

em Linux capaz de executar várias máquinas virtuais isoladamente, semelhante as soluções de

virtualização e emulação concorrentes.

4.1 História

No começo dos anos 2000, a Qumranet Technologies começou a desenvolver a

solução de virtualização KVM, um projeto que segundo KIVITY era simples e relativamente

pequeno, contendo apenas, aproximadamente, dez mil linhas de código, diferentemente das

soluções concorrentes da época, como o VMware ou XEN.

Em 2008, a Red Hat adquiriu a Qumranet visando dar continuidade aos projetos de

virtualização e ofertar o KVM em sua distribuição Linux, o Red Hat Enterprise Linux,

segundo o site da própria Red Hat.

4.2 Funcionamento

Para compreender o funcionamento do KVM é necessário entender que este utiliza

um software chamado QEMU. De acordo com o site do QEMU, este é um software de código

aberto que pode trabalhar como emulador ou virtualizador.

Segundo a Red Hat, o módulo do KVM foi incluído ao kernel do Linux desde a

versão 2.6.20. A IBM menciona que este módulo transforma o kernel Linux em um

hypervisor.

Page 29: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

29

TANEMBAUM diz que um processo tem dois modos de execução: O modo kernel,o

qual pode ser executado instruções de máquina privilegiadas e o modo usuário, onde apenas

instruções não privilegiadas são aceitas. Porém, como uma máquina virtual é um processo

mais complexo que um processo comum e necessita de maior prioridade além da garantia de

integridade, de acordo com a IBM, ao adicionar o módulo KVM ao kernel é criado um

terceiro modo, o modo convidado.

Neste novo modo, é adicionado o dispositivo kvm, em “/dev/kvm”, que permite que

cada máquina virtual tenha seu próprio espaço de endereço de memória separado do kernel ou

de qualquer outra máquina virtual que esteja sendo executada. Ainda pela IBM, os

dispositivos em /dev são comuns a todos os usuários, mas não em /dev/kvm, neste cada

processo de máquina virtual abre um mapa diferente, suportando assim o isolamento.

O modo convidado, explica a IBM, serve para executar algumas instruções dos

sistemas operacionais convidados, ou seja, dos sistemas operacionais que estão sendo

executados em uma máquina virtual.

Segundo a IBM, o KVM trabalha com um QEMU levemente modificado para

virtualizar a entrada e saída. Cada requisição de entrada e saída de um sistema operacional

convidado é interceptada e redirecionada ao modo de usuário para que o QEMU as emule, a

FIGURA 10 demonstra a virtualização de uma máquina virtual através do KVM.

Fonte: Adaptado de IBM. Discover the Linux Kernel Virtual Machine.

FIGURA 10 - Virtualização com KVM

Page 30: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

30

4.3 Recursos

Dentre os recursos do KVM destaca-se sua alta capacidade de virtualizar máquinas

muito potentes com dezenas de CPUs virtuais e muita RAM. Porém, um recurso interessante

do KVM é a possibilidade tanto da migração offline quanto da migração ao vivo.

A Red Hat diz que a migração consiste em transferir uma máquina virtual de um

servidor para outro, porém para que isso ocorra o disco virtual deve estar em uma área

compartilhada entre ambos servidores.

A migração ao vivo, ou live migration em inglês, segundo a Red Hat é a transferência

da memória da máquina virtual que está em execução para outro servidor de virtualização, a

FIGURA 11 faz uma representação esquemática do processo. Toda modificação nas páginas

de memória da máquina virtual são monitoradas ao iniciar a migração.

De acordo com a Red Hat, numa primeira iteração é enviado ao servidor destino

todas as informações memória da máquina virtual, porém ao passo que as informações

trafegam para outro servidor, há alteração nas páginas de memória, então há mais iterações

entre os servidores para o envio da memória alterada. Estas iterações acontecem até que as

duas máquinas estejam completamente sincronizadas, após isto a máquina virtual é suspensa

no servidor que estava sendo executada, após isto é carregado o valor dos registradores na

máquina virtual no outro servidor e então passa a ser executada normalmente.

O interessante, ainda de acordo com a Red Hat, é o fato de que a máquina virtual fica

totalmente operante enquanto está migrando de servidores, ou seja, nenhuma informação é

perdida. Porém este método é mais lento do que a migração com a máquina virtual desligada

ou suspensa.

De acordo com o site do KVM, a migração de máquinas virtuais pode ser feita entre

servidores com processadores Intel e AMD, respeitando o fato de que servidores com

processadores 32bits somente serão capazes de receber máquinas virtuais vindas de servidores

com processadores com palavra de igual tamanho. Desta maneira, ao criar um ambiente de

virtualização não é necessário manter a fidelidade em uma linha especifica de processadores.

Page 31: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

31

Fonte: Adaptado de technet.microsoft.com

FIGURA 11 - Migração ao vivo

4.4 Instalação

A instalação do KVM e a execução das máquinas virtuais, como aponta a IBM, não

tem um requisito mínimo quanto a hardware, exceto possuir um processador dotado das

tecnologias para a virtualização mencionadas nesta monografia, porém como este servidor

será utilizado para executar máquinas virtuais com sistemas operacionais completos é

recomendado que possua pelo menos 2GB de memória RAM e um processador Dual Core

1,5GHz. Atualmente o KVM pode ser instalado em processadores 32 e 64 bits além de alguns

modelos de PowerPC, informa o site do KVM.

4.4.1 Sistemas Operacionais

O Kernel-based Virtual Machine, como o próprio nome sugere, é baseado no Kernel

do Linux, porém este não é o único sistema operacional onde se pode ser instalado, no site do

KVM há a informação de esta solução é suportada em BSD’s.

Page 32: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

32

No tópico 4.2 foi explicado que os módulos do KVM são nativos em Linux kernel

2.6.20 ou superiores, no entanto, não há problemas em instalar estes módulos em kernel mais

antigo como 2.6.18 utilizado no Red Hat Enterprise Linux 5.

São muitas as distribuições onde se pode instalar o KVM, porém as mais utilizadas

no mercado para este fim são a OpenSUSE, Debian, Fedora e Red Hat Enterprise Linux, ou

sua versão da comunidade, o CentOS.

4.4.2 Pacotes da Instalação

A instalação é, comumente, realizada através dos pacotes encontrados nos repositório

da distribuição emprega como servidor, estes são facilmente adquiridos e instalados pelo

gerenciador de pacotes.

Para agilizar a instalação, é possível instalar o grupo de pacotes KVM que já inclui

tudo que é necessário ou então instalar oito pacotes, sendo eles ‘kmod-kvm’, ‘kvm’, ‘kvm-

qemu-img’, ‘kvm-tools’, ‘python-virtinst’, ‘virt-manager’, ‘uml_utilities’ e ‘bridge-utils’,

segundo a NixCraft.

Ainda segundo a equipe NixCraft, o ‘kmod-kvm’ é responsável pelo adicionamento

do módulo kvm ao kernel, já o pacote ‘kvm’ é a própria solução KVM, o pacote ‘kvm-qemu-

img’ contém o utilitário do QEMU para as imagens do disco, ‘kvm-tools’ são ferramentas

para debug e diagnostico do KVM, módulos Python e utilitários para a instalação de máquinas

virtuais são adicionados ao instalar o ‘python-virtinst’, ‘virt-manager’ contém ferramentas

para gerenciamento das máquinas virtuais, ‘uml_utilities’ e ‘bridge-utils’ contém as

ferramentas necessárias para criar bridges entre placas de rede, esta ponte é responsável por

fazer a comunicação entre a placa de rede física com as placas de redes virtuais.

Page 33: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

33

4.5 Gerenciadores de Máquinas Virtuais para KVM

Ao instalar o KVM, é instalado um gerenciador de máquinas virtuais chamado

‘Virtual Machine Manager’ ou simplesmente ‘Virt-Manager’, este gerenciador também se faz

presente quando instalado o XEN. Segundo o site do Virt-Manager, este programa é escrito

em Python e tem como base a API LibVirt, cuja funcionalidades são capazes de interagir com

os mais diversos hypervisors do mercado.

No entanto, o Virt-Manager é uma aplicação desktop, o que pode gerar alguns

problemas para os administradores, pois seria necessário tê-lo instalado para gerenciar os

servidores. Entretanto, no momento da instalação, também é adicionada ao servidor a

ferramenta ‘virsh’, que segundo a Red Hat, trata-se de um gerenciador texto baseado na API

mencionada acima, ajudando assim, os administradores visto que pode ser acessado através de

qualquer SSH.

Porém com o avanço e a tendência a migração a Web, os gerenciadores de máquinas

virtuais mais utilizados no mercado, atualmente, são no formato Web. No site do KVM há

uma tabela com todos os gerenciadores compatíveis com este hypervisor.

Dentre as soluções open-source de gerenciamento, destacam-se o Eucalyptus, oVirt e

Convirt, sendo os dois primeiros capazes de construir e servir ‘Clouds’, já o último só

apresenta este recuso na versão proprietária.

Page 34: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

34

5 IMPLEMENTAÇÃO DO AMBIENTE DE VIRTUALIZAÇÃO

Com base na pesquisa realizada, este trabalho irá contar com a implementação de um

ambiente de virtualização totalmente open-source visando pequenas e médias empresas, a fim

de tentar demonstrar que não é necessário investimento alto para obter resultados

consideráveis para realização do projeto.

5.1 Definições do Ambiente

Para simular os servidores de uma empresa serão utilizados computadores portáveis,

sendo dois Notebooks para representação dos servidores KVM e um Netbook para representar

um storage iSCSI o qual concentrará as imagens dos discos virtuais.

O primeiro Notebook, da marca ‘Avell’, tem 8GB de memória RAM e processador

Intel i7, o segundo, da marca HP, conta com processador Intel i3 e 4GB de RAM. O Netbook

tem disponível 50GB de espaço em disco. Todos os dispositivos serão conectados via cabo de

rede, para chegar o mais próximo possível a ambientes coorporativos.

Para representação do storage foi selecionado a distribuição Linux ‘OpenFiler’ na

modalidade gratuita, a qual é capaz de prover serviços de armazenamento de dados e

transferências com tecnologia iSCSI.

O sistema operacional escolhido para os servidores KVM foi o CentOS 6.3 com

arquitetura de 64 bits, pelo fato de ser uma distribuição gratuita e com licença para fins

comerciais, além de ser a mais próxima do Red Hat Enterprise Linux, distribuição empresarial

utilizada em grandes corporações.

O nome dado aos Notebooks com KVM foi atribuído conforme suas marcas, sendo o

primeiro Notebook nomeado como ‘KVM-Avell’ e o segundo ‘KVM-HP’. Para o storage o

nome dado foi ‘OpenFiler’. Todos os computadores fazem parte do domínio fictício

‘lcarneiro.com.br’.

A configuração do storage e seus serviços não fazem parte do escopo deste projeto,

Page 35: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

35

será adotado que os servidores entenderão que se trata de um storage já implementado e que

basta mapear e montar os LUN’s deste. Por conveniência o ‘/mnt’ dos servidores será

destinado somente a esta finalidade, e todos os dados dentro desta pasta fazem referência aos

dados no storage.

Por se tratar de um ambiente com finalidade apenas de pesquisa e demonstração de

recursos, não será implementado um servidor de DHCP, logo todos os computadores terão IP

fixo com na faixa 192.168.1.0 e máscara CIDR /24.

Será utilizada a ferramenta ‘Putty’ para Windows para realizar a conexão aos

servidores via SSH a fim de realizar a configuração dos mesmos. Para acesso gráfico via

VNC será utilizado o software UltraVNC.

5.2 Instalação e Configuração dos servidores KVM

5.2.1 Instalação do KVM

Ao começar a instalação do KVM, muitos tutoriais fazem questão da verificação das

flags ‘vmx’ ou ‘svm’ nas informações do processador, como é o caso do tutorial

disponibilizado no Wiki do CentOS, estas flags são os identificadores das tecnologias de

virtualização nos processadores, sendo ‘vmx’ referencia ao Intel-VT e ‘svm’ para AMD-V

explica a IBM. Caso efetuada a verificação e não se obtiver retorno, o processador não tem

tais tecnologias, sendo descartado na empregabilidade de servidor de máquinas virtuais.

Como os processadores empregados nesta pesquisa são novos, a verificação retorna

com resultado, como ilustrado na FIGURA 12.

Page 36: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

36

Fonte: Autoria própria

FIGURA 12 - Verificação das flags do processador

Depois de realizada a constatação que o processador é compatível para a finalidade

desejada, é necessário realizar a instalações dos pacotes apresentados no item 4.4.2 desta

monografia.

Na distribuição utilizada, o gerenciador de pacotes é o ‘Yum’. A FIGURA 13 a seguir

exemplifica essa instalação.

Page 37: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

37

Fonte: Autoria própria

FIGURA 13 - Instalação dos pacotes

Com a instalação completa, deve-se reiniciar o servidor e então verificar se o módulo

do kvm está presente no kernel.

Fonte: Autoria própria

FIGURA 14 - Verificação do Módulo kvm

Como observado na FIGURA 14, está presente o módulo kvm no kernel do servidor,

desta forma, tudo que é necessário para o ambiente estar funcional se faz presente.

É necessário ativar o serviço ‘libvirtd’, baseado na API ‘libvirt’ apresentada

anteriormente, que é responsável pela comunicação com o hypervisor e gerenciamento. É

muito importante que este serviço sempre esteja ativo, explica a Red Hat.

Page 38: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

38

5.2.2 Configuração da Rede

Ao instalar o KVM uma interface de rede virtual, ‘virbr0’, é automaticamente

adicionada, como apresentado na FIGURA 15, esta interface é responsável pelo Network

Address Translation (NAT) no dispositivo de Ethernet padrão, relata a Red Hat. Porém

máquinas virtuais criadas com placas de rede em modo NAT recebem um IP fora da faixa de

utilização pelos demais computadores da rede em questão, logo a máquina virtual fica isolada

apenas a faixa de NAT, segundo a VMWare.

Ainda de acordo a VMWare, para resolver este problema existem as pontes,

conhecidas pelo seu nome em inglês, Bridges. Estas bridges são responsáveis por fazer a

comunicação do dispositivo Ethernet físico com as placas de rede virtuais, desta forma, as

máquinas virtuais criadas com placas de rede em bridge recebem IP na mesma faixa dos

demais computadores na rede.

Fonte: Autoria própria

FIGURA 15 - Interface de rede 'virbr0'

Para configurar a bridge, é necessário entender o que é TUN e TAP. Ambos são

dispositivos de rede virtual, TAP é a simulação de um dispositivo na camada 2, de enlace,

onde trafegam-se os frames, TUN é simula o dispositivo que trabalha na camada 3, de rede,

Page 39: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

39

onde trafegam-se os pacotes, explica CASSIMIRI. TAP é utilizado para a construção de

pontes, para ligar dois MACs e TUN para é utilizado para o roteamento, visto que basta

endereçar o pacote ao seu destino, relata a VMWare.

Logo, para que a máquina virtual tenha comunicação com a rede em que o servidor

se encontra, sua placa de rede virtual deve ter uma ponte com a placa de rede do servidor

através do MAC.

Para criar a bridge, é utilizado o pacote instalado anteriormente, o ‘bridge-utils’,

neste se encontra a ferramenta ‘brclt’ capaz de gerenciar interfaces ponte. Então, se cria a

ponte ‘br0’ entre a interface física ‘eth0’ e a interface TAP ‘tap0’, de acordo com o Wiki do

CentOS. A interface ‘tap0’ ficará fixa e iniciará com as demais, ao iniciar uma máquina

virtual, automaticamente é criada uma interface ‘tap’ exclusiva para ela de acordo com seu

endereço MAC. Ainda concordando com o Wiki, deve-se garantir que o diretório

‘/dev/net/tun’ seja lido e escrito pelo usuário ‘root’ e pelo grupo ‘kvm’, como a FIGURA 16

ilustra.

Fonte: Autoria própria

FIGURA 16 - Criação e configuração das interfaces virtuais

Neste momento, ao executar a ferramenta ‘ifconfig’ para consultar a rede, serão

exibidas as placas ‘br0’ e ‘tap0’ além das já existentes, desta forma, as máquinas virtuais

poderão trabalhar com sua placa de rede virtual em modo bridge, demonstrado na FIGURA

17.

Page 40: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

40

Fonte: Autoria própria

FIGURA 17 - Interfaces de rede

5.3 A Criação de uma Máquina Virtual

Com o ambiente completamente configurado é possível criar de uma máquina virtual

com disponibilidade de comunicação com outras máquinas da rede, visto que sua faixa de IP

será a mesma que as demais.

A criação será feita através da ferramenta de linha de comando ‘virt-install’ contida

no ‘virt-manager’ instalado anteriormente, pois o acesso ao servidor, como mencionado, é

feito através de SSH. No entanto, a criação pode ser feita de forma gráfica através da interface

do ‘virt-manager’ e o assistente de criação, FIGURA 18.

Page 41: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

41

Fonte: Autoria própria

FIGURA 18 - Virt-Manager ao fundo, com mouse destacando o botão de criação de

máquina virtual e o assistente de criação à frente.

Será criado uma imagem de um disco virtual de 10GB em branco, nomeado ‘VM-

Linux.img’. Depois de criado o disco, é necessário iniciar a máquina virtual para a instalação

do sistema operacional. Com a ferramenta ‘virt-install’ conectada ao Qemu-KVM local do

servidor são passados os parâmetros para criação da VM como nome, arquitetura do

processador, total de processadores e memórias virtuais, entre outros.

É possível configurar os parâmetros ‘--vnc --vncport e --vnclisten’ para que o virt-

install juntamente ao Qemu-KVM crie um servidor Virtual Network Computing (VNC) para

realizar a comunicação gráfica com a máquina virtual. Segundo a AT&T, este protocolo é

baseado no conceito remote framebuffer (RFB), capaz de ler remotamente o buffer de saída do

vídeo e realizar interação com mouse e teclado.

Page 42: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

42

Na FIGURA 19 abaixo, é representada a criação do disco e da máquina virtual

através do virt-install. Foi parametrizado o VNC na porta 5900 do servidor de virtualização

KVM-HP, também foi parametrizado a imagem de um CD de instalação do CentOS no

CDROM da máquina virtual.

Fonte: Autoria própria

FIGURA 19 - Criação da Máquina Virtual

Para realizar a instalação do sistema operacional nesta máquina virtual, basta

conectar via VNC no servidor utilizando as configurações parametrizadas acima e realizar o

processo da instalação, como representado na FIGURA 20.

Nesta máquina virtual será instalado a solução de o gerenciador de máquinas virtuais

da empresa Convirture, o ConVirt. Por se tratar de um gerenciador Web, a administração fica

mais acessível o usuário.

Esta solução foi adotada pela razão de ser open-source e simples. O fato de não ter a

possibilidade de criar Clouds, como citado acima, não atrapalhará sua empregabilidade, visto

que o projeto é destinado a empresas de porte pequeno à médio.

Page 43: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

43

Fonte: Autoria própria

FIGURA 20 - Instalação do Sistema Operacional em máquina virtual através de VNC

5.4 Gerenciamento do ambiente via ConVirt

O ConVirt é uma solução de gerenciamento de ambientes de virtualização

desenvolvido pela empresa Convirture e atualmente a versão gratuita mais recente é a 2.1.1.

Esta solução foi desenvolvida para tornar a administração mais simples, com a interface

parecida com a solução do VMWare Infrastructure Client, o ConVirt conta com

funcionalidades interativas, histórico de tarefas e dashboards para análise e monitoramento do

ambiente, informa a empresa que desenvolveu o produto.

Ainda de acordo com a Convirture, este produto conta com a funcionalidade de

criação de modelos para pré-definição das máquinas virtuais, tornando mais eficiente sua

Page 44: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

44

utilização. Também é possível criar snapshots da máquina virtual com apenas alguns cliques.

Para a funcionalidade de migração da máquina virtual entre os servidores, basta clicar e

arrastar.

5.4.1 Instalação do ConVirt

A instalação desta solução se dá em duas partes, sendo a primeira no servidor onde o

gerenciador será executado e a outra nos servidores de virtualização gerenciados pelo

ConVirt.

Nos servidores de virtualização, é necessário instalar o pacote chamado ‘convirt-tool’

e dependendo do servidor, será necessário instalar algumas dependências para que o pacote

funcione normalmente.

O ConVirt pode ser instalado em um servidor de virtualização ou então em uma

máquina virtual, para este projeto será utilizada a máquina virtual criada acima. A instalação é

feita através dos pacotes ‘convirt-install’ e ‘convirt’.

Depois de instalado o ConVirt pode ser acessado via protocolo HTTP utilizando a

porta 8081 e o IP da máquina onde foi instalado. Pode ser configurada uma regra de firewall

para que as requisições na porta 80 sejam encaminhas a porta 8081, tornando mais confortável

seu uso, também é recomendado criar entradas no servidor DNS para apontar para o ConVirt.

Para realizar o login é necessário utilizar uma conta com credenciais pré-configurada no

pacote de instalação com usuário e senha sendo ‘admin’, informa a Convirture.

Nesta versão do ConVirt é possível a criação de novos usuários e grupos, no entanto

não é possível definir papeis a estes o que torna a funcionalidade não muito utilizável.

As configurações e o gerenciamento do ambiente desenvolvido neste projeto serão

apresentados de forma perfunctória, visando às tarefas do cotidiano da administração.

Page 45: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

45

5.4.2 Adicionar servidores KVM

Após realizar o primeiro login no ConVirt é necessário adicionar os servidores de

virtualização, para isto, basta clicar em ‘Servers’ no menu lateral e então selecionar a opção

de adicionar novo servidor na combo-box de ações no canto superior direito. Ou então, como

mostra a FIGURA 21, há uma maneira mais próxima ao ambiente do usuário, basta clicar em

‘Servers’ no menu lateral com o botão direito do mouse e selecionar ‘Add Server’.

O assistente solicitará a plataforma utilizada para virtualização, neste caso será o

KVM, porém o produto suporta também o XEN. O próximo passo, FIGURA 22, é completar

as informações necessárias para a comunicação via SSH com o servidor, para isso é

necessário passar o IP do servidor no campo do nome do host e a senha do usuário ‘root’.

Fonte: Autoria própria

FIGURA 21 - Adicionar Servidor I

Page 46: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

46

Quanto o servidor adicionado estiver fora do alcance para o gerenciamento ele será

listado normalmente, porém seu ícone será representado em tons de cinza. Para os nós KVM

ativos o ícone é um servidor com um símbolo K em azul.

As máquinas virtuais que não foram criadas pelo ConVirt, como é o caso da máquina

criada no item 5.3 desta monografia, não serão listadas e não poderão ser gerenciadas por esta

solução.

Fonte: Autoria própria

FIGURA 22 - Adicionar servidor II

5.4.3 Criação de uma máquina virtual pelo ConVirt

Com os servidores adicionados é possível criar máquinas virtuais, para acessar esta

funcionalidade se deve clicar em cima do servidor desejado para ser o hospedeiro e selecionar

‘Provision Virtual Machine’ em Ações.

Page 47: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

47

A interface de criação da máquina virtual é completa, bem divida e de fácil

entendimento. Todas as configurações de uma máquina real podem ser configuradas na

virtual. Há também opção para que a máquina virtual seja automaticamente iniciada quando o

servidor ficar disponível, esta é uma função que pode ser estratégica.

Para o ambiente em questão é necessário estipular que os discos virtuais das

máquinas sejam criados no ponto de montagem onde se encontra o storage, desta forma

ambos servidores terão acesso.

Outro ponto importante na criação é que a placa de rede seja adicionada se baseando

na bridge criada anteriormente, é recomendado que o modelo da placa de rede virtual seja

‘rtl8139’, pois as distribuições comuns do mercado trazem o driver deste modelo por padrão.

O problema da utilização desta placa é que ela trabalha em 100Mbps, caso o usuário desejar

maior performance, recomenda-se o modelo ‘virtio’, porém é necessário a instalação de driver

em alguns sistemas operacionais.

Este trabalho demonstrará a configuração de uma máquina virtual para o ‘Windows

Server 2008’. Esta terá 1GB de memória RAM, 14GB de disco e 1 processador.

A primeira tela de configuração ficará como apresentado na FIGURA 23 a seguir,

não foi alterada a opção de grupo de template, porém foi selecionado o modelo

‘Windows_CD_Install’. O nome atribuído foi ‘Windows-2008’ e não foi alterado o caminho

para o arquivo de configuração da máquina. Em memória, foi estipulado ‘1024’, pois estão

em Mega Bytes. Foi configurado 1 CPUs virtual. Nas opções do sistema operacional do

visitante foi configurado para trabalhar como tipo ‘Windows’, nome ‘Windows 2008’ e foi

atribuído ‘SP2’ na versão. Não foram selecionadas as opções de iniciação da máquina virtual

assim que ela for provida e nem que esta máquina deve ser iniciada assim que o servidor

estiver ligado.

Page 48: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

48

Fonte: Autoria própria

FIGURA 23 - Tela geral de criação de MV

Fonte: Autoria própria

FIGURA 24 - Tela de parametrização de disco e drive virtual

Page 49: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

49

Na FIGURA 24 acima, foram editadas as configurações, através do botão ‘Edit’, do

disco virtual para que este tenha capacidade de 14GB e criado em ‘/mnt’. Foi editado o drive

virtual de CD para que seja utilizada uma imagem de um DVD de instalação do Windows

Server 2008.

Fonte: Autoria própria

FIGURA 25 - Configurações da placa de rede

Como apresentado na FIGURA 25, foi selecionada a placa de rede virtual ‘br0’

anteriormente configurada. Não foi preenchido um endereço MAC, desta forma será atribuído

automaticamente. No modelo da placa de rede foi selecionado ‘rtl8139’ pelo motivo

apresentado acima.

Não foi alterado nada na tela de configuração de boot nem na tela dos parâmetros do

modelo.

Em miscelâneas foi alterado o campo plataforma para KVM, pois este estava

constando ‘Xen’. Foi ativado, trocando o valor de 0 para 1, o APIC e o ACPI.

Page 50: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

50

Após confirmar a tarefa, será processado e assim que concluído será apresentada a

máquina virtual numa hierarquia abaixo ao servidor selecionado para prove-la. No inferior da

tela, o histórico apresentará o status da tarefa, como demonstrado na FIGURA 26.

Fonte: Autoria própria

FIGURA 26 - Máquina virtual criada com sucesso

5.4.4 Gerenciamento de uma máquina virtual pelo ConVirt

A interface intuitiva do ConVirt deixa o usuário a vontade para trabalhar com

segurança. Na a FIGURA 27, são mostradas as funcionalidades para o gerenciamento de uma

máquina virtual, ao clicar com o botão direito do mouse em cima de seu nome. A seguir, breve

apresentação das funcionalidades segundo o Convirture.

A primeira opção refere-se à tela de edição das configurações, esta tela é a mesma

utilizada na criação da VM, porém preenchida com seus respectivos dados. A segunda opção

da lista são as configurações da máquina em modo texto, pode ser útil para edição rápida.

Page 51: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

51

Ambas as configurações são carregadas quando a máquina é iniciada, logo qualquer alteração

não será interpretada no ato.

Fonte: Autoria própria

FIGURA 27 – Opções de gerenciamento de máquina virtual

A opção ‘View Console’ concede acesso ao console da máquina virtual, ou seja, tudo

que é mostrado na saída pode ser acessado com esta opção, além da possibilidade de entrada

de dados utilizando protocolo VNC. Para utilizar esta opção é necessário que o navegador

tenha habilitado o Java Plugin, pois o ConVirt conta com um cliente VNC é plataforma, não

sendo necessário a instalação de algum outro programa na máquina.

Migrar máquina virtual é a próxima opção, esta foi discutida ao decorrer da pesquisa

e consiste em transmitir os dados de configuração e da memória de uma máquina virtual para

outro servidor. Esta função, como discutido anteriormente, pode ser realizada com a máquina

virtual ligada sem que haja perdas ou então com a esta desligada, sendo a primeira forma

descrita mais lenta devido as iterações para envio do estado da memória e a segunda mais

Page 52: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

52

rápida. O usuário pode utilizar este recurso simplesmente clicando e arrastando a máquina

virtual para o novo nó. Será necessária a confirmação da ação, como exibido na FIGURA 28.

Fonte: Autoria própria

FIGURA 28 - Confirmação de migração da máquina virtual

Na FIGURA 29 é demonstrado que a migração a quente, sem haver perda de

informações ou, no caso, de pacotes em requisições ICMP.

Page 53: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

53

Fonte: Autoria própria

FIGURA 29 - Migração e requisições ICMP

A opção ‘Start’ tem a funcionalidade de iniciar uma máquina virtual. Para a

funcionalidade ‘Start and View Console’ inicia a máquina e automaticamente abre o cliente

VNC.

A função de pausar faz com que o servidor congele e pare de processar a memória

virtual, porém o processo de virtualização da mesma não é retirado da memória do servidor.

Ao realizar a função de resumir o servidor continuará a processar a máquina do estado em que

parou.

‘Shutdown’ é utilizado para desligar a máquina de forma ordenada sem que haja

perda de dados, enviando um sinal de desligamento. Caso haja a necessidade de desligar a

máquina de forma imediata, há a opção ‘Kill’, porém esta não da segurança sobre os dados.

Para reiniciar a máquina basta utilizar a função ‘Reboot’.

A função de hibernar faz com que o servidor mantenha uma imagem da máquina

virtual armazenada, para que possa ser restaurada caso haja alguma falha. Em alguns

gerenciadores de máquina virtual esta funcionalidade se chama ‘snap-shot’.

Page 54: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

54

Ao criar uma máquina virtual é necessário instalar o sistema operacional que

geralmente está em outra unidade armazenamento fora o disco rígido, para isso deve-se alterar

a ordem do boot, o que pode ser feito com a funcionalidade ‘Set Boot Device’.

Para apagar um nó virtual há duas formas, a primeira é apagar apenas as

configurações da máquina, ‘Remove Virtual Machine Config’, ou então ‘Remove Virtual

Machine’ para apagar as configurações e os discos virtuais criados.

Ainda há a opção de ‘Annotate’ com finalidade de criar notas para sejam lidas

futuramente.

Com base nas funcionalidades apresentadas acima é possível realizar todo o

gerenciamento de uma empresa com esta solução, porém o ConVirt conta com mais algumas

funcionalidades como serviço de envio de e-mail ou o gerenciamento de Storages ou até

mesmo o gerenciamento de VLAN’s para as máquinas virtuais.

Page 55: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

55

6 BENEFÍCIOS E RISCOS DA VIRTUALIZAÇÃO

Em tempos, discutem-se maneiras de poupar recursos e diminuir a degradação do

planeta. No meio da TI este tema é abordado através do ‘TI Verde’, que segundo SILVA,

consiste em promover meios de poupar energia consumida, não só pelos computadores,

periféricos e aparelhos eletrônicos relacionados, mas também por sistemas de resfriamento de

ambiente.

A virtualização é uma grande aliada aos projetos Verdes, uma vez que seu conceito

de transformar vários servidores físicos em virtuais diminui a quantidade de recursos gastos,

além de prover melhor aproveitamento do hardware investido, de acordo com

NASCIMENTO et al os computadores x86 trabalhavam com o consumo de CPU em torno de

10% a 15% quando foram usados para substituir os mainframes, atualmente, o

superdimensionamento ainda acontece devido à evolução tecnológica.

As vantagens da virtualização vão mais além, baseando-se na solução KVM, pode-se

afirmar que a manutenção dos servidores virtuais se torna fácil, quando necessário realizar

upgrade basta apenas adicionar memória, disco ou a este, com apenas alguns cliques. Ainda

com base no produto KVM, é possível configurar o disco rígido da máquina virtual em um

local onde exista alguma política de backup, visto que este disco trata-se de um arquivo.

Outro ponto que merece destaque é o fato de balanceamento de cargas e alta

disponibilidade que a virtualização pode oferecer, devido à possibilidade de migração da

máquina virtual para outro servidor, este recurso, como discutido anteriormente está presente

no KVM.

Porém, para haver o balanceamento e garantir a alta disponibilidade é necessário

investir em redundância, o que pode ser crítico para empresas com baixo poder aquisitivo que

querem migrar seus serviços para servidores virtualizados, pois o investimento inicial para a

compra de equipamentos robustos é alto e o retorno pode demorar a vir, salienta ANDRADE e

OKANO.

As pesquisas de GONÇALVES apontam que o desempenho de uma máquina virtual,

tanto de disco, CPU, memória e rede está abaixo de uma máquina física, o que limita os

serviços viáveis a virtualização.

Page 56: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

56

7 CONCLUSÃO

Trabalhar com máquinas virtuais, atualmente, é parte da rotina de um profissional de

tecnologia da informação, visto que a consolidação de servidores ganhou mercado e hoje é

uma técnica extremamente útil.

Para empresas que desejam realizar investimento em sua infraestrutura, a fim de

virtualizar os servidores antigos, ou dimensionar melhor o hardware já adquirido, terão

resultados positivos, se a implementação ocorrer de forma bem elaborada, com planos de

contingencia, por exemplo.

Soluções open-source para virtualização, como o KVM e ConVirt, são ótimas opções

para empresas de pequeno e médio porte, que visam realizar a consolidação de servidores sem

haver necessidade de adquirir licenças de softwares proprietários para este fim.

Por questões de escopo e tempo a apresentação desta monografia para a banca

avaliadora contará com um storage iSCSI, pois trata-se de um requisito importante para o

ambiente da virtualização.

Por conta disto, como sugestão para próximos estudos, é considerável a pesquisa

sobre tecnologia iSCSI e outras tecnologias de transferência e armazenamento de dados, a fim

de melhor entendimento sobre o assunto e até mesmo para aprimoramento de performance do

ambiente desenvolvido.

Também é sugerido, para estudos futuros, soluções de virtualização baseadas em

KVM com a disponibilidade de criação de nuvens que é a tendência do mercado, como a

solução ‘oVirt’ mencionada nesta monografia.

Page 57: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

57

REFERÊNCIAS

ANDRADE, F. F. ; OKANO, M. T. O Impacto da Virtualização nas Empresas. Disponível

em:

<http://www.excelenciaemgestao.org/Portals/2/documents/cneg4/anais/T7_0014_0102.pdf>.

Acessado em 20 de Mai. de 2012.

BERNSTORFF, V. H ; CUNHA, João Carlos da. O Que as Organizações Buscam e

Alcançam com a Terceirização em Tecnologia da Informação (TI). Disponível em: <

https://www13.bb.com.br/portal/bb/unv/dwn/AsOrganizacoesBuscam.pdf>. Acessado em 19

de Mai. de 2012.

CARISSIMI, Alexandre. Virtualização: da teoria a soluções. Disponível em:

<http://www.sohand.icmc.usp.br/~rigolin/downloads/sbrc2008/minicursos/MC04.pdf>

Acesso em: 10 Mar. 2012.

CentOS. A Quick Guide to Using KVM with CentOS-5. Disponível em:

<http://wiki.centos.org/HowTos/KVM>. Acessado em 10 de Out. de 2012.

Citrix Completes Acquisition of XenSource. Disponível em:

<http://www.citrix.com/English/NE/news/news.asp?newsID=683171>. Acessado em 20 de

Mai. de 2012.

COMPUTERWORLD. Virtualização: quatro casos de sucesso no Brasil. Disponível em:

<http://cio.uol.com.br/tecnologia/2010/01/11/virtualizacao-quatro-casos-de-sucesso-no-

brasil/>. Acessado em 20 de Mai. de 2012.

Curran, Christopher. Guia e Virtualização. Red Hat. Disponível em:

<http://www.humbug.in/docs/fedora-virtualization-guide-pt-BR-fc13/index.html>. Acessado

em 26 de Set. de 2012.

Page 58: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

58

Datasheet Red Hat Enterprise Virtualization For Servers. Disponível em:

<http://www.redhat.com/promo/rhev3/pdf/rhev_for_servers_datasheet.pdf>. Acessado em 20

de Mai. de 2012

GREENEMEIER, Larry. Cern Prepara Computadores Para Esmagar Mais Átomos.

Disponível em:

<http://www2.uol.com.br/sciam/noticias/cern_prepara_computadores_para_esmagar_mais_at

omos.html>. Acessado em: 20 de Mai. de 2012

GIOSA, Antonio. Terceirização - Uma Abordagem Estratégica. Editora Pioneira, 1999.

GONÇALVES, Tiago Schievenin. Virtualização de Servidores Utilizando XEN.

Disponível em:

<http://lyceumonline.saofrancisco.edu.br/producaoCientifica/producao_download.asp?arquiv

o=1244>. Acessado em 20 de Mai. de 2012.

Google Docs. Disponível em: <http://www.google.com/google-d-s/intl/pt-BR/tour1.html>.

Acessado em: 20 de Mai. de 2012.

IaaS Definition. Disponível em: <http://www.iaasdefinition.com/>. Acessado em 18 de Mai.

de 2012.

IBM. Discover the Linux Kernel Virtual Machine. Disponível em:

<http://www.ibm.com/developerworks/linux/library/l-linux-kvm/?ca=dgr-

lnxw06LinuxKVM>. Acessado em 19 de Mai. De 2012.

IBM. Disponível em: <http://www.ibm.com/>. Acessado em 18 de Mai. de 2012.

IBM. Enabling KVM support on your hardware. Disponível em:

<http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=%2Fliaai%2Fkvm

install%2Fliaaikvminstallenable.htm>. Acessado em 19 de Out. de 2012.

KVM. Disponível em: <http://www.linux-kvm.com>. Acessado em 18 de Mai. de 2012.

Page 59: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

59

LAUREANO, Marcos Aurelio Pchek. Máquinas Virtuais e Emuladores – Conceitos,

Técnicas e Aplicações. Editora Novatec, 2006.

LAUREANO, Marcos Aurelio Pchek; MAZIERO, Carlos Alberto. Virtualização: Conceitos

e Aplicações em Segurança. Disponível em:

<www.dainf.ct.utfpr.edu.br/~maziero/lib/exe/fetch.php/research:2008-sbseg-mc.pdf>.

Acessado em 13 de Abr. de 2012.

Leitão, B. et al. Virtualização com KVM no Linux. IBM. Disponível em:

<http://www.ibm.com/developerworks/br/local/linux/instalandokvmnolinux/index.html>.

Acessado em 14 Ago. 2012.

Libvirt, The virtualization API. Disponível em: < http://libvirt.org/>. Acessado em 29 de

Set. de 2012.

Locaweb. Disponível em: <http://www.locaweb.com.br>. Acessado em: 19 de Mai. de 2012.

LOTTI L. P. ;PRADO A.B. Sistemas Virtualizados – Uma visão geral. Disponivel em:

<http://www.ic.unicamp.br/~ducatte/mo401/1s2011/T2/Artigos/G09_012096_931544-t2.pdf>

Acesso em 15 Abr. 2012.

MARSHALL D., REYNOLDS, W. A., MCCRORY, D. Advanced Server Virtualization:

VMware and Microsoft Platforms in the Virtual Data Center. Auerbach Publications,

2006

MENASCÉ, Daniel A.: Virtualization: Concepts, Applications, and Performance

Modeling. Int. CMG Conference, 2005.

Microsoft Hyper-V. Disponível em: <http://www.microsoft.com/brasil/servidores/hyper-v-

server/default.mspx>. Acessado em 18 de Mai. de 2012.

Page 60: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

60

NASCIMENTO, F. A. et al. Alta disponibilidade em virtualização de servidores

Disponível em: <www.aedb.br/seget/artigos10/26_Virtualizacao_SEGET_2010.pdf>.

Acessado em 20 de Mai. de 2012.

NixCraft. CentOS / Redhat: Install KVM Virtualization Software. Disponível em:

<http://www.cyberciti.biz/faq/centos-rhel-linux-kvm-virtulization-tutorial/>. Acessado em 23

de Ago. de 2012.

POPEK, G. J.; GOLDBERG, Robert. Formal Requirements for Virtualizable Third-

Generation Architectures. Communications of ACM, 1974.

QEMU. Disponível em: <http://www.qemu.org/>. Acessado em 18 de Mai. de 2012.

RED HAT. The Evolution of Virtualization: Qumranet joins Red Hat. Disponível em:

<http://www.redhat.com/promo/qumranet/>. Acessado em 18 de Mai. de 2012.

Red Hat. Disponível em: <http://www.redhat.com/>. Acessado em 18 de Mai. de 2012.

SANTANA, H.da C. ; PEREIRA, J. C. - Tecnologia da Virtualização e os Tipos de

Implementação. Disponivel em: <http://web.unipar.br/~seinpar/artigos/Hugo-Santana.pdf>

Acesso em: 14 Abr. 2012.

SEO, Carlos Eduardo. Virtualização – Problemas e desafios. Disponível em:

<http://www.dcc.unicamp.br/~ducatte/mo401/1s2009/T2/008278-t2.pdf> Acessado em 17 de

Abr. de 2012.

SILVA, M. R. P. et al. TI Verde – Princípios e Práticas Sustentáveis para Aplicação em

Universidades. Disponível em: <http://www.labplan.ufsc.br/congressos/III%20SBSE%20-

%202010/PDF/SBSE2010-0085.PDF>. Acessado em 11 Mai. 2012.

TANENBAUM, A.S. ; VAN STEEN, M., Sistemas distribuídos: princípios e paradigmas,

2ª edição, tradução de Arlete Simille Marques, Prentice-Hall, São Paulo, 2007.

Page 61: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

61

TANENBAUM, A.S. Sistemas Operacionais Modernos. 2a edição. Pearson Education do

Brasil, 2003.

VERAS, Manoel. Virtualização de Servidores. Rio de Janeiro, 2011. Disponível em:

<http://pt.scribd.com/doc/50570155/Virtualizacao-de-Servidores>. Acessado em 14 de Abr. de

2012.

VIEIRA, Wancleber Viana. Virtualização. Serra, 2008. Disponível em:

<http://pt.scribd.com/doc/8952213/Virtualizacao>. Acessado em 20 de Abr. de 2012.

Virt-manager. Manage virtual machines. Disponível em: <http://virt-manager.org/>.

Acessado em 22 de Out. de 2012.

VMware. Disponível em: < http://www.vmware.com/>. Acessado em 18 de Mai. de 2012.

VMWare. What is the difference between bridged, NAT and host-only networking?

Which should I use? Disponível em: <http://vmfaq.com/entry/34/>. Acessado em 5 de Out.

De 2012.

What’s New in VMware vSphere™ 5.0 Platform. Disponível em:

<http://www.vmware.com/files/pdf/techpaper/Whats-New-VMware-vSphere-50-Platform-

Technical-Whitepaper.pdf>. Acessado em 18 de Mai. de 2012.

XEN. Disponível em: < http://xen.org/>. Acessado em 18 de Mai. de 2012.

Page 62: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

62

ANEXOS

Page 63: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

63

ANEXO A – Histórico De Comandos Executados No Servidor

KVM-HP

grep -E 'vmx|svm' /proc/cpuinfo --color=always

yum install kmod-kvm kvm kvm-qemu-img kvm-tools python-virtinst virt-manager

uml_utilities bridge-utils

lsmod | grep kvm

ifconfig

service libvirtd start

ntsysv

chown root:kvm /dev/net/tun

chmod 0660 /dev/net/tun

brctl addif br0 tap0

ifconfig eth0 0.0.0.0

ifconfig tap0 0.0.0.0

service network restart

ifconfig br0 up

ifconfig

cd /etc/sysconfig/network-scripts/

ls

ifconfig br0 down

brctl delbr br0

cd /etc/sysconfig/network-scripts/

vim ifcfg-br0

vim ifcfg-eth0

service network restart

tunctl -t tap0 -g kvm

brctl addif br0 eth0

iscsiadm -m discovery -t sendtargets -p 192.168.1.120

iscsiadm -m node --login

fdisk -l

Page 64: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

64

mount /dev/sdb1 /mnt

cd /mnt

dd if=/dev/zero of=VM-Linux.img bs=1000 count=0 seek=$[1000*1000*10]

ls -ltrh

virt-install --name=VM-Linux --arch=x86_64 --vcpus=1 --ram=1024 --os-type=linux

--os-variant=rhel6 --hvm --connect=qemu:///system --network bridge:br0 --disk

path=/mnt/VM-Linux.img --cdrom /mnt/CentOs63.iso --accelerate --vnc --vncport=5900 --

vnclisten=0.0.0.0 --noautoconsole --keymap=us --boot hd

ntsysv

wget --no-cache http://www.convirture.com/downloads/convirture-

tools/2.1.1/convirture-tools-2.1.1.tar.gz

ls -ltrh

tar xzvf convirture-tools-2.1.1.tar.gz

cd convirture-tools/install/managed_server/scripts/

ls

./convirt-tool setup

Page 65: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

65

ANEXO B – Histórico De Comandos Executados No Servidor

KVM-AVELL

grep -E 'vmx|svm' /proc/cpuinfo --color=always

yum install kmod-kvm kvm kvm-qemu-img kvm-tools python-virtinst virt-manager

uml_utilities bridge-utils

lsmod | grep kvm

ifconfig

service libvirtd start

ntsysv

chown root:kvm /dev/net/tun

chmod 0660 /dev/net/tun

brctl addif br0 tap0

ifconfig eth0 0.0.0.0

ifconfig tap0 0.0.0.0

service network restart

ifconfig br0 up

ifconfig

cd /etc/sysconfig/network-scripts/

ls

vim ifcfg-br0

vim ifcfg-eth0

service network restart

brctl addif br0 tap0

ifconfig

tunctl -t tap0 -g kvm

brctl addif br0 eth0

wget --no-cache http://www.convirture.com/downloads/convirture-

tools/2.1.1/convirture-tools-2.1.1.tar.gz

ls -ltrh

tar xzvf convirture-tools-2.1.1.tar.gz

Page 66: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

66

cd convirture-tools/install/managed_server/scripts/

ls

./convirt-tool setup

iscsiadm -m discovery -t sendtargets -p 192.168.1.120

iscsiadm -m node --login

fdisk -l

mount /dev/sdb1 /mnt

Page 67: VIRTUALIZAÇÃO OPEN SOURCE PARA PEQUENAS E …lyceumonline.usf.edu.br/salavirtual/documentos/2377.pdf · Monografia apresentada ao Curso de Engenharia de Computação, como requisito

67

ANEXO C – Histórico De Comandos Executados No Servidor

Virtual CONVIRT

ifconfig

cd /etc/yum.repos.d

wget --no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo

yum install socat

cd ~

wget --no-cache http://www.convirture.com/downloads/convirt/2.1.1/convirt-install-

2.1.1.tar.gz

wget --no-cache http://www.convirture.com/downloads/convirt/2.1.1/convirt-

2.1.1.tar.gz

wget --no-cache http://www.convirture.com/downloads/convirture-

tools/2.1.1/convirture-tools-2.1.1.tar.gz

tar -xzf convirt-install-2.1.1.tar.gz

ls

cd convirt-install/install/cms/scripts/

./install_dependencies

vim /etc/my.cnf

/etc/init.d/mysqld restart

cd ~

ls

source convirt-install/install/cms/scripts/install_config

tar -xzf ./convirt-2.1.1.tar.gz -c $convirt_base

ls

./convirt-install/install/cms/scripts/setup_tg2

./convirt-install/install/cms/scripts/setup_convirt

cd ~/convirt

./convirt-ctl start

service iptables stop