Xen e a Arte da Virtualização



Documentos relacionados
UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO.

Introdução a Virtualização. Sergio Roberto Charpinel Junior Profa. Roberta Lima Gomes

Virtualização Gerencia de Redes Redes de Computadores II

Prof. José Maurício S. Pinheiro UniFOA

A SALA DE AULA é meu paraíso. Nela me realizo, nela exercito minha cidadania e nela me sinto útil.

Instituto de Computação - Unicamp MO801 - Tópicos em Arquitetura e Hardware - Máquinas Virtuais Seminário

Professor Esp.: Douglas Diego de Paiva

Gabriel Oliveira do Nascimento Rogério Libarino Aguilar. UFF - Universidade Federal Fluminense

INE Sistemas Operacionais I

Virtualização: VMWare e Xen

Departamento de Tecnologia da Informação

Hypervisor. Diego Souza Gomes 3 de maio de 2007

Máquinas Virtuais. Virtualização Tornar virtual. Exemplo comum de Virtualização PORTABILIDADE

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

Virtualização. Prof. Emiliano Monteiro

Introdução. Sistemas Operacionais. Introdução. Roteiro (1 / 2) Por que Máquinas Virtuais Existem? Roteiro (2 / 2)

Sistemas Operacionais 1/66

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Benefícios e processos relacionados à migração e servidores dedicados para cloud servers. Juliano Simões. Diretor de Tecnologia

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla

Máquinas Virtuais E eu com isso???

Agenda. Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores

Virtualização de Sistemas Operacionais

Organização e Arquitetura de Computadores

Consolidação de Servidores com VMware

Classificação::Modelo de implantação

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt

Virtualização na arquitetura x86

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

4 Estrutura do Sistema Operacional Kernel

Prof. Ms. José Eduardo Santarem Segundo Demonstrar o impacto que o tema virtualização tem representado no mercado

ANDRE KUSUMOTO VIRTUALIZAÇÃO

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas

Alta disponibilidade em máquinas

Estruturas do Sistema de Computação

Marcos Vinicios Marques Professor Cidão. Professor Marcelo Neves

Análise Comparativa de Desempenho do Hipervisor Xen: Paravirtualização versus Virtualização Total

Sistemas Operacionais. Prof. André Y. Kusumoto

Visão Geral de Sistemas Operacionais

Online Help StruxureWare Data Center Expert

Computação na Nuvem: Virtualização e Migração de VM. André Meireles Estêvão Monteiro Monique Soares

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Virtualização de Software

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

COORDENAÇÃO DE TECNOLOGIA (COTEC) ABRIL/2011

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

Sistemas Operacionais

Proteção de ambientes Citrix XenServer com Arcserve

Quarta-feira, 09 de janeiro de 2008

SISTEMAS OPERACIONAIS

Virtual Operating Environment (VOE) Marcelo Tomoyose, Kodak Brasileira

SFD Carla Souza Otacílio Lacerda

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Xen Cloud Platform Xen descomplicado

Cloud Computing. Andrêza Leite.

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC. Prof. Almeida Jr

Sistema Operacional Correção - Exercício de Revisão

Prof. Luiz Fernando Bittencourt MO809L. Tópicos em Sistemas Distribuídos 1 semestre, 2015

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal

Planejamento Estratégico de TI. Felipe Pontes

ESTUDO DE CASO WINDOWS VISTA

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Sistemas Operacionais

MANUAL TÉCNICO ISPBACKUP

Consolidação inteligente de servidores com o System Center

Sistemas Operacionais. Conceitos de um Sistema Operacional

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes.

Capítulo 1. Introdução

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

Gerenciamento de sistemas GNU/Linux: do computador pessoal à rede corporativa

Visão do Sistema Operacional

PROPOSTA COMERCIAL CLOUD SERVER

Sistemas Operacionais

Virtualização e Criação de uma rede Virtual utilizando Virtual Box Professor: João Paulo de Brito Gonçalves

Gerenciamento e Interoperabilidade de Redes

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Virtualização. Presente e futuro

Avaliação do Desempenho da Migração de Máquinas Virtuais em Xen

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Paravirtualização com o XEN no Debian. Aldrey Galindo

ANÁLISE DE DESEMPENHO ENTRE SOFTWARES VIRTUALIZADORES

Minicurso Computação em Nuvem Prática: Openstack

Figura 01 Kernel de um Sistema Operacional

Avaliação do Uso de Xen em Ambientes de Computação de Alto Desempenho

Virtualização. O conceito de VIRTUALIZAÇÃO

Cloud Computing. Edy Hayashida

Benefícios do Windows Server 2008 R2 Hyper-V para SMB

Arquitetura de Computadores. Sistemas Operacionais IV

Sistemas Operacionais Introdução. Professora: Michelle Nery

Transcrição:

Xen e a Arte da Virtualização Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield University of Cambridge Computer Laboratory Microsoft Research Cambridge, UK Intel Research Cambridge, UK

Roteiro Virtualização Máquinas Virtuais de Sistema Para-Virtualização Xen: Visão Geral Princípios de Design Design Detalhado Avaliação Conclusão Xen na Atualidade

Virtualização Remove limitações impostas pelas interfaces de sistema e aumenta a flexibilidade Provê uma visão diferente para um dado recurso computacional Não necessariamente uma visão mais simples Virtualização constrói um isomorfismo que mapeia um sistema hóspede virtual a um sistema hospedeiro real

Virtualização

Alguns benefícios de VMs Flexibilidade Diferentes sistemas virtuais podem ser emulados em um mesmo sistema físico Portabilidade Possibilita migração da máquina virtual entre diferentes hospedeiros Isolamento Desempenho isolado entre máquinas virtuais em um mesmo hospedeiro Segurança Impede acesso mal intencionado ao hardware físico através de barreiras implementadas pelo monitor

Taxonomia de VMs

Máquinas Virtuais de Sistema Virtualização aplicada a toda a máquina Adiciona camada de software à máquina real para suportar a arquitetura da máquina virtual desejada Virtualização Mapeamento de recursos ou estados virtuais a recursos reais Uso de instruções de máquina reais para executar ações especificadas por instruções da máquina virtual

Máquinas Virtuais de Sistema Recursos de hardware são em geral subutilizados Objetivo: otimizar alocação de recursos Permitir acesso simultâneos de múltiplos usuários a um único sistema computacional Dar a cada usuário a ilusão de acesso exclusivo ao conjunto completo de recursos do sistema Para criar esta ilusão: Sistemas operacionais multiprogramados Implementar VM de processo para cada aplicação e alocar recursos entre os programas por time-slices Máquinas virtuais de sistema Objetivo: prover uma ilusão similar para sistemas completos

Máquinas Virtuais de Sistema Suporta múltiplas imagens de sistema simultaneamente Cada uma roda seu própria sistema operacional e programas Recursos reais da máquina hospedeira são partilhados pelas máquinas hóspede SO hóspede gerencia recursos virtualizados (CPU, disco, I/O) Monitor de máquina virtual (VMM) Colocado entre hardware subjacente e software convencional Alternativa: VM hosted (virtualiza software em cima de um SO existente) Gerencia alocação/acesso a recursos de HW da plataforma hospedeira Dá a cada SO hóspede a ilusão de ser dona dos recursos

Benefícios em Datacenters Virtualização em datacenters pode diminuir custos com espaço físico, energia, resfriamento e hardware. Simplificar a administração, manutenção, e resultar em um TI mais verde 1. Menos geração de calor 2. Custos reduzidos 3. Implantação mais rápida 4. Backups mais simples 5. Testes mais eficazes 6. Sem lock-in de fornecedores 7. Melhor recuperação a desastres 8. Servidores de fim específico 9. Migração mais fácil para clouds

Para-Virtualização Apresenta uma visão similar ao hardware subjacente, mas não idêntico Intenção é reduzir o tempo executando operações complexas no sistema virtualizado Permite o VMM ser mais simples, passando a executar operações críticas no domínio do hospedeiro, e reduzir perda de desempenho na execução de operações de máquina no hóspede virtual Provê conjunto de APIs (hypercalls) que possibilitam a comunicação/cooperação entre o hóspede e o hospedeiro Requer que o SO hóspede seja portado para utilizar a para-api

Xen: Abordagem e Visão Geral Virtualização completa tem vários pontos negativos. Virtualizar o MMU x86 é difícil e pouco eficiente. Chamadas ao supervisor devem ser virtualizadas pelo VMM e geram overhead. É necessário criar shadow copies de estruturas de sistema e manter a consistência gerando traps para cada acesso Ter acesso a recursos reais é útil para suportar tarefas sensíveis a tempo, e expor endereços de máquina reais possibilita otimizações como o uso de superpáginas ou coloração de páginas.

Princípios de Design 1. Suporte a binários sem modificações é essencial, para isso deve-se virtualizar todos os recursos de arquitetura requisitados pelas ABIs padrões existentes 2. Suporte a sistemas operacionais de multi-aplicações é importante, já que isso permite configurações de servidores complexas virtualizadas dentro de uma única instância de SO hóspede 3. Para-virtualização é necessária para obter alto desempenho e forte isolamento de recursos em arquiteturas nãocooperativas como x86 4. Mesmo em arquiteturas cooperativas, esconder completamente os efeitos da virtualização de recursos arrisca correção e desempenho

Interface: MMU TLB em hardware torna difícil ser eficiente. A ausência de tags torna difícil para as VMs co-existirem sem recorrer a flushes SO hospedeiro aloca e gerencia tabelas de páginas de HW utilizando mínimo envolvimento do Xen Xen existe em uma seção de 64MB no topo de cada espaço de endereçamento, evitando flush ao trocar de-para o hypervisor O SO hospedeiro requisita novas páginas do Xen e todas as atualização devem ser validadas pelo Xen. Isto traz segurança e isolamento

Interface: CPU Níveis de privilégio no x86 SO hóspede deve rodar com menos privilégio que o hypervisor para proteção Tipicamente SOs executam no nível 0, devem ser modificados para executar no nível 1. Apenas o hypervisor executa no nível 0. Tentativa de acesso à instruções de anéis inferiores deve causar exceção ou falhar silenciosamente Chamadas privilegiadas são feitas usando hypercalls Exemplos: instalar uma nova tabela de páginas, yeld de um processador...

Interface: CPU

Interface: I/O Ao invés de virtualizar completamente um dispositivo, o Xen expõe interfaces abstratas simples e limpas Dados são transferidos usando um SMD e anéis de buffers assíncronos Além de prover alto desempenho, possibilitam validação eficiente (out of bounds checks)

Interface: I/O

Porting para o Xen

Controle e Gerenciamento Separar política de mecanismo Interface de controle e criação de domínios Dispositivos de bloco virtuais e interfaces de rede virtuais Software de gerenciamento roda no Domain0

Controle e Gerenciamento

Design Detalhado Hypercalls e eventos Transferência de dados (anéis de I/O) Escalonamento de CPU Tempo e temporizadores Tradução de endereço virtual Memória física (balloon drivers) Rede Disco

Avaliação: Desempenho Relativo

Avaliação: VMs Concorrentes

Avaliação: Escalabilidade (100 hosts)

Trabalhos Relacionados VMware Virtualização de sistema completo para hardwares commodity IBM zseries Sistema para-virtualizado para mainframes zseries, permitindo executar um grande número de instâncias de Linux Denali Kernel de isolamento que permite executar um vasto número de instâncias de SO virtualizados

Conclusão Xen provê uma plataforma excelente para provisionar uma ampla variedade de serviços orientados a rede Xen permite instanciar servidores transientes por curtos períodos de tempo e baixo custo de instanciação Os experimentos mostram que o desempenho do Linux virtualizado rodando sobre Xen é quase equivalente ao do Linux nativo

Xen na Atualidade Xen é uma escolha segura, estável, bem testada para virtualização que é utilizada por gigantes da indústria (Amazon, Rackspace, Verizon, etc.). Tem um consórcio robusto por trás de seu desenvolvimento e tem o preço, desempenho e segurança para enfrentar as melhores ofertas da indústria. Além de ter um histórico de 10 anos que inclui seu uso nas maiores clouds do mundo. Citrix não vai tornar o XenServer open source. Enquanto o Xen, o hypervisor em si, é open source, o XenServer, contém código proprietário que o torna muito mais simples de configurar e de gerenciar e é muito mais polido e confiável como plataforma de virtualização. Provedores de serviço da Internet utilizam hypervisors para prover servidores virtuais privados. Amazon EC2, Liquid Web, Fujitsu Global Cloud Platform, Linode, Sparknode e Rackspace Cloud utilizam Xen como o hypervisor. Xen pode escalar para >255 CPUs físicas, 128 CPUs virtuais por hóspede PV e até 1TB de RAM por hóspede HVM ou 512GB de RAM por hóspede PV Versões comerciais: Citrix XenServer, Oracle VM, Sun xvm, Virtual Iron...

Perguntas?