I have been learning and experimenting with Ubuntu server. I am curious about a couple of things regarding redundant samba fileservers and redundant IMAP email.

I have three physical locations on a vLan (let's say ...LA, NY, Paris) and need to have a Samba fileserver at each one. Ideally I want the files on each server to be mirrored on the other two servers so that all three locations would have all files. The files are quite large and the bandwidth is limited between locations. Usually the users at one location do not need files from the other two locations until the next day. We want fileservers at each location so the bandwidth does not slow down their daily work. The users in LA would get their files from LA server, etc. I have some experience running a Ubuntu/Samba server using Webmin.

I would also be interested in running a mail server for POP3 and IMAP with on two machines at one location only. One machine would be the primary server. If a failure happened then the service would come from the secondary machine until the primary could be restored. All locations would get mail from this one location.

What would be the simplest way to accomplish these two tasks? What should I look at?