Potential issues with this working setup (Corosync/Pacemaker/DRBD)?

Discussion in 'Installation/Configuration' started by yucktoufoo, Oct 20, 2016.

  1. yucktoufoo

    yucktoufoo Member

    Hello all,

    I appreciate this isn't a supported option but I like pacemaker and DRBD so just spent a few days getting an Active/Standby cluster to handle a postfix/dovecot server and integrating with ISPC3. All seems to be working well but just wondered if anyone can see any potential issues with my setup.

    Here's what I've done so far:

    3 LVM backed DRBD Volumes in a master_slave set in pacemaker. These get mounted on the primary node as

    /mnt/var
    /mnt/etc
    /mnt/usr

    Since ISPC3 didn't play nicely with /var/vmail as a symlink, I have added bindmounts to corosync for everything I think I need (barring some others I mention further down):

    /mnt/etc/clamav -> /etc/clamav
    /mnt/etc/dovecot -> /etc/dovecot
    /mnt/etc/postfix -> /etc/postfix
    /mnt/etc/mysql -> /etc/mysql
    /mnt/etc/amavis -> /etc/amavis
    /mnt/usr/local/ispconfig -> /usr/lib/mysql
    /mnt/var/lib/amavis -> /var/lib/amavis
    /mnt/var/lib/mysql -> /var/lib/mysql
    /mnt/var/spool/postfix -> /var/spool/postfix
    /mnt/var/vmail /var/vmail

    Symlinked /etc/mailname to /mnt/etc/mailname

    Essentially, to set this up. I built the basic cluster and started the bindmounts on node1 then Installed the software I needed.
    I then failed over to node2, installed the same software in the same order (I didn't do this in the same order first time around and ended up with different UID/GIDs for things like clam, postfix users etc which understandably caused issues) choosing not to overwrite configurations where required.

    Failed back to node1 and installed ISPC, I had to stop the bindmount fir ispconfig to achieve this as the ISPC installer seems to think that it's already installed if the /usr/local/ispconfig directory exists, even if it's empty.

    Once installed, moved the content of /usr/local/ispconfig to /mnt/usr/loca/ispconfig and started up the bindmount again.
    Failed over to node2 and ran update.php included with the ispconfig installer to be sure that everything on node2 was correctly configured.

    Configured corosync to add a static route to the active node so that traffic going out to the ISPC master server always goes out via the Cluster IP.

    Carefully configured pacemaker with order and colocation rules to ensure filesystems, binds and services start in the order they need to and on the node that they need to.

    In the ISPC control panel, I see just one server for mail as expected. Adding and removing domains/mailboxes etc appears to work fine. Failing over to the other node and adding/removing mailboxes etc also works fine so all in all, at this early stage, everything seems to be working.

    There are probably a few things I need to add such as a few more things from /var/lib (thinking dovecot/clam/spamassasin) and probably some work to do to add postgrey into the mix. Can anyone see anything I may have missed that is likely to cause a problem?
     
    Last edited: Oct 20, 2016
  2. florian030

    florian030 Well-Known Member HowtoForge Supporter

    I would not use drbd or any other cluster-fs for software, that allows replication out-of-the-box like mysql and dovecot.
     

Share This Page