Ok. I clone our zimbra here every night and do the hostname-change, but its a standalone-zimbra and does not have any ldap-master-slave relations involved. So I'm not sure if my input here applies to your problems. But as it seems you didnt get any other respond maybe my approach can give you some ideas.
cloning zimbraA --> zimbraB
1) The cloning is pretty easy. I clone with rsync when zimbraA is running and then I stop the zimbra and rsync again. (This saves on zimbraA-downtime)
Of course zimbraB is stopped during this whole process.
2) MOST IMPORTANT: on zimbraB I now block every network-traffic to zimbraA, so the next step will not mess up zimbraA. I do this by simple changing /etc/hosts temporarily so zimbraA points to zimbraB when looking from zimbraB. Cause in the next step we'll change the hostnames and while doing so zimbraB is partially still thinking its zimbraA and it has all passwords for zimbraA and its IP-adress and will change the hostname in zimbraA-LDAP if you dont redirect it. I've been there and had to rollback from backup
3) start zimbraB and change the hostname: /opt/zimbra/libexec/zmsetservername -n zimbraB.mydomain.com
4) finally fire up zimbraB and fine you are
I just wrote a script that will do all the stuff. Execution of commands on the other server is done via ssh and there are a lot of tests involved so the scripts always checks if traffic is really blocked from B to A.
a more detailed description can be found at my zimbra-page at:
knowwiki:basics:zimbra
hope this is of any need to you. But I think this modifying of the hosts-file might proove useful in your master-slave-ldap-setup too when you think things through and picture which zimbra needs to connect where & when.
good luck,
p
Release 7.1.3_GA_3346.UBUNTU10_64 UBUNTU10_64 FOSS edition