Soy Oscar Mas y hoy me gustaría enseñaros como poder añadir un segundo servidor LDAP a nuestra infraestructura de Zimbra. Siempre es aconsejable tener un segundo servidor que nos haga las funcionalidades de LDAP, ya sea Activo o Pasivo. Esto nos supone eliminar la criticidad de nuestro sistema, ya que ante la caída del servidor donde está ubicado el sistema de LDAP (zcs1.ilba.cat) o simplemente nos da más flexibilidad, ya que un reinicio de dicho servidor no supone un corte total del servicio, solamente afectaría a los usuarios ubicados en el servidor que estamos reinciando.
Lo ideal siempre en tener dos servidores independientes que hagan la funcionalidad de LDAP y a poder ser Activo/Activo, estos dos servidores no tendrían que tener más que el sistema de LDAP. Pero por costes, es muy complicado conseguir este escenario, como norma general ubicamos el sistema LDAP en nuestro primer servidor de Storage.
Un esquema de implementación de Zimbra típico, sería el siguiente:
Disponemos de tres servidores, los cuales están basados en CentOS 7:
- zcs1.ilba.cat: este sería el primer servidor de nuestra implementación de Zimbra, el cual llevaría los servicios de LDAP, Storage y DNS
- zcsmta.ilba.cat: nuestro servidor de MTA, el cual es el encargado de distribuir las peticiones entrantes al servidor de Storage correspondiente
- zcs2.ilba.cat: nuestro segundo servidor de Storage, en el cual solamente hemos añadido el servicio de Storage y lo hemos añadido a nuestra infraestructura de Zimbra
Hemos creado una cuenta de correo en cada servidor y hemos verificado su correcto funcionamiento. En el servidor zcs1.ilba.cat hemos creado la cuenta [email protected] y en el servidor zcs2.ilba.cat hemos creado la cuenta [email protected]
[zimbra@zcs1 ~]$ zmprov ga [email protected] zimbraMailHost
[zimbra@zcs1 ~]$ zmprov ga [email protected] zimbraMailHost
A consecuencia de levantar nuestra plataforma de Zimbra en el servidor zcs1.ilba.cat, únicamente tenemos un servidor de DNS en nuestra infraestructura. Eso quiere decir que en caso de caída del servidor zcs1.ilba.cat, nuestro sistema no conseguiría enviar mails a dominios externos, ya que no tendría resolución DNS. Para evitar esta incidencia, instalaremos el servicio de DNS en nuestro segundo servidor de Storage (zcs2.ilba.cat), en el cual posteriormente ubicaremos nuestro sistema de LDAP zcs2.ilba.cat y lo configuraremos como un servidor LDAP Slave del servidor zcs1.ilba.cat.
Una vez acabada la instalación, pasaremos a reconfigurar todos nuestros servidores de la plataforma de Zimbra, para que ante un caso de caída de nuestro servidor zcs1.ilba.cat, los demás servidores puedan seguir resolviendo nombres.
El esquema conceptual que hemos de conseguir, es el siguiente:

Instalaremos en sistema de DNS y con configuraremos como Slave en nuestro servidor de Zimbra (zc1.ilba.cat), en el cual posteriormente ubicaremos nuestro sistema de LDAP (zcs2.ilba.cat)
[root@zcs2 ~]# yum -y install bind
[root@zcs2 ~]# vim /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; 192.168.250.222;};
allow-query { localhost; 192.168.250.0/24; };
forwarders { 8.8.8.8; 80.58.0.33; 195.235.113.3; };
….
zone "ilba.cat" IN {
type slave;
file "ilba.cat";
masters { 192.168.250.220; };
};
Una vez instalado y configurado el servicio de réplica de nuestro sistema de DNS, arrancaremos el demonio y verificaremos su correcto funcionamiento:
[root@zcs2 ~]# systemctl start named && systemctl enable named
[root@zcs2 ~]# tail -f /var/log/messages
[root@zcs2 ~]# nslookup ilba.cat 192.168.250.222
Reconfiguraremos nuestros servidores de Zimbra, para que ante una caída de uno de los dos servidores de DNS, nuestro servicio de Zimbra pueda continuar haciendo consultas DNS y así conseguir que el flujo de mensajes no se interrumpa.
[root@zcsmta ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens192 | grep DNS
IPV6_PEERDNS="yes"
DNS1="192.168.250.220"
DNS2="192.168.250.222"
[root@zcs1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens192 | grep DNS
IPV6_PEERDNS="yes"
DNS1="192.168.250.220"
DNS2="192.168.250.222"
[root@zcs2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens192 | grep DNS
IPV6_PEERDNS="yes"
DNS1="192.168.250.222"
DNS2="192.168.250.220"
Una vez configurado nuestro sistema de DNS, procederemos a habilitar el sistema de réplica en nuestro servidor de LDAP (zcs1.ilba.cat)
[root@zcs1 ~]# su - zimbra
[zimbra@zcs1 ~]$ /opt/zimbra/libexec/zmldapenablereplica
Antes de continuar configurando el sistema de LDAP es indispensable saber los passwords de nuestro sistema de LDAP, ya que posteriormente cuando instalemos el servicio de LDAP en el zcs2.ilba.cat, nos los solicitará:
[zimbra@zcs1 ~]$ zmlocalconfig -s ldap_root_password
ldap_root_password = 2lsMtFxHIm
[zimbra@zcs1 ~]$ zmlocalconfig -s ldap_replication_password
ldap_replication_password = 2lsMtFxHIm
Procederemos a hacer una reinstalación del sistema y única y exclusivamente añadiremos el sistema de zimbra-LDAP. Es vital que los dos servidores, tanto el zcs1.ilba.cat y el zcs2.ilba.cat, los cuales harán de LDAP Master/Slave tengan la misma versión de Zimbra
[root@zcs2 ~]# cd /usr/local/src/zcs-8.0.9_GA_6191.RHEL7_64.20141103151539
[root@zcs2 zcs-8.0.9_GA_6191.RHEL7_64.20141103151539]# ./install.sh
Una vez instalado el sistema de LDAP, nos pedirá el password que nos hemos apuntado anteriormente:

Una vez verificado que el sistema ha arrancado correctamente, podremos observar en la consola de administración de la plataforma de Zimbra, en el “Estado del servidor” nos ha aparecido un cuarto servidor nuevo llamado localhost:

No sé a qué es debido este cuarto servidor llamado localhost, pero se puede eliminar sin ningún tipo de problema de nuestro panel de la siguiente forma:
[zimbra@zcs1 ~]$ zmloggerhostmap
[zimbra@zcs1 ~]$ zmloggerhostmap -d localhost localhost
Crearemos un usuario llamado [email protected] y veremos cómo se replica en el nuevo servidor de LDAP Slave (zcs2.ilba.cat), de esta forma podremos verificar el correcto funcionamiento de nuestro sistema:
[root@zcs2 ~]# tail -f /var/log/zimbra.log
El último paso, es añadir el servidor de LDAP Slave (zcs2.ilba.cat) a nuestro MTA (zcsmta.ilba.cat), para que en caso de caída el servidor de LDAP (zcs1.ilba.cat) realice las consultas LDAP a nuestro servidor de LDAP Slave (zcs2.ilba.cat) . Es importante saber que cuando creamos un servidor Slave, este procedimiento se realiza de forma automática y que el comando zmmtainit únicamente se ha de lanzar en los servidores que tengan la funcionalidad de MTA, que en mi caso es el zcsmta.ilba.cat
[zimbra@zcsmta ~]$ zmlocalconfig -s ldap_url
[zimbra@zcsmta ~]$ zmlocalconfig -e ldap_url="ldap://zcs2.ilba.cat:389 ldap://zcs1.ilba.cat:389"
[zimbra@zcsmta ~]$ /opt/zimbra/libexec/zmmtainit
[zimbra@zcsmta ~]$ zmlocalconfig -s ldap_url
Ahora ya podemos parar el servidor que hace las funcionalidad de LDAP Master y podremos ver que la cuenta creada en nuestro segundo servidor (zcs2.ilba.cat) funciona correctamente y puede tanto enviar como recibir correos.












Felicitaros a ambos (Oscar y Jorge) por la gandiosa labor que haceis en este tipo de guias para aquellos que en estas soluciones de Zimbra tenemos algunas lagunas.
Me parecen guias o ayudas muy aclaratorias y muy bien explicadas . Como critica constructiva hecho en falta las posibles configuraciones de las diferentes maquinas en cuanto a particiones y tamaños de espacios pero bueno no se puede dar todo algo habra que poner de nuestra parte.
repasando la solucion entiendo que seria como un MTA+2 Storages de este otro post buenisimo
https://www.jorgedelacruz.es/2014/03/19/zimbra-arquitectura-y-servicios/
repasando este post el Zimbra-logger se podria pasar al zcsmta? ya que solo podemos tener uno o mejor dejarlo en el zcs1?
Gracias de nuevo por estas colaboraciones
Jose Vicente
Hola Jose Vicente
Ante todo gracias por leernos y ver que los post que vamos haciendo sirven de ayuda, creo que no hay nada más gratificante que este tipo de mensajes.
Referente a la posibilidad de ubicar el servicio de logger en otro servidor como puede se el MTA, no está soportado. Se ha de instalar en un Storage:
Zimbra Logger. Installing the Zimbra Logger package is optional and is installed on one mailbox server. The Zimbra Logger installs tools for syslog aggregation and reporting. If you do not install Logger, the server statistics section of the administration console will not display.
Te dejo la URL de referencia: https://www.zimbra.com/docs/ne/8.6.0/multi_server_install/wwhelp/wwhimpl/js/html/wwhelp.htm#href=multi_server_install.Zimbra_Application_Packages.html
Un saludo
Gracias Oscar. Aclarado. este tema.
Hola Oscar .
Vamos a hacer pruebas en la implantacion de una solucion de esta manera un MTA y 2 servers con LDAP+bind+storage. para valorar y despues decidir el paso a produccion
son unos 15 usuarios con unos buzones de 1 gigas por buzon,
que capacidad de discos deberiamos de tener en el MTA? entiendo que aqui no almacena nada pesado de la estructura
el almcen de los buzones estara en los equipos de storage entiendo que segun la calculadora de Jorge deberia de albergar uno 150gb cada uno de ellos .
Como seria la mejor formula de calculo para ello o mejor realizarlo todo en un unico storage ya que la cantidad de usuarios es no muy alta y lo critico de la instalacion tampoco.
gracias
Hola amigo necesito que me ayuden en lo siguiente tengo zimbra 6.13 y necesito lo siguiente tengo 2 dominio casa.com y mesa.com dentro del 1 dominio tengo 20 cuentas y dentro del 2 una cuenta [email protected] como hago para que todos los correo que lleguen al dominio mesa.com me lo mueva a [email protected] y se queden guardados ahi para poder hacer un multipop desde otro servidor
estimado oscar, primero que nada felicitarlos por compartir conocmientos con nosotros, es por ello que me comunico con uds para ver si me pueden ayudar con un probelam que tengo en una maquina con zimbra 8.6 que no arranca ldap y ningun servicio, el error que tengo es:
Starting ldap…Done.
Failed.
/opt/zimbra/bin/ldap: line 47: kill: (9513) – No such process
/opt/zimbra/bin/ldap: line 47: kill: (13422) – No such process
/opt/zimbra/bin/ldap: line 47: kill: (13430) – No such process
/opt/zimbra/bin/ldap: line 47: kill: (13438) – No such process
/opt/zimbra/bin/ldap: line 47: kill: (13446) – No such process
/opt/zimbra/bin/ldap: line 47: kill: (13454) – No such process
/opt/zimbra/bin/ldap: line 47: kill: (13462) – No such process
Failed to start slapd. Attempting debug start to determine error.
560dd925 <= mdb_dn2id: get failed: MDB_NOTFOUND: No matching key/data pair found (-30798)
560dd925 <= mdb_dn2id: get failed: MDB_NOTFOUND: No matching key/data pair found (-30798)
560dd925 <= mdb_dn2id: get failed: MDB_NOTFOUND: No matching key/data pair found (-30798)
agradecido de antemano
Saludos Rodrigo,
Has realizado alguna tarea en el servidor ultimamente? Corte de luz o similar? Puedes intentar reparar la instalacion de Zimbra usando:
./install.sh -s con el mismo paquete de Zimbra que estes usando, debes descargarlo si lo borraste y marcar no cuando pregunta check integrity db
Luego hacer ./install.sh y continuar la instalacon diciendo que quieres actualizar
Haz backup de todo antes, si es una VM un snapshot, etc.
Un saludo
Estimados Osrcar y Jorge, en primer lugar agradecer sus aportes que ayudan mucho en especial algunos que no dominamos pero queremos aprender. Tambien quiero consultar un caso que me esta pasando y solo pude levatar otro servidor en blanco mientras se pueda resolver el problema. Tengo un Zimbra zcs-8.6.0_GA_1153.RHEL7_64 instalado en Centos 7, el cual empezó a fallar con autenticaciones por el ciente de correo pero no descargaba pero al ingresar por web se veia los correos no descargados. En otros usuarios descargaba 2 o 3 veces el mismo correo. Cuando se reinicio los servicios ya no levanta muestra un error en el ldap:
Failed to start slapd. Attempting debug start to determine error.
56e99d75 mdb_db_open: database “”: mdb_dbi_open(/opt/zimbra/data/ldap/mdb/db/id2e) failed: MDB_INCOMPATIBLE: Operation and DB incompatible, or DB flags changed (-30784).
56e99d75 backend_startup_one (type=mdb, suffix=””): bi_db_open failed! (-30784)
Trate de reinstalar como upgrade pero tampoco deja instalar ni bien llega a ver ldap arroja el mismo error y corta la instalacion. Tengo un respaldo de los archivos de la carpeta /opt/zimbra/data/ldap/, elimine los archivos de la ruta indicada y si dejo reinstalar con observaciones del ldap, pero aun no inician los servicios y en el menu de instalacion no guarda las claves del ldap ni el timezone. Veo que los correos estan pero no puedo levantar porque el zmcontrol busca iniciar el ldap el cual sigue arrojando el error. Como podria hacer para recuperar los correos al menos, como les comento ya tuve que levantar un servidor nuevo y cree las cuentas del personal, pero me piden sus correos de los cuales no tengo respaldo que admito fue un error mio cuando recibi el servidor no realizar.
Muchas gracias por la información Oscar
Espere puedas ayudarme con este problema, poseo un servidor con OpenLdap 2.4 y otro donde tengo el Zimbra 8.7.
No he podido replicar mi servidor OpenLdap en mi Zimbra para que se traiga todos los usuarios que ya están creados, la idea es que Zimbra sea el Ldap Slave.
Nota: la autenticación en Zimbra contra mi OpenLdap funciona, solo falta la importación de TODOS los usuarios ya existentes.
Intente configurarlo por el menu via consola de ./install.sh pero al modificar los datos del LDAP no me permite continuar alegando que algunos campos no están verificados
1) Common Configuration:
*** +Ldap Admin password: Not Verified
2) zimbra-ldap:
*** +Ldap replication password: Not Verified
*** +Ldap postfix password: Not Verified
*** +Ldap amavispassword: Not Verified
*** +Ldap nginx password: Not Verified
4) zimbra-mta:
*** +Bind password for postfix ldap user: Not Verified
*** +Bind password for amavis ldap user: Not Verified
9) zimbra-proxy:
*** +Bind password for nginx ldap user: Not Verified
Estuve investigando un poco y al parecer hay que habilitar el OpenLdap para que permita replicas.
Seria de mucha ayuda si me pudieran guiar un poco por el camino correcto.
Saludos.
Saludos Jonnathan,
No está soportado tener un OpenLDAP diferente al de Zimbra, si quieres tener Multi-master debe ser usando el LDAP de Zimbra. Quizá con algún truco se puede llegar a configurar pero no lo recomiendo y no estaría soportado por supuesto.
Un saludo
Gracias por responder Jorge
Y conocerás alguna forma de importar al Zimbra los usuario creados en otro Ldap ya sea importando un .ldif o .csv o cualquier otro método, es que tengo 500 usuarios en mi Ldap y pasarlos uno por uno no es una opción 🙁
nota: ya me estaba encariñando con el Zimbra
Saludos desde Venezuela