2
O que diz o DICIONÁRIO?
Prof. Fabio Alexandre Spanhol, M.Sc.
Em TI
◦ Virtualização é simulação em software de um hardware/software não
disponível
◦ Virtualização é a capacidade de se executar simultaneamente, mais
de um SO em um único servidor físico
Servidor Físico
SO #1 SO #2 SO #3 SO #4
Prof. Fabio Alexandre Spanhol, M.Sc.
3
Servidor Físico
Isso é possível em função da utilização de um
Hypervisor, responsável por fornecer ao SO “guest”,
a abstração da máquina real
...SO #1 SO #2 SO #3 SO #4
Hypervisor
(processador, memória, disco, rede)
Prof. Fabio Alexandre Spanhol, M.Sc.
4
Todo lugar!
◦ Desenvolvedores utilizam para testar seu
software em diferentes SO
◦ Profissionais de TI usam para testar
diferentes configurações
◦ Empresas utilizam para rodar TODA a
infraestrutura de TI
◦ Universidades usam em seus laboratórios
◦ Brevemente seu computador/telefone será
virtualizado...
Prof. Fabio Alexandre Spanhol, M.Sc.
5
6
Fortune Magazine
◦ 100% das top100
◦ 96% das top1000
◦ 95% das top 500 Global
Usam Virtualização!
Prof. Fabio Alexandre Spanhol, M.Sc.
Prof. Fabio Alexandre Spanhol, M.Sc.
7
Emulador
◦ é o oposto da máquina real
 Implementa todas as instruções
realizadas pela máquina real em um
ambiente abstrato de software
 “Engana”, fazendo com que todas as
operações da máquina real sejam
implementadas em um software
 Interpreta um código desenvolvido para
outra plataforma
Emulador
◦ Primeiro criado por Larry Moss (IBM, 1964)
para rodar programas do 7070 no
System/360
Prof. Fabio Alexandre Spanhol, M.Sc.
8
Prof. Fabio Alexandre Spanhol, M.Sc.
9
Emulador
◦ Popularizou-se com a Internet e a
emulação de video games
 Plataformas antigas
 Atari, SNES, PS1, etc.
◦ Também aplicado para
 Executarsoftware legado
 Cross-compiling
Open Source 68k Macintosh Emulator
Prof. Fabio Alexandre Spanhol, M.Sc.
10
Até 2008 a Emulators Inc. vendia
emuladores MAC para rodar no Windows
◦ Rodar aplicativos Mac (até 8.1) no PC
Prof. Fabio Alexandre Spanhol, M.Sc.
11
Emulador Sony PlayStation
Prof. Fabio Alexandre Spanhol, M.Sc.
12
Emulador Super Nintendo
Prof. Fabio Alexandre Spanhol, M.Sc.
13
Microsoft
◦ XBOX 360 emula XBOX
Sony
◦ PS3 emula PS1
Nintendo
◦ Wii Virtual Console emula NES, Super Nintendo,
Mega Drive, Neo-Geo, PC Engine e Nintendo 64
Prof. Fabio Alexandre Spanhol, M.Sc.
14
Prof. Fabio Alexandre Spanhol, M.Sc.
15
Hypervisor
◦ VMM - Virtual Machine Monitor
 Fornece uma interface (através da
multiplexação do hardware) que é idêntica
ao hardware subjacente e controla uma ou
mais máquinas virtuais
 Pode ser implementado entre o hardware
e o SO hospedeiro ou como um processo
do SO hospedeiro
Mais utilizadas
◦ VMware
◦ Citrix
◦ Microsoft
◦ Xen
◦ KVM
◦ z/VM
Prof. Fabio Alexandre Spanhol, M.Sc.
16
Prof. Fabio Alexandre Spanhol, M.Sc.
17
Virtualização Total (Full Virtualization)
◦ Hardware completo virtualizado
◦ Compatibilidade total
◦ Perda de desempenho
Paravirtualização (Paravirtualization)
◦ SO virtualizado deve ser alterado
◦ Perda de compatibilidade
◦ Desempenho melhorado
Simulação completa do hardware
subjacente oferecida aos SO
◦ Conjunto de instruções
◦ Operações de I/O
◦ Acesso à memória
◦ Interrupções
◦ Etc.
Todo software que roda no hardware real
roda no hardware virtualizado
SO não “sabe” que está virtualizado
Prof. Fabio Alexandre Spanhol, M.Sc.
18
Prof. Fabio Alexandre Spanhol, M.Sc.
19
Necessita hardware e software adequados
◦ Na plataforma x86 até 2006/2007 não havia
suporte nativo
◦ Extensões nos processadores
 AMD-V
 Intel VT-x
◦ Tradução binária
 Instruções críticas são descobertas (estaticamente ou
em run-time) e substituídas com traps para a VMM
emulada em software
◦ VMWare, MS-Virtual PC, Sun VirtualBox
Execução direta x Tradução Binária
◦ Hypervisor traduz on the fly as chamadas do SO
 Permite execução direta para melhorar performance
Prof. Fabio Alexandre Spanhol, M.Sc.
20
Apresenta uma abstração de máquina
virtual que é similar, mas não idêntica ao
hardware subjacente
◦ Necessita modificações no SO convidado
 SO “sabe” que está rodando sob um hypervisor
◦ Nenhuma alteração na Application Binary Interface
(ABI)
 Aplicações não precisam ser alteradas
Prof. Fabio Alexandre Spanhol, M.Sc.
21
Xen Hypervisor
◦ •
Domain 0
◦ Domínio privilegiado (Dom0)
 Convidado rodando no hypervisor com acesso direto
ao hardware e responsabilidades de gerenciamento
Multiple DomainU
◦ Não privilegiados (DomU)
 Convidados não privilegiados rodando no hypervisor
 Sem acesso direto ao hardware (memória, discos, etc.)
Prof. Fabio Alexandre Spanhol, M.Sc.
22
Prof. Fabio Alexandre Spanhol, M.Sc.
23
DomUs
◦ SO modificado (paravirtualização)
◦ SO não-modificado
 Depende da virtualização do hardware (Intel VT e
AMD-V) chamado Hardware Virtual Machine (HVM)
 MS Windows precisa de um ambiente HVM
Prof. Fabio Alexandre Spanhol, M.Sc.
24
Kernel-based Virtual Machine
◦ Primeiramente surgiu no kernel Linux 2.6.20
(Fev/2007)
◦ Melhor performance
◦ Suporta virtualização nativa x86
◦ Não faz emulação por si só
 Fornece interface em /dev/kvm para programas
rodando em user-space criarem VM
 Ex.: QEmu
Prof. Fabio Alexandre Spanhol, M.Sc.
25
Particionamento
◦ Múltiplas aplicações e SO podem ser executados em
um único sistema físico
◦ Servidores podem ser consolidados em máquinas
virtuais, escalando arquiteturas
◦ Recursos computacionais são tratados em uma
política uniforme para que sejam alocadas
máquinas virtuais de maneira controlada
Prof. Fabio Alexandre Spanhol, M.Sc.
26
Isolamento
◦ MV são completamente isoladas da máquina
hospedeira e de outras máquinas virtuais
 Se uma MV tem problemas, as outras não são afetadas
◦ Dados não vazam entre máquinas virtuais
 aplicativos comunicam-se apenas por conexões de
rede configuradas
Prof. Fabio Alexandre Spanhol, M.Sc.
27
Encapsulamento
◦ Um ambiente completo de uma MV em execução é
salvo em um simples arquivo
 fácil fazer backup,
 Mover/copiado
◦ Padronização de hardware virtualizado é fornecida
para a aplicação
 Garantia de compatibilidade
Prof. Fabio Alexandre Spanhol, M.Sc.
28
Economia!
◦ TI verde
 Pressões por responsabilidade ambiental
 Economia de recursos (incluindo
energéticos)
Prof. Fabio Alexandre Spanhol, M.Sc.
29
TI tem emissão de Carbono
equivalente ao setor aéreo
◦ E a emissão continua subindo
vertiginosamente
 Durante seu ciclo de vida, um PC típico
consome 10 vezes seu próprio peso
em combustíveis fósseis
 80% na sua produção e transporte
◦ TI é responsável por 2% de todas as
emissões anuais de CO2 na
atmosfera
Transmissão
perde 35
100 unidades de
energia na
matéria-prima
33
unidades
entregues
Data Center
Ar Condicionado, Nobreak, etc.
Servidores
Processador
30%
70%
Fontes, Ventiladores, Discos, Memória, etc.
TI
45%55%
Desempenho e
capacidade por
Watt.
Cargas do Servidor
Taxas Típicas de Uso
x86: 5 – 12%
Unix/Risc: 10 – 20%
Mainframe: 80 – 100%
Recursos
até 95%
inativos
(idle)
Usando
só 5 a 20% da capacidade!!!
Prof. Fabio Alexandre Spanhol, M.Sc.
30
Geração perde 32
Prof. Fabio Alexandre Spanhol, M.Sc.
31
Flexibilidade e agilidade para
criação/manutenção de ambientes
Facilidade na administração/gerenciamento de
ambientes de testes ou produção
Diminuição de custos com TI
(hardware/software)
Diminuição de custos com energia elétrica
Diminuição do lixo tecnológico
32Prof. Fabio Alexandre Spanhol, M.Sc.
33Prof. Fabio Alexandre Spanhol, M.Sc.
@_photon_
faspanhol@gmail.com
www.slideshare.net/_photon_

E essa tal Virtualização?

  • 2.
    2 O que dizo DICIONÁRIO? Prof. Fabio Alexandre Spanhol, M.Sc.
  • 3.
    Em TI ◦ Virtualizaçãoé simulação em software de um hardware/software não disponível ◦ Virtualização é a capacidade de se executar simultaneamente, mais de um SO em um único servidor físico Servidor Físico SO #1 SO #2 SO #3 SO #4 Prof. Fabio Alexandre Spanhol, M.Sc. 3
  • 4.
    Servidor Físico Isso épossível em função da utilização de um Hypervisor, responsável por fornecer ao SO “guest”, a abstração da máquina real ...SO #1 SO #2 SO #3 SO #4 Hypervisor (processador, memória, disco, rede) Prof. Fabio Alexandre Spanhol, M.Sc. 4
  • 5.
    Todo lugar! ◦ Desenvolvedoresutilizam para testar seu software em diferentes SO ◦ Profissionais de TI usam para testar diferentes configurações ◦ Empresas utilizam para rodar TODA a infraestrutura de TI ◦ Universidades usam em seus laboratórios ◦ Brevemente seu computador/telefone será virtualizado... Prof. Fabio Alexandre Spanhol, M.Sc. 5
  • 6.
    6 Fortune Magazine ◦ 100%das top100 ◦ 96% das top1000 ◦ 95% das top 500 Global Usam Virtualização! Prof. Fabio Alexandre Spanhol, M.Sc.
  • 7.
    Prof. Fabio AlexandreSpanhol, M.Sc. 7 Emulador ◦ é o oposto da máquina real  Implementa todas as instruções realizadas pela máquina real em um ambiente abstrato de software  “Engana”, fazendo com que todas as operações da máquina real sejam implementadas em um software  Interpreta um código desenvolvido para outra plataforma
  • 8.
    Emulador ◦ Primeiro criadopor Larry Moss (IBM, 1964) para rodar programas do 7070 no System/360 Prof. Fabio Alexandre Spanhol, M.Sc. 8
  • 9.
    Prof. Fabio AlexandreSpanhol, M.Sc. 9 Emulador ◦ Popularizou-se com a Internet e a emulação de video games  Plataformas antigas  Atari, SNES, PS1, etc. ◦ Também aplicado para  Executarsoftware legado  Cross-compiling
  • 10.
    Open Source 68kMacintosh Emulator Prof. Fabio Alexandre Spanhol, M.Sc. 10
  • 11.
    Até 2008 aEmulators Inc. vendia emuladores MAC para rodar no Windows ◦ Rodar aplicativos Mac (até 8.1) no PC Prof. Fabio Alexandre Spanhol, M.Sc. 11
  • 12.
    Emulador Sony PlayStation Prof.Fabio Alexandre Spanhol, M.Sc. 12
  • 13.
    Emulador Super Nintendo Prof.Fabio Alexandre Spanhol, M.Sc. 13
  • 14.
    Microsoft ◦ XBOX 360emula XBOX Sony ◦ PS3 emula PS1 Nintendo ◦ Wii Virtual Console emula NES, Super Nintendo, Mega Drive, Neo-Geo, PC Engine e Nintendo 64 Prof. Fabio Alexandre Spanhol, M.Sc. 14
  • 15.
    Prof. Fabio AlexandreSpanhol, M.Sc. 15 Hypervisor ◦ VMM - Virtual Machine Monitor  Fornece uma interface (através da multiplexação do hardware) que é idêntica ao hardware subjacente e controla uma ou mais máquinas virtuais  Pode ser implementado entre o hardware e o SO hospedeiro ou como um processo do SO hospedeiro
  • 16.
    Mais utilizadas ◦ VMware ◦Citrix ◦ Microsoft ◦ Xen ◦ KVM ◦ z/VM Prof. Fabio Alexandre Spanhol, M.Sc. 16
  • 17.
    Prof. Fabio AlexandreSpanhol, M.Sc. 17 Virtualização Total (Full Virtualization) ◦ Hardware completo virtualizado ◦ Compatibilidade total ◦ Perda de desempenho Paravirtualização (Paravirtualization) ◦ SO virtualizado deve ser alterado ◦ Perda de compatibilidade ◦ Desempenho melhorado
  • 18.
    Simulação completa dohardware subjacente oferecida aos SO ◦ Conjunto de instruções ◦ Operações de I/O ◦ Acesso à memória ◦ Interrupções ◦ Etc. Todo software que roda no hardware real roda no hardware virtualizado SO não “sabe” que está virtualizado Prof. Fabio Alexandre Spanhol, M.Sc. 18
  • 19.
    Prof. Fabio AlexandreSpanhol, M.Sc. 19 Necessita hardware e software adequados ◦ Na plataforma x86 até 2006/2007 não havia suporte nativo ◦ Extensões nos processadores  AMD-V  Intel VT-x ◦ Tradução binária  Instruções críticas são descobertas (estaticamente ou em run-time) e substituídas com traps para a VMM emulada em software ◦ VMWare, MS-Virtual PC, Sun VirtualBox
  • 20.
    Execução direta xTradução Binária ◦ Hypervisor traduz on the fly as chamadas do SO  Permite execução direta para melhorar performance Prof. Fabio Alexandre Spanhol, M.Sc. 20
  • 21.
    Apresenta uma abstraçãode máquina virtual que é similar, mas não idêntica ao hardware subjacente ◦ Necessita modificações no SO convidado  SO “sabe” que está rodando sob um hypervisor ◦ Nenhuma alteração na Application Binary Interface (ABI)  Aplicações não precisam ser alteradas Prof. Fabio Alexandre Spanhol, M.Sc. 21
  • 22.
    Xen Hypervisor ◦ • Domain0 ◦ Domínio privilegiado (Dom0)  Convidado rodando no hypervisor com acesso direto ao hardware e responsabilidades de gerenciamento Multiple DomainU ◦ Não privilegiados (DomU)  Convidados não privilegiados rodando no hypervisor  Sem acesso direto ao hardware (memória, discos, etc.) Prof. Fabio Alexandre Spanhol, M.Sc. 22
  • 23.
    Prof. Fabio AlexandreSpanhol, M.Sc. 23 DomUs ◦ SO modificado (paravirtualização) ◦ SO não-modificado  Depende da virtualização do hardware (Intel VT e AMD-V) chamado Hardware Virtual Machine (HVM)  MS Windows precisa de um ambiente HVM
  • 24.
    Prof. Fabio AlexandreSpanhol, M.Sc. 24 Kernel-based Virtual Machine ◦ Primeiramente surgiu no kernel Linux 2.6.20 (Fev/2007) ◦ Melhor performance ◦ Suporta virtualização nativa x86 ◦ Não faz emulação por si só  Fornece interface em /dev/kvm para programas rodando em user-space criarem VM  Ex.: QEmu
  • 25.
    Prof. Fabio AlexandreSpanhol, M.Sc. 25 Particionamento ◦ Múltiplas aplicações e SO podem ser executados em um único sistema físico ◦ Servidores podem ser consolidados em máquinas virtuais, escalando arquiteturas ◦ Recursos computacionais são tratados em uma política uniforme para que sejam alocadas máquinas virtuais de maneira controlada
  • 26.
    Prof. Fabio AlexandreSpanhol, M.Sc. 26 Isolamento ◦ MV são completamente isoladas da máquina hospedeira e de outras máquinas virtuais  Se uma MV tem problemas, as outras não são afetadas ◦ Dados não vazam entre máquinas virtuais  aplicativos comunicam-se apenas por conexões de rede configuradas
  • 27.
    Prof. Fabio AlexandreSpanhol, M.Sc. 27 Encapsulamento ◦ Um ambiente completo de uma MV em execução é salvo em um simples arquivo  fácil fazer backup,  Mover/copiado ◦ Padronização de hardware virtualizado é fornecida para a aplicação  Garantia de compatibilidade
  • 28.
    Prof. Fabio AlexandreSpanhol, M.Sc. 28 Economia! ◦ TI verde  Pressões por responsabilidade ambiental  Economia de recursos (incluindo energéticos)
  • 29.
    Prof. Fabio AlexandreSpanhol, M.Sc. 29 TI tem emissão de Carbono equivalente ao setor aéreo ◦ E a emissão continua subindo vertiginosamente  Durante seu ciclo de vida, um PC típico consome 10 vezes seu próprio peso em combustíveis fósseis  80% na sua produção e transporte ◦ TI é responsável por 2% de todas as emissões anuais de CO2 na atmosfera
  • 30.
    Transmissão perde 35 100 unidadesde energia na matéria-prima 33 unidades entregues Data Center Ar Condicionado, Nobreak, etc. Servidores Processador 30% 70% Fontes, Ventiladores, Discos, Memória, etc. TI 45%55% Desempenho e capacidade por Watt. Cargas do Servidor Taxas Típicas de Uso x86: 5 – 12% Unix/Risc: 10 – 20% Mainframe: 80 – 100% Recursos até 95% inativos (idle) Usando só 5 a 20% da capacidade!!! Prof. Fabio Alexandre Spanhol, M.Sc. 30 Geração perde 32
  • 31.
    Prof. Fabio AlexandreSpanhol, M.Sc. 31 Flexibilidade e agilidade para criação/manutenção de ambientes Facilidade na administração/gerenciamento de ambientes de testes ou produção Diminuição de custos com TI (hardware/software) Diminuição de custos com energia elétrica Diminuição do lixo tecnológico
  • 32.
  • 33.
    33Prof. Fabio AlexandreSpanhol, M.Sc. @_photon_ faspanhol@gmail.com www.slideshare.net/_photon_