Departamento de Eletrônica – Escola Politécnica
Programa de Engenharia Elétrica – COPPE
Live Migration of Virtual Machines
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
• Ian Pratt
• Andrew Warfield
• Publicação
• Second Symposium on Networked Systems Design and
Implementation (NSDI'05)
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
Objetivos
• Minimizar tempo “fora do ar”
• Tempo total de migração
• Manter sem interrupções serviços ativos
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
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
• ...
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
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
Recursos locais
• Recursos de rede
• Manter conexões abertas
• Respostas ARP não solicitadas
• Armazenamento local
• Assume NAS (Network Attached Storage)
Visão geral
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
Medição do WWS
Medição do WWS (2)
Medição do WWS (3)
Medição do WWS (4)
Medição do WWS (5)
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
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
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
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
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 pseudoaleatória
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
Interrupção de processos
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
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
Servidor web simples
• Apache 1.3
• Memória alocada de 800 MB
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
Servidor web complexo (2)
Servidor de baixa latência
• Quake 3
• Memória alocada de 64 MB
• Seis jogadores
Servidor de baixa latência (2)
Servidor de baixa latência (3)
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
Carga “diabólica”
3,5 segundos
de downtime
Trabalhos Futuros
• Gerenciamento em clusters
• Redirecionamento em WANs
• Migração de blocos de disco
Download

Apresentação do Rafael