Greetings,
I've been trying to figure out the best way to migrate domains from one server to another without the issue of bouncing mail. The easiest approach to migrating existing data, as I understand it, seems to be to do it on a per-Admin/Reseller basis using admin backup on oldserver, transfer the backup to newserver and then restoring. This restores the Admin/Reseller and all data for all domains associated with that Admin/Reseller.
I believe this also covers DNS zone files, but I'm not crystal clear on whether or not the zone files are copied over intact, and just the server IP is re-written upon restore, or if the restore operation creates new zone files from scratch. Barring that, the migration of existing data seems pretty straight forward.
The part that isn't so straightforward, in my particular case, is how to prevent new email from being delivered to oldserver while the backup/transfer/restore is in progress. To me, this causes a case of split brain where the backup won't catch email that has been delivered since the backup started. I've read bits about how to workaround this; some recommend suspending the domain under migration, but from my testing all that does is cause the messages to bounce with a permanent failure due to 550 "Unknown User".
What I think I would like to have happen is to disable local delivery on oldserver for each domain under migration so oldserver accepts any new mail but holds it in it's queue until the migration is complete, but I don't know how to get oldserver to ignore the fact that it actually *can* deliver mail for a particular domain and instead just spool it (or fail with a non-permanent error so then it's just the sending server and oldserver that have to fight about the delivery
).
If there was a way to disable local delivery on oldserver, the backup/transfer/restore process would happen, the zone files for the domains would restored on newserver in the process, and all I'd have to do is update the registrar with the new IP info, at which point the mx would have a new IP, so exim on oldserver would start delivering what it had queued up to newserver, so would the rest of the Internet.
The other option would be to do the registrar update before starting the backup, pointing the nameserver to newserver, but I believe that too would cause email to permanently bounce since newserver won't have a zone file for any of the domains until the backup/transfer/restore is completed. In my case, that would take hours due to the volume of data that needs to be moved.
I'm sure other folks have done this a thousand times and it obviously worked out for them, so maybe I'm over thinking this?
Thoughts?
Thanks in advance for any insight.
I've been trying to figure out the best way to migrate domains from one server to another without the issue of bouncing mail. The easiest approach to migrating existing data, as I understand it, seems to be to do it on a per-Admin/Reseller basis using admin backup on oldserver, transfer the backup to newserver and then restoring. This restores the Admin/Reseller and all data for all domains associated with that Admin/Reseller.
I believe this also covers DNS zone files, but I'm not crystal clear on whether or not the zone files are copied over intact, and just the server IP is re-written upon restore, or if the restore operation creates new zone files from scratch. Barring that, the migration of existing data seems pretty straight forward.
The part that isn't so straightforward, in my particular case, is how to prevent new email from being delivered to oldserver while the backup/transfer/restore is in progress. To me, this causes a case of split brain where the backup won't catch email that has been delivered since the backup started. I've read bits about how to workaround this; some recommend suspending the domain under migration, but from my testing all that does is cause the messages to bounce with a permanent failure due to 550 "Unknown User".
What I think I would like to have happen is to disable local delivery on oldserver for each domain under migration so oldserver accepts any new mail but holds it in it's queue until the migration is complete, but I don't know how to get oldserver to ignore the fact that it actually *can* deliver mail for a particular domain and instead just spool it (or fail with a non-permanent error so then it's just the sending server and oldserver that have to fight about the delivery
If there was a way to disable local delivery on oldserver, the backup/transfer/restore process would happen, the zone files for the domains would restored on newserver in the process, and all I'd have to do is update the registrar with the new IP info, at which point the mx would have a new IP, so exim on oldserver would start delivering what it had queued up to newserver, so would the rest of the Internet.
The other option would be to do the registrar update before starting the backup, pointing the nameserver to newserver, but I believe that too would cause email to permanently bounce since newserver won't have a zone file for any of the domains until the backup/transfer/restore is completed. In my case, that would take hours due to the volume of data that needs to be moved.
I'm sure other folks have done this a thousand times and it obviously worked out for them, so maybe I'm over thinking this?
Thoughts?
Thanks in advance for any insight.
Last edited: