Blog de música, tecnologías, poesía y cerveza fría

24/09/2017

Clúster sencillo y barato mediante DNS

Cluster

Actualmente nuestra empresa  ofrece entre otros muchos servicios hosting para nuestros clientes.

Al ser una empresa pequeña carecemos de grandes recursos, no obstante esta desventaja la cubrimos con creces en precios y en un servicio personalizado.
A día de hoy, poseemos tres potentes servidores dedicados para los hostings. Los mismos están ubicados en tres lugares distintos: un servidor está en el CPD (Centro de Proceso de Datos) de nuestro proveedor de acceso a Internet (Alemania), otro se encuentra en nuestras oficinas de Madrid (C/ San Romualdo, 26 -5ª Planta) y otro se encuentra en mi propio domicilio…

Los tres sistemas (Nexus, Proteus y Orion) cuentan con dirección IP fija,  conexión a Internet empresarial,  sistemas de alimentación ininterrumpida (SAI) y discos duros en configuración RAID.

Esquema de un CPD

Esquema de un CPD

Estos tres sistemas permiten tener una cierta tolerancia a fallos, ya que si se “cae” el servidor que tenemos en Alemania, rápidamente se puede pasar todo al de nuestras oficinas o al de mi domicilio. No obstante, esta solución tiene la pega de que al ser manual depende de que nos encontremos en nuestra ciudad para realizar el cambio. Además, el cambio conlleva unas cuatro horas en volver a ponerlo todo operativo (pasar las webs, cambiar DNS, crear los nuevos correos, etc.) con la consiguiente molestia para nuestros clientes.

Una posible solución sería tener dos líneas a Internet redundantes en el CPD principal de Alemania, dos tarjetas de red en configuración “Team” y dos “switches redundantes”, todo ello  apuntando a un “cluster por Failover” entre dos ordenadores.

Esta solución obviamente es la más elegante técnicamente, pero el coste de la misma es muy elevado y la configuración de todo el sistema bastante compleja. Además nos gustaría que todo el sistema estuviera en ubicaciones geográficas distintas por si ocurre una catástrofe, como por ejemplo, un incendio o inundación en el CPD de Alemania.

Después de mucho pensar en el problema, he creado un sistema bastante sencillo, económico y seguro, el cual paso a relatar:

Clúster DNS, Clúster WEB estático y clúster FTP.

La idea que subyace bajo el anterior título es permitir tener un servicio de DNS,  webs estáticas y FTPs redundantes entre las tres ubicaciones de nuestra empresa. De esta forma, si uno de los nodos del clúster se “cae” el otro entrará automáticamente en funcionamiento (Clúster Activo – Pasivo).

Para ello realizaremos las siguientes tares, asegurándonos de cumplir ciertos requisitos:

1) El servicio de DNS primario ha de estar “corriendo” en el servidor principal, así como el servicio  web (APACHE, IIS, etc.) y el servicio FTP.

2) El servicio de DNS secundario ha de estar “corriendo” en el servidor secundario, así como el servicio web. (APACHE, IIS, etc.) y el servicio FTP.

3) IDEM para el tercer servidor.

Por lo tanto, lo primero que tenemos que hacer en los tres servidores es instalar el sistema operativo, el servidor DNS y el servidor web.

Cabe señalar que es indiferente si utilizamos Windows en uno de los servidores y en los otros sistemas LINUX, BSD, etc.Esta solución es multiplataforma!!!!

No es objetivo de este artículo explicar cómo se instala un servicio de DNS, web o FTP. Se da por hecho que el lector sabe manejar estos conceptos.

Configuración del DNS en la máquina principal.

Independientemente del sistema operativo que usemos (Windows, LINUX, MAC OSX Server, etc.) el concepto es el mismo:

En primer lugar configuraremos el DNS en nuestro primer servidor (en este caso el de nuestro CPD). Para ello, voy a poner cmo ejemplo el dominio que da servicio a nuestra web, correo electrónico, FTP, etc.

Servidor DNS de Windows Server

Servidor DNS de Windows

Crearemos una nueva zona principal llamada (costoso.com) y añadiremos ahora los siguientes registros de tipo “A”:

www.costoso.com  (en nuestro caso la IP es) 87.106.221.110
ftp.costoso.com  (en nuestro caso la IP es) 87.106.221.110

Una vez configurado el DNS, pasaremos a configurar nuestro servidor web virtual y FTP con el programa que deseemos (IIS, APACHE, PROftpd, Filezilla Server, etc…)

Ya tenemos finalizados los trabajos en el primer servidor, vamos con el segundo y el tercero.

Configuración del DNS en la máquina secundaria (de réplica)

Repetiremos en esta máquina todos los pasos anteriores pero con una salvedad:
los registros de tipo “A” tendrán las ips que correspondan a este servidor:

www.costoso.com  (en nuestro caso la IP es) 213.37.32.123
ftp.costoso.com  (en nuestro caso la IP es) 213.37.32.123

Obviamente para que todo esto funcione hemos de decir a nuestro registrador de dominio que nuestro servidor DNS principal es:  87.106.221.110 y nuestro servidor DNS secundario es 213.37.32.123.

Ahora probaremos a abrir en un navegador nuestra web: www.costoso.com comprobando que se carga correctamente. Una vez comprobado esto apagaremos el primer servidor y comprobamos otra vez la web…y zasss!!! Todo correcto.

Si queremos, repetiremos todo los pasos en el tercer servidor para tener una tercera réplica.

Ya tenemos un DNS, servidor web y servidor FTP redundante sencillo, ¿no?

Ahora sólo tenemos que solucionar un problema: la sincronización de las webs.

Sincronización de las webs entre los tres ordenadores.

El contenido de la web y del servidor FTP ha de estar replicado en ambos servidores, ya que sino las webs mostrarán información diferente si uno de los servidores se “cae”. Para ello, vamos a realizar el sincronizado de las mismas:

Para esta tarea podemos utilizar múltiples programas en función del sistema operativo que tengamos instalado. Nosotros trabajamos mayoritariamente con Windows y por ello hemos elegido un programa denominado “AUTO FTP Manager” http://www.deskshare.com/afm.aspx , el cual, nos permite descargar por FTP el contenido de un servidor a otro o sincronizar carpetas remotas a la hora especificada.

Este programa es gratuito, no obstante, si queremos la versión comercial, la cual nos permite hacer múltiples automatizaciones desatendidas en vez de una, debemos adquirirlo (unos 30 €).

Hay que señalar que existen múltiples programas para realizar esta función  tanto para el mundo LINUX como para el mundo Windows.: RSYNC, WS-FTP, etc.

Ya tenemos nuestras webs sincronizadas!!!!

Siguiente desafío: sincronizar webs dinámicas (con bases de datos).

Obviamente la solución anterior nos permitirá replicar un servidor web y un servidor FTP pero no nos permitirá replicar bases de datos complejas con MYSQL, SQLServer u ORACLE.

Desgraciadamente, no existe una solución sencilla para replicar bases de datos en tiempo real y por lo tanto tendremos que recurrir a las soluciones que nos ofrezca cada fabricante.

En un próximo artículo abordaremos esta problemática!!!!!

3 thoughts on “Clúster sencillo y barato mediante DNS

  • Informatico1

    Genial. Gracias. Una forma bien sencilla. Sé bien que una solución sencilla no implica llegar fácil a esa solución. Lo que ta haya costado llegar a ella pa tí.

    Reply

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

^ Subir Arriba!

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies