HowTo: Como criar Cluster Linux - Ativo/Passivo para Postgres com DRBD, Pacemaker e Corosync
Este artigo explica como configurar (e monitorar) um Cluster Linux Ativo/Passivo para PostgreSQL, usando Pacemaker, DRBD e Corosync.
Parte 10: Acessando via rede e monitorando o cluster
Este artigo explica como configurar (e monitorar) um Cluster PostgreSQL Ativo/Passivo, usando Pacemaker, Corosync e DRBD. Escrito por Rafael Marangoni, do time de Servidor Linux da BRLink.
Aqui, vamos setar autenticação MD5 via rede local 10.0.0.0/24. No nó que o postgresql estiver rodando (usar o crm_mon -1), executar o comando:
# echo "host all all 10.0.0.0/24 md5">> /var/lib/pgsql/data/pg_hba.conf
Para aplicar as configurações, use os comandos:
# crm resource stop postgresql
# crm resource start postgresql
Nós recomendamos o uso do Zabbix para ambientes de produção. Sugerimos que o Zabbix monitore, em cada um dos nós, de maneira independente e através de um agent:
Segue o script monitor_drbd.sh para o Zabbix:
Acessando via rede
Se você precisar acessar o PostgreSQL via rede, não se esqueça de apontar para o DBIP (10.0.0.190). Será interessante configurar os acessos no postgresql.Aqui, vamos setar autenticação MD5 via rede local 10.0.0.0/24. No nó que o postgresql estiver rodando (usar o crm_mon -1), executar o comando:
# echo "host all all 10.0.0.0/24 md5">> /var/lib/pgsql/data/pg_hba.conf
Para aplicar as configurações, use os comandos:
# crm resource stop postgresql
# crm resource start postgresql
Monitorando o cluster
O monitoramento do cluster é algo obrigatório em ambientes sérios de alta disponibilidade. Principalmente porque caso um nó falhe, o cluster não deverá sofrer interrupções de serviço. Se o administrador não monitora a estrutura, fatalmente não perceberá a degradação do cluster.Nós recomendamos o uso do Zabbix para ambientes de produção. Sugerimos que o Zabbix monitore, em cada um dos nós, de maneira independente e através de um agent:
- Checar o Ping Local (10.0.0.191, 10.0.0.192 e 172.16.0.1, 172.16.0.2)
- Checar Ping ao DBIP (Cluster IP) 10.0.0.190
- Checar porta TCP do PostgreSQL (5432) no DBIP 10.0.0.190
- Checar serviços gerais como uso de disco, processos, memória, processador etc.
- Usar o seguinte script (bastante simples) chamado monitor_drbd.sh (que retorna 1 quando está tudo certo com o DRBD e 0 quando o DRBD tem problema).
Segue o script monitor_drbd.sh para o Zabbix:
#!/bin/bash
CHECK=`cat /proc/drbd | grep UpToDate/UpToDate | cut -d: -f5 | cut -c1-17`
STRING_OK="UpToDate/UpToDate"
# Comparando as duas.
if [ "$CHECK" == "$STRING_OK" ] ; then
# Is ok, returning 1
echo 1;
else
# Not ok, returning 0
echo 0;
fi
10!
;-))