I'm trying to set up a replicated murder (Cyrus 2.3). I've got a shared storage using IBM SAN-FS, two IMAP-servers (AIX) and a mupdate master. The plan is to use two load-balancers with this solution, connecting to the IMAP- servers. Since I'm new to murder I wish to get some confirmation that I'm on the right track. It is a test environment but is planned to go into production within a
month or so. I'll attach config files below.

Mupdate seems to work, adding mailboxes on one of the IMAP-server propagates to mailboxes.db on the master and the other IMAP-server. Running ctl_mboxlist -m
on one of the IMAP-servers removes all mailboxes:
# su mail -c ctl_mboxlist -mw
Remove Local Mailbox: user.test1
Remove Local Mailbox: user.test10
Remove Local Mailbox: user.test11
Remove Local Mailbox: user.test12
Remove Local Mailbox: user.test13
Remove Local Mailbox: user.test14
Remove Local Mailbox: user.test15
Remove Local Mailbox: user.test16
Remove Local Mailbox: user.test17
Remove Local Mailbox: user.test18
Remove Local Mailbox: user.test19
Remove Local Mailbox: user.test2
...

So I figurered, remove this from the START in cyrus.conf. After that it seems to
work, but I'm unsure if this is the right way.

We've got a single cyrus IMAP-host in production today, and plan to migrate all mailboxes to the new murder. It is about 1TB spool in a single filesystem so it is not a good way to just sync the filesystem. Mailboxes must be migrated using IMAP or murder mechanism. Would it be a working approach to include the production server in the murder and migrate using 'rename'? sync_server seems not to be working on the test machines, however. What is the best way to do this, imapsync?

Config files on the IMAP-servers:

# cat cyrus.conf
# standard standalone server implementation

START {
  # do not delete this entry!
  recover       cmd="ctl_cyrusdb -r"
#  syncclient    cmd="/cyrus/server/bin/sync_client -r"
#  mupdatepush   cmd="/cyrus/server/bin/ctl_mboxlist -m"
  # this is only necessary if using idled for IMAP IDLE
#  idled                cmd="idled"
}

# UNIX sockets start with a slash and are put into /var/imap/sockets
SERVICES {
  # add or remove based on preferences
  imap          cmd="imapd" listen="imap" prefork=0 provide_uuid=1
  pop3          cmd="pop3d" listen="pop3" prefork=0 provide_uuid=1

  # LMTP is required for delivery
   mupdate      cmd="/cyrus/server/bin/mupdate" listen=3905 prefork=1
#   syncserver    cmd="/cyrus/server/bin/sync_server -v" listen="csync"
lmtpunix cmd="lmtpd" listen="/cyrus/server/imap/socket/lmtp" prefork=0 provide_uuid=1
  lmtp      cmd="lmtpd -a" listen="lmtp" prefork=0

  # this is only necessary if using notifications
# notify cmd="notifyd" listen="/var/imap/socket/notify" proto="udp" prefork=1
}

EVENTS {
  # this is required
  checkpoint    cmd="ctl_cyrusdb -c" period=30

  # this is only necessary if using duplicate delivery suppression
  delprune      cmd="ctl_deliver -E 3" at=0400

  # this is only necessary if caching TLS sessions
  tlsprune      cmd="tls_prune" at=0400
}
# cat imapd.conf
allowusermoves: yes
allowplaintext: yes
fulldirhash: true
hashimapspool: true
configdirectory: /cyrus/server/imap
partition-default: /cyrus/server/spool
admins: martinw root
sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN
#sync_host: elvira.its.uu.se
#sync_authname: martinw
#sync_auth: PLAIN
#sync_password: hejhopp
#sync_machineid: 1
#sync_log: yes
mupdate_config: replicated
mupdate_server: colibri.its.uu.se
mupdate_username: martinw
mupdate_authname: martinw
mupdate_password: hejhopp
#

The mupdatemaster:


# cat cyrus.conf
# standard standalone server implementation

START {
  # do not delete this entry!
  recover       cmd="ctl_cyrusdb -r"
#  syncclient   cmd="/cyrus/server/bin/sync_client -r"

  # this is only necessary if using idled for IMAP IDLE
#  idled                cmd="idled"
}

# UNIX sockets start with a slash and are put into /var/imap/sockets
SERVICES {
  # add or remove based on preferences
#  imap         cmd="imapd" listen="imap" prefork=0 provide_uuid=1
#  pop3         cmd="pop3d" listen="pop3" prefork=0 provide_uuid=1

  # LMTP is required for delivery
mupdate cmd="/cyrus/server/bin/mupdate -m" listen=3905 prefork=1
#  syncserver    cmd="/cyrus/server/bin/sync_server -v" listen="csync"
# lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0 provide_uuid=1
  # this is only necessary if using notifications
# notify cmd="notifyd" listen="/var/imap/socket/notify" proto="udp" prefork=1
}

EVENTS {
  # this is required
  checkpoint    cmd="ctl_cyrusdb -c" period=30

  # this is only necessary if using duplicate delivery suppression
  delprune      cmd="ctl_deliver -E 3" at=0400

  # this is only necessary if caching TLS sessions
  tlsprune      cmd="tls_prune" at=0400
}
# cat imapd.conf
allowplaintext: yes
configdirectory: /cyrus/server/imap
partition-default: /tmp
admins: martinw root
sasl_pw_check_method: sasldb
sasl_mech_list: PLAIN
#sync_host: elvira.its.uu.se
#sync_authname: martinw
#sync_auth: PLAIN
#sync_password: hejhopp
#sync_machineid: 1
#sync_log: yes
mupdate_config: replicated
#mupdate_server: colibri.its.uu.se
#mupdate_username: martinw
#mupdate_authname: martinw
#mupdate_password: hejhopp








----
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to