I'm working on a project with a goal of making Imail a high availability service. I'm aware that Imail does come with support for "peering" (setting up multiple Imail servers to listen to each others messages & use store & forward when a Imail server goes down), but I'd like to take it a few steps further.

Imail peering is not HA.


I'm strongly considering setting up the following:

1) Two Imail 8.0 servers will be setup, but completely unaware of each other (in other words, Imail's peering feature will not be used).

2) Two load balancing devices, such as Cisco's LocalDirector will be placed in front of the two Imail servers.

3) Behind the two Imail servers, an iSCSI disk array will be setup. Both Imail servers will have direct access to a common storage pool

what's going to manage file collisions?


on the iSCSI disk array and will essentially be able to see the same set of files (i.e. shared storage or similar to mapping several computers to a single drive on a server).

4) Appropriate DNS records will be setup so that both the MX records point to the load balancers.

you have more that one load balancer?


But, here's the question: I have little doubt that both servers can effectively load balance the SMTP traffic.

The load balancer balances the SMTP traffic. Imail servers don't load balance. Each Imail server has to be powerful enough to handle the entire traffic.


However, when it comes to the Pop3 or Imap4 service, Imail tends to put a lock on a user's mailbox file while a message is being delivered.

IMail uses OS-level file locking for all mailbox access, read or write. This is why you will see Imail logging failures in mailbox access when SMTP attempts to write to the mailbox while the mbx file is locked for POP/IMAP/webmail read, or vice versa.


What happens when one of the Imail servers has locked a user mailbox for writing & the other server tries to simultaneously write a message to the same mailbox?

This is called a file collision.


You're going to have two parallel OS's accessing the same files at the physical file level. What is going to manage collisions? Imail can't, Win OS of the Imail server can't, so what will?

If you want file locking by the shared storage, you'd have to have Imail access the files through an MS SMB "file server" that provides file locking, not a "physical disk server".

I'm taking an educated guess that the second Imail server will see a lock

Your education is not complete. :)) How can one OS see the file open status by the other OS?


& will just hold the message until the lock is removed by the other Imail server, then try to deliver it's message.

IMail/OS 1 has no idea what Imail/OS 2 is doing, unless they access the shared disk via some file-smart manager.


But, I'm just not certain. I spoke with Ipswitch tech support earlier today & learned that they "don't officially support this type of setup,"

And still you persist? :))


however the tech admitted to me that she has had customers call in & say that they've been able to successfully set up this type of configuration.

The only way that shared external file storage can work for two Imail servers is that there is some mechanism to manage file access collisions. Either use a MS Networking file server (this is horribly slower than local disk access, so it doesn't scale well but maybe your scale will fit into your hardware budget), or a "disk server" that has file-collision management.


In order for load balancing to work, you have to have mirroring of the Imail config on both machines. How do you plan to do that?

There are ways to do it. Check the list archives.

Len

_____________________________________________________________________
http://MenAndMice.com/DNS-training: Seattle; Chicago; San Jose; Wash DC
IMGate.MEIway.com: anti-spam gateway, effective on 1000's of sites, free


To Unsubscribe: http://www.ipswitch.com/support/mailing-lists.html List Archive: http://www.mail-archive.com/imail_forum%40list.ipswitch.com/ Knowledge Base/FAQ: http://www.ipswitch.com/support/IMail/

Reply via email to