Buscar

VIRTUALIZAÇÃO DE SERVIDORES

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 64 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 64 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 64 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB 
CURSO DE PÓS-GRADUAÇÃO LATO SENSU EM SISTEMAS DE 
TELECOMUNICAÇÕES 
 
 
 
 
FÁBIO MASSALINO 
 
 
 
 
 
 
 
 
VIRTUALIZAÇÃO DE SERVIDORES E SUAS PRINCIPAIS 
FERRAMENTAS 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
VILA VELHA – ES 
2012
 
 
 
FÁBIO MASSALINO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
VIRTUALIZAÇÃO DE SERVIDORES E SUAS PRINCIPAIS 
FERRAMENTAS 
 
 
Monografia apresentada ao Curso de Pós-
Graduação em Sistemas de 
Telecomunicações da Escola Superior 
Aberta do Brasil como requisito para 
obtenção do título de Especialista em 
Sistema de Telecomunicações, sob 
orientação da Profa. Me. Janaina Costa 
Binda. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
VILA VELHA – ES 
2012 
 
 
DEDICATÓRIA 
 
 
Dedico este trabalho a Zeliha Taner Massalino, minha amada esposa (in memoriam), 
cuja docilidade e companheirismo foram fontes de inspiração para a conclusão 
deste. 
 
 
 
LISTA DE FÍGURAS 
 
 
Figura 1 – Arquitetura de um sistema tradicional ...................................................... 12 
Figura 2 – Arquitetura de um sistema virtualizado – hosted ...................................... 13 
Figura 3 – Arquitetura de um sistema virtualizado – bare-metal ............................... 14 
Figura 4 – Particionamento por hardware ................................................................. 24 
Figura 5 – Particionamento por software do tipo hosted ........................................... 27 
Figura 6 – Particionamento por software instalado nativamente no hardware .......... 28 
Figura 7 – Particionamento de aplicação .................................................................. 29 
Figura 8 – Particionamento de recursos .................................................................... 30 
Figura 9 – Particionamento de serviços .................................................................... 31 
Figura 10 – Os componentes da arquitetura do VMware ESXi ................................. 36 
Figura 11 – A console de administração DCUI.......................................................... 38 
Figura 12 – A tela inicial do vSphere Client ............................................................... 39 
Figura 13 – A tela de configuração do ESXi .............................................................. 40 
Figura 14 – Os componentes do VMware VirtualCenter Server ................................ 41 
Figura 15 – Hyper-V como um recurso do Windows Server 2008 ............................. 45 
Figura 16 – Ferramenta de gerenciamento do Windows Server 2008 ...................... 48 
Figura 17 – Ferramenta de gerenciamento do Hyper-V ............................................ 49 
Figura 18 – Ferramenta System Center Virtual machine Manager – SCVMM 2008 . 51 
 
 
 
 
RESUMO 
 
 
A virtualização de servidores na plataforma x86 tem sido a solução na maioria das 
empresas para a consolidação de servidores, utilizando-se melhor os recursos 
disponíveis e simplificando seu gerenciamento e as soluções comerciais de 
empresas como VMware, Microsoft, Citrix, RedHat e Oracle garantem alta-
disponibilidade em ambientes virtualizados, além de diversas ferramentas que 
permitem executar tarefas rotineiras como ligar/desligar servidores, como mais 
complexas como mover estes servidores virtuais entre servidores físicos, 
balanceamento de cargas e backup destes. Neste trabalho apresenta-se um 
levantamento da bibliografia que trata deste assunto apresentando as características 
deste processo, apresentando suas vantagens e desvantagens, a origem da 
virtualização e os tipos principais. Após, apresenta as características das soluções 
comerciais mais utilizadas para virtualização na plataforma x86: VMware vSphere, 
Microsoft Hyper-V, Citrix Xen e outras disponíveis, tais como as soluções da 
empresa RedHat e Oracle. Esta analise visa apresentar os pontos fortes e fracos de 
cada solução procurando identificar onde cada solução apresenta-se como a melhor 
escolha. 
 
Palavra-chave: Virtualização. Hypervisor. Servidores. 
 
 
 
 
SUMÁRIO 
 
 
LISTA DE FÍGURAS ................................................................................................... 4 
RESUMO..................................................................................................................... 5 
INTRODUÇÃO ............................................................................................................ 8 
1 O QUE É VIRTUALIZAÇÃO .................................................................................. 11 
1.1 PORQUE VIRTUALIZAR? .............................................................................. 14 
1.2 BENEFÍCIOS DA VIRTUALIZAÇÃO ............................................................... 15 
1.3 QUANDO UTILIZAR A VIRTUALIZAÇÃO ...................................................... 15 
1.4 QUANDO NÃO UTILIZAR A VIRTUALIZAÇÃO .............................................. 17 
1.5 HISTÓRIA DA VIRTUALIZAÇÃO ................................................................... 17 
2 TIPOS DE VIRTUALIZAÇÃO ................................................................................ 23 
2.1 PARTICIONAMENTO DE HARDWARE ......................................................... 23 
2.1.1 Vantagens ............................................................................................... 24 
2.1.2 Desvantagens ......................................................................................... 25 
2.2 PARTICIONAMENTO LÓGICO ...................................................................... 25 
2.2.1 Particionamento por software ............................................................... 26 
2.2.2 Particionamento de aplicações ............................................................. 28 
2.2.3 Particionamento de recursos ................................................................ 30 
2.2.4 Particionamento de serviços................................................................. 31 
2.2.5 Sistemas Operacionais e ambientes Runtime ..................................... 32 
3 A PLATAFORMA VMWARE SPHERE .................................................................. 34 
3.1 A ARQUITETURA ESXI .................................................................................. 36 
3.2 FERRAMENTAS DE GERENCIAMENTO ...................................................... 39 
3.3 VMWARE VIRTUALCENTER SERVER ......................................................... 41 
3.3.1 Recursos do ESX/ESXi com o uso do vCenter .................................... 42 
3.3.2 Recursos disponíveis no vCenter através de plug-ins ....................... 43 
4 A PLATAFORMA MICROSOFT HYPER-V ........................................................... 45 
4.1 CARACTERÍSTICAS DO HYPER-V ............................................................... 46 
4.2 GERENCIANDO O HYPER-V ........................................................................ 47 
4.3 SYSTEM CENTER VIRTUAL MACHINE MANAGER 2008 ............................ 49 
4.3.1 Componentes do SCVMM ...................................................................... 50 
 
 
4.4 Ambiente de alta-disponibilidade com Hyper-V .............................................. 51 
5 PLATAFORMA XEN .............................................................................................. 53 
5.1 CARACTERÍSTICAS DO XEN ....................................................................... 54 
5.2 PARAVIRTUALIZAÇÃO COM XEN ................................................................ 55 
6 OUTRAS PLATAFORMAS DISPONÍVEIS ............................................................57 
6.1 RED HAT ........................................................................................................ 57 
6.2 KERNEL-BASED VIRTUAL MACHINE ........................................................... 59 
6.3 ORACLE VM SERVERS ................................................................................. 60 
6.3.1 Características do Oracle ...................................................................... 60 
CONCLUSÃO ........................................................................................................... 62 
REFERÊNCIAS ......................................................................................................... 64 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8 
 
INTRODUÇÃO 
 
 
A virtualização de servidores na plataforma X86 é um dos assuntos mais abordados 
entre os gestores de TI nas empresas, independente de seu tamanho ou setor que 
atua. Garantir disponibilidade dos recursos computacionais o maior tempo possível, 
facilidade no gerenciamento, melhor utilização de hardware, economizar, tanto em 
investimentos na compra de equipamentos quanto na manutenção dos mesmos, têm 
sido a grande preocupação destes. As soluções comerciais de virtualização de 
servidores disponíveis atendem as necessidades das empresas? 
 
A consolidação de vários servidores em um mesmo hardware físico; a capacidade 
de servidores serem automaticamente transferidos para outros servidores físicos; a 
redução de consumo de energia e de custos com equipamentos físicos são os 
motivadores para a elaboração do presente trabalho, que busca apresentar como a 
virtualização de servidores pode ser uma vantagem competitiva para as empresas. 
 
O objetivo deste trabalho é apresentar os conceitos referentes à virtualização de 
servidores e as soluções comerciais disponíveis atualmente e apresentando as 
vantagens e desvantagens deste ambiente e quando utilizar. Os objetivos 
específicos são: explicar o que é a virtualização e as semelhanças e diferenças em 
relação a servidores físicos; apresentar os recursos que tornam a virtualização um 
diferencial competitivo, tais como alta-disponibilidade, gerenciamento centralizado e 
as soluções comerciais mais utilizadas no mercado. 
 
Neste contexto é apresentado o que é virtualização; justificando o porquê de se 
virtualizar, os benefícios, quando utilizar ou não e a historia da virtualização de 
servidores na plataforma x86. 
 
A partir do entendimento do que é virtualização, apresentam-se os tipos de 
virtualização mais comuns: por particionamento de hardware e particionamento 
lógico. 
9 
 
Em seguida, apresenta as soluções comerciais mais utilizadas no mercado para 
virtualização de servidores na plataforma x86. 
 
A primeira plataforma a ser analisada é a VMware vSphere, apresentando sua 
arquitetura, características que garantam recursos como alta-disponibilidade, 
balanceamento de carga entre os servidores físicos (hosts), gerenciamento 
centralizado através da ferramenta VMware vCenter e outros recursos possíveis 
através do uso de plug-ins, tais como conversão P2V (física para virtual) e 
gerenciador de atualização de software 
 
O Hyper-V da Microsoft é apresentado como uma solução para ambientes com 
servidores com o sistema operacional Windows Server, pois o mesmo permite uma 
melhor integração e através do System Center Virtual Machine Manager, gerencia-
se de forma centralizada não somente maquinas virtuais sobre esta plataforma, mas 
também de outras como o VMware.. 
 
A plataforma Citrix Xen é uma solução voltada para o mundo open-source, com 
produtos desenvolvidos tanto pela comunidade open-source quanto pela Citrix, com 
recursos de alta-disponibilidade, balanceamento de cargas e outras características 
encontradas nos concorrentes. Vale ressaltar o esforço dos desenvolvedores deste 
produto no sentido de garantir que as maquinas virtuais possuam desempenho 
semelhante ao modo nativo, através da técnica da paravirtualização. 
 
Outras plataformas disponíveis são apresentadas, tais como o Red Hat Enterprise 
Virtualization for Server, indicado para empresas que utilizam como base para seus 
sistemas operacionais o Red Hat, pois embora o Red Hat Enterprise Virtualization 
for Server permite hospedar maquinas virtuais de diversos sistemas operacionais; as 
maquinas virtuais com este SO apresentam desempenho próximo ao do servidor 
físico; e o Oracle VM Servers, cuja solução é a única plataforma de virtualização 
homologada para o famoso servidor de banco de dados Oracle, pois foi 
desenvolvido para prover o melhor desempenho para altas cargas de entrada/saída. 
 
10 
 
Através da consulta de livros dedicados aos temas acima, elaborou-se a revisão 
bibliográfica, onde foram apresentadas as características de cada solução comercial, 
no intuito de fazer comparativos entre as mesmas e suas similaridades. 
 
11 
 
Capítulo 1 
 
 
1 O QUE É VIRTUALIZAÇÃO 
 
 
 
Segundo Buytaert et al. (2007), virtualização é um framework ou metodologia da 
divisão de recursos de um hardware de computador em múltiplos ambientes de 
execução, aplicando um ou mais conceitos ou tecnologias tais como particionamento 
de hardware ou software, tempo compartilhado, simulação de maquina completa ou 
parcial, emulação, qualidade de serviço e muitos outros. 
 
A tecnologia da virtualização consiste em fazer um computador físico comportar-se 
como se fosse um ou mais computadores, onde cada um destes computadores 
virtualizados acessem a mesma arquitetura básica de um computador físico 
genérico (BUYTAERT et al., 2007). Existem vários meios de se realizar isto, cada 
um com seus prós e contras. A ênfase deste trabalho consiste em analisar a 
virtualização de servidores baseada em software, embora existam outras formas, 
conforme mencionado no paragrafo anterior. 
 
Para permitir que um computador físico se comporte como sendo mais de um 
computador, as características físicas do hardware precisam ser recriadas através 
do uso de software. Pode-se dizer que a virtualização consiste então, em 
transformar o hardware em software. Isto é realizado através de uma camada de 
software chamada abstração. 
 
Um exemplo do uso desta camada de abstração é o HAL (Windows Hardware 
Abstraction Layer); através desta camada, o sistema operacional Microsoft Windows 
provê um meio comum em que todos os drivers e softwares possam se comunicar 
com o hardware em um formato comum. Isto torna mais fácil o desenvolvimento de 
drivers e softwares, pois não é preciso desenvolver versões especificas para cada 
fabricante de hardware. 
12 
 
Em um ambiente de virtualização, é a camada de abstração que irá recriar as 
características físicas do hardware, para tornar possível vários computadores 
utilizar-se dos mesmos recursos físicos (MARSHALL; REYNOLDS; MCCRORY, 
2006). 
 
Conforme Buytaert et al. (2007), virtualização é um conceito que permite que os 
recursos do computador sejam divididos ou compartilhados em vários ambientes 
simultaneamente. Estes ambientes podem interagir-se ou serem totalmente isolados 
entre si. Este ambiente pode estar consciente ou não de que esteja sendo 
executado em um ambiente virtual. 
 
Estes ambientes são conhecidos como Máquinas Virtuais (VMs– virtual machines). 
VMs são ambientes em que neles executem sistemas operacionais - SO (Linux, 
Windows, etc.). De acordo com Buytaert et al. (2007), estes sistemas operacionais 
são conhecidos como sistemas operacionais convidados. Algo a ressaltar é que 
geralmente as instruções para a VM são passadas diretamente para o hardware 
físico, o quetorna o ambiente muito mais rápido e mais eficiente do que emulação. 
 
Para melhor entendimento de um ambiente virtualizado, primeiramente é necessário 
entender como funciona um típico computador físico, conforme Marshall, Reynolds e 
Mccrory (2006). Este possui um conjunto de dispositivos de hardware em que é 
instalado um sistema operacional (Windows, Linux, etc.) e uma ou mais aplicações 
são instaladas neste SO. A figura 1 ilustra este ambiente. 
 
 
 Figura 1 – Arquitetura de um sistema tradicional 
 Fonte: Marshall, Reynolds e Mccrory (2006) 
13 
 
Em um ambiente virtualizado, o arranjo é ligeiramente diferente, pois o SO tem uma 
plataforma virtualizada em que um ou mais VMs são criadas, cada uma com um 
conjunto de hardware separado e capaz de ter um SO e aplicações instaladas 
conforme mostra a figura 2. Esta arquitetura é conhecida como arquitetura hosted 
(MARSHALL; REYNOLDS; MCCRORY, 2006). 
 
 
 Figura 2 – Arquitetura de um sistema virtualizado – hosted 
 Fonte: Marshall, Reynolds e Mccrory (2006) 
 
Soluções comerciais que utilizam este tipo de arquitetura são o VMware Server, 
VMware Fusion, Parallel Inc. Parallels Workstation, Oracle VM VirtualBox e Microsoft 
Windows Virtual PC. 
 
Outro arranjo em ambiente virtualizado é um em que a plataforma de virtualização é 
instalada diretamente em um hardware de computador. Esta forma de virtualização 
provê uma plataforma em que uma ou mais maquinas virtuais possam ser criadas, 
cada uma sendo capaz de ter seu sistema operacional e aplicações sendo 
executadas sobre este (MARSHALL; REYNOLDS; MCCRORY, 2006). A figura 3 
ilustra este exemplo. 
 
14 
 
 
Figura 3 – Arquitetura de um sistema virtualizado – bare-metal 
Fonte: Marshall, Reynolds e Mccrory (2006) 
 
Esta arquitetura é conhecida como arquitetura bare-metal ou hypervisor, e é a mais 
utilizada em ambientes de produção, pois apresenta um desempenho superior em 
relação ao tipo hosted, pois atua diretamente no hardware físico (MARSHALL; 
REYNOLDS; MCCRORY, 2006). Soluções comerciais que utilizam este tipo de 
arquitetura são: VMware ESX/ESXi, Microsoft Hyper-V, Cytrix XenServer e Oracle 
VM Server. 
 
 
 
1.1 PORQUE VIRTUALIZAR? 
 
 
A razão mais comum para virtualizar, segundo Victor et al. (2011), é a consolidação 
de servidores. Hoje em dia o gerenciamento de servidores apresenta grandes 
desafios: Devem permitir adicionar capacidade de processamento enquanto deve 
minimizar custos operacionais, que inclui energia elétrica e sistemas de refrigeração. 
Em datacenters que estão realmente cheios, estes requerimentos obrigam utilizar a 
capacidade de processamento ociosa nos servidores e aumentar a densidade da 
carga de trabalho de novos sistemas (VICTOR et al., 2011). 
 
15 
 
A consolidação de servidores não é o mesmo conceito da utilização de vários 
programas em um único servidor, onde apenas um programa é executado por vez. 
Vários servidores executando ao mesmo tempo, permite a utilização de várias 
aplicações ao mesmo tempo. Qual custo é maior: Cinco computadores executando 
cinco aplicações ou apenas um computador executando cinco aplicações ao mesmo 
tempo? Obviamente, um computador executando cinco aplicações ao mesmo tempo 
terá um custo maior e levará mais tempo para a conclusão do que a outra opção. 
 
 
 
1.2 BENEFÍCIOS DA VIRTUALIZAÇÃO 
 
 
O uso da virtualização de servidores de acordo com Buytaert et al. (2007), traz os 
seguintes benefícios: 
 
a) redução de custos: com o uso da virtualização, vários servidores utilizando o 
mesmo hardware físico impactam em redução de custos com equipamentos, 
gastos com energia elétrica, refrigeração, etc.; 
b) portabilidade: capacidade de ter uma plataforma de hardware consistente ao 
invés de ter hardware real de diferentes fabricantes; 
c) gerenciamento: ambientes virtuais podem ser gerenciados facilmente e 
oferece acesso ao hardware virtual; e 
d) eficiência: quando a virtualização é implantada correta. 
 
 
 
1.3 QUANDO UTILIZAR A VIRTUALIZAÇÃO 
 
 
De acordo com Buytaert et al. (2007), utiliza-se a virtualização de servidores para: 
 
16 
 
a) consolidação de servidores: Permite que muitos servidores físicos sejam 
virtualizados e hospedados em poucos servidores físicos. Muitos servidores 
hoje possui uma utilização baixa de seus recursos, em faixa de 8 a 12% de 
sua utilização; 
b) suporte a aplicações legadas: Permite que sistemas operacionais e 
aplicações que foram descontinuadas e sem suporte a hardwares novos, 
possam ser facilmente migrados para hardwares mais recentes sem riscos de 
incompatibilidade; 
c) suporte a sistemas operacionais múltiplos: este é um beneficio em ambientes 
onde o desenvolvimento e testes em vários sistemas operacionais são 
necessários; 
d) demostrar softwares: Realizar demonstrativos de softwares que podem ser 
executados de uma maneira eficiente e sem grandes esforços para sua 
implantação; 
e) desenvolvimento, testes e depuração: Devido ao fato do forte isolamento 
entre os vários SO em um ambiente virtualizado, torna-se fácil executar 
testes em softwares e análise de erros; 
f) treinamento técnico e E-Learning: Em muitas salas de aulas avançadas, 
tornam-se necessários diversos computadores para cada estudante. Com o 
uso da virtualização, companhias podem reduzir o numero de computadores 
exigidos para cada sala de aula e o tempo necessário para prepará-los para a 
próxima turma; 
g) continuidade de negócios: Virtualização pode ajudar uma empresa a alcançar 
os 99,999% de disponibilidade, ajudando a eliminar os „downtimes’ 
planejados, entregando alta-disponibilidade, soluções de recuperação de 
desastres e ajudar com as soluções de backup;e 
h) HoneyPot: Máquinas virtuais podem ser facilmente configuradas para serem 
HoneyPot, ou seja, máquinas com o objetivo especifico de serem alvos para 
ataques que a rede ou determinadas aplicações podem sofrer, prevenindo 
com isto, que aplicações de produções possam ser comprometidas. 
 
 
 
17 
 
1.4 QUANDO NÃO UTILIZAR A VIRTUALIZAÇÃO 
 
 
Segundo Buytaert et al. (2007), não se utiliza a virtualização quando: 
 
a) testes em virtualização da plataforma x86: Não se pode testar virtualização 
dentro de um ambiente virtualizado. Isto irá tornar o ambiente não usável. 
Esta é uma limitação da plataforma x86; 
b) jogos no computador: Os requerimentos para execução de jogos de 
computador são extremamente grandes e ter a camada de virtualização entre 
o hardware e o jogo pode impactar no desempenho do mesmo; 
c) hardware e periféricos especializados: Não há meios de poder colocar em 
ambientes virtualizados periféricos de hardware customizado. Isto porque não 
há emulação ou representação destes dispositivos em ambiente virtualizado; 
d) testes de performance: A sobrecarga devido a camada de virtualização irá 
causar resultados errôneos na execução de testes de performance; e 
e) depurar drivers de hardware: Devido ao fato de todas as maquinas virtuais 
terem o mesmo hardware, não há como testar ou depurar drivers de hardware 
nesta plataforma. 
 
 
 
1.5 HISTÓRIA DA VIRTUALIZAÇÃO 
 
 
Segundo Marshall, Reynolds e Mccrory (2006), o conceito de virtualização vem 
sendo discutido desde a década de 1950, embora se tornou de fato uma tendência 
com o uso na plataforma x86, na década de 1980. No inicio da década de 1960, a 
IBM introduziu o conceito de “Time Sharing” (tempo compartilhado), que foi a direção 
inicial para a virtualização. 
 
Hoje muitas pessoas associam o termo “Time Sharing” com mainframes, mas 
possivelmente a plataforma x86 foiintroduzida a virtualização neste mesmo 
18 
 
conceito, mas sobre o nome de computação “On-Demand”. Em 1964, IBM introduziu 
o IBM System/360, que tinha capacidade limitada de virtualização e foi arquitetada 
pelo legendário Gene Amdahl. Mais tarde em 1964, o CP-40 foi lançado e houve a 
primeira menção de máquinas virtuais e memória virtual. Em 1965, o System/360 
Modelo 67 foi desenvolvido, juntamente com o TSS (Time Sharing System). Este foi 
seguido em 1967 por outro lançamento do CP-40 e CMS, que colocou em produção 
um sistema suportando 14 VMs, cada uma com 256k de memória virtual 
(MARSHALL; REYNOLDS; MCCRORY, 2006). 
 
Uma nova iteração do CP-40 chamada CP-67 Versão 1 foi lançada em 1968. Esta 
possuía uma capacidade e estabilidade superior em relação ao antecessor. O CP-67 
Versão 2 em 1969 ganhou um novo agendador e suporte a PL/I. Em 1970 a versão 
3 do CP-67 tinha suporte a reserva de armazenamento que garantia melhor 
performance e adição de instrução SLT (MARSHALL; REYNOLDS; MCCRORY, 
2006). Finalmente em 1971, a versão 3.1 do CP-67 foi liberada com melhorias no 
desempenho de I/O. 
 
Em 1972, o System/370 Advanced Function foi liberado e possuía um novo 
hardware de relocação de endereços e suporte a quatro novos sistemas 
operacionais: VM/370, DOS/VS, OS/VS1 e OS/VS2. Como a tecnologia da 
virtualização começou a tornar-se popular na comunidade IBM, a MVMUA 
(Associação Metropolitana de Usuários de Maquinas Virtuais) foi fundada em Nova 
York, em 1973. A introdução do VM/370 Release 2 em 1974 continha a primeira 
iteração do VMA (Virtual machine Assist) Microcode. Também em 1974, Gerald J. 
Popek e Robert P. Goldberg criou um conjunto de requerimentos formais para 
arquiteturas, intitulado “Formal Requirements for Virtualizable Third Generation 
Architectures” (MARSHALL; REYNOLDS; MCCRORY, 2006). 
 
Durante o período de 1974 a 1987, não houve avanços nesta área. Mas com o 
avanço da internet houve grande necessidade pelo suporte TCP/IP. Em 1987, a VM 
TCP/IP também conhecida como FAL tornou o TCP/IP disponível para máquinas 
virtuais (MARSHALL; REYNOLDS; MCCRORY, 2006). Durante as décadas de 1980 
a 1990, a necessidade de virtualização foi abandonada devido ao fato do 
crescimento da plataforma x86, com o uso de minicomputadores e de baixo-custo 
19 
 
(MARSHALL; REYNOLDS; MCCRORY, 2006). Ao invés de compartilhar recursos de 
forma centralizada, baseada no modelo de mainframes, as organizações passaram 
a adotar os sistemas distribuídos de baixo custo (MARSHALL; REYNOLDS; 
MCCRORY, 2006). 
 
De acordo com Buytaert et al. (2007), a grande adoção do Linux e Windows como 
sistemas operacionais emergentes em servidores estabilizou a plataforma x86 como 
um novo padrão da indústria. Entretanto, a crescente demanda e o forte crescimento 
de servidores x86 e ambientes desktop apresentou um novo conjunto de 
infraestrutura de TI e desafios operacionais para este cenário. 
 
Em 1988, uma pequena companhia chamada Connectix Corporation foi fundada e 
provia soluções para sistemas da Apple Macintosh (MAC). A Connectix começou a 
tornar-se conhecida por suas soluções inovadoras para resolver problemas que a 
Apple não podia ou não queria resolver (BUYTAERT et al., 2007). 
 
A experiência com a plataforma MAC e PC levou a Connectix a criar um produto 
chamado Connectix Virtual PC 1.0 para MAC. O Virtual PC 1.0 foi uma verdadeira 
façanha de programação que incorporou um mecanismo de tradução de binários 
para traduzir instruções de um processador Intel x86 virtual para um processador 
PowerPc físico utilizado no MAC (BUYTAERT et al., 2007). Este exemplo de 
emulação levou a Connectix à tecnologia da virtualização. 
 
Em 1998, uma companhia chamada VMware foi fundada por Diane Greene e seu 
marido, Dr. Mendel Rosenblum junto com dois estudantes da Universidade de 
Stanford e um colega de trabalho de Berkley (MARSHALL; REYNOLDS; 
MCCRORY, 2006).. Em outubro de 1998, estes fundadores patentearam uma nova 
tecnologia de virtualização baseadas em pesquisas conduzidas na universidade de 
Stanford. Esta patente foi obtida em 28 de maio de 2002 (MARSHALL; REYNOLDS; 
MCCRORY, 2006). 
 
A VMware introduziu a plataforma “VMware Virtual Plataform” em 8 de fevereiro de 
1999. Este produto é considerado por muitos como sendo o primeiro produto 
20 
 
comercial para virtualização na plataforma x86. Mais tarde, este produto tornou-se o 
VMware Workstation (MARSHALL; REYNOLDS; MCCRORY, 2006). 
Em 2000, a VMware lançou sua primeira plataforma de virtualização para servidores, 
o VMware GSX Server 1.0. Este produto era instalado sobre sistemas operacionais 
Windows ou Linux. No ano seguinte, com o lançamento do VMware ESX Server 1.0, 
houve uma melhoria significativa, pois este era instalado diretamente no bare-metal 
e provia maior estabilidade e alta-performance por possuir um nativo hypervisor, 
também conhecido como Virtual machine Monitor (VMM). De 2002 até os dias 
atuais, o VMware continuou a liberar versões de atualizações de ambos os 
produtos: GSX Server (ultimamente chamado de VMware Server) e plataforma ESX, 
adicionando novas capacidades e aumento de performance (MARSHALL; 
REYNOLDS; MCCRORY, 2006).. 
 
A Connectix criou um relacionamento com a Microsoft que consistia na inclusão de 
pacotes do sistema operacional Microsoft com o Connectix Virtual PC para produtos 
Mac. E mais tarde, eles providenciaram a tecnologia de emulação PocketPC 
embutida na aplicação Visual StudioNET da Microsoft. No começo de 2003, ela 
entrou no campo da virtualização de servidores x86 com sua versão “release 
candidate” do Connectix Virtual Server. Entretanto, o Connectix Virtual Server nunca 
entrou no mercado, porque a Microsoft adquiriu os direitos de propriedade intelectual 
do Virtual PC para Mac e Windows como também do Connectix Virtual Server 
(MARSHALL; REYNOLDS; MCCRORY, 2006).. 
 
O plano de virtualização da Microsoft focava-se no suporte a aplicações legadas, 
consolidação de servidores e automação de desenvolvimento de softwares e 
ambientes de teste. Eles liberaram seus primeiros produtos de virtualização, o 
Microsoft PC 2004, no dia 02 de dezembro de 2003. Devido ao fato de aprimorar a 
segurança, o projeto acabou tendo atrasos e em meados de 2004 foi liberadas duas 
versões, o Microsoft Virtual Server 2005 Standard Edition e o Microsoft Virtual Server 
2005 Enterprise Edition (MARSHALL; REYNOLDS; MCCRORY, 2006).. 
 
Assim como Connectix, a VMware também foi adquirida. A companhia foi adquirida 
pela EMC Corporation em nove de janeiro de 2004, embora continuasse atuando 
como uma subsidiaria independente, sendo ainda dirigida pela CEO Diane Greene. 
21 
 
Em agosto de 2007, a EMC tornou a VMware pública e vendeu cerca de 10 % da 
companhia, ganhando algo em torno de um bilhão de dólares (MARSHALL; 
REYNOLDS; MCCRORY, 2006).. 
 
Enquanto isto, outra tecnologia de virtualização de servidores estava sendo 
desenvolvida: a Xen (MARSHALL; BEAVER; MCCARTY, 2009). Este projeto foi 
descrito primeiramente em um ensaio apresentado na SOSP em 2003. Em outubro 
do mesmo ano, a versão 1.0 foi liberada. Originalmente, a Xen foi desenvolvida pelo 
“Systems Research Group” no laboratório de computação da universidade de 
Cambridge, como parte do projeto XenoServers, e foi fundada pelo UK-EPSRC. 
Desde então, Xen ganhou maturidade e se tornou um projeto que possibilitou 
pesquisas para melhorar técnicas para virtualizar recursos tais como CPU, memoria, 
discos e redes. Ian Pratt, professor sênior de Cambridge, liderou o projeto e ajudou a 
fundar a XenSource, Inc., uma companhia responsável pelo desenvolvimento do 
projeto Xen open-soucee também criou e vendeu uma versão do software comercial 
e empresarial. Contribuidores deste projeto incluem empresas como AMD, HP, IBM, 
Intel, Novell, RedHat e XenSource (MARSHALL; REYNOLDS; MCCRORY, 2006).. 
 
Conforme Williams e Garcia (2007), em 2006, XenSource liberou a primeira versão 
do XenEnterprise 3.0, um produto baseado no Xen v3.0.3 e criado para competir 
diretamente com o produto VMware ESX. Em agosto de 2007, XenSource Anunciou 
a liberação do XenEnterprise v4, baseada no Xen 3.1, que estava mais estável e 
tentou ser competitiva com produtos concorrentes como o VMware ESX. Neste 
mesmo mês, a Citrix anunciou que iria fazer como a EMC e a Microsoft em relação à 
plataforma de virtualização e adquiriu a XenSource por aproximadamente 500 
milhões de dólares. 
 
Com a tecnologia de hypervisor como VMware ESX e Xen começou a dominar a 
plataforma de virtualização de servidores, a Microsoft passou a focar em algo mais 
competitivo do que o Microsoft Virtualx Server. Com o desenvolvimento do Longhorn 
ou Windows Server 2008, a companhia iniciou o desenvolvimento da sua própria 
tecnologia de hypervisor, originalmente chamada Viridian e depois chamada Hyper-
V (MORIMOTO; GUILLET, 2009). 
 
22 
 
Fabricantes de chips como Intel e AMD continuaram a introduzir novas tecnologias 
para prover melhor suporte para virtualização na camada de hardware. Estas 
tecnologias incluem processadores multinúcleos, tecnologia de virtualização Intel 
(originalmente conhecida como Vanderpool e Silvervale), e AMD-V/SVM 
(originalmente conhecida como Pacifica). Estas tecnologias de virtualização no nível 
de hardware permitiram plataformas de virtualização tornarem-se mais eficientes. As 
tecnologias Intel-VT e AMD-V interceptaram estas instruções e passaram a controlar 
o hypervisor para não haver a necessidade de uma camada de software complexa 
podendo ocasionar problemas de desempenho. As instruções de virtualização 
adicionadas nos processadores AMD e Intel têm ajudado a criar novas plataformas 
de virtualização desde que tecnologias adicionais têm removido uma das barreiras 
de entrar no mercado da virtualização (MARSHALL; REYNOLDS; MCCRORY, 
2006). 
 
23 
 
Capítulo 2 
 
 
2 TIPOS DE VIRTUALIZAÇÃO 
 
 
 
Atualmente existem diversas tecnologias e formas de virtualização na plataforma 
x86 (VICTOR et al., 2011). O conjunto de tecnologias de virtualização utilizado nos 
sistemas de servidores empresariais é geralmente referido como tecnologias de 
particionamento. Como mencionado no capitulo anterior, o foco deste trabalho é a 
virtualização de servidores através de software („partitioning software‟), mas é 
importante salientar que existem outras formas, tais como „hadware partitioning’, por 
aplicação, recursos e serviços, assim como tipos de virtualização por sistema 
operacional em ambientes „runtime‟. 
 
 
 
2.1 PARTICIONAMENTO DE HARDWARE 
 
 
Segundo Marshall, Reynolds e Mccrory (2006), particionamento de hardware refere-
se à tecnologia de hardware altamente especializado, que permitem que os recursos 
de um único computador sejam divididos em múltiplas partições, as chamadas „hard 
partitions‟, onde cada uma pode hospedar uma instância de um sistema operacional. 
A figura 4 ilustra como funciona a virtualização por particionamento por hardware. 
 
Particionamento por hardware existe a um bom tempo, originando dos sistemas 
mainframes da IBM. Nos dias atuais existem diversas tecnologias de 
particionamento por hardware disponíveis, cada qual implementação proprietária e 
requer hardware e software específicos para serem utilizados. Em algumas 
implementações, somente um ou dois sistemas operacionais muito específicos 
possui suporte. Geralmente todos os componentes requeridos são disponíveis de 
24 
 
um único fornecedor, devido a sua natureza proprietária (MARSHALL; REYNOLDS; 
MCCRORY, 2006). 
 
 
 Figura 4 – Particionamento por hardware 
 Fonte: Marshall, Reynolds e Mccrory (2006) 
 
 
 
2.1.1 Vantagens 
 
 
As vantagens, de acordo com Marshall, Reynolds e Mccrory (2006), do 
particionamento de hardware em relação ao por software, são: 
 
a) grande eficiência no compartilhamento de recursos e gerenciamento de 
capacidade. Estes sistemas são mais eficientes do que o particionamento por 
software porque o gerenciamento de recursos entre as „hard partitions‟ são 
mantidos utilizando componentes de hardware separados (memory, storage, 
chips, etc.); 
b) o software especializado (geralmente chamado de microcode) que executa o 
gerenciamento de recursos reside em componentes de hardware gerenciados 
por recursos especializados. Com isto, o desempenho disponível em cada 
„hard partition‟ é maximizada e não ocorre sobrecarga; 
25 
 
c) isolamento elétrico: Esta característica de isolamento elétrico entre as „hard 
partitions‟ permite que falhas ocorridas em uma partição não afetem as 
demais;e 
d) alta escalabilidade: Pelo fato de somente hardware altamente especializado 
permitir o particionamento por hardware, estes mesmos apresentam uma alta 
escalabilidade e robustez. 
 
 
 
2.1.2 Desvantagens 
 
 
Segundo Marshall, Reynolds e Mccrory (2006), as desvantagens do particionamento 
de hardware em relação ao por software, são: 
 
a) preço alto: Devido a possuir hardware e software proprietário, os custos de 
aquisição, suporte são elevados e o cliente acaba sendo „refém‟ do 
fornecedor; 
b) suporte limitado de vários sistemas operacionais; 
c) baixa portabilidade: Devido a cada fornecedor possuir tecnologia proprietária, 
a portabilidade de bases instaladas nas „hard partitions‟ fica limitada a 
somente hardwares do mesmo proprietário. 
 
Alguns fornecedores e suas tecnologias atuais. 
- HP – nPartition 
- IBM – LPAR e DLPAR 
- Sun Microsystem – Dynamic System Domain 
- Unisys – Dynamic Partitioning 
 
 
 
2.2 PARTICIONAMENTO LÓGICO 
 
 
26 
 
Particionamento lógico refere-se à separação de ambientes de execução em um 
sistema computacional usando software (MARSHALL; REYNOLDS; MCCRORY, 
2006). Particionamento lógico inclui particionamento por software, particionamento 
de recursos e particionamento de serviços. 
 
 
 
2.2.1 Particionamento por software 
 
 
Conforme Marshall, Reynolds e Mccrory (2006), particionamento por software é uma 
tecnologia baseada em software que permite um computador físico ser dividido em 
múltiplas partições (chamadas de „soft partitions‟ ou máquinas virtuais), cada qual, 
hospedando sua própria e isolada instância de um sistema operacional. Seu 
comportamento é semelhante ao particionamento de hardware, pois múltiplas 
instâncias podem coexistir em um único servidor físico, com a diferença que, pelo 
particionamento por software, o isolamento de cada partição e o gerenciamento dos 
recursos compartilhados é realizado por uma camada especial de software chamada 
„Virtual machine Monitor‟ (VMM) ou Hypervisor (MARSHALL; REYNOLDS; 
MCCRORY, 2006). 
 
O VMM, assim como os sistemas operacionais de cada „soft partition‟, consomem 
recursos do mesmo conjunto de hardware, ou seja, a VMM utiliza-se de recursos de 
hardware, o que ocasiona degradação de desempenho, se comparado com o 
particionamento de hardware. Esta degradação varia de acordo com cada 
implementação, mas sempre causa impacto no desempenho de cada Máquina 
Virtual (MARSHALL; REYNOLDS; MCCRORY, 2006). 
 
Existem dois tipos de particionamento por software de acordo com Marshall, 
Reynolds e Mccrory (2006): 
 
a) hosted: Neste tipo de implementação (conforme figura 5), a camada de 
virtualização é um aplicativoque é instalado em um sistema operacional. As 
27 
 
vantagens deste tipo de implementação é utilizar a capacidade de 
gerenciamento de recursos do sistema operacional utilizado, sua 
compatibilidade de hardware, APIs e desenvolvimento relativamente mais 
simples, assim como seu suporte. Como desvantagens, irá apresentar as 
mesmas deficiências e ineficiências do sistema operacional em que a mesma 
está hospedada; degradação de desempenho devido ao consumo de 
recursos que o sistema operacional que hospeda este apresenta. Algumas 
tecnologias deste tipo de implementação inclui Microsoft Virtual Server, 
Oracle VM VirtualBox e VMware GSX Server, em ambiente Windows e o 
VMware GSX Server e Oracle VM VirtualBox para Linux; 
 
 
Figura 5 – Particionamento por software do tipo hosted 
Fonte: Marshall, Reynolds e Mccrory (2006) 
 
 
b) bare-metal ou Hypervisor: Conforme ilustra a figura 6, neste tipo, a camada de 
virtualização é instalada diretamente no hardware, com isto, apresenta um 
melhor desempenho, pois por não apresentar um sistema operacional 
intermediando, o gerenciamento dos recursos computacionais se torna mais 
eficiente. Atualmente, o VMware ESX Server é a implementação mais madura 
de um sistema de particionamento por software instalado nativamente em 
arquitetura baseada em x86, embora podemos citar outras tecnologias como 
Cytrix XenServer, Microsoft Hyper-V e Oracle VM Server. 
 
28 
 
 
Figura 6 – Particionamento por software instalado nativamente no hardware 
Fonte: Marshall, Reynolds e Mccrory (2006) 
 
Sistemas de particionamento por software utiliza-se de combinação de emulação, 
simulação e „pass-through‟ (passar através) em seus métodos de abstração de 
hardware. Cada máquina virtual „enxerga‟ seu próprio conjunto de recursos de 
hardware que irá consumir. 
 
 
 
2.2.2 Particionamento de aplicações 
 
 
Particionamento de aplicações é uma tecnologia baseada em software que permite 
que recursos do sistema operacional em que uma aplicação dependa de estar 
executando em um ambiente alternativo em um sistema operacional sem o 
conhecimento da mesma (MARSHALL; REYNOLDS; MCCRORY, 2006). 
 
O aplicativo isolado pode ser executado em múltiplas instâncias simultaneamente 
em um mesmo sistema operacional, por um ou mais usuários, sem uma instância de 
aplicação interferindo em outra. Cada instância não tem conhecimento da existência 
de outras, e esta implementação não requer nenhuma mudança no aplicativo para 
que possa ser hospedado em um sistema de particionamento de aplicações. 
 
29 
 
A grande vantagem de um sistema de particionamento de aplicações, segundo 
Marshall, Reynolds e Mccrory (2006), é que qualquer aplicação, independente de ser 
usada por um ou mais usuários, pode ser gerenciada de forma centralizada e ser 
disponível de forma distribuída. Um único servidor pode executar muitas instâncias 
desta aplicação e cada estado da instância desta aplicação é escrito em um 
container separado. Cada container é automaticamente controlado pelo sistema de 
particionamento de aplicações. 
 
O particionamento de aplicações pode consolidar uma única aplicação para 
múltiplos computadores desktops e servidores em um único servidor e a aplicação 
pode ser gerenciada como uma única instância desta aplicação. O próprio sistema 
operacional não é completamente abstraído desta aplicação, somente certos 
subcomponentes, tais como sistema de arquivos, portanto somente aplicações 
executam normalmente em um sistema operacional começando a usar são 
permitidos para ser hospedado em um sistema de particionamento de aplicações. A 
figura 7 ilustra este exemplo (MARSHALL; REYNOLDS; MCCRORY, 2006). 
 
 
Figura 7 – Particionamento de aplicação 
Fonte: Marshall, Reynolds e Mccrory (2006) 
 
 
 
 
 
30 
 
2.2.3 Particionamento de recursos 
 
 
De acordo com Marshall, Reynolds e Mccrory (2006), particionamento de recursos é 
uma tecnologia baseada em software que abstrai como certos recursos do sistema 
operacional são alocados para instâncias de aplicações ou processos individuais 
executando em um sistema operacional (A figura 8 ilustra este tipo de 
particionamento). Esta tecnologia é usada para controlar consumo de recursos de 
aplicações e processos, permitindo maior controle granular que os providos pelo 
sistema operacional (MARSHALL; REYNOLDS; MCCRORY, 2006). 
 
 
 Figura 8 – Particionamento de recursos 
 Fonte: Marshall, Reynolds e Mccrory (2006) 
 
Os sistemas de particionamento de recursos permitem também que o consumo de 
recursos possa ser controlado não somente no nível de aplicações ou recursos, mas 
também por uma combinação de aplicações ou processos e contas de usuários 
(MARSHALL; REYNOLDS; MCCRORY, 2006). 
 
Este tipo de virtualização permite também habilitar qualidade de serviço no sistema 
operacional, pois as instâncias de aplicações ou processos podem passar 
parâmetros, que permitem níveis mínimos e máximos de utilização de recursos tais 
como CPU, memoria e I/O de discos para serem efetivamente controladas e 
gerenciadas (MARSHALL; REYNOLDS; MCCRORY, 2006). Assim, como o 
particionamento de aplicações, este não abstrai o sistema operacional inteiro, ao 
31 
 
invés disto, somente aplicações que devam ser controladas pelo sistema de 
particionamento de recursos são abstraídas. 
 
 
 
2.2.4 Particionamento de serviços 
 
 
Conforme Marshall, Reynolds e Mccrory (2006), o particionamento de serviços é 
uma tecnologia baseada em software em que uma única instância da aplicação 
prove múltiplas e isoladas instâncias de um serviço (conforme figura 9). 
 
 
Figura 9 – Particionamento de serviços 
Fonte: Marshall, Reynolds e Mccrory (2006) 
 
Cada instância do serviço aparece para os consumidores do serviço como sendo 
uma instância de aplicação dedicada (e geralmente oferece uma instância de 
servidor dedicada) (MARSHALL; REYNOLDS; MCCRORY, 2006). Neste tipo de 
virtualização, a abstração ocorre no topo da instância da aplicação, que permite que 
múltiplas instâncias desta aplicação possam coexistir. 
 
De acordo com Marshall, Reynolds e Mccrory (2006), o nível de isolação entre estas 
instâncias pode variar conforme a implementação; ocorrendo casos em que há 
completo isolamento entre as instâncias até o caso em que não há isolamento. 
 
32 
 
 Exemplos comuns deste tipo de virtualização são servidores de banco de dados e 
web. Em um servidor de banco de dados, uma única instância é executada em um 
sistema operacional. Esta instância pode conter diversos bancos de dados. Com o 
particionamento de serviços, cada banco de dados pode ser configurado para 
aparecer para os consumidores do serviço somente como o único do servidor, 
embora possa ter mais de vinte bancos de dados sendo executados 
simultaneamente (MARSHALL; REYNOLDS; MCCRORY, 2006). 
 
Outro exemplo são os servidores web modernos que permitem múltiplos „web sites’ 
virtuais para serem criados e hospedados simultaneamente de uma única instância 
da aplicação (MARSHALL; REYNOLDS; MCCRORY, 2006). Cada „web site‟ é 
isolado um do outro e aparece como se estivesse hospedado em seu próprio 
servidor dedicado, quando na realidade podem ter mais de cem „web sites‟ rodando 
simultaneamente de uma instância de aplicação de servidor web. 
 
 
 
2.2.5 Sistemas Operacionais e ambientes Runtime 
 
 
Embora não seja usualmente descrito como um tipo de tecnologia de virtualização, 
sistemas operacionais são na verdade um dos tipos mais comuns de tecnologias de 
virtualização. Pode-se dizer que um sistema operacional é uma maquina virtual 
implementadaem software usada para abstrair os recursos do hardware do 
computador (MARSHALL; REYNOLDS; MCCRORY, 2006). Aplicativos que residem 
e executam dentro deste sistema operacional, utilizam-se das facilidades deste SO 
para acessar o hardware ao invés deste próprio acessar o hardware, geralmente 
através do modulo chamado driver de dispositivo (MARSHALL; REYNOLDS; 
MCCRORY, 2006). 
 
Alguns frameworks de programação incluem um ambiente runtime designado para 
rodar no topo do sistema operacional. Softwares escritos para serem executados 
neste ambiente rodam no topo do sistema operacional como também dependem 
deste ambiente runtime (ou maquinas virtuais como são chamados) para executar 
33 
 
as tarefas. Este tipo de virtualização não prove um ambiente de execução completo 
e depende do sistema operacional e seus recursos para executar seu trabalho 
(MARSHALL; REYNOLDS; MCCRORY, 2006). Exemplos incluem o framework 
Microsoft .Net e o Sun Java. 
 
 
34 
 
Capítulo 3 
 
 
3 A PLATAFORMA VMWARE SPHERE 
 
 
 
A companhia VMware surgiu em 1998 para prover soluções em virtualização de 
servidores na plataforma x86 (MISHCHENKO, 2011). Em 1999, liberou a versão 
VMware Workstation, que permitia executar vários sistemas operacionais sobre um 
sistema desktop. Isto permitia que alguém do suporte técnico que precisasse testar 
várias versões de sistemas operacionais, tivesse como realizar isto sem a 
necessidade de diversos computadores ou estar reinstalando cada versão 
(MISHCHENKO, 2011). 
 
Em 2001, a VMware lançou duas versões: a VMware GSX Server e ESX Server. A 
VMware GSX Server era semelhante a VMware Workstation, ou seja, um aplicativo 
executado sobre um sistema operacional (Windows ou Linux), com a diferença que 
era instalada em um computador servidor ao invés de um computador desktop. Mais 
tarde, esta versão foi renomeada para VMware Server (MISHCHENKO, 2011). 
 
A VMware ESX Server também foi lançada como uma solução centralizada para 
hospedar maquinas virtuais, mas com a arquitetura diferente em relação ao VMware 
GSX Server. De acordo com Mishchenko (2011), o ESX Server é instalado 
diretamente no hardware do servidor, proporcionando uma maior performance, pois 
não há camadas intermediarias entre o hardware e a plataforma de virtualização, 
elimina vulnerabilidades de segurança e a necessidade de um maior gerenciamento 
exigido por sistemas operacionais como Windows e Linux. A camada de 
virtualização, ou hypervisor, do VMware é denominada VMkernel, desenvolvida 
especificamente para hospedar maquinas virtuais, eliminando consumo significativo 
de recursos e potencias brechas de segurança (MISHCHENKO, 2011). 
 
35 
 
A VMware ESX também introduziu o formato de partição denominado VMFS: 
„VMware Virtual machine File System‟. Em sua primeira versão, este formato apenas 
otimizava as operações das máquinas virtuais. Já na versão 2, conforme 
Mishchenko (2011), a VMware implementou capacidade de clusterização. Com esta 
capacidade, o mesmo volume podia ser acessado por vários hosts, implementando 
o bloqueio por arquivo. A capacidade do sistema de arquivos VMFS e as 
características da plataforma ESX permitiu o lançamento do VMware VirtualCenter 
Server, hoje conhecido por vCenter. O VirtualCenter Server possibilita o 
gerenciamento centralizado dos hosts ESX e inclui características inovadoras como 
o vMotion, que permite a migração de maquinas virtuais entre os hosts ESX, sem 
interrupção e clusters de alta disponibilidade (MISHCHENKO, 2011). 
 
Em 2007, a VMware lançou a segunda geração da plataforma de virtualização bare-
metal, denominada ESXi (ESX integrada). A ESXi 3.5 foi lançada na VMworld 2007, 
onde foi distribuído em um pen-drive de 1GB. O ESXi foi inicialmente desenvolvido 
para ser armazenado nas memórias de somente leitura, ROM, dos servidores, ou 
seja, de uma forma embutida, para tornar o nível da camada de virtualização livre de 
ataques, a instalação de patches menos frequentes e diminuição de consumo de 
energia, pois não necessitava de discos rígidos para serem instalados. Mas o uso da 
plataforma ESXi popularizou-se de duas formas: a embutida, em dispositivos de 
memoria flash, dentro dos servidores e a forma instalada (MISHCHENKO, 2011). 
 
A grande diferença em relação à versão ESX, que esta não possui a console de 
serviço baseada em Linux, que era necessária para gerenciar o ESX. Isto 
proporcionou uma redução significativa no tamanho da instalação do ESX, que 
exigia cerca de 1.1 gigabyte de espaço em disco para cerca de 90 megabyte, na 
ESXi, por isto a opção de se instalar em memorias flash (MISHCHENKO, 2011). 
 
 
 
 
 
 
36 
 
3.1 A ARQUITETURA ESXI 
 
 
Segundo Mishchenko (2011), a tecnologia por trás da arquitetura VMware ESXi 
representa a nova geração da plataforma de virtualização do VMware, que é a 
fundação dos produtos de virtualização da VMware. Através de funcionalidades 
equivalentes do ESX, esta plataforma elimina a necessidade de uma console de 
serviço baseada em Linux, reduzindo significativamente seu tamanho. 
 
O ponto central do ESXi é o VMkernel, como mostrado na figura 10. Este é o 
responsável por controlar o acesso do hardware para o host ESXi. Todos os demais 
processos são executados sobre o VMkernel (MISHCHENKO, 2011). 
 
 
 Figura 10 – Os componentes da arquitetura do VMware ESXi 
 Fonte: Mishchenko (2011) 
 
 O VMkernel é um sistema operacional baseado em POSIX (acrônimo para o nome 
denominado: Portable Operating System Interface, que pode ser traduzido 
como Interface Portável entre Sistemas Operacionais), que é uma família 
de normas definidas pelo IEEE e designada formalmente que tem como objetivo 
garantir a portabilidade do código-fonte de um programa a partir de um sistema 
operacional que atenda as normas POSIX para outro sistema POSIX, desta forma 
37 
 
as regras atuam como uma interface entre sistemas operacionais distintos 
(MISHCHENKO, 2011). 
 
O VMkernel foi desenvolvido pela VMware e é similar a qualquer outro sistema 
operacional em que este usa a criação de processos, sistemas de arquivos e 
threads, mas com a diferença de que o objetivo do VMkernel é somente executar 
maquinas virtuais, ou seja, o hypervisor foca no agendamento de recursos, drivers 
de dispositivos e pilhas de Entrada/Saída (MISHCHENKO, 2011). 
 
A comunicação com o VMkernel é feita através de APIs VSphere. De acordo com 
Mishchenko (2011), as ferramentas utilizadas para este gerenciamento são o 
vSphere Client, vCenter Server, vCLI e outras aplicações, desenvolvidas por 
terceiros, que se comunicam através destas APIs. 
 
Numerosos processos são executados sobre o VMkernel, que provem 
gerenciamento de acesso, monitoramento de hardware, assim como também um 
compartimento de execução em que uma maquina virtual opera (MISHCHENKO, 
2011). Estes processos são conhecidos como processos “user world”, e operam 
similarmente como aplicações em um sistema operacional qualquer, exceto que 
foram desenvolvidos para prover função de gerenciamento especifica para a 
camada de virtualização (MISHCHENKO, 2011). 
 
O processo VMM („Virtual machine Monitor‟, que pode ser livremente traduzido como 
monitor de maquina virtual) é o responsável por fornecer um ambiente de execução 
em que o sistema operacional convidado opera e interage com o conjunto de 
hardware virtual que é apresentado a este (MISHCHENKO, 2011). Cada processo 
VMM tem um processo ajudante correspondente conhecido como VMX e cada 
máquina virtual tem um de cada processo . 
 
O processo hostd provê uma interface programática para o VMkernel. Esta é usadapela API do vSphere e para o vSphere Client quando utilizado para se conectar 
diretamente ao host. Este processo gerencia usuários e grupos locais como também 
avalia os privilégios para os usuários que interagem com o host. O hostd também 
38 
 
funciona como proxy reverso para todas as comunicações com o host ESXi 
(MISHCHENKO, 2011). 
 
Conforme Mishchenko (2011), o VMware ESXi conta com o sistema CIM (Commom 
Information Model, que pode ser traduzido como modelo de informação comum) 
para monitorar o status do hardware. Este provê um conjunto de APIs para 
aplicações remotas poderem consultar o status do hardware do host ESXi. Com isto, 
fornecedores de hardware são aptos a desenvolver seu plug-in CIM especifico para 
realizar este monitoramento. 
 
O processo DCUI (Direct Console User Interface) prove uma console de 
gerenciamento local para ESXi. O DCUI aparece como uma interface parecida com 
a BIOS, como mostrada na figura 11 (MISHCHENKO, 2011). 
 
 
 Figura 11 – A console de administração DCUI 
 Fonte: Mishchenko (2011) 
 
O processo vpxa é responsável pela comunicação com o vCenter Server. Este 
processo roda dentro de um contexto de segurança do vpxuser. Comandos e 
consultas realizadas do vCenter Server são recebidas por este processo antes de 
ser encaminhadas ao processo hostd. O processo agente é instalado e executado 
quando o host ESXi é ligado em um cluster de alta disponibilidade (MISHCHENKO, 
2011). 
 
39 
 
3.2 FERRAMENTAS DE GERENCIAMENTO 
 
 
Como mencionado anteriormente, a arquitetura ESXi é uma plataforma bem enxuta, 
onde somente processos indispensáveis ao funcionamento do host são executados 
neste. O gerenciamento local é feito pela DCUI, que permite realizar operações 
básicas no host: configurar senha do administrador (root), configurar endereço IP da 
placa de rede para gerenciamento de trafego, reiniciar serviços de gerenciamento do 
host, reiniciar ou desligar o host. 
 
Para poder interagir com o ambiente de virtualização, utilizar os recursos disponíveis 
da plataforma ESXi, é necessário aplicações que são executadas remotamente para 
realizar este gerenciamento. Independente se irá gerenciar diretamente o host ESXi, 
ou este gerenciamento irá ser feito através do vCenter Server, a ferramenta mais 
utilizada para tal, é o vSphere Client. A figura 12 mostra a tela principal do vSphere 
Client. 
 
 
Figura 12 – A tela inicial do vSphere Client 
Fonte: Mishchenko (2011) 
 
 
40 
 
Através desta console, é possível verificar as informações e status referentes aos 
componentes de hardware do host (processador, disco, memória, etc), acessar e 
gerenciar as máquinas virtuais. A maioria dos elementos disponíveis para configurar 
o host está na aba Configuration (figura 13). Estas opções estão disponíveis tanto 
acessando diretamente o host como pelo vCenter Server (MISHCHENKO, 2011). 
 
 
Figura 13 – A tela de configuração do ESXi 
Fonte: Mishchenko (2011) 
 
 
Esta aba permite verificar o status dos diversos componentes do hardware do host. 
As opções são exibidas de acordo com o „Common Information Model‟ (CIM) 
instalado no host. Também permite obter informações sobre o processador, tais 
como o modelo deste, o numero de soquetes, núcleos por soquete, e se o recurso 
Hyperthreading está habilitado (MISHCHENKO, 2011). Exibe também algumas 
sobre a placa-mãe do host, incluindo o nome do fabricante, modelo, e a versão da 
BIOS assim como, o total de memória disponível para o host, as configurações 
atuais das redes e armazenamento, gerenciamento de energia, licenciamento, 
sincronização do relógio do host com os servidores de tempo disponíveis na internet, 
além de configurações avançadas (MISHCHENKO, 2011). 
 
 
 
 
 
41 
 
3.3 VMWARE VIRTUALCENTER SERVER 
 
 
O VMware VirtualCenter, é a console de gerenciamento centralizado utilizado em 
ambientes VMware para configurar, provisionar e gerenciar ambientes virtualizados 
nas empresas. Através do vCenter, tecnologias como vMotion, alta disponibilidade e 
agendador de distribuição de recursos são habilitadas, assim como outras 
tecnologias, como segue abaixo (KHNASER, 2011): 
 
a) VMware Update Manager: Uma ferramenta automatizadora utilizada para 
gerenciar atualizações dos hosts ESX/ESXi e máquinas virtuais; 
b) VMware vCenter Converter: Ferramenta de conversão que permite migrar um 
servidor físico ou virtual para uma máquina virtual; 
c) VMware vCenter Guided Consolidation: Ferramenta utilizada para analisar 
uma infraestrutura de servidores físicos e recomendar os servidores físicos 
que são bons candidatos para serem convertidos para máquinas virtuais. 
 
A estrutura do vCenter é exibida conforme a figura 14: 
 
 
 Figura 14 – Os componentes do VMware VirtualCenter Server 
 Fonte: Khnaser (2011) 
42 
 
Os componentes do VMware VirtualCenter Server são (KHNASER, 2011): 
 
a) núcleo: O módulo principal do vCenter, o núcleo permite as máquinas virtuais 
serem provisionadas, agendador de tarefas, registra eventos, etc.; 
b) serviços distribuídos: O modulo que habilita recursos como vMotion, alta 
disponibilidade e agendador de distribuição de recursos; 
c) serviços adicionais: O modulo onde módulos independentes atuam, tais como 
VMware Converter Enterprise e Update Manager; 
d) interface do banco de dados: O canal que conecta ao servidor de banco de 
dados que prove ao vCenter um repositório central para todos seus dados; 
e) gerenciamento de host ESX/ESXi: A interface que permite ao vCenter 
conectar aos hosts ESX/ESXi e gerencia-los; 
f) interface do Active Directory: O canal que é estabelecido com um domínio do 
active directory para estender suporte a usuários e grupos para o vCenter; 
g) vSphere Application Programming Interface (API) e vSphere Software 
Development Kit (SDK): O código de programação que prove um framework 
para desenvolver aplicações customizadas. 
 
 
 
3.3.1 Recursos do ESX/ESXi com o uso do vCenter 
 
 
De acordo com Khnaser (2011), o vCenter permite: 
 
a) gerenciamento em larga escala: Na versão 4.1, um vCenter é capaz de 
gerenciar até 1000 host e até 10000 máquinas virtuais ligadas; 
b) implantação com o uso de assistentes: Possui assistentes que auxiliam na 
criação de máquinas virtuais, tornando o trabalho fácil; 
c) modelos de máquinas virtuais editáveis: Permite salvar uma máquina virtual 
como um modelo (template), o que facilita na criação de novas máquinas 
virtuais utilizando este padrão. O modelo permite atualizações e correções de 
falhas; 
43 
 
d) clonagem de máquinas virtuais: Permite clonar uma máquina virtual para 
realizar um backup completo ou criar um novo servidor quando necessário; 
e) migração “ao vivo” – vMotion: vMotion é uma tecnologia que permite migrar 
uma máquina virtual de um servidor físico para o outro, sem interrupção dos 
serviços, ou seja, usuários que estejam utilizando esta máquina virtual nem 
perceberão esta migração; 
f) Distributed Resource Scheduler (DRS): O DRS, agendador de recursos 
distribuídos, é um recurso que monitora constantemente os servidores físicos 
do VMware ESXi cluster, balanceando as cargas entre todos os servidores, 
através do vMotion, para migrar máquinas virtuais de um host para outro host 
para manter o balanceamento. Pode ser configurado de diversas formas, 
desde uma simples recomendação de migração até para uma politica de 
migração automatizada agressiva; 
g) Distributed Power Management (DPM): O gerenciamento de energia 
distribuída monitora a carga das máquinas virtuais, verificando quando é 
possível distribuir as máquinas virtuais atravésdo cluster DRS, de maneira 
que, quando a carga for baixa, possa desligar servidores físicos ociosos, para 
diminuir o consumo de energia elétrica, ligando automaticamente, quando a 
carga aumentar e for necessário religar estes servidores físicos; e 
h) alta disponibilidade (HA – High availability): O HA é um recurso que permite 
reiniciar todas as máquinas virtuais em um host que teve falha em outro 
membro deste cluster. 
 
 
 
3.3.2 Recursos disponíveis no vCenter através de plug-ins 
 
 
Os recursos disponíveis no vCenter, de acordo com Khnaser (2011) são: 
 
a) conversão física para virtual: Esta funcionalidade permite gerenciar múltiplas 
conversões de máquinas físicas para virtuais utilizando o vCenter Console; 
44 
 
b) plug-in para consolidação: Através do uso de assistentes, o plug-in de 
consolidação irá automaticamente descobrir servidores físicos e analisar sua 
performance para verificar a viabilidade de conversão para máquina virtual; e 
c) plug-in para gerenciamento de atualização: Esta funcionalidade 
automaticamente escaneia e atualiza os servidores ESX/ESXi como também 
máquinas virtuais Linux e Windows. Esta funcionalidade também reduz o 
downtime através da realização de snapshots antes de executar, com a opção 
de desfazer as atualizações. A integração do DRS com o Update Manager 
proporciona um downtime igual a zero quando atualiza hosts ESX/ESXi. 
 
45 
 
Capítulo 4 
 
 
4 A PLATAFORMA MICROSOFT HYPER-V 
 
 
 
Segundo Morimoto e Guillet (2009), a tecnologia Hyper-V foi apresentada com o 
lançamento do Windows Server 2008, para concorrer com outras tecnologias de 
virtualização, tais como VMware e XenServer. O kernel do Windows Server 2008 foi 
reescrito para que esta versão do sistema operacional provesse melhorias em 
relação à tecnologia de virtualização. 
 
A Microsoft, conforme Morimoto e Guillet (2009), com o Hyper-V, simplificou o 
processo de adição de virtualização no ambiente corporativo, pois para adicionar 
este recurso, basta abrir a ferramenta de gerenciamento do servidor e adicionar esta 
opção, sem a necessidade de instalação de programas adicionais (figura 15). 
 
Figura 15 – Hyper-V como um recurso do Windows Server 2008 
Fonte: Morimoto e Guillet (2009) 
 
46 
 
4.1 CARACTERÍSTICAS DO HYPER-V 
 
 
Segundo Morimoto e Guillet (2009), as características do Hyper-V são: 
 
a) executado em ambiente Windows: Diferente de outras plataformas de 
virtualização, que são executadas em plataformas proprietárias ou outros 
sistemas operacionais, como o Linux, o Hyper-V é executado na plataforma 
Windows, familiar para a maioria dos administradores de redes. Isto torna 
rápido o aprendizado desta ferramenta, pois não necessita de aprender um 
novo sistema operacional, ferramentas de gerenciamento ou especializadas. 
A ferramenta de gerenciamento do Hyper-V é simplesmente como qualquer 
outra ferramenta administrativa no Windows. Portanto, a criação de máquinas 
virtuais, o monitoramento destas e o seu gerenciamento é um processo 
familiar para os administradores de TI; 
b) suporte de aplicações Microsoft nesta plataforma de virtualização: Uma 
preocupação quando se virtualiza o ambiente é o suporte que eles receberão 
de seus fornecedores de software (Microsoft, IBM, Oracle, etc). Enquanto 
todos dao suporte a suas aplicações em sistemas de hardware físico, não 
necessariamente garantem este suporte em sistemas virtualizados; 
c) com o lançamento do Hyper-V, a Microsoft anunciou suporte total de suas 
aplicações em ambientes sendo executado sobre o Hyper-V. Produtos como 
o Exchange 2007 SP1, Microsoft Office SharePoint 2007 SP1 são diretamente 
suportados; 
d) Microsoft Hyper-V prove suporte a máquinas virtuais não-Windows: Com o 
lançamento do Hyper-V, a Microsoft preocupou-se em garantir que o Hyper-V 
não irá prover suporte somente para máquinas virtuais com o Windows (como 
Windows Server 2003 e 2008), mas também VMs com o Linux. Garantindo 
suporte para VMs com um variado tipo de sistemas operacionais, a Microsoft 
está permitindo que organizações para consolidar seus sistemas tanto 
Windows como não-Windows em poucos servidores hosts Hyper-V; 
e) Hyper- V é uma plataforma de virtualização bare-metal: Antes do Hyper-V, as 
tecnologias de virtualização do Microsoft eram plataforma de virtualização 
baseada em host, ou seja, eram executadas sobre o sistema operacional e os 
47 
 
recursos exigidos pelas máquinas virtuais eram compartilhados com os 
recursos do sistema operacional host, ou seja, um evento no servidor host 
que causasse uma falha era repassada para as máquinas virtuais também. 
Com a adoção do Hyper-V, os sistemas operacionais das VMs comunicam-se 
diretamente com o hardware sem ter que passar pelo sistema operacional 
host. Isto garante maior independência, escalabilidade, melhor performance e 
maior confiabilidade; e 
f) disponível somente em plataforma x64 bits: O Hyper-V foi lançado na versão 
do Windows Server 2008, na plataforma de x64 bits, disponível somente nas 
versões Standard, Enterprise e Datacenter. 
 
 
 
4.2 GERENCIANDO O HYPER-V 
 
 
O Hyper-V possui diversas ferramentas que gerenciam e administram os servidores 
host e as VMs (MORIMOTO e GUILLET, 2009). Estas ferramentas incluem a 
console de administração do Hyper-V e a console de gerenciamento de servidor do 
Windows 2008. A ferramenta de gerenciamento de servidor é uma interface que 
permite centralizar toda a administração dos serviços do Windows server 2008 
(MORIMOTO e GUILLET, 2009). 
 
Nesta console, estão acessíveis não somente as configurações do Hyper-V, mas de 
outros servidores, como DNS. DHCP, arquivos, etc., como é possível verificar na 
figura 16. 
 
48 
 
 
 Figura 16 – Ferramenta de gerenciamento do Windows Server 2008 
 Fonte: Morimoto e Guillet (2009) 
 
 
A console de administração do Hyper-V é dedicada somente ao gerenciamento do 
Hyper-V (conforme ilustra a figura 17). É possível realizar o gerenciamento tanto do 
servidor local, como de forma remota, bastando informar o endereço do servidor que 
se pretende gerenciar (MORIMOTO; GUILLET, 2009). 
 
49 
 
 
 Figura 17 – Ferramenta de gerenciamento do Hyper-V 
 Fonte: Morimoto e Guillet (2009) 
 
Através destas ferramentas, pode-se configurar os switches virtuais de rede, os 
hosts e o gerenciamento das máquinas virtuais, tais como discos, memória, CPU, 
etc. 
 
 
 
4.3 SYSTEM CENTER VIRTUAL MACHINE MANAGER 2008 
 
 
O System Center Virtual machine Manager 2008(SCVMM 2008) propõe ser uma 
interface de gerenciamento comum para o datacenter virtualizado (MORIMOTO e 
GUILLET, 2009). Isto porque permite não somente gerenciar ambientes Microsoft, 
mas também VMware e XenServer, através de plug-ins de terceiros. 
 
De acordo com Morimoto e Guillet (2009), o SCVMM 2008 utiliza uma abordagem 
holística para gerenciar a infraestrutura virtual, examinando e classificando os hosts 
de virtualização. Através de uma série de critérios, indica qual o melhor host para 
50 
 
hospedar determinada máquina virtual. Este é uma aplicação que administradores 
podem usar para gerenciar um grande numero de VMs através de uma infraestrutura 
virtual (MORIMOTO; GUILLET, 2009). 
 
 
 
4.3.1 Componentes do SCVMM 
 
 
Conforme Morimoto e Guillet (2009), o SCVMM é composto por uma série de 
componentes, como mostrados a seguir: 
 
a) serviço VMM: O núcleo do SCVMM. Uma aplicação que é instalada em 
versões do Windows Server 2003 SP1 ou posterior; 
b) banco de dados SQL Server. Este banco contem todos os objetos do VMM. 
c) agentelocal: Componente instalado nos servidores hosts do Hyper-V, 
responsável por comunicar-se com o serviço VMM; 
d) Library Servers: Servidores que funcionam como repositórios de recursos 
para o ambiente VMM; e 
e) console administrativa: Interface em que o administrador interage com o 
serviço VMM. Pode-se interagir através de interface gráfica ou linha de 
comando para gerenciar a infraestrutura física e virtual. O administrador pode 
gerenciar hosts rodando Hyper-V, VMware ESX e Microsoft Virtual Server. A 
console do VMM 2008 (figura 18) possui o padrão de outros produtos 
Microsoft de gerenciamento de sistemas, como o System Center 
Configuration Manager 2007 (SCMM 2007) e o System Center Operation 
Manager 2007 (SCOM 2007). 
 
51 
 
 
 Figura 18 – Ferramenta System Center Virtual machine Manager – SCVMM 2008 
 Fonte: Morimoto e Guillet (2009) 
 
 
 
4.4 AMBIENTE DE ALTA-DISPONIBILIDADE COM HYPER-V 
 
 
Para garantir a disponibilidade dos serviços em um ambiente virtualizado, torna-se 
necessários mecanismos de prevenção a falhas e recuperação de desastres. Em 
ambientes Hyper-V, existem quatro formas de se garantir que não haja interrupção 
conforme Morimoto e Guillet (2009): 
 
a) utilizando funcionalidades de alta-disponibilidade nativas nas aplicações a 
serem protegidas: Algumas aplicações possuem recursos que garanta alta-
disponibilidade, não sendo necessário investir em outras opções. Por 
exemplo, controladores de domínios Windows replicam informações entre si, 
ou seja, não há a necessidade de implantar mecanismos que protejam um 
servidor controlador de domínio, pois caso este pare de funcionar, outro 
controlador assume esta função. Outras aplicações que possui este 
52 
 
comportamento são: servidores de catalogo global do Active Directory, 
servidores web com balanceamento de carga, servidores DNS, etc; 
b) clusterização da máquina virtual. Existe a opção de clusterizar aplicações tais 
como servidores de correio Exchange, SQL Server. Estas aplicações são 
instaladas em máquinas virtuais dispersas em hosts diferentes, e caso algum 
host pare de funcionar, a aplicação clusterizada passa a funcionar 
automaticamente em outro host, garantindo alta-disponibilidade; 
c) clusterização do host: Através da criação de cluster do host, ou seja, a criação 
de um cluster Hyper-V, garante que todas as máquinas virtuais de um host 
que apresente falhas, seja automaticamente reiniciada em outro host. Isto é 
possível através do uso de um storage compartilhado. Esta solução é 
indicada para aplicações que não possuam mecanismos de alta-
disponibilidade nativos; e 
d) adquirindo uma aplicação de terceiros para alta-disponibilidade e recuperação 
de desastres: Esta é uma estratégia utilizada quando há uma necessidade de 
disponibilidade mais alta do que as soluções apresentadas anteriormente e é 
necessária a aquisição de ferramentas especializadas para este caso. 
53 
 
Capítulo 5 
 
 
5 PLATAFORMA XEN 
 
 
 
O Xen é um hypervisor de plataforma aberta (open-source), para arquiteturas de 
processadores de 32 ou 64 bits (BUYTAERT et al., 2007). É uma plataforma de 
virtualização tipo bare-metal, que habilita executar diversos tipos de sistemas 
operacionais em um mesmo computador host ao mesmo tempo. As máquinas 
virtuais são executadas com segurança e eficiência com desempenho próximo do 
nativo. 
 
Conforme Buytaert et al. (2007), o projeto Xen originou-se de um projeto de 
pesquisa do Grupo de Pesquisa de sistemas (Systems Research Group) no 
Laboratório de Computação da Universidade de Cambridge e foi baseado no 
XenoServers do Conselho de Pesquisas dos Engenheiros e Cientistas de Física do 
Reino Unido. 
 
O objetivo do projeto foi prover uma infraestrutura publica a nível global e acessível 
para propósitos de computação distribuída, com uma dedicação especial para 
pesquisas de sistemas, e liderados pelo pesquisador sênior Ian Pratt, o projeto 
produziu o hypervisor Xen como uma tecnologia de núcleo (BUYTAERT et al., 
2007). 
 
O Xen foi liberado para o público utilizando uma abordagem de dois passos: 
Primeiramente, Ian Pratt, juntamente com outros colaboradores liberaram um ensaio 
intitulado “Xen and the Art of Virtualization” (em tradução livre seria Xen e a Arte da 
Virtualização), no Simpósio bi-anual de Princípios de Sistemas Operacionais, 
descrevendo o hypervisor e a abordagem para trazer virtualização para a arquitetura 
x86 em outubro de 2003 (BUYTAERT et al., 2007). Ao mesmo tempo, a versão 1.0 
tornou-se disponível para download. Desde então, Xen cresceu e tornou-se maduro, 
54 
 
sendo peça-chave em muitas implementações. Xen também é tecnologia base para 
uma abordagem de mudança para modelos de hospedagem e Software como um 
serviço (SaaS) (WILLIAMS; GARCIA, 2007). 
 
O desenvolvimento do Xen na comunidade open-source é agora liderada pela 
XenSource, fundada por Pratt. Através de um canal para soluções comerciais para 
empresas baseadas na tecnologia Xen, XenSource é muito comprometida para o 
crescimento da comunidade Xen, promovendo e inspirando desenvolvedores para 
que o hypervisor Xen tenha este estado atual, e dedicando esforços próprios para o 
desenvolvimento deste também (BUYTAERT et al., 2007). 
 
 
 
5.1 CARACTERÍSTICAS DO XEN 
 
 
O Xen oferece um conjunto de funcionalidades a nível empresarial, tornando-o um 
excelente candidato para implementações grandes executando aplicações criticas 
como também em pequenos e médios negócios. Para Williams e Garcia (2007), 
estas características incluem: 
 
a) máquinas virtuais com performance comparada a nativa; 
b) suporte a convidados Linux, Windows e Solaris; 
c) conversão P2V (Física para Virtual) e V2V (Virtual para Virtual); 
d) suporte a storage compartilhado do tipo SAN , iSCSI e NAS; 
e) gerenciamento de multi-servidores centralizado; 
f) arquitetura de gerenciamento distribuída flexível; 
g) suporte total em plataforma x86 (32 bits), x86 (32 bits) com PAE – Extensão 
de endereço físico (Physical Address Extension), e x86 com extensões 64 
bits; 
h) gerenciamento dinâmico de memória - Controle automático de alocação de 
memória entre as máquinas virtuais evitando o uso de swap; 
i) scheduler BVT – Balanceamento de CPU para cada máquina virtual no 
processador central. O XEN toma decisões de balanceamento de carga 
55 
 
otimizando o processamento, se uma máquina virtual estiver ociosa o XEN 
transfere a carga do processador para uma outra máquina virtual, conforme o 
peso atribuído para cada máquina virtual; 
j) transferência de disco e partições para as máquinas virtuais: com o XEN é 
possível exportar dispositivos (HDs, partições, etc..) para as máquinas virtuais 
de forma simples e segura, através dos protocolos de rede padrão (NFS, 
iSCSI, NBD, etc.); 
k) VBD: No XEN é possível transformar espaço livre, partição, LVM e NFS em 
discos rígido para as máquinas virtuais; e 
l) migração de Máquina Virtual para Máquina Real : XEN realização a migração 
de máquinas virtuais, para um máquina física em tempo real, não havendo a 
necessidade de parar ou reinicializar sua máquina ou serviço. 
 
 O Xen foi inicialmente desenvolvido para a arquitetura x86, mas foi feito suporte 
para arquiteturas como Itanium e Itanium 2 (IA-64) e IBM PowerPC. 
 
 
 
5.2 PARAVIRTUALIZAÇÃO COM XEN 
 
 
De acordo com Williams e Garcia (2007), o Xen possui uma maneira simples de 
trabalhar em uma arquitetura complexa como o x86. Uma das maneiras para 
conseguir isto, foi separar os “Como”, “Quando” e “O que”. Outras implementações 
de hypervisor da plataforma x86 colocam a

Outros materiais