6 messages in net.sourceforge.lists.courier-maildropRe: [maildropl] keeping two email ser...
FromSent OnAttachments
Joaquim LaureanoJan 31, 2004 5:30 am 
RolandJan 31, 2004 9:39 am 
Devin RubiaFeb 2, 2004 7:22 am 
Dave AugustusFeb 6, 2004 6:00 am 
Dave AugustusFeb 6, 2004 6:00 am 
Devin RubiaFeb 6, 2004 7:18 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [maildropl] keeping two email servers in syncActions...
From:Dave Augustus (dav@support.kcm.org)
Date:Feb 6, 2004 6:00:44 am
List:net.sourceforge.lists.courier-maildrop

Hello Roland and fellow listers,

I have also thought about doing the same thing: high-availability(HA) of an email service for POP3 and IMAP clients.

I have used "heartbeat" http://www.linux-ha.org/ on an Linux Virtual Server and I am really pleased with the results. You set up a shared resource, an ip address and which ever system is "active", has the IP. If that system fails, then the backup takes over the IP and service continues.

You can expand the number of resources to include the courier.imap server, a web server, etc, etc. This will solve the problem of HA but problems remain.

I see several avenues to explore:

1) RSYNC-as you mentioned, rsync the filesystems between the 2 servers: easy to implement BUT subject to file corruption

2) SHARED STORAGE- use an NFS server to allow multiple systems to access the same files. By adding the NFS mounting to the HA shared resource list, heartbeat would ensure that only one system at a time has access. So the "status" of email would be preserved. But then that assumes that NFS works OK and that sufficient redundancy is available on the NFS server so that email isn't lost. Also, file corruption is still possible because there is only one place that they are stored.

3) HA MAIL STORAGE- by modifying the transports for domains that host email locally, the email could be sent to 2 (or more) systems at the same time. This would solve the problem of file system corruption because rsync nor NFS is used. Although each individual file system could become corrupted, the mail is stored in 2 separate places on 2 separate computers. Use heartbeat to provide the IMAP server to clients- it would only be using it's local filesystem and only one IMAP server would be active at a time. The problem with this scenario is that the status of emails would be lost if a failover between the 2 servers occurred. BUT the email would be preserved.

In Summary here is the pros and cons of each:

Method:Rsync

------------------------------------------------- Pros- -easy to implement, uses only 2 servers -email status preserved

Cons- -possible file corruption -backup server utilized 50% (it stores files but doesn't serve them)

Method:Shared Storage

------------------------------------------------- Pros- email status preserved

Cons- -redundancy is required on both the email server and the NFS server -possible file corruption -backup server utilized 0% -more complicated than other 2 methods due to number of computers -uses at least 3 servers: 2 email, 1 NFS

Method:HA Mail Storage- uses at least 2 email servers

-------------------------------------------------- Pros- -easy to implement -no file system corruption possible because 2 servers store email

Cons- -non-standard mail delivery method -email status lost -backup server utilized 50% (it stores files but doesn't server them)

Personally, I am setting up #3. I think that a user would rather lose the "status" of what emails they have read than lose ALL their emails entirely.

Enjoy! --Dave