Title: Live Migration of Virtual Machines
1Live 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
2Informaçõ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)
3Motivaçã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
4Objetivos
- Minimizar tempo fora do ar
- Tempo total de migração
- Manter sem interrupções serviços ativos
5Abordagens 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
6Questõ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
- ...
7Memó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
8Abordagem 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
9Recursos locais
- Recursos de rede
- Manter conexões abertas
- Respostas ARP não solicitadas
- Armazenamento local
- Assume NAS (Network Attached Storage)
10Visão geral
11Writable 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
12Medição do WWS
13Medição do WWS (2)
14Medição do WWS (3)
15Medição do WWS (4)
16Medição do WWS (5)
17Questõ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
18Migraçã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
19Automigraçã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
20Limitaçã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
21Alteraçã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
22Otimizaçõ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
23Interrupção de processos
24Otimizaçõ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
25Avaliaçã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
26Servidor web simples
- Apache 1.3
- Memória alocada de 800 MB
27Servidor 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
28Servidor web complexo (2)
29Servidor de baixa latência
- Quake 3
- Memória alocada de 64 MB
- Seis jogadores
30Servidor de baixa latência (2)
31Servidor de baixa latência (3)
32Carga 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
33Carga diabólica
3,5 segundos de downtime
34Trabalhos Futuros
- Gerenciamento em clusters
- Redirecionamento em WANs
- Migração de blocos de disco