high-availability Cyrus (i.e. glusterfs)?

Tomasz Chmielewski mangoo at wpkg.org
Tue Sep 28 02:50:00 EDT 2010


How do you manage your Cyrus installations highly-available?

I though a minimal example could be like below:


       internet
          |
server1 ----- server2


There would be Heartbeat/Pacemaker running on both servers. Its role would be:

- assign "Cyrus IP" to a given server,
- start Cyrus where "Cyrus IP" is up.


Still, we need to have Cyrus database, mail storage accessible for both servers. I though using glusterfs for it would be a good idea (assuming Cyrus only runs on one of the servers at a given time).

However, something doesn't work with it very well when Cyrus data is on a glusterfs mount point (if I move it to a local disk, everything works well):

Sep 28 01:10:10 omega cyrus/master[21504]: ready for work
Sep 28 01:10:10 omega cyrus/master[21728]: about to exec /usr/sbin/ctl_cyrusdb
Sep 28 01:10:10 omega cyrus/master[21729]: about to exec /usr/lib/cyrus/bin/notifyd
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR db4: Program version 4.2 doesn't match environment version
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: dbenv->open '/shared/var/lib/cyrus/db' failed: Invalid argument
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: init() on berkeley
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: checkpointing cyrus databases
Sep 28 01:10:10 omega cyrus/notify[21729]: DBERROR db4: Program version 4.2 doesn't match environment version
Sep 28 01:10:10 omega cyrus/notify[21729]: DBERROR: dbenv->open '/shared/var/lib/cyrus/db' failed: Invalid argument
Sep 28 01:10:10 omega cyrus/notify[21729]: DBERROR: init() on berkeley
Sep 28 01:10:10 omega cyrus/notify[21729]: executed
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: archiving database file: /shared/var/lib/cyrus/annotations.db
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR db4: txn_checkpoint interface requires an environment configured for the transaction subsystem
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: couldn't checkpoint: Invalid argument
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: sync /shared/var/lib/cyrus/db: cyrusdb error
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR db4: DB_ENV->log_archive interface requires an environment configured for the logging subsystem
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: error listing log files: Invalid argument
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: archive /shared/var/lib/cyrus/db: cyrusdb error
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: archiving database file: /shared/var/lib/cyrus/mailboxes.db
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR db4: txn_checkpoint interface requires an environment configured for the transaction subsystem
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: couldn't checkpoint: Invalid argument
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: sync /shared/var/lib/cyrus/db: cyrusdb error
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR db4: DB_ENV->log_archive interface requires an environment configured for the logging subsystem
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: error listing log files: Invalid argument
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: archive /shared/var/lib/cyrus/db: cyrusdb error
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR db4: txn_checkpoint interface requires an environment configured for the transaction subsystem
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: couldn't checkpoint: Invalid argument
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: sync /shared/var/lib/cyrus/db: cyrusdb error
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR db4: DB_ENV->log_archive interface requires an environment configured for the logging subsystem
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: error listing log files: Invalid argument
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: DBERROR: archive /shared/var/lib/cyrus/db: cyrusdb error
Sep 28 01:10:10 omega cyrus/ctl_cyrusdb[21728]: done checkpointing cyrus databases



-- 
Tomasz Chmielewski
http://wpkg.org


More information about the Info-cyrus mailing list