Com o ambiente já virtualizado, podem existir picos de uso da máquina virtualizada, algumas vezes por falhas no escalonamento do projeto de virtualização, de forma que a máquina física não suporte toda a carga e cause lentidão. Ao mesmo tempo, é possível que existam outras máquinas físicas disponíveis e ociosas. Assim, para um melhor aproveitamento da capacidade dos servidores, os operadores de TI podem efetuar migrações de máquinas virtualizadas para outras máquinas físicas, melhorando a velocidade de todos os processos e aproveitando ao máximo os benefícios da virtualização. Migrações podem ocorrer de três formas:
- Static Migration: Quando a máquina virtual é desligada usando os métodos de seu sistema operacional e logo em seguida é movida para outra máquina física.
- Cold Migration: É quando a máquina virtual é suspensa (exemplo: Hibernar do sistema Windows), usando métodos de seu sistema operacional ou acionada a função de Snapshot que salva o estado atual da máquina virtualizada. Após acionado um dos dois procedimentos citados, a máquina virtualizada é movida para outra máquina física e iniciado o sistema virtualizado em seu estado anterior.
- Live Migration: É quando o próprio monitor de máquinas virtuais, que executa a máquina virtualizada se incumbe de fazer a migração sem paradas. Live Migration per- mite o equilíbrio de carga dinâmica de associações virtualizadas do recurso, a manutenção do hardware sem tempo ocioso da máquina virtualizada e o apoio dinâmico contra falhas do sistema.
O maior desafio da migração de máquinas virtuais é que, após a migração da máquina virtualizada entre os servidores físicos ocorrer, a máquina virtualizada deve se comportar da mesma forma como antes da migração.
Visando avaliar a eficiência dos mecanismos de live migration adequados para uso em datacenters, efetuei uma avaliação dos mecanismos existentes para permitir que servidores fiquem disponíveis a moir parte do tempo possível. Este método de migração traz consigo beneficios como, não necessitar de parada, não necessitar de reinicialização do sistema virtualizado e ser de fácil operação. Descrevo dois monitores de máquinas virtuais que dão suporte ao método de migração live migration, o KVM/QEMU, que é um hypervisor livre e robusto, e o VirtualBox, que também é de uso livre, porém, ainda não conta com um número grande de utilizadores. Para que possamos entender melhor o que acontece quando iniciamos o processo de migração de cada máquina virtual, segue abaixo o algoritmo da migração através de live migration:
1. Inicialização da máquina virtual no destino, ativando-se uma página de log.
2. Transferência de memória. A máquina virtualizada continua a funcionar. Primeiramente é transferida uma cópia de toda a memória e depois são transferidas as páginas utilizadas enquanto era realizada a transferência de memória.
3. A máquina virtualizada aparece para o gerenciador como se estivesse em pausa. Neste momento é ativada a sincronização dos discos rígidos e a transferência de estado. É executado o mais rápido possível, sem limitação de largura de banda, uma vez que informações de todos os dispositivos e a página de estados ainda estão sendo transferidos.
Para ilustrar melhor o que seria esta migração, como funciona e como se faz, publiquei dois vídeos com visões diferentes da migração de máquinas virtuais para equipamentos físicos distintos, seguem abaixo :
Migrate KVM/QEMU via Console
Migrate KVM/QEMU – Visão externa
É possível utilizar o KVM/QEMU para fazer o live migration em VMs em hospedeiro ESXi?