I'm facing an issue with our server email. Yesterday, our email provider was down for over 20 hours, severely impacting our business operations.
We have approximately 5TB of archived emails, which users frequently search through for past contracts or other information. Despite the large volume, they insist on keeping all emails. The current setup is using postfix/dovecot, using mdbox format.
I've been tasked with improving the server's reliability and performance. My proposed solutions are:
Separate old and new emails: Move older emails to separate storage, reducing the sync load on the primary server.
Implement high availability: Add a new mail server in a different location. If one server fails, the other should take over and synchronize data upon the first server's recovery.
Introduce a mail proxy: Filter incoming emails and forward them to both servers for redundancy.
Leverage Amazon S3 for backup: Utilize the existing S3 bucket to store old emails, aligning with the date separation plan.
I'm considering using existing mdbox and rsync for these tasks, because we are currently using mdbox for mail storage, and rsync to backup all mail files and other files to the cloud storage. So, I am trying to use the existing methods. But I still have some questions:
Is simple rsync sufficient for syncing email files? Could it create duplicate entries if messages arrive at different times through the proxy?
How can I effectively separate email storage by year using mdbox?
Is there a more efficient tool for setting up Dovecot replication between two identical mail servers?
I have not been in touch with mail technology, and I would appreciate any recommendations or insights you can provide.
Thank you