Virtualização com
Marcos Paulo Serafim
Outubro de 2007
Sobre Mim
­ Graduação em Ciências da Computação ­ UNIFRAN
­ Especialização em Matemática Aplicada ­ UNIFRAN
­ Analista de Suporte na Cooperativa dos Agricultores da
Região de Orlândia
­ Interesses em Inteligência Artificial, Computação Quântica, Desenvolvimento de Jogos, Forense Computacional, etc.
O que é virtualização
Uma técnica para ocultar as características físicas de recursos computacionais encapsulando os detalhes
técnicos, de forma que outros sistemas, aplicações, ou usuários finais interajam com estes recursos de maneira mais simples.
Fonte:Wikipédia
Virtualização de plataforma
Técnica que permite a divisão de recursos através da criação de múltiplos ambientes computacionais simulados
(máquinas virtuais) e isolados entre si em um único equipamento físico.
Terminologia
Máquina virtual (VM)
●
Ambiente virtualizado onde um sistema operacional e seus aplicativos são executados.
Host (Hospedeiro)
●
Computador onde são executadas as máquinas virtuais.
Guest (Convidado)
●
Software que é executado dentro de uma máquina virtual.
Hypervisor (Virtual Machine Monitor)
●
Camada entre VMs e Host que controla as VMs.
Tipos de virtualização
Virtualização em aplicações
●
(Java VM, .NET CLI, Flash Player, DOS em Win32)
A aplicação utiliza os recursos do sistema operacional em um pequeno ambiente virtual que provê apenas o necessário para sua execução, eliminando a necessidade de conhecimento da arquitetura em que é
executada.
Tipos de virtualização
Emulação / Simulação
●
(QEMU, Virtual PC, emulares de video­games)
A máquina virtual simula um hardware completo,
permitindo que um sistema operacional (Guest) não modificado, seja executado em uma arquitetura
totalmente diferente.
Tipos de virtualização
Virtualização completa
●
(Xen, QEMU, Virtual PC, VMware, CP/CMS)
A máquina virtual provê o ambiente necessário para que
um sistema operacional (Guest) não modificado (e construído para a mesma arquitetura)
possa ser executado.
Tipos de virtualização
Paravirtualização
●
(Xen, VMware, KVM)
A máquina virtual ao invés de simular o hardware, provê
uma API que apenas pode ser utilizada por sistemas
operacionais (Guests) “modificados” para esta finalidade,
o que trás ganhos de performance similares ao dos sistemas nativos.
Breve histórico
1959: Time Sharing in Large Fast Computers
●
➔
Christopher Strachey
1962: Atlas Computer ­ Universidade de Manchester
●
➔
Primeiro Hypervisor
1963: M44/44X Project ­ IBM
●
➔
Termo "Máquina Virtual"
1964: CP­40 ­ IBM
●
➔
Primeira implementação com virtualização completa
1972: CP/CMS ­ IBM
●
➔
Memória virtual
Breve histórico
1972­1990: Virtualização restrita a mainframes
●
➔
Diversos avanços na área
A partir de 1990: Virtualização em arquitetura x86
●
➔
Cresce interesse na virtualização em baixa plataforma
1999: VMware
●
➔
Primeiro produto para virtualização em x86
2005: Intel VT (Vanderpool) / AMD­V (Pacifica)
●
➔
Virtualização assistida por hardware nos x86
Vantagens em se usar virtualização
Melhor utilização dos recursos dos computadores
●
Diminuição do espaço físico necessário para servidores
●
Redução do custo de infraestrutura
●
Menor gasto em energia
●
Soluções de balanceamento de carga para aplicações
●
Fácil manutenção de servidores
●
Agilidade na criação de “site backup” e “disaster recovery”
●
Modelo de segurança baseado em uma “caixa­de­areia”
●
Facilidade no monitoramento de software maliciosos
●
Xen
Hypervisor para arquiteturas IA­32, IA­64, AMD­64, e ●
PowerPC.
Se iniciou como parte do projeto Xenoservers na
●
Universidade de Cambridge.
Possui uma versão paga e uma software livre. ●
Contribuidores do projeto incluem empresas como:
●
Intel, IBM, HP, AMD, Novell, RedHat e Citrix/XenSource.
Breve histórico do Xen
2003: Versão 1.0
●
Paravirtualização Linux (Windows XP apenas PoC)
2004: Versão 2.0
●
2005: Versão 3.0
●
Criação da XenSource.
Virtualização completa assistida por hardware.
2007: Versão 3.1
●
Xen é adicionado ao código do Linux. Citrix compra a XenSource.
Arquitetura do Xen
Recursos do Xen
Suporte à varios dispositivos através do kernel do
sistema operacional do hospedeiro (Linux / NetBSD)
Recursos do Xen
Vários sistemas operacionais suportados através de
paravirtualização
NetWare
●
Minix
●
Plan 9
●
GNU/Hurd/Mach
●
OZONE
●
Windows (apenas como prova de conceito)
●
Recursos do Xen
Suporte à virtualização completa assistida por
hardware (Intel VT ou AMD­V)
NetWare
●
Minix
●
Plan 9
●
GNU/Hurd/Mach
●
OZONE
●
e muitos outros ...
●
Recursos do Xen
Capacidade de pausar, resumir, salvar e restaurar o estado de uma VM
Recursos do Xen
Migration e Live Migration
Recursos do Xen
Capacidade de dar para a VM acesso direto a ●
um hardware
Suporte a hot­plug USB
●
Suporte a som nas VMs
●
Até 64 GBs de memória em máquinas 32 bits (PAE)
●
API de programação com chamadas XML­RPC
●
Esforço de colaboração para compatibilidade de
●
formato de VM com Microsoft Virtual Server
Ferramentas de gerenciamento
xm – Ferramenta que recebe instruções via linha
●
de comando.
# xm create maquinavirtual
# xm help
Usage: xm <subcommand> [args]
Control, list and manipulate Xen
guest instances
Ferramentas de gerenciamento
Virtual Machine Manager – Ferramenta da Red Hat
●
para gerenciamento gráfico das VMs.
Ferramentas de gerenciamento
ConVirt (antigo XenMan)
●
Ferramentas de gerenciamento
Enomalism – Ferramenta de gerenciamento Web
●
Teste de Performance
Nativo
Linux 2.6.18 / Debian Etch / Apache 2.2.3
Apache Bench
Time taken for tests: 50.917014 seconds
Complete requests: 10000
Requests per second: 196.40 [#/sec](mean)
Time per request: 5.092 [ms](mean)
Transfer rate: 8206.51 [KB/sec]
received
Teste de Performance
Paravirtualizado
Linux 2.6.18 / Debian Etch / Apache 2.2.3
Apache Bench
Time taken for tests: 53.614709 seconds
Complete requests: 10000
Requests per second: 186.52 [#/sec](mean)
Time per request: 5.361 [ms](mean)
Transfer rate: 7793.59 [KB/sec]
received
Teste de Performance
HVM
Linux 2.6.18 / Debian Etch / Apache 2.2.3
Apache Bench
Time taken for tests: 109.116567 seconds
Complete requests: 10000
Requests per second: 91.65 [#/sec](mean)
Time per request: 10.912 [ms](mean)
Transfer rate: 3829.40 [KB/sec] received
O que o futuro reserva para o Xen
Virtualização mais focada em Desktop
●
Desenvolvimento de drivers para máquinas não ●
paravirtualizadas
Suporte à OpenGL ●
Integração com os produtos da Citrix
●
Concorrência maior com o KVM
●
Maiores informações
Grupo de usuários XEN­BR: http://xen­br.org/
IBM: http://ibm.com/
kernelthread.com: http://www.kernelthread.com/
Red Hat: http://www.redhat.com/
SourceForge.net: http://sourceforge.net/
Wikipedia: http://wikipedia.org/
XenSource: http://www.xensource.com/
Hands­on
Demonstração e Perguntas
Obrigado
Contato:
Marcos Paulo Serafim
[email protected] http://www.mps.eti.br/ 
Download

Virtualização com