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

Post on 17-Apr-2015

116 views 1 download

Transcript of Virtualização de Máquinas Uma visão geral e informal.

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

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)

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)

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

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

Virtualização Completa

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

Virtualização do Processador•Desprivilegiamento:

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

Virtualização da Memória

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

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

Safe Hardware Interface

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

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