Etiquetas

, , , , , , ,


La gran mayoría de las veces en Open Source todo funciona bien hasta que tiene que hacer una migración. Acabo de realizar una migración de un Zimbra 5.0.x a una versión 8.0.x. El salto de versiones es muy importante y la gran mayoría de las veces en zimbra teniendo muchos usuarios la migración podría tardar días, además al hacer un upgrade directamente en el servidor de producción hay que hacerlo en versiones sucesivas y  podría fallar la instalación al comprobar las bases de datos.

Después de varias pruebas y varias consultas con san google he conseguido migrar todas las cuentas y todos los buzones. A continuación  pongo los datos y los pasos a seguir.

Lo primero que debemos hacer es instalar el servidor nuevo, en mi caso en un hardware nuevo virtualizado con xen 6.0, cabe destacar que no es necesario mantener la misma versión de SO en mi caso uso redhat 5 y el nuevo esta en redhat 6.5, ya que la versión 8.x de zimbra no tiene soporte para redhat5 y para ser sincero no probé instalar zimbra 8 en redhat 5 por cuestiones de tiempo cuando lo haga lo público y les cuento el resultado.

No voy a detallar paso a paso la instalación del SO ni del zimbra puesto que es algo intuitivo y si ya estamos buscando cómo migrar ya debemos saber ambos puntos.

1. – En la página inicial de la consola de administración del nuevo zimbra, haz click en “3. Migración y coexistencia“

2. – En el asistente de importación que se abre, se pregunta qué tipo de servidor se va a importar y si se van a importar cuentas y/o correos.

En nuestro caso vamos a elegir que el origen es un Zimbra y que vamos a importar tanto las cuentas como el correo.

3.- Al pulsar en Siguiente, podremos elegir si lo importamos desde un directorio  LDAP (o un Directorio Activo), desde un LDAP de Zimbra o bien un XML.

Vamos a elegir  LDAP de Zimbra.

4

4.- Ahora nos preguntará por las claves. Aquí me detengo un poco y explico.

En esta instalación la autenticación se hará mediante directorio activo, es decir, pongamos las claves que pongamos, cuando terminemos todo este proceso las claves serán las que tengan los usuarios en el AD.

Para esta instalación he puesto que la clave sea qwerty y que no cambien la contraseña.

5

5.- Ahora debemos decirle desde donde va a tener que coger los usuarios. Ponemos la IP del Zimbra antiguo, el DN de enlace, su Contraseña, el Filtro LDAP y la Base de búsqueda.

El DN de enlace la podemos sacar en el zimbra viejo. Como usuario zimbra, ejecutamos el comando:

zimbra@zimbra:~$  zmlocalconfig -s zimbra_ldap_userdn

Y la contraseña, ejecutando el comando:

zimbra@zimbra:~$  zmlocalconfig -s zimbra_ldap_password

El filtro LDAP no hace falta que lo cambies.

En la Base de búsqueda debemos poner el dominio en su formato dc=dominio,dc=com

6

6.- Si hemos puesto todos los datos bien, nos mostrará la información encontrada en el antiguo Zimbra. Dominios encontrados, cuentas, etc…

7

7.- Al dar Siguiente comenzará la importación de las cuentas. SOLO de las cuentas, es decir, crea una cuenta de correo en el nuevo Zimbra con los datos del antiguo pero creará un buzón vacío. El correo se importará más tarde.

Si no nos da ningún error, nos aparecerá algo como esto.

8

8.- Ahora vamos a intentar (y digo bien, INTENTAR) importar los buzones. Pulsa en Siguiente y vamos a seleccionar las cuentas a importar.

9

9.- Si se pulsa sobre Buscar, aparecerá todas las cuentas en bloques de 50). Si tienes más de 50 usuarios, una vez que los añadas a la ventana de la derecha, pulsa en el botón Siguiente para ver los siguientes 50. Así hasta que en la ventana de la derecha veas todos tus usuarios. En mi caso 200.

10

10.- Al pulsar siguiente nos preguntará las características del Zimbra origen, es decir, desde donde se va a importar.

Por defecto, conexión SSL.

IP y puerto IMAP Origen.

Usuario root y contraseña de root del Zimbra Origen.

11

11.- Si hemos puesto todos los datos bien, pasará a la siguiente pantalla, indicando que la tarea de importación ha comenzado.

12

12.- Podemos pulsar Finalizar ya que el proceso se seguirá haciendo en segundo plano.

Pasado el tiempo nos daremos cuenta que falla y no importa ningún buzón.

13

Por lo general siempre da fallo cuando intenta pasar los buzones pero no es para preocuparse ya que zimbra cuenta con una herramienta de migración vía consola.

Esta  herramienta de migración se llama zmztozmig y es la que utilizaremos para poder importar todos los mensajes.

Debemos editar el archivo zmztozmig.conf en el zimbra nuevo, el cual se encuentra en la siguiente ruta:

# vim /opt/zimbra/conf/zmztozmig.conf

Se debe cambiar los parámetros siguientes:

# Fuente ZCS servidor IP / nombre, nombre de usuario admin y la contraseña, puerto del servidor

SourceZCSServer=zcs1.example.com
SourceAdminUser=Admin
SourceAdminPwd=pwdpwd
SourceAdminPort=7071

SourceZCSServer: ejemplo.dominio.com o también podemos colocar la IP

SourceAdminUser: Admin ( Si al igual que yo por seguridad tiene el usuario admin deshabilitado un  usuario con permiso de administración también  servirá) 

SourceAdminPwd: Contraseña (del admin o el usuario con permiso de administración en zimbra)

SourceAdminPort: 7071 (por defecto)

# Destino / Target ZCS servidor IP / nombre, nombre de usuario admin y la contraseña, puerto del servidor

TargetZCSServer=zcs2.example.com
TargetAdminUser=Admin
TargetAdminPwd=pwdpwd
TargetAdminPort=7071
TargetZCSServer: Nuevo_servidor (Nombre o IP)
TargetAdminUser: Admin ( Un usuario con permiso de administración servirá)

TargetAdminPwd: Contraseña

TargetAdminPort: 7071 (por defecto)

Este comando te permite ejecutar migraciones simultáneas pero como queremos que se haga bien y no rápido puesto que nuestro servidor antiguo en producción todavía esta funcionado lo dejaremos en uno.

# Tareas a ejecutar simultáneamente

Threads=1

# ¿Quieres guardar archivos tar con éxito la migración de buzones después-VERDADERO / FALSO

KeepSuccessFiles=TRUE

Esta opción le permite guardar una copia de cada cuenta (en un archivo comprimido .tgz), en la ruta

SuccessDirectory = /tmp/ztozmig/success/

Si no quieres guardar estos archivos después de la importación, lógicamente, cambia el parámetro anterior a “FALSE”.

Si se va a cambiar el dominio de correo a uno nuevo, tendrás que cambiar las siguientes líneas. Si no hay cambio de dominio, y solo cambio de servidor -como es mi caso actual-, TIENES QUE COMENTAR estas líneas y pasar al parámetro Cuentas.

# Resolver=saltar
DomainMap=zcs1.example.com zcs2.example.com

Esta línea debe tener el dominio Origen, seguido del dominio Destino. Es decir, si pasamos de un dominio  dominio.com a  otro cambiado.com, pondremos:

DomainMap=dominio.com cambiado.com

Ahora debemos especificar que cuentas se van a importar.

Tenemos 2 opciones. O migrar todas o especificar las cuentas que queramos. En el primer caso, pondremos ALL, y si no, pondremos todas las cuentas en una solo línea separadas por comas. En caso de poner Cuentas=ALL tendremos que utilizar por narices la opción anterior (DomainMap)

Acounts=ALL

o bien,

Acounts=cuenta1@dominio.com,cuenta2@dominio.com,cuenta3@dominio.com,......

En mi caso, han sido casi 400 cuentas por lo que he puesto todas las cuentas separadas por comas y por lotes para hacer más fácil la migración y como no tengo prisa.

Una vez modificado a nuestro gusto el archivo lo guardamos y con el usuario zimbra ejecutamos dicho script.

 /opt/zimbra/libexec/zmztozmig -f /opt/zimbra/conf/zmztozmig.conf

Después de importar  se muestra datos como a continuación

El número de cuentas en servidor en este caso 1, el número de cuentas importadas con éxito 1, el número de cuentas que fallaron 0 y la duración de la importación 5.863 segundos, puesto que era una cuenta con pocos correos.

Y siguiendo estos pasos aseguraremos una migración exitosa, aunque lo probe solo con estas 2 versiones estoy seguro que puede funcionar con cualquier versión de zimbra.