Yes of, course ! I should Have mentioned my setup is quite similar to this thread : http://www.zimbra.com/forums/install...o-cluster.html
Basically, I have 2 servers installed exactly the same way :
- Ubuntu 6.06
- install of zimbra network edition (no proxy, no archiving, zimbra mobile), 50 users.
- some customisation like apache front end in reverse proxy mode (Ubuntu version)
- rsync installed on both servers
On the live server, I do an incremental backup every hour and and full once a week.
On the cold backup server I have rsynced the whole backup directory (ssh keys for auth, I do this as root for now, but using zimbra user should be sufficient) :
This took a bit more than 2 hours.
rsync -aHzv --rsh=ssh livemail:/home/zimbra/backup/ /home/livemail/zimbrabackup/
On the cold backup server, every hour I would like to do :
- Rsync of inc backups only :
This runs really fast : < 1 minute
rsync -aHzv --rsh=ssh livemail:/home/zimbra/backup/sessions/incr-* /home/livemail/zimbrabackup/sessions/
- restore to the state of live server :
This takes about 2 hours, but it will keep getting worse since there will be more and more mail in the mailboxes.
zmrestore -t /home/livemail/zimbrabackup -br -a all -c --ignoreRedoErrors
I would like to reduce time of restore, because if I have done the full restore once, I then only need to play the redologs to get into the same state as the live server.
I know this can lead in some problems : all system mails received on the backup server might break the redolog sequence and cause some problems (maybe a flag like --ignoreRedoErrors would help by replaying the redologs even if some event has occurred between 2 plays). Or maybe I will have to put the domain in Maintenance mode and in case of disaster, part of the procedure will be to put the domain in Active mode... I am sure there is a solution
This is about where I am up to... Hope it helps
I also want to make the zmbackup (incremental) on the live server happen just before rsync from the backup server. This can easily be achieved using rsync daemon and "pre-xfer exec" option. In that way, all the replication process is controlled by the cold backup server.