On Fri, Aug 14, 2009 at 12:20:55PM -0500, Blake Hudson wrote: > -------- Original Message -------- > Subject: Multiple instance Howto? > From: Blake Hudson <blake@xxxxxxxx> > To: info-cyrus@xxxxxxxxxxxxxxxxxxxx > Date: Thursday, August 13, 2009 4:30:55 PM > > Is there a howto for setting up multiple cyrus instances? > > > > > > I have created two sets of: > > startup scripts > > cyrus.conf files (each process told to use the corresponding config file > > and IP) > > imapd.conf files > > /var/spool/imap directories > > /var/lib/imap directories > > > > > > I thought I had everything running fine (imap/pop works) until I tried > > to deliver mail to LMTP and found that if both instances were running > > that LMTP would refuse connections. If someone has a proven howto, I'd > > appreciate being able to review it. > > > > Thanks, > > --Blake > > > > > > I had started cyrus-master with the -M and -C option, but forgot about > -p (pid file). I think this was causing cyrus-master to step on the toes > of the other instance. Everything seems to be working now. And for my > own benefit, I created a copy of the cyrus-master executive for use with > my second instance as it makes the init script and monitoring simpler. > > I would still appreciate some direction with someone that has more > experience with running multiple instances (or installs) of cyrus on the > same machine. Don't run a default instance, or even create the default config files (/etc/imapd.conf, /etc/cyrus.conf) - instead make sure EVERYTHING has explicit configuration specified, and you'll never wind up hitting the wrong set of configs! Similarly, don't use the default directories for the same reason - better to have everything in custom locations. We build all our configuration from template-toolkit master config files which are stored in change management (subversion) and updated with "make install". The "make install" phase actually places the files as $type-$config.conf.new and then the init script copies new configs into place on service startup, so you don't have to worry about a change that breaks things being rolled out and having to restart lots of services at once! This matters a lot to us because we have up to about 40 cyrus instances on a single machine in the biggest case! Our goal is to only have 300Gb of email per instance, so they can be restored from backup in a couple of hours if the worst happens. It also allows much easier phased rollout (because the init scripts can be updated to point to a whole new copy of the Cyrus binaries if needed, so we can update one store at a time. Yeah - my main advice boils down to: a) don't use the default locations for anything, or you'll wind up with one install being a second class citizen with more mistakes made on it. b) template and change control your configs. That's about it really :) Bron. ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html