virtualização de máquinas uma visão geral e informal

14
Virtualização de Máquinas Uma visão geral e informal

Upload: internet

Post on 17-Apr-2015

116 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Virtualização de Máquinas Uma visão geral e informal

Virtualização de Máquinas

Uma visão geral e informal

Page 2: Virtualização de Máquinas Uma visão geral e informal

Conceito

• O conceito de virtualização está relacionado à ideia de emulação

• Exemplos:• Um emulador de videogame, p/executar jogos

escritos para outros consoles• A JVM (Java Virtual Machine)• Softwares que emulam outras máquinas, que

podem ter SO’s diferentes da máquina hospedeira

Page 3: Virtualização de Máquinas Uma visão geral e informal

Considerações iniciais

• IBM: 1960 - abstração de software (Guest) que enxerga um sistema físico (Host)

• Algumas funcionalides: suporte a multiplataformas, proteção contra spywares/vírus, testes de compatibilidades, economia de espaço e energia, portabilidade, etc.

• Empecilho: limitações de hardware (tanto para desempenho quanto para atividades que requerem alta performance de algum dispositivo específico)

Page 4: Virtualização de Máquinas Uma visão geral e informal

Considerações iniciais

-> Virt. de Processo (ex.: Java Virtual Machine):Portabilidade do código de uma linguagem de alto nível para qualquer sistema operacional em qualquer plataforma de hardware

-> Virt. de Sistema (ex.: VMware, VirtualBox):Ambiente completo juntamente com o acesso ao hardware real através do gerenciador de máquina virtual (Hipervisor)

Page 5: Virtualização de Máquinas Uma visão geral e informal

Tipos de Máquina Virtual de Sistema:

-> Virtualização Completa:Gerenciador da máquina virtual acima do

host. Operações dos guests acessam recursos de hardware através dos drivers do host

-> Virtualização Clássica (paravirtualização):Gerenciador da máquina virtual diretamente

sobre o hardware. Hipervisor intercepta e emula as operações dos guests que tentam acessar recursos de hardware

Page 6: Virtualização de Máquinas Uma visão geral e informal

Virtualização Clássica ou Paravirtualização

Page 7: Virtualização de Máquinas Uma visão geral e informal

Virtualização Completa

Page 8: Virtualização de Máquinas Uma visão geral e informal

Gerenciador de Máquina Virtual (Hipervisor)

– Ambiente de execução quase idêntico à máquina original (qualquer processo deve ser executado como se estivesse na máquina real)

– Total controle sobre os recursos da máquina real

– Instruções das VMs executadas pelo processador real, cabendo a ele gerar as instruções que requerem execução em modo privilegiado

Page 9: Virtualização de Máquinas Uma visão geral e informal

Virtualização do Processador•Desprivilegiamento:

•Virtualização via hardware através das tecnologias Intel VT-x e AMD-v

Page 10: Virtualização de Máquinas Uma visão geral e informal

Virtualização da Memória

•Shadow Page Table: Hipervisor mantém uma cópia do endereçamento da memória da VM.

Page 11: Virtualização de Máquinas Uma visão geral e informal

Virtualização de E/S

•Virtualização Hospedada: Hipervisor é uma aplicação do host, utilizando os mesmos drivers dele para ter acesso aos dispositivos de E/S

•Virtualização Clássica: “Safe Hardware Interface” permite que os drivers do host sejam compartilhados por guests isolados, protegendo cada um e o sistema completo de falha nos drivers

Page 12: Virtualização de Máquinas Uma visão geral e informal

Safe Hardware Interface

Page 13: Virtualização de Máquinas Uma visão geral e informal

Softwares de Virtualização

• Bochs• QEMU• KVM• Virtual PC• Virtual Server• VirtualBox• VMware• FreeBSD Jails

• XEN• Valgrind• MOL• DOSEMU• DosBox• Parallels• HyperV• Linux LXC• OpenVZ

Page 14: Virtualização de Máquinas Uma visão geral e informal

Boas Práticas na Virtualização• Separe uma quantidade suficiente de memória

RAM para cada VM sendo executada

• Verifique os objetivos do ambiente a ser virtualizado: caso a intenção seja utilizar algo específico que necessite de uma forte interação com os drivers (como aplicativos de edição de imagens), considere não utilizar virtualização

• Intere-se das normas referentes às licenças dos sistemas/aplicativos a serem virtualizados