Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MARE NOSTRUM
Beato Fco. Castelló Aleu s/n 965936520
03008 ALICANTE
www.iesmarenostrum.com
correo@iesmarenostrum.com
PRÁCTICA: CLUSTER EN
LINUX UBUNTU 18.04
El objetivo de la siguiente práctica es crear un cluster de alta
disponibilidad en Linux Ubuntu, haciendo uso del middleware
corosync/pacemaker. El escenario será el siguiente: dos máquinas
ubuntu 18.04 (nodos) en clúster con un servidor de Apache. En caso
de caer algún nodo se retomarán las funciones, para no interrumpir el
servicio de cara al cliente, en el otro nodo.
• https://www.digitalocean.com/community/tutorials/how-to-
create-a-high-availability-setup-with-corosync-pacemaker-and-
floating-ips-on-ubuntu-14-04
• http://www.elarraydejota.com/cluster-apache-en-alta-
disponibilidad-con-pacemakercorosync-en-ubuntu-server-lts-
14-04/
• http://www.cloudera.com/documentation/enterprise/5-4-x/
topics/admin_cm_ha_failover.html#concept_olg_c22_qr
El primer paso será colocar cada uno de los nodos con IP fija. El
primer paso será averiguar en que red nos encontramos (ifconfig). Os
recuerdo también que en VMWare la puerta de enlace es la
máquina .2, no la .1. Una vez hecho ésto, seguiremos las indicaciones
de este tutorial (nota: el fichero a modificar puede ser diferente).
Una vez instalado, deberemos generar la clave que se usará entre los
nodos del cluster para comunicación. La generación de la clave
necesitará que pulsemos el teclado mientras se realiza el proceso.
Sudo corosync-keygen
totem {
version: 2
cluster_name: lbcluster
transport: udpu
interface {
ringnumber: 0
bindnetaddr: 192.168.125.0
broadcast: yes
mcastport: 5405
}
}
quorum {
provider: corosync_votequorum
two_node: 1
}
nodelist {
node {
ring0_addr: 192.168.125.10
name: sad2021
nodeid: 1
}
node {
ring0_addr: 192.168.125.20
name: sad2021-2
nodeid: 2
}
}
logging {
to_logfile: yes
logfile: /var/log/corosync/corosync.log
to_syslog: yes
timestamp: on
}
START=yes
runtime.totem.pg.mrp.srp.members.1.config_version (u64) = 0
runtime.totem.pg.mrp.srp.members.1.ip (str) = r(0) ip(192.168.125.10)
runtime.totem.pg.mrp.srp.members.1.join_count (u32) = 1
runtime.totem.pg.mrp.srp.members.1.status (str) = joined
runtime.totem.pg.mrp.srp.members.2.config_version (u64) = 0
runtime.totem.pg.mrp.srp.members.2.ip (str) = r(0) ip(192.168.125.20)
runtime.totem.pg.mrp.srp.members.2.join_count (u32) = 1
runtime.totem.pg.mrp.srp.members.2.status (str) = joined
El último paso será dar el servicio web mediante las dos máquinas.
Para ello instalaremos apache2 (sudo apt-get install apache2), y
modificaremos el fichero /var/www/html/index.html, añadiendo el
número de nodo que da soporte al servicio (y vuestras iniciales).
<html>
<body>
<h1>It works! JRGS</h1>
<p>This is the default web page for server 1(2).</p>
<p>The web server software is running but no content
has been added, yet.</p>
</body>
</html>