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:
- Os serviços de diretório LDAP estão sempre em execução nos dois nós
- O IP flutuante é atribuído a um dos nós
- 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.