martes, 18 de noviembre de 2008

Sistemas distribuidos: Cluster

En este apartado voy a explicar lo que es y consiste básicamente un sistema distribuido (cluster).

Me guiaré de este índice:

  • Definición
  • Tipos y Aplicaciones
  • Cluster Google
  • Elementos necesarios


..:: Definición:

Un cluster es un conjunto de ordenadores que están conectados entre sí por medio de una red, para compartir recursos con el objetivo de realizar tareas y funciones como si fuesen un único ordenador (memoria distribuida).


Sirve para cuando queramos realizar tareas que necesiten grandes requerimientos de memoria y CPU y para ahorrarnos horas de trabajo en tareas y operaciones.

..:: Tipos de Cluster:

Hay 3 tipos de cluster:

  1. High Performance o Alto rendimiento.
  2. High Availability o Alta Disponibilidad.
  3. High Reliability o Alta Confiabilidad.


Alto Rendimiento

El objetivo es mejorar el rendimiento, de tiempo o precisión, para la solución de un problema.
Este tipo suele estar ligado a solucionar los siguientes problemas:
  • Cálculos matemáticos
  • Mejora de gráficos
  • Compilación de programas
  • Descifrado de códigos
  • Rendimiento del sistema operativo

Alta disponibilidad

Los clusters de alta disponibilidad están destinados a mejorar los servicios que ofrecen las empresas de cara a los clienrtes de una red, ya sea local o de internet. Fundamentalmente tienen dos características :
  1. Fiabilidad
  2. Disponibilidad

Alta confiabilidad

Con alta confiabilidad se trata de aportar la máxima confianza es un entorno en el cual se necesita saber que el sistema siempre se va a comportar de una forma determinada, como por ejemplo sistemas de respuesta a tiempo real.
Suele ser usado para entornos de tipo empresarial, necesitando un hardware especializado.

..:: Cluster Google:

Google necesitaría muchísima potencia para abastecer los servicios de todos los usuarios del mundo, una media de 40 millones de busquedas diarias. Para conseguir esta potencia Google desarrolló varios servidores, cada uno de ellos formado por un cluster. Consiguiendo así la potencia necesaria para todas las peticiones. Cada cluster de google se compone de 359 racks (estructura parecida a una estantería para organizar los nodos), 31654 nodos, 63184 CPUs, 126.368 Ghz de potencia de procesamiento, 63.184 Gbytes de RAM y 2.527 Tbytes de espacio en disco duro.
Un ejemplo claro de un cluster es la siguiente imagen:


..:: Elementos necesarios:

  • Dos o más nodos (ordenadores) compuestos al menos por un microprocesador, una memoia y una interfaz para que se puedan comunicar con la red del cluster.
  • Hardware apropiado al tipo de cluster que vamos a utilizar.
  • Tarjeta de red.
  • Un medio de transmisión entre ellos como por ejemplo RJ-45.
  • Software de sistema y un software de aplicación.

Software de sistema

Podemos usar distintos sistemas operatios para conseguir el funcionamiento del cluster, como son:
  • Ubuntu server
  • Windows Server
  • OpenMosix
  • ParallelKnoppix
  • Pelican

Software de Aplicación

Dependiendo del sistema operativo que vayamos a utilizar necesitaremos unos paquetes o programas:

En el caso de Linux:
  • HeartBeat: ejecuta los servicios en los nodos.
  • HeartBeat-Stonith: es una técnica HeartBeat que se encarga de controlar que cuando un servidor esté caído no interfiera en el funcionamiento del cluster.

En el caso del Windows:
  • A partir de windows 2003 server los servidores ya viene preparado con el software necesario. Para mejorar el rendimiento en windows server 2008 podemos usar Failover Cluster.

El siguiente paso será la instalación del cluster.

Montar un cluster con Linux:

http://root-neztgul.blogspot.com/2008/08/como-montar-un-cluster-con-linux.html

2 comentarios:

The root of all evil's dijo...

Quillo Que !!!, cluster !, quiero ser el nodo 0 ole !

je je... que tal esa expo ??


un saludo del nodo 0.

Neztgul dijo...

La expo perfecta maquina!!

Fué todo muy bien el tema de cluster lo domino...sigo haciendo ping a los nodos y se ven pero no logro al 100% que interactuen entre ellos.

Por cierto Señor Token386, me pones la webCam para verte o te hago un ping?

JAJA

Un saludo!!