loading
FullScreen Fecha y Hora: 28-Apr-2024 14:03 IP Pública: 3.19.31.73 Usuario: Público
02/May/2015 Zimbra: Arquitectura y Servicios

Zimbra: Arquitectura y Servicios

zimbralogoOscar Mas de Cadinor nos deja hoy una entrada muy completa acerca de cómo dimensionar nuestra arquitectura Zimbra.

Muchas veces, nos ponemos a instalar nuestro sistema de Zimbra, sin hacernos ningún tipo de esquema, lo cual es un gran fallo. Siempre que te lees un libro de informática ya sea de algún producto de Windows, Linux, Citrix, etc…. siempre empiezan con una explicación de todos los servicios y  de como ubicarlos, para que la implantación del producto sea correcto y posteriormente escalable. Con Zimbra no existe el problema de escalabilidad, ya que es un producto muy flexible y donde hoy tenemos el servicio de MTA, mañana lo podemos tener en otro servidor diferente. Pero el precio que hemos de pagar para realizar estos cambios, siempre son cortes de servicio de nuestro sistema de Zimbra. Es interesante sentarse no más de 15 min y meditar antes de empezar una instalación de Zimbra. Reflexionar donde pondremos los servicios y la cantidad de servidores que vamos a utilizar. A Zimbra no le interesa la cantidad de servidores que instales, si usamos la versión Network, simplemente les pagaremos por cuentas que estemos usando. Hoy lo que os quiero explicar es donde se deben ubicar los servicios y una pequeña explicación de la utilidad de cada servicio. Los servicios de Zimbra son los siguientes:

  • zimbra-ldap
  • zimbra-logger
  • zimbra-mta
  • zimbra-snmp
  • zimbra-store
  • zimbra-apache
  • zimbra-spell
  • zimbra-memcache
  • zimbra-proxy
  • zimbra-core *
  • zimbra-archiving

Explicación de los servicios de Zimbra

La utilidad cada uno de los servicios de Zimbra y que función desempeñan en nuestra implantación es la siguiente:

Zimbra-ldap

En montajes muy grandes, cuando separábamos el servicio de LDAP (en concreto Zimbra usa OpenLDAP) y lo hacíamos independiente (un servidor que solamente hace la función de LDAP). Hasta la versión de Zimbra 7, era obligatorio tener un servidor de LDAP únicamente como Master. Podíamos añadir otro servidor de LDAP en nuestra implantación de Zimbra, pero tenía que ser una replica del servidor Master. Eso implicaba, que ante la caída de nuestro servidor de LDAP Master, entraba en acción la replica del LDAP, en el cual no se podía hacer ningún tipo de modificación hasta que arreglásemos el Master o cambiasemos la replica a Master. Actualmente con la versión de Zimbra 8, está permitido tener dos servidores de Zimbra LDAP que actúen como Master los dos a la vez (  la verdad es que es un avance ). También cabe destacar de este servicio,  que cuando actualizamos nuestra infraestructura de Zimbra, este es el primer servidor que hemos de actualizar, acto seguido el o los servidores que nos hacen de Storage y por ultimo los servidores de MTA. Este servicio, es el encargado de almacenar: cuentas de correo, COS (class of service), dominios, DL (listas de distribución), Alias, Zimlets, datos generados por DKIM, etc…..

Zimbra-logger

Este servicio, es el que se encargará del syslog y de los reports que nos ofrece el sistema de Zimbra. Solamente puede haber un servicio de zimbra-logger en toda nuestra infraestructura. Normalmente está ubicado en el primer servidor de Mailbox que instalamos.

Zimbra-mta

Este es el servicio de MTA (Mail Transfer Agent), es el encargado de recibir el correo mediante el servicio de SMTP mediante el postfix y retransmitirlo al Mailbox correspondiente, esta transmisión se realiza mediante el protocolo de comunicación LMTP (Local Mail Transfer Protocol), el cual es más ligero que el SMTP . Este servicio lleva intrínsecos varios servicios que se pueden habilitar por consola y algunos mediante la interface web. Estos servicios son:

  • Amavis-New, el cual se encarga de gestionar el AntiVirus y el AntiSpam
  • Sistema de AntiVirus y AntiSpam
  • Sistema de POP3, IMAP, IMAPSSL, POP3SSL, etc….
  • Sistema de control del flujo de correo (PolicyD)

Zimbra-snmp

Este servicio, es por si queremos monitorizar por SNMP nuestro servidor de Zimbra. El paquete es opcional, ya que sino lo instalamos nuestro sistema funcionará perfectamente.

Zimbra-store

Este servicio es el encargado de almacenar los mensajes, estos mensajes se guardan en formato MIME y están ubicados en: /opt/zimbra/store. Toda la información esta guardada en MySQL, cosa que se están haciendo grandes avances para implementar MariaDB, la cual disminuirá la carga de servidor y agilizará las consultas. Incluye el servicio de Jetty, el cual es un servidor HTTP 100% basado en Java y un contenedor de Servlets escrito en Java. Cada servidor de Zimbra tiene su propio mail storage donde almacena los mensajes y los indexa. Antes de la versión 8, cuando movíamos buzones de un storage a otro, había un corte de servicio al usuario en concreto que estábamos moviendo. Actualmente el corte de servicio del buzón que estamos moviendo es mínimo.

Zimbra-apache

Este servicio es muy interesante, porque aunque se llame zimbra-apache, hace ya mucho tiempo que Zimbra usa como servidor web en su plataforma nginx….. ¿?. Como es obvio, es el servicio web de acceso a la plataforma, tanto para dispositivos móviles y Outlooks. Cuando instalamos este servicio, automáticamente se instalan los servicios de zimbra-spell y zimbra-convertd

Zimbra-spell

Es el encargado que la corrección ortográfica.

Zimbra-memcache

Este servicio se instala conjuntamente con el servicio de zimbra-proxy y es utilizado para realizar las caches de las consultas que el servicio de proxy va realizando a la base de datos LDAP, la cual evita realizar consultas repetitivas. Este servicio al igual que el servicio de zimbra-proxy, es instalado junto con el servicio de zimbra-mta en un servidor independiente y se ha de instalar cuando seleccionados el servicio de zimbra-proxy.

Zimbra-proxy

Este es el servicio que nos hace de proxy, cuando nuestra infraestructura se amplia a más de un servidor. Los servicios de Proxy que se usan son: POP3, IMAP, HTTP, HTTPS, IMAPSSL, POP3SSL, etc…. Hasta la versión 7 de Zimbra, era obligatoria usar este servicio en un servidor aparte para poder usar múltiples certificados en un servidor de Zimbra. Actualmente este servicio y el servicio zimbra-memcached se pueden instalar junto con los demás servicios y ofrecer un único servidor de Zimbra alojando varios certificados SSL. Este servicio al igual que el servicio de zimbra-memcached, se ha de instalar  junto con el servicio de zimbra-memchached y zimbra-mta en un servidor independiente. Una nota interesante, es que en la versión de Zimbra 7, la administración del Proxy se hacía por consola y en Zimbra 8 se hace mediante la administración web.

Zimbra-core

Este servicio no lo podemos instalar, se instala automáticamente cuando instalamos cualquier servicio de Zimbra. En definitiva, instala librerías, utilidades y herramientas que necesita el servicio de Zimbra. Le he puesto un asterisco, ya que este servicio mientras hacemos la instalación no se puede seleccionar, Zimbra lo instala automáticamente.

Zimbra-archiving

Este servicio es opcional y solo se ofrece con la versión Network. Ofrece la habilidad de almacenar todos los mensajes que son enviados y recibidos por nuestro servidor de Zimbra. Este servicio se instala en un servidor independiente y se habilita el archiving a nivel de cuenta de correo. El único dato que necesitamos conocer para montar más de un servidor Zimbra, es el password de root del LDAP y lo podemos extraer del servidor de Zimbra con el comando: [zimbra@zimbra ~]$ zmlocalconfig -s ldap_root_password zimbra-servicios01

Servicios de Zimbra

Una vez sabiendo para que sirve cada servicio, es importante saber donde ubicarlos en cada instalación. A continuación os detallo cada servicio donde ha de ir ubicado:

Todos los servicios en el mismo servidor

Este, es el método más sencillo, ya que la instalación por defecto nos propone los servicios exactos por defecto, para poder instalar esta plataforma. zimbra-servicios02 Los servicios, que se han de instalar en el servidor de Zimbra serian los siguientes:

  • Zimbra-apache
  • Zimbra-convertd
  • Zimbra-ldap
  • Zimbra-logger
  • Zimbra-mta
  • Zimbra-snmp
  • Zimbra-spell
  • Zimbra-store

Multiples servicios SSL en el mismo servidor

Este tipo te instalaciones, es la misma arquitectura de servicios el el modelo “Todos los servicios en un mismo servidor”, pero le hemos añadido los dos servicios que nos permitirán gestionar los multiples certificados de nuestro servidor. Para ello le hemos añadido los servicios de zimbra-memcached y zimbra-proxy. zimbra-servicios02 Servicios que se han de ubicar en cada servidor:

  • Zimbra-apache
  • Zimbra-convertd
  • Zimbra-ldap
  • Zimbra-logger
  • Zimbra-mta
  • Zimbra-snmp
  • Zimbra-spell
  • Zimbra-store
  • Zimbra-memcached
  • Zimbra-proxy

Un MTA + Storage

Este tipo de montajes es el más habitual, ya que nos permite mucha flexibilidad. Si montamos un solo servidor de Zimbra y posteriormente queremos añadir más servidores de Storage, nos veremos en la obligación de poner un servidor MTA, el cual nos desviará las peticiones a los diferentes servidores de storage. Para poder montar este MTA que nos balancea las peticiones de entrada a nuestra plataforma de Zimbra, podemos estar seguros de que habrá un corte de servicio, ya que hemos de hacer cambios de configuraciones, como cambios de puertos tanto a nivel de infraestructura de Zimbra y a nivel de Firewall. Si empezamos montando este sistema, conseguiremos que cuando queramos añadir un servidor nuevo de storage, ningún usuario final se vea afectado y la implementación de un segundo storage o tercer storage es transparente y no hayan cortes de servicio. zimbra-servicios03 Servicios que se han de ubicar en cada servidor:

zcsmta

zcs1

Zimbra-apache

Zimbra-apache

Zimbra-memcache

Zimbra-convertd

Zimbra-mta

Zimbra-ldap

Zimbra-proxy

Zimbra-logger

Zimbra-snmp

Zimbra-snmp

 

Zimbra-spell

 

Zimbra-store

Un MTA + dos Storages

Poco hay que hablar de esta implementación….. simplemente acordaros que el servicio de zimbra-logger solamente se puede instalar en un servidor. zimbra-servicios04 Servicios que se han de ubicar en cada servidor:

zcsmta

zcs1

zcs2

Zimbra-apache

Zimbra-apache

Zimbra-apache

Zimbra-memcache

Zimbra-convertd

Zimbra-convertd

Zimbra-mta

Zimbra-ldap

Zimbra-ldap

Zimbra-proxy

Zimbra-logger

Zimbra-snmp

Zimbra-snmp

Zimbra-snmp

Zimbra-spell

 

Zimbra-spell

Zimbra-store

 

Zimbra-store

 

Split Zimbra

Este tipo de instalaciones, es utilizado para empresas con una alta carga de correo electrónico. Yo personalmente solamente he hecho un par de instalaciones de este tipo. La verdad es que no es el tipo de configuración que más me guste, ya que cuando has de actualizar este tipo de infraestructura, la caída de servicio es muy elevada. Aunque Zimbra indique ( y estoy seguro de que funciona ) que se puede actualizar sin interrupción del servicio, hoy en día todos estamos trabajando con sistemas de virtualización y yo personalmente tengo el buen habito, de antes de actualizar cualquier servidor o infraestructura hacer un SnapShot. Esto me sirve, por si me encuentro con alguna incidencia no prevista, poder deshacer los cambios y volver al punto de origen. El problema está, en que cuando haces un SnapShot, has de para los accesos a la plataforma de correo y parar el acceso del correo, esto se hace a consecuencia que si se tuviera que hacer un RollBack al estado inicial, estaríamos perdiendo correos que han ido entrando mientras actualizábamos. Un detalle importante, es que Zimbra no nos ofrece ningún sistema de balanceo de carga de los servidores designados como MTA. Lo más habitual es que nuestro sistema firewall, ya sea pFsense, Shorewall, etc…. nos lo haga o simplemente con un sistema de RoundRobin DNS. Otro punto a destacar es, cuando levantamos los servidores de la infraestructura, hay que indicarle que tenemos dos servidores LDAP, sino ante una caída el sistema, no conoce el segundo servidor de LDAP que hayamos montado, ya sea Activo/Activo o Activo/Pasivo y el sistema no funcionará. zimbra-servicios05 Servicios que se han de ubicar en cada servidor:

Zcsmta1

Zcsmta2

Zcs1

Zimbra-apache

Zimbra-apache

Zimbra-apache

Zimbra-memcache

Zimbra-memcache

Zimbra-convertd

Zimbra-mta

Zimbra-mta

Zimbra-logger

Zimbra-proxy

Zimbra-proxy

Zimbra-snmp

Zimbra-snmp

Zimbra-snmp

Zimbra-spell

 

 

Zimbra-store

   

 

Zcs2

Zcs3

Zcsldap1

Zimbra-apache

Zimbra-apache

Zimbra-core

Zimbra-convertd

Zimbra-convertd

Zimbra-ldap

Zimbra-snmp

Zimbra-snmp

Zimbra-snmp

Zimbra-spell

Zimbra-spell

 

Zimbra-store

Zimbra-store

 

 

Zcsldap2

Zimbra-core

Zimbra-ldap

Zimbra-snmp

Espero que os sirva de referencia para futuras implementaciones de la plataforma de Zimbra.

Leave a Reply

 
 

Ip Pública 3.19.31.73
Navegador Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
País United States
Ciudad Seattle