This is building on my original discussion about simultaneous access:
We are having a problem where two servers accessing the same SAN now
give us a LMTPD error because they are stomping on each other's sockets
(they share the same database on the SAN with the same socket
directory). Is there any way to prevent this from happening or easily
configuring them not to not to use the same sockets?
I've gone into cyrus.conf and changed the socket directory listed for
lmtpd but for some reason the deliver still fails on accessing the
original socket directory. So somewhere else in the system it is
trying to access configdirectory/socket/lmtpd.
Thanks for any help
David
Michael Menge wrote:
This subject has also been on this list a few weeks ago. Look for the
subject
"High availability email server"
Quoting Wesley Craig <wes@xxxxxxxxx>:
On 16 Aug 2006, at 14:52, David Korpiewski wrote:
My director had us go back to using our Macs to try to build a
failover cluster. We were able to set up two mail servers sharing
the same backend XSAN. We put our database for cyrus on the XSAN
and had both mail servers use _the same_ database and the same mail
store locations.
So far in limited testing it works flawlessly. This is very strange
to us. Is cyrus set up to allow multiple simultaneous accesses to
its database without corruption or are we just lucky to not have
corrupted the database yet?
This is cyrus 2.2.12 running on two OSX 10.4.7 servers.
The main process which updates mailboxes.db etc on a backend server is
imapd. Since multiple imapd's are allowed, as long as your XSAN
provides appropriate locking, you are not "just lucky". See the
compile documentation for a discussion of how to select the locking
method:
--with-lock=METHOD
Specifies the locking method to use. Currently implemented
locking methods are:
flock flock() locking
fcntl fcntl() locking
By default, configure uses "fcntl" if the "fcntl()" function
exists, "flock" otherwise.
AFAIK, fcntl( ..., F_SETLK*, ...) always locks the whole file, a la
flock(). Also, I think I see a bug in master/service.c, where instead
of using the locking method specified during compile-time, fcntl() is
always used.
:wes
----
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
--------------------------------------------------------------------------------
M.Menge Tel.: (49) 7071/29-70316
Universitaet Tuebingen Fax.: (49) 7071/29-5912
Zentrum fuer Datenverarbeitung mail: menge@xxxxxxxxxxxxxxxxxxxx
Waechterstrasse 76
72074 Tuebingen
----
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
--
--------------------------------------------------------
David Korpiewski Phone: 413-545-4319
Software Specialist I Fax: 413-577-2285
Department of Computer Science ICQ: 7565766
University of Massachusetts Amherst
--------------------------------------------------------
----
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