• No se han encontrado resultados

CAPITULO III 3 DESARROLLO DE LA PROPUESTA

3.3 Fase 2 y 3 Análisis de las herramientas e Implementación.

3.3.1 Alta Disponibilidad

La Alta disponibilidad consiste en trabajar de manera garantizada en los servicios (Web) de la institución sin depender de un solo equipo (Servidor) y que brinde este servicio incluso cuando estos sistemas se bloqueen o se cuelguen, o en otros casos que a estos servidores estén en mantenimiento. La disponibilidad dispone de agrupaciones que serán diseñadas para superar estos problemas y darle la posibilidad de llegar a un 100% de tiempo de actividad de sus servicios.

Para tener una idea más clara de lo que se pretende realizar en esta institución, la disponibilidad se lo realizará por medio de un segundo nodo (Equipo servidor) que también tendrá todos los servicios web que ofrece el primero nodo.

Para alcanzar un servicio óptimo ofrecido por nuestros sistemas se creará una Ip Virtual que represente a los 2 servidores reales de nuestro sistema. El usuario solo necesitara saber la dirección IP del equipo Virtual sin preocuparse de saber las Dirección IP de los otros equipos.

70

Grafico Nro. 3.6 Implementación host principal de Servidor Web Fuente: Desarrollo propio del Autor

Un usuario que está ingresando a nuestros sistemas web a través de 10.30.23.238 será atendido desde el servidor web que se ejecuta en el Servidor Web (nodo 01) con la IP 10.30.23.230. mientras que el segundo Servidor Web (nodo 02 IP 10.30.23.234) solo está a la espera para el nodo 01 falle y tomar el relevo. Este escenario se llama activo-pasivo. En caso de que algo pasa al nodo 01, el sistema se bloquea, el servidor se bloqueó o el servidor web no responde más (ejemplo falla eléctrica), el nodo 02 se convertirá en el propietario de la dirección IP virtual e iniciar su servidor web para proporcionar los mismos servicios que se ejecutan en nodo 01.

IP Virtual

10.30.23.238

Nodo 1

10.30.23.230

Servidor Web en Ejecución en puerto 80

Nodo 2

10.30.23.234

71

Grafico Nro. 3.7 Implementación host de Servidor Alta disponibilidad Fuente: Desarrollo propio del Autor

Para el usuario, esto es transparente, ya que la IP virtual sigue siendo la misma. El cliente no sabe que el primer nodo (Servidor) ya no es accesible y ve el mismo sitio web que está acostumbrado a ver.

Verificamos el estado del firewalld y Modificamos el archivo host en el Servidor Web

Grafico Nro. 3.8 Visualización de Archivo host de Servidor Web

Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos IP Virtual

10.30.23.238

Nodo 1

10.30.23.230

Servidor Web Detenido

Nodo 2

10.30.23.234

72

Servidor de Alta disponibilidad Modificación del host

Grafico Nro. 3.9 Visualización de Archivo host de Servidor Web Alta Disponibilidad Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos

Grafico Nro. 3.10 Comprobación de la comunicación entre los 2 Servidores Web Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos

Instalación de los componentes de alta disponibilidad Pacemaker y Corosync en ambos nodos

73

Grafico Nro. 3.11 Instalación dePacemaker y Corosync Servidor Web principal Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos

Servidor de alta disponibilidad

Grafico Nro. 3.12 Instalación dePacemaker y Corosync Servidor Alta Disponibilidad Fuente: Desarrollo propio del Autor a partir del Servidor de Alta Disponibilidad

.

La instalación de PCS no permite disponer de una interfaz única para administrar todos los nodos (equipos servidores) que trabajaran con alta disponibilidad en la Red (clúster). También se creó un usuario, hacluster, que puede ser utilizado en conjunto con el PCS que ver la configuración de los nodos del clúster.

Para utilizar PCS, tenemos que configurar la autenticación de clave pública o dar al usuario hacluster una contraseña en ambos nodos. Este paso lo realizamos mediante:

sudo passwd hacluster

Iniciamos el servicio pcds en ambos nodos mediante:  sudo systemctl start pcds

Configuración de cada uno de los nodos de nuestro sistema de alta disponibilidad. Nos autenticamos Utilizando el usuario y contraseña hacluster previamente configurado.

74

Grafico Nro. 3.13 Autentificación de los Servidores Web y Alta disponibilidad Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos

Mediante el comando pcs cluster auth comandospodemos controlar el clúster mediante PCS del nodo01 (Servidor Web). Este se puede hacer en un solo nodo, no es necesario repetir todos los comandos en los dos nodos.

Adiciónanos los dos nodos a un clúster denominado cluster_web. La configuración del nodo de clúster se almacenará dentro de /etc/corosync.conf

Grafico Nro. 3.14 Adición de los Servidores Web y Alta disponibilidad al cluster Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos

Luego de crear el Cluster y añadir los nodos, iniciamos este servicio.

Grafico Nro. 3.15 Proceso Inicio del servicio del Cluster de Servicios Web Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos

75

Comprobación del estado del Cluster

Grafico Nro. 3.16 Comprobación del estado de servicio del Cluster Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos

Realizamos la comprobación del estado de los Nodos mediante:

sudo pcs status nodes

Realizamos la comprobación del estado de corosync mediante:

sudo pcs status corosync

Configuración del Cluster

Primero verificamos la existencia de errores iniciales.

Grafico Nro. 3.17 Verificación de errores en el servicio del Cluster Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos

Luego Ignoramos el parámetro de quorun el cual nos permite determinar el número de nodos que se necesitan que estén activos para que nuestro cluster esté disponible. Para nuestro proyecto el número de nodos disponibles es demasiado bajo; para un clúster de 2 nodos que

76

significa que ambos nodos deben estar disponibles para que el clúster a estar disponible. En nuestro caso, esto destruiría completamente el propósito de la disponibilidad.

Grafico Nro. 3.18 Ingreso de Parámetros para corrección de errores en el Cluster Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos

Creación de la IP virtual

Para efecto de este proyecto la dirección IP virtual que vamos a utilizar para la implementación de la Alta disponibilidad será la 10.30.XX.XX . Esta IP virtual la creamos mediante:

sudo pcs resource create virtual_ip ocf:heartbeat:IPaddr2 ip=10.30.23.238 cidr_netmask=24 op monitor interval=30s

Verificamos cual el nodo (Servidor) propietario de la IP virtual

Grafico Nro. 3.19 Verificación del Servidor propietario de la Dir IP Virtual Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos

Verificamos el estado de nuestro servidor Web con:  service httpd status

En cada uno de nuestros Nodos, habilitamos y ejecutamos los servicios de PCDS, Corosync, y Pacemaker.

77

En lo que respecta a la configuración de APACHE, en ambos nodos procedemos a modificar el archivo /etc/httpd/conf/http.conf agregando la nueva dirección IP del nodo virtual: listen 10.30.23.238:80.

Con esto conseguimos que ambos servidores escuchen a la dirección IP virtual,

Grafico Nro. 3.20 Modificación del Archivo http.conf

Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos

En cualquiera de los 2 nodos procedemos agregar recursos para nuestro servidor. Mediante:

sudo pcs resource create webserver ocf:heartbeat:apache

configfile=/etc/httpd/conf/httpd.conf statusurl="http://localhost/server-status" op monitor interval=1min

Luego agregamos los parámetros específicos para que la dirección IP virtual trabaje juntos de manera indeterminada con los servidores reales. Como ya tenemos configurado el Apache, el resultado de este parámetro permitirá escuchar al otro servidor real en caso de que el primero falle o sea inaccesible. Esto lo realizamos mediante:

sudo pcs constraint colocation add webserver virtual_ip INFINITY

Indicamos la prioridad de los servidores reales el cual tomara la dirección Ip virtual. Esto hace que el equipo real no se inicie antes que el equipo virtual.

sudo pcs constraint order virtual_ip then webserver

Adding virtual_ip webserver (kind: Mandatory) (Options: first-action=start then- action=start)

78

Si en el caso que uno de los 2 nodos falles, la Ip virtual debe tomar los datos del otro nodo en un tiempo no mayor a los 50s.

sudo pcs constraint location webserver prefers c7serv.mdvlosrios.gob.ec=50

Revisamos los parámetros configurados

Grafico Nro. 3.21 Verificación de los parámetros establecidos

Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos

Una vez finalizada la configuración del clúster con los parámetros correctos, lo reiniciamos y comprobamos el estado:

Grafico Nro. 3.22 Reinicio de los Servicios pcs en el Cluster

Fuente: Desarrollo propio del Autor a partir del Servidor Web del Miduvi Los Ríos

Se realizan las pruebas correspondientes. En nuestro caso en un navegador digitaremos la dirección IP virtual que configuramos previamente 10.30.XX.XX

79

Grafico Nro. 3.23 Archivo Index.html del Servidor Web visualizado desde la Dir. IP virtual

Fuente: Desarrollo propio del Autor a partir del Servidor Web Virtual Miduvi Los Ríos

El Grafico Nro. 3.23 hace referencia a la visualización del archivo index.html el cual toma la información en este caso del servidor Web del Servidor Web principal.

Dentro de la configuración de nuestro servidor Apache modificamos el archivo index.html para distinguir a que servidor estamos apuntando preliminarmente. Como se aprecia en la imagen anterior la IP virtual hace referencia al servidor 1 (Nodo 1) con la IP 10.30.XX.XX. Ahora vamos a asumir que la comunicación con este servidor se ha cortado mediante

Service network stop

Y nuevamente desde el navegador web ingresamos a la dirección IP virtual y se visualiza el contenido del archivo Index.html del nodo 2 (Servidor 2) 10.30.XX.XX

80

Grafico Nro. 3.24 Archivo Index.html del Servidor de Alta Disponibilidad visualizado desde Dir. IP virtual

Fuente: Desarrollo propio del Autor a partir del Servidor Web Virtual Miduvi Los Ríos

Documento similar