Escolar Documentos
Profissional Documentos
Cultura Documentos
br
Sistemas Distribudos
Alta Disponibilidade utilizando Heartbeat + drbd
Definio Disponibilidade
Disponibilidade refere-se a capacidade de um usurio de determinado sistema acessar, incluir ou modificar os dados existentes em qualquer intervalo de tempo. Caso, por qualquer que seja o motivo, um usurio no tenha acesso, dito ento que ele est indisponvel, sendo o tempo total de indisponibilidade conhecido pelo termo downtime.
Nveis de Disponibilidade Geralmente, quanto maior a disponibilidade, maior a redundncia e custo das solues: tudo depende do tipo de servio que se pretende disponibilizar
Definio - Heartbeat
Heartbeat um deamon que prov uma infraestrutura de servio de cluster (comunicao e associao de membros) para seus clientes. Ele permite que os clientes tomem conhecimento sobre a presena (ou desaparecimento) dos processos em outras mquinas (peers/nodes) e de forma fcil, trocar mensagens com ele. - http://www.linux-ha.org/doc/ch-fundamentals.html
Funcionamento
Atravs de um meio de comunicao, que pode ser Ethernet ou Serial, um servidor redundante verifica a disponibilidade do servidor em produo. Essa checagem feita entre as duas instncias do Heartbeat instaladas nos dois servidores. Se o servidor em produo no responder, ele ser considerado indisponvel, e ento o Heartbeat do servidor redundante providencia a configurao e inicializao dos servios locais, alm de outros recursos, como o endereo IP, parties de disco, etc.
Funcionamento
IPs FIXOS IP VIRTUAL
Consideraes
Evita qualquer tipo de conflito que possa afetar o correto funcionamento do sistema. No seu objetivo garantir a sincronia e a integridade dos dados entre os servidores. Necessrio atuar em conjunto com algum software que se encarregue de manter os mesmos arquivos do servidor em produo tambm no servidor redundante. Essa ser justamente a funo do DRBD.
Instalao
Para instalar o heartbeat utilizando o yum, basta executar o comando abaixo: yum install heartbeat Ir instalar os pacotes abaixo:
Configurao
/etc/ha.d/ha.cf Arquivo global de configurao do cluster /etc/ha.d/authkeys Arquivo que contem chaves para autenticao mtua entre os nodos da rede /etc/ha.d/haresources Arquivo que contem os recursos que queremos habilitar no cluster
Configurao ha.cf
logfile /var/log/ha-log logfacility local0 Keepalive 2 # Intervalo entre os heartbeats Deadtime 30 # Define quando um n est offline Initdead 120 # Declara que o node est offline aps #o startup. Deve ser alto bcast bond0 # Qual interface os heartbeats sero # enviados Udpport 694 # porta UDP utilizada para intra-cluster # communication auto_failback on # Retorna servio para master node server3 # nome das mquinas do cluster node server4 # nome das mquinas do cluster
Configurao authkeys
Este arquivo possui as chaves de autenticao a serem utilizadas pelos nodes. Abaixo est um exemplo deste arquivo:
Este arquivo dever ser legvel apenas pelo root, para tanto:
Configurao haresources
Este arquivo possui a lista dos recursos que sero movidos de um n para o outro quando um n entra no status de falha ou quando ele se recupera Este arquivo deve ser igual para todos os ns do cluster Cada linha indica um grupo de recursos que estar ativo.
Testando
No N 1: echo "Apache ativo no node01" > /var/www/html/index.html No N 2: echo "Apache ativo no node02" > /var/www/html/index.html\ Forando a Falha do n 1: /etc/init.d/heartbeat start ou ainda: [root@server3 ha.d]# /usr/share/heartbeat/hb_standby 2010/04/18_14:09:14 Going standby [all]. Automaticamente ser detectada a falha do n 1 e o heartbeat ativar os servios no n2. Recuperando a Falha do n 1: [root@server3 ha.d]# /usr/share/heartbeat/hb_takeover
Definio -DRBD
O DRBD (Distributed Replicated Block Device) consiste em um mdulo para o kernel Linux que faz o espelhamento dos dados de um dispositivo de bloco (parties de disco) entre diferentes servidores, interligados geralmente atravs de uma rede Ethernet. DRBD = RAID 1 via Rede
Funcionamento
Cada dispositivo de bloco envolvido na configurao do DRBD tem um estado, que pode ser primrio ou secundrio. Operaes de escrita feitas no primrio so replicadas para o secundrio O protocolo padro de replicao garante a sincronia e a integridade dos dados replicados. Operaes de leitura, so sempre realizadas localmente.
Funcionamento
Escrita
Instalao
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
Configurao
Toda instalao do drbd deve conter o seguinte arquivo de configurao: /etc/drbd.conf Usando o exemplo anterior, teramos:
resource web { protocol C; on webserver1 { device /dev/drbd0; disk /dev/sdb1; address 9.8.7.1:7788; meta-disk internal; } on webserver-bkp { device /dev/drbd0; disk /dev/sdb1; address 9.8.7.2:7788; meta-disk internal; }
Configurao
Toda instalao do drbd deve conter o seguinte arquivo de configurao: /etc/drbd.conf Usando o exemplo anterior, teramos:
resource web { protocol C; on webserver1 { device /dev/drbd0; disk /dev/sdb1; address 9.8.7.1:7788; meta-disk internal; } on webserver-bkp { device /dev/drbd0; disk /dev/sdb1; address 9.8.7.2:7788; meta-disk internal; }
Configurao
Criando o device a ser compartilhado (deve ser feito nas duas mquinas): [root@server3 etc]# drbdadm create-md web Iniciando o servio nas duas mquinas: [root@server3 etc]# /etc/init.d/drbd start Definindo o n primrio: [root@server3 etc]# drbdadm -- -o primary web Criando um sistema de arquivos [root@server3 etc]# mkfs.ext3 /dev/drbd0 Montando o device [root@server3 etc]# mount /dev/drbd0 /opt/web/ Checando Status [root@server3 opt]# cat /proc/drbd
Testando
Copie alguns dados para o device do DRBD Faa um switch over do device no n 1 para secundrio: [root@server3 opt]# drbdadm secondary web Faa um switch over do device no n 2 para primrio: [root@server4 ~]# drbdadm primary web Montando o device [root@server4 etc]# mount /dev/drbd0 /opt/web/ Verifique o contedo do diretrio, deve ser igual ao que existia em server3 [root@server4 opt]# ls /opt/web
Edite o arquivo haresources e modifique a linha abaixo: server3 192.168.15.50 httpd para: server3 192.168.15.50 drbddisk Filesystem::/dev/drbd0::/opt/web::ext3 httpd
Testando
Testando
Coloque o n 1 em standby e observe que o a pasa /opt/web est vazia. No n 2 ela ser montada com todo o contedo apresentado no n 1 antes do standby.
Faa com que o n 1 reassuma. Verifique o status do device /dev/drbd0 e dos dados na pasta /opt/web
Sistemas Distribudos
Alta Disponibilidade utilizando Heartbeat + drbd