Contenido
INTRODUCCIÓN ......................................................................................................................... 2
ANÁLISIS CLÚSTER ALTA DISPONIBILIDAD ........................................................... 3
Configuración activo/activo .......................................................................................... 3
Análisis programa empleados....................................................................................... 5
Ubuntu versión 12.04 .................................................................................................... 5
Apache2.................................................................................................................................. 5
Clúster alta disponibilidad .......................................................................................... 6
CoroSync: .............................................................................................................................. 7
DISEÑO E IMPLEMENTACION DEL CLUSTER ........................................................ 7
Instalación y configuración de corosync pacemaker .................................. 8
Creación del recurso FAILOVER-ADDR .............................................................. 17
Creación del recurso P_APACHE ............................................................................ 19
CONCLUSIONES ....................................................................................................................... 24
BIBLIOGRAFÍAS ...................................................................................................................... 24
INTRODUCCIÓN
El objetivo es elaborar un clúster, familiarizarse con los diferentes tipos
que existen y la funcionalidad que estos ofrecen.
Esta solución es cada vez más demandada por las empresas con la
finalidad de cubrir sus expectativas de calidad de servicio y a su vez controlar una importante inversión en sistemas que les permita crecer y,
a la misma vez, ofrecer nuevas soluciones en el mundo de los sistemas informáticos.
Esta solución suele ser más barata que la compra de un único ordenador
individual y suele ofrecer características de rendimiento y/o disponibilidad iguales o superiores.
Los tipos de clústeres eminentemente son los siguientes o
combinaciones de estos:
Alto rendimiento, diseñado para dar altas prestaciones en cuanto a capacidad de cálculo.
Alta disponibilidad, conjunto de dos o más máquinas que comparten servicios y que se monitorizan constantemente entre
sí.
Focalizándonos en nuestro caso particular no tiene sentido analizar el clúster de alto rendimiento puesto que no lo usaremos, así pues nos
centraremos en el análisis del clúster de alta disponibilidad.
ANÁLISIS CLÚSTER ALTA DISPONIBILIDAD
La principal característica de un clúster de alta disponibilidad es
mantener una serie de servicios compartidos y que cada uno de los nodos que forman el clúster sepa en todo momento que está haciendo el
otro.
Este clúster debe tener un sistema de comunicación, el software del clúster, entre hosts para su correcta monitorización, así como un
método para abstraer los servicios de un host concreto, cosa que permite que se desplacen entre diversos nodos de manera transparente
para la aplicación y los usuarios.
Las configuraciones más comunes en entornos de clústeres de alta disponibilidad son las configuraciones activo/activo y la configuración
activo/pasivo.
Configuración activo/activo
En esta configuración todos los nodos del clúster pueden ejecutar los
mismos recursos simultáneamente. Los nodos poseen los mismos recursos y pueden acceder a estos independientemente de los otros
nodos del clúster.
Si un nodo falla y deja de estar disponible, sus recursos siguen estando
accesibles a través de los otros nodos del clúster.
La principal ventaja de esta configuración es que los nodos en el clúster
son más eficientes ya que pueden trabajar todos a la vez. Pero cuando uno de los nodos deja de estar disponible su carga de
trabajo pasa a los nodos restantes, esto produce una degradación en el servicio ofrecido.
Análisis programa empleados
Ubuntu versión 12.04
Principales características
· Entorno de escritorio GNOME 3.2, con algunos paquetes de GNOME
3.4.
· Interfaz Unity personalizable
· 100% accesible
· Centro de control más limpio
· Mejoras a Mozilla Thunderbird
· Reproductor de música Rhythmbox
· Proceso de arranque sin parpadeos
· Mejorada la velocidad del arranque
· Mejorado el soporte para múltiples monitores
· Python 3.2 y 2.7
· Mejorado el soporte para plataformas ARM
· Mejoras a las imágenes nube de cloud-init, cloud-utils
· Mejorado Orchestra
· Implementación de la producción en Juju
· Gestión de la energía en la nube y proyecto Cloud-Live
Apache2
Apache 2 es un servidor web de software libre desarrollado por la
Apache Software Fundación cuyo objetivo es servir o suministrar
páginas web a los clientes web o navegadores que las solicitan.
La arquitectura utilizada es cliente/servidor, es decir, el equipo cliente
hace una solicitud o petición al equipo servidor y éste la atiende.
En el equipo cliente se ejecuta una aplicación llamada 'navegador o
cliente web' que:
Sirve de interfaz con el usuario: atiende sus peticiones, muestra los
resultados de las consultas y proporciona al usuario un conjunto de
herramientas que facilitan su comunicación con el servidor.
Se comunica con el servidor web: transmite las peticiones de los
usuarios.
El protocolo utilizado para la transferencia de hipertexto es HTTP que
está basado en el envío de mensajes y establece el conjunto de normas
mediante las cuales se envían las peticiones de acceso a una web y la
respuesta de esa web.
HTTP es un protocolo sin estado, es decir, no recuerda nada relativo a
conexiones anteriores a la actual. La conexión sólo tiene la duración
correspondiente a la transmisión de la página solicitada si la encuentra,
y si no la encuentra devuelve un código de error.
El servidor web Apache 2 proporciona contenidos al cliente web o
navegador como:
Páginas estáticas: es el uso más generalizado que se hace de un
servidor web. De esta forma se transfieren archivos HTML, imágenes,
etc y no se requiere un servidor muy potente en lo que al hardware se
refiere.
Páginas dinámicas: la información que muestran las páginas que sirve
Apache cambia ya que se obtiene a partir de consultas a bases de datos
u otras fuentes de datos. Son, por tanto, páginas con contenido
dinámico, cambiante.
Clúster alta disponibilidad
Pacemaker es una solución de código abierto que gestiona los recursos
de un clúster de alta disponibilidad tanto a nivel de pruebas y entornos pequeños como a nivel de producción y entornos grandes.
Permite configuración de nodos Activa/Activa y Activa/Pasiva. Requiere de heartbeat para funcionar. Este programa es también
llamado CRM o cluster resource manager, permite también la monitorización de los recursos de este.
CoroSync:
El motor de Cluster Corosync es un sistema de comunicación de grupo
con características adicionales para la implementación de alta
disponibilidad dentro de las aplicaciones.
DISEÑO E IMPLEMENTACION DEL CLUSTER
Nodo Ip
Nodo1 Sajid 192.168.40.20
Nodo 2 Male 192.168.40.30
Nodo 3 Yumi 192.168.40.40
Además cabe explicar que también aremos uso de una quinta IP: 192.168.40.90 una IP Flotante, que se pasarán entre nodos y a la que
apunta el nombre del dominio, inicialmente se le asignará al primer nodo, y que se pasarán entre sí en caso de fallida de uno de los dos
nodos.
Una vez tenemos los 3 nodos creados con el sistema operativo
Instalado debemos disponer de varios elementos:
3 IPs privadas para asignar a los nodos 1 IP pública flotante que compartirán entre si
Ahora asignamos IPs estáticas a ambos nodos de manera que evitemos
el cambio de IP que asigna de manera aleatoria el servidor DHCP. Para esto asemos los siguientes cambios en.
Con los pasos anteriores claros procedemos a elegir un nodo como
principal el cual será sajid, y modificamos el archivo /etc/host para que reconozca el nombre de todos los nodos en el clúster en vez de escribir
por IP.
Procedemos a repetir este proceso en los demás nodos del clúster para que se conozcan entre ellos a través de su nombre. De esta manera se
consigue una configuración mucho más humana y comprensible.
Instalación y configuración de corosync pacemaker
A continuación deberemos instalar pacemaker y corosync en todos los nodos: esta instalación se realiza con el siguiente comando:
#sudo apt-get install pacemaker corosync
PC Sajid
PC Yumi
PC Male
Al término de la instalación nos posicionamos en directorio etc, para
poder modificar el nombre de cada usuario como se muestra a continuación y se realiza con los comandos:
#cd etc #nano hostname
PC Sajid
PC Yumi
PC Male
Procedemos a editar el archivo hosts para colocar las ip estáticas de
cada uno de los nodos, y esto se realizan colocando en la terminal el comando:
#nano hosts
PC Sajid
PC Yumi
PC Male
Esto para posteriormente crear la clave de autenticación de corosync en sajid con la implementación del siguiente comando:
corosync-autokey
Copiamos la clave de autenticación de sajid a los demás nodos
Editamos el siguiente fichero en las 3 máquinas modificando los
siguientes parámetros. Colocando la IP que pertenecen todos los nodos:
interface { # The following values need to be set based on your
environment ringnumber: 0
bindnetaddr: 192.168.40.0 mcastaddr: 226.94.1.1
mcastport: 5405 }
Para modificar el fichero utilizamos los siguientes comandos como se
muestran a continuación:
#cd /etc/corosync
#nano corosync.conf
PC Yumi
PC Sajid
PC Male
Posteriormente editamos el fichero corosync en las 3 máquinas para
que corosync inicie de forma automática, esto se lógrala cambiando en
la sentencia STATR=NO por START=YES, colocando en la terminal los comandos siguientes:
#cd /etc/default #nano corosync
PC Sajid
PC Yumi
PC Yumi
PC Male
Reiniciamos los servicios de corosync en todos los nodos con el siguiente
comando:
#service corosync restart
PC Sajid
PC Male
PC Yumi
Creación del recurso FAILOVER-ADDR
Ahora tan sólo queda editar el crm que no es más que las siglas de gestor de recursos del clúster en inglés. De esta parte se encarga el
pacemaker, aunque no lo mencionemos como la configuración específica de este.
Al editar el archivo de configuración del crm nos encontramos que es un
archivo que tan sólo hemos de añadir información para que nos muestre lo que deseamos a la hora de monitorizar el clúster.
Al acceder al archivo de configuración a través de un comando propio de pacemaker como lo es #crm configure edit debemos dotarle de la IP
flotante pública que será usada para acceder a la web, en nuestro caso 192.168.40.90. Añadimos las siguientes líneas entre secciones nodo del
documento.
Desactivación del mecanismo de Shoot The Other Node In The Head(para parar un nodo que esté dando problemas y así evitar
un comportamiento inadecuado del cluster):
crm configure property stonith-enabled=false
Configuración de la ip virtual como recurso:
crm configure primitive FAILOVER-ADDR
ocf:heartbeat:IPaddr2 params ip="192.168.40.90"
nic="eth0" op monitor interval="10s" meta is-managed="true"
Monitorizamos con crm_mon y veremos el recurso FAILOVER-
ADDR asociado en este momento a yumi.
Creación del recurso P_APACHE
Primeramente se instaló apache en cada una de las PC´s con el
siguiente comando
#apt-get install apache2
PC Sajid
PC male
Después se editó la página que se mostrara como ejemplo de cuando se
cae algún servicio entra en seguida el siguiente, esta modificación se
realiza con los comandos siguientes:
#cd/var/www #nano index.html PC Sajid
PC male
PC Yumi
Y de esta forma darle diseño a nuestra página web, como se muestra en
las siguientes pantallas.
PC Sajid
PC male
PC Yumi
Y por último reiniciamos el servidor web con el siguiente comando
#service apache2 restart
PC male
PC yumi
PC Sajid
ASIGNACIÓN DEL ORDEN DE LOS RECURSOS Y MAQUINAS
Pondremos el orden en el que se mirara el estado
crm configure order START_ORDER inf: FAILOVER-ADDR P_APACHE
Marcaremos ambos nodos como el primero y el segundo para los dos
recursos:
crm configure location L_IP_NODE001 FAILOVER-ADDR 100: sajid
crm configure location L_IP_NODE002 FAILOVER-ADDR 100: yumi crm configure location L_IP_NODE003 FAILOVER-ADDR 100: male
crm configure location L_APACHE_NODE001 P_APACHE 100: sajid crm configure location L_APACHE_NODE002 P_APACHE 100: yumi crm configure location L_APACHE_NODE002 P_APACHE 100: male
CONCLUSIONES
Maleni Yarim Ordaz Hernández
A lo largo de la realización de este proyecto observe que con el uso de la
tecnología, somos capaces de efectuar soluciones ante los problemas que puedan surgir dentro de nuestra rama de estudio. El desarrollo de
este trabajo nos permitió visualizar más a fondo la implantación de un clúster y las ventajas que puede aportar el mismo, al momento de
extender su capacidad de procesamiento dentro de una organización, así como el familiarizarnos más con el sistema operativo Ubuntu y las
consecuencias que pueden llegar a surgir al momento de la ejecución de un comando erróneo.
Sajid Salvador Álvarez Juárez
En la elaboración de este cluster pusimos en práctica algunos
conocimientos y algunos otros se reforzaron, llevándonos una muy
buena experiencia la elaboración de cluster. Cabe mencionar que este tipo de investigaciones e implementaciones nos ayudaron en un futuro
como Ing. En sistemas computacionales.
Yumitey Hernández García.
Para poder realizar el proyecto necesitamos de conocimientos adquiridos durante el curso; Tuve que instalar y desinstalar el sistema operativo
Ubuntu que se dañaba al descargar las aplicaciones necesarias, me sirvió de mucho aprendí de esto gracias a la realización de este clúster.
BIBLIOGRAFÍAS
http://albertomolina.wordpress.com/2012/03/04/sencillo-cluster-
de-alta-disponilidad-con-pacemaker-y-corosync/
http://alealvarezt.blogspot.mx/2013/03/seguridad-y-alta-
disponibilidad-cluster.html
Clúster de alta disponibilidad y balanceo de carga sobre un
Servidor web Memoria del proyecto de Ingeniería Técnica en Informática de
Sistemas Realizada por Alfred Gutiérrez Sanmiguel y dirigida por Yolanda
Benítez Fernández.pdf
Top Related