Upload
internet
View
116
Download
1
Embed Size (px)
Citation preview
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