Zimbra 8.8.5 ce restore da files
Mi è capitato poco tempo fa, di dover ripristinare una macchina zimbra server 8.8.5 pieno di caselle di posta e mail, su una nuova macchina virtuale. Per qualche motivo che non ho…
> Articolo d'archivio del 2018, dal vecchio nutellino.it: comandi e versioni potrebbero non essere più attuali.

Ciao a tutti!
Mi è capitato poco tempo fa, di dover ripristinare una macchina zimbra server 8.8.5 pieno di caselle di posta e mail, su una nuova macchina virtuale. Per qualche motivo che non ho avuto tempo di identificare, il processo soap che gestisce quasi tutte le operazioni di zimbra server dava sempre errore 503 rendendo inutilizzabile il server.
A questo punto sono stato costretto a ripristinare il tutto in una nuova macchina con lo zimbra server 8.8.5 appena installato da zero.
Le cartelle principali di zimbra server, quelle che contengono i dati sono:
/opt/zimbra/store/ #contiene tutte le email delle caselle
/opt/zimbra/db/ #è il database mariadb
/opt/zimbra/index/ #contiene l'index lucene delle mail
/opt/zimbra/conf/ #contiene tutte le configurazioni di zimbra e le informazioni di ldapOperazioni di ripristino
Definiamo quindi ZimbraOld la macchina zimbra "rotta" e ZimbraNew la macchina nuova con zimbra server appena installato.
Potete installare velocemente due zimbra server di test utilizzando vagrant+ansible, link del progetto per l'installazione di zimbra server 8.8.5 : https://github.com/nutellinoit/zimbra-ansible-playground
Per evitare qualsiasi problema di installazione, prima di installare la macchina ZimbraNew bisogna stoppare tutti i servizi nella macchina ZimbraOld e cambiarne l'ip address.
Il comando per lo stop di tutti i servizi è
su - zimbra
zmcontrol stopVerifichiamo anche che non ci siano processi orfani rimasti attivi con
ps -aux | grep zimbraA questo punto possiamo installare lo ZimbraNew in una nuova macchina che ha il vecchio ip di ZimbraOld.
Una volta completata l'instalalzione di ZimbraNew e verificato che tutto funzioni correttamente, possiamo procedere al trasferimento dei dati.
Stoppiamo quindi nella macchina ZimbraNew tutti i servizi di zimbra.
su - zimbra
zmcontrol stopDalla macchina ZimbraOld creiamo una connessione ssh con chiave dall'utente root all'utente root di ZimbraNew
# se non abbiamo ancora creato la nostra chiave
ssh-keygen -t rsa
# copiamo la chiave con
ssh-copy-id -i ~/.ssh/id_rsa root@ZimbraNewFatto ciò, possiamo usare i comandi di rsync senza preoccuparci di inserire ogni volta la password.
Procediamo quindi da ZimbraOld a lanciare i seguenti comandi
# Copiamo file e database
rsync -a --delete /opt/zimbra/store/ root@ZimbraNew:/opt/zimbra/store
rsync -a --delete /opt/zimbra/db/ root@ZimbraNew:/opt/zimbra/db
rsync -a --delete /opt/zimbra/index/ root@ ZimbraNew:/opt/zimbra/index
# Copiamo le configurazioni
rsync -av --delete --exclude=data.mdb /opt/zimbra/data/ root@ZimbraNew:/opt/zimbra/data
E' molto importante escludere da questa copia il file data.mdb essendo uno sparsebundle. Se provate a copiarlo, (come ho fatto io la prima volta) vi riempirà il disco destinazione.
A questo punto dobbiamo copiare questo famoso data.mdb
I comandi da fare sono i seguenti:
da ZimbraOld (come utente root):
mdb_copy /opt/zimbra/data/ldap/mdb/db /opt/zimbra/backup/ldap/mdb/db
cd /opt/zimbra/backup/
tar -zcvf archivioldap.tar.gz ldap/
scp archivioldap.tar.gz root@ZimbraNew:/opt/zimbra/backup/ora passiamo su ZimbraNew (come utente root):
cd /opt/zimbra/backup/
chmod 777 archivioldap.tar.gz
tar -zxvf archivioldap.tar.gz
su - zimbra
cd ldap/mdb/db/
mv data.mdb ../../../../data/ldap/mdb/db/Fatto tutto ciò dovrebbe essere sufficiente lanciare da ZimbraNew (come utente zimbra)
zmcontrol startEt voilà! Il nuovo server conterrà tutti i dati di quello vecchio!.
Eventuali problemi di certificati self signed
Se riscontrate problemi di certificati (se avete i certificati self signed) seguite questi passaggi:
/opt/zimbra/bin/zmcertmgr createca -new
/opt/zimbra/bin/zmcertmgr deployca
#impostiamo a 10 anni circa la scadenze
/opt/zimbra/bin/zmcertmgr createcrt -new -days 3650
/opt/zimbra/bin/zmcertmgr deploycrt self
/opt/zimbra/bin/zmcertmgr viewdeployedcrt
su - zimbra
zmcontrol restart$ cat ~/archivio/zimbra-8-8-5-restore-from-files.md
WARNING: questo file è del 2018.
L'ho scritto io, ma un io di qualche anno fa: potrebbe non rispecchiare più quello che penso né quello che so fare.
Continuare? [s/N]