Cluster de Alta Disponibilidade em Linux

13,485 views

Published on

Apresentação realizada no mini curso sobre Clusters / Alta Disponibilidade no II Congresso Brasileiro de Tecnologia da Informação e Comunicação promovido pelo grupo SER Educacional em 10/06/2010

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
13,485
On SlideShare
0
From Embeds
0
Number of Embeds
1,790
Actions
Shares
0
Downloads
478
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Cluster de Alta Disponibilidade em Linux

  1. 1. II Congresso Brasileiro de Tecnologia da Informação e Comunicação Clusters de Alta Disponibilidade em Linux Frederico Madeira LPIC-1, LPIC-2, CCNA [email_address] www.madeira.eng.br
  2. 2. Agenda <ul><li>Definição de Clusters
  3. 3. Tipos de Clusters
  4. 4. Por quê usar Clusters
  5. 5. Algumas Definições
  6. 6. Clusters de Alta Disponibilidade
  7. 7. Implementação em Linux: </li><ul><li>Heartbeat
  8. 8. DRBD
  9. 9. Demonstração de um cluster WEB com banco de dados Mysql </li></ul><li>Questões </li></ul>
  10. 10. “ Cluster is a widely-used term meaning independent computers combined into a unified system through software and networking. At the most fundamental level, when two or more computers are used together to solve a problem, it is considered a cluster” - http://www.beowulf.org “ Construído a partir de computadores convencionais, os quais são ligados em rede e comunicam-se através do sistema, trabalhando como se fossem uma única máquina de grande porte” - http://pt.wikipedia.org/wiki/Cluster Definição de Cluster
  11. 11. Exemplos
  12. 12. Exemplos
  13. 13. Tipos de Clusters <ul><li>Alta Disponibilidade (High Availability (HA) and Failover)
  14. 14. Balanceamento de carga (Load Balancing)
  15. 15. Processamento Distribuído ou Processamento Paralelo (HPC - High Performance Computing) </li></ul>
  16. 16. Os clusters ou combinações de clusters são utilizados a fim de processar conteúdos críticos ou disponibilização de serviços durante a maior parte do tempo. Clusters de Alta Disponibilidade e Balanceamento de Carga geralmente são utilizados por serviços críticos, como aplicações web, vídeo streaming, servidores de email entre outras. Clusters paralelos normalmente são utilizados pela indústria cinematográfica a fim de renderizar gráficos de altíssima qualidade e animações. Clusters Beowulf são utilizados na pesquisa cientifica, pelo seu poder de processamento e custo de implementação Razões para a Utilização de Clusters
  17. 17. “ Um sistema de alta disponibilidade é aquele que utiliza mecanismos de detecção, recuperação e mascaramento de falhas, visando manter o funcionamento dos serviços durante o máximo de tempo possível, inclusive no decurso de manutenções programadas” Definição – Alta Disponibilidade
  18. 18. “ Disponibilidade refere-se a capacidade de um usuário de determinado sistema acessar, incluir ou modificar os dados existentes em qualquer intervalo de tempo. Caso, por qualquer que seja o motivo, um usuário não tenha acesso, é dito então que ele está indisponível, sendo o tempo total de indisponibilidade conhecido pelo termo downtime .” Definição – Disponibilidade
  19. 19. <ul><li>Níveis de Disponibilidade </li></ul>Geralmente, quanto maior a disponibilidade, maior a redundância e custo das soluções: tudo depende do tipo de serviço que se pretende disponibilizar
  20. 20. <ul><li>Alta Disponibilidade (HA) </li></ul><ul><ul><li>Construídos para prover uma disponibilidade de serviços e recursos de forma ininterruptas
  21. 21. Se um nó do cluster vier a falhar (failover) as aplicações/serviços estarão disponíveis em um outro nó.
  22. 22. Utilizados para base de dados de missões críticas, correio, servidores de arquivos e aplicações. </li></ul></ul>
  23. 23. <ul><li>Alta Disponibilidade (HA) </li></ul><ul><ul><li>Replicação de Serviços e Servidores.
  24. 24. Tolerância a falha através de: Raid, fontes, placas e links redundantes
  25. 25. Exemplos: </li></ul></ul><ul><ul><ul><li>Linux HA - http://www.linux-ha.org
  26. 26. DRBD - http://www.drbd.org/ </li></ul></ul></ul>
  27. 27. <ul>Alta Disponibilidade (High Availability (HA) and Failover) </ul>
  28. 28. <ul><li>Alta Disponibilidade (High Availability (HA) and Failover) </li></ul>
  29. 29. “ Heartbeat é um deamon que provê uma infraestrutura de serviço de cluster (comunicação e associação de membros) para seus clientes. Ele permite que os clientes tomem conhecimento sobre a presença (ou desaparecimento) dos processos em outras máquinas (peers/nodes) e de forma fácil, trocar mensagens com ele. - http://www.linux-ha.org/doc/ch-fundamentals.html Definição - Heartbeat
  30. 30. “ Através de um meio de comunicação, que pode ser Ethernet ou Serial, um servidor redundante verifica a disponibilidade do servidor em produção. Essa checagem é feita entre as duas instâncias do Heartbeat instaladas nos dois servidores. Se o servidor em produção não responder, ele será considerado indisponível, e então o Heartbeat do servidor redundante providencia a configuração e inicialização dos serviços locais, além de outros recursos, como o endereço IP, partições de disco, etc. Funcionamento
  31. 31. Funcionamento IP VIRTUAL IP’s FIXOS
  32. 32. Considerações <ul><li>Evita qualquer tipo de conflito que possa afetar o correto funcionamento do sistema.
  33. 33. Não é seu objetivo garantir a sincronia e a integridade dos dados entre os servidores.
  34. 34. Necessário atuar em conjunto com algum software que se encarregue de manter os mesmos arquivos do servidor em produção também no servidor redundante. Essa será justamente a função do DRBD. </li></ul>
  35. 35. Instalação <ul><li>Para instalar o heartbeat utilizando o yum, basta executar o comando abaixo: </li></ul><ul><ul><li>yum install heartbeat </li></ul></ul><ul><ul><li>Irá instalar os pacotes abaixo: </li></ul></ul><ul><ul><ul><li>heartbeat-2.1.3-3.el5.centos
  36. 36. heartbeat-pils-2.1.3-3.el5.centos
  37. 37. heartbeat-stonith-2.1.3-3.el5.centos </li></ul></ul></ul>
  38. 38. Configuração <ul><li>Toda instalação do heartbeat deve conter os seguintes arquivos de configuração: </li><ul><li>/etc/ha.d/ha.cf — Arquivo global de configuração do cluster
  39. 39. /etc/ha.d/authkeys — Arquivo que contem chaves para autenticação mútua entre os nodos da rede
  40. 40. /etc/ha.d/haresources — Arquivo que contem os recursos que queremos habilitar no cluster </li></ul></ul>
  41. 41. O DRBD ( Distributed Replicated Block Device ) consiste em um módulo para o kernel Linux que faz o espelhamento dos dados de um dispositivo de bloco (partições de disco) entre diferentes servidores, interligados geralmente através de uma rede Ethernet . DRBD = RAID 1 via Rede Definição -DRBD
  42. 42. <ul><li>Cada dispositivo de bloco envolvido na configuração do DRBD tem um estado, que pode ser primário ou secundário.
  43. 43. Operações de escrita feitas no primário são replicadas para o secundário
  44. 44. O protocolo padrão de replicação garante a sincronia e a integridade dos dados replicados.
  45. 45. Operações de leitura, são sempre realizadas localmente. </li></ul>Funcionamento
  46. 46. Funcionamento Escrita
  47. 47. Instalação <ul><li>Para instalar o drbd utilizando o yum, basta executar o comando abaixo: </li></ul><ul><ul><li>yum install kmod-drbd drbd </li></ul></ul><ul><ul><li>Irá instalar o pacote abaixo: </li></ul></ul><ul><ul><ul><li>kmod-drbd-8.0.16-5.el5_3.i686.rpm
  48. 48. drbd-8.0.16-5.el5.centos.i386.rpm </li></ul></ul></ul>
  49. 49. Configuração <ul><li>Toda instalação do drbd deve conter o seguinte arquivo de configuração: </li><ul><li>/etc/drbd.conf: Arquivo global de configuração do drbd </li></ul></ul>
  50. 50. <ul>Demonstração de um cluster HA </ul>
  51. 51. DÚVIDAS ???
  52. 52. II Congresso Brasileiro de Tecnologia da Informação e Comunicação Clusters de Alta Disponibilidade em Linux Frederico Madeira LPIC-1, LPIC-2, CCNA [email_address] www.madeira.eng.br

×