I serve web and email hosting services to my clients and had a question about "best practices". Is it better to keep all services on the same server and load balance clients by keeping them distributed between servers -- web and mail services on servers 1, 2, 3 and 4) -- or is it better to have all mail clients on server 1 and 2 and database & web services on servers 3 and 4?
Thus far I have run all services on all servers and just added servers and migrated customers to them as needed -- but I'm wondering if there's a better way to do it.
I use postfix for SMTP and dovecot for IMAP/POP3. What types of specialized services are you referring to? I've read where it's difficult to have 2 different servers access a mounted volume (/var/vmail for example) as only one server can mount the volume at a time. I saw that there was some form of file system called CXFS that you could run, but most NAS stores don't support it....
If you were to deploy mx1, mx2, etc. how would you solve this issue?