Alta disponibilidade em máquinas paravirtualizadas João Eriberto Mota Filho SIRC / RS 2007 09 de outubro de 2007
Sumário Introdução Técnicas de virtualização Conceito de alta disponibilidade Paravirtualização com Xen Replicação de dados com DRBD Replicação de dados com RSync e CSync2 Gerenciamento de recursos com Heartbeat Monitoramento de portas com HAPM Visão geral de todo o processo Conclusão
Sumário Introdução Técnicas de virtualização Conceito de alta disponibilidade Paravirtualização com Xen Replicação de dados com DRBD Replicação de dados com RSync e CSync2 Gerenciamento de recursos com Heartbeat Monitoramento de portas com HAPM Visão geral de todo o processo Conclusão
Introdução Por que virtualizar? > Reduzir a quantidade de máquinas servidoras; > Aproveitar melhor um hardware potente; > Eliminar o hardware não confiável; > Diminuir os custos com hardware; > Diminuir o gasto com energia elétrica; > Diminuir o calor produzido pelas máquinas; > Obter mais espaço físico; > Outros.
Introdução Por que necessitamos de alta disponibilidade? > Manter serviços disponíveis o maior tempo possível; > Aumentar os lucros; > Eliminar o tempo de recuperação pós-desastres; > Manter um sistema de backup em tempo real; > Outros.
Sumário Introdução Técnicas de virtualização Conceito de alta disponibilidade Paravirtualização com Xen Replicação de dados com DRBD Replicação de dados com RSync e CSync2 Gerenciamento de recursos com Heartbeat Monitoramento de portas com HAPM Visão geral de todo o processo Conclusão
Técnicas de virtualização Virtualização total (full virtualization) Paravirtualização (paravirtualization)
Técnicas de virtualização Virtualização total (full virtualization) > Há a completa virtualização do hardware e a necessidade de uma camada intermediária de comunicação com o SO virtualizado; > São consumidas grandes quantidades de recursos computacionais (processador e memória) para manter a virtualização.
Técnicas de virtualização Paravirtualização (paravirtualization) > Há uma virtualização parcial do hardware e o SO virtualizado consegue acessá-lo diretamente (com alguns limites); > É necessária a modificação do kernel do SO ou o uso de processadores especiais (Intel VT [Vanderpool] e AMD V [Pacifica]); > São consumidos poucos recursos computacionais e a performance é excelente.
Técnicas de virtualização Exemplos de virtualização total (full virtualization) > VMware; > VirtualPC. Exemplos de paravirtualização (paravirtualization) > Xen (Zêin?); > UML.
Sumário Introdução Técnicas de virtualização Conceito de alta disponibilidade Paravirtualização com Xen Replicação de dados com DRBD Replicação de dados com RSync e CSync2 Gerenciamento de recursos com Heartbeat Monitoramento de portas com HAPM Visão geral de todo o processo Conclusão
Conceito de alta disponibilidade Em uma primeira visão, alta disponibilidade sugere que um servidor esteja disponível para os seus clientes a maior parte de tempo possível; No entanto, o conceito de alta disponibilidade advém de uma condição matemática refenciada por percentuais; Alta disponibilidade não tem uma estreita ligação com programas famosos (DRBD ou Heartbeat, por exemplo); O exemplo mais primitivo de alta disponibilidade é o grupo DNS primário / DNS sencundários.
Conceito de alta disponibilidade Segundo Jim Gray e Daniel Siewiorek [1]: Sistema % ativo ausência anual não gerenciado 90% 36.5 dias gerenciado 99% 3.65 dias bem gerenciado 99.9% 8.76 horas tolerante a falhas 99.99% 52.56 minutos alta disponibilidade 99.999% 5.256 minutos altíssima disponibilidade 99.9999% 31.536 segundos [2] extrema disponibilidade 99.99999% 3.1536 segundos [2] [1] http://research.microsoft.com/~gray/papers/ieee_ha_swieorick.doc [2] Dificílimo de obter.
Sumário Introdução Técnicas de virtualização Conceito de alta disponibilidade Paravirtualização com Xen Replicação de dados com DRBD Replicação de dados com RSync e CSync2 Gerenciamento de recursos com Heartbeat Monitoramento de portas com HAPM Visão geral de todo o processo Conclusão
Paravirtualização com Xen Baixo consumo de processador e memória; Montagem inicial trabalhosa (máquina modelo); Montagem das máquinas virtuais rápida e facilitada pela máquina modelo; Necessita de 196 MB RAM para a máquina real; Não escraviza terminais; Extremamente controlado, isolado e estável; Micro-kernel (hypervisor) e kernel modificado (já empacotado no Debian).
Paravirtualização com Xen Situação da memória em uma máquina real suportando 9 virtuais. (Pentium 4 / 2.4 GHz / 2GB RAM)
Paravirtualização com Xen MRTG: medição em uma máquina real suportando 9 virtuais.
Filme 1 - Xen em ação. Paravirtualização com Xen
Sumário Introdução Técnicas de virtualização Conceito de alta disponibilidade Paravirtualização com Xen Replicação de dados com DRBD Replicação de dados com RSync e CSync2 Gerenciamento de recursos com Heartbeat Monitoramento de portas com HAPM Visão geral de todo o processo Conclusão
Replicação de dados com DRBD Distributed Replicated Block Device; Difere dos métodos convencionais de replicação, como Rsync; Trabalha copiando, entre máquinas, blocos de dados existentes nos discos; Excelente performance, baixo custo computacional e baixo custo de rede; "RAID 1 over TCP".
Replicação de dados com DRBD Funcionamento pautado no conceito de dispositivo primário e secundário. > O dispositivo primário envia blocos para o secundário; > Se o primário cair, o secundário poderá ser transformado em primário; > Se o host defeituoso voltar a operar, o seu serviço DRBD subirá como secundário para sincronizar com o primário.
Replicação de dados com DRBD secundário secundário # /etc/init.d/drbd start # /etc/init.d/drbd start
Replicação de dados com DRBD # drbdadm primary all secundário secundário
Replicação de dados com DRBD primário secundário # drbdadm primary all Obs: somente dispositivos DRBD primários podem ser montados.
Sumário Introdução Técnicas de virtualização Conceito de alta disponibilidade Paravirtualização com Xen Replicação de dados com DRBD Replicação de dados com RSync e CSync2 Gerenciamento de recursos com Heartbeat Monitoramento de portas com HAPM Visão geral de todo o processo Conclusão
Replicação de dados com RSync e CSync2 A utilização do DRBD é restrita às partições não essenciais ao boot do sistema. Assim sendo, não é possível replicar uma partição que contenha o /etc, o /usr ou outros; Arquivos de configuração existentes no /etc, por exemplo, poderão ser replicados com RSync ou CSync2; O RSync é fácil de usar mas oferece riscos de segurança (livre e total acesso com o uso de chaves assimétricas sobre SSH); O CSync2 é mais difícil de usar. No entanto, possui otimizações e só permite a transferência de arquivos com autenticação por chave própria (independe do uso de SSH); O CSync2 é mantido pelo mesmo grupo do DRBD.
Sumário Introdução Técnicas de virtualização Conceito de alta disponibilidade Paravirtualização com Xen Replicação de dados com DRBD Replicação de dados com RSync e CSync2 Gerenciamento de recursos com Heartbeat Monitoramento de portas com HAPM Visão geral de todo o processo Conclusão
Gerenciamento de recursos com Heartbeat O Heartbeat é um monitor de comunicação entre hosts, capaz de ativar ou desativar recursos; Utiliza pacotes UDP para verificar se há comunicação; O Heartbeat utiliza IP virtual para tornar os hosts disponíveis; Em caso de falha no host primário, o Heartbeat: > "Transfere" o IP virtual para o host secundário; > Torna primário o DRBD do host secundário; > Monta a partição DRBD (com os dados já replicados); > Coloca no ar os serviços que irão utilizar a partição recém montada. Exemplo: Sendmail, Postfix, Postgresql, Apache etc.
Sumário Introdução Técnicas de virtualização Conceito de alta disponibilidade Paravirtualização com Xen Replicação de dados com DRBD Replicação de dados com RSync e CSync2 Gerenciamento de recursos com Heartbeat Monitoramento de portas com HAPM Visão geral de todo o processo Conclusão
Gerenciamento de portas com HAPM O HAPM (High Availability Port Monitor) é um monitor local de portas que pode derrubar o Heartbeat local; O Heartbeat 1 não monitora serviços (só hosts); O Heartbeat 2 monitora serviços mas os mesmos devem estar preparados para isso (opção status); Há outras opções. Algumas são complexas e exigem o conhecimento de programação para melhores resultados. Outras forçam um "restart" do serviço, mascarando ou ampliando o problema; O HAPM é um software livre brasileiro, desenvolvido para ser rápido e leve. Foi concebido, por 3 oficiais, para atender necessidades no Comando do Exército.
Sumário Introdução Técnicas de virtualização Conceito de alta disponibilidade Paravirtualização com Xen Replicação de dados com DRBD Replicação de dados com RSync e CSync2 Gerenciamento de recursos com Heartbeat Monitoramento de portas com HAPM Visão geral de todo o processo Conclusão
Visão geral do processo Exemplo de alta disponibilidade, balanceada, entre máquinas virtuais implementadas em máquinas reais diferentes.
Visão geral do processo Exemplo de alta disponibilidade entre duas máquinas virtuais.
Visão geral do processo Filme 2 - A alta disponibilidade entre máquinas paravirtualizadas.
Sumário Introdução Técnicas de virtualização Conceito de alta disponibilidade Paravirtualização com Xen Replicação de dados com DRBD Replicação de dados com RSync e CSync2 Gerenciamento de recursos com Heartbeat Monitoramento de portas com HAPM Visão geral de todo o processo Conclusão
Conclusão A paravirtualização é um recurso benéfico aos administradores de sistemas; A utilização de máquinas virtuais em alta disponibilidade moderniza as redes e aumenta a confiabilidade nas mesmas; Esta palestra está disponível no site: http://