live migration of virtual machines
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Live Migration of Virtual Machines
Departamento de Eletrônica – Escola PolitécnicaPrograma 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• 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
pseudo-aleató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 segundosde downtime
Trabalhos Futuros
• Gerenciamento em clusters• Redirecionamento em WANs• Migração de blocos de disco