Publicado el 15 de Marzo del 2019
1.191 visualizaciones desde el 15 de Marzo del 2019
459,2 KB
15 paginas
Creado hace 8a (16/06/2016)
Servidor Web HA: Galera, Pacemaker,
Corosync, Hearbeat, GlusterFS, Apache
Servidor Web HA
Jesús Bueno Acosta
Servidor Web HA
Índice de contenido
1.1 Introducción a la alta disponibilidad..........................................................................................3
1.2 Objetivo del proyecto.................................................................................................................3
2.1 Galera.........................................................................................................................................3
2.1.1 Introducción a Galera.........................................................................................................3
2.1.2 Instalación de Galera..........................................................................................................4
2.1.3 Configuración de Galera....................................................................................................4
2.2 Apache.......................................................................................................................................6
2.2.1 Software Apache................................................................................................................6
2.2.1 Instalación y configuración de Apache..............................................................................6
2.3 Pacemaker, Corosync, Heartbeat...............................................................................................6
2.3.1 Introducción al software.....................................................................................................6
2.3.2 Instalación y configuración del clúster..............................................................................7
2.3.3 Configuración recurso VIP..............................................................................................10
2.3.4 Añadiendo el recurso de Apache......................................................................................11
2.4 GlusterFS.................................................................................................................................11
2.4.1 Introducción a GlusterFS.................................................................................................11
2.4.2 Instalación de GlusterFS..................................................................................................12
2.4.2 Configuración de GlusterFS.............................................................................................12
2.5 Drupal......................................................................................................................................13
2.5.1 Introducción a Drupal......................................................................................................13
2.5.2 Instalación de Drupal.......................................................................................................13
2.5.2.1 Configuración de la base de datos............................................................................13
2.5.2.2 Configuración de Drupal..........................................................................................14
3. Errores surgidos..............................................................................................................................14
4. Bibliografía.....................................................................................................................................15
Jesús Bueno Acosta
1. Introducción al objetivo
1.1 Introducción a la alta disponibilidad
Servidor Web HA
Alta disponibilidad (High availability) hace referencia a un protocolo que asegura un cierto grado
absoluto de continuidad operacional durante un período de medición dado. Disponibilidad se refiere
a la habilidad de la comunidad de usuarios para acceder al sistema, someter nuevos trabajos,
actualizar o alterar trabajos existentes o recoger los resultados de trabajos previos.
Si un usuario no puede acceder al sistema se dice que está no disponible. El término tiempo de
inactividad (downtime) es usado para definir cuándo el sistema no está disponible.
1.2 Objetivo del proyecto
El objetivo de este proyecto es la creación de un servidor web en HA. Para ello utilizaremos el
sistema operativo Debian, en el que instalaremos un software dedicado a la alta disponibilidad, un
clúster de base de datos para que la información de la misma este disponible en todos los nodos, un
sistema de almacenamiento que posea la misma configuración en ambos nodos y un servidor web
con un CMS implementado que ofrezca un recurso.
2. Configuración de los componentes
2.1 Galera
2.1.1 Introducción a Galera
MariaDB Galera Cluster es un clúster de sincronización multi-maestro de MariaDB. Está
disponible solo en Linux , y sólo es compatible con los motores de almacenamiento InnoDB y
XtraDB.
MariaDB Galera Cluster utiliza la biblioteca Galera para implementar de replicación.
La implementación de la API de replicación en MariaDB sucede en el proyecto de MySQL - wsrep
de código abierto .
Jesús Bueno Acosta
Servidor Web HA
2.1.2 Instalación de Galera
Los siguientes pasos deben hacerse en las tres máquinas
Lo primero será declarar las máquinas que formarán el clúster en el fichero /etc/hosts:
10.0.0.133 nodoha.gonzalonazareno.com nodoha
10.0.0.134 nodoha2.gonzalonazareno.com nodoha2
10.0.0.135 nodoha3.gonzalonazareno.com nodoha3
El siguiente paso será añadir el repositorio de MariaDB a nuestra lista de repositorios (importante
realizar antes de instalar cualquier programa un apt-get update). Para añadir el repositorio,
realizamos las siguientes instrucciones:
aptget install softwarepropertiescommon
aptkey adv recvkeys keyserver keyserver.ubuntu.com
0xcbcb082a1bb943db
addaptrepository 'deb [arch=amd64,i386]
http://tedeco.fi.upm.es/mirror/mariadb/repo/10.0/debian jessie
main'
aptget update
En el paso anterior, hemos añadido la clave de repositorio a nuestro depósito de claves y hemos
añadido la línea de MariaDB a nuestro sources.list.
Instalamos MariaDB:
aptget install mariadbserver
Instalamos Galera (esto nos borrará mariadb-server, necesitado para obtener archivos de
configuración):
aptget install y rsync galera mariadbgaleraserver
2.1.3 Configuración de Galera
Antes de hacer alguna modificación, debemos de asegurarnos de que el servicio mysql esta detenido
en las tres máquinas. Realizamos un systemctl status mysql para comprobarlo:
Creamos el fichero independiente /etc/mysql/conf.d/galera.cnf con el siguiente contenido:
Jesús Bueno Acosta
Servidor Web HA
(Ejemplo para nodoha)
[mysqld]
#mysql settings
binlog_format=ROW
defaultstorageengine=innodb
innodb_autoinc_lock_mode=2
query_cache_size=0
query_cache_type=0
bindaddress=0.0.0.0
#galera settings
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_name="warner"
wsrep_cluster_address="gcomm://10.0.0.133,10.0.0.134,10.0.0.135"
wsrep_node_address=10.0.0.133
wsrep_sst_method=rsync
Importante modificar wsrep_node_address en cada nodo.
Arrancamos mysql en el primer nodo:
/etc/init.d/mysql start wsrepnewcluster
Realizamos la siguiente consulta en mysql para obtener datos del cluster:
SELECT VARIABLE_VALUE as "cluster size"
FROM INFORMATION_SCHEMA.GLOBAL_STATUS
WHERE VARIABLE_NAME="wsrep_cluster_size";
++
| cluster size |
++
| 1
|
++
Arrancamos mysql en los otros nodos y volvemos a ejecutar la consulta anterior:
++
| cluster size |
++
| 3
|
++
Jesús Bueno Acosta
2.2 Apache
2.2.1 Software Apache
Servidor Web HA
El servidor HTTP Apache es un servidor web HTTP de código abierto, para plataformas Unix
(BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo
HTTP/1.12.
Su nombre se debe a que alguien quería que tuviese la connotación de algo que es firme y enérgico
pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en
gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas
y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Además Apache
consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. En inglés, a patchy
server (un servidor "parcheado") suena igual que Apache Server.
El servidor Apache es desarrollado y mantenido por una comunidad de usuarios bajo la supervisión
de la Apache Software Foundation dentro del proyecto HTTP Server (httpd).
2.2.1 Instalación y configuración de Apache
Vamos a instalar Apache con el componente de PHP para la posterior instalación de nuestro CMS.
Para ello, ejecutamos el siguiente comando en todos los nodos:
aptget install apache2 php5 php5gd php5mysql
Por último, activamos y arrancamos apache en las tres máquinas:
systemctl start apache2
2.3 Pacemaker, Corosync, Heartbeat
2.3.1 Introducción al software
Para conseguir la Alta Diponibilidad de nuestros servicios, se detallará como llevar a cabo la
configuración de tres herramientas:
Jesús Bueno Acosta
Servidor Web HA
•
Pacemaker: Verifica el estado de los recursos (o servicios) que le han sido asignados. En
caso algún servicio falle, Pacemaker puede reiniciarlo.
• Corosync: Debe configurarse para que nuestros servidores se pueden comunicar como un
clúster.
• Heartbeat: Encargado de revisar que cada nodo se halle funcionando. En caso un nodo falle
migrará los recursos a otro nodo que también se halle ejecutando el servicio heartbeat.
Mientras heartbeat se encarga que revisar el estado de cada nodo, Pacemaker es el responsable de
verificar el estado de los servicios que deseemos sean HA dentro de los nodos.
2.3.2 Instalación y configuración del clúster
El primer paso será añadir a nuestros repositorios el re
Comentarios de: Servidor Web HA: Galera, Pacemaker, Corosync, Hearbeat, GlusterFS, Apache (0)
No hay comentarios