Vous êtes sur la page 1sur 4

Cluster Beowulf / MPI

Sistemas Distribuidos

Por qu eleg Arch Linux ?


Eleg Arch Linux por que puede ser adaptada a prcticamente cualquier uso. Es rpida, liviana, flexible, y la mayor parte del sistema es muy simple de comprender y modificar, esta optimizada para i686 y no usa paquetes compilados para i386 como otras distribuciones. Adems Arch Linux "rolling release" para tener las ltimas versiones de los softwares.

Instalacion de las Maquinas


Realice una instalacin limpia de Arch y luego contine instalando los paquetes y realizando las configuraciones que eran comunes para todos los nodos y maestro para luego hacer copias de ella y evitar tener que instalar 3 sistemas. La configuracin Fisica de red fue de una red interna entre los nodos y el maestro (inet) y un segundo adaptador de red en el maestro quien haca las veces de Gateway para la red.

Paquetes instalados en las mquinas virtuales: OpenSSH, OpenMPI, GCC, NFSv4 Instalacion de OpenSSH:
Se intala Open SSH desde los repositorios de Arch

pacman -S openssh

Se le da acceso al Daemon sshd en el archivo /etc/hosts.allow

sshd: 192.168..0.0/255.255.255.0

Se aade el demonio a /etc/rc.conf

DAEMONS=( sshd )

Instalacion de OpenMPI:
Se instalo desde el gestor de la comunidad Yaourt, si que se agrego su repositorio

echo [archlinuxfr] >> /etc/pacman.conf echo Server = http://repo.archlinux.fr/i686 >> /etc/pacman.conf pacman Sy yaourt % aceptar la descarga

1|P a g e Daniel Riquelme Viveros

Cluster Beowulf / MPI

Sistemas Distribuidos

yaourt S openmpi % aceptar la descarga y esperar el compilado

Instalacion de GCC:
pacman -S gcc

Instalacion de NFSv4:
pacman S nfs-utils

Clonacion Maquinas virtuales:


A continuacin se clono el disco duro de la maquina usando la utilidad de VirtualBox

VBoxManage y se crearon dos maquinas mas para ser los nodos.

Configuracion de las Maquinas


A continuacin los archivos de configuracin (no completos solo lo modificado) etiquetados como master o nodo. Master: /etc/rc.conf (Nombre, Ethernet and Daemons)

HOSTNAME=master eth0=dhcp eth1=eth1 192.168.0.1 netmask 255.255.255.0 INTERFACES=(eth0 eth1) DAEMONS=( netfs sshd iptables rpcbind nfs-common nfs-server )

Cientes: /etc/rc.conf ( Ethernet and Daemons)

HOSTNAME=clienteN eth0=eth0 192.168.0.* netmask 255.255.255.0 # * es 10 o 20 segun cliente INTERFACES=(eth0) gateway=default gw 192.168.0.1 ROUTES=(gateway) DAEMONS=( netfs sshd rpcbind nfs-common )

2|P a g e Daniel Riquelme Viveros

Cluster Beowulf / MPI Master: /etc/fstab (para bindear el directorio home )

Sistemas Distribuidos

/home/cluster

/srv/nfs4/

none

bind

Clientes: /etc/fstab (para montar el directorio home de master)

master:/srv/nfs4

/home/cluster

nfs4 rsize=8192,wsize=8192,timeo=14,intr

Master: /etc/exports (para uso de nfs)

/srv/nfs4 cliente1(rw,no_subtree_check,no_root_squash,async,nohide) /srv/nfs4 cliente2(rw,no_subtree_check,no_root_squash,async,nohide)

Master y Clientes: /etc/hosts (para identificar los equipos en la red)

192.168.0.1 192.168.0.10 192.168.0.20

master cliente1 cliente2

master cliente1 cliente2

Master y Clientes: /etc/hosts.allow (para dar acceso a red a los demonios)

sshd: nfsd: mountd:

192.168.0.0/255.255.255.0 192.168.0.0/255.255.255.0 192.168.0.0/255.255.255.0 // solo master // solo master

rpcbind: 192.168.0.0/255.255.255.0

Master: /etc/iptables/iptables.rules (para compartir internet)

*nat :PREROUTING ACCPET [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A POSTROUTING o eth0 j MASQUERADE COMMIT

Master y Cliente: /etc/sudoers (Para facilitar el uso de tareas administrativas instale Sudo en las mquinas y las
configure para no pedir contrasea.)

cluster

ALL=(ALL) NOPASSWD: ALL

3|P a g e Daniel Riquelme Viveros

Cluster Beowulf / MPI

Sistemas Distribuidos

Configuracion Keys SSH


Generacion de claves, copiado y autorizado.
ssh-keygen -b 1024 -t dsa //genera la clave scp ~/.ssh/id_dsa.pub cluster@hostname: //copia la clave en el host especificado cat ~/id_dsa.pub >> ~/.ssh/authorized_key //concatena el archivo recibido arriba

Compilado y ejecucion MPI


Como todas las maquinas comparten el directorio ~/ es hai donde se compilaran y ejecutaran los ejemplos.

Compilacin con mpicc:


mpicc o <archivo de salida> <cdigo fuente>

Ejecucin con mpirun:


mpirun hostfile <archivo con los host> -n <nro nodos> <programa>

Se utiliza un archivo (yo lo llame hosts) en donde se anotan los nombres de los nodos. Open MPI permite agregar los nodos a un archivo de configuracin, pero no consegu que los obtuviera de ah.

Conclusiones
La implementacin de un Cluster de tipo Beowulf no presenta muchos incovenientes (principalmente solo los tuve con permisos en los directorios) y permite una gran facilidad para agregar nodos extras. En mi caso bastara con clonar un nodo, cambiar su nombre e IP, y agregarlo a las lista de hosts del master.

4|P a g e Daniel Riquelme Viveros

Vous aimerez peut-être aussi