Download - Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

Transcript
Page 1: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 2: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 3: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 4: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

Virtualização

Page 5: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 6: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

Taxonomia de VMs

Page 7: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 8: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 9: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 10: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 11: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 12: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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.

Page 13: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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ão-

cooperativas como x86

4. Mesmo em arquiteturas cooperativas, esconder

completamente os efeitos da virtualização de recursos arrisca

correção e desempenho

Page 14: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 15: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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...

Page 16: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

Interface: CPU

Page 17: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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)

Page 18: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

Interface: I/O

Page 19: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

Porting para o Xen

Page 20: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 21: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

Controle e Gerenciamento

Page 22: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 23: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

Avaliação: Desempenho Relativo

Page 24: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

Avaliação: VMs Concorrentes

Page 25: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

Avaliação: Escalabilidade (100 hosts)

Page 26: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 27: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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

Page 28: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

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...

Page 29: Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a Arte da Virtualização Paul Barham∗, Boris Dragovic, Keir Fraser, Steven Hand,

Perguntas?