Cluster de Alta Disponibilidad

60

Transcript of Cluster de Alta Disponibilidad

Page 1: Cluster de Alta Disponibilidad
Page 2: Cluster de Alta Disponibilidad

ingrant

ContenidoClúster de Alta Disponibilidad......................................................................................................1

Introducción.................................................................................................................................2

1 DESCRIPCIÓN DEL PROYECTO....................................................................................................2

1.1 Planteamiento del Problema............................................................................................2

1.1.2 Objetivo General.........................................................................................................2

1.1.3 Objetivos Específicos...................................................................................................2

1.2.4 Justificación.................................................................................................................3

2 Clúster de alta disponibilidad....................................................................................................3

2.1 Que es un Clúster?.............................................................................................................3

2.2 Disponibilidad.....................................................................................................................4

2.2 Beneficios de un clúster.....................................................................................................4

2.3 Ventajas..............................................................................................................................5

3 PROPUESTA DE SOLUCIÓN........................................................................................................6

3.1 Determinar los Requerimientos.........................................................................................6

3.2 Investigación de Alternativas..............................................................................................6

3.2 Búsqueda de proveedores..................................................................................................7

3.3 Tabla de Comparación........................................................................................................9

3.3 Sistema Operativo..............................................................................................................9

3.4 Estado del Arte.................................................................................................................9

4 METODOLOGÍA DE IMPLEMENTACIÓN...................................................................................10

4.1 Instalación de Virtual Box.................................................................................................10

4.2 Instalación de Centos.......................................................................................................10

4.3 Configuración del Primer nodo.........................................................................................10

4.4 Configuración del segundo nodo......................................................................................10

4.5 Pruebas de Servicios.........................................................................................................10

Equipo 6 1

Tecnologías de la Información y Comunicación7TIC-G1

Alejandra López Arteaga.Fernando Alonso Morales Bravo.Antonio Baldomero

Page 3: Cluster de Alta Disponibilidad

IntroducciónEn este proyecto se desea hacer la implementación de un clúster de alta disponibilidad en Ubuntu. Dado que hay muy poca información en internet sobre este tema hay que hacermás pruebas para que este sea exitosa la práctica.

La finalidad de este documento es explicar de forma breve cómo montar dos tipos de clusters: aquellos destinados a la alta disponibilidad y los destinados al alto rendimiento. El primer tipo utilizará las tecnologías: Ultra Monkey: (HeartBeat, LVS, Ldirectord, MON) y NTP, entre otras; y el segundo: OpenMosix.

Este documento está basado en la rama de desarrollo de la distribución Debian GNU/Linux, más conocida como Sid. Aunque los pasos que aquí se detallan son fácilmente adaptables a otras distribuciones de GNU/Linux.

También se destaca que para leer este documento se han de poseer unos conocimientos avanzados en administración de sistemas GNU/Linux, ya sean para configurar aspectos como la red, el núcleo Linux o distintas partes del sistema. Aspectos que no entran dentro de este artículo y de los cuales existe una documentación muy extensa, como la que se lista en el apartado: Documentación general sobre GNU/Linux de la Bibliografía.

1 DESCRIPCIÓN DEL PROYECTO

1.1 Planteamiento del ProblemaSe realizó un análisis sobre los laboratorios de computo de la carrera de tics y se detectó que hay muchas deficiencias sobre los equipos de cómputo ya que todas las máquinas están infectadas, esto provoca que ciertos programas muestren indudables problemas al momento de ejecución de las aplicaciones.

De acuerdo a este análisis encontramos estos defectos.

Visual estudio que está infectado por virus y provoca que muestren erros de ejecución.

No hay conexión al gestor de base de datos. Cuando insertas una USB se infecta y provoca que el sistema operativo se dañe. Packetracer es un problema ya que no hay compactibilidad con otras versiones. Maquinas lentas. Sistemas operativos dañados. Cuando un profesor solicita un software para utilizar en los laboratorios, la instalación

de estos es muy tardada provocando el retraso en las clases.

Equipo 6 2

Page 4: Cluster de Alta Disponibilidad

1.1.2 Objetivo GeneralDiseñar un modelo para implementar Servidores que brinden Servicios de alta disponibilidad.

1.1.3 Objetivos Específicos Diseñar un modelo de Clúster de computadoras adecuado para brindar la alta

disponibilidad de los servidores. Utilizar el modelo Clúster de computadoras a diseñar, para brindar la escalabilidad de

los servidores y así aumentar la disponibilidad. Utilizar el modelo a diseñar, para implementar un sistema tolerante a fallos para

asegurar la disponibilidad. Utilizar las herramientas de software libre para la implementación del modo clúster de

computadoras, así como también que permita la utilización de cualquier tecnología web para la prestación de los servicios.

Equipo 6 3

Page 5: Cluster de Alta Disponibilidad

1.2.4 JustificaciónEn la actualidad, muchas empresas y/o personas que brindan algún tipo de servicio web se encuentran en problemática que sus servicios pueden no estar disponibles por un determinado tiempo y debido a factores diferentes. La falta de disponibilidad del servicio se refleja en la molestia de los usuarios ya que el servicio puede estar no disponible por un largo tiempo, o en la pérdida de dinero.

Los beneficios que se obtendrán al implementar el clúster en la universidad serán muchos y los más beneficiados serán los estudiantes de Tics ya que podrán bajar los programas que ellos quieran desde su computadora y todos estarán manejando las mismas versiones, en cualquier hora ellos podrán acceder al servidor y si este fallara el clúster seguirá dando el servicio hasta que ser restaure el servidor

2 Clúster de alta disponibilidad

2.1 Que es un Clúster?Un clúster es un conjunto de ordenadores (nodos) que están conectados entre sí por medio de una red, comparten recursos con el objetivo de realizar tareas y funciones como si fuesen un único ordenador, (memoria distribuida).

Para cuando queramos realizar tareas que necesiten grandes requerimientos de memoria y CPU y para ahorrarnos horas de trabajos en tareas y operaciones.

1. Alta disponibilidad de infraestructura: Si se produce un fallo de hardware en alguna de las máquinas del clúster, el software de alta disponibilidad es capaz de arrancar automáticamente los servicios en cualquiera de las otras máquinas del clúster (failover). Y cuando la máquina que ha fallado se recupera, los servicios son nuevamente migrados a la máquina original (failback). Esta capacidad de recuperación automática de servicios nos garantiza la alta disponibilidad de los servicios ofrecidos por el clúster, minimizando así la percepción del fallo por parte de los usuarios.

2. Alta disponibilidad de aplicación: Si se produce un fallo del hardware o de las aplicaciones de alguna de las máquinas del clúster, el software de alta disponibilidad es capaz de arrancar automáticamente los servicios que han fallado en cualquiera de las otras máquinas del clúster. Y cuando la máquina que ha fallado se recupera, los servicios son nuevamente migrados a la máquina original. Esta capacidad de recuperación automática de servicios nos garantiza la integridad de la información, ya que no hay pérdida de datos, y además evita molestias a los usuarios, que no tienen por qué notar que se ha producido un problema.

Equipo 6 4

Page 6: Cluster de Alta Disponibilidad

2.2 DisponibilidadLa disponibilidad es el grado en que una aplicación o servicio está disponible cuándo y cómo los usuarios esperan. La disponibilidad se mide por la percepción de una aplicación del usuario final. Los usuarios finales experimentan frustración cuando sus datos no están disponibles, y ellos no entienden o son capaces de diferenciar los complejos componentes de una solución global. Fiabilidad, valorización, continuas operaciones y detección de errores son características de una solución de alta disponibilidad.

1. Fiabilidad: Los componentes hardware fiables de una solución de HA, el software fiable, incluida la base de datos, servidores web y aplicaciones, es la parte crítica de una implementación de una solución de alta disponibilidad.

2. Recuperación: Puede haber muchas opciones para recuperarse de un fracaso si ocurre alguno. Es importante determinar qué tipo de fallos pueden ocurrir en su entorno de alta disponibilidad y la forma de recuperarse de estos fallos en el tiempo que satisface las necesidades comerciales. Por ejemplo, si una tabla importante es eliminada de la base de datos, ¿qué medidas adoptarías para recuperarla? ¿Su arquitectura ofrece la capacidad de recuperarse en el tiempo especificado en un acuerdo de nivel de servicio (SLA)?

3. Detección de errores: Si un componente en su arquitectura falla, entonces la rápida detección, de dicho componente es esencial en la recuperación de un posible fracaso inesperado. Si bien es posible que pueda recuperarse rápidamente de un corte de luz, si se lleva a otros 90 minutos para descubrir el problema, entonces usted no puede satisfacer su SLA. La monitorización del estado del entorno de trabajo requiere un software fiable, para ver de forma rápida y notificar al administrador de bases de datos (DBA) un problema.

4. Continúas operaciones: El continuo acceso a sus datos es esencial, por muy pequeño o inexistente que sea el tiempo de caída del sistema, para llevar a cabo las tareas de mantenimiento. Actividades como mover una tabla de un lado a otro dentro de la base de datos, o incluso añadir nuevas CPU's a su hardware debe ser transparente para el usuario final en una arquitectura HA.

2.2 Beneficios de un clústerEn la actualidad la naturaleza cambiante en la competencia entre empresas demandas nuevas formas de organización., ya que, las grandes empresas incorporan nuevos mecanismos de aprendizaje, mejoramiento continuo, reingeniería, alianzas estratégicas, fusiones y adquisiciones.

Un “clúster” tiene como objetivo maximizar la competitividad y los éxitos empresariales aprovechando las oportunidades en las redes y cadenas de valor de los productos, el éxito empresarial no solo depende de los esfuerzo propios, de las condiciones macro o de las leyes del mercado, sino también de la calidad del entorno donde se desarrolle.

Equipo 6 5

Page 7: Cluster de Alta Disponibilidad

Los clúster basados en cooperación de empresas y redes de producción y valor ha ganado importancia en los últimos años. Es así como la competencia demanda empresas flexibles, resistentes y capaces de adecuarse rápidamente a las nuevas cadenas de valor.

Un clúster a menudo entrega nuevas herramientas y oportunidades, es por esto que los clúster buscan combinar los esfuerzo individuales de las empresas a objeto que el conjunto de estos sea mayor que la suma de las partes, lo que permite generar un entorno de conocimiento mutuo maximiza la competitividad tanto en los mercados nacionales como internacionales.

Los clúster son una concentración sectorial y/o geográfica de empresas que se desempeñan en las mismas actividades o en actividades estrechamente relacionadas lo que ayuda al encadenamiento productivo hacia atrás y hacia delante. A continuación explicaremos brevemente los beneficios y desventajas que pueden provocar los clúster.

2.3 VentajasVentajas de un clúster sin duda la agrupación de conglomerados empresariales permite a los participantes de éste gozar de muchos beneficios, que les brinda seguridad y confianza en las inversiones. Los beneficios del clúster son:

El desarrollo de las economías de escala, para las empresas asociadas, potenciando su capacidad de ingreso a mercados, y aumentando sus beneficios.

Se eleva la competitividad, favoreciendo a la industria por la necesidad de nuevos productos, y de mejor calidad.

Se asegura la permanencia en el mercado, permitiendo que las empresas que se

integren tengan una estabilidad, de acuerdo al estudio realizado con anterioridad.

la mutua ayuda de las empresas permite la permanencia en los mercados, y la

investigación les permite hacer un avance en conjunto -la investigación de universidades y centros de investigación tecnológicos permiten que los integrantes del clúster se vean beneficiados en conjunto por los avances de los organismos tecnológicos.

Equipo 6 6

Page 8: Cluster de Alta Disponibilidad

3 PROPUESTA DE SOLUCIÓN

3.1 Determinar los Requerimientos Que el servidor principal cuente la mayoría de los programas que se ocupan en la

carrera de tic. Que te permita descargar la aplicación vía ftp. Que si un nodo se apaga que entre el otro nodo secundario para darte el servicio.

3.2 Investigación de AlternativasSe realizó una investigación acerque de que sistema operativo es mejor para poder implementar un clúster de alta disponibilidad pero primero se realizó un análisis de que era realmente el servicio que se ofrecería, en este caso se ofrecerá servicio de ftp para poder bajar software que se utiliza en la carrera de tics como son Visual Studio 2010, sistemas operativos como Fedora, Ubuntu, Windows Server 2008, MySQL, Centos, packet tracer, Programas para Virtualizaciones ya que algunas versiones no son compactibles con otras más recientes así todos los alumnos contaran con el software más reciente, sin necesitad de registrarse para poder acceder a la descarga.

Equipo 6 7

Page 9: Cluster de Alta Disponibilidad

3.2 Búsqueda de proveedores

Información sobre el servicioEl objetivo de la mayoría de los servicios de alta disponibilidad es reducir pérdidas de datos y transacciones, y mitigar el tiempo de inactividad. Esto sólo se consigue con un diseño y un plan de implantación adaptado a su entorno empresarial único. Las contribuciones de Servicios Novell varían según los requisitos de clientes individuales pero, generalmente, incluyen lo siguiente:

Arquitectura global y diseño de alta disponibilidad que describen con detalle el diseño general y la interacción de las aplicaciones a las que se va a dotar de mayor disponibilidad con las tecnologías que comparten el entorno.

Guiones compatibles con Linux Standard Base (LSB)

Documentación detallada, incluidas descripciones precisas y relevantes del servicio de alta disponibilidad y los cambios de configuración asociados creados durante el servicio.

VentajasEl servicio de diseño e implantación de alta disponibilidad ofrece:

Un plan de implantación personalizado. Guiones de Linux Standard Base para sus aplicaciones personalizadas. Documentación detallada. Disponibilidad máxima de los sistemas para evitar pérdidas de datos y transacciones.

Equipo 6 8

Page 10: Cluster de Alta Disponibilidad

Funciones clave Automatiza la conmutación por error de aplicaciones y bases de datos dentro de un datacenter

o en varios data centers remotos.

Admite plataformas heterogéneas físicas y virtuales de sistemas operativos con soluciones listas para usar para todos los proveedores principales de almacenamiento, bases de datos y aplicaciones.

Aprovecha la plataforma de administración completa proporcionada por Veritas Operations Manager para permitir a los administradores supervisar y administrar varios clústeres de Veritas y elaborar informes sobre ellos, en diversas plataformas desde una sola consola basada en Web.

La integración con los Virtual Business Services (VBS) proporciona una rápida recuperación y mínimo tiempo fuera de servicio para las aplicaciones integradas por varios componentes que se ejecutan en diferentes niveles físicos y virtuales, lo que agrega resistencia y flexibilidad a los servicios empresariales.

La función Intelligent Monitoring Framework permite obtener la detección de errores más rápida mediante la supervisión asincrónica: los errores se pueden detectar de manera instantánea en lugar de esperar respuestas irresolutas de un recurso con errores.

Brinda pruebas exhaustivas de recuperación después de un desastre mientras las aplicaciones se mantienen en línea.

Beneficios clave Garantiza la disponibilidad de las bases de datos y las aplicaciones de uso crítico durante el

tiempo fuera de servicio, previsto o no, mediante la supervisión del estado de las aplicaciones y la conmutación por error rápida en caso de que se produzca una interrupción o un desastre.

Reduce los costos laborales y de entrenamiento, así como de licencias y compatibilidad de software, ya que utiliza la misma herramienta de clustering en todas las plataformas físicas y virtuales de sistemas operativos.

Brinda la certeza de que el plan de recuperación funcionará si se produce un desastre.

Incrementa la eficacia del administrador a través de una visualización mejorada, automatización de tareas comunes de informes, control operativo centralizado para aplicaciones globales y notificaciones centralizadas basadas en políticas.

Equipo 6 9

Page 11: Cluster de Alta Disponibilidad

3.3 Sistemas Operativos para ServidoresWindows Server 2008Descripción:

Windows Server 2008 es el nombre de un sistema operativo de Microsoft diseñado para servidores.Está diseñado para ofrecer a las organizaciones la plataforma más productiva para virtualización de cargas de trabajo, creación de aplicaciones eficaces y protección de redes. Ofrece una plataforma segura y de fácil administración, para el desarrollo y alojamiento confiable de aplicaciones y servicios web. Del grupo de trabajo al centro de datos, Windows Server 2008 incluye nuevas funciones de gran valor y eficacia y mejoras impactantes en el sistema operativo base.

Características:

Proceso de reparación de sistemas NTFS: proceso en segundo plano que repara los archivos dañados.

Creación de sesiones de usuario en paralelo: reduce tiempos de espera en los Terminal Cervices y en la creación de sesiones de usuario a gran escala.

Cierre limpio de Servicios: se acabó el tiempo de espera antes de la finalización de servicios.

Kernel Transacción Manager: mejoras en la gestión concurrente de recursos. Sistema de archivos SMB2: de 30 a 40 veces más rápido el acceso a los servidores

multimedia. Address Space Load Randomization (ASLR): protección contra malware en la carga de

drivers en memoria. Windows Hardware Error Architecture (WHEA): protocolo mejorado y estandarizado

de reporte de errores.

Ventajas:

Solo se configura un servidor para entregar números IP para clientes de red. Se entregan todos los parámetros básicos de TCP-IP. Facilidad de configuración. Las direcciones son controladas por el mismo servidor y el administrador solo es

responsable de supervisar y controlar las IP de mayor importancia con el fin de dar un buen funcionamiento a la red.

Existe un punto de control central, de tal manera que si la topología de red cambia y es necesario cambiar la configuración de los nodos de red el administrador solo tendrá que reconfigurar el servidor DHCP y este realizara una actualización en los nodos.

Plataforma más productiva para virtualización de cargas de trabajo. Creación de aplicaciones eficaces y protección de redes. Mejoras en el SO Base.

Equipo 6 10

Page 12: Cluster de Alta Disponibilidad

Desventajas:

Al entregar números IP dentro de la red, habiendo un DNS, no hay un puente intermedio entre DNS y DHCP directo. Es decir, hay que agregar las máquinas “a mano” en el DNS.

Los mensajes tienden a fallar sobre todo si las tarjetas de red hacen la negociación de velocidad.

Mucha cargas de trabajo de servidor. Lastra el rendimiento del disco.

Requerimientos:

PROCESADOR

o Mínimo: 1 GHzo Recomendado: 2 GHzo Óptimo: 3 GHz o más

MEMORIA

o Mínimo: 512 MB de RAMo Recomendado: 1 GB de RAM.o Óptimo: 2 GB de RAM.

ESPACIO EN DISCO DISPONIBLE

o Mínimo: 8 GBo Recomendado: 40 GB (instalación completa) o 10 GB (instalación de Server Core)o Óptimo: 80 GB.

UNIDAD

o Unidad de DVD-ROM.

Equipo 6 11

Page 13: Cluster de Alta Disponibilidad

Mac Os ServerDescripción:

Es un sistema operativo para servidores desarrollado por Apple Inc. basado en Unix.

Es idéntico a su versión de escritorio, pero incluye además herramientas administrativas gráficas para la gestión de usuarios, redes, y servicios de red como LDAP, Servidor de correo, Servidor Samba, DNS, entre otros. También incorpora en sus versiones más recientes un número adicional de servicios y herramientas para configurarlos.

Características:

Tiene una barra de menú simple en la parte superior de la pantalla como el Mac OS. La interfaz de usuario utiliza un gestor de ventanas basado en Display PostScript

derivado de NeXTSTEP. Las ventanas con contenido no guardado muestran un punto negro en el botón de

cerrar. Gracias al wiki server, los grupos de usuarios pueden crear y editar fácilmente páginas

web colaborativas. Apple ha hecho que la sincronización de calendarios a través de diferentes programas

de agenda/calendario sea sencillo gracias a iCal Server, perfecto para coordinar eventos, programar reuniones y controlar el tiempo de manera más efectiva.

Ventajas:

Mejor interfaz grafica del mercado. Ideal para diseño grafico. Es muy estable.

Desventajas:

Costoso (aunque viene incluido con la maquina) Existe poco software para este sistema operativo. Es más complicado encontrar gente que la pueda arreglar en caso de fallas.

Requerimientos:

o Procesador Power PC G3, G4, G5.o Built-in FireWire.o 256 MB de RAM, recomendable 512 o más dependiendo de las demandas que vaya a

prestar el servidor.o 4 GB de espacio en Disco Duro.

Equipo 6 12

Page 14: Cluster de Alta Disponibilidad

Ubuntu Server:Descripción:

Es un sistema operativo3 4 mantenido por Canonical y la comunidad de desarrolladores. Utiliza un núcleo Linux, y su origen está basado en Debian. Ubuntu está orientado al usuario novel y promedio, con un fuerte enfoque en la facilidad de uso y mejorar la experiencia de usuario. Está compuesto de múltiple software normalmente distribuido bajo una licencia libre o de código abierto.

En un S.O. en red distinguimos dos componentes:

Clientes. Equipados con S.O. mono puesto, que les permite acceder a los recursos de la red ofrecidos por los servidores. Se conectan y validan al servidor para empezar a trabajar en la red.

Servidores. Equipados con S.O. en red (Server).

Proporcionan recursos a los clientes de la red.

Características:

Es exclusivamente para realizar funciones de servidor de red. El entorno de trabajo es en consola, de forma predeterminada Æ Se debe instalar la

interfaz gráfica, para una gestión más amigable. Utiliza una zona de swap en el disco para realizar la paginación de los programas.

Ventajas:

Multiusuario. Multitarea. Al instalar el sistema operativo también se tiene posibilidad de instalar varios

programas, tales como hoja de cálculo, base de datos, procesadores de texto, lenguajes de programación y juegos.

Cumple con los estándares de sistemas abiertos es decir, se tiene la capacidad de comunicarse con sistemas distintos.

Desventajas:

Carece de soporte técnico. No ofrece mucha seguridad. Presenta problemas en hardware. No soporta todas las plataformas y no es compatible con algunas marcas. Es poco probable encontrar aplicaciones para DOS y OS/DOS, se ejecuten.

correctamente para Linux. No hay forma segura de instalación sin reparticiones el disco duro.

Se requiere experiencia y conocimiento del sistema para administrarlo.

Equipo 6 13

Page 15: Cluster de Alta Disponibilidad

Requerimientos:

o 256 MB de memoriao 2 Gb de espacio en HDD (Incluido swap )o AMD o Intel Procesador de 64-32bitso Incluido AMD Optaron y Intel EM64T Xeon , para versiones de 64.

Centos Server:Descripción:

Es una distribución Linux de clase empresarial derivada de fuentes libremente ofrecido al público por un destacado proveedor Norte American Enterprise Linux. CentOS se ajusta plenamente a la política de redistribución del proveedor arriba y aspira a ser 100% compatible a nivel binario.

Características:

Linux RHEL, compilado por voluntarios a partir del código fuente liberado por Red Hat. Está libremente disponible para ser bajado y usado por el público, pero no es

mantenido ni asistido por Red Hat. Se publica en formato binario usable (CD-ROM o DVD-ROM) solamente a suscriptores

pagados. Usa yum para bajar e instalar las actualizaciones, herramienta también utilizada por

Fedora. Apoyo comercial ofrecido por Negono. Infraestructura y respaldo de la comunidad. Desarrollo activo de módulos y aplicaciones. Apoyo a largo plazo de las principales aplicaciones para el servidor. Entorno favorable para los usuarios y mantenedores de paquetes. Idoneidad para el uso a largo plazo en entornos de producción.

Fácil mantenimiento.Ventajas:

Fácil mantenimiento. Idoneidad para el uso a largo plazo en entornos de producción. Entorno favorable para los usuarios y mantenedores de paquetes. Apoyo a largo plazo de las principales. Desarrollo activo. La infraestructura de la comunidad. Soporta todo el hardware y software que soporta Red Hat. Es gratuito. Muy estable, porque contiene un paquetes que están muy probados de bugs. Especial para servidores de producción si se quiere mucha estabilidad.

Equipo 6 14

Page 16: Cluster de Alta Disponibilidad

Desventajas:

El mayor problema es la falta de repositorios. Los paquetes están muy anticuados.

Requerimientos:

o Memoria RAM: 64 MB (mínimo).o Espacio en Disco Duro: 1024 MB (mínimo) - 2 GB (recomendado).o Procesador: ver Arquitecturas.

3.3 Sistema Operativo

Bueno, CentOS es una excelente plataforma para, basándote en paquetes bien estables y ajustados por RedHat, puedas realizar una serie de pruebas, experimentos e implementaciones super interesantes.

El tema de la virtualización es uno en los que me he visto envuelto últimamente. En realidad la virtualización no es algo que sirva o necesite todo el mundo, pero trataré de explicar las ventajas:

1. Evitas que el hardware esté subutilizado: Puedes tener varias máquinas corriendo en un sólo hardware, de forma tal que se mantengan verdaderamente separadas, minimizando el riesgo de una intrusión, pero que se aproveche el hardware completamente.

Ten en cuenta que normalmente un hardware que tengas en tu empresa o casa, se utiliza sólo al 15% de su rendimiento, por lo que en verdad le puedes dar mejor uso.

Eso sí, si en verdad tienes un sistema o aplicación que usa el 100% de tu hardware todo el tiempo, entonces quizá no debas usar virtualización

2. Puedes migrar fácilmente de hardware: Necesitas que tu o tus máquinas corran en un mejor hardware? Puedes realizar una fácil y rápida migración sin tener que reinstalar, se mueve toda la info al nuevo hardware y se arranca la máquina.

Hay dos tipos de migración: En vivo (que no se detiene) o con la maquina virtual apagada (está apagada mientras copias la info) En cualquier caso es más fácil que tener que reinstalar todo.

3. La maquina virtual arranca más rápido: No hay que esperar que cuente la memoria o cargue el bios, ya el hardware lo tenía cargado desde hace rato.

4. Si hay un crash en una máquina, el sistema en sí que virtualiza sigue trabajando.5. Puedes probar diversas tecnologías que requieren de varias máquinas: Clusters,

cliente-servidor y varias cosas más.6. es interesante.

No todo son ventajas, también hay que tener en cuenta algunos detalles que pueden ser vistos negativamente:

Equipo 6 15

Page 17: Cluster de Alta Disponibilidad

1. Si se daña el disco duro, chao pescao, se te dañan todas las máquinas. Sugiero uso del RAID, los discos no se dañan siempre, pero a veces pasan, y hay hasta quien se atreve a afirmar que es por mi culpa.

2. Si te roban la máquina, chao pescao, te roban todas las máquinas virtuales. Después no me digas que no te lo dije: realiza respaldos! y por favor no me culpes tampoco del robo

3. En fin, cualquier evento que ocurra con el hardware, afectará a todas las máquinas virtuales (corriente, red, etc) asi que si necesitas un sistema bien redundante búscalo (doble red, doble disco, doble fuente de corriente).

Más que contras son elementos que deben dimensionar adecuadamente para evitar que les suceda. Si les sucede es porque no pensaron en él antes de instalarlo, no es culpa de la máquina virtual.

3.4 Estado del ArteLa tecnología del mundo de hoy avanza a pasos agigantados en todos los campos de la ciencia, debido a los constantes cambios de nuestro planeta, y nuestra vida misma;

Actualmente existen muchos proyectos destinados a proveer de alta disponibilidad a un sistema, uno de ellos es Ultra Monkey (es el que se ha utilizado como base para esta documentación). Ultra Monkey es un proyecto que integra distintas herramientas de Software Libre para conseguir balanceo de carga y alta disponibilidad en redes de área local. Estas herramientas son: LVS, HearBeat, Ldirectord y MON, que se definirán en los siguientes apartados.

En un clúster que ofrezca algún servicio en red se supone que cada servidor debe poseer los mismos datos, por ejemplo, una granja de servidores web debería compartir las mismas páginas web, un clúster de servidores POP debería compartir los mismos mensajes de correo, etc.

Esto crea un problema ¿Cómo se hace que los nodos compartan los mismos datos, sin dar lugar a conflictos?

Como en todo, para este problema van a existir diversas soluciones. La mejor solución dependerá de cuál sea el problema concreto. Por ejemplo, si tenemos un sitio web con un contenido que no cambia a menudo, puede ser suficiente hacer mirroring cada cierto tiempo, si tenemos varios sitios web que cambian continuamente de contenido, esta solución puede no ser tan buena.

De todas formas, para el ejemplo que aquí mostraremos, vamos a suponer que cada servidor real posee sus propios datos.

Equipo 6 16

Page 18: Cluster de Alta Disponibilidad

4 METODOLOGÍA DE IMPLEMENTACIÓN

4.1 Instalación de Virtual BoxVM VirtualBox es un software de virtualización para arquitecturas x86/amd64, creado originalmente por la empresa alemana innotek GmbH. Actualmente es desarrollado porOracle Corporation como parte de su familia de productos de virtualización. Por medio de esta aplicación es posible instalar sistemas operativos adicionales, conocidos como «sistemas invitados», dentro de otro sistema operativo «anfitrión», cada uno con su propio ambiente virtual.Entre los sistemas operativos soportados (en modo anfitrión) se encuentran GNU/Linux, Mac OS X, OS/2 Warp, Microsoft Windows, y Solaris/Open Solaris, y dentro de ellos es posible virtualizar los sistemas operativos Free BSD, GNU/Linux, Open BSD, OS/2 Warp, Windows, Solaris, MS-DOS y muchos otros.

Equipo 6 17

Page 19: Cluster de Alta Disponibilidad

Para comenzar la instalación es necesario tener ya instalado Virtual Box, en su versión gratuita y tener la imagen ISO de CentOS 6.3 para 32 bits.Virtual Box es una aplicación de Oracle gratuita para poder crear y gestionar máquinas virtuales.

Paso 1.- Crear máquina virtual usando Virtual Box.

1.1.- En la aplicación Virtual Box, ya ejecutada, seleccione el botón de nuevo (Figura 1).

Figura 1.

1.2.- Enseguida visualizara una pantalla en la cual deberá de dar clic en el botón de siguiente (Figura 2).

Figura 2.

Equipo 6 18

Page 20: Cluster de Alta Disponibilidad

1.3.- En la nueva pantalla escriba el nombre de la maquina virtual, seleccione como sistema operativo Linux y, como no aparece la versión CentOS en la lista, seleccione Red Hat (esto para 32 bits) y damos clic en siguiente (Figura 3).

Figura 3.

1.4.- Seleccione la cantidad de memoria RAM que desee utilizar (el mínimo es de 512 MB) y de clic en siguiente (Figura 4).

Figura 4.

1.5.- La siguiente pantalla, es la ventana de creación de disco duro. Para ello seleccione la opción de Disco duro de arranque y crear disco virtual nuevo y de clic en siguiente (Figura 5).

Equipo 6 19

Page 21: Cluster de Alta Disponibilidad

Figura 5.

1.6.- En esta ventana seleccione Formato VDI y de clic en siguiente (Figura 6).

Figura 6.

zz1.7.- Si usted desea ahorrar espacio en su disco duro físico seleccione la opción Reservado dinámicamente, esta opción permitirá al disco duro de la maquina virtual

Equipo 6 20

Page 22: Cluster de Alta Disponibilidad

crear un fichero y que este vaya aumentando de tamaño conforme vaya requiriéndolo. Si usted desea guardar el espacio seleccione Tamaño fijo, yo recomiendo la primera opción (Figura 7).

Figura 7.

1.8.- La siguiente pantalla visualiza la ruta donde se va a guardar su maquina virtual, esta puede ser editada si usted lo requiere, además de la asignación del tamaño máximo que tendrá el disco duro virtual de su maquina, lo recomendable es 8GB y menor que el tamaño real del disco duro fisico (Figura 8).

1.9.- Finalmente, de clic en el botón de finalizar (Figura 9).

Figura 9.

Equipo 6 21

Page 23: Cluster de Alta Disponibilidad

Paso 2.- Arrancar e instalar.Este proceso es para instalar nuestro sistema operativo CentOS 6.3, donde deberá seleccionar la ubicación de la imagen ISO y realizar las configuraciones.

Equipo 6 22

Page 24: Cluster de Alta Disponibilidad

4.2 Instalación de Centos

2.1.- En nuestra pantalla de virtualBox seleccione la maquina que recién ha creado y de clic en “Iniciar” (Figura 10).

Figura 10.

2.2.- Visualiza una ventana indicando que el teclado va a ser capturado por la maquina virtual y la combinación de teclas para salir, de clic en OK (Figura 11).

Figura 11.

Equipo 6 23

Page 25: Cluster de Alta Disponibilidad

2.3.- En la nueva pantalla de clic en continue (Figura 12).

Figura 12.

2.4.- Seleccione el icono que tiene como imagen una casa y diríjase a la ruta donde se encuentra la imagen ISO y de clic en continue (Figura 13).

Figura 13.

Equipo 6 24

Page 26: Cluster de Alta Disponibilidad

2.5.- De clic en “Start” para iniciar la instalación (Figura 14).

Figura 14.

2.6.- Seleccione la opción “Install or upgrade an existing system” para seguir con la instalación (Figura 15 y Figura 16).

Figura 15.

Equipo 6 25

Page 27: Cluster de Alta Disponibilidad

Figura 16.

2.7.- De clic en SKYP, esta ventana es el análisis del disco pero debido a que esta instalando el SO con una imagen ISO y no con un disco este análisis se omite (Figura 17).

Figura 17.

Equipo 6 26

Page 28: Cluster de Alta Disponibilidad

2.8.- Seleccione el lenguaje, en este caso Spanish y de clic en OK (Figura 18).

Figura 18.

2.9.- Y como tipo de teclado selecciones “ES” y de clic en aceptar (Figura 19).

Figura 19.

Equipo 6 27

Page 29: Cluster de Alta Disponibilidad

2.10.- Indicamos que el resto de los ficheros para la instalación la descargue desde Internet, para ello marcamos la opción URL y de clic en Aceptar (Figura 20).

Figura 20.

2.11.- Seleccione la opción Activar Soporte IPv4 ya que no se van a configurar las direcciones ip, van a ser automáticas. De clic en Aceptar (Figura 21).

Equipo 6 28

Page 30: Cluster de Alta Disponibilidad

Figura 21.

2.12.- Posteriormente sigue la configuración de la URL, esto es para descargar lo que queda de la imagen ISO.Para 32 bits se utiliza la siguiente URL:

http://mirror.centos.org/centos/6.3/os/i386/ . Introducir y de clic en Aceptar (Figura 22).

Figura 22.

2.13.- Posteriormente iniciara la descargar de la imagen ISO básica del S.O. (Figura 23).

Figura 23.

Equipo 6 29

Page 31: Cluster de Alta Disponibilidad

2.14.- Una vez que termine de descargar comenzará el asistente para la instalación de CentOS 6.3. De clic en Aceptar (Figura 24).

Figura 24.

2.15.- Seleccione la zona horario, es este caso México/Guadalajara (Figura 25).

Figura 25.

2.16.- Coloque la palabra password como contraseña, esto por seguridad para el usuario root y de clic en Aceptar (Figura 26).

Equipo 6 30

Page 32: Cluster de Alta Disponibilidad

Figura 26.

2.17.- Como el disco duro es nuevo, seleccione la opción “Usar el disco entero” para la instalación y seleccione la unidad y de clic en Aceptar (Figura 27).

Figura 27.

2.18.- En la siguiente ventana de clic en la la opción “Escribir cambios al disco” (Figura 28).

Equipo 6 31

Page 33: Cluster de Alta Disponibilidad

Figura 28.

2.19.- Visualiza una ventana donde indica el proceso de la instalación (Figura 29).

Figura 29.

2.20.- Comprobación de dependencias (Figura 30).

Equipo 6 32

Page 34: Cluster de Alta Disponibilidad

Figura 30.

2.21.- Instalación de paquetes básicos (Figura 31).

Figura 31.

2.22.- Después de haber instalado todos los paquetes, visualizara la pantalla de instalación terminada, donde deberá de reiniciar la maquina virtual (Figura 32).

Equipo 6 33

Page 35: Cluster de Alta Disponibilidad

Figura 32.

2.23.- Finalmente, ingrese con el usuario root y contraseña password, para tener acceso al sistema (Figura 33).

Figura 33.

Equipo 6 34

Page 36: Cluster de Alta Disponibilidad

4.3 Configuración del clusterPara empesar a configuar nuestro cluster en nuestro Centos tiene que tener dos nodos a qui mostraremos la configuración del primer nodo y el sengundo nodo

Nodo 1:Sistema operativo: CentOS 6.3Dirección IP eth0: 192.168.1.101/255.255.255.0, conectado a la LAN o hacia Internet y con el nombre de anfitrión asociado a nombre.publico.nodo2.com.

Dirección IP eth1: 192.168.2.1/255.255.255.248, conectado con cable cruzado o a un switch o concentrador dedicado exclusivamente para los nodos del agrupamiento o bien interfaz de intranet en VirtualBox y con el nombre de anfitrión asociado a nombre.privado.nodo1.com.

El nombre del anfitrión (hostname), definido en el archivo /etc/sysconfig/network, debe sernombre.privado.nodo1.com.

Nodo 2:Sistema operativo: CentOS 5.4Dirección IP eth0: 192.168.1.102/255.255.255.0, conectado a la LAN o hacia Internet y con el nombre de anfitrión asociado a nombre.publico.nodo2.com.

Dirección IP eth1: 192.168.2.2/255.255.255.248, conectado con cable cruzado o bien hacia un switch o concentrador dedicado exclusivamente para la comunicación entre los nodos del agrupamiento o bien interfaz de Intranet en VirtualBox y con el nombre de anfitrión asociado anombre.privado.nodo2.com.

El nombre del anfitrión (hostname), definido en el archivo /etc/sysconfig/network, debe sernombre.privado.nodo2.com.

Ambos nodos pueden ser diferentes en cuanto a arquitectura, capacidad y componentes.Ambos nodos formarán un agrupamiento (cluster) de alta disponibilidad que responderá por ladirección IP 192.168.1.100/255.255.255.0, asociada al nombre nombre.publico.cluster.com.

Acerca de Heartbeat.

Heartbeat es un servicio que provee servicios de infraestructura de agrupamiento (cluster) a clientes. Permite a los clientes saber si uno de los nodos está presente o ausente, intercambiado fácilmente mensajes entre éstos. Está específicamente diseñado para funcionar como agrupamiento de alta disponibilidad para cualquier tipo de servicio.Sitio de Internet: http://www.linux-ha.org/

Equipo 6 35

Page 37: Cluster de Alta Disponibilidad

Procedimientos.

Servicios que deben desactivarse.

En ambos nodos, si estuviesen presentes, deben estar desactivados los servicios avahi-daemon y avahi-dnsconfd, así como cualquier otroservicio que intente utilizar la interfaz eth1, misma que debe estar completamente dedicada a las comunicaciones de Heartbeat.

service avahi-daemon stopservice avahi-dnsconfd stopchkconfig avahi-daemon offchkconfig avahi-dnsconfd off

Es importante también desactivar el cortafuegos predeterminando del sistema en ambos nodos, debido a que éste interfiere con la comunicaciónentre los nodos de heartbeat:service iptables stopservice ip6tables stopchkconfig iptables offchkconfig ip6tables offEl muro cortafuegos de ambos nodos puede ser fácilmente gestionado a través de Shorewall, como se explica más adelante.

Configuración del Nodo 1

Ingresar como root o bien cambiar al usuario root.

su –l

Editar el archivo /etc/hosts:

vim /etc/hosts

Y definir los nombres asociados a la dirección IP pública del agrupamiento (cluster) y las direcciones IP de las interfaces eth0, las cuales corresponden a las interfaces públicas de los nodos:

# that require network functionality will fail.127.0.0.1 localhost.localdomain localhost::1 localhost6.localdomain6 localhost6192.168.1.100 nombre.publico.cluster.com192.168.1.101 nombre.publico.nodo1.com192.168.1.102 nombre.publico.nodo2.com

Para complementar lo anterior, debe haber un DNS que se encargue de resolver estos nombres para la red local y/o hacia Internet.

Editar el archivo /etc/hosts y definir los nombres asociados a las direcciones IP de las interfaces eth1, las cuales corresponden a las interfaces privadas del cluster, a través de la cual se comunican los nodos:

# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 localhost.localdomain localhost::1 localhost6.localdomain6 localhost6192.168.1.100 nombre.publico.cluster.com192.168.1.101 nombre.publico.nodo1.com192.168.1.102 nombre.publico.nodo2.com192.168.2.1 nombre.privado.nodo1.com192.168.2.2 nombre.privado.nodo2.com

Equipo 6 36

Page 38: Cluster de Alta Disponibilidad

Instalar los servicios que se van a gestionar a través del agrupamiento (cluster):yum -y install httpd php vsftpd wget Utilizando un editor de texto simple, crear el archivo

/var/www/html/index.php:

vim /var/www/html/index.php

Y añadir el siguiente contenido:

<html> <head> <title>Este es el nodo 1</title></head><body> <h1>Este es el nodo 1</h1> <p>Este es el servidor principal que se presenta normalmente.</p></body></html>

Crear el archivo /etc/httpd/conf.d/cluster.conf con el siguiente contenido:

# Definir valores con el nombre público y la dirección# IP pública del cluster

NameVirtualHost 192.168.1.100:80<VirtualHost 192.168.1.100:80>ServerName nombre.publico.cluster.comDocumentRoot /var/www/htmlErrorLog logs/cluster-error_logCustomLog logs/cluster-access_log combinedServerAdmin [email protected]</VirtualHost>

Utilice cualquier editor de texto sobre el archivo /etc/vsftpd/vsftpd.conf:

vim /etc/vsftpd/vsftpd.conf

Y añadir al final de éste lo siguiente:

ftpd_banner=Bienvenido al servicio FTP del Nodo 1.

chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list

Genere con el mandato touch el archivo /etc/vsftpd/chroot_list:

touch /etc/vsftpd/chroot_listInstale el depósito YUM de Alcance Libre que incluye Shorewall:

cd /etc/yum.repos.d/

wget http://www.alcancelibre.org/al/server/AL-Server.repo

Instale Shorewall:

yum -y install shorewall

Cambie al directorio /etc/shorewall:

cd /etc/shorewall

Edite con vim el archivo /etc/shorewall/shorewall.conf y cambie STARTUP_ENABLED=No por

STARTUP_ENABLED=yes:

STARTUP_ENABLED=Yes

Equipo 6 37

Page 39: Cluster de Alta Disponibilidad

A fin de que exista una comunicación sin restricciones entre ambos nodos cuando el cortafuegos esté detenido, defina el siguiente contenido en

el archivo /etc/shorewall/routesstoped:

eth0 192.168.1.102 criticaleth1 192.168.2.2 critical

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Defina las zonas del mudo cortafuegos en el archivo /etc/shorewall/zones:fw firewallnet ipv4loc ipv4

#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVEDefina que interfaces de red corresponden a las zonas establecidas en el archivo

/etc/shorewall/interfaces:

net eth0 detect dhcp,blacklistloc eth1 detect

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVEDefina las siguientes políticas en el archivo /etc/shorewall/policy:

fw all ACCEPTloc fw ACCEPTloc net REJECT infonet all DROP info#LAST LINE -- DO NOT REMOVE

Considerando que se están configurando los servicios shorewall, vsftpd y httpd, se administrarán ambos servidores a través de SSH, limitando los pings desde cualquier zona a 5 conexiones por segundo con ráfagas de 2, defina las siguientes reglas para el archivo /etc/shorewall/rules:

ACCEPT all fw tcp 20,21ACCEPT all fw tcp 80,443ACCEPT all fw tcp 3306ACCEPT all fw tcp 22ACCEPT all fw icmp 8 - - 5/sec:2

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVEDebido a un error en el guión %pre (pre-instalación) de los paquetes de heartbeat que son distribuidos a través de los depósitos YUM de CentOS, es importante crear previamente el usuario y grupo que utilizará heartbeat o de otro modo fallará la instalación:

groupadd -g 496 haclientuseradd -M -g haclient -u 498 -d /var/lib/heartbeat/cores/hacluster hacluster

Instalar el paquete heartbeat. Se instalarán automáticamente como dependencias los paquetes heartbeat-stonith y heartbeat-pils:

yum -y install heartbeat

Cambiarse al directorio /etc/ha.d

cd /etc/ha.d

Copiar los archivos de ejemplo para configuración de heartbeat.

cp /usr/share/doc/heartbeat-*/ha.cf ./ha.cf

cp /usr/share/doc/heartbeat-*/haresources ./haresourcescp /usr/share/doc/heartbeat-*/authkeys ./authkeys

Equipo 6 38

Page 40: Cluster de Alta Disponibilidad

Añadir al final del archivo authkeys algo similar a lo siguiente:

# Define el esquema de autenticación por SHA1 y una clave de acceso.auth 22 sha1 p0n3r-aqu1-un4-clav3-d3-acceso-s3gur4Puede generar el contenido del archivo /etc/ha.d/authkeys, con un criptograma adecuado, utilizando el siguiente guión:

( echo -ne "auth 2\n2 sha1 "; \dd if=/dev/urandom bs=512 count=1 | openssl md5 ) > /etc/ha.d/authkeys

Por motivos de seguridad, este archivo sólo debe tener permisos de lectura y escritura para el usuario root. Cambiar el permiso de ésteejecutando lo siguiente:chmod 600 authkeysEditar el archivo ha.cf:

vim ha.cfAñadir al final del archivo ha.cf lo siguiente:

logfile /var/log/ha-loglogfacility local0keepalive 2

# Tiempo de espera para iniciar servicios si nodo principal deja de# responder. Puede ajustarse a cualquier tiempo razonable. Ejemplo: 10 segundos.

deadtime 20initdead 90

# interfaz de comunicación ente nodosbcast eth1udpport 694auto_failback on

# Nombres de los nodos que participarán en el cluster.# Deben ser diferentes a los nombres de anfitrión utilizados para las IP# públicas de la las interfaces eth0. Sólo son para uso interno.# Los nombres deben estar resueltos en el archivo /etc/hosts# con direcciones IP privadas en las interfaces eth1, la cuales corresponden a# las interfaces privadas del cluster, a través de la cual se comunican los# nodos del cluster.

node nombre.privado.nodo1.comnode nombre.privado.nodo2.comEditar el archivo haresources:

vim haresources

Añadir al final del archivo haresources lo siguiente, donde se define el nombre del nodo 1, dirección IP que utilizará Heartbeat para servir los recursos, máscara de subred en formato de bits, nombre de interfaz de red donde se creará la interfaz virtual, dirección de difusión de lared (broadcast) y los servicios a controlar:

# En el ejemplo a continuación:# nombre.privado.nodo1.com = nombre de anfitrión del nodo principal# 192.168.1.100 = dirección IP pública del cluster# 24 = máscara en formato de bits# eth0 = interfaz pública del cluster# 192.168.1.101 = dirección IP del nodo principal a supervisar# vsftpd httpd = servicios a brindar a través del cluster

Equipo 6 39

Page 41: Cluster de Alta Disponibilidad

nombre.privado.nodo1.com 192.168.1.100/24/eth0/192.168.1.255 shorewall vsftpd httpdDesactivar los servicios que se van a gestionar a través del agrupamiento (cluster):chkconfig httpd offchkconfig vsftpd offchconfig shorewall offIniciar el servicio heartbeat:service heartbeat startAñadir el servicio heartbeat al arranque del sistema:chkconfig heartbeat onLos servicios shorewall, httpd y vsftpd iniciarán automáticamente poco después de iniciar el servicio heartbeat.

Configuración del Nodo 2Ingresar como root o bien cambiar al usuario root.

su -lInstalar los servicios que se van a gestionar a través del agrupamiento (cluster):yum -y install httpd php vsftpd

Utilizando un editor de texto simple, crear el archivo /var/www/html/index.php:

vim /var/www/html/index.php

Y añadir el siguiente contenido:

<html> <head> <title>Este es el nodo 2</title> </head> <body> <h1>Este es el nodo 2</h1> <p>Este es elservidor secundario que se presenta cuando falla o se apaga el <b>nodo 1</b>.</p> </body> </html>A través de SCP, copiar desde el nodo 1 el archivo /etc/httpd/conf.d/cluster.conf dentro del directorio /etc/httpd/conf.d/ local:

scp -p 192.168.1.101:/etc/httpd/conf.d/cluster.conf /etc/httpd/conf.d/

Utilice cualquier editor de texto sobre el archivo /etc/vsftpd/vsftpd.conf:

vim /etc/vsftpd/vsftpd.conf

Y añadir al final de éste lo siguiente:

ftpd_banner=Bienvenido al servicio FTP del Nodo 2.chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list

Genere con el mandato touch el archivo /etc/vsftpd/chroot_list:

touch /etc/vsftpd/chroot_listInstale Shorewall:yum -y install shorewallCambie al directorio /etc/shorewall:cd /etc/shorewall

Edite con vim el archivo /etc/shorewall/shorewall.conf y cambie STARTUP_ENABLED=No por

STARTUP_ENABLED=yes:STARTUP_ENABLED=Yes

A fin de que exista una comunicación sin restricciones entre ambos nodos cuando el cortafuegos esté detenido, defina el siguiente contenido en el archivo /etc/shorewall/routesstoped:

eth0 192.168.1.101 criticaleth1 192.168.2.1 critical

Equipo 6 40

Page 42: Cluster de Alta Disponibilidad

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVEDefina las zonas del mudo cortafuegos en el archivo /etc/shorewall/zones:

fw firewallnet ipv4loc ipv4

#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVEDefina que interfaces de red corresponden a las zonas establecidas en el archivo

/etc/shorewall/interfaces:

net eth0 detect dhcp,blacklistloc eth1 detect

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVEDefina las siguientes políticas en el archivo /etc/shorewall/policy:

fw all ACCEPTloc fw ACCEPTloc net REJECT infonet all DROP info

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVEDefina las siguientes reglas para el archivo /etc/shorewall/rules:ACCEPT all fw tcp 20,21ACCEPT all fw tcp 80,443ACCEPT all fw tcp 3306ACCEPT all fw tcp 22ACCEPT all fw icmp 8 - - 5/sec:2

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Crear el usuario y grupo que utilizará heartbeat:

groupadd -g 496 haclientuseradd -M -g haclient -u 498 -d /var/lib/heartbeat/cores/hacluster haclusterInstalar el paquete heartbeat:yum -y install heartbeat

A través de SCP, copiar desde el nodo 1 el archivo /etc/hosts para reemplazar el archivo /etc/hosts local:

scp -p 192.168.1.101:/etc/hosts /etc/hostsA través de SCP, copiar desde el nodo 1 el contenido completo del directorio /etc/ha.d dentro de /etcscp -p 192.168.1.101:/etc/ha.d/* /etc/ha.d/Desactivar los servicios que se van a gestionar a través del agrupamiento (cluster):chkconfig httpd offchkconfig vsftpd offchkconfig shorewall offIniciar el servicio heartbeat:service heartbeat start

Añadir el servicio heartbeat al arranque del sistema:

chkconfig heartbeat on

Los servicios shorewall, httpd y vsftpd iniciarán automáticamente sólo cuando heartbeat detecte que ha fallado el nodo 1 o se ha perdidoconectividad con éste.

Equipo 6 41

Page 43: Cluster de Alta Disponibilidad

Verificando el agrupamiento (cluster).La mejor forma de verificar que todo funciona correctamente es acceder con el navegador hacia http://nombre.publico.cluster.com/o http://192.168.1.100/ o bien acceder a través de un cliente FTP hacia nombre.publico.cluster.com o 192.168.1.100. Deberá de responder el nodo 1.

Apague el nodo 1 o detenga el servicio heartbeat en el nodo 1, espere 20 a 30 segundos e intente acceder hacia las direcciones anteriores.

Deberá de responder el nodo 2. Volviendo a encender el nodo 1 o iniciando de nuevo el servicio heartbeat, espere 20 a 30 segundos e intente acceder nuevamente hacia las direcciones. Deberá de responder el nodo 1.

Mantener sincronizados los directorios.

Es importante resaltar que las interfaces eth1 de ambos nodos deben ser excluidas para realizar cualquier actividad. Deben ser utilizadas exclusivamente por el servicio de heartbeat. Utilice las interfaces eth0 para realizar sincronización de datos.

En le caso del nodo 2, se puede generar una tarea programada para que se ejecute cada cierto tiempo, utilizando rsync y configurando la cuenta de root de ambos nodos para utilizar SSH sin clave de acceso. En el siguiente ejemplo para entrada el archivo /etc/crontab, se sincroniza cada hora el /var/ftp/pub del nodo 2, a partir del directorio /var/ftp/pub del nodo 1:

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly

00 * * * * root rsync -avz \--exclude '*log' --exclude '*tmp/*' -e ssh --delete-after \[email protected]:/var/ftp/pub /var/ftp/pub

En el caso de el nodo 1, se asume que si este falla y es apagado, al iniciar sincroniza con el nodo 2, el cual estuvo trabajando y funcionando en ausencia del nodo 1. Puede agregarse el siguiente ejemplo al archivo /etc/rc.local, lo que corresponde a la sincronización de datos del los directorios /var/ftp/pub a partir de el nodo 2 hacia el nodo 1 que se asume acaba de iniciar:

#!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.

touch /var/lock/subsys/localrsync -avz \--exclude '*log' --exclude '*tmp/*' -e ssh --delete-after \[email protected]:/var/ftp/pub /var/ftp/pub

Equipo 6 42