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.

[ Hits: 117.133 ]

Por: Rafael Marangoni em 02/12/2010


Instalando PhppgAdmin para gerenciar o PostgreSQL



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.

Este é um passo bastante simples. Vamos documentá-lo apenas para que não reste dúvidas.

Se você não quiser o phppgadmin, fique à vontade de pular esta etapa:

Primeiro, fazer download:

# mkdir /download
# cd /download
# wget '
http://downloads.sourceforge.net/project/phppgadmin/phpPgAdmin%20%5Bbeta%5D/phpPgAdmin-5.0/phpPgAdmin-5.0-beta2.tar.bz2?r=http%3A%2F%2Fphppgadmin.sourceforge.net%2F%3Fpage%3Ddownload&ts=1288189530&use_mirror=ufpr'

Depois, instalar:

# tar -jxvf phpPgAdmin-5.0-beta2.tar.bz2
# mv phpPgAdmin-5.0-beta2 /var/www/html/cluster-pgadmin
# chown apache.apache -R /var/www/html/cluster-pgadmin


Para acessar, basta via browser apontar para o endereço: http://10.0.0.190/cluster-pgadmin

Obs.: Use o usuário admpgsql com a senha que você setou anteriormente para fazer logon.

Página anterior     Próxima página

Páginas do artigo
   1. Notas Preliminares
   2. Preparando os nós
   3. Instalando pré-requisitos
   4. Configurando o DRBD
   5. Configurando o PostgreSQL
   6. Configurando o Corosync
   7. Configurando o Pacemaker
   8. Criando página para exibir status via web
   9. Instalando PhppgAdmin para gerenciar o PostgreSQL
   10. Acessando via rede e monitorando o cluster
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Unificando bases de dados com Schemas

Como migrar banco de dados MySQL para PostgreSQL

Partição de tabelas no PostgreSQL

Checklist de performance do PostgreSQL 8.0

PostgreSQL 9.4 - O conceito de Role

  
Comentários
[1] Comentário enviado por removido em 06/12/2010 - 01:15h

Olha o título, olha o título do trabalho!...
10!
;-))

[2] Comentário enviado por mvquintella em 13/12/2010 - 18:54h

Olá.

Estou tentando esse procedimento mas estou empacando num ponto:

# mount -t ext3 /dev/drbd0 /var/lib/pgsql

Quando eu monto a pasta conforme o tutorial, (no meu caso como uso debian, o caminho que monto é /usr/local/pgsql) todas as pastas que estao dentro do pgsql somem (incluvise a pasa bin onde está localizado o initdb). Estou fazendo algo errado será??

Abs

[3] Comentário enviado por rafatmb em 14/12/2010 - 10:04h

Olá mvquintella,

Esta pasta /var/lib/pgsql no redhat (e afins) possui por exemplo a pasta data, onde o postgres armazena os dados da base.

Não tenho certeza qual é a pasta no debian. De qualquer modo, na primeira vez que você montar, você terá que usar o initdb para iniciarlizar os dados do postgres e popular a base.

Você chegou a esse ponto?

Abraço.

[4] Comentário enviado por mvquintella em 15/12/2010 - 10:19h

Olá!

No debian o caminho da pasta data fica no caminho: /usr/local/pgsql/data

No caso eu devo fazer a montagem assim certo?

# mount -t ext3 /dev/drbd0 /usr/local/pgsql

Só que quando eu faço esse procedimento, todos os arquivos que estão dentro de /usr/local/pgsql somem... Inclusive a pasta data.
Eu devo rodar o initdb antes de fazer a montagem então?

Talvez eu esteja fazendo alguma cabaçada, gostaria de tentar entender onde hehe

Obrigado!

[5] Comentário enviado por mvquintella em 15/12/2010 - 10:49h

Cara, obrigado pela ajuda. Provavelmente era alguma besteira que eu estava fazendo!
Recomecei do zero e consegui passar desse ponto. Conto com sua ajuda se eu travar em outro ponto heeein heheheh
Abs!

[6] Comentário enviado por rafaelbiagi em 05/03/2011 - 16:05h

Amigo, otimo artigo, bem explicado.
mas eu não sei o que acontece, segui certinho as configurações, um servidor pinga o outro mas esta apresentando o seguinte status no DRBD

version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by mockbuild@builder10.centos.org, 2010-06-04 08:04:09

1: cs:WFConnection ro:Primary/Unknown ds:UpToDate/Outdated C r----
ns:0 nr:0 dw:20 dr:545 al:2 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:1675592472


Alguem saberia me dizer pq da esse WFConnection, no http://www.drbd.org/users-guide-emb/ch-admin.html ele só fala o que significa, mas não ajuda a resolver o problema.

Obrigado
Rafael Biagi

[7] Comentário enviado por leandrojpg em 28/11/2011 - 16:50h

boa tarde estou tentando fazer meu drbd com io pacemaker mas ao rodar o comando:
crm_mon -l, aprensenta a mensagem Failed actions:
DRBD_monitor_0 (node=node1, call=7, rc=6, status=complete): not configured
drbd_monitor_0 (node=node1, call=5, rc=6, status=complete): not configured
DADOS-MOUNT_start_0 (node=node1, call=15, rc=5, status=complete): not installed
postgres_fs_start_0 (node=node1, call=25, rc=1, status=complete): unknown error
drbd_r0_monitor_0 (node=node1, call=6, rc=6, status=complete): not configured
SRV-MOUNT_start_0 (node=node1, call=14, rc=5, status=complete): not installed
r0_fs_start_0 (node=node1, call=28, rc=1, status=complete): unknown error
DRBD_monitor_0 (node=node2, call=7, rc=6, status=complete): not configured
drbd_monitor_0 (node=node2, call=5, rc=6, status=complete): not configured
DADOS-MOUNT_start_0 (node=node2, call=12, rc=5, status=complete): not installed
postgres_fs_start_0 (node=node2, call=23, rc=1, status=complete): unknown error
drbd_r0_monitor_0 (node=node2, call=6, rc=6, status=complete): not configured
SRV-MOUNT_start_0 (node=node2, call=11, rc=5, status=complete): not installed
r0_fs_start_0 (node=node2, call=26, rc=1, status=complete): unknown error

[8] Comentário enviado por sbambam em 13/06/2012 - 22:48h

Prezados,

Gostaria de uma ajuda...

Ao executar o passo "yum install -y pacemaker corosync drbd83 kmod-drbd83 heartbeat" em pré-requisitos me deparo com as informaçoes abaixo. Eu acredito que não devo continuar sem esses pacotes...alguem pode dar uma luz...

[root@node1 ~]# yum install -y pacemaker corosync drbd83 kmod-drbd83 heartbeat
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: centos.redeminastelecom.com.br
* epel: mirror.cogentco.com
* extras: centos.redeminastelecom.com.br
* updates: centos-mirror.hostdime.com.br
Setting up Install Process
Package pacemaker-1.1.6-3.el6.x86_64 already installed and latest version
Package corosync-1.4.1-4.el6_2.2.x86_64 already installed and latest version
No package drbd83 available.
No package kmod-drbd83 available.
Package heartbeat-3.0.4-1.el6.x86_64 already installed and latest version
Nothing to do
[root@node1 ~]#

[9] Comentário enviado por felipeogutierrez em 15/12/2012 - 22:26h


[6] Comentário enviado por rafaelbiagi em 05/03/2011 - 16:05h:

Amigo, otimo artigo, bem explicado.
mas eu não sei o que acontece, segui certinho as configurações, um servidor pinga o outro mas esta apresentando o seguinte status no DRBD

version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by mockbuild@builder10.centos.org, 2010-06-04 08:04:09

1: cs:WFConnection ro:Primary/Unknown ds:UpToDate/Outdated C r----
ns:0 nr:0 dw:20 dr:545 al:2 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:1675592472


Alguem saberia me dizer pq da esse WFConnection, no http://www.drbd.org/users-guide-emb/ch-admin.html ele só fala o que significa, mas não ajuda a resolver o problema.

Obrigado
Rafael Biagi


Cara, voce tem que que dar um disconnect, detach e depois um connect. Se nao for com o connect tenta o discard-my-data
Falou
Felipe

[10] Comentário enviado por paulosantos41 em 12/09/2015 - 23:38h


Boa noite a todos,
eu estava fazendo esta configuração de cluster, e tudo funciona normalmente até o passo de criar o banco pgbench no node 1, mas quando vou checar se o banco pode ser acessado pelo node 2, o postgresql informa que não existe role para o usuário admpgsql. Alguém poderia me ajudar?

Estou utilizando o debian wheezy para fazer as configurações e estou seguindo todos os passos do artigo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts