LDAP (389 Directory Service) e Pacemaker com Multi-Master

2

Estou tentando configurar um par de servidores LDAP que executam o 389 (antigo Fedora DS) em alta disponibilidade usando o Pacemaker com um IP flutuante. Além disso, o 389 suporta replicação multimestre, onde todas as mudanças em um nó são automaticamente replicadas em um ou mais outros nós.

Estou bastante perto de ter tudo funcionando. O failover funciona bem. E a replicação multimestre funciona bem. No entanto, minha configuração atual do Pacemaker interrompe o serviço de diretório no nó não ativo. O que significa que o nó de backup não está recebendo dados de replicação do outro nó.

Qual é o caminho certo para configurar o Pacemaker para que:

  1. Os serviços de diretório LDAP estão sempre em execução nos dois nós
  2. O IP flutuante é atribuído a um dos nós
  3. O failover ocorre se o nó mestre morrer ou O serviço LDAP parar de ser executado no mestre

Inicialmente, minha configuração do Pacemaker era semelhante à seguinte:

property stonith-enabled=false
property no-quorum-policy=ignore

rsc_defaults resource-stickiness=100

primitive elastic_ip lsb:elastic-ip op monitor interval="10s"
primitive dirsrv lsb:dirsrv op monitor interval="10s"
order dirsrv-after-eip inf: elastic_ip dirsrv
colocation dirsrv-with-eip inf: dirsrv elastic_ip

Em seguida, explorei o uso de clones de marcapasso :

property stonith-enabled=false
property no-quorum-policy=ignore

rsc_defaults resource-stickiness=100

primitive elastic_ip lsb:elastic-ip op monitor interval="10s"
primitive ldap lsb:dirsrv op monitor interval="15s" role="Slave" timeout="10s" op monitor interval="16s" role="Master" timeout="10s"

ms ldap-clone ldap meta master-max=1 master-node-max=1 clone-max=3 clone-node-max=1 notify-true

colocation ldap-with-eip inf: elastic_ip ldap-clone:Master
order eip-after-promote inf: ldap-clone:promote elastic_ip:start
order ldap-after-eip inf: elastic_ip ldap-clone

Infelizmente, isso não funciona bem. pengine reclama que "ldap-clone: Promoveu 0 instâncias de um possível 1 para mestre" e depois para o serviço LDAP.

    
por organicveggie 07.06.2011 / 17:54

1 resposta

1

Graças à lista de discussão do Pacemaker, temos uma solução. O problema é que o script LSB para o 389 não compreende o conceito de mestre / escravo. A solução mais fácil é usar um clone simples, em vez de um clone mestre / escravo. A nova configuração do Pacemaker é semelhante à seguinte:

property stonith-enabled=false
property no-quorum-policy=ignore

rsc_defaults resource-stickiness=100

primitive elastic_ip lsb:elastic-ip op monitor interval="10s"
primitive dirsrv lsb:dirsrv op monitor interval="15s" role="Slave" timeout="10s" op monitor interval="16s" role="Master" timeout="10s"
clone ldap-clone dirsrv
order ldap-after-eip inf: elastic_ip ldap-clone
colocation ldap-with-eip inf: elastic_ip ldap-clone
    
por 08.06.2011 / 16:26