Luiz Augusto da Silva Alves Professo Luís Henrique Maciel Kosmalski Costa Professor Otto Carlos Muniz Bandeira Duarte Redes 2 Novembro 2010 Introdução • O que é virtualização? É exatamente o conjunto de tecnologias que permitem a simulação de vários sistemas operacionais sendo executados em máquinas virtuais, operando sobre um único hardware real. Introdução • O que são máquinas virtuais? São as múltiplas instâncias que simulam as máquinas reais. São implementadas em software e executam aplicações como se fossem máquinas reais. Por que virtualizar? • Motivos para virtualizar sistemas: • Redução de custos com compra/manutenção de hardware • Testes de softwares • Migração de máquinas virtuais Algumas desvantagens • Desvantagens: • Softwares são sujeitos à falhas • Monitoramento constante do softwares • Leve queda de desempenho Tipos de virtualização • Hipervisor É a camada de abstração implementada em software que é responsável por hospedar, gerenciar e controlar as máquinas virtuais e seus recursos. Tipos de virtualização • Em relação à arquitetura: •Hipervisor tipo 1 • Opera diretamente sobre o hardware • Xen Tipos de virtualização • Em relação à arquitetura: •Hipervisor tipo 1 Máquina Virtual 1 Excel Firefox Máquina Virtual 2 Eclipse SO SO Hipervisor tipo 1 Hardware Modo usuário virtual Modo usuário Modo núcleo virtual Modo núcleo Tipos de virtualização • Em relação à arquitetura: •Hipervisor tipo 2 • Utiliza as próprias instruções sensíveis • Sistema Operacional sem modificações • VMware Tipos de virtualização • Em relação à arquitetura: •Hipervisor tipo 2 Processos do SO hóspede Eclipse Firefox Processos do SO hospedeiro Calc Modo usuário virtual Modo núcleo virtual SO hóspede Excel Hipervisor tipo 2 SO hospedeiro Hardware Modo usuário Word Modo núcleo Tipos de virtualização • Em relação à técnica: • Virtualização total • Utiliza instruções sensíveis • Sistema Operacional intacto • VMware Tipos de virtualização • Em relação à técnica: • Virtualização total Tipos de virtualização • Em relação à técnica: • Paravirtualização • Utiliza chamadas de hipervisor • Sistema Operacional modificado • Xen Tipos de virtualização • Em relação à técnica: • Paravirtualização Xen • O que é o ? “É uma camada de software rodando diretamente sobre o hardware do computador substituindo o sistema operacional, permitindo que o hardware execute múltiplas instâncias de sistemas operacionais visitantes concorrentemente” (Retirado da página oficial do Projeto Xen). Xen • O que é o ? Xen •Arquitetura •Domínio 0 •Domínio U •Hipervisor do Xen •Arquitetura do Xen • Como funciona o Drivers Xen • Como funciona o Caso do Windows Xen • Como funciona o Canal de eventos versus Conclusões Ideia do passado que está renascendo • Muito bom para servidores • Perda de um pouco de desempenho… • … mas nada que inviabilize seu uso • Xen é muito popular: • • Universidades • Código aberto • Grande comunidade ativa • Alternativa gratuita Perguntas e Respostas 1 ) O que é hipervisor? Qual a diferença entre o tipo 1 e tipo2? Hipervisor é a camada de software que permite a criação (virtualização) de máquinas virtuais e, consequentemente, seu gerenciamento e controle. O Hipervisor tipo 1 é um hipervisor que é instalado diretamente sobre o hardware e onde são instalados os sistemas operacionais. Perguntas e Respostas 1 ) O que é hipervisor? Qual a diferença entre o tipo 1 e tipo2? O Hipervisor tipo 2 é implementado para funcionar como se fosse uma aplicação do sistema operacional hospedeiro operando em modo usuário, onde serão criadas as máquinas virtuais. Na prática é um programa do sistema hospedeiro que oferece um ambiente para simular máquinas reais. Perguntas e Respostas 2) Qual a diferença entre paravirtualização e virtualização total? A virtualização total não utiliza sistemas operacionais modificados, isto é, estes executam instruções sensíveis e utilizam tradução binária para se comunicar com o hardware. Na paravirtualização, os sistemas operacionais tem seu código modificado de forma que as instruções sensíveis são retiradas e estes passem a executar chamadas de hipervisor. Perguntas e Respostas 3) Quais as três partes em que o Xen é dividido? Caracterize cada uma. Hipervisor Xen, que é o software que faz a interface entre os sistemas e o hardware. Domíno 0 que é o domínio de acesso privilegiado, possui responsabilidades sobre o gerenciamento da parte física do computador e é inicializado junto com o sistema. Apenas Linux modificado pode ser instalado neste domíno. Perguntas e Respostas 3) Quais as três partes em que o Xen é dividido? Caracterize cada uma. Domíno U é aquele que não possui acesso direto ao hardware, sendo necessário chamar os drivers e outros recursos da máquina através do Domínio 0. Perguntas e Respostas 4) O que é o canal de eventos na arquitetura do Xen? Este canal é uma ligação direta por onde passam as chamadas entre as máquinas do domínio U e do domíno 0. Quando uma máquina virtual no domínio U precisa acessar o disco ou a rede, por exemplo, esta manda uma solicitação para seu driver virtual que manda esta informação através do canal de eventos para acionar o driver virtual da máquina que está no domíno 0. Perguntas e Respostas 5) Cite uma vantagem e uma desvantagem da virtualização de sistemas. Vantagens: Redução de custos com equipamento e manutenção do hardware; testar novos softwares em SO's mais antigos; e migração de máquinas virtuais. Desvantagens: Monitoramento constante do software; como hipervisores são softwares, estes estão sujeitos à falhas; leve queda no desempenho em relação aos sistemas nativos.