What about moving the mailserver on-premises, buy a big UPS and do some batched smtp on the cloud, so if you are down, you will not lose incoming mails?
-----Original Message----- From: Maciej Kokociski [mailto:maciej.kokocinski@hands.pl] Sent: Sunday, October 18, 2020 7:51 PM To: dovecot@dovecot.org Subject: Using NFS to extend local email storage
We are running our IMAP mail server on a VPS in the cloud (dovecot+exim+horde webmail), and we are using our on-premises NAS for daily backups through custom rsync scripts (which work well with maildir). There is a lot of storage available on the NAS, while not so much on the VPS. Since, we often get downtime on-premises due to power outages we cannot move the mail server on-premises (though the outages do not interfere too much with the backups). Additional storage in the cloud is at a premium as we would like to avoid further increasing costs.
Now, my idea is to set up an NFS volume on the NAS, and configure the cloud-based server as the client. I would like to store only the most recent emails on the main server, and keep the whole data set on the NAS.
Naturally I have read the dovecot wiki concerning NFS, and I have browsed this mailing list's archive for answers, but I still have many concerns.
Ideally, I would like to use as much storage as possible from the main server, so that only really old emails need to be fetched over the network if requested over IMAP. Also I would like the search function to work regardless whether the NAS is available or not.
I wonder if anybody tried a similar configuration before. My concerns are:
- should I use NFS volume directly and configure FS-Cache, or should I configure a cache volume separately using e.g. bcache or some other tool?
- how to configure the cache to keep as many files and metadata locally?
- is it possible to fine tune the cache so it always keeps all the newly created/modified files locally?
- is it possible to tune the cache so it keeps at least n files for each user (each maildir)?
- will it work fine if I put NFS traffic into an ssh tunnel for security?
- will dovecot freeze/crash when the NFS volume disconnects or is temporarily unavailable, what will actually happen in such circumstances?
- will the search function work when the NFS volume is unavailable? (I also plan to use solr in the future)
- what happens when the main server crashes and then recovers from the NFS share? is the share guaranteed to be consistent?
I hope that I have not asked too many questions for a single message... ;) I would really appreciate any help, because I am rather a newbie in dovecot administration, and it overwhelms me. Perhaps, what I am trying to achieve is not the way to go. I am open to suggestions.
Best regards, Maciej