1 / 34

Live Migration of Virtual Machines

Live Migration of Virtual Machines. Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE. Rafael dos Santos Alves. http://www.gta.ufrj.br. Informações. Autores Christopher Clark Keir Fraser Steven Hand Jacob Gorm Hansen Eric Jul Christian Limpach

deanne
Télécharger la présentation

Live Migration of Virtual Machines

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Live Migration of Virtual Machines Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael dos Santos Alves http://www.gta.ufrj.br

  2. Informações • Autores • Christopher Clark • Keir Fraser • Steven Hand • Jacob Gorm Hansen • Eric Jul • Christian Limpach • Ian Pratt • Andrew Warfield • Publicação • Second Symposium on Networked Systems Design and Implementation (NSDI'05)

  3. Motivação • Balanceamento de carga • Manutenção do sistema • Separação entre hardware e software • Vantagens em utilizar máquinas virtuais • Evita dependências residuais • Permite transferência de estado na memória de forma consistente • Permite separação de preocupações entre operadores e usuários

  4. Objetivos • Minimizar tempo “fora do ar” • Tempo total de migração • Manter sem interrupções serviços ativos

  5. Abordagens Prévias • Collective • Mobilidade para usuários que utilizam diferentes hosts • Conexões lentas • Interrupção do sistema operacional • VMware • Migração de processo • Dependência residual

  6. Questões de projeto • Memória transferida • Minimizar tempo “fora do ar” e tempo total de migração • Recursos locais • Memória • Disco • Interfaces de rede • ...

  7. Memória transferida • Três fases de transferência • Push • Máquina fonte continua executando • Páginas são transferidas e em caso de modifcação retransferidas • Stop-and-copy • Simples • Tempo “fora do ar” inaceitável • Pull • Nova máquina executa • Páginas faltantes são puxadas pela rede

  8. Abordagem utilizada • Uma fase push iterativa e limitada • n rodadas • Páginas modificas na rodada i-1 transferidas na rodada i • Uma pequena fase stop-and-copy • Pequeno conjunto de páginas frequentemente modificadas

  9. Recursos locais • Recursos de rede • Manter conexões abertas • Respostas ARP não solicitadas • Armazenamento local • Assume NAS (Network Attached Storage)

  10. Visão geral

  11. Writable Working Sets (WWS) • Maior influência no desempenho • Sobrecarga de transferência de memória • Conjunto de páginas frequentemente alteradas • Devem ser transferidas via stop-and-copy

  12. Medição do WWS

  13. Medição do WWS (2)

  14. Medição do WWS (3)

  15. Medição do WWS (4)

  16. Medição do WWS (5)

  17. Questões de implementação • Migração gerenciada vs. Automigração • Limitação dinâmica de taxa • Alteração frequente das páginas • Otimizações para paravirtualização • Interrupção de processos “trapaceiros” • Liberação páginas

  18. Migração gerenciada • Daemons na VM de gerenciamento • Dirty bitmap • Páginas sombra • Tabelas de páginas marcadas como somente leitura • Tentativas de modificação interceptadas pelo Xen • Reiniciadas ao final de cada iteração

  19. Automigração • Realizado pelo SO sendo migrado • Dificuldade em definir um checkpoint • Solução: stop-and-copy de dois estágios • Interrupção dos processos (exceto os de migração) • Páginas alteradas são enviadas para o dirty bitmap • Transferência das páginas alteradas no primeiro estágio

  20. Limitação dinâmica de taxa • Altas taxas de transferência • Impacto nos serviços • Adaptação da largura de banda • 1ª fase de pré-cópia com menor banda possível • Para cada fase seguinte cálculo da taxa de alteração de páginas • Banda para próxima rodada igual a taxa de alteração mais uma constante (50 Mb/s) • Fase stop-and-copy com banda máxima

  21. Alteração frequente das páginas • Algumas páginas com alta frequência de alteração • Páginas modificadas na última rodada não são transferidas na rodada atual • Alteração de páginas em aglomerados • Varredura da memória física em ordem pseudo-aleatória

  22. Otimizações para parvitualização • Interrupção de processos “trapaceiros” • Alteram a memória mais rápido do que o processo de pré-cópia • Thread de monitoramento • Processos com mais de 40 faltas de páginas movidos para o modo suspenso • Não deve interromper serviços importantes

  23. Interrupção de processos

  24. Otimizações para parvitualização • Liberação de páginas • SO típicos possuem páginas livres • Não precisam ser copiadas • Caso sejam necessárias • Faltas de páginas • Transferidas do disco • Aumento do custo

  25. Avaliação • 2 servidores Dell PE-2650 • Dual Xeon 2 GHz • Somente 1 CPU utilizada • HyperThreading habilitado • 2 GB de memória RAM • Interface de rede Broadcom TG3 • Comutador Gigabit Ethernet • Servidor NAS NetApp F840 • XenLinux 2.4.27

  26. Servidor web simples • Apache 1.3 • Memória alocada de 800 MB

  27. Servidor web complexo • SPECweb99 • 30% geração de conteúdo dinâmico • 16% operação HTTP POST • 0,5% de scripts CGI • Geração de logs • QoS • Banda agregada de 320 kb/s

  28. Servidor web complexo (2)

  29. Servidor de baixa latência • Quake 3 • Memória alocada de 64 MB • Seis jogadores

  30. Servidor de baixa latência (2)

  31. Servidor de baixa latência (3)

  32. Carga “diabólica” • Mmuncher • Escrita em memória mais rápida que a transferência pela rede • Memória alocada de 512 MB • Programa em C escreve em área de 256 MB

  33. Carga “diabólica” 3,5 segundos de downtime

  34. Trabalhos Futuros • Gerenciamento em clusters • Redirecionamento em WANs • Migração de blocos de disco

More Related