SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
CLÚSTER HA
Clúster HA con Pacemaker, Corosync & Apache2

Sistemas Distribuidos I
Mario Alberto Ángeles Jiménez

09200021

José Alfonso Quezada Ibarra

09201176

Isabel Martínez Monsalvo

10200222

Alex Domitilo García Hernández

09201173

29 DE NOVIEMBRE DE 2013
ITP
Contenido:
Problema .............................................................................................. 3
Marco teórico ......................................................................................... 3
¿Qué son los clúster? .............................................................................. 3
Definición de Clúster ........................................................................... 3
Clúster en GNU/Linux ............................................................................. 4
Tipos de Clúster ................................................................................... 5
Clústeres de Balanceo de Carga .............................................................. 5
Clústeres de Alto Rendimiento ................................................................ 5
Clústeres de Alta Disponibilidad .............................................................. 5
Componentes principales de un Clúster de Alta Disponibilidad ............................. 6
Nodos ............................................................................................. 6
Sistema Operativo .............................................................................. 6
Conexiones de RED ............................................................................. 7
MiddleWare ...................................................................................... 7
Recursos o Servicios ............................................................................ 7
Alta Disponibilidad ................................................................................ 8
Beneficios de un Clúster de Alta Disponibilidad .............................................. 9
Estrategia de Implementación .................................................................... 10
Objetivos ............................................................................................. 12
Objetivo General ................................................................................. 12
Objetivos Específicos ............................................................................ 12
Justificación ......................................................................................... 13
Determinación del software a ocupar ............................................................ 14
Requerimientos Básicos para la implementación del clúster HA .......................... 14
Elementos del Clúster desarrollado ............................................................ 14
Instalación y configuración del software ........................................................ 15
Instalación del sistema Operativo .............................................................. 15
Software Requerido .............................................................................. 16
Instalación & Configuraciones................................................................ 16
FTP/VSFTPD .................................................................................. 16
Telnet ......................................................................................... 21
SSH ............................................................................................ 22

Instituto Tecnológico de Pachuca

Página |1

Clúster HA
NFS ............................................................................................ 24
Samba ......................................................................................... 24
Configuración e instalación de Pacemaker, Corosync & Apache2 ...................... 25
Conclusiones ......................................................................................... 40
Referencias........................................................................................... 41

Instituto Tecnológico de Pachuca

Página |2

Clúster HA
Problema
“implantación de un clúster de alta disponibilidad (HA), como proyecto final de la
materia de sistemas distribuidos I”

Marco teórico

¿Qué son los clúster?
Definición de Clúster
“un tipo de sistema distribuido o paralelo conformado por una colección de
computadoras interconectadas usado como un único recurso de computación
unificado”

Las supercomputadoras son usadas en bancos, universidades y centros de investigación
para realizar complejos cálculos y obtener rápidos resultados. Seguramente habrán visto
en fotos esas grandes máquinas que ocupan cuartos completos y que permiten ejecutar
miles de millones de operaciones por segundo.
Esas "Centrales" poseen varios procesadores, inmensas cantidades de memoria y un
espacio de almacenamiento mucho más grande de lo que puedan imaginar. Todos estos
recursos pueden estar dispuestos de dos formas:



centralizados (todo dentro de una gran caja)
distribuidos.

Esta última modalidad es la que nosotros vamos a implementar. Vamos a decir que los
clúster son computadoras potentes que funcionan gracias a un sistema que permite
compartir los recursos de varios subsistemas. Podemos tener dos o más computadoras
interconectadas entre sí por una red y hacer que compartan libremente sus recursos.
Y cuando hablamos de recursos, no sólo nos referimos a archivos e impresoras: los
clúster permiten que las computadoras compartan sus procesadores y sus memorias RAM.
Se estarán preguntando, entonces: si conectamos dos computadoras en una arquitectura
de clúster... ¿Podemos obtener una sola con el doble de potencia?
En cierta forma, sí. La ganancia de rendimiento no es de exactamente el doble, pero es
muy superior a la de cada unidad del clúster.

Instituto Tecnológico de Pachuca

Página |3

Clúster HA
En muchas universidades se usan clúster de 40 o 50 computadoras de "bajo"
rendimiento, como 486 y Pentium I o II. Estas máquinas, trabajando en conjunto,
ofrecen un súper sistema de cómputo muy eficaz, cuyo costo es significativamente
menor que el de una supercomputadora cuyos recursos están centralizados en una gran
caja.

Clúster en GNU/Linux
Nuestro querido sistema operativo nos permite hacer esto de forma súper sencilla. Todo
lo que necesitamos son un par de máquinas conectadas entre sí (una red convencional es
suficiente) y el software requerido.

Instituto Tecnológico de Pachuca

Página |4

Clúster HA
Tipos de Clúster
Los clústeres cuyos nodos tienen arquitecturas similares y un mismo sistema operativo se
los conoce como Homogéneos caso contrario se los conoce como Heterogéneos.
Así mismo, existen 3 áreas principales en las que los clústeres tienen su campo de acción
y es precisamente de allí de donde toman su nombre.





Clústeres de Balanceo de Carga.
Clústeres de Alta Disponibilidad.
Clústeres de Alto Rendimiento

Clústeres de Balanceo de Carga
El objetivo de un clúster de Balanceo de Carga es el de distribuir el trabajo entre todos
los nodos del clúster, esto se consigue asignando el trabajo al nodo que posee más
recursos disponibles.
Este tipo de clústeres se usan comúnmente en servicios que por su naturaleza tienen una
enorme cantidad de carga, como por ejemplo: los servidores Web.

Clústeres de Alto Rendimiento
El objetivo de un clúster de alto rendimiento es compartir el recurso más valioso de un
computador, es decir, la capacidad de procesamiento.
Este tipo de clústeres son muy populares, y quizás también los más antiguos, ya que en
sus inicios fueron desarrollados para centros de cómputo enfocados en investigaciones
científicas donde era necesario tener un gran poder de procesamiento, capaz de
soportar una inmensa cantidad de cálculos para resolver un problema específico.

Clústeres de Alta Disponibilidad
El objetivo principal de un clúster de alta disponibilidad, también conocido como clúster
HA por las palabras en inglés High Availability, es el de mantener disponible uno o más
servicios la mayor cantidad de tiempo posible.

Instituto Tecnológico de Pachuca

Página |5

Clúster HA
Este tipo de clústeres se caracterizan por que sus nodos están monitoreándose de
manera continua, es así que, cuando se detecta un falló de hardware o software en uno
de los nodos, otro nodo se encarga de proveer los servicios del nodo con problemas,
minimizando así la percepción de la pérdida de servicio por parte de los usuarios.

Componentes principales de un Clúster de Alta Disponibilidad
Los componentes principales de un clúster HA son:






Nodos
Sistema Operativo
Conexiones de Red
Middleware
Recursos o Servicios

Nodos
Un nodo no es otra que un computador dentro del clúster. Un nodo puede ser un
computador convencional, un servidor o un súper computador. Aunque no es
estrictamente obligatorio que todos los nodos del clúster sean exactamente iguales es
recomendable que estos compartan características similares de procesamiento y
almacenamiento para evitar un comportamiento ineficiente del clúster.

Sistema Operativo
Una definición más precisa de lo que es un sistema operativo se encuentra más
adelante, sin embargo se puede decir de manera general que un sistema operativo es
aquel que se encarga de alojar los recursos e interactuar con el hardware en un
computador. No todos los sistemas operativos disponibles tienen las características
necesarias para conformar un clúster, un claro ejemplo de esta realidad es MS-DOS.

Por lo tanto, un sistema operativo para clústeres debe ser robusto, estable y confiable,
además debe ser multiusuario y multiproceso.

Instituto Tecnológico de Pachuca

Página |6

Clúster HA
Conexiones de RED
Computacionalmente hablando, una conexión de red es el medio por el cual, al menos
dos computadores, envían y reciben información. Un requisito indispensable para la
implementación de un clúster es que todos los nodos sean capaces de comunicarse entre
sí a través de una conexión de red. Independientemente de la tecnología seleccionada se
recomienda que la velocidad de comunicación entre los nodos sea lo más homogénea
posible y mientras más rápida, mejor.

MiddleWare
De acuerdo con el profesor Sacha Krakowiak de la Universidad Joseph Fourier de
Francia, un middleware es:
“la capa de software que se encuentra entre el sistema operativo y las aplicaciones
en cada sitio del sistema.”
(Krakowiak, 2003)

En otras palabras, es un programa intermediario entre dos programas independientes. El
middleware es el encargado de monitorear, administrar, distribuir y controlar el
comportamiento general del clúster.
Algunos de los middlewares de alto nivel más populares para clústeres son:






Beowulf.
OSCAR (Open Source Cluster Application Resources).
OpenMosix.
Pacemaker.
Red Hat HPC Solution cluster.

Recursos o Servicios
Desde el punto de vista de un administrador de sistemas, un servicio o aplicación son
piezas de código que se ejecutan en el servidor para cumplir una tarea específica. Sin
embargo desde el punto de vista del Clúster, un servicio o aplicación son simples
recursos que pueden ser iniciados o detenidos. Por ejemplo, si hablamos de un servicio
Web ó un servidor HTTP, el recurso para el clúster es el servidor Web.

De la misma manera, para un servicio de correo o servidor SMTP, el recurso es el
servidor de correo. Esto también quiere decir que todo recurso tiene un servicio
asociado.

Instituto Tecnológico de Pachuca

Página |7

Clúster HA
Alta Disponibilidad
La disponibilidad se basa en un modelo matemático que provee el grado en que un
sistema de software permanece en una condición operable.

𝐴=

𝑀𝑇𝑇𝐹
𝑀𝑇𝑇𝐹+𝑀𝑇𝑇𝑅

MTTF = Es el tiempo promedio entre fallos.
MTTR = Es el tiempo promedio que tomar reparar el sistema después de un fallo.

Existen 2 métodos para alcanzar una alta disponibilidad:



Incrementar el valor del MTTF.
Reducir el valor del MTTR.

Instituto Tecnológico de Pachuca

Página |8

Clúster HA
Beneficios de un Clúster de Alta Disponibilidad
Uno de los beneficios principales de un clúster de alta disponibilidad es la reducción de
las interrupciones de los servicios por problemas imprevistos de hardware o software, ya
que los recursos pueden ser configurados de tal manera que sean migrados
automáticamente a otro servidor ante un evento ocasionado por problemas en el
servidor principal.

Así mismo es posible cambiar o mover los recursos dinámicamente entre los nodos del
clúster cuando existen tareas planificadas de mantenimiento o actualizaciones de
hardware y software.

Otros beneficios de un clúster de alta disponibilidad son:






Mayor disponibilidad
Bajo costo de operación
Escalabilidad
Recuperación de desastres
Protección y Redundancia de datos

Instituto Tecnológico de Pachuca

Página |9

Clúster HA
Estrategia de Implementación
La estrategia de implementación propuesta consiste en instalar, configurar e integrar
todos los componentes.

Para completar la estrategia es necesario realizar las siguientes actividades:







Diseñar la arquitectura física del clúster.
Instalar y configurar el sistema operativo GNU/Linux.
Instalar y configurar el sistema de archivos para clústeres o el
administrador de sincronización de datos.
Instalar el administrador de membresía y mensajería.
Instalar y configurar el administrador de recursos.
Instalar y configurar los servicios y/o aplicaciones.

Instituto Tecnológico de Pachuca

P á g i n a | 10

Clúster HA
Servicios y/o Aplicaciones
•BIND
•VSFTPD
•Apache
Administradores (Mensajeria, Membrecia y Recursos)
•Corosync
•Pacemaker
Sistema de Almacenamiento Distribuido
(Sincronizacion)
•DRBD
UBUNTU 12.04

Instituto Tecnológico de Pachuca

P á g i n a | 11

Clúster HA
Objetivos
Objetivo General
Mostrar una estrategia para la implementación de un clúster de alta disponibilidad, para
profundizar conceptos y fundamentos relacionados con este tipo de clúster, utilizando
software de distribución libre bajo la licencia de GNU/Linux.

Objetivos Específicos


Plantear una estrategia para la implementación de un
Clúster de Alta disponibilidad.



Implementar un prototipo de un Clúster de Alta
Disponibilidad sobre la plataforma Linux Ubuntu.



Configurar e Integrar cuatro nodos al Clúster de Alta
Disponibilidad con 2 Servicios (Apache y FTP).

Instituto Tecnológico de Pachuca

P á g i n a | 12

Clúster HA
Justificación
En la actualidad los servicios de computación relacionados con el Internet como el
correo electrónico, la navegación Web y transferencia de archivos son una parte
importante en el día a día de muchas empresas, por esta razón es necesario
implementar mecanismos de redundancia que permitan que estos servicios estén
disponibles la mayor cantidad de tiempo posible para los usuarios.

Por esta razón se justifica la implementación de este proyecto en vista de la necesidad
de mejorar la redundancia y la alta disponibilidad de aquellas empresas que dependen
de los servicios proporcionados por un solo servidor.

Por otro lado es importante que las empresas de nuestro país utilicen tecnología de
punta dentro de su infraestructura tecnológica para poder competir con otras empresas
del país y del mundo.

Instituto Tecnológico de Pachuca

P á g i n a | 13

Clúster HA
Determinación del software a ocupar
Requerimientos Básicos para la implementación del clúster HA






2 Computadoras con tarjetas de red Ethernet
(Pueden ser máquinas virtuales).
1 Red Ethernet.
Acceso a Internet.
Cada computadora debe tener como sistema
operativo, Ubuntu 12.04.

Elementos del Clúster desarrollado


4 laptop´s con sus respectivos puertos de red Ethernet y Wi-Fi



1 red de Ethernet (proporcionado por un modem Thomson
“Telmex”)



Acceso a internet



Ubuntu 12.04 a 64 bits

####################################################################
NOTA: todas las instalaciones de Ubuntu, deben ser la misma versión y misma
arquitectura esto es x86 o x64, además no se puede hacer las configuraciones
de Pacemaker y Corosync en versiones XX.10 de Ubuntu, Ejemplo Ubuntu
13.10 o Ubuntu Gnome 13.10, parece ser que la versión 13.04 de Ubuntu es
compatible, y la versión 12.10 no fue probada.

####################################################################
####################################################################

Instituto Tecnológico de Pachuca

P á g i n a | 14

Clúster HA
Instalación y configuración del software
Sin lugar a dudas estos son los dos puntos más importantes dentro de la elaboración de
este tipo de proyectos por ello es recomendable leer y entender la documentación
incluida con el software para que la instalación y la configuración seleccionada sea la
más adecuada.

También es importante cumplir los requerimientos individuales de cada programa para
evitar problemas de incompatibilidad.

Instalación del sistema Operativo
El sistema operativo a utilizar es la distribución de Linux Ubuntu en su versión 12.04, con
la arquitectura x64.

Una vez instalado se actualiza el sistema en todos los nodos del clúster, esto es:

root@iponxho18:~# apt-get update
root@mario:~# apt-get update
root@alex:~# apt-get update
root@iza:~# apt-get update

Instituto Tecnológico de Pachuca

P á g i n a | 15

Clúster HA
Software Requerido












VSFTPD
XINETD
TELNETD
SSH
NFS
SAMBA
JAVA
PACEMAKER
COROSYNC
APACHE2

Este software debe ser instalado en todos y cada uno de los nodos del clúster.

Instalación & Configuraciones
FTP/VSFTPD
FTP – Protocolo de transferencia de archivos
Es un protocolo de red para la transferencia de archivos entre sistemas
conectados a una red TCP (Transmission Control Protocol), basada en la
arquitectura Cliente Servidor.

VSFTPD – Very Secure FTP Daemon
Es un servidor de archivos por FTP muy ligero y seguro. Es el recomendado por
DEBIAN y Ubuntu tiene una configuración muy sencilla en un solo fichero y se
adapta muy bien a un servidor multi-hosting.

Instituto Tecnológico de Pachuca

P á g i n a | 16

Clúster HA
Se Instala con el comando:

root@iponxho18:~# apt-get install vsftpd nmap
root@mario:~# apt-get install vsftpd nmap
root@alex:~# apt-get install vsftpd nmap
root@iza:~# apt-get install vsftpd nmap

Después tenemos que hacer unas modificaciones al archivo de configuración vsftpd.conf

root@iponxho18:~# gedit /etc/vsftpd.conf
root@mario:~# gedit /etc/vsftpd.conf
root@alex:~# gedit /etc/vsftpd.conf
root@iza:~# gedit /etc/vsftpd.conf

Y nos abrirá la siguiente ventana, solo hay que des-comentar las líneas
Local_enable=yes
Write_enable=yes

Instituto Tecnológico de Pachuca

P á g i n a | 17

Clúster HA
#######################################################################
###

/etc/vsftpd.conf

###

#######################################################################
# Example config file /etc/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
#
# Run standalone? vsftpd can run either from an inetd or as a standalone
# daemon started from an initscript.
listen=YES
#
# Run standalone with IPv6?
# Like the listen parameter, except vsftpd will listen on an IPv6 socket
# instead of an IPv4 one. This parameter and the listen parameter are mutually
# exclusive.
#listen_ipv6=YES
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
#local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# If enabled, vsftpd will display directory listings with the time
# in your local time zone. The default is to display GMT. The
# times returned by the MDTM FTP command are also affected by this
# option.
use_localtime=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES

Instituto Tecnológico de Pachuca

P á g i n a | 18

Clúster HA
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
#xferlog_std_format=YES
#
# You may change the default value for timing out an idle session.
#idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
#data_connection_timeout=120
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that on some FTP servers, ASCII support allows a denial of service
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
# predicted this attack and has always been safe, reporting the size of the
# raw file.
# ASCII mangling is a horrible feature of the protocol.
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# You may fully customise the login banner string:
#ftpd_banner=Welcome to blah FTP service.
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd.banned_emails
#
# You may restrict local users to their home directories. See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
#chroot_local_user=YES
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().

Instituto Tecnológico de Pachuca

P á g i n a | 19

Clúster HA
# (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
# the user does not have write access to the top level directory within the
# chroot)
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
#ls_recurse_enable=YES
#
# Customization
#
# Some of vsftpd's settings don't fit the filesystem layout by
# default.
#
# This option should be the name of a directory which is empty. Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir=/var/run/vsftpd/empty
#
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/private/vsftpd.pem

############################################################################
############################################################################

Instituto Tecnológico de Pachuca

P á g i n a | 20

Clúster HA
Telnet
Telnet
Es el nombre de un protocolo de red que sirve para accedes mediante una red a
otra máquina para manejarla remotamente como si estuviéramos sentados
delante de ella.
Para su instalación:

root@iponxho18:~# apt-get install xinetd telnetd
root@mario:~# apt-get install xinetd telnetd
root@alex:~# apt-get install xinetd telnetd
root@iza:~# apt-get install xinetd telnetd

############################################################################
Nota: actualmente se desaconseja el uso de telnet en ambiente donde la
seguridad sea importante, ya que los datos son enviados sin cifrar, y esto facilita
que cualquier intruso espié el tráfico de la red y pueda obtener los nombre de
usuarios y contraseñas, y de este modo poder accesar a los equipos.
############################################################################
############################################################################

Instituto Tecnológico de Pachuca

P á g i n a | 21

Clúster HA
SSH
SSH – Secure Shell

Es el nombre del protocolo y del programa que lo implementa y sirve para
acceder a maquinas remotas a través de una red.
Permite manejar por completo la computadora mediante interprete de
comandos, y también redirigir el tráfico de X para poder ejecutar programas
gráficos si tenemos un servidor X (en sistemas Unix y Windows) corriendo.

Para la instalación:

root@iponxho18:~# apt-get install openssh-server
root@mario:~# apt-get install openssh-server
root@alex:~# apt-get install openssh-server
root@iza:~# apt-get install openssh-server

La configuración del SSH

root@iponxho18:~# gedit /etc/hosts.allow
root@mario:~# gedit /etc/hosts.allow
root@alex:~# gedit /etc/hosts.allow
root@iza:~# gedit /etc/hosts.allow

Y solamente agregamos al final del archivo la siguiente línea ALL:ALL

Instituto Tecnológico de Pachuca

P á g i n a | 22

Clúster HA
#######################################################################
###
/etc/hosts.allow
###
#######################################################################

#
#
#
#
#
#
#
#
#
#
#
#

/etc/hosts.allow: list of hosts that are allowed to access the system.
See the manual pages hosts_access(5) and hosts_options(5).
Example:

ALL: LOCAL @some_netgroup
ALL: .foobar.edu EXCEPT terminalserver.foobar.edu

If you're going to protect the portmapper use the name "portmap" for the
daemon name. Remember that you can only use the keyword "ALL" and IP
addresses (NOT host or domain names) for the portmapper, as well as for
rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
for further information.

ALL:ALL

############################################################################
############################################################################

Instituto Tecnológico de Pachuca

P á g i n a | 23

Clúster HA
NFS
NFS (Network File System) es un protocolo de sistema de archivos en red
desarrollado originalmente por Sun Microsystems en 1984, permitiéndole a un
usuario en una máquina cliente acceder a los archivos en la red como si lo
estuviera haciendo localmente.
Para su instalación:

root@iponxho18:~# apt-get install nfs-kernel-server nfs-common portmap
root@mario:~# apt-get install nfs-kernel-server nfs-common portmap
root@alex:~# apt-get install nfs-kernel-server nfs-common portmap
root@iza:~# apt-get install nfs-kernel-server nfs-common portmap

Samba
Samba es un software que permite a tu ordenador poder compartir archivos e
impresoras con otras computadoras en una misma red local. Utiliza para ello un
protocolo conocido como SMB/CIFS compatible con sistemas operativos UNIX o
Linux, como Ubuntu, pero además con sistemas Windows (XP, NT, 98...), OS/2 o
incluso DOS. También se puede conocer como LanManager o NetBIOS.
Para su instalación:

root@iponxho18:~# apt-get install samba samba-common smbclient
libpam-smbpass python-glade2 system-config-samba
root@mario:~# apt-get install samba samba-common smbclient
libpam-smbpass python-glade2 system-config-samba
root@alex:~# apt-get install samba samba-common smbclient
libpam-smbpass python-glade2 system-config-samba
root@iza:~# apt-get install samba samba-common smbclient
libpam-smbpass python-glade2 system-config-samba

Instituto Tecnológico de Pachuca

P á g i n a | 24

Clúster HA
Configuración e instalación de Pacemaker, Corosync & Apache2
Primero que nada tenemos que crear un red, para esto utilizamos un modem X
(utilizamos nuestro modem Telmex, porque queríamos dejar sin internet a nuestro
carnalito XD), y configurar las direcciones IP de cada equipo como estáticas.

Para montar nuestro clúster, se utilizaron 3 clientes y un servidor
192.168.1.2

iponxho18

Nodo Principal

192.168.1.3

iza

Nodo

192.168.1.4

mario

Nodo

192.168.1.5

alex

Nodo

Editamos el archivo /etc/hosts

root@iponxho18:~# gedit /etc/hosts
root@mario:~# gedit /etc/hosts
root@alex:~# gedit /etc/hosts
root@iza:~# gedit /etc/hosts

Instituto Tecnológico de Pachuca

P á g i n a | 25

Clúster HA
#######################################################################
###
/etc/hosts
###
#######################################################################
127.0.0.1
127.0.1.1

localhost
iponxho18

192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.254

iponxho18
iza
mario
alex
Modem

# The following lines are desirable for IPv6 capable hosts
::1
ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

############################################################################
############################################################################
Se hacen los pings a los nodos que se crearon

Instituto Tecnológico de Pachuca

P á g i n a | 26

Clúster HA
Para empezar se instalara Apache2

root@iponxho18:~# apt-get install apache2
root@mario:~# apt-get install apache2
root@alex:~# apt-get install apache2
root@iza:~# apt-get install apache2

Creamos un virtual-host, para esto editaremos el siguiente archivo:

root@iponxho18:~# gedit /etc/apache2/sites-available/default
root@mario:~# gedit /etc/apache2/sites-available/default
root@alex:~# gedit /etc/apache2/sites-available/default
root@iza:~# gedit /etc/apache2/sites-available/default

Y lo modificamos para que este de la siguiente forma:

Instituto Tecnológico de Pachuca

P á g i n a | 27

Clúster HA
#######################################################################
###
/etc/apache2/sites-available/default
###
#######################################################################
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName localhost
DocumentRoot /home/www/SISTEMAS
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/www/SISTEMAS>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>

############################################################################
############################################################################

Instituto Tecnológico de Pachuca

P á g i n a | 28

Clúster HA
En donde:

“DocumentRoot /home/www/SISTEMAS” & “<Directory /home/www/SISTEMAS>

Pertenecen a los directorios donde están alojadas las páginas a mostrar.

El siguiente paso en el directorio /etc/apache2/sites-available/ teclear el
siguiente comando:

root@iponxho18:~# cd /etc/apache2/sites-available/
root@iponxho18:/etc/apache2/sites-available# a2ensite default
root@mario:~# cd /etc/apache2/sites-available/
root@mario:/etc/apache2/sites-available# a2ensite default
root@alex:~# cd /etc/apache2/sites-available/
root@alex:/etc/apache2/sites-available# a2ensite default
root@iza:~# cd /etc/apache2/sites-available/
root@iza:/etc/apache2/sites-available# a2ensite default

El comando "a2ensite", lo único que hace es un enlace simbólico dentro de la carpeta
/etc/apache2/sites-enabled a algunos de los sitios que están en la otra carpeta
/etc/apache2/sites-available, es decir en sites-available están los sitios disponibles, y
en sites-enabled están los que podemos usar.
Y después recargamos el apache:

root@iponxho18:~# /etc/init.d/apache2 reload
root@mario:~# /etc/init.d/apache2 reload
root@alex:~# /etc/init.d/apache2 reload
root@iza:~# /etc/init.d/apache2 reload

Instituto Tecnológico de Pachuca

P á g i n a | 29

Clúster HA
Ahora instalaremos COROSYNC y PACEMAKER en todos los nodos del clúster.

root@iponxho18:~# apt-get install pacemaker corosync
root@mario:~# apt-get install pacemaker corosync
root@alex:~# apt-get install pacemaker corosync
root@iza:~# apt-get install pacemaker corosync

Como el nodo principal (servidor) es iponxho18, en esta máquina se creara el archivo de
autentificación de Corosync

root@iponxho18:~# Corosync-keygen

Automáticamente le da permisos, así que no es necesario especificarlos, después hay
que pasar esta llave a los demás nodos por medio de SSH, antes que nada en los nodos
clientes hay que otorgar permisos de escritura.

Instituto Tecnológico de Pachuca

P á g i n a | 30

Clúster HA
root@iponxho18:~# cd /etc/
root@iponxho18:/etc# chmod –R 777 corosync
root@mario:~# cd /etc/
root@mario:/etc# chmod –R 777 corosync
root@alex:~# cd /etc/
root@alex:/etc# chmod –R 777 corosync
root@iza:~# cd /etc/
root@iza:/etc# chmod –R 777 corosync

Ahora si podemos pasar el archivo llave.

root@iponxho18:~#
scp /etc/Corosync/authkey iza@iza:/etc/corosync/authkey
root@iponxho18:~#
scp /etc/Corosync/authkey mario@mario:/etc/corosync/authkey
root@iponxho18:~#
scp /etc/Corosync/authkey alex@alex:/etc/corosync/authkey

Cabe destacar que la sintaxis es la siguiente:
scp Archivo_a_copiar Usuario@IP:Directorio_a_guardar

Editamos el fichero de configuración /etc/corosync/corosync.conf en todos los nodos, y
añadimos la red a utilizar.

Instituto Tecnológico de Pachuca

P á g i n a | 31

Clúster HA
root@iponxho18:~# gedit /etc/Corosync/Corosync.conf
root@mario:~# gedit /etc/Corosync/Corosync.conf
root@alex:~# gedit /etc/Corosync/Corosync.conf
root@iza:~# gedit /etc/Corosync/Corosync.conf

#######################################################################
###
/etc/corosync/corosync.conf
###
#######################################################################

# Please read the openais.conf.5 manual page
totem {
version: 2
# How long before declaring a token lost (ms)
token: 3000
# How many token retransmits before forming a new configuration
token_retransmits_before_loss_const: 10
# How long to wait for join messages in the membership protocol (ms)
join: 60
# How long to wait for consensus to be achieved before starting a new round of membership
configuration (ms)
consensus: 3600
# Turn off the virtual synchrony filter
vsftype: none
# Number of messages that may be sent by one processor on receipt of the token
max_messages: 20
# Limit generated nodeids to 31-bits (positive signed integers)
clear_node_high_bit: yes
# Disable encryption
secauth: off
# How many threads to use for encryption/decryption
threads: 0
# Optionally assign a fixed node id (integer)
# nodeid: 1234
# This specifies the mode of redundant ring, which may be none, active, or passive.
rrp_mode: none
interface {
# The following values need to be set based on your environment
ringnumber: 0

Instituto Tecnológico de Pachuca

P á g i n a | 32

Clúster HA
bindnetaddr: 192.168.1.0
mcastaddr: 226.94.1.1
mcastport: 5405
}
}
amf {
mode: disabled
}
service {
# Load the Pacemaker Cluster Resource Manager
ver:
0
name:
pacemaker
}
aisexec {
user:
group:
}

root
root

logging {
fileline: off
to_stderr: yes
to_logfile: no
to_syslog: yes
syslog_facility: daemon
debug: off
timestamp: on
logger_subsys {
subsys: AMF
debug: off
tags: enter|leave|trace1|trace2|trace3|trace4|trace6
}
}

############################################################################
############################################################################

Donde bindnetaddr: 192.168.1.0
Sirve para especificar que el clúster va a trabajar en todo el rango de direcciones
IP de 192.168.1.X

Instituto Tecnológico de Pachuca

P á g i n a | 33

Clúster HA
También tendremos que configurar el fichero /etc/default/corosync para que reconozca
el demonio, esto se consigue poniéndolo a yes:

root@iponxho18:~# gedit /etc/default/corosync
root@mario:~# gedit /etc/default/corosync
root@alex:~# gedit /etc/default/corosync
root@iza:~# gedit /etc/default/corosync

#######################################################################
###
/etc/default/corosync
###
#######################################################################
# start corosync at boot [yes|no]
START=yes

############################################################################
############################################################################

Se reinicia el servicio en todos los nodos:

root@iponxho18:~# service Corosync restart
root@mario:~# service Corosync restart
root@alex:~# service Corosync restart
root@iza:~# service Corosync restart

Instituto Tecnológico de Pachuca

P á g i n a | 34

Clúster HA
Y con el comando crm status podemos ver el estado del

Configuración de la IP VIRTUAL como recurso:
El recurso que vamos a configurar en este ejemplo va a ser una dirección IP
192.168.1.90, para ello en primer lugar desactivamos el mecanismo de STONITH (Shoot
The Other Node In The Head), que se utiliza para parar un nodo que esté dando
problemas y así evitar un comportamiento inadecuado del clúster:

root@iponxho18:~# crm configure property stonith-enabled=false
root@mario:~# crm configure property stonith-enabled=false
root@alex:~# crm configure property stonith-enabled=false
root@iza:~# crm configure property stonith-enabled=false

Ahora configuramos el recurso de la IP virtual (192.168.1.90):
Y configuraremos un recurso para los nodos (a partir de ahora todo lo que se configure
de crm en un nodo se replicará al otro):

Instituto Tecnológico de Pachuca

P á g i n a | 35

Clúster HA
root@iponxho18:~# crm configure primitive FAILOVER-ADDR
ocf:heartbeat:IPaddr2 params ip=”192.168.1.90” nic=”eth0” op
monitor interval=”10s” meta is-managed=”true”

donde se tiene la siguiente sintaxis:
crm configure primitive NOMBRE_RECURSO ocf:heartbeat:IPaddr2 params
ip=”IP_VIRTUAL” nic=”eth0” op monitor interval=”10s” meta is-managed=”true”

Podremos comprobarlo haciendo un crm_mon:

root@iponxho18:~# crm_mon

Sin embargo iponxho18 (Nodo Principal) no pasa a ofrecer el recurso directamente
porque no hay cuórum en el clúster. El cuórum (quorum) es una propiedad que utiliza
Pacemaker para tomar las decisiones apropiadas mediante consultas consensuadas a
todos los nodos, pero no tiene razón de ser en un clúster de solo dos nodos, ya que sólo
habrá quorum cuando los dos nodos estén operativos, así que ignoramos las decisiones
basadas en cuórum:

root@iponxho18:~# crm configure property no-quorum-policy=ignore

Instituto Tecnológico de Pachuca

P á g i n a | 36

Clúster HA
Después configuraremos el recurso para apache:

root@iponxho18:~# crm configure primitive P_APACHE
ocf:heartbeat:apache params configfile="/etc/apache2/apache2.conf"
statusurl="http://localhost/server- status" op monitor
interval="40s"

Donde:
P_APACHE es el nombre del recurso a compartir
Ahora pondremos el orden en el que Pacemaker y Corosync irán checando los
servidores para ver su disponibilidad, y si están así mostrar su contenido.

root@iponxho18:~# crm configure order START_ORDER inf: FAILOVER-ADDR P_APACHE

Donde la sintaxis es la siguiente:
crm configure order START_ORDER inf: Nombre_de_la_IP_VIRTUAL
Nombre_Recurso_Apache

root@iponxho18:~# crm configure location L_IP_NODE001 FAILOVER-ADDR 100:
iponxho18
root@iponxho18:~# crm configure location L_IP_NODE002 FAILOVER-ADDR 100:
alex
root@iponxho18:~# crm configure location L_IP_NODE003 FAILOVER-ADDR 100:
mario
root@iponxho18:~# crm configure location L_IP_NODE004 FAILOVER-ADDR 100:
iza
Marcaremos ambos nodos como el primero, segundo,…, N.

Instituto Tecnológico de Pachuca

P á g i n a | 37

Clúster HA
Donde tiene la siguiente sintaxis:

crm configure location NUMERACION NOMBRE_RECURSO_IP_VIRTUAL 100:
NOMBRE_DEL_NODO

Si todo va bien al teclear el sig. Comando crm configure show aparecerá lo siguiente:

#######################################################################
###
crm configure show
###
#######################################################################
node alex
node iponxho18
node mario
primitive FAILOVER-ADDR ocf:heartbeat:IPaddr2 
params ip="192.168.1.90" nic="eth0" 
op monitor interval="10s" 
meta is-managed="true"
primitive P_APACHE2 ocf:heartbeat:apache 
params configfile="/etc/apache2/apache2.conf" statusurl="http://localhost/server-status" 
op monitor interval="40s"
location L_IP_NODE001 FAILOVER-ADDR 100: iponxho18
location L_IP_NODE002 FAILOVER-ADDR 100: alex
location L_IP_NODE003 FAILOVER-ADDR 100: mario
location L_IP_NODE004 FAILOVER-ADDR 100: iza
order START_ORDEn inf: FAILOVER-ADDR P_APACHE2
property $id="cib-bootstrap-options" 
dc-version="1.1.6-9971ebba4494012a93c03b40a2c58ec0eb60f50c" 
cluster-infrastructure="openais" 
expected-quorum-votes="3" 
stonith-enabled="false" 
no-quorum-policy="ignore"

############################################################################
############################################################################

Instituto Tecnológico de Pachuca

P á g i n a | 38

Clúster HA
Ahora bien solo reiniciamos todos los equipos, para que las configuraciones agan efecto,
después de esto simplemente en la barra de direcciones tecleamos 192.168.1.90 y debe
de mostrar la pagina web por defecto en iponxho18 para todos.
Ahora bien si el servidor iponxho18 se llegara a caer automáticamente la pagina alojada
en alex entrara en servicio, y asi sucesivamente.

############################################################################
############################################################################

Nota: para efectos prácticos de instalación por tiempo, se pueden instalar todos

root@iponxho18:~# apt-get install vsftpd xinetd telnetd openssh-server nmap
tree aptitude nfs-kernel-server nfs-common portmap samba samba-common
smbclient libpam-smbpass python-glade2 system-config-samba pacemaker corosync
apache2

root@mario:~# apt-get install vsftpd xinetd telnetd openssh-server nmap tree
aptitude nfs-kernel-server nfs-common portmap samba samba-common smbclient
libpam-smbpass python-glade2 system-config-samba pacemaker corosync apache2

root@alex:~# apt-get install vsftpd xinetd telnetd openssh-server nmap tree
aptitude nfs-kernel-server nfs-common portmap samba samba-common smbclient
libpam-smbpass python-glade2 system-config-samba pacemaker corosync apache2

root@iza:~# apt-get install vsftpd xinetd telnetd openssh-server nmap tree
aptitude nfs-kernel-server nfs-common portmap samba samba-common smbclient
libpam-smbpass python-glade2 system-config-samba pacemaker corosync apache2

Instituto Tecnológico de Pachuca

P á g i n a | 39

Clúster HA
los paquetes con el siguiente comando:

Esto significa un ahorro significativo de tiempo, esto solo cumple con la
instalación, la configuración debe realizarse de forma manual.
############################################################################
############################################################################

Conclusiones
Jose Alfonso Quezada Ibarra
Para el manejo de sistema operativo que en este caso es Ubuntu ya es más familiar por
que a medida de que fuimos aprendiendo durante el curso. Por ese lado ya se nos hace
casi fácil manejarlo como los otros sistemas operativos que se manejan.

Isabel Martínez Monsalvo
Los clúster son una excelente idea cuando se necesita un sistema de súper computación
pero no se tienen los recursos económicos suficientes para invertir en él. Obviamente en
este tutorial solo se vio un pequeño concepto de lo que implica un clúster HA.

Mario Alberto Ángeles Giménez
Para esta unidad cabe mencionar que este tema fue relativamente nuevo para mi puesto
que al intentar instalar algunas paqueterías y o programas tuvimos demasiados errores
los cuales nos llevaron a buscar en diferentes sitios de internet así como también de
libros en los cueles tuvimos que basarnos para así poder cerrar este clúster aprendiendo
a base de pruebas y de bastantes errores los cuales nos llevaron a aprender bastantes
comando para poder realizarlo, al final todo lo instalado y modificado ya fue de mayor
facilidad puesto q después de tanto practicar e investigar la forma de realizar el clúster
fue de una manera más sencilla que cuando lo empezamos a realizar.

Instituto Tecnológico de Pachuca

P á g i n a | 40

Clúster HA
Referencias
http://www.ajaxman.net/1541/tutorial-creando-virtual-host-de-apache-usando-linux/.
(s.f.). Taringa! Obtenido de Crear VirtualHost en Apache:
http://www.taringa.net/posts/linux/6772970/Crear-VirtualHost-en-Apache.html
navarro, J. e. (s.f.). Informatica para todos. Obtenido de HA cluster de apache2 con
pacemaker y corosync: http://enunlugardealcala.blogspot.mx/2013/03/hacluster-de-apache2-con-pacemaker-y.html

Instituto Tecnológico de Pachuca

P á g i n a | 41

Clúster HA

Weitere ähnliche Inhalte

Was ist angesagt?

ModSecurity and NGINX: Tuning the OWASP Core Rule Set
ModSecurity and NGINX: Tuning the OWASP Core Rule SetModSecurity and NGINX: Tuning the OWASP Core Rule Set
ModSecurity and NGINX: Tuning the OWASP Core Rule SetNGINX, Inc.
 
Kubernetes Observability with Prometheus by Example
Kubernetes Observability with Prometheus by ExampleKubernetes Observability with Prometheus by Example
Kubernetes Observability with Prometheus by ExampleThomas Riley
 
OpenStack dans la pratique
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratiqueOsones
 
Rapport projet Master 2 - Intelligence Artificielle
Rapport projet Master 2 - Intelligence ArtificielleRapport projet Master 2 - Intelligence Artificielle
Rapport projet Master 2 - Intelligence ArtificielleYanis Marchand
 
Jcb isuzu engine a1 4 jj1 service repair manual
Jcb isuzu engine a1 4 jj1 service repair manualJcb isuzu engine a1 4 jj1 service repair manual
Jcb isuzu engine a1 4 jj1 service repair manualufjjskekmem
 
KVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマークKVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマークVirtualTech Japan Inc.
 
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual BoothsChipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual BoothsKeigo Nishida
 
Mise en place d'une solution du supérvision réseau
Mise en place d'une solution du supérvision réseauMise en place d'une solution du supérvision réseau
Mise en place d'une solution du supérvision réseauRabeb Boumaiza
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Novell
 
2015年度先端GPGPUシミュレーション工学特論 第6回 プログラムの性能評価指針 (Flop/Byte,計算律速,メモリ律速)
2015年度先端GPGPUシミュレーション工学特論 第6回 プログラムの性能評価指針(Flop/Byte,計算律速,メモリ律速)2015年度先端GPGPUシミュレーション工学特論 第6回 プログラムの性能評価指針(Flop/Byte,計算律速,メモリ律速)
2015年度先端GPGPUシミュレーション工学特論 第6回 プログラムの性能評価指針 (Flop/Byte,計算律速,メモリ律速)智啓 出川
 
Formation libre OpenStack en Français
Formation libre OpenStack en FrançaisFormation libre OpenStack en Français
Formation libre OpenStack en FrançaisOsones
 
TCAMのしくみ
TCAMのしくみTCAMのしくみ
TCAMのしくみogatay
 
Mise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à ZMise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à ZGauthier Hubert
 
ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性Kenichiro MITSUDA
 
Troubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesTroubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesMichael Klishin
 
Comparaison des solutions Paas
Comparaison des solutions PaasComparaison des solutions Paas
Comparaison des solutions Paasyacine sebihi
 

Was ist angesagt? (20)

ModSecurity and NGINX: Tuning the OWASP Core Rule Set
ModSecurity and NGINX: Tuning the OWASP Core Rule SetModSecurity and NGINX: Tuning the OWASP Core Rule Set
ModSecurity and NGINX: Tuning the OWASP Core Rule Set
 
Kubernetes Observability with Prometheus by Example
Kubernetes Observability with Prometheus by ExampleKubernetes Observability with Prometheus by Example
Kubernetes Observability with Prometheus by Example
 
OUCE2013-RBEM-PT
OUCE2013-RBEM-PTOUCE2013-RBEM-PT
OUCE2013-RBEM-PT
 
OpenStack dans la pratique
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratique
 
Memoire final sfallou
Memoire final sfallouMemoire final sfallou
Memoire final sfallou
 
Rapport projet Master 2 - Intelligence Artificielle
Rapport projet Master 2 - Intelligence ArtificielleRapport projet Master 2 - Intelligence Artificielle
Rapport projet Master 2 - Intelligence Artificielle
 
Jcb isuzu engine a1 4 jj1 service repair manual
Jcb isuzu engine a1 4 jj1 service repair manualJcb isuzu engine a1 4 jj1 service repair manual
Jcb isuzu engine a1 4 jj1 service repair manual
 
KVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマークKVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマーク
 
Configuration Nimbus
Configuration NimbusConfiguration Nimbus
Configuration Nimbus
 
ZynqMP勉強会
ZynqMP勉強会ZynqMP勉強会
ZynqMP勉強会
 
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual BoothsChipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
 
Mise en place d'une solution du supérvision réseau
Mise en place d'une solution du supérvision réseauMise en place d'une solution du supérvision réseau
Mise en place d'une solution du supérvision réseau
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)
 
2015年度先端GPGPUシミュレーション工学特論 第6回 プログラムの性能評価指針 (Flop/Byte,計算律速,メモリ律速)
2015年度先端GPGPUシミュレーション工学特論 第6回 プログラムの性能評価指針(Flop/Byte,計算律速,メモリ律速)2015年度先端GPGPUシミュレーション工学特論 第6回 プログラムの性能評価指針(Flop/Byte,計算律速,メモリ律速)
2015年度先端GPGPUシミュレーション工学特論 第6回 プログラムの性能評価指針 (Flop/Byte,計算律速,メモリ律速)
 
Formation libre OpenStack en Français
Formation libre OpenStack en FrançaisFormation libre OpenStack en Français
Formation libre OpenStack en Français
 
TCAMのしくみ
TCAMのしくみTCAMのしくみ
TCAMのしくみ
 
Mise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à ZMise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à Z
 
ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性
 
Troubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesTroubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issues
 
Comparaison des solutions Paas
Comparaison des solutions PaasComparaison des solutions Paas
Comparaison des solutions Paas
 

Andere mochten auch

Alta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerAlta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerNelson Calero
 
MySQL with DRBD/Pacemaker/Corosync on Linux
 MySQL with DRBD/Pacemaker/Corosync on Linux MySQL with DRBD/Pacemaker/Corosync on Linux
MySQL with DRBD/Pacemaker/Corosync on LinuxPawan Kumar
 
Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...
Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...
Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...Francisco Javier Acero (Over 4K Connections)
 
Introducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidianoIntroducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidianoSocialmetrix
 
Manual Tecnico
Manual TecnicoManual Tecnico
Manual Tecnicomakoto10
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShareSlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShareSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Andere mochten auch (9)

Alta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerAlta disponibilidad con Pacemaker
Alta disponibilidad con Pacemaker
 
MySQL with DRBD/Pacemaker/Corosync on Linux
 MySQL with DRBD/Pacemaker/Corosync on Linux MySQL with DRBD/Pacemaker/Corosync on Linux
MySQL with DRBD/Pacemaker/Corosync on Linux
 
Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...
Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...
Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...
 
Introducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidianoIntroducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidiano
 
Middleware
MiddlewareMiddleware
Middleware
 
Manual Tecnico
Manual TecnicoManual Tecnico
Manual Tecnico
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Ähnlich wie Cluster de alta disponibilidad con corosync, pacemaker & apache2

Qué es exactamente un sistema cluster
Qué es exactamente un sistema clusterQué es exactamente un sistema cluster
Qué es exactamente un sistema clusterJuan Manuel Torres
 
MONTAJE DE INFRAESTRUCTURA DE MÁQUINAS EN ALTA DISPONIBILIDAD VIRTUALIZADA
MONTAJE DE INFRAESTRUCTURA DE MÁQUINAS EN ALTA DISPONIBILIDAD VIRTUALIZADAMONTAJE DE INFRAESTRUCTURA DE MÁQUINAS EN ALTA DISPONIBILIDAD VIRTUALIZADA
MONTAJE DE INFRAESTRUCTURA DE MÁQUINAS EN ALTA DISPONIBILIDAD VIRTUALIZADARafa Garrido
 
Manual De Instalacion Del Cluster Knoppix
Manual De Instalacion Del Cluster KnoppixManual De Instalacion Del Cluster Knoppix
Manual De Instalacion Del Cluster Knoppixandres
 
UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS
UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOSUNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS
UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOShoneyjimenez
 
Investigacion eq.3 inf-5 e
Investigacion eq.3 inf-5 eInvestigacion eq.3 inf-5 e
Investigacion eq.3 inf-5 eEduardo Diaz
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosJperez98
 
Unidad 1 sistemas operativos
Unidad 1 sistemas operativosUnidad 1 sistemas operativos
Unidad 1 sistemas operativosFenix Sven
 

Ähnlich wie Cluster de alta disponibilidad con corosync, pacemaker & apache2 (20)

Trabajo Clusters
Trabajo ClustersTrabajo Clusters
Trabajo Clusters
 
Arquitectura del computador clusters
Arquitectura del computador   clustersArquitectura del computador   clusters
Arquitectura del computador clusters
 
Cluster
ClusterCluster
Cluster
 
Cluster
ClusterCluster
Cluster
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Qué es exactamente un sistema cluster
Qué es exactamente un sistema clusterQué es exactamente un sistema cluster
Qué es exactamente un sistema cluster
 
124076127 sistemas-distribuidos-pdf
124076127 sistemas-distribuidos-pdf124076127 sistemas-distribuidos-pdf
124076127 sistemas-distribuidos-pdf
 
MONTAJE DE INFRAESTRUCTURA DE MÁQUINAS EN ALTA DISPONIBILIDAD VIRTUALIZADA
MONTAJE DE INFRAESTRUCTURA DE MÁQUINAS EN ALTA DISPONIBILIDAD VIRTUALIZADAMONTAJE DE INFRAESTRUCTURA DE MÁQUINAS EN ALTA DISPONIBILIDAD VIRTUALIZADA
MONTAJE DE INFRAESTRUCTURA DE MÁQUINAS EN ALTA DISPONIBILIDAD VIRTUALIZADA
 
Manual De Instalacion Del Cluster Knoppix
Manual De Instalacion Del Cluster KnoppixManual De Instalacion Del Cluster Knoppix
Manual De Instalacion Del Cluster Knoppix
 
Clusterknnopix
ClusterknnopixClusterknnopix
Clusterknnopix
 
UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS
UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOSUNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS
UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS
 
S. o. 2 unidad 1
S. o. 2 unidad 1S. o. 2 unidad 1
S. o. 2 unidad 1
 
Clusters
ClustersClusters
Clusters
 
Investigacion eq.3 inf-5 e
Investigacion eq.3 inf-5 eInvestigacion eq.3 inf-5 e
Investigacion eq.3 inf-5 e
 
Clusters[1]
Clusters[1]Clusters[1]
Clusters[1]
 
Taller 2
Taller 2Taller 2
Taller 2
 
Clusters
ClustersClusters
Clusters
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Trabajo final
Trabajo finalTrabajo final
Trabajo final
 
Unidad 1 sistemas operativos
Unidad 1 sistemas operativosUnidad 1 sistemas operativos
Unidad 1 sistemas operativos
 

Cluster de alta disponibilidad con corosync, pacemaker & apache2

  • 1. CLÚSTER HA Clúster HA con Pacemaker, Corosync & Apache2 Sistemas Distribuidos I Mario Alberto Ángeles Jiménez 09200021 José Alfonso Quezada Ibarra 09201176 Isabel Martínez Monsalvo 10200222 Alex Domitilo García Hernández 09201173 29 DE NOVIEMBRE DE 2013 ITP
  • 2. Contenido: Problema .............................................................................................. 3 Marco teórico ......................................................................................... 3 ¿Qué son los clúster? .............................................................................. 3 Definición de Clúster ........................................................................... 3 Clúster en GNU/Linux ............................................................................. 4 Tipos de Clúster ................................................................................... 5 Clústeres de Balanceo de Carga .............................................................. 5 Clústeres de Alto Rendimiento ................................................................ 5 Clústeres de Alta Disponibilidad .............................................................. 5 Componentes principales de un Clúster de Alta Disponibilidad ............................. 6 Nodos ............................................................................................. 6 Sistema Operativo .............................................................................. 6 Conexiones de RED ............................................................................. 7 MiddleWare ...................................................................................... 7 Recursos o Servicios ............................................................................ 7 Alta Disponibilidad ................................................................................ 8 Beneficios de un Clúster de Alta Disponibilidad .............................................. 9 Estrategia de Implementación .................................................................... 10 Objetivos ............................................................................................. 12 Objetivo General ................................................................................. 12 Objetivos Específicos ............................................................................ 12 Justificación ......................................................................................... 13 Determinación del software a ocupar ............................................................ 14 Requerimientos Básicos para la implementación del clúster HA .......................... 14 Elementos del Clúster desarrollado ............................................................ 14 Instalación y configuración del software ........................................................ 15 Instalación del sistema Operativo .............................................................. 15 Software Requerido .............................................................................. 16 Instalación & Configuraciones................................................................ 16 FTP/VSFTPD .................................................................................. 16 Telnet ......................................................................................... 21 SSH ............................................................................................ 22 Instituto Tecnológico de Pachuca Página |1 Clúster HA
  • 3. NFS ............................................................................................ 24 Samba ......................................................................................... 24 Configuración e instalación de Pacemaker, Corosync & Apache2 ...................... 25 Conclusiones ......................................................................................... 40 Referencias........................................................................................... 41 Instituto Tecnológico de Pachuca Página |2 Clúster HA
  • 4. Problema “implantación de un clúster de alta disponibilidad (HA), como proyecto final de la materia de sistemas distribuidos I” Marco teórico ¿Qué son los clúster? Definición de Clúster “un tipo de sistema distribuido o paralelo conformado por una colección de computadoras interconectadas usado como un único recurso de computación unificado” Las supercomputadoras son usadas en bancos, universidades y centros de investigación para realizar complejos cálculos y obtener rápidos resultados. Seguramente habrán visto en fotos esas grandes máquinas que ocupan cuartos completos y que permiten ejecutar miles de millones de operaciones por segundo. Esas "Centrales" poseen varios procesadores, inmensas cantidades de memoria y un espacio de almacenamiento mucho más grande de lo que puedan imaginar. Todos estos recursos pueden estar dispuestos de dos formas:   centralizados (todo dentro de una gran caja) distribuidos. Esta última modalidad es la que nosotros vamos a implementar. Vamos a decir que los clúster son computadoras potentes que funcionan gracias a un sistema que permite compartir los recursos de varios subsistemas. Podemos tener dos o más computadoras interconectadas entre sí por una red y hacer que compartan libremente sus recursos. Y cuando hablamos de recursos, no sólo nos referimos a archivos e impresoras: los clúster permiten que las computadoras compartan sus procesadores y sus memorias RAM. Se estarán preguntando, entonces: si conectamos dos computadoras en una arquitectura de clúster... ¿Podemos obtener una sola con el doble de potencia? En cierta forma, sí. La ganancia de rendimiento no es de exactamente el doble, pero es muy superior a la de cada unidad del clúster. Instituto Tecnológico de Pachuca Página |3 Clúster HA
  • 5. En muchas universidades se usan clúster de 40 o 50 computadoras de "bajo" rendimiento, como 486 y Pentium I o II. Estas máquinas, trabajando en conjunto, ofrecen un súper sistema de cómputo muy eficaz, cuyo costo es significativamente menor que el de una supercomputadora cuyos recursos están centralizados en una gran caja. Clúster en GNU/Linux Nuestro querido sistema operativo nos permite hacer esto de forma súper sencilla. Todo lo que necesitamos son un par de máquinas conectadas entre sí (una red convencional es suficiente) y el software requerido. Instituto Tecnológico de Pachuca Página |4 Clúster HA
  • 6. Tipos de Clúster Los clústeres cuyos nodos tienen arquitecturas similares y un mismo sistema operativo se los conoce como Homogéneos caso contrario se los conoce como Heterogéneos. Así mismo, existen 3 áreas principales en las que los clústeres tienen su campo de acción y es precisamente de allí de donde toman su nombre.    Clústeres de Balanceo de Carga. Clústeres de Alta Disponibilidad. Clústeres de Alto Rendimiento Clústeres de Balanceo de Carga El objetivo de un clúster de Balanceo de Carga es el de distribuir el trabajo entre todos los nodos del clúster, esto se consigue asignando el trabajo al nodo que posee más recursos disponibles. Este tipo de clústeres se usan comúnmente en servicios que por su naturaleza tienen una enorme cantidad de carga, como por ejemplo: los servidores Web. Clústeres de Alto Rendimiento El objetivo de un clúster de alto rendimiento es compartir el recurso más valioso de un computador, es decir, la capacidad de procesamiento. Este tipo de clústeres son muy populares, y quizás también los más antiguos, ya que en sus inicios fueron desarrollados para centros de cómputo enfocados en investigaciones científicas donde era necesario tener un gran poder de procesamiento, capaz de soportar una inmensa cantidad de cálculos para resolver un problema específico. Clústeres de Alta Disponibilidad El objetivo principal de un clúster de alta disponibilidad, también conocido como clúster HA por las palabras en inglés High Availability, es el de mantener disponible uno o más servicios la mayor cantidad de tiempo posible. Instituto Tecnológico de Pachuca Página |5 Clúster HA
  • 7. Este tipo de clústeres se caracterizan por que sus nodos están monitoreándose de manera continua, es así que, cuando se detecta un falló de hardware o software en uno de los nodos, otro nodo se encarga de proveer los servicios del nodo con problemas, minimizando así la percepción de la pérdida de servicio por parte de los usuarios. Componentes principales de un Clúster de Alta Disponibilidad Los componentes principales de un clúster HA son:      Nodos Sistema Operativo Conexiones de Red Middleware Recursos o Servicios Nodos Un nodo no es otra que un computador dentro del clúster. Un nodo puede ser un computador convencional, un servidor o un súper computador. Aunque no es estrictamente obligatorio que todos los nodos del clúster sean exactamente iguales es recomendable que estos compartan características similares de procesamiento y almacenamiento para evitar un comportamiento ineficiente del clúster. Sistema Operativo Una definición más precisa de lo que es un sistema operativo se encuentra más adelante, sin embargo se puede decir de manera general que un sistema operativo es aquel que se encarga de alojar los recursos e interactuar con el hardware en un computador. No todos los sistemas operativos disponibles tienen las características necesarias para conformar un clúster, un claro ejemplo de esta realidad es MS-DOS. Por lo tanto, un sistema operativo para clústeres debe ser robusto, estable y confiable, además debe ser multiusuario y multiproceso. Instituto Tecnológico de Pachuca Página |6 Clúster HA
  • 8. Conexiones de RED Computacionalmente hablando, una conexión de red es el medio por el cual, al menos dos computadores, envían y reciben información. Un requisito indispensable para la implementación de un clúster es que todos los nodos sean capaces de comunicarse entre sí a través de una conexión de red. Independientemente de la tecnología seleccionada se recomienda que la velocidad de comunicación entre los nodos sea lo más homogénea posible y mientras más rápida, mejor. MiddleWare De acuerdo con el profesor Sacha Krakowiak de la Universidad Joseph Fourier de Francia, un middleware es: “la capa de software que se encuentra entre el sistema operativo y las aplicaciones en cada sitio del sistema.” (Krakowiak, 2003) En otras palabras, es un programa intermediario entre dos programas independientes. El middleware es el encargado de monitorear, administrar, distribuir y controlar el comportamiento general del clúster. Algunos de los middlewares de alto nivel más populares para clústeres son:      Beowulf. OSCAR (Open Source Cluster Application Resources). OpenMosix. Pacemaker. Red Hat HPC Solution cluster. Recursos o Servicios Desde el punto de vista de un administrador de sistemas, un servicio o aplicación son piezas de código que se ejecutan en el servidor para cumplir una tarea específica. Sin embargo desde el punto de vista del Clúster, un servicio o aplicación son simples recursos que pueden ser iniciados o detenidos. Por ejemplo, si hablamos de un servicio Web ó un servidor HTTP, el recurso para el clúster es el servidor Web. De la misma manera, para un servicio de correo o servidor SMTP, el recurso es el servidor de correo. Esto también quiere decir que todo recurso tiene un servicio asociado. Instituto Tecnológico de Pachuca Página |7 Clúster HA
  • 9. Alta Disponibilidad La disponibilidad se basa en un modelo matemático que provee el grado en que un sistema de software permanece en una condición operable. 𝐴= 𝑀𝑇𝑇𝐹 𝑀𝑇𝑇𝐹+𝑀𝑇𝑇𝑅 MTTF = Es el tiempo promedio entre fallos. MTTR = Es el tiempo promedio que tomar reparar el sistema después de un fallo. Existen 2 métodos para alcanzar una alta disponibilidad:   Incrementar el valor del MTTF. Reducir el valor del MTTR. Instituto Tecnológico de Pachuca Página |8 Clúster HA
  • 10. Beneficios de un Clúster de Alta Disponibilidad Uno de los beneficios principales de un clúster de alta disponibilidad es la reducción de las interrupciones de los servicios por problemas imprevistos de hardware o software, ya que los recursos pueden ser configurados de tal manera que sean migrados automáticamente a otro servidor ante un evento ocasionado por problemas en el servidor principal. Así mismo es posible cambiar o mover los recursos dinámicamente entre los nodos del clúster cuando existen tareas planificadas de mantenimiento o actualizaciones de hardware y software. Otros beneficios de un clúster de alta disponibilidad son:      Mayor disponibilidad Bajo costo de operación Escalabilidad Recuperación de desastres Protección y Redundancia de datos Instituto Tecnológico de Pachuca Página |9 Clúster HA
  • 11. Estrategia de Implementación La estrategia de implementación propuesta consiste en instalar, configurar e integrar todos los componentes. Para completar la estrategia es necesario realizar las siguientes actividades:       Diseñar la arquitectura física del clúster. Instalar y configurar el sistema operativo GNU/Linux. Instalar y configurar el sistema de archivos para clústeres o el administrador de sincronización de datos. Instalar el administrador de membresía y mensajería. Instalar y configurar el administrador de recursos. Instalar y configurar los servicios y/o aplicaciones. Instituto Tecnológico de Pachuca P á g i n a | 10 Clúster HA
  • 12. Servicios y/o Aplicaciones •BIND •VSFTPD •Apache Administradores (Mensajeria, Membrecia y Recursos) •Corosync •Pacemaker Sistema de Almacenamiento Distribuido (Sincronizacion) •DRBD UBUNTU 12.04 Instituto Tecnológico de Pachuca P á g i n a | 11 Clúster HA
  • 13. Objetivos Objetivo General Mostrar una estrategia para la implementación de un clúster de alta disponibilidad, para profundizar conceptos y fundamentos relacionados con este tipo de clúster, utilizando software de distribución libre bajo la licencia de GNU/Linux. Objetivos Específicos  Plantear una estrategia para la implementación de un Clúster de Alta disponibilidad.  Implementar un prototipo de un Clúster de Alta Disponibilidad sobre la plataforma Linux Ubuntu.  Configurar e Integrar cuatro nodos al Clúster de Alta Disponibilidad con 2 Servicios (Apache y FTP). Instituto Tecnológico de Pachuca P á g i n a | 12 Clúster HA
  • 14. Justificación En la actualidad los servicios de computación relacionados con el Internet como el correo electrónico, la navegación Web y transferencia de archivos son una parte importante en el día a día de muchas empresas, por esta razón es necesario implementar mecanismos de redundancia que permitan que estos servicios estén disponibles la mayor cantidad de tiempo posible para los usuarios. Por esta razón se justifica la implementación de este proyecto en vista de la necesidad de mejorar la redundancia y la alta disponibilidad de aquellas empresas que dependen de los servicios proporcionados por un solo servidor. Por otro lado es importante que las empresas de nuestro país utilicen tecnología de punta dentro de su infraestructura tecnológica para poder competir con otras empresas del país y del mundo. Instituto Tecnológico de Pachuca P á g i n a | 13 Clúster HA
  • 15. Determinación del software a ocupar Requerimientos Básicos para la implementación del clúster HA     2 Computadoras con tarjetas de red Ethernet (Pueden ser máquinas virtuales). 1 Red Ethernet. Acceso a Internet. Cada computadora debe tener como sistema operativo, Ubuntu 12.04. Elementos del Clúster desarrollado  4 laptop´s con sus respectivos puertos de red Ethernet y Wi-Fi  1 red de Ethernet (proporcionado por un modem Thomson “Telmex”)  Acceso a internet  Ubuntu 12.04 a 64 bits #################################################################### NOTA: todas las instalaciones de Ubuntu, deben ser la misma versión y misma arquitectura esto es x86 o x64, además no se puede hacer las configuraciones de Pacemaker y Corosync en versiones XX.10 de Ubuntu, Ejemplo Ubuntu 13.10 o Ubuntu Gnome 13.10, parece ser que la versión 13.04 de Ubuntu es compatible, y la versión 12.10 no fue probada. #################################################################### #################################################################### Instituto Tecnológico de Pachuca P á g i n a | 14 Clúster HA
  • 16. Instalación y configuración del software Sin lugar a dudas estos son los dos puntos más importantes dentro de la elaboración de este tipo de proyectos por ello es recomendable leer y entender la documentación incluida con el software para que la instalación y la configuración seleccionada sea la más adecuada. También es importante cumplir los requerimientos individuales de cada programa para evitar problemas de incompatibilidad. Instalación del sistema Operativo El sistema operativo a utilizar es la distribución de Linux Ubuntu en su versión 12.04, con la arquitectura x64. Una vez instalado se actualiza el sistema en todos los nodos del clúster, esto es: root@iponxho18:~# apt-get update root@mario:~# apt-get update root@alex:~# apt-get update root@iza:~# apt-get update Instituto Tecnológico de Pachuca P á g i n a | 15 Clúster HA
  • 17. Software Requerido           VSFTPD XINETD TELNETD SSH NFS SAMBA JAVA PACEMAKER COROSYNC APACHE2 Este software debe ser instalado en todos y cada uno de los nodos del clúster. Instalación & Configuraciones FTP/VSFTPD FTP – Protocolo de transferencia de archivos Es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basada en la arquitectura Cliente Servidor. VSFTPD – Very Secure FTP Daemon Es un servidor de archivos por FTP muy ligero y seguro. Es el recomendado por DEBIAN y Ubuntu tiene una configuración muy sencilla en un solo fichero y se adapta muy bien a un servidor multi-hosting. Instituto Tecnológico de Pachuca P á g i n a | 16 Clúster HA
  • 18. Se Instala con el comando: root@iponxho18:~# apt-get install vsftpd nmap root@mario:~# apt-get install vsftpd nmap root@alex:~# apt-get install vsftpd nmap root@iza:~# apt-get install vsftpd nmap Después tenemos que hacer unas modificaciones al archivo de configuración vsftpd.conf root@iponxho18:~# gedit /etc/vsftpd.conf root@mario:~# gedit /etc/vsftpd.conf root@alex:~# gedit /etc/vsftpd.conf root@iza:~# gedit /etc/vsftpd.conf Y nos abrirá la siguiente ventana, solo hay que des-comentar las líneas Local_enable=yes Write_enable=yes Instituto Tecnológico de Pachuca P á g i n a | 17 Clúster HA
  • 19. ####################################################################### ### /etc/vsftpd.conf ### ####################################################################### # Example config file /etc/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # # # Run standalone? vsftpd can run either from an inetd or as a standalone # daemon started from an initscript. listen=YES # # Run standalone with IPv6? # Like the listen parameter, except vsftpd will listen on an IPv6 socket # instead of an IPv4 one. This parameter and the listen parameter are mutually # exclusive. #listen_ipv6=YES # # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=YES # # Uncomment this to allow local users to log in. local_enable=YES # # Uncomment this to enable any form of FTP write command. write_enable=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) #local_umask=022 # # Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. #anon_upload_enable=YES # # Uncomment this if you want the anonymous FTP user to be able to create # new directories. #anon_mkdir_write_enable=YES # # Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES # # If enabled, vsftpd will display directory listings with the time # in your local time zone. The default is to display GMT. The # times returned by the MDTM FTP command are also affected by this # option. use_localtime=YES # # Activate logging of uploads/downloads. xferlog_enable=YES Instituto Tecnológico de Pachuca P á g i n a | 18 Clúster HA
  • 20. # # Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES # # If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not # recommended! #chown_uploads=YES #chown_username=whoever # # You may override where the log file goes if you like. The default is shown # below. #xferlog_file=/var/log/vsftpd.log # # If you want, you can have your log file in standard ftpd xferlog format. # Note that the default log file location is /var/log/xferlog in this case. #xferlog_std_format=YES # # You may change the default value for timing out an idle session. #idle_session_timeout=600 # # You may change the default value for timing out a data connection. #data_connection_timeout=120 # # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES # # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd # predicted this attack and has always been safe, reporting the size of the # raw file. # ASCII mangling is a horrible feature of the protocol. #ascii_upload_enable=YES #ascii_download_enable=YES # # You may fully customise the login banner string: #ftpd_banner=Welcome to blah FTP service. # # You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks. #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd.banned_emails # # You may restrict local users to their home directories. See the FAQ for # the possible risks in this before using chroot_local_user or # chroot_list_enable below. #chroot_local_user=YES # # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). Instituto Tecnológico de Pachuca P á g i n a | 19 Clúster HA
  • 21. # (Warning! chroot'ing can be very dangerous. If using chroot, make sure that # the user does not have write access to the top level directory within the # chroot) #chroot_local_user=YES #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd.chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES # # Customization # # Some of vsftpd's settings don't fit the filesystem layout by # default. # # This option should be the name of a directory which is empty. Also, the # directory should not be writable by the ftp user. This directory is used # as a secure chroot() jail at times vsftpd does not require filesystem # access. secure_chroot_dir=/var/run/vsftpd/empty # # This string is the name of the PAM service vsftpd will use. pam_service_name=vsftpd # # This option specifies the location of the RSA certificate to use for SSL # encrypted connections. rsa_cert_file=/etc/ssl/private/vsftpd.pem ############################################################################ ############################################################################ Instituto Tecnológico de Pachuca P á g i n a | 20 Clúster HA
  • 22. Telnet Telnet Es el nombre de un protocolo de red que sirve para accedes mediante una red a otra máquina para manejarla remotamente como si estuviéramos sentados delante de ella. Para su instalación: root@iponxho18:~# apt-get install xinetd telnetd root@mario:~# apt-get install xinetd telnetd root@alex:~# apt-get install xinetd telnetd root@iza:~# apt-get install xinetd telnetd ############################################################################ Nota: actualmente se desaconseja el uso de telnet en ambiente donde la seguridad sea importante, ya que los datos son enviados sin cifrar, y esto facilita que cualquier intruso espié el tráfico de la red y pueda obtener los nombre de usuarios y contraseñas, y de este modo poder accesar a los equipos. ############################################################################ ############################################################################ Instituto Tecnológico de Pachuca P á g i n a | 21 Clúster HA
  • 23. SSH SSH – Secure Shell Es el nombre del protocolo y del programa que lo implementa y sirve para acceder a maquinas remotas a través de una red. Permite manejar por completo la computadora mediante interprete de comandos, y también redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un servidor X (en sistemas Unix y Windows) corriendo. Para la instalación: root@iponxho18:~# apt-get install openssh-server root@mario:~# apt-get install openssh-server root@alex:~# apt-get install openssh-server root@iza:~# apt-get install openssh-server La configuración del SSH root@iponxho18:~# gedit /etc/hosts.allow root@mario:~# gedit /etc/hosts.allow root@alex:~# gedit /etc/hosts.allow root@iza:~# gedit /etc/hosts.allow Y solamente agregamos al final del archivo la siguiente línea ALL:ALL Instituto Tecnológico de Pachuca P á g i n a | 22 Clúster HA
  • 24. ####################################################################### ### /etc/hosts.allow ### ####################################################################### # # # # # # # # # # # # /etc/hosts.allow: list of hosts that are allowed to access the system. See the manual pages hosts_access(5) and hosts_options(5). Example: ALL: LOCAL @some_netgroup ALL: .foobar.edu EXCEPT terminalserver.foobar.edu If you're going to protect the portmapper use the name "portmap" for the daemon name. Remember that you can only use the keyword "ALL" and IP addresses (NOT host or domain names) for the portmapper, as well as for rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8) for further information. ALL:ALL ############################################################################ ############################################################################ Instituto Tecnológico de Pachuca P á g i n a | 23 Clúster HA
  • 25. NFS NFS (Network File System) es un protocolo de sistema de archivos en red desarrollado originalmente por Sun Microsystems en 1984, permitiéndole a un usuario en una máquina cliente acceder a los archivos en la red como si lo estuviera haciendo localmente. Para su instalación: root@iponxho18:~# apt-get install nfs-kernel-server nfs-common portmap root@mario:~# apt-get install nfs-kernel-server nfs-common portmap root@alex:~# apt-get install nfs-kernel-server nfs-common portmap root@iza:~# apt-get install nfs-kernel-server nfs-common portmap Samba Samba es un software que permite a tu ordenador poder compartir archivos e impresoras con otras computadoras en una misma red local. Utiliza para ello un protocolo conocido como SMB/CIFS compatible con sistemas operativos UNIX o Linux, como Ubuntu, pero además con sistemas Windows (XP, NT, 98...), OS/2 o incluso DOS. También se puede conocer como LanManager o NetBIOS. Para su instalación: root@iponxho18:~# apt-get install samba samba-common smbclient libpam-smbpass python-glade2 system-config-samba root@mario:~# apt-get install samba samba-common smbclient libpam-smbpass python-glade2 system-config-samba root@alex:~# apt-get install samba samba-common smbclient libpam-smbpass python-glade2 system-config-samba root@iza:~# apt-get install samba samba-common smbclient libpam-smbpass python-glade2 system-config-samba Instituto Tecnológico de Pachuca P á g i n a | 24 Clúster HA
  • 26. Configuración e instalación de Pacemaker, Corosync & Apache2 Primero que nada tenemos que crear un red, para esto utilizamos un modem X (utilizamos nuestro modem Telmex, porque queríamos dejar sin internet a nuestro carnalito XD), y configurar las direcciones IP de cada equipo como estáticas. Para montar nuestro clúster, se utilizaron 3 clientes y un servidor 192.168.1.2 iponxho18 Nodo Principal 192.168.1.3 iza Nodo 192.168.1.4 mario Nodo 192.168.1.5 alex Nodo Editamos el archivo /etc/hosts root@iponxho18:~# gedit /etc/hosts root@mario:~# gedit /etc/hosts root@alex:~# gedit /etc/hosts root@iza:~# gedit /etc/hosts Instituto Tecnológico de Pachuca P á g i n a | 25 Clúster HA
  • 27. ####################################################################### ### /etc/hosts ### ####################################################################### 127.0.0.1 127.0.1.1 localhost iponxho18 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 192.168.1.254 iponxho18 iza mario alex Modem # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ############################################################################ ############################################################################ Se hacen los pings a los nodos que se crearon Instituto Tecnológico de Pachuca P á g i n a | 26 Clúster HA
  • 28. Para empezar se instalara Apache2 root@iponxho18:~# apt-get install apache2 root@mario:~# apt-get install apache2 root@alex:~# apt-get install apache2 root@iza:~# apt-get install apache2 Creamos un virtual-host, para esto editaremos el siguiente archivo: root@iponxho18:~# gedit /etc/apache2/sites-available/default root@mario:~# gedit /etc/apache2/sites-available/default root@alex:~# gedit /etc/apache2/sites-available/default root@iza:~# gedit /etc/apache2/sites-available/default Y lo modificamos para que este de la siguiente forma: Instituto Tecnológico de Pachuca P á g i n a | 27 Clúster HA
  • 29. ####################################################################### ### /etc/apache2/sites-available/default ### ####################################################################### <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName localhost DocumentRoot /home/www/SISTEMAS <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/www/SISTEMAS> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost> ############################################################################ ############################################################################ Instituto Tecnológico de Pachuca P á g i n a | 28 Clúster HA
  • 30. En donde: “DocumentRoot /home/www/SISTEMAS” & “<Directory /home/www/SISTEMAS> Pertenecen a los directorios donde están alojadas las páginas a mostrar. El siguiente paso en el directorio /etc/apache2/sites-available/ teclear el siguiente comando: root@iponxho18:~# cd /etc/apache2/sites-available/ root@iponxho18:/etc/apache2/sites-available# a2ensite default root@mario:~# cd /etc/apache2/sites-available/ root@mario:/etc/apache2/sites-available# a2ensite default root@alex:~# cd /etc/apache2/sites-available/ root@alex:/etc/apache2/sites-available# a2ensite default root@iza:~# cd /etc/apache2/sites-available/ root@iza:/etc/apache2/sites-available# a2ensite default El comando "a2ensite", lo único que hace es un enlace simbólico dentro de la carpeta /etc/apache2/sites-enabled a algunos de los sitios que están en la otra carpeta /etc/apache2/sites-available, es decir en sites-available están los sitios disponibles, y en sites-enabled están los que podemos usar. Y después recargamos el apache: root@iponxho18:~# /etc/init.d/apache2 reload root@mario:~# /etc/init.d/apache2 reload root@alex:~# /etc/init.d/apache2 reload root@iza:~# /etc/init.d/apache2 reload Instituto Tecnológico de Pachuca P á g i n a | 29 Clúster HA
  • 31. Ahora instalaremos COROSYNC y PACEMAKER en todos los nodos del clúster. root@iponxho18:~# apt-get install pacemaker corosync root@mario:~# apt-get install pacemaker corosync root@alex:~# apt-get install pacemaker corosync root@iza:~# apt-get install pacemaker corosync Como el nodo principal (servidor) es iponxho18, en esta máquina se creara el archivo de autentificación de Corosync root@iponxho18:~# Corosync-keygen Automáticamente le da permisos, así que no es necesario especificarlos, después hay que pasar esta llave a los demás nodos por medio de SSH, antes que nada en los nodos clientes hay que otorgar permisos de escritura. Instituto Tecnológico de Pachuca P á g i n a | 30 Clúster HA
  • 32. root@iponxho18:~# cd /etc/ root@iponxho18:/etc# chmod –R 777 corosync root@mario:~# cd /etc/ root@mario:/etc# chmod –R 777 corosync root@alex:~# cd /etc/ root@alex:/etc# chmod –R 777 corosync root@iza:~# cd /etc/ root@iza:/etc# chmod –R 777 corosync Ahora si podemos pasar el archivo llave. root@iponxho18:~# scp /etc/Corosync/authkey iza@iza:/etc/corosync/authkey root@iponxho18:~# scp /etc/Corosync/authkey mario@mario:/etc/corosync/authkey root@iponxho18:~# scp /etc/Corosync/authkey alex@alex:/etc/corosync/authkey Cabe destacar que la sintaxis es la siguiente: scp Archivo_a_copiar Usuario@IP:Directorio_a_guardar Editamos el fichero de configuración /etc/corosync/corosync.conf en todos los nodos, y añadimos la red a utilizar. Instituto Tecnológico de Pachuca P á g i n a | 31 Clúster HA
  • 33. root@iponxho18:~# gedit /etc/Corosync/Corosync.conf root@mario:~# gedit /etc/Corosync/Corosync.conf root@alex:~# gedit /etc/Corosync/Corosync.conf root@iza:~# gedit /etc/Corosync/Corosync.conf ####################################################################### ### /etc/corosync/corosync.conf ### ####################################################################### # Please read the openais.conf.5 manual page totem { version: 2 # How long before declaring a token lost (ms) token: 3000 # How many token retransmits before forming a new configuration token_retransmits_before_loss_const: 10 # How long to wait for join messages in the membership protocol (ms) join: 60 # How long to wait for consensus to be achieved before starting a new round of membership configuration (ms) consensus: 3600 # Turn off the virtual synchrony filter vsftype: none # Number of messages that may be sent by one processor on receipt of the token max_messages: 20 # Limit generated nodeids to 31-bits (positive signed integers) clear_node_high_bit: yes # Disable encryption secauth: off # How many threads to use for encryption/decryption threads: 0 # Optionally assign a fixed node id (integer) # nodeid: 1234 # This specifies the mode of redundant ring, which may be none, active, or passive. rrp_mode: none interface { # The following values need to be set based on your environment ringnumber: 0 Instituto Tecnológico de Pachuca P á g i n a | 32 Clúster HA
  • 34. bindnetaddr: 192.168.1.0 mcastaddr: 226.94.1.1 mcastport: 5405 } } amf { mode: disabled } service { # Load the Pacemaker Cluster Resource Manager ver: 0 name: pacemaker } aisexec { user: group: } root root logging { fileline: off to_stderr: yes to_logfile: no to_syslog: yes syslog_facility: daemon debug: off timestamp: on logger_subsys { subsys: AMF debug: off tags: enter|leave|trace1|trace2|trace3|trace4|trace6 } } ############################################################################ ############################################################################ Donde bindnetaddr: 192.168.1.0 Sirve para especificar que el clúster va a trabajar en todo el rango de direcciones IP de 192.168.1.X Instituto Tecnológico de Pachuca P á g i n a | 33 Clúster HA
  • 35. También tendremos que configurar el fichero /etc/default/corosync para que reconozca el demonio, esto se consigue poniéndolo a yes: root@iponxho18:~# gedit /etc/default/corosync root@mario:~# gedit /etc/default/corosync root@alex:~# gedit /etc/default/corosync root@iza:~# gedit /etc/default/corosync ####################################################################### ### /etc/default/corosync ### ####################################################################### # start corosync at boot [yes|no] START=yes ############################################################################ ############################################################################ Se reinicia el servicio en todos los nodos: root@iponxho18:~# service Corosync restart root@mario:~# service Corosync restart root@alex:~# service Corosync restart root@iza:~# service Corosync restart Instituto Tecnológico de Pachuca P á g i n a | 34 Clúster HA
  • 36. Y con el comando crm status podemos ver el estado del Configuración de la IP VIRTUAL como recurso: El recurso que vamos a configurar en este ejemplo va a ser una dirección IP 192.168.1.90, para ello en primer lugar desactivamos el mecanismo de STONITH (Shoot The Other Node In The Head), que se utiliza para parar un nodo que esté dando problemas y así evitar un comportamiento inadecuado del clúster: root@iponxho18:~# crm configure property stonith-enabled=false root@mario:~# crm configure property stonith-enabled=false root@alex:~# crm configure property stonith-enabled=false root@iza:~# crm configure property stonith-enabled=false Ahora configuramos el recurso de la IP virtual (192.168.1.90): Y configuraremos un recurso para los nodos (a partir de ahora todo lo que se configure de crm en un nodo se replicará al otro): Instituto Tecnológico de Pachuca P á g i n a | 35 Clúster HA
  • 37. root@iponxho18:~# crm configure primitive FAILOVER-ADDR ocf:heartbeat:IPaddr2 params ip=”192.168.1.90” nic=”eth0” op monitor interval=”10s” meta is-managed=”true” donde se tiene la siguiente sintaxis: crm configure primitive NOMBRE_RECURSO ocf:heartbeat:IPaddr2 params ip=”IP_VIRTUAL” nic=”eth0” op monitor interval=”10s” meta is-managed=”true” Podremos comprobarlo haciendo un crm_mon: root@iponxho18:~# crm_mon Sin embargo iponxho18 (Nodo Principal) no pasa a ofrecer el recurso directamente porque no hay cuórum en el clúster. El cuórum (quorum) es una propiedad que utiliza Pacemaker para tomar las decisiones apropiadas mediante consultas consensuadas a todos los nodos, pero no tiene razón de ser en un clúster de solo dos nodos, ya que sólo habrá quorum cuando los dos nodos estén operativos, así que ignoramos las decisiones basadas en cuórum: root@iponxho18:~# crm configure property no-quorum-policy=ignore Instituto Tecnológico de Pachuca P á g i n a | 36 Clúster HA
  • 38. Después configuraremos el recurso para apache: root@iponxho18:~# crm configure primitive P_APACHE ocf:heartbeat:apache params configfile="/etc/apache2/apache2.conf" statusurl="http://localhost/server- status" op monitor interval="40s" Donde: P_APACHE es el nombre del recurso a compartir Ahora pondremos el orden en el que Pacemaker y Corosync irán checando los servidores para ver su disponibilidad, y si están así mostrar su contenido. root@iponxho18:~# crm configure order START_ORDER inf: FAILOVER-ADDR P_APACHE Donde la sintaxis es la siguiente: crm configure order START_ORDER inf: Nombre_de_la_IP_VIRTUAL Nombre_Recurso_Apache root@iponxho18:~# crm configure location L_IP_NODE001 FAILOVER-ADDR 100: iponxho18 root@iponxho18:~# crm configure location L_IP_NODE002 FAILOVER-ADDR 100: alex root@iponxho18:~# crm configure location L_IP_NODE003 FAILOVER-ADDR 100: mario root@iponxho18:~# crm configure location L_IP_NODE004 FAILOVER-ADDR 100: iza Marcaremos ambos nodos como el primero, segundo,…, N. Instituto Tecnológico de Pachuca P á g i n a | 37 Clúster HA
  • 39. Donde tiene la siguiente sintaxis: crm configure location NUMERACION NOMBRE_RECURSO_IP_VIRTUAL 100: NOMBRE_DEL_NODO Si todo va bien al teclear el sig. Comando crm configure show aparecerá lo siguiente: ####################################################################### ### crm configure show ### ####################################################################### node alex node iponxho18 node mario primitive FAILOVER-ADDR ocf:heartbeat:IPaddr2 params ip="192.168.1.90" nic="eth0" op monitor interval="10s" meta is-managed="true" primitive P_APACHE2 ocf:heartbeat:apache params configfile="/etc/apache2/apache2.conf" statusurl="http://localhost/server-status" op monitor interval="40s" location L_IP_NODE001 FAILOVER-ADDR 100: iponxho18 location L_IP_NODE002 FAILOVER-ADDR 100: alex location L_IP_NODE003 FAILOVER-ADDR 100: mario location L_IP_NODE004 FAILOVER-ADDR 100: iza order START_ORDEn inf: FAILOVER-ADDR P_APACHE2 property $id="cib-bootstrap-options" dc-version="1.1.6-9971ebba4494012a93c03b40a2c58ec0eb60f50c" cluster-infrastructure="openais" expected-quorum-votes="3" stonith-enabled="false" no-quorum-policy="ignore" ############################################################################ ############################################################################ Instituto Tecnológico de Pachuca P á g i n a | 38 Clúster HA
  • 40. Ahora bien solo reiniciamos todos los equipos, para que las configuraciones agan efecto, después de esto simplemente en la barra de direcciones tecleamos 192.168.1.90 y debe de mostrar la pagina web por defecto en iponxho18 para todos. Ahora bien si el servidor iponxho18 se llegara a caer automáticamente la pagina alojada en alex entrara en servicio, y asi sucesivamente. ############################################################################ ############################################################################ Nota: para efectos prácticos de instalación por tiempo, se pueden instalar todos root@iponxho18:~# apt-get install vsftpd xinetd telnetd openssh-server nmap tree aptitude nfs-kernel-server nfs-common portmap samba samba-common smbclient libpam-smbpass python-glade2 system-config-samba pacemaker corosync apache2 root@mario:~# apt-get install vsftpd xinetd telnetd openssh-server nmap tree aptitude nfs-kernel-server nfs-common portmap samba samba-common smbclient libpam-smbpass python-glade2 system-config-samba pacemaker corosync apache2 root@alex:~# apt-get install vsftpd xinetd telnetd openssh-server nmap tree aptitude nfs-kernel-server nfs-common portmap samba samba-common smbclient libpam-smbpass python-glade2 system-config-samba pacemaker corosync apache2 root@iza:~# apt-get install vsftpd xinetd telnetd openssh-server nmap tree aptitude nfs-kernel-server nfs-common portmap samba samba-common smbclient libpam-smbpass python-glade2 system-config-samba pacemaker corosync apache2 Instituto Tecnológico de Pachuca P á g i n a | 39 Clúster HA
  • 41. los paquetes con el siguiente comando: Esto significa un ahorro significativo de tiempo, esto solo cumple con la instalación, la configuración debe realizarse de forma manual. ############################################################################ ############################################################################ Conclusiones Jose Alfonso Quezada Ibarra Para el manejo de sistema operativo que en este caso es Ubuntu ya es más familiar por que a medida de que fuimos aprendiendo durante el curso. Por ese lado ya se nos hace casi fácil manejarlo como los otros sistemas operativos que se manejan. Isabel Martínez Monsalvo Los clúster son una excelente idea cuando se necesita un sistema de súper computación pero no se tienen los recursos económicos suficientes para invertir en él. Obviamente en este tutorial solo se vio un pequeño concepto de lo que implica un clúster HA. Mario Alberto Ángeles Giménez Para esta unidad cabe mencionar que este tema fue relativamente nuevo para mi puesto que al intentar instalar algunas paqueterías y o programas tuvimos demasiados errores los cuales nos llevaron a buscar en diferentes sitios de internet así como también de libros en los cueles tuvimos que basarnos para así poder cerrar este clúster aprendiendo a base de pruebas y de bastantes errores los cuales nos llevaron a aprender bastantes comando para poder realizarlo, al final todo lo instalado y modificado ya fue de mayor facilidad puesto q después de tanto practicar e investigar la forma de realizar el clúster fue de una manera más sencilla que cuando lo empezamos a realizar. Instituto Tecnológico de Pachuca P á g i n a | 40 Clúster HA
  • 42. Referencias http://www.ajaxman.net/1541/tutorial-creando-virtual-host-de-apache-usando-linux/. (s.f.). Taringa! Obtenido de Crear VirtualHost en Apache: http://www.taringa.net/posts/linux/6772970/Crear-VirtualHost-en-Apache.html navarro, J. e. (s.f.). Informatica para todos. Obtenido de HA cluster de apache2 con pacemaker y corosync: http://enunlugardealcala.blogspot.mx/2013/03/hacluster-de-apache2-con-pacemaker-y.html Instituto Tecnológico de Pachuca P á g i n a | 41 Clúster HA