Migración de Zimbra a un nuevo servidor

Vamos a migrar un servidor con Zimbra 8.6 a un nuevo equipo con una versión actualizada del SO y actualizaremos a Zimbra 8.8.9.

No he logrado realizar la actualización directamente, ya que quedaba el zimbra inoperativo . Primero hay que actualizar a la 8.7 y posteriormente a la 8.8

En mi caso concreto para el nuevo servidor he utilizado una máquina virtual, con adaptadores del tipo VMXNET3 y contraloadora de disco paravirtual. En esa mv he instalado Centos 7.5 con dos tarjetas de red y he particionado el volúmen con los siguientes valores:

  • /boot → 1 GB
  • /swap → el mismo valor que la RAM
  • /opt → 5 TB
  • / → 50G

A la hora de migrar podemos optar por varias opciones:

  • Opción 1. Instalar un nuevo servidor con una versión actualizada del SO, distinto nombre y distinta ip . Instalar la última versión de zimbra y usando los backups del propio zimbra restaurarlos en el nuevo equipo.
  • Opción 2. Instalar un nuevo servidor con una versión actualizada del SO, mismo nombre pero con distinta ip . Instalar la misma versión de zimbra que usamos en el servidor viejo y usando los backups del propio zimbra restaurarlos en el nuevo equipo y posteriormente actualizar zimbra a la última versión
  • Opción 3. Migrar instalar a un nuevo servidor con una versión actualizada del SO, mismo nombre y versión de zimbra pero con distinta ip y exportar los datos para importarlos en el nuevo equipo

Pasos Previos

Como paso previos vamos a realizar una copia completa de nuestro servidor fuente y si usamos máquinas virtuales, realizaremos un snapshot de la misma.

Antes de empezar con la migración vamos a revisar la integridad de los buzones de correo en el servidor origen

Chequeamos los permisos

Como root ejecutamos 
/opt/zimbra/libexec/zmfixperms --verbose --extended

Revisamos los buzones

su zimbra
/opt/zimbra/bin/zmblobchk start

Revisamos la BDD

su zimbra
/opt/zimbra/libexec/zmdbintegrityreport -v

Revisar la fechas de expiración del certificado

https://www.jorgedelacruz.es/2014/05/01/zimbra-creandoregenerando-un-certificado-autofirmado-single-server/

Revisar que la máquina donde vamos a instalar no tenga ya al postfix ejecutandose . Para verificar ejecutar systemctl status postfix Para pararlo ejecutar systemctl stop postfix y para deshabilitarlo del inicio systemctl disable postfix

Opción 1. Instalación en una nueva máquina con la misma versión del Zimbra usando zextras

En el equipo nuevo, descargamos la última versión de zimbra de https://www.zimbra.com/downloads/

wget https://files.zimbra.com/downloads/8.8.10_GA/zcs-NETWORK-8.8.10_GA_3039.RHEL7_64.20180928094617.tgz
descomprimimos el fichero y ejecutamos el script de instalación
tar xvzf zcs-NETWORK-8.8.10_GA_3039.RHEL7_64.20180928094617.tgz

Exportamos los datos

El siguiente paso sería exportar los datos que se encuentran en el equipo origen. Para ello:

  • Creamos un directorio para exportar los datos
    mkdir /opt/zimbra/export
  • Descargamos la herramienta de exportación y procedemos a instalarla

cd /tmp
wget https://download.zextras.com/zextras_migration_tool-latest.tgz
 tar zxf zextras_migration_tool-latest.tgz
cd zextras_migration_tool-2.4.12
 ./install.sh all
Una vez instalada ejecutamos
su - zimbra -c 'zmprov fc -a zimlet'

  • Abrimos el navegador y vamos a la página de administración de zimbra https://miequipoorigen:7071/zimbraAdmin/
  • En el menú de la izquierda, aparece un nuevo Zimlet llamado ZeXtras. Desplegamos y pinchamos sobre ZxMig→iniciar migración

Importamos los datos al servidor destino

  • Instalamos la herramienta de migración

cd /tmp
wget http://download.zextras.com/zextras_suite-latest.tgz
tar xvzf zextras_suite-latest.tgz
cd zextras_suite-2.6.1
./install.sh all

Una vez instalada ejecutamos

su - zimbra -c 'zmprov fc -a zimlet'

  • creamos el directorio para importar los datos
    mkdir /opt/zimbra/import
  • copiamos el backup que creamos en el equipo origen, al directorio import del equipo destino
  • Abrimos el navegador y vamos a la página de administración de zimbra https://miequipodestino:7071/zimbraAdmin/
  • En el menú de la izquierda, aparece un nuevo Zimlet llamado ZeXtras. Desplegamos y pinchamos sobre ZxBackup. Pulsamos el botón de inicializar. Esperamos a que termine y pinchamos sobre la opción Import Backup

https://cloudpro.zone/index.php/2017/12/19/new-zimbra-8-7-11-server-migration-guide/

Opción 2. Instalación en una nueva máquina con la misma versión de zimbra usando el backup

En esta opción vamos a utilizar una nueva máquina virtual con una versión de SO nueva pero instalando la misma versión de Zimbra que tenemos el el equipo viejo. Los pasos serían :

  • Instalar la nueva máquina y actualizarla
  • Ponerle el mismo nombre, distinta ip
  • Instalar la misma versión de zimbra que tenemos el el equipo a migrar
  • Hacer un backup en el equipo viejo y restaurarla en el nuevo. Para ello una vez realizada la copia de seguridad (necesitas la versión network), la copiamos desde el equipo viejo al servidor nuevo
     scp -pr /opt/backupcorreo/sessions/full-20181013.000007.728 root@ipnuevoservidor:/opt/backupcorreo
la ruta del backup por defecto es en /opt/zimbra/backup

con rsync también podemos copiar los datos, lanzando el siguiente comando desde el servidor destino para traernos una copia de los datos

 nohup rsync -e ssh -aaxvKHS root@ipequipozimbraorigen:/opt/zimbra/ /opt/zimbra & 

Opción 3. Nueva máquina . Distinto SO y misma versión de Zimbra

Esta opción es igual a la opción 2 sólo que no utilizamos los backups del zimbra, sino que copiamos la carpeta de zimbra del equipo viejo al nuevo, por lo que vale tanto para la versión open source como para la collaboration . Los pasos serían los siguientes:

  1. Instalamos el nuevo equipo con una versión actualizada del SO. Mismo nombre de host distinta ip.
  2. Instalamos la misma versión de zimbra que el equipo viejo
  3. Usando rsync copiamos los datos al nuevo equipo

Pasos en el equipo destino

* Descargamos la misma versión de zimbra que tenemos el el equipo origen e instalamos con la opción -s. (https://www.zimbra.com/downloads/)

./install.sh -s

la opción -s para que sólo realize la instalación del software.
  • Una vez terminada la instalación procedemos a borrar el directorio zimbra que nos ha creado

rm -rf /opt/zimbra

  • Copiamos la carpeta zimbra del servidor origen a este (previamente deberiamos de haber parado los servicios en el servidor origen)

 screen rsync -e ssh -aaxvKHS root@172.19.2.250:/opt/zimbra/ /opt/zimbra 

En este caso he usado screen en vez de nohup con el comando de copia debido a la cantidad de datos que había que copiar, para poder conectarme de nuevo y ver por donde sigue

Una vez copiados los datos verificamos los permisos . Para ello ejecutamos como root

/opt/zimbra/libexec/zmfixperms -e -v

Actualización

Referencias