1 de octubre de 2011

Cluster Web Alta Disponibilidad: Introducción

Por unos motivos u otros, últimamente he estado investigando sobre el mundo del clustering y realizando unas pruebas con distintos programas con los que crear granjas de servidores para aplicaciones de alta disponibilidad.

En este tutorial, eminentemente práctico, detallare los distintos pasos que he seguido para la instalación de un cluster Web de alta disponibilidad basado en Debian Squeeze donde albergaremos un gestor de contenidos para el sitio Web.

El escenario final debe ser como muestra el siguiente esquema de red.  Cabe mencionar que se podría mejorar la configuración creando distintas interfaces con las que discriminar el tráfico a través de subinterfaces, de VLANs, etc.


Decir un poco por encima que el software para configurar cluster crea una capa entre el hardware de los nodos y los servicios que estos ejecutan, estableciéndose una comunicación entre los nodos y los servicios que controlan estos.

Corosync es el encargado de la comunicación entre los nodos. Establece un grupo multicast a través de una clave compartida entre todos los miembros del cluster utilizando conexiones UDP para comprobar el estado del vecino. Corosync deriva del software OpenAIS, un framework para la creación de aplicaciones de alta disponibilidad según los estándares del Service Availability Forum.

Pacemaker es la otra cara de la moneda, el software encargado de la comunicación entre los nodos y los servicios que éstos ejecutan. Actúa como un Cluster Resource Manager, encargándose de la gestión de los recursos que son configurados en el cluster.

La arquitectura del sistema queda como resume la siguiente imagen:


 Debido a que en una entrega este tutorial puede hacerse demasiado largo y tedioso, lo dividiré en las siguientes entradas para organizarlo de mejor manera y explicar en mayor medida las configuraciones y las acciones tomadas:

- Instalación del sistema base.
Instalaré el sistema base de los nodos que compondrán el cluster utilizando el CD de instalación NetInstall de Debian Squeeze. Realizare la configuración básica de los archivos del sistema y la instalación del servidor SSH para tener acceso remoto.

- Instalación y configuración servidor Web.
Como su propio nombre indica, se instalará el servidor Web así como el gestor de base de datos MySQL y el preprocesador PHP. Realizaremos la configuración del servidor para poder realizar pruebas y comprobar resultados.

- Instalación del cluster.
En esta entrada se instalarán y configurarán los distintos paquetes para la creación de la granja de servidores. Además de realizar la comprobación de una correcta instalación, utilizaremos las distintas herramientas para la administración del mismo.

- Configuración de recursos.
Comenzaremos la configuración de los recursos del cluster: la dirección IP, el servidor Web. Se realizarán distintas pruebas con las que comprobar el comportamiento del cluster así como las distintas herramientas para la administración del mismo.

- Instalación y configuración de DRBD.
Instalaremos el software DRBD para crear dispositivos de bloques que serán replicados entre los nodos formando un RAID1 con el que asegurar los datos. Dicha unidad se crea bajo un volumen lógico para facilitar su administración y se montará para el sistema de ficheros del sitio Web.

- Configuración MySQL.
Realizaremos la configuración del gestor de base de datos relacionales para integrarlo en el cluster y ser controlado por el mismo. Configuraremos el servidor para asegurar que la base de datos sea almacenada en una unidad DRBD entre los nodos para que sea replicada al igual que los datos del portal.

- Instalación CMS.
Se realizará la instalación del gestor de contenidos Web Drupal al igual que la configuración del mismo para un correcto funcionamiento.

Espero que os sea entretenido y os animeis a probarlo vosotros/as mismos/as. No dudeis en contactar conmigo en caso de duda o si teneis problemas.

PD: Para los/as que os hayais dado cuenta, los nombres de los servidores quieren recordar a nuestro entrañable personaje Bender B. Rodriguez... Pero me ha fallado el subconsciente y he nombrado el segundo como Blender. Mea culpa...

"Ahora construiré mi propio cluster Web, con bases de datos y con furcias. Es más, paso del servidor Web... y de las bases de datos."

Un saludo, Brixton Cat.

No hay comentarios:

Publicar un comentario

Bienvenid= si quieres dejar un comentario