Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a...

29
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

Transcript of Xen e a Arte da Virtualização - Instituto de Computaçãobit/ensino/mo809_1s13/xen.pdf · Xen e a...

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?