Sunteți pe pagina 1din 20

MANUAL DE INSTALACION CLUSTER MPI DE ALTO

RENDIMIENTO EN LINUX MID


Realizado por:
Duvan José Botello Ramírez
Daniel Alejandro Luna Ortiz
Camilo Andrés Ojeda Melgarejo

¿Qué es un cluster?

Los Cluster en computación son una colección de computadoras interconectadas de alguna


manera, que trabajan en conjunto, distribuyéndose las tareas entre ellas, logrando que el
usuario lo vea como una sola.

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


Preparando distribución para montar los paquetes necesarios de
instalación.
1) Se debe crear un usuario para llevar la configuración de cluster, cabe destacar
que el master y los esclavos deben tener el mismo nombre de usuario.

2) Vamos a la ruta indicada para conceder los permisos de súper usuario al


usuario creado.

De esta forma debe quedar el archivo “sudoers”

NOTA: Este paso se debe hacer en todos los nodos del cluster.

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


Instalación de open mpi

Se trata de una API de código abierto desarrollada para facilitar la


programación paralela y/o distribuida que:
Implementa el estándar MPI.

 Permite la distribución de procesos de forma dinámica.


 Alto rendimiento.
 Tolerancia a fallos: capacidad de recuperarse de forma
transparente de los fallos de los componentes (errores en
el envío o recepción de mensajes, fallo de un procesador o
nodo).
 Soporta redes hetereogéneas: permite la ejecución de programas en redes cuyos
ordenadores presenten distinto número de nodos y de procesadores.
 Una única librería soporta todas las redes.
 Portable: funciona en los sistemas operativos Linux, OS-X, Solaris y en un futuro
próximo en Windows.
 Modificable por los instaladores y usuarios finales: presenta opciones de
configuración durante la instalación de la API, la compilación de programas y su
ejecución.

Instalando los paquetes necesarios para poder utilizar OPEN MPI


1) Debemos instalar los siguientes paquetes.
- Sudo apt-get install libopenmpi-dev
- Sudo apt-get install openmpi-common
- Sudo apt-get install openmpi-bin
- Sudo apt-get install openmpi.doc

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


Realizando Pruebas de openmpi:
1) Ejecutamos nuestro primer programan utilizando openmpi y correrá solo en
nuestra máquina. (la salida debe ser “Hola”)

2) Verificamos el nombre de nuestro equipo, cado nodo debe ser nombrado según la
nomenclatura elegida para el cluster (Ejemplo. Master, esclavo1, esclavo2 etc…)

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


Instalando Servidor DNS
¿Qué es un servidor DNS?
Un servidor DNS (Domain Name System - Sistema de nombres de dominio) es un servidor
que traduce nombres de dominio a IPs y viceversa. En las redes TCP/IP, cada PC dispone de
una dirección IP para poder comunicarse con el resto de PCs.
Trabajar con direcciones IP es incómodo para las personas, ya que requeriría conocer en
todo momento las direcciones IP de los equipos a los que queremos conectarnos. En su
lugar utilizamos nombres de dominio que son más fáciles de recordar y utilizar como por
ejemplo www.google.es, www.educacion.gob.es, etc..
9

1) Instalación de paquetes necesarios para montar nuestro servidor DNS

2) Nos dirigimos a la siguiente ruta para configurar los parámetros necesarios.

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


Modificamos las dos líneas que están en rojo en la siguiente imagen. Se va a establecer un
listen-on y allow-query de tipo any para que reciba cualquier tipo de conexión y no haya
problemas a la hora de iniciar nuestro servidor de DNS.

3) Las zonas pueden declararse en el archivo “/etc/bind/named.conf.local”

La resolución de nombres traduce nombres de sistemas en sus direcciones IP y viceversa.


Así, la configuración consiste, básicamente en la creación de 2 zonas, una (zone “so.com”)
que convierte nombres en direcciones IP y otra (zone “75.168.192.in-addr.arpa”) que
convierte direcciones IP en el respectivo nombre de sistema.

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


4) Ahora vamos a crear los archivos de configuración para cada zona.

5) se crea con el mismo nombre que se especificó al crear la zona.

6) configurando el archivo “db.so.com”, cabe destacar que la configuración cambia


según sean llamados sus nodos o configuración de red.

7) configuración “db.75.168.162.rev”

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


8) accedemos al archivo “resolv.conf” para configurar el servidor DNS de nuestro
equipo. De esta forma le especificamos los DNS que consultara nuestra maquina al
hacer una petición por el protocolo TCP.

9) reiniciamos los servicios respectivos para el correcto funcionamiento de nuestro


servidor.

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


CONFIGURANDO ESCLAVO1
Cabe destacar que inicialmente la configuración del esclavo es igual a la de nuestro pc
master, se debe instalar las librerías necesarias para el uso de las diferentes herramientas.
1) Creamos el usuario.

2) Damos permisos de súper usuario, al user creado anteriormente.

3) Instalamos las librerías necesarias para utilizar OEPN MPI

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


4) Probando open MPI en el esclavo1.

Configurando SSH
¿Qué es SSH?
SSH o Secure Shell, es un protocolo de administración remota que permite a los usuarios
controlar y modificar sus servidores remotos a través de Internet. El servicio se creó como
un reemplazo seguro para el Telnet sin cifrar y utiliza técnicas criptográficas para garantizar
que todas las comunicaciones hacia y desde el servidor remoto sucedan de manera
encriptada. Proporciona un mecanismo para autenticar un usuario remoto, transferir
entradas desde el cliente al host y retransmitir la salida de vuelta al cliente.
Clave pública y Privada
La autenticación con clave pública para conectarse a un servidor remoto usando el
protocolo SSH funciona con dos claves: una pública y otra privada. Para entender el
funcionamiento se suele recurrir a la metáfora del candado y la llave. La clave pública
funciona como un candado y la privada como la llave. El candado se colocará en el servidor
remoto al que se quiere acceder; cuando se intenta acceder se comprobará que la máquina
que intenta conectar tiene la llave, la clave privada.

1) Instalando los paquetes necesarios para utilizar ssh. (esto se debe hacer en cada uno
de los nodos.)
Master:

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


Esclavo:

Probando desde master:

Probando desde esclavo1:

Generando llave pública y compartiendo en master:

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


Añadimos nuestra llave generada en id_rsa

Le copiamos nuestra llave pública a nuestro esclavo1.

Generando llave en esclavo1.

Añadimos nuestra llave generada por el esclavo1

Movemos la llama al archivo authorized_key para generar una conexión sin contraseña.

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


Probando conexión ssh sin contraseña.

Prueba de mpirun

Al ejecutar esta prueba nos debe votar el nombre de la máquina que se está consultado.

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


NOTA: los pasos anteriores se deben realizar con cada esclavo del cluster.

Sistema de archivos de red (NFS)


NFS (sistema de archivos de red: «Network File System») es un protocolo que permite acceso
remoto a un sistema de archivos a través de la red. Todos los sistemas Unix pueden trabajar con
este protocolo.

Puede identificar cada máquina mediante su nombre DNS o su dirección IP. También puede
especificar conjuntos completos de máquinas utilizando una sintaxis como *.falcot.com o un rango
de direcciones IP 192.168.0.0/255.255.255.0 o 192.168.0.0/24.

Instalación de un servidor NFS en Linux MIT

- MASTER
1) Instalamos los paquetes necesarios para montar el servidor de NFS

2) Creamos una carpeta llamada “clusterSO” en la siguiente Dirección

3) Modificamos el archivo “/etc/exports”

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


4) Y agregamos la siguiente línea para especificar el conjunto de clientes que puede acceder
a este servidor de NFS.

5) Reiniciar el servicio para efectuar los cambios

6) Vemos las rutas de montajes disponibles.

Instalando y configurando NFS en el cliente.

1) Instalamos los paquetes necesarios para nuestro cliente.

2) Revisamos las rutas de montajes disponibles en nuestro pc MASTER

3) Creamos una carpeta con el mismo nombre de la carpeta creada en master.

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


4) Montamos la unidad de archivos compartida desde nuestro servidor.

5) Verificamos que la unidad se haya montado bien.

6) Vamos a editar el siguiente directorio con el fin de que cada vez que apaguemos nuestro
equipo a iniciar haga el montaje de la unidad automáticamente.

7) Realizamos el montaje de nuevo

8) Verificamos que este montada correctamente.

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


Prueba de clúster
1) Nos dirigimos a la siguiente ruta para crear los archivos donde ira nuestro programa
que ejecutaremos en varios nodos.

2) Dentro de esta carpeta creamos un nuevo archivo .c para escribir las sentencias de
nuestro programa. “nano hola.c”

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)


Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)
Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)
3) Una vez creamos el programa matriz.c lo compilamos con el comando mpicc

4) Se ejecuta el programa repartiendo las tareas en los diferentes nodos.

Sistemas Operativos Ingeniera de Sistemas – Universidad de Pamplona (Extensión villa el rosario)

S-ar putea să vă placă și