You are on page 1of 28

Universidad de la Frontera

Facultad de Ingeniera y Ciencias


Departamento de Ingeniera Industrial y de Sistemas
Arquitectura de Computadores y Sistemas Operativos
Blas Castel

Cluster de computadores

David Blanco
David Jara
Borja Soto
Resumen
Un cluster de computadores es el trmino que se aplica a los conjuntos o conglomerados de
ordenadores unidos entre s normalmente por una red de alta velocidad y que se comportan
como si fuesen una nica computadora.
La tecnologa de clusters ha evolucionado en apoyo de actividades que van desde aplicaciones
de supercmputo y software para aplicaciones crticas, servidores web y comercio electrnico,
hasta bases de datos de alto rendimiento, entre otros usos.

En este Informe se describe de forma ms detallada la arquitectura distribuida del clster, su


historia y antecedentes, como funciona, los tipos y modelos de clster, que caractersticas
poseen y la configuracin que debe de tener para que pueda ser funcional al 100%.
Se menciona las ventajas e inconvenientes que tiene la creacin de estas redes, de igual
forma el diseo que deben tener.
Basados en la configuracin explicada se ejemplifica de forma prctica el uso de este tipo de
clster

1
ndice
Resumen 1

La problemtica del siglo XXI 4

Historia 6

Consideraciones Generales 6
Que es? 6
Aspectos fundamentales 7
Diseo y configuracin 7
Tipos y modelos de cluster 8
Tipos de cluster 8
Modelos de cluster 9

Configuracin 11
Pasos a seguir 12
Primero se deber instalar los siguientes paquetes: 12
Iniciar RICCI service y asignar una contrasea 12
Crear un cluster en el nodo activo 13
Agregar un nodo al cluster 14
Agregar fencing al cluster 15
Tipos de dominios failover 18
Agregar un dominio de failover 18
Add Resources to Cluster 19
Sincronizar la configuracin a lo largo de los nodos 19
Verificar la configuracin del cluster 20
Iniciar el cluster 20
Revisar el estado del cluster 21
Verificar el failover del Cluster 21
cluster.config funcionando completamente 23

Ejemplo prctico 24

Conclusiones 26

Bibliografa 27

2
CAPTULO 1
INTRODUCCIN

3
La problemtica del siglo XXI
Hoy en da es tremendamente fundamental contar con una buena capacidad de
procesamiento para las distintas actividades o funciones que queramos hacer con nuestro
computador, pero la verdad es que el mercado de hoy, y en realidad, siempre nos ha puesto
precios muy elevados para encontrar una alternativa de computadores con una excelente
capacidad para trabajar con muchos datos. Computadores en el mercado con buenas
condiciones para exigirlos, hoy en dia sobrepasan el milln de pesos.

Entonces la pregunta es; Cul es la alternativa que tenemos para resolver esta
problemtica?, la respuesta, ya est en funcionamiento desde el siglo pasado. Estos son lo
Cluster. Ya no necesitamos de un computador con componentes de hardware altamente
carsimos, sino, varios computadores de menor costo, pero conectados para resolver nuestras
problemticas.

Al finalizar este informe, queremos dejar claro Qu es un Cluster?, sus variaciones, su


historia, lo necesario para configurarlo y para mantenerlo en funcionamiento.

4
CAPTULO 2
ANTECEDENTES GENERALES

5
Historia
A lo largo de la historia la mayor motivacin para existan los cluster fue que los usuarios
no podan ajustar todo su trabajo en una computadora. Se estima que la fecha de su creacin
de los cluster fue a mediados de los aos sesenta. Esta estructura fsica, no pudo funcionar si
que primero se dieran las matrices para su funcionamiento en lo algortmico, es por eso que en
los comienzos no se hablaba de cluster, pero su de una idea, el procesamiento paralelo. En el
ao 1967, Gene Amdahl, que para ese entonces trabaja en IBM, public un documento que se
considera muy importante para el procesamiento de este tipo. Este documento hablaba sobre
la Ley de Amdahl, que podra haber inventado la base formal de ingeniera de la computacin
en racimo com un medio para hacer trabajos paralelos de cualquier tipo.

Los comienzos de los cluster de ordenadores como tal, est ms ligado a la historia de
las primeras redes, pues una de las principales motivaciones que generar una red era vincular
los recursos informticos. A mediados de los aos sesenta, el primer sistema diseado due el
Burroughs B5700. Este estaba formado por cuatro computadoras, cada una con uno o dos
procesadores, causando que le subsistema de almacenamiento en el disco en comn pudiera
distribuir la carga de trabajo, optimizando los tiempos de trabajo, algo que para esa poca era
impensado.

La comercializacin de los primeros cluster fue de parte de Datapoint Corporation,


desarrollando en el ao 1977 el Attached Resource Computer, utilizando una interfaz de cluster
llamada ARCnet. El agrupamiento por s solo no despeg hasta que Digital Equipment
Corporation lanz su producto VAXcluster en 1984 para el sistema operativo VAX / VMS (ahora
llamado OpenVMS). Los productos ARC y VAXcluster no slo soportaban la computacin
paralela, sino tambin sistemas de archivos compartidos y dispositivos perifricos.

Consideraciones Generales
A continuacin, explicaremos algunos aspectos generales sobre los cluster de
computadoras, sus definiciones generales y algunos conceptos que son necesarios tener
presentes para entender de mejor manera de que estamos hablando.

Que es?
Los cluster de computadores, son un grupo de ordenadores que se componen de
equipos conectados que trabajan juntos, y en muchos aspectos, se pueden considerar como un
solo sistema. En esta idea, cada ordenador es considerado como un nodo, para as trabajar
con los dems desarrollando las tareas que se les asigna, siendo todos controlados y
programados va software.

6
Esta forma de trabajar, es considerada por el mejoramiento del rendimiento y la
disponibilidad por sobre la de un equipo nico, adems de ser mucho ms rentable que un
ordenador con capacidades de procesamiento considerable.

Mejoramientos en los microprocesadores baratos, redes de banda ancha y en la


eficiencia de los software para computacin, da como resultado que esta tecnologa se
masifique no tan solo en empresas grandes que desarrollan proyectos ambiciosos, sino que
tambin, se masifique en pequeas empresas que necesitan de excelentes cluster a bajo
precio.

Aspectos fundamentales
La unin de los ordenadores tiene usualmente como enfoque, la conexin de una serie
de nodos de computacin fcilmente disponibles a travs de una red LAN rpida. Las
actividades de los nodos de computacin son orquestadas por "un middleware de agrupacin",
una capa de software que se encuentra encima de los nodos y permite a los usuarios tratar el
cluster como una unidad de clculo cohesiva, por ejemplo a travs de un concepto de imagen
de sistema nico.

Un cluster de ordenadores puede ser tan simple como una agrupacin de dos
computadores personales, o puede ser un supercomputador muy rpido. La mejor forma de
ilustrar la simplicidad con la cual se puede trabajar, es el cluster de Boewulf, quien uni 4
computadores personales para producir una alternativa rentable a la computacin tradicional de
alto rendimiento.

La conexin de los cluster de ordenadores se gestiona va red de rea local LAN,


trabajando cada ordenador como un servidor. Es Preciso mencionar que en la mayora de las
circunstancias, todos los equipos utilizan el mismo hardware y el mismo sistema operativo,
aunque tambin, se da el caso en que se pueden utilizar en cada computador diferentes
sistemas operativos.

La aplicacin de esta tecnologa es super transversal, ya que, no solamente puede


servir para unir ordenadores de bajo costo, sino, puede crear superordenadores que alcanzan
niveles altsimos de rendimientos. Uno de ellos es el Sequoia, desarrollado por IBM, y utilizado
para la simulacin de armas nucleares, estudios del genoma humano y el cambio climtico.

Diseo y configuracin
Una de las problemticas ms considerables en el diseo de un cluster es la forma en
que puede ser el acoplamiento estrecho de los nodos individuales. Por ejemplo, un nico
trabajo informtico puede requerir una comunicacin frecuente entre nodos: esto implica que el
clster comparte una red dedicada, que est densamente localizado y probablemente tiene
nodos homogneos. El otro extremo es donde un trabajo de computadora utiliza uno o pocos
7
nodos, y necesita poca o ninguna comunicacin inter-nodo, acercndose a la computacin en
cuadrcula.

En un sistema Beowulf, los programas de aplicacin nunca ven los nodos


computacionales (tambin llamados esclavos), sino que slo interactan con el "Maestro", que
es una computadora especfica que maneja la programacin y la gestin de los esclavos. En
una implementacin tpica, el Mster tiene dos interfaces de red, una que se comunica con la
red privada de Beowulf para los esclavos y la otra con la red de propsito general de la
organizacin. Los ordenadores esclavos suelen tener su propia versin del mismo sistema
operativo, memoria local y espacio en disco. Sin embargo, la red esclava privada tambin
puede tener un servidor de archivos grande y compartido que almacena datos persistentes
globales, a los que acceden los esclavos segn sea necesario.

Los cluster han sido operados con el mismo sistema operativo, pero esto ha cambiado
con el tiempo, los nodos pueden funcionar en las computadoras fsicas separadas con los
sistemas operativos diferentes que se pintan encima con una capa virtual para parece
similares.

Tipos y modelos de cluster


Los clusters se pueden clasificar tomando en cuenta diferentes aspectos como la
aplicacin, disponibilidad, servicio, hardware, sistema operativo, configuracin y el nmero de
nodos.

Tipos de cluster
Clusters de alta eficiencia (HT o High Throughput): En estos sistemas el objetivo
central de diseo es que se puedan ejecutar el mayor nmero de tareas en el menor
tiempo posible, entendiendo que hablamos de tareas individuales cuyos datos no tienen
dependencia entre s.
Clusters de alta disponibilidad (HA o High Availability): Con estos clusters se busca
dotar de disponibilidad y confiabilidad a los servicios que ofrecen. Para ello se utiliza
hardware duplicado, de modo que al no tener un nico punto de fallos (aunque se
produzca una avera en un componente siempre habr otro que pueda realizar el mismo
trabaja), se garantiza la disponibilidad del sistema.
Alto Desempeo (High Performance Computing): Este tipo de sistemas ejecutan
tareas que requieren de una gran capacidad de clculo o del uso de grandes cantidades
de memoria. Aun siendo de alto desempeo, el tiempo estimado para la realizacin de
la actividad puede tardar varias horas, debido al alto contenido de informacin de las
peticiones.

8
Modelos de cluster
NUMA (Non-Uniform Memory Access): Tiene acceso compartido a la memoria donde
se puede ejecutar el cdigo del programa.
MPI (Message Passing Interface): Es el estndar abierto de libreras de paso de
mensajes. MPICH y LAM (Local Area Multicomputer) son dos implementaciones de MPI
de cdigo abierto.
PVM (Parallel Virtual Machine): Al igual que MPI, tambin es usado en clusters
Beowulf y se basa en paso de mensajes, aunque ya est cayendo en desuso, pues
carece de varias caractersticas y no cumple con los nuevos estndares para desarrollo
de programas paralelos.
Beowulf: Es un cluster de componentes commodity dedicados a la solucin de un
problema paralelo. El primer cluster de este tipo fue desarrollado por Thomas Sterling,
de la divisin de Ciencias de la Tierra de la NASA en JPL California. Esta solucin
popular ha sido ampliamente aceptada en varios ambientes de produccin,
principalmente laboratorios de investigacin y sitios acadmicos.

9
CAPTULO 3
CONFIGURACIONES Y EJEMPLOS

10
Configuracin
Para este trabajo hemos elegido una configuracin de cluster simple, mediante la cual
uno podr expandirse luego de comprender las bases de la configuracin de los nodos.
Contamos con una cantidad reducida de pasos, pero para las cuales se requiere un
conocimiento de herramientas como RedHat o CentOs.

Los pasos generales que describiremos en este trabajo sern:

Instalar e iniciar un RICCI cluster service


Crear un Cluster en el Nodo activo
Agregar un Nodo al Cluster
agregar fencing al Cluster
Configurar failover domain
agregar recursos al Cluster
Sincronizar la configuracin del Cluster a travs de los Nodos
Iniciar el cluster
Verificar el funcionamiento de failover

Los cuales sern abordados con la terminologa y entendimiento de un nivel de usuario


avanzado.

11
Pasos a seguir

1) Primero se deber instalar los siguientes paquetes:


modcluster-0.16.2-28.el6.x86_64
luci-0.26.0-48.el6.x86_64
ccs-0.16.2-69.el6.x86_64
ricci-0.16.2-69.el6.x86_64
cman-3.0.12.1-59.el6.x86_64
clusterlib-3.0.12.1-59.el6.x86_64

2) Iniciar RICCI service y asignar una contrasea


Se debe iniciar RICCI service en los 2 nodos, como se ve a continuacin.

y asignar una contrasea para RICCI en los dos nodos.

12
3) Crear un cluster en el nodo activo
Desde el nodo en ejecucin inicie el comando para crear un nuevo cluster.

este comando crea el archivo de configuracin del cluster, si el archivo y existe,


entonces lo re-escribe.

Adems estamos corriendo este comando solo en un nodo, aun no esta


preparado para ser propagado hacia los otros nodos del cluster.Initial Plain
cluster.conf File

Luego de crear el archivo este debera verse de esta manera:

13
4) Agregar un nodo al cluster
Una vez creado el cluster, necesitamos agregar la particin de los nodos al
cluster usando el comando css como se ve en las imgenes.

Primero se debe agregar el nodo rh1 al cluster.

ahora se debe agregar el segundo nodo, rh2.

Una vez agregados nos aseguramos que estn reconocidos.

14
de igual manera revisamos el archivo cluster.conf el cual se deber ver de la
siguiente manera.

5) Agregar fencing al cluster


Fencing se refiere a que el nodo se desconecta del almacenamiento compartido.

Fencing corta todos los I/O desde el almacenamiento compartido, para asegurar
la integridad de la informacin.

Para activar el fencing se necesita el siguiente comando.

Luego debe agregar el dispositivo de fencing, para este caso usamos una
mquina virtual por esto usaremos el prximo comando.

15
Luego agregamos un mtodo de fencing, para el dispositivo de fencing. se debe
crear el mtodo y agregar los host para el mtodo.

Finalmente asociamos el dispositivo con el mtodo creado.

16
El archivo cluster.conf se deber ver de la siguiente manera.

17
6) Tipos de dominios failover
Algunos de los tipos de failover son:
Dominio de failover restringido : los recursos y servicios, estn unidos al
dominio de los miembros del cluster
Dominio de failover sin restriccin: los recursos pueden correr en todos
los miembros del cluster, pero correr en alguno siempre que est
disponible.
Dominio con orden de prioridad: los nodos en este modo son asignados
con orden de prioridad, siempre que un nodo con un nmero menor
exista disponible, los recursos se corrern en el.
Dominio sin orden: cualquier miembro puede correr en los recursos, pero
los grupos de recursos siempre migran hacia los miembros del failover, si
es posible.

7) Agregar un dominio de failover


Primero se debe crear un nombre de dominio, en este caso es llamado
webserverdomain

una vez creado el dominio, hay que agregar los nodos en este

para corroborar se puede ver qu nodos estn incluidos en el failover mediante

18
8) Add Resources to Cluster
Existen 2 formas de agregar recursos a tu cluster.
Se puede hacer mediante recursos globales o se puede agregar directamente a
un grupo de recursos o servicios.
La ventaja de agregar como recurso global es, si se desea agregar el recurso a
ms de un grupo de servicio, puedes simplemente referenciar el recurso hacia
donde quieras.
En este ejemplo, se agrega el filesystem en un almacenamiento compartido en
forma de recurso global y referenciado en el servicio.

Para agregar un servicio a un cluster, hay que crear el servicio y agregar el


recurso al servicio

Ahora hay que agregar unas lineas en el archivo cluster.conf para agregar la
referencia del recurso en el servicio. en el ejemplo tambin se agrega la ip de
failover al servicio.

9) Sincronizar la configuracin a lo largo de los nodos


La configuracin debe ser sincronizada, cada vez que se realice un cambio, s
debe sincronizar desde un nodo activo hacia todos los nodos.
el siguiente comando, sincronizar la configuracin del cluster en todos los
nodos disponibles.

19
10) Verificar la configuracin del cluster
Ha estas alturas tenemos todo lo necesario para iniciar el cluster, pero antes de
eso vamos a verificar que la configuracin sea correcta.

si alguna configuracion no esta correcta, o un nodo no est sincronizado, se


podr ver el detalle de el problema en la pantalla de este comando.

11) Iniciar el cluster


Para iniciar el cluster desde el nodo 1.

para iniciarlo en los dos nodos.

para detener el nodo 1.

para detener el cluster en los dos nodos.

20
12) Revisar el estado del cluster
Cuando todo est funcionando y corriendo en Redhat o CentOS Linux Cluster,
puedes ver el estado del cluster.

13) Verificar el failover del Cluster


para verificar el failover de un cluster, debemos desactivar o apagar el nodo
activo, esto debera forzar a que la carga de trabajo cambie de nodo.

21
luego de esto, deberias ver lo siguiente para el nodo 1

Se puede ver, que el nodo 1 est desconectado, y el nodo 2 es el activo ahora.

22
14) cluster.config funcionando completamente
Una vez tengas todo listo, tu archivo cluster.conf deber verse de la siguiente
forma

23
Ejemplo prctico
Las decisiones de almacenamiento afectan la velocidad de consulta de la base de datos y el
tamao de los discos duros debe ser adecuado para almacenar todos sus datos.

Los servidores de bases de datos suelen leer y escribir datos en sus discos duros. Aumentar
as la velocidad con la que los datos pueden ser escritos y recuperados tiene un gran efecto en
el rendimiento. Muchas personas recomiendan SSD (Solid State Drives) para bases de datos
con altos requisitos de E / S, ya que los datos se pueden escribir y leer ms rpido. Sin
embargo SSD viene a un precio ms alto que SATA.

Basado en esto, una buena alternativa de utilizacin del cluster de tipo respaldo y de recursos
compartidos configurado con anterioridad sera un clster de servidores de respaldo el cual
permitir segmentar y gestionar correctamente los servicios como almacenamiento en la web,
bases de datos y archivos. Esto mejora el rendimiento del servidor, facilita la ampliacin de la
infraestructura y su seguridad ya que ante la falla de uno de los nodos, la carga se distribuye
hacia el siguiente de forma instantnea y sin retraso o delay.

24
CAPTULO 4
CONCLUSIN

25
Conclusiones
Los cluster son herramientas muy importantes hoy en da, son utilizados para distintas
aplicaciones de e-ciencia, base de datos debido a su gran relacin precio/prestaciones y
escalabilidad adems de aplicaciones de clculo cientfico ya que permite a pequeos grupos
disponer de multicomputadores.

Este tipo de sistemas son los ms fiables, ya que para la parada total del proceso deben de
pararse todas las mquinas que componen el grupo. Es la mejor solucin para crecer segn las
necesidades reales, ya que se pueden aadir tantas mquinas como se necesiten.

Empresas muy importantes como Google y Microsoft utilizan este tipo de sistemas para poner
en marcha sus portales. Realmente con este tipo de soluciones las posibilidades son inmensas.
Anterior a los clster slo se contaba con los tradicionales mainframes y las
supercomputadoras que desde siempre han estado construidas solamente por unos fabricantes
muy concretos y para un colectivo elitista que necesitaba gran potencia de clculo, como
pueden ser empresas o universidades. Pero muchos colectivos no pueden afrontar el costo
econmico que supone adquirir una mquina de estas caractersticas, y aqu es donde toma la
mxima importancia la idea de poder disponer de esa potencia de clculo, pero a un precio
muy inferior

26
Bibliografa
http://www.prosec.com.mx/tcluster.html

http://tesis.ipn.mx/jspui/bitstream/123456789/5012/1/DISENOIMPLEMENT.pdf

https://carlos8rg.files.wordpress.com/2008/08/onto_cluster.pdf

27

You might also like