Eric Boltz (MMI / UPC)
2010-Aug-25 09:43 UTC
[Dovecot] Live Mirror dovecot / OS X 10.6.4 (Timo Sirainen)
Timo Sirainen <tss at iki.fi> wrote:> Two potential problems I see with this: > 1. If users can do any changes on the secondary server (flag changes, > saving new mails, etc), you're going to have problems syncing the > changes back (without losing any changes or causing other problems). > > 2. If users can access the secondary server via IMAP clients, the > clients could become confused if the secondary server isn't completely > up-to-date. > > With v2.0 dsync would help with the first problem.Change in strategy. Primary rsyncs regularly to the secondary which keeps all mail services off. When primary fails email services are started manually until primary back online. Then I (or another ITer) manually stop the backup, rsycn and restart services on the primary. A bit labor intensive, but it should work.
Eric Boltz (MMI/UPC)
2010-Aug-25 13:35 UTC
[Dovecot] Live Mirror dovecot / OS X 10.6.4 (Timo Sirainen)
So getting back to this backup server concept... Would rsyncing all the directories listed in a dovecotd -n dump be enough to sync all my virtual users/uids, etc.? Or does OS X have other locations I need to sync for this backup server to be functional when the primary is down?
Timo Sirainen
2010-Aug-25 14:15 UTC
[Dovecot] Live Mirror dovecot / OS X 10.6.4 (Timo Sirainen)
On Wed, 2010-08-25 at 05:43 -0400, Eric Boltz (MMI / UPC) wrote:> > 1. If users can do any changes on the secondary server (flag changes, > > saving new mails, etc), you're going to have problems syncing the > > changes back (without losing any changes or causing other problems). > > > Change in strategy. > Primary rsyncs regularly to the secondary which keeps all mail services > off. When primary fails email services are started manually until > primary back online.Okay..> Then I (or another ITer) manually stop the backup, > rsycn and restart services on the primary.But if secondary server allowed changes, this is the difficult step to do correctly. For example lets say in first server: 1. It rsyncs user foo 2. User foo changes message A flag to \Seen 3. User foo deletes message B 4. User foo saves a new message C 5. The server crashes 6. Secondary server goes up, but 2-4 changes weren't resynced yet 7. User foo logs in and changes message D's flag to \Seen 8. Primary server goes back up 9. You rsync .. how? If you make primary server look exactly like secondary server, you message C gets lost. If you copy new files, now message A and message D gets duplicated, because their filename changed due to the flag change. Also message B becomes undeleted. Of course assuming this happens rarely enough, those aren't a huge problem, but the server move isn't always transparent to users and you'll get errors in Dovecot's logs.