Tópicos em Sistemas de Computação UNESP - Campus de São José do Rio Preto Virtualização Adriano César Ribeiro (estagiário docente) [email protected] Adriano Mauro Cansian [email protected] ______________________________ Tópicos em Sistemas de Computação 1 Introdução (1) O que é Virtualização? q Engloba: • Emulação; • Simulação; q Na computação, é um mecanismo capaz de executar em um mesmo computador dois ou mais sistemas, distintos ou não, de maneira isolada. 2 prof. Adriano Mauro Cansian 1 Tópicos em Sistemas de Computação UNESP - Campus de São José do Rio Preto Introdução (2) Um pouco de história: q A virtualização de hoje é resultado de pesquisas realizadas pela IBM na década de 60 e 70. q O intuito era criar um sistema capaz de fornecer multiprogramação e máquina estendida (alto nível). q Década de 80 e 90: virtualização era pouco utilizada. q Muito do que temos atualmente sobre virtualização com x86 é consequência destas pesquisas. q Atualmente a virtualização é uma tendência, sendo muito utilizada em diferentes segmentos, principalmente de infraestrutura. 3 Introdução (3) ≈ Mainframes: centralizando a computação. VS 4 prof. Adriano Mauro Cansian 2 Tópicos em Sistemas de Computação UNESP - Campus de São José do Rio Preto Introdução (4) q Por que utilizar virtualização? • Consolidação de servidores: • • • • • • • • Redução do número e dos tipos de servidores; Diminuição de custos; Melhor uso dos recursos computacionais; Facilidade de gerenciamento de um número reduzido de servidores. Confiabilidade; Disponibilidade; Encapsulamento; Dentre outros. 5 Virtualização: conceitos (1) q Virtualizar: • Executar simultaneamente múltiplos sistemas operacionais em uma mesma máquina física. q Monitor de máquinas virtuais (MMV): • Gerencia a distribuição dos recursos de hardware de cada sistema operacional convidado. q Máquina virtual: • Ambiente isolado criado pela MMV para cada sistema operacional convidado. 6 prof. Adriano Mauro Cansian 3 Tópicos em Sistemas de Computação UNESP - Campus de São José do Rio Preto Virtualização: conceitos (2) q Instruções não privilegiadas: • Não modificam a alocação ou o estado de recursos compartilhados por vários processos simultâneos. q Instruções privilegiadas: • Podem alterar o estado e a alocação dos recursos compartilhados. q Estados de operação de um computador: • Modo usuário; • Modo de supervisor; 7 Virtualização: conceitos (3) q Sistema operacional hospedeiro (Host Operating System) : • Sistema operacional nativo da máquina; • Executado diretamente sobre o hardware físico; q Sistema operacional visitante (Guest Operating System): • Sistema operacional que é executado na máquina virtual; • Geralmente executado sobre o hardware virtual; 8 prof. Adriano Mauro Cansian 4 Tópicos em Sistemas de Computação UNESP - Campus de São José do Rio Preto Virtualização: conceitos (4) q Monitor de Máquina Virtual (MMV) ou Hypervisor: • Camada de software responsável por aplicar e monitorar políticas para as máquinas virtuais; • Responsável pela virtualização e controle de acesso aos recursos compartilhados para as máquinas virtuais; • Máquinas virtuais executam no modo usuário, sendo que o MMV executa no modo supervisor; • Para uma máquina virtual executar uma instrução privilegiada, o MMV é necessário; 9 Virtualização: conceitos (5) 10 prof. Adriano Mauro Cansian 5 Tópicos em Sistemas de Computação UNESP - Campus de São José do Rio Preto Virtualização: conceitos (6) q Tipos de virtualização: • Virtualização total ou completa: • MMV cria uma réplica do hardware da máquina hospedeira; • MMV cria drivers genéricos para traduzir os elementos de hardware da máquina hospedeira. • Cada instrução é testado pelo MMV e depois disso é executada em hardware, o que causa uma perda de performance. • Se a instrução for privilegiada, ela é simulada pelo MMV; • Não há modificações no sistema operacional visitante. • Com isso, a grande maioria dos sistemas operacionais existentes podem ser virtualizados. 11 Virtualização: conceitos (7) q Tipos de virtualização: • Virtualização total ou completa: 12 prof. Adriano Mauro Cansian 6 Tópicos em Sistemas de Computação UNESP - Campus de São José do Rio Preto Virtualização: conceitos (8) q Tipos de virtualização: • Para-virtualização: • Não utiliza drivers genéricos, acessa diretamente o hardware (ganho de performance); • Uma instrução só é processada pelo MMV se ela for privilegiada, ou seja, se alterar o estado do sistema; • MMV não testa instrução por instrução como na virtualização total; • Sistema operacional visitante é modificado; • Reduz o número de sistemas os quais podem ser virtualizados; 13 Virtualização: conceitos (9) q Tipos de virtualização: • Para-virtualização: 14 prof. Adriano Mauro Cansian 7 Tópicos em Sistemas de Computação UNESP - Campus de São José do Rio Preto Virtualização: conceitos (10) q Tipos de virtualização: • Virtualização assistida por hardware: • Semelhante ao modelo de virtualização total; • Entretanto, não precisa testar todas instruções; • Processador fornece um ambiente restrito para a execução de instruções das máquinas virtuais; • Há um aumento de performance considerável; • Intel VT e AMD-V são processadores que possuem essa característica; 15 Virtualização: conceitos (11) q Tipos de virtualização: • Virtualização assistida por hardware: 16 prof. Adriano Mauro Cansian 8 Tópicos em Sistemas de Computação UNESP - Campus de São José do Rio Preto Virtualização: conceitos (12) q Tipos de virtualização: • Virtualização por software: • • • • Virtualização de aplicações; Exemplo Wine, Remote Desktop, etc. Virtualização de Serviços; Provê serviços que são necessários para testar softwares em desenvolvimento. • Virtualização a nível de Sistema Operacional; • Exemplo SandBox. 17 Virtualização: conceitos (13) q Tipos de virtualização: • Virtualização de memória: • Toda memória de cada nó de um cluster é “desvinculada” e adicionada ao pool de memória. • As aplicações fazem uso dessa memória virtualizada. • Esse tipo de memória pode ser usada como um cache. • Melhora a utilização da memória disponível. • Aumenta a eficiência de aplicações de E/S. 18 prof. Adriano Mauro Cansian 9 Tópicos em Sistemas de Computação UNESP - Campus de São José do Rio Preto Virtualização: conceitos (14) q Tipos de virtualização: • Virtualização de armazenamento: • Cria uma abstração entra o armazenamento lógico do físico. • Permite a independência de localização dos discos de armazenamento. • Armazenamento utilizando Hypervisor. • Permite que utilize os diversos tipos de discos, transformando-os em uma reserva. • Melhora a performance para fins específicos de E/S. 19 Disposições finais (1) q Virtualização é um conceito antigo, mas também um tema atual; q É crescente a utilização de virtualização na área de TI, notadamente na parte de infraestruturas; q Atualmente existe um aumento do número de soluções virtualizadas, tais como appliances; q Torna-se visível uma mudança no paradigma de vendas e implementação de soluções de TI; 20 prof. Adriano Mauro Cansian 10 Tópicos em Sistemas de Computação UNESP - Campus de São José do Rio Preto Disposições finais (2) q Entretanto, sempre há perda de desempenho; q O MMV (hypervisor) e o Guest Addition é um software e todo software está sujeito a falhas: • Se o MMV estiver vulnerável, todas as máquinas virtuais também estarão! • Por exemplo: • Sun VirtualBox Guest Additions Denial of Service Vulnerability (16 de novembro de 2009). 21 prof. Adriano Mauro Cansian 11