05.06.2016 22:22, Dimitri Maziuk wrote:
On 06/04/2016 01:02 PM, Vladislav Bogdanov wrote:

I'd modify RA to support master/slave concept.

I'm assuming you use a shared mail store on your imapd cluster? I want

No, I use cyrus internal replication.

to host the storage on the same cluster with mail daemons. I want to a)
stop accepting mail, b) fail-over drbd maildirs, then c) restart postfix
in send-only "slave" configuration. On the other node I could simply
restart the "master" postfix after b), but on the node going passive the
b) has to be between a) and c).

Do you have reasons for b) to be strictly between a) and c) ?

I'd propose something as the following:
0a) service is a master on one node (nodeA) - it listens on socket and stores mail to DRBD-backd maildirs.
0b) service is a slave on second node (nodeB) - send-only config
1) stop VIP on nodeA
2) demote service on nodeA (replace config and restart/reload it internally in the RA) - that would combine your a) and c)
3) demote DRBD on nodeA (first part of your b) )
4) promote DRBD on nodeB (second part of b) )
5) promote service on nodeB - replace config and internally reload/restart
6) start VIP on nodeB

1-2 and 5-6 pairs may need to be reversed if you bind service to a specific VIP (instead of listening on INADDR_ANY).

For 2 and 5 to work correctly you need to colocate service in *master* role with DRBD in *master* role. That way "slave" service instance does not require DRBD at all.

Hope this helps,
Vladislav


_______________________________________________
Users mailing list: Users@clusterlabs.org
http://clusterlabs.org/mailman/listinfo/users

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org

Reply via email to