Bonjour à tous,
Je vous sollicite une fois de plus pour un problème que je ne comprends pas.
Je viens de mettre en place une solution Heartbeat DRBD pour répliquer le tablespace de ma base postgresql entre deux machines virtuelles.
Comprendre comment fonctionne DRBD ( Raid sur IP ) n’est pas primordial pour comprendre mon problème. On associe juste un disque a un dossier. Qui est monté avec en cas d’interruption de service grâce à Heartbeat.
Configuration Heartbeat :
haressource
QST-PostgreSQL IPaddr::192.168.0.110 drbddisk::postgresql Filesystem::/dev/drbd1::/home/pgsql::ext3 postgresql
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 45
bcast eth0
node QST-PostgreSQL QST-PostgreSQL-Esclave
auto_failback yes
respawn hacluster /usr/lib/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster
(je ne vous met pas le fichier authkeys car il n’a pas d’importance majeure )
Configuration DRBD :
global {
usage-count yes;
}
common {
protocol C;
}
resource postgresql {
on QST-PostgreSQL {
device /dev/drbd1;
disk /dev/sdb1;
address 192.168.0.3:7789;
meta-disk internal;
}
on QST-PostgreSQL-Esclave {
device /dev/drbd1;
disk /dev/sdb1;
address 192.168.0.4:7789;
meta-disk internal;
}
}
Le disque se monde des deux côtés sans soucis.
Le FailOver s’exécute normalement. Pas de problème.
Les données sont disponible des deux côtés sans soucis, j’ai effectué un “update-rc.d -f postgresql remove”.
Cependant quand on bascule sur l’esclave pour simulé une coupure du maître; La base de données n’est pas chargé, même si les données présente dans le tablespace sont répliquées.
Comment puis-je résoudre ce soucis ?
Cordialement