Saludos amigos/as, hoy tengo el gusto de contar en el blog de nuevo con el gran Oscar Mas.
Lo que voy a explicar, es a restaurar un equipo entero, sin necesidad en un full backup de Zimbra y dejándolo igual que el de origen. Aprovechando el laboratorio, pasaremos de una CentOs 6 a una Ubuntu 12.04 LTS. Increible ¿ no ?, pues cierto.
Antes de empezar la migración verificaremos varias cosas, como la versión de Zimbra que tenemos instalada, en nuestro caso usaremos la Network, pero el procedimiento será el mismo para una OpenSource. Lo tenemos que tener es cuenta, es que la versión de destino ha de ser la misma que la de origen y el hostname también ha de ser el mismo:
[zimbra@zimbra ~]$ zmcontrol -v Release 8.0.5_GA_5839.RHEL6_64_20130910124005 RHEL6_64 NETWORK edition.
También es importante saber los servicios que tenemos instalados:
[zimbra@zimbra ~]$ zmprov gs `zmhostname` | grep zimbraServiceInstalled zimbraServiceInstalled: antivirus zimbraServiceInstalled: antispam zimbraServiceInstalled: opendkim zimbraServiceInstalled: logger zimbraServiceInstalled: mailbox zimbraServiceInstalled: mta zimbraServiceInstalled: convertd zimbraServiceInstalled: stats zimbraServiceInstalled: snmp zimbraServiceInstalled: ldap zimbraServiceInstalled: spell
El nombre del host, ya que como comentaba anteriormente ha de ser el mismo en el destino:
[root@zimbra ~]# hostname -f zimbra.ilba.cat
Y como no, la ip de origen:
[root@zimbra ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:15:5D:00:68:0A inet addr:192.168.100.20 Bcast:192.168.100.255 Mask:255.255.255.0 inet6 addr: fe80::215:5dff:fe00:680a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:17501 errors:0 dropped:0 overruns:0 frame:0 TX packets:15825 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1320238 (1.2 MiB) TX bytes:1223109 (1.1 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:15475 errors:0 dropped:0 overruns:0 frame:0 TX packets:15475 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:10017723 (9.5 MiB) TX bytes:10017723 (9.5 MiB)
También la resolución DNS:
[root@zimbra ~]# host -t mx ilba.cat ilba.cat mail is handled by 10 zimbra.ilba.cat. [root@zimbra ~]# ping -c 1 zimbra.ilba.cat PING zimbra.ilba.cat (192.168.100.20) 56(84) bytes of data. 64 bytes from zimbra.ilba.cat (192.168.100.20): icmp_seq=1 ttl=64 time=0.245 ms --- zimbra.ilba.cat ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 7ms rtt min/avg/max/mdev = 0.245/0.245/0.245/0.000 ms
Ahora verificaremos los datos de la versión (Ubuntu) de destino. Estas tres verificaciones parecen una tontería, pero si no salen correctamente, los servicios de Zimbra no arrancaran y la instalación nos dará errores:
root@zimbra:~# hostname zimbra root@zimbra:~# hostname -f zimbra.ilba.cat root@zimbra:~# host -t mx ilba.cat ilba.cat mail is handled by 10 zimbra.ilba.cat. root@zimbra:~# ping -c 1 zimbra.ilba.cat PING zimbra.ilba.cat (192.168.100.21) 56(84) bytes of data. 64 bytes from zimbra.ilba.cat (192.168.100.21): icmp_req=1 ttl=64 time=0.078 ms --- zimbra.ilba.cat ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.078/0.078/0.078/0.000 ms root@zimbra:~# ifconfig eth0 Link encap:Ethernet HWaddr 00:15:5d:00:68:12 inet addr:192.168.100.21 Bcast:192.168.100.255 Mask:255.255.255.0 inet6 addr: fe80::215:5dff:fe00:6812/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:72015 errors:0 dropped:0 overruns:0 frame:0 TX packets:4857 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3970892 (3.9 MB) TX bytes:328188 (328.1 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:168 (168.0 B) TX bytes:168 (168.0 B)
Descargamos, la misma versión o superior de Zimbra que tenemos en el origen ( CentOS ) en el servidor de destino ( Ubuntu )
root@zimbra:/usr/local/src# wget http://files2.zimbra.com/downloads/8.0.5_GA/zcs- NETWORK-8.0.5_GA_5839. UBUNTU12_64.20130910124124.tgz
Descomprimimos Zimbra:
root@zimbra:/usr/local/src# tar zxvf zcs-NETWORK-8.0.5_GA_5839.UBUNTU12_64.20130910124124.tgz
Ahora instalamos las dependencias:
root@zimbra:/usr/local/src# aptitude install libgmp3c2 libperl5.14 pax sysstat sqlite3 -y
Nos descargamos una licencia trial de Zimbra Network y instalaremos Zimbra:
root@zimbra:/usr/local/src/zcs-NETWORK-8.0.5_GA_5839. UBUNTU12_64.20130910124124# ./install.sh Install zimbra-ldap [Y] Install zimbra-logger [Y] Install zimbra-mta [Y] Install zimbra-snmp [Y] Install zimbra-store [Y] Install zimbra-apache [Y] Install zimbra-spell [Y] Install zimbra-convertd [Y] Install zimbra-memcached [N] Install zimbra-proxy [N] Install zimbra-archiving [N]
Este es el típico error, ya que Zimbra intenta levantar los servicios con el nombre FQDN del equipo (zimbra.ilba.cat). A mí personalmente me gusta levantarlo con el nombre del dominio (ilba.cat) y por eso anteriormente hemos hecho las comprobaciones de “hostname”, “hostname -f” y “host -t mx ilba.cat”
Installing LDAP configuration database...done. Setting defaults... DNS ERROR resolving MX for zimbra.ilba.cat It is suggested that the domain name have an MX record configured in DNS Change domain name? [Yes] Create domain: [zimbra.ilba.cat] ilba.cat MX: zimbra.ilba.cat (192.168.100.21) Interface: 192.168.100.21 Interface: 127.0.0.1 Interface: ::1 done. Checking for port conflicts
Ahora empieza lo divertido. Lo que hemos de hacer es parar los servicios de Zimbra tanto del origen como del destino. Si lo hacemos en caliente, hay ficheros que los está usando el propio Zimbra y al final no nos funcionará ya que dará muchos errores en la sincronización.
[root@zimbra ~]# su - zimbra [zimbra@zimbra ~]$ zmcontrol stop root@zimbra:~# su - zimbra zimbra@zimbra:~$ zmcontrol stop
Ahora con todos los servicios parados, desde la Ubuntu ( servidor de destino ) , lanzamos un rsync contra el servidor
[root@zimbra ~]# yum install rsync -y root@zimbra:~# rsync -avz 192.168.100.20:/opt/ /opt/
Veremos que se queda clavado durante un rato en el fichero: zimbra/data/ldap/mdb/db/data.
root@zimbra:~# /opt/zimbra/libexec/zmfixperms root@zimbra:/usr/local/src/zcs-NETWORK-8.0.5_GA_5839. UBUNTU12_64.20130910124124# ./install.sh -s
Durante la instalación veremos que nos ha detectado la licencia y veremos que actualizamos de la 8.0.5 a la 8.0.5:
ZCS upgrade from 8.0.5 to 8.0.5 will be performed. Checking for available license file... Current Users=3 Licensed Users=10000
Una vez acabado haremos las verificaciones:
root@zimbra:~# su - zimbra zimbra@zimbra:~$ zmcontrol status
En este manual no contempla la migración del sistema de Spam, ya que como sabéis Zimbra va aprendiendo de los usuarios, a medida que marcan mensajes como Spam o Ham.

Un abrazo y felicitaciones, debo reconocer que me has salvado en más de una oportunidad….. tengo una duda y quisiera ver si me puedes ayudar, tengo un servidor con Zimbra 8.0.5 y resulta que hay una cuenta en la que siguen apareciendo los correos ya descargados o eliminados, es la cuenta de administrador del sistema, son correos que hacen mención a la partida de los difrerentes servicios de zimbra una vez hecho un backup. Esto empezó ayer, luego de 2 meses sin darme problemas. Tienes alguna idea que me pueda dar luces?
Nuevamente te saludo y te felicito por tu blog
Estimado Jorge.
Hemos realizado la migración del SERVER1 al SERVER2 utilizando el comando rsync sincronizando las carpetas de origen y destino. Esto a traído una serie de inconvenientes como el siguiente mensaje: zmmailboxdctl is not running
Además, aparentemente encontramos problemas de “permission denied” que intentamos solucionar con “zmfixperms -extended” pero aún así el problema persiste. Al levantar manualmente con el comando “zmcontrol start” levanta temporalmente el demonio zmmailboxdctl y luego vuelve a salir is not running.
Según lo que he visto en varios foros, ésto puede ser ocasionado por diferentes motivos, el cuál no estoy pudiendo identificar.
Desde ya te agradezco la colaboración
Saludos
La versión del SERVER1 es 8.7.1 y la version del también es SERVER2 es 8.7.1.
La sincronización realizada fue de la carpeta /opt/zimbra
Saludos Esteban,
Que mensajes tienes en los logs? Siempre puedes usar la herramienta de zextras migration para migrar es gratis y no te dará esos problemas:
Si me pasas los errores, quizá podamos ayudarte mas profundamente.
Un saludo
Gracias por la respuesta.
A continuación adjunto el error del zimbra.log:
Nov 25 08:05:13 correo postfix/postdrop[10429]: warning: mail_queue_enter: create file maildrop/430080.10429: Permission denied
Nov 25 08:05:13 correo zmmailboxdmgr[15240]: stale pid 8806 found in /opt/zimbra/log/zmmailboxd_manager.pid: No such process
Nov 25 08:05:13 correo zmmailboxdmgr[15240]: assuming no other instance is running
Nov 25 08:05:13 correo zmmailboxdmgr[15240]: file /opt/zimbra/log/zmmailboxd.pid does not exist
Nov 25 08:05:13 correo zmmailboxdmgr[15240]: assuming no other instance is running
Nov 25 08:05:13 correo zmmailboxdmgr[15240]: no manager process is running
Nov 25 08:05:13 correo zmconfigd[5747]: Tracking service zimbra
Nov 25 08:05:13 correo zmmailboxdmgr[15256]: stale pid 8806 found in /opt/zimbra/log/zmmailboxd_manager.pid: No such process
Nov 25 08:05:13 correo zmmailboxdmgr[15256]: assuming no other instance is running
Nov 25 08:05:13 correo zmmailboxdmgr[15256]: file /opt/zimbra/log/zmmailboxd.pid does not exist
Nov 25 08:05:13 correo zmmailboxdmgr[15256]: assuming no other instance is running
Nov 25 08:05:13 correo zmmailboxdmgr[15256]: no manager process is running
Nov 25 08:05:13 correo zmconfigd[5747]: Tracking service zimbraAdmin
Nov 25 08:05:13 correo zmmailboxdmgr[15272]: stale pid 8806 found in /opt/zimbra/log/zmmailboxd_manager.pid: No such process
Nov 25 08:05:13 correo zmmailboxdmgr[15272]: assuming no other instance is running
Nov 25 08:05:13 correo zmmailboxdmgr[15272]: file /opt/zimbra/log/zmmailboxd.pid does not exist
Nov 25 08:05:13 correo zmmailboxdmgr[15272]: assuming no other instance is running
Nov 25 08:05:13 correo zmmailboxdmgr[15272]: no manager process is running
Nov 25 08:05:13 correo zmconfigd[5747]: Tracking service zimlet
Nov 25 08:05:13 correo zmconfigd[5747]: Watchdog: service antivirus status is OK.
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/common/lib/jylibs/state.py”, line 810, in rewriteConfig shutil.move(tmpfile, to)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 205, in move copy2(src,dst)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 96, in copy2 copyfile(src, dst)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 52, in copyfile fdst = open(dst, ‘wb’)
Nov 25 08:05:13 correo zmconfigd[5747]: Rewrite failed: [Errno 13] Permission denied: ‘/opt/zimbra/mailboxd/webapps/service/WEB-INF/web.xml’ ([Errno 13] Permission denied: ‘/opt/zimbra/mailboxd/webapps/service/WEB-INF/web.xml’)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/common/lib/jylibs/state.py”, line 810, in rewriteConfig shutil.move(tmpfile, to)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 205, in move copy2(src,dst)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 96, in copy2 copyfile(src, dst)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 52, in copyfile fdst = open(dst, ‘wb’)
Nov 25 08:05:13 correo zmconfigd[5747]: Rewrite failed: [Errno 13] Permission denied: ‘/opt/zimbra/mailboxd/webapps/zimbraAdmin/WEB-INF/jetty-env.xml’ ([Errno 13] Permission denied: ‘/opt/zimbra/mailboxd/webapps/zimbraAdmin/WEB-INF/jetty-env.xml’)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/common/lib/jylibs/state.py”, line 810, in rewriteConfig shutil.move(tmpfile, to)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 205, in move copy2(src,dst)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 96, in copy2 copyfile(src, dst)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 52, in copyfile fdst = open(dst, ‘wb’)
Nov 25 08:05:13 correo zmconfigd[5747]: Rewrite failed: [Errno 13] Permission denied: ‘/opt/zimbra/mailboxd/webapps/zimbra/WEB-INF/jetty-env.xml’ ([Errno 13] Permission denied: ‘/opt/zimbra/mailboxd/webapps/zimbra/WEB-INF/jetty-env.xml’)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/common/lib/jylibs/state.py”, line 810, in rewriteConfig shutil.move(tmpfile, to)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 205, in move copy2(src,dst)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 96, in copy2 copyfile(src, dst)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 52, in copyfile fdst = open(dst, ‘wb’)
Nov 25 08:05:13 correo zmconfigd[5747]: Rewrite failed: [Errno 13] Permission denied: ‘/opt/zimbra/mailboxd/webapps/zimbraAdmin/WEB-INF/web.xml’ ([Errno 13] Permission denied: ‘/opt/zimbra/mailboxd/webapps/zimbraAdmin/WEB-INF/web.xml’)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/common/lib/jylibs/state.py”, line 810, in rewriteConfig shutil.move(tmpfile, to)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 205, in move copy2(src,dst)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 96, in copy2 copyfile(src, dst)
Nov 25 08:05:13 correo zmconfigd[5747]: File “/opt/zimbra/lib/jars/jython-2.5.2.jar/Lib/shutil.py”, line 52, in copyfile fdst = open(dst, ‘wb’)
Nov 25 08:05:13 correo zmconfigd[5747]: Rewrite failed: [Errno 13] Permission denied: ‘/opt/zimbra/mailboxd/webapps/zimbra/WEB-INF/web.xml’ ([Errno 13] Permission denied: ‘/opt/zimbra/mailboxd/webapps/zimbra/WEB-INF/web.xml’)
Nov 25 08:05:13 correo zmconfigd[5747]: All rewrite threads completed in 0.04 sec
Nov 25 08:05:13 correo zmconfigd[5747]: All restarts completed in 0.00 sec
Nov 25 08:05:13 correo postfix/postdrop[10551]: warning: mail_queue_enter: create file maildrop/714162.10551: Permission denied
Nov 25 08:05:23 correo postfix/postdrop[10429]: warning: mail_queue_enter: create file maildrop/430300.10429: Permission denied
Nov 25 08:05:23 correo postfix/postdrop[10551]: warning: mail_queue_enter: create file maildrop/714404.10551: Permission denied
Nov 25 08:05:30 correo postfix/postqueue[15288]: fatal: Connect to the Postfix showq service: Permission denied
Nov 25 08:05:33 correo postfix/postdrop[10429]: warning: mail_queue_enter: create file maildrop/430540.10429: Permission denied
Nov 25 08:05:33 correo postfix/postdrop[10551]: warning: mail_queue_enter: create file maildrop/714605.10551: Permission denied
Para la próxima migración tendremos en cuenta tu sugerencia del migration-tool
Antes de mover la instalación supongo que hicisteis una instalación en el nuevo server verdad?
El proceso de rsync no ha sido testeado en 8.7.1 que yo sepa
Un saludo