Vous êtes sur la page 1sur 17

Mquinas Virtuais 1

Mquinas Virtuais

Alessandro Cordeiro de Lima


Mquinas Virtuais 2

INDICE

Introduo........................................................................................................................................3

Tipos de Virtualizao......................................................................................................................5

Tipos de maquinas virtuais...............................................................................................................5

Mquinas Virtuais de Sistema...........................................................................................................6

Mquinas Virtuais de Aplicao......................................................................................................10

Mquinas Virtuais de Sistema Operacional.....................................................................................12

Maquinas Virtuais em Data Center..................................................................................................14

Bibliografia......................................................................................................................................17

Alessandro Cordeiro de Lima


Mquinas Virtuais 3

Introduo

Definies e conceitos

Na cincia da computao, mquina virtual o nome dado a uma mquina, implementada atravs
de software, que executa programas como um computador real, tambm chamado de processo
de virtualizao.
Uma mquina virtual (Virtual Machine VM) pode ser , definida como uma duplicata eficiente e
isolada de uma mquina real. A IBM define uma mquina virtual como uma cpia isolada de um
sistema fsico, e esta cpia est totalmente protegida.
Mquinas virtuais so extremamente teis no dia a dia, pois permitem ao usurio rodar outros
sistemas operacionais dentro de uma janela, tendo acesso a todos os softwares que precisa. Existem
alguns termos importantes que devem ser destacados:
a) Host Server: o servidor fsico em que roda as mquinas virtual, tambm conhecido como sistema
operacional hospedeiro.

b) Guest Operation System: um sistema operacional virtualizado rodando em um host server (servi-
dor fsico), tambm conhecido como sistema operacional visitante.

c) Resource Pool: a coleo de recursos do hardware, incluindo host servers que criam a infraestru-
tura de um data center.

d) Virtual Appliances:so maquinas virtuais pr-configuradas com um sistemas operacional e apli-


cativos, pronto para funcionar.

e) Modo de usurio e o modo supervisor: O modo de usurio, tambm chamado de espao de apli-
cao, modo no qual as aplicaes normalmente so executadas. Neste modo, no possvel exe-
cutar as instrues privilegiadas, que so restritas ao modo de supervisor.
O modo de supervisor tem o controle total sobre a CPU, podendo executar todas as instrues do
conjunto de instrues do processador em questo, tanto as no-privilegiadas como as privilegiadas.
O sistema operacional executado neste modo. Antes de o sistema operacional passar o controle da
CPU para uma aplicao do usurio, o bit de controle de modo configurado para o modo de
usurio.

f) Virtual Machine Monitor ou Hypervisor: um componente de software que hospeda as mquinas


virtuais. O Hypervisor responsvel pela virtualizao e controle dos recursos compartilhados pelas
mquinas virtuais, tais como, processadores, dispositivos de entrada e sada, memria,
armazenagem. Tambm funo do Hypervisor escalonar qual mquina virtual vai executar a cada
momento, semelhante ao escalonador de processos do Sistema Operacional.
O Hypervisor executado no modo de supervisor, no entanto as mquinas virtuais so executadas
em modo de usurio. Como as mquinas virtuais so executadas em modo de usurio, quando estas
tentam executar uma instruo privilegiada, gerada uma interrupo e o Hypervisor se encarrega
de emular a execuo desta instruo.

Alessandro Cordeiro de Lima


Mquinas Virtuais 4

Vantagens e desvantagens
Existem diversas vantagens na virtualizao, a seguir sero citadas as principais:

Segurana: Usando mquinas virtuais, pode ser definido qual o melhor ambiente para
executar cada servio, com diferentes requerimentos de segurana, ferramentas
diferentes e o sistema operacional mais adequado para cada servio. Alm disso, cada
mquina virtual isolada das demais. Usando uma mquina virtual para cada servio, a
vulnerabilidade de um servio no prejudica os demais.
Confiana e disponibilidade: A falha de um software no prejudica os demais servios.
Custo: A reduo de custos possvel de ser alcanada com a consolidao de pequenos
servidores em outros mais poderosos. Essa reduo pode variar de 29% a 64%.
Adaptao s diferentes cargas de trabalho: Variaes na carga de trabalho podem ser
tratadas facilmente. Ferramentas autnomas podem realocar recursos de uma mquina
virtual para a outra.
Balanceamento de carga: Toda a mquina virtual est encapsulada no VMM. Sendo
assim fcil trocar a mquina virtual de plataforma, a fim de aumentar o seu
desempenho.
Suporte a aplicaes legadas: Quando uma empresa decide migrar para um novo Sistema
Operacional, possvel manter o sistema operacional antigo sendo executado em uma
mquina virtual, o que reduz os custos com a migrao. Vale ainda lembrar que a
virtualizao pode ser til para aplicaes que so executadas em hardware legado, que
est sujeito a falhas e tem altos custos de manuteno. Com a virtualizao
desse hardware, possvel executar essas aplicaes em hardwares mais novos, com
custo de manuteno mais baixo e maior confiabilidade.

Por outro lado, existem as desvantagens da virtualizao, sendo as principais:


Segurana: Segundo Neil MacDonald, especialista de segurana da Gartner, hoje em dia,
as mquinas virtuais so menos seguras que as mquinas fsicas justamente por causa do
VMM. Este ponto interessante, pois se o sistema operacional hospedeiro tiver alguma
vulnerabilidade, todas as mquinas virtuais que esto hospedadas nessa mquina fsica
esto vulnerveis, j que o VMM uma camada de software, portanto, como
qualquer software, est sujeito a vulnerabilidades.
Gerenciamento: Os ambientes virtuais necessitam ser instanciados, monitorados,

Alessandro Cordeiro de Lima


Mquinas Virtuais 5

configurados e salvos. Existem produtos que fornecem essas solues, mas esse o
campo no qual esto os maiores investimentos na rea de virtualizao, justamente por se
tratar de um dos maiores contra-tempos na implementao da virtualizao.
Desempenho: Atualmente, no existem mtodos consolidados para medir o desempenho
de ambientes virtualizados. No entanto, a introduo de uma camada extra
de software entre o sistema operacional e o hardware, o VMM ou hypervisor, gera um
custo de processamento superior ao que se teria sem a virtualizao.

Tipos de virtualizao

a) Full virtualization - onde a mquina virtual simula todo o hardware para permitir que um sistema
operacional guest seja executado de maneira isolada. Esse seria o caso da emulao.

b) Virtualizao auxiliada pelo hardware - quando o prprio hardware (processador) possui, em sua
arquitetura, suporte a execuo de mquinas virtuais de modo isolado. Um bom exemplo so os
novos processadores da AMD e Intel.

c) Para-virtualizao - em linhas gerais, o sistema operacional da mquina virtual "sabe" que est
rodando num ambiente virtualizado. H um elemento, chamado Hypervisor, que podemos dizer
tratar-se de uma API para que o sistema operacional guest tenha acesso ao hardware.

A Para-virtualizao uma alternativa virtualizao total. Nesse modelo de virtualizao, o


sistema operacional modificado para chamar o VMM sempre que executar uma instruo que
possa alterar o estado do sistema, uma instruo sensvel. Isso acaba com a necessidade da VM
testar instruo por instruo, o que representa um ganho significativo de desempenho. Outro ponto
positivo da para-virtualizao que os dispositivos de hardware so acessados por drivers da
prpria mquina virtual, no necessitando mais do uso de drivers genricos que inibiam o uso da
capacidade total do dispositivo.

Tipos de mquinas virtuais

- Mquinas virtuais de processo (Process Virtual Machines): tambm chamadas de mquinas


virtuais de aplicao, so ambientes construdos para prover suporte de execuo a apenas um
processo ou aplicao convidada especfica. A mquina virtual Java e o Common Language
Runtime (CLR) so exemplos deste tipo de ambiente.

- Mquinas virtuais de sistema operacional (Operating System Virtual Machines): so construdas


para suportar espaos de usurio distintos sobre um mesmo sistema operacional. Embora
compartilhem o mesmo ncleo, cada ambiente virtual possui seus prprios recursos lgicos, como
espao de armazenamento, mecanismos de IPC e interfaces de rede distintas. Os sistemas Solaris
Zones e FreeBSD Jails implementam este conceito.

- Mquinas virtuais de sistema (System Virtual Machines): so ambientes de mquinas virtuais


construdos para emular uma plataforma de hardware completa, com processador e perifricos. Este
tipo de mquina virtual suporta sistemas operacionais convidados com aplicaes convidadas
executando sobre eles. Como exemplos desta categoria de mquinas virtuais temos os ambientes
VMware e VirtualBox.

Alessandro Cordeiro de Lima


Mquinas Virtuais 6

Mquinas virtuais de sistema

VMware

VMware um software/mquina virtual que permite a instalao e utilizao de um sistema


operacional dentro de outro dando suporte real a software de outros sistemas operativos. Sua
arquiteturas x86, x86-64, IA-32, IA-64 e PowerPC.
Usando software de virtualizao como o VMware possvel executar um ou mais sistemas
operacionais simultaneamente num ambiente isolado, criando computadores completos (virtuais) a
executar dentro de um computador fsico que pode rodar um sistema operacional totalmente
distinto. Do ponto de vista do utilizador e do software nem sequer se nota a diferena entre a
mquina real e a virtual. muito usado em centros de dados, pois permite criar redundncia e
segurana adicional sem recorrer a tantas mquinas fsicas e distribuindo e aproveitando melhor os
recursos das mquinas hospedeiras. Abaixo h uma descrio sobre o software:
a) Sistema Operacional:
- Multiplataforma
b) Licena:
- Proprietria
c) Verses do Produto (alguns exemplos):
- Produtos de data center e infraestrutura em nuvem: vSphere, Vmware vCenter Site Recovery
Manager.
- Gerenciamento na nuvem e data center: Vmware vCenter Operations Management Suite, Vmware
vCloud Director.
- Infraestrutura como servio: VMware vCloud Hybrid Service.
- Computao mvel e virtualizao de desktop: VMware Horizon Suite
- Desktop pessoal: VMware Fusion, Workstation, Player Plus.
- Produtos gratuitos: Vmware vCenter Converter, VMware vSphere Hypervisor.

XEN

O Xen um software multiplataforma, com licena software livre e arquiteturas x86, x86-64, IA-
32, IA-64 e PowerPC sendo tambm um dos mais populares exemplos de para-virtualizao. Na
virtualizao total, o sistema operacional visitante tenta executar tarefas protegidas e, por estarem
no espao de aplicao do sistema operacional hospedeiro, no podem ser executadas. No entanto, o
hypervisor intervem e executa ou simula a execuo dessas, o que reduz o desempenho da
virtualizao total. J a para-virtualizao apresenta-se como uma alternativa a isso, na medida em
que o sistema operacional visitante modificado para no tentar executar diretamente na CPU as
tarefas protegidas, mas entregar essas ao Hypervisor. Este tipo de virtualizao tem um ganho de
desempenho significativo frente total.
Uma das maiores vantagens do uso do Xen como hypervisor na para-virtualizao o fato de que
este apresenta um desempenho melhor do que os produtos de virtualizao total, quando a mquina

Alessandro Cordeiro de Lima


Mquinas Virtuais 7

fsica hospedeira no tem instrues de hardware de suporte a virtualizao. No entanto, h a


necessidade de que o sistema visitante seja portado para o Xen, o que no chega a ser uma
desvantagem, j que os sistemas operacionais mais comuns no mercado tm verses para o Xen.
Alguns dos sistemas suportados pelo Xen so: Linux, FreeBSD e o prprio Windows.
A tecnologia de virtualizao provida pelo Xen difere da tecnologia do VMWare. O Xen segue o
conceito da para-virtualizao, que fornece um conjunto de abstraes (processador virtual,
memria virtual, rede virtual etc.) sobre o qual diferentes sistemas podem ser portados. As
abstraes no so necessariamente similares ao hardware da mquina fsica hospedeira.
Para entender como o Xen implementa a para-virtualizao, importante salientar dois conceitos: o
de domnio e o de hypervisor. Os domnios so as mquinas virtuais do Xen. Essas podem ser de
dois tipos, privilegiadas (domnio 0) e no-privilegiadas (domnio U). O hypervisor o responsvel
por controlar os recursos de comunicao, de memria e de processamento das mquinas virtuais,
mas no possui os drivers para manipular os dispositivos diretamente.
Quando a mquina hospedeira iniciada, uma mquina virtual do domnio 0, privilegiado, criada.
Esse domnio acessa uma interface de controle e executa aplicaes de gerenciamento. As mquinas
virtuais dos domnios U s podem ser criadas, iniciadas e desligadas atravs do domnio 0. Na
mquina virtual do domnio 0, executado um Linux com ncleo modificado, que pode acessar os
recursos da mquina fsica, j que possui privilgios especiais, e ainda se comunicar com as outras
mquinas virtuais, domnio U.
O sistema operacional do domnio 0 tem que ser modificado para possuir os drivers de dispositivo
da mquina fsica e dois drivers que tratam requisies de acessos rede e ao disco realizadas pelas
mquinas virtuais do domnio U. Em suma, s a mquina virtual do domnio 0 tem acesso direto aos
recursos da mquina fsica, enquanto que as demais mquinas virtuais tm acesso a uma abstrao
dos recursos, que para serem acessados, as mquina virtuais dos domnios U tm que acessar
atravs do domnio 0.

Para a virtualizao da memria, o Xen reserva para cada mquina virtual uma determinada
quantidade de memria, que pode ser alterada a qualquer momento sem a necessidade de terminar
ou reiniciar a mquina virtual. Cada mquina virtual pode ter uma ou mais interfaces de rede

Alessandro Cordeiro de Lima


Mquinas Virtuais 8

virtuais. A comunicao entre as interfaces implementada por dois token rings, um para enviar e
outro para receber.
Atualmente, o Xen conta tambm com um domnio no qual feita a virtualizao total, o que
permite que sistemas operacionais no modificados sejam executados sobre o hypervisor Xen.
Inicialmente, a escolha pela para-virtualizao justificava-se pelo fato de que o ganho em
desempenho era muito maior do que com a virtualizao total. No entanto, com o advento das
arquiteturas AMD-V e Intel VT, arquitetura que do o suporte de hardware para a virtualizao, a
virtualizao total passou a obter resultados de desempenho melhores que os da para-virtualizao.
Vale ressaltar que o domnio de virtualizao total disponvel no Xen a partir da sua verso 3.0, s
pode ser usado nas mquinas hospedeiras que possuam suporte de hardware virtualizao.

Virtual Box

Virtual Box um software de virtualizao desenvolvido pela empresa Innotek depois comprado
pela Sun Microsystems que posteriormente foi comprada pela Oracle que, como o VMware
Workstation, visa criar ambientes para instalao de sistemas distintos. Ele permite a instalao e
utilizao de um sistema operativo dentro de outro, assim como seus respectivos softwares, como
dois ou mais computadores independentes, mas compartilhando fisicamente o mesmo hardware.
Geralmente usado por desenvolvedores de sistemas, ou profissionais de TI.
Virtual Box uma poderosa ferramenta de virtualizao para empresas, bem como uso domstico.
No s o Virtual Box extremamente rico em recursos do produto desempenho, alta para os clientes
corporativos , tambm a nica soluo profissional que est disponvel gratuitamente como
software de cdigo aberto sob os termos da GNU General Public License (GPL) verso 2.
O VirtualBox est a ser ativamente desenvolvido com lanamentos frequentes e tem uma lista
sempre crescente de funcionalidades, os sistemas operacionais suportados convidado e ele roda em
plataformas. VirtualBox um esforo da comunidade apoiada por uma empresa que se dedica :
todos so incentivados a contribuir enquanto a Oracle garante que o produto sempre atende aos
critrios de qualidade profissional. Abaixo h uma descrio sobre o software:
a) Sistema Operacional:
- Multiplataforma
b) Licena:
- GNU/GPL
c) Verses do Produto (alguns exemplos):
- VirtualBox 4.3.6
- VirtualBox Open Source
- VirtualBox Pre-built Appliances

Microsoft Windows Virtual PC

O Windows Virtual PC a tecnologia de virtualizao mais recente da Microsoft. um programa


que emula um computador dentro do seu Windows. Assim sendo, em uma janela ser possvel abrir
outro sistema operacional, como Windows, Linux, MS-DOS, e at criar um HD virtual, que ser um
arquivo salvo dentro da partio de seu Windows mesmo, podendo ser formatado com qualquer

Alessandro Cordeiro de Lima


Mquinas Virtuais 9

sistema de arquivos, sem interferir no sistema real. Resumindo, possvel usar um sistema FAT32,
ReiserFS etc., dentro de um HD formatado em NTFS, por exemplo. O Virtual PC muito til para
empresas, testes de vrus, aprendizado e para rodar sistemas antigos.
Assim sendo o usurio pode rodar Sistemas operacionais distintos e conect-los atravs de um
dispositivo de rede virtual que o instalador disponibiliza dentro de Painel de Controle -> Conexes
de Rede (no caso de Sistemas Microsoft). O Virtual PC permite ainda capturar ISO's de Instaladores
de Sistemas Operacionais, rod-las na forma de uma unidade de CD-ROM tambm virtual, instalar
o S.O. a partir da ISO e, depois de instalado, ainda personalizar o S.O. realizando mais instalaes
de softwares de terceiros, o que facilita por exemplo verificar a migrao de aplicaes entre
plataformas sem precisar de um segundo computador fsico.
a) Sistema Operacional:
- Microsoft Windows
b) Licena:
- Proprietrio
c) Verses do Produto (alguns exemplos):
- 2007 SP1 6.0.192.0

QUEMU
QEMU um software livre (GNU/GPL) que implementa um emulador de processador permitindo
uma virtualizao completa de um sistema PC dentro de outro como tambm multiplataforma
sendo sua ltima verso 1.7.0. Suporta emulao das arquiteturas IA-32 (x86)
PCs, AMD64 PCs, MIPS R4000, Sun SPARC sun4m, Sun SPARC sun4u, ARM development
boards (Integrator/CP and Versatile/PB), SH4SHIX board, e PowerPC (PReP e Power Macintosh).
Quando usado como um emulador de mquina, QEMU pode executar sistemas operacionais e
programas feitos para uma mquina (por exemplo, uma placa ARM) em uma mquina diferente
(por exemplo, seu prprio PC). Usando traduo dinmica, consegue um desempenho muito bom.
Quando usado como um virtualizador, QEMU atinge perto de performances nativas, executando o
cdigo de convidado diretamente na CPU host. QEMU suporta virtualizao ao executar sob o
hypervisor (semelhante a projetos como: Vmware ou Virtual Box) ou usando o mdulo do kernel
KVM no Linux. Ao usar o KVM, QEMU pode virtualizar x86, PowerPC e servidor embutido, e os
hspedes S390.
Observao: KVM (Kernel Virtual Machine) um mdulo do kernel Linux que permite que um
programa de espao de usurio para utilizar os recursos de virtualizao de hardware de vrios
processadores. Hoje, ele suporta recentes processadores Intel e AMD (x86 e x86_64), PPC 440,
PPC 970, S/390, e ARM (Cortex A15) processadores.
O QEMU tem dois modos de operao:
a) Emulao em modo de usurio: O QEMU pode lanar processos Linux ou Darwin/Mac OS
X compilados para uma CPU em outra CPU. As chamadas ao SO alvo so truncadas para
um endianamento e combinaes 32/64bits. Wine e o Dosemu so os alvos principais para o
QEMU.
b) Emulao em modo computador completo: O QEMU emula um computador completo, incluindo

Alessandro Cordeiro de Lima


Mquinas Virtuais 10

um processador e vrios perifricos. Ele pode ser utilizado para prover hospedeiros virtuais de
vrios computadores virtuais em um nico computador.
Mquinas Virtuais de Aplicao

Java Virtual Machine (JVM)

Mquina virtual Java (do ingls Java Virtual Machine - JVM) um programa que carrega e executa
os aplicativos Java, convertendo os bytecodes em cdigo executvel de mquina. A JVM
responsvel pelo gerenciamento dos aplicativos, medida que so executados. Graas mquina
virtual Java, os programas escritos em Java podem funcionar em qualquer plataforma de hardware e
software que possua uma verso da JVM, tornando assim essas aplicaes independentes da
plataforma onde funcionam. Na Execuo segura do cdigo remoto, a arquitetura de JVM permite
um controle muito fino sobre as aes liberadas para o cdigo que est rodando na VM. Isso
permite a execuo de cdigo confivel de fontes remotas, um modelo usado pelos applets.
Os applets rodam dentro de uma VM incorporada ao browser do usurio, executando cdigo
baixado de um servidor HTTP remoto. O cdigo remoto roda em uma sandbox, que protege o
usurio de cdigos maliciosos. O autor do applet pode aplicar um certificado para assinar
digitalmente o applet como "seguro", dando a ele permisso de sair do sandbox e acessar livremente
a mquina onde est rodando.

Common Language Runtime (CLR)

O Common Language Runtime (CLR) a mquina virtual componente do Microsoft .NET


Framework e responsvel pelo gerenciamento da execuo de programas .NET. Em um processo
conhecido como compilao just-in-time , o cdigo compilado convertido em instrues de
mquina que, por sua vez, so executadas pelo computador CPU .A CLR fornece servios

Alessandro Cordeiro de Lima


Mquinas Virtuais 11

adicionais, incluindo o gerenciamento de memria , tipo de segurana e tratamento de


excees . Todos os programas escritos para a .NET, Independentemente da linguagem de
programao , so executadas pelo CLR. Ele fornece manipulao de exceo, coleta de
lixo e gerenciamento de threads . CLR comum a todas as verses do framework .NET.
O CLR a implementao da Microsoft do Common Language Infrastructure (CLI) standard,
inicialmente desenvolvido pela prpria Microsoft. Agora definido por um padro pblico,
a especificao ECMA Infrastructure da lngua comum.
A Common Language Infrastructure ou CLI uma especificao aberta (ECMA-335 e ISO/IEC
23271) desenvolvida pela Microsoft que descreve o cdigo executvel e ambiente runtime que
forma o core da Microsoft .NET Framework e das implementaes Mono e Portable.NET.
A especificao define um ambiente que permite a utilizao de mltiplas linguagens de alto nvel
em diferentes plataformas sem a necessidade de serem reescritas para uma arquitetura especfica.

Mquinas Virtuais de Sistema Operacional

FreeBSD jail

O FreeBSD jail um recurso de criao de mltiplos ambientes virtuais nativo do FreeBSD. Ele
consiste basicamente na criao de um diretrio, um endereo de rede e um hostname para essa
mquina virtual, que pode ser acessada pela console o servidor onde est instalada ou por SSH.

Alessandro Cordeiro de Lima


Mquinas Virtuais 12

- Comparaes: Diferentemente de outras solues de ambientes virtuais como chroot ou Linux de


modo usurio, porque apenas arquivos e processos esto dentro da Jail, mas o ncleo que est em
funcionamento um s, economizando processamento gerando apenas um uso maior de memria
fsica (RAM) de acordo com os processos iniciados nas jails.
- Recursos: As jails podem compartilhar espao em disco ou ter espao em disco limitado usando
virtual nodes. O trfego de rede entre jails e o sistema raiz pode ser controlado atravs
de firewall interno (IPFW ou Packet Filter nativamente). Atravs do sysctl possvel desabilitar
alguns recursos como o uso de sockets para conexo e acesso a informaes do sistema.

- Implementao: O processo de criao de uma jail simples. Compilando o cdigo-fonte com


um "make buildworld" (processo demorado na primeira vez) todo o sistema compilado e depois
em poucos passos possvel criar uma nova jail. Isso pode ser feito em modo texto de modo bem
fcil com o kit JailTools, do The Labs compatvel at as verses 5.X e com o Ez-Jail para as verses
6.X em diante. Alm desses kits existe um mdulo grfico para ser usado juntamente
ao Webmin que facilita o gerenciamento das jails, bastante til quando se trata de muitas mquinas
virtuais.
- Por que usar: Existem diversos benefcios da virtualizao, como fcil manipulao dos ambientes
virtuais, melhor aproveitamento de capacidade de hardware, centralizao de servios em um
nmero menor de mquinas para melhor gerenciamento sem que um servio interfira no outro.
Outras facilidades da jail que ela possui sua prpria base de usurios e senha, tendo seu prprio
root e cada usurio de uma jail no consegue acesso em outras jails. excelente para ambientes
onde pessoas de outros setores ou organizaes precisam do acesso de root. Tambm serve para
criao de ambientes de teste j que uma jail no afeta outra, podendo ter ambientes de teste,
homologao e produo em uma mesma mquina(hardware) porm em diferentes ambientes
virtuais.
OpenVZ

OpenVZ uma tecnologia de virtualizao em nvel de sistema operacional baseada no sistema


operacional e ncleo Linux. Ele permite que um servidor fsico execute multiplas instncias de
sistema operacional, conhecidas como containers, Sevidores Virtuais Privados (VPSs) ou
Ambientes Virtuais (VEs). similar ao FreeBSD jail e ao Solaris Zones. Quando comparado
mquinas virtuais tais como VMware e paravirtualizao tais como: Xen, o OpenVZ limitado
exige que tanto o host quanto o SO convidado sejam Linux (apesar das distribuies Linux serem
diferentes em containers diferentes). Contudo, OpenVZ possui uma vantagem em relao a
performance; de acordo com seu site web, h apenas uma perda de performance de 1-3% para o
OpenVZ comparado com a utilizao de um servidor standalone. Uma avaliao independente de
performance confirma isto. Outra mostra mais perdas significantes dependendo da mtrica utilizada.
O OpenVZ uma base do Parallels Virtuozzo Containers, um software proprietrio fornecido
pela Parallels. O OpenVZ licenciado sob a verso 2 da GPL. O projeto OpenVZ suportado e
patrocinado pela Parallels (o suporte comercial ao usurio no disponibilizado pela Parallels). O
OpenVZ dividido em um ncleo padro e ferramentas de nvel de usurio.

Wine

Wine (acrnimo recursivo para WINE Is Not an Emulator, isto , WINE No um Emulador, em
traduo livre) um emulador para sistemas operativos UNIX que tem como objectivo a

Alessandro Cordeiro de Lima


Mquinas Virtuais 13

implementao da API do Microsoft Windows. Desta forma, em teoria, o Wine permite a execuo
de aplicaes desenvolvidas para ambientes Windows nativamente noutros sistemas
operativos. Wine, traduzido literalmente do ingls para o portugus, significa vinho, o que levou
escolha de uma taa de vinho como logotipo do Wine.
Por reimplementar as bibliotecas do Windows o Wine no um emulador, no fazendo qualquer
emulao para executar software para Windows. A implementao da API do Windows faz-se
atravs da utilizao de APIs e funes especficas de ambientes UNIX, sendo apenas necessria a
implementao adicional de um carregador de aplicativos no formato PE, capaz de os converter
para o formato ELF em run-time.
O Wine atua, ento, algo como um "tradutor": toda vez que ocorre uma chamada para a
funo desenha Cubo que estava implementada na DirectX.dll por exemplo, o Wine traduz esta
chamada para uma de suas prprias bibliotecas em que algum escreveu uma funo similar para
realizar exatamente o mesmo, desenhar um cubo na tela. Por isto s vezes os jogos que rodam em
cima do Wine geram erros, pois executam chamadas a funes que o Wine no sabe como
interpretar, isto , chamam bibliotecas ou funes muito novas que os desenvolvedores do Wine
ainda no implementaram. No entanto, o Wine permite a utilizao de bibliotecas nativas, apesar de,
dado o facto de ser uma aplicao em user-mode num sistema operativo UNIX, nem todas
funcionarem. Por exemplo, a utilizao do DirectX da Microsoft uma impossibilidade tcnica (e
legal).
O Wine ainda disponibiliza a sua prpria biblioteca (Winelib) por forma a que o cdigo-fonte dos
programas concebidos para Windows possa ser compilado no ambiente UNIX. Assim, programas
desenvolvidos para Windows podem ser portados para plataformas UNIX e, inclusivamente, para
outras arquiteturas, desde que exista o cdigo fonte. No entanto, os programas compilados com
Winelib precisam de ser executados sempre no Wine e, em particular, sempre na mesma verso.
O nome Wine era inicialmente um acrnimo de WINdows Emulator.1 Seu significado mais tarde
deslocado para o Acrnimo recursivo, Wine IsNot an Emulator.2 Embora o nome s vezes aparece
sob as formas WINE e wine, os desenvolvedores decidiram padronizar para Wine.3
O Wine foi tambm um dos alfas mais longos de todos. Levou cerca de 12 anos desde o incio de
seu desenvolvimento em 1993, por Bob Amstadt e Eric Youngdale, at a verso 1.0, lanada em
junho de 20084 5 .
O projeto est atualmente na verso 1.7.11, desde 17 de janeiro de 2014. J executa muitos
programas, entre eles Adobe Photoshop, DreaMule,Filezilla, Macromedia Flash, Microsoft
Office, Corel Draw (at verso 8), Microsoft Internet Explorer, mIRC, uTorrent, Ares
Galaxy, Shareaza,Firefox (verso do Windows) e Winamp. O projeto tambm capaz de executar
diversos e conhecidos jogos como Need for Speed Underground, Warcraft III, Starcraft, Max Payne,
Max Payne 2: The Fall of Max Payne, Counter Strike, Half-Life, Half-life, World of
Warcraft, Resident Evil 4,Tetris Zone, entre outros.

Alessandro Cordeiro de Lima


Mquinas Virtuais 14

Maquinas Virtuais em Data Center

Em um Data Center dinmico, que segue os propsitos dos benefcios da virtualizao, existe at
sete camadas de virtualizao:
Virtualizao do Servidor
Esta camada focada no particionamento do sistema operacional e fsico em virtual ou em uma m-
quina virtual. Os produtos da virtualizao do servidor deixaro que seja virtualizado qualquer siste-
ma operacional x86 ou x64, como o Windows, Linux e algumas formas do UNIX. H dois aspectos
importantes da virtualizao do servidor:

- Virtualizao de Software: roda o sistema operacional virtualizado em uma plataforma de virtuali-


zao de software;

- Virtualizao de Hardware: roda um sistema operacional virtualizado em uma plataforma de vistu-


alizao de software diretamente ligada a um hardware sem a existncia de um sistema operacional.
O engenho usado para rodar uma virtualizao de hardware chamado de hypervisor, cuja funo
de expor recursos de hardware ao sistema operacional virtualizado. Ao virtualizar o servidor, a parte
fsica se torna o hospedeiro de todos os sistemas operacionais virtualizados ou das mquinas virtu-
ais.

Virtualizao do Storage
usada para migrar/ merge um storage fsico a partir de mltiplos aparelhos para que aparentam ser
um nico pool de armazenamento. O storage dentro deste pool pode assumir diferentes formas: di-
rect attached storage (DAS), network attached storage (NAS), ou storage area network (SANs); e
pode ser linkado por meio de diversos protocolos: Fibre Channel, Internet SCSI (iSCSI), Fibre
Channel on Ethernet, ou at mesmo o Network File System (NFS). A virtualizao do storage no
um requerimento para a virtualizao do servidor. Uma das caractersticas chave que poder obter
com a virtualizao do servidor a habilidade para confiar em um provisionamento ou assignao
de uma unidade lgica (LUN) do armazenamento de determinado tamanho. Porm, no que se refere
ao provisionamento, somente para uma base necessria. Por exemplo, se criar uma LUN de 100 gi-
gabytes (GB) e somente utiliza 12GB, apenas 12GB do atual storage provisionado. Com isto, os
custos de armazenamento se reduzem significativamente desde que um servio pago quanto so-
mente ao que demandado (pay as you go).

Virtualizao da Rede / Network


A virtualizao da rede permite um controle da largura da banda disponvel, dividindo-a em canais
independentes para que possam ser assignados recursos especficos. Por exemplo, a simples forma
da virtualizao da rede/ network a virtual local area network (VLAN), que cria uma segregao
lgica da rede fsica. Em suma, produtos de virtualizao do servidor suporta a criao de camadas
de redes virtuais. Ao usar a camada de rede virtual, aplicada uma uma rede de permetro no mes-
mo host, como a execuo de outros trabalhos virtuais sem impactar uma das redes ou o acesso a
outras mquinas virtuais.

Alessandro Cordeiro de Lima


Mquinas Virtuais 15

Virtualizao do Gerenciamento
focada nas tecnologias que envolvem o gerenciamento de um Data Center, ambos virtual e fsico,
para apresentar uma infraestrutura unificada de provisionamento de servios. ManageV no ne-
cessariamente performada por meio de apenas uma interface. Por exemplo, em um Data Center de
larga escala, possvel dividir diferentes servios em camadas e separar as operaes entre elas. J
em um Data Center de pequena escala, no possvel ter um staff para compartir responsabilidades.
Porm, deve-se assegurar que seus administradores usem diferentes chapus, quando trabalham
com vrias camadas da arquitetura. De fato, preciso assegurar que duas camadas estejam separa-
das por todo o tempo:

- Resources Pools, que inclui a coleo de recursos do hardware servidores quentes, racks, enclo-
sures, storage e network hardware que faz make up a infraestrutura do Data Center;

Observao: Na tabela abaixo temos a diferena de terminologia para servidores frio, morno ou
quente em ambiente de alta disponibilidade:

Frio Morno Quente


O software de banco de
O banco de dados instalado em O software do banco de dados
dados instalado em outro
outro servidor feito para fins de instalado em outro servidor feito
servidor feito para fins de
failover para fins de failover.
failover.
Ao mesmo tempo em que esse
A instncia do banco de
servidor est mantendo o cenrio
dados iniciada e pode estar
de alta disponibilidade do seu
recebendo atualizaes do
A instncia do banco de dados no parceiro, ele est atendendo outros
banco de dados primrio para
est iniciada, e ser iniciada apenas aplicativos, como um servidor de
fins de alta disponibilidade
quando ocorrer um failover. dados primrio. H acesso do
apenas. No h acesso do
usurio final a esse banco de
usurio final a esse banco de
dados de espera mesmo quando
dados em espera.
nenhuma falha tiver ocorrido.
Normalmente usado em cenrios
de armazenamento em cluster em
que High Availability Disaster Normalmente usado em um Normalmente usado em cenrios
Recovery (HADR) ou envio de cenrio HADR "baunilha" HADR de failover duplo (mais
log no est implementado e o (no pronto ou em espera), sobre isso em breve), HADR com
gerenciador do banco de dados no Q-Replication ou envio de leitura em espera, banco de dados
est iniciado, como para um log. pureScale ou replicao.
PowerHA para cluster AIX (antes
conhecido como HACMP).

Virtualizao do Desktop
Permite confiar sobre as mquina virtuais para provisionar sistemas de desktops. A virtualizao do
desktop tem uma srie de vantagens, sendo uma importante habilidade em centralizar
implementaes no desktop, a reduo de custos no gerenciamento de equipamentos e a
distirbuio, uma vez que os usurios finais tero dispositivos mais finos e inonerantes/ menos
custosos.

Alessandro Cordeiro de Lima


Mquinas Virtuais 16

Virtualizao da Apresentao
Recentemente chamada de Servios Terminais, fornece apenas a camada de apresentao desde
uma localizao central at os usurios finais. Enquanto a necessidade de um PresentV vem dimi-
nuindo por conta da introduo de tencologias como a virtualizao de aplicativos, os protocolos
utilizadas pela PresentV so cnsiderados a vanguarda para as tecnologias de DeskV e SerV, desde
que os protocolos sejam usados para acessar, e gerenciar cargas/ workloads.

Virtualizao de Aplicativos
Possui o mesmo princpio de software baseado em SerV. Porm, ao invs de fornecer um motor/
propulsor para rodar todo o sistema operativo, AppV dissocia a produtividade de aplicaes a partir
do sistema operacional. AppV transforma o modelo de distribuio de aplicativos porque necess-
rio apenas virtualiz-lo uma vez. Assim sendo, o motor/ propulsor da virtualizao dos aplicativos
se encarga de rodar em qualquer verso de Windows. Ao transformar seus aplicativos no formato
AppV, nunca mais tocar neles novamente. O trabalho feito pelas maiores empresas de vendas de
aplicativos como a Microsoft, Citrix, InstallFree, Symantec e VMware.

Alessandro Cordeiro de Lima


Mquinas Virtuais 17

Bibliografia

http://pt.wikipedia.org/wiki/M%C3%A1quina_virtual
www.virtueit.com.br
Informaes retiradas do livro Virtualization A Beginners guide
http://www.ibm.com/developerworks/br/data/library/techarticle/dm-0909db2halicensing/
http://www.gta.ufrj.br/grad/08_1/virtual/index.html
http://www.microsoft.com/pt-br/download/details.aspx?id=3702
https://www.virtualbox.org/
http://www.xenproject.org/
http://www.vmware.com/br/
http://pt.wikipedia.org/wiki/Xen
http://pt.wikipedia.org/wiki/Virtualbox
http://pt.wikipedia.org/wiki/Vmware
http://pt.wikipedia.org/wiki/Microsoft_Virtual_PC
http://www.baixaki.com.br/download/microsoft-virtual-pc.htm
http://pt.wikipedia.org/wiki/Jvm
www.devmanuals.com
http://pt.wikipedia.org/wiki/Common_Intermediate_Language
http://en.wikipedia.org/wiki/Common_Language_Runtime
http://pt.wikipedia.org/wiki/FreeBSD_jail
http://pt.wikipedia.org/wiki/OpenVZ
http://dainf.ct.utfpr.edu.br/maziero
http://pt.wikipedia.org/wiki/Wine

Alessandro Cordeiro de Lima