28
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 protected] www.madeira.eng.br

Cluster de Alta disponibilidade

Embed Size (px)

DESCRIPTION

É uma técnica que consiste na configuração de dois ou mais computadores para que passem a trabalhar em conjunto. Desta forma, cada computador monitora os demais e, em caso de falhas,assume os serviços que ficaram indisponíveis.

Citation preview

Page 1: Cluster de Alta disponibilidade

II Congresso Brasileiro de Tecnologia da Informação e Comunicação

Clusters de Alta Disponibilidade em Linux

Frederico MadeiraLPIC-1, LPIC-2, [email protected]

Page 2: Cluster de Alta disponibilidade

Agenda

Definição de Clusters Tipos de Clusters Por quê usar Clusters Algumas Definições Clusters de Alta Disponibilidade Implementação em Linux:

Heartbeat DRBD Demonstração de um cluster WEB com banco

de dados Mysql Questões

Page 3: Cluster de Alta disponibilidade

“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

Page 4: Cluster de Alta disponibilidade

Exemplos

Page 5: Cluster de Alta disponibilidade

Exemplos

Page 6: Cluster de Alta disponibilidade

Tipos de Clusters

Alta Disponibilidade (High Availability (HA) and Failover)

Balanceamento de carga (Load Balancing)

Processamento Distribuído ou Processamento Paralelo (HPC - High Performance Computing)

Page 7: Cluster de Alta disponibilidade

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

Page 8: Cluster de Alta disponibilidade

“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

Page 9: Cluster de Alta disponibilidade

“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

Page 10: Cluster de Alta disponibilidade

•Níveis de Disponibilidade

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

Page 11: Cluster de Alta disponibilidade

•Alta Disponibilidade (HA)

Construídos para prover uma disponibilidade de serviços e recursos de forma ininterruptas

Se um nó do cluster vier a falhar (failover) as aplicações/serviços estarão disponíveis em um outro nó.

Utilizados para base de dados de missões críticas, correio, servidores de arquivos e aplicações.

Page 12: Cluster de Alta disponibilidade

•Alta Disponibilidade (HA)

Replicação de Serviços e Servidores.

Tolerância a falha através de: Raid, fontes, placas e links redundantes

Exemplos:• Linux HA - http://www.linux-ha.org • DRBD - http://www.drbd.org/

Page 13: Cluster de Alta disponibilidade

Alta Disponibilidade (High Availability (HA) and Failover)

Page 14: Cluster de Alta disponibilidade

•Alta Disponibilidade (High Availability (HA) and Failover)

Page 15: Cluster de Alta disponibilidade

“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

Page 16: Cluster de Alta disponibilidade

“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

Page 17: Cluster de Alta disponibilidade

Funcionamento

IP VIRTUALIP’s FIXOS

Page 18: Cluster de Alta disponibilidade

Considerações

Evita qualquer tipo de conflito que possa afetar o correto funcionamento do sistema.

Não é seu objetivo garantir a sincronia e a integridade dos dados entre os servidores.

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.

Page 19: Cluster de Alta disponibilidade

Instalação

Para instalar o heartbeat utilizando o yum, basta executar o comando abaixo:

yum install heartbeat

Irá instalar os pacotes abaixo:

heartbeat-2.1.3-3.el5.centos heartbeat-pils-2.1.3-3.el5.centos heartbeat-stonith-2.1.3-3.el5.centos

Page 20: Cluster de Alta disponibilidade

Configuração

Toda instalação do heartbeat deve conter os seguintes arquivos de configuração:

/etc/ha.d/ha.cf — Arquivo global de configuração do cluster

/etc/ha.d/authkeys — Arquivo que contem chaves para autenticação mútua entre os nodos da rede

/etc/ha.d/haresources — Arquivo que contem os recursos que queremos habilitar no cluster

Page 21: Cluster de Alta disponibilidade

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

Page 22: Cluster de Alta disponibilidade

Cada dispositivo de bloco envolvido na configuração do DRBD tem um estado, que pode ser primário ou secundário.

Operações de escrita feitas no primário são replicadas para o secundário

O protocolo padrão de replicação garante a sincronia e a integridade dos dados replicados.

Operações de leitura, são sempre realizadas localmente.

Funcionamento

Page 23: Cluster de Alta disponibilidade

Funcionamento

Escrita

Page 24: Cluster de Alta disponibilidade

Instalação

Para instalar o drbd utilizando o yum, basta executar o comando abaixo:

yum install kmod-drbd drbd

Irá instalar o pacote abaixo:

kmod-drbd-8.0.16-5.el5_3.i686.rpm drbd-8.0.16-5.el5.centos.i386.rpm

Page 25: Cluster de Alta disponibilidade

Configuração

Toda instalação do drbd deve conter o seguinte arquivo de configuração:

/etc/drbd.conf: Arquivo global de configuração do drbd

Page 26: Cluster de Alta disponibilidade

Demonstração de um cluster HA

IP192.168.15.51

Hostnameserver3

AplicaçãoRoda um Blog

em WordpressServiços:

httpd mysql

IP192.168.15.52

Hostnameserver4

AplicaçãoRoda um Blog

em WordpressServiços:

httpd mysql

Partição a ser replicada

/dev/VolGroup00/lvol1

IP VIP192.168.15.50

Page 27: Cluster de Alta disponibilidade

DÚVIDAS ???

Page 28: Cluster de Alta disponibilidade

II Congresso Brasileiro de Tecnologia da Informação e Comunicação

Clusters de Alta Disponibilidade em Linux

Frederico MadeiraLPIC-1, LPIC-2, [email protected]