340 likes | 438 Vues
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
E N D
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 • 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)
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
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
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 de baixa latência • Quake 3 • Memória alocada de 64 MB • Seis jogadores
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