Sei sulla pagina 1di 5

Implementacion de un Cluster virtual utilizando

herramientas de Software Libre


Kelvin Velez Rodrguez.

Resumen- En este artculo se presenta detalladamente el

proceso de implementacion virtual de un Cluster


hacienda uso
de herramientas muy sencillas de software libre y hardware
que puede ser encontrado en cualquier tienda
muy comun
informatica, esto contribuyo que varios nodos puedan funcionar

paralelamente en el Cluster
implementado. Como parte del
proceso de instalacion se detalla tambien la configuracion del
Sistema Operativo ABC-LINUX, el cual residira en una maquina
virtual de VirtualBox que hara a su vez de Frontend y as

administrar todos los nodos que formaran parte del Cluster.


Una
vez reunidas e instaladas todas las herramientas se realizaron
pruebas de comprobacion para constatar que todos los componentes funcionen adecuadamente.

Palabras clave- ABC, Beowulf, Cluster,


MPI, VirtualBox.
AbstractThis article presents in detail the process of virtual
implementation of a Cluster finance using very simple tools of
free software and very common hardware which can be found
at any computer store, this contributed that multiple nodes
can operate in parallel in the implemented Cluster. As part of
the installation process described also the configuration of the
LINUX operating system ABC-, which will reside in a virtual
machine from VirtualBox which will in turn from Frontend and
so managing all the nodes that will be part of the Cluster. Once
assembled and installed all the tools were tested of checking to
make sure that all components work properly.

como resultado de la convergencia de varias tendencias actuales que


incluyen la disponibilidad de microprocesadores economicos de alto
rendimiento y redes de alta velocidad, el desarrollo de herramientas
de software para computo distribuido de alto rendimiento, as como
la creciente necesidad de potencia computacional para aplicaciones
que la requieran [2].
Simplemente, un cluster es un grupo de multiples computadores
unidos mediante una red de alta velocidad, de tal forma que el
conjunto es visto como un u nico ordenador, mas potente que los
comunes de escritorio [2]. Los clusters son usualmente empleados
para mejorar el rendimiento y/o la disponibilidad por encima de
la que es provista por un solo computador tpicamente siendo mas
economico que computadores individuales de rapidez y disponibilidad comparables [2].
Este trabajo de investigacion se propone la implementacion de
un cluster de tipo Beowulf, el cual consiste en agrupar varios
nucleos de los procesadores del frontend y de los nodos para ejecutar
programas en forma distribuida en cada uno de los nucleos, para el
desarrollo de aplicaciones paralelas utilizamos el sistema operativo
ABC GNU/LINUX x86 basado en Linux Ubuntu 9.04 con capacidad
de trabajar en modo live o modo install, cuenta con software
100% libre. De esto se obtendran grandes beneficios ya que permitira
poder obtener resultados que no se lograran con un solo procesador.

Index TermsABC, Beowulf, Cluster,


MPI, VirtualBox.
Este artculo fue enviado para revision el 8 de Julio de 2015. La Implementacion de un Cluster virtual utilizando herramientas de Software Libre
fue apoyada por la Carrera de Ingeniera en Sistemas Informaticos de la
Universidad Tecnica de Manab. Como proyecto de investigacion de primer
ciclo.
K. Velez Rodrguez estudiante de la Carrera de Ingeniera en Sistemas Informaticos de la Universidad Tecnica de Manab (e-mail:
kvelez7766@utm.edu.ec)

I. I NTRODUCCI ON

n la actualidad los sistemas informaticos de las entidades


publicas y privadas son una pieza imprescindible para su correcto funcionamiento. Cada vez mas empresas y organismos publicos
confan procesos de negocio crticos en sistemas informaticos para
mejorar la productividad y disponer de esta informacion crtica en un
tiempo mnimo [1]. Es en base a estas necesidades que dia a dia las
tecnologias en su afan por evolucionar son mejoradas obteniendo asi
un producto final de primera, contribuyendo asi a la automatizacion
progresiva de las tareas humanas.
La alta disponibilidad, ya sea de servicios o de datos, puede
ser alcanzada tanto haciendo uso de soluciones software como
de soluciones hardware. La variedad que existe en ambos grupos
es muy grande, pudiendo elegir siempre una solucion que encaje
perfectamente segun nuestras necesidades. Las soluciones software
nos permiten alcanzar alta disponibilidad instalando y configurando
determinadas herramientas y aplicaciones que han sido disenadas
para tal efecto [1]. Una de las herramientas de mas auge y que
ayuda mucho a las empresas e entidades academicas en la actualidad
son los llamados cluster beowulf [2]. El computo con clusters surge

La estructura del artculo es la siguiente:


la Seccion II presenta como Marco Teorico, material bibliografico
sintetizado referente a arquitecturas cluster, la computacion de alto
rendimiento, programacion en paralelo y la virtualizacion de Sistemas
Operativos. La Seccion III detalla la metodologa de instalacion y
configuracion del cluster de manera virtualizado. La Seccion IV
describe el proceso de ejecucion de la arquitectura cluster. En la
Seccion V se presentan los resultados obtenidos en diversas pruebas
utilizando herramientas de software libre. Finalmente, la Seccion VI
se establecen las conclusiones a las que se ha llegado al termino del
proyecto.

II. M ARCO T E ORICO


A. Arquitecturas Paralelas
En lugar de procesar cada instruccion en forma secuencial como es
una computadora convencional, un sistema de procesamiento paralelo
puede ejecutar procesamiento concurrente de datos para conseguir
un menor tiempo de ejecucion. Por ejemplo, cuando se ejecuta una
instruccion en la ALU, puede leerse la siguiente instruccion de
la memoria. A diferencia de un procesador serial, en el cual se
ejecuta una instruccion por vez sobre un u nico dato, las arquitecturas
paralelas operan en forma simultanea sobre un conjunto de datos y
puede ejecutarse una misma instruccion en cada procesador como
tambien el conjunto de CPUs ejecutar distintas instrucciones [3].

B. Arquitectura cluster de alto rendimiento


Por medio de un cluster se pueden conseguir capacidades de
calculo superiores a las de un ordenador mas caro que el costo

conjunto de los ordenadores del cluster. El hardware de un Cluster


tiene una arquitectura basada en multicomputadores, de los cuales
uno se usa como el nodo principal denominado Maestro y los
demas llamados Esclavos, conectados a traves de una red. Cada
computador posee componentes de hardware que son comunes en
el mercado de los PCs, por lo que no hay problemas a la hora
de conseguirlos. El Cluster se comporta como una sola maquina
por lo que el nodo principal sirve como consola y los esclavos
generalmente no tienen teclado, mouse, ni monitor, siendo accedidos
va remota o por terminal serial [4]. El nodo maestro controla el
Cluster prestando el sistema de archivos a los nodos esclavos. El
hardware en los nodos esclavos es simple, inclusive pueden ser
configurados sin disco duro, lo mnimo es el procesador, la memoria,
la tarjeta principal y algun dispositivo de comunicacion (tarjeta de
red). Para el almacenamiento se puede emplear un arreglo de discos
lo que facilita la administracion, o que cada nodo cuente con su propio
disco duro lo que facilita la configuracion. Para la comunicacion se
deben adquirir componentes que proporcionen la velocidad que la
aplicacion requiere, por lo que se recomienda tarjetas de red de 100
Mbps o superior y un componente activo que disminuya la colision
en la comunicacion [4].

Cluster
de alto rendimiento: Se utiliza normalmente en aplicaciones que realizan calculos intesivos, pretenden sustituir a las
grandes y costosas supercomputadoras.

Cluster
de balanceo de carga: Permiten que un conjunto de
servidores compartan la carga de trabajo y de trafico a sus clientes.

Cluster
de disponibilidad: Intentan mantener en todo momento la
prestacion del servicio, cubriendo los fallos que se puedan producir.

preciso cumplir los siguientes requisitos orientativos:


* Utilizar mas de un PC y todos los PCs integren 256 MB de memoria
RAM y que al menos sean procesadores P3 500Mhz o equivalente.
En caso de que se quiera construir un cluster en modo live no
es preciso utilizar disco duro alguno, en caso de querer instalar la
distribucion en el front-end(el PC donde se inserta el disco de ABC)
sera necesario que ese PC tenga disco duro.
* Los PCs deben estan interconectados a traves de un switch. Nunca
debe utilizar un router para interconectar los PCs. La velocidad del
switch y la categora del cableado empleado han de ser la mayor
posible ya que en caso de que el cluster este formado por un gran
numero de PCs la latencia perjudicara el rendimiento del sistema
* Descargar la ISO de ABC del mirror de la UPV/EHU o del mirror
de sourceforge.
Una vez que ya se cuenta con todos los elementos necesarios para
realizar la instalacion del cluster, se debe proceder a comenzar el
proceso. En este caso sera un cluster virtual con el que se realizara
la demostracion, para hacerlo de manera fsica por lo general se debe
conseguir un switch si se quiere utilizar mas de un nodo, ya que si
usamos un solo nodo este se podra conectar con un simple cable de
red al frontend; por lo general en red inalambrica no funciona, una
razon podra ser porque la direccion IP del frontend es asignada a la
.01 y si se usa un router es a este el que se le asigna esta direccion.
Por ese motivo para evitar problemas se utiliza un switch.
Como primer paso de la instalacion, se debe crear una maquina
virtual la cual le sera tipo Linux y en la version se escogera Other
Linux (32 bit), ya que no aparece la version ABC, pero igual sigue
siendo Linux el motor del sistema Operativo ABC.

C. ABC GNU/Linux
La distribucion ABC GNU/Linux esta basada en Ubuntu y esta
especializada en la construccion automatica de clusters Beowulf de
alto rendimiento con tan solo arrancar el sistema en modo live
en el frontend o siendo instalado en su disco duro. Los nodos
arrancan diskless a traves de PXE. Usa como gestor de ventanas
Gnome. Integra el monitor de recursos Ganglia. Se trata de la primera
distribucion que integra todas estas caractersticas. Ha sido publicado
un artculo cientfico sobre este sistema en el IEEE y presentado en el
Simposium ICAT2009 celebrado en Sarajevo (Bosnia Herzegovina).
Desarrollado por Iker Castanos Chavarri en el Departamento de Ingeniera de Sistemas y Automatica de la EUITI de Bilbao, Universidad
del Pas Vasco [5].
Fig 1. Crear nueva maquina virtual.

D. Oracle VM VirtualBox
Creado originalmente por la empresa alemana Innotek GmbH.
Actualmente es desarrollado por Oracle Corporation como parte de
su familia de productos de virtualizacion. VirtualBox es un potente
x86 y AMD64 / Intel64 virtualizacion producto para la empresa, as
como el uso domestico. No solo es VirtualBox un extremadamente
rico en caractersticas, producto de alto rendimiento para clientes
empresariales, es tambien la u nica solucion profesional que esta
libremente disponible como software de codigo abierto bajo los
terminos de la Licencia Publica General de GNU (GPL) version 2.
Actualmente, VirtualBox se ejecuta en Windows, Linux, Macintosh
y hosts de Solaris y soporta un gran numero de sistemas operativos
invitados incluyendo pero no limitado a Windows (NT 4.0, 2000, XP,
Server 2003, Vista, Windows 7, Windows 8), DOS / 3.x Windows,
Linux (2.4, 2.6 y 3.x), Solaris y OpenSolaris, OS / 2, y OpenBSD
[6].

Una vez creada la maquina virtual con todos los parametros de


memoria asignados de forma conveniente se escoge la opcion iniciar,
aparecera una ventana en la cual pide seleccionar el disco de inicio
del sistema operativo, en el cual se debera indicar la ubicacion del
ABC Linux.

III. M ETODOLOGI A
REQUISITOS MINIMOS (orientativos):
Para poder construir un cluster Beowulf con ABC GNU/Linux es

Fig 2. Seleccion del disco de arranque para instalar ABC.

Cuando inicia el disco de arranque en la maquina virtual, aparecera


en pantalla un texto en el cual pide que cuando la instalacion lo
solicite se debe ingresar como usuario y como hostname: master;
tambien pide que se indique el modo con el cual se usara el sistema;
en este caso existe modo Live, Install, Check, Memtest y hd, el que
sera utilizado sera el modo Install, el cual instalara el sistema en
el disco duro de la maquina virtual. Para esto se escribe la palabra
install y se presiona enter.

Fig 5. Reiniciar Sistema.

Una vez que ya esta reiniciado el sistema y todo ha salido de


forma correcta el sistema operativo debe mostrar el escritorio y
los iconos de sus principales herramientas las cuales son: Cluster
Monitor, Terminal, Autolamboot.

Fig 3. Opciones de Instalacion.

Cuando la instalacion comienza se debera escoger el idioma, el


huso horario, tipo de distribucion del teclado que se utiliza, disco en
el cual se instalara el archivo de arranque, luego aparece la ventana
en la cual se especificara el usuario y los datos de la cuenta, recordar
que el usuario es master, esto es porque el sistema operativo
solo reconoce el a este usuario determinado. La clave si puede ser
cualquier combinacion que sea segura. Al presionar en siguiente
aparecera otra ventana en la cual nos muestran todos los parametros
que seran instalados y hay que presionar el boton Instalar.

Fig 6. Escritorio de ABC LINUX.

Ahora ya esta culminado el paso de instalacion del sistema


operativo y se procedera a crear los nodos, los cuales van a brindar
todos sus recursos para que el frontend pueda funcionar mucho mejor.
En este caso se crearan tres nodos denominados Nodo1, Nodo2 y
Nodo3. Las caractersticas que se escojan para los nodos no es de
tanta importancia ya que no se instalara nada en ninguno de ellos
por el momento.

Fig 7. Nodos en VirtualBox.

Fig 4. Datos de Usuario.

La instalacion puede tardar varios minutos y al finalizar pedira que


se reinicie el sistema pero para que pueda cumplirse el objetivo del
reinicio hay que expulsar el disco de inicio del ABC ya que si no
volvera a proceder la instalacion.

Cuando se ha finalizado de crear los nodos, hay que realizar


un paso muy importante para que logre el frontend reconocer los
nodos cuando estos decidan iniciar en modo LAN. Seleccionar el
frontend ABC, clic derecho, configuraciones, red, en la opcion que
dice conectado a se escoge red interna y el tipo de adaptador se
recomienda usar el mismo en todos los nodos para evitar problemas.
Este paso debe realizarse en todos los nodos ya que deben pertenecer
a la misma red para que puedan conectarse de manera simple.
Una vez configuradas todas las interfaces de red en los nodos y
el frontend se procede a iniciar en primera instancia la maquina que

Para observar los nodos con sus respectivas direcciones, en el ABC


Linux abrimos la aplicacion Terminal y se escribe la siguiente lnea
de comando: lamboot v clusterhosts, esta lnea muestra los nodos
conectados y en lnea en tiempo real. El nodo cero n0 es el frontend
y el resto son los nodos iniciados.

Fig 11. Direcciones IP de los componentes.


Fig 8. Configuracion de Interfaces de Red.

contiene el ABC Linux, ya que los nodos lo necesitan para iniciar


en modo LAN. Luego se inician los nodos y se accede al menu boot
de cada uno de ellos y se debe escoger la opcion LAN, en este caso
presionando la tecla L; una vez que un nodo culmina su inicio
aparece en la u ltima lnea la frase node login:.

Si se desea observar informacion mas detallada de las estadsticas


actuales del estado del cluster se puede utilizar la herramienta Cluster
Monitor, en la cual detalla de manera grafica y en tiempo real toda la
informacion referente a los nodos y los recursos con los cuales cuenta
el sistema actual sumando los recursos de los nodos iniciados.

Fig 12. Herramienta Cluster Monitor.

Fig 9. Inicializacion de los nodos en modo LAN.

Luego de iniciar todas las maquinas necesarias, en este caso


el frontend que contiene el ABC Linux, los tres nodos que seran
utilizados e inicializados en modo LAN.

En caso de que algun nodo sea cerrado o se caiga la conexion


el sistema lo detectara y actualizara su condicion actual restando los
recursos perdidos por la baja de un nodo. Si en la Terminal escribimos
lamboot v clusterhost se detallara un informe en el cual detalla
que no se tiene respuesta de un nodo y esto genera un error.

Fig 13. Herramienta Cluster Monitor.

Tambien se puede apreciar el estado detallado de los nodos actuales


en el Cluster Monitor, en el cual detalla la cantidad de nucleos usados,
la cantidad de hosts levantados y los que han cado, en este caso
mostrara que uno de ellos ha cado.

Fig 10. Nodo inicializado.

IV. P RUEBAS
Se realizaron diversas pruebas en la arquitectura cluster, para
verificar la conexion de los nodos con el frontend que es la maquina
que tiene el ABC GNU/Linux.

Fig 14. Herramienta Cluster Monitor.

V. R ESULTADOS
A. Experiencias y problemas
En la realizacion de este trabajo de investigacion se obtuvieron
varias experiencias y problemas que se detallan a continuacion:
* Un problema que se presento fue que la imagen ISO con la que
se estuvo trabajando al inicio, estaba corrupta y no inicializaba, la
correccion fue conseguir otra para inicializar bien.
* Una vez instalado el sistema operativo en una maquina virtual,
se procedio a crear los nodos en para inicializarlos en modo LAN,
pero estos nunca se conectaban e inicializaban en base al ABC, la
solucion fue configurar las interfaces de red eligiendo la opcion Red
Interna, en todas las maquinas que intervienen en el proceso, de esta
manera los nodos y el frontend estan interconectados.
* Al momento de instalar el ABC en la parte de datos de usuario
se ingreso un nombre cualquiera, eso ocasiono que al momento de
visualizar los nodos con sus direcciones IP en la terminal del ABC,
ocasionara un problema de acceso ya que no reconoca el usuario
con el que haba ingresado, la solucion fue reinstalar el ABC y leer
la primer pantalla que aparece, en la cual dice que el usuario debe
ser master y as ya no dara problemas.

R EFERENCES
[1] S. Barrio Gonzales, Cluster Alta Disponibilidad sobre Plataforma
GNU/LINUX (VERITAS), Universitat Oberta de Catalunya, (n. d.).
[2] M. Abarca Castro, ESTRUCTURACION DE UN CLUSTER BEOWULF, Universidad Catolica de Temuco, 2008.
[3] L. Smerling, Raul Tschanz, Procesamiento paralelo: que tener en cuenta
para aprovecharlo. Conceptos y alternativas en Linux., Universidad
Tecnologica Nacional, 2001.

[4] J. Victorino Guzman, R. Hernandez Martnez, IMPLEMENTACION


DE UN CLUSTER BEOWULF, Meteorologia Colombiana, 2001.
[5] VirtualBox, Welcome to VirtualBox.org [Online]. Available: https://
www.virtualbox.org/. [Accessed: 02-Jul-2015].
[6] Wikipedia, ABC GNU/LINUX [Online]. Available: https://es.
wikipedia.org/wiki/ABC GNU/Linux. [Accessed: 04-Jul-2015].
[7] J. Mitxeo Grajirena, I Idigoras Gamboa, A. Vicente Molina, Los cluster
como fuente de competitivdad: el caso de la Comunidad Autonoma del
Pas Vasco, Universidad del Pas Vasco, 2003.
[8] S. Melon Rial, Instalacion y configuracion de un cluster de computacion, 2012.
[9] E. Gonzalez Ramrez, A. Rodrguez Sanchez, Diseno e Implementacion
de un cluster tipo Beowulf para el desarrollo de computo cientfico
avanzado, Instituto Politecnico Nacional, 2008.
[10] I. Robledo Vega, Cluster Beowulf de 16 Nodos, Instituto Tecnologico
de Chihuahua, 2009.

* Probamos las conexion de maquinas reales a traves de un router


D-Link domestico, pero llegamos a la conclusion de que no se puede
utilizar un router, ya que este contiene una direccion IP propia y al
momento del que nodo buscara la direccion IP del ABC no la iba a
encontrar porque primero encontraba la direccion del router, por ello
decidimos trabajar con un switch para la conexion de nodos reales.

VI. C ONCLUSIONES
* Las herramientas informaticas son de mucha ayuda en los procesos que giran en torno a las actividades laborales y empresariales,
ya que los usuarios y dirigentes confan informacion muy valiosa a
estos componentes, que si son implementados de manera conveniente
resultan muy eficaces.
* En este caso la utilizacion de un Cluster es muy necesaria ya
que si se adquieren equipos individuales para realizar tareas muy
complejas o de mucha concurrencia serian equipos con caractersticas
muy elevadas y por su puesto seran muy caros, pero si se desarrolla la
propuesta del Cluster los costos seran mas bajos y las caractersticas
del servidor o sus prestaciones seran mucho mas elevadas ofreciendo
un mejor desempeno y con opcion a incrementar caractersticas a
medida que la situacion lo amerite.
* Los conocimientos adquiridos seran de mucha utilidad ya que a
medida que avanza la tecnologa estos procesos son muy bien acogidos por los empresarios y entidades publicas y privadas, ofreciendo
as una herramienta viable para desempenarse en el campo laboral

VII. AGRADECIMIENTOS
Los autores agradecen a la Universidad Tecnica de Manab, a la
Carrera de Ingeniera en Sistemas Informaticos por la oportunidad
que nos brinda para poder prepararnos profesionalmente. De igual
manera el autor agradece el apoyo academico desinteresado del
docente gua de la materia.

Kelvin Velez R. Estudiante de sexto nivel de la


Carrera de Ingeniera en Sistemas Informaticos de la
Universidad Tecnica de Manab Ecuador (Abril
2012 hasta la actualidad). Provincia de Manab,
Ciudad Portoviejo, Ecuador, 2015.

Potrebbero piacerti anche