Bienvenido(a) a Grupo Linuxero del Bajío domingo, mayo 19 2019 @ 06:54 CEST

Linux Clusters 3/3 - El clúster Ubuntu - 2da. parte

  • Autor:
  • Lecturas 6,930
Artículos

Esta es la segunda parte del montaje de un clúster con Linux Ubuntu, ahora veremos la instalación y configuración de los nodos esclavos.

English version: http://linxe-eye.blogspot.com/2008/04/ubuntu-cluster-slave-nodes.html

En el nodo maestro hemos configurado un servidor DHCP que servirá para asignar las IP, nombre de host y pasar un sistema de arranque por red mediante PXE. Por lo que ahora solo necesitamos conectar el nodo, agregarle un teclado y monitor y encenderlo, activando el arranque por red en el BIOS, e instalar el sistema base.

Para el particionamiento usamos la opción por defecto de usar todo el disco duro como una sola partición y el swap que asigna, creamos la cuenta general de acceso (beagle) y al finalizar y reiniciar, entramos y en una terminal cambiamos a root, cambiamos su contraseña e instalamos el servidor SSH:

sudo  su -
passwd
apt-get install openssh-server
Repetimos este proceso para todos los nodos y los siguientes pasos se pueden realizar desde el nodo maestro.

Acceso automático con SSH
Necesitamos crear un par de llaves para cada usuario y así puedan acceder a cualquier nodo sin contraseña, primero creamos la del usuario general:

ssh-keygen
cp .ssh/id_pub .ssh/authorized_keys
Root también requiere de sus propias llaves de acceso, pero como no exportamos su HOME, necesitamos copiarlas a cada unos de los nodos con rcp. Este paso va a solicitar varias veces la contraseña, pero será única vez que lo hagamos.
su -
ssh-keygen
cp .ssh/id_pub .ssh/authorized_keys
for NODE in `cat /etc/machines`
do
    rsh $NODE mkdir .ssh
    rcp .ssh/authorized_keys $NODE:.ssh/authorized_keys
done
En los siguientes pasos se requiere que se acceda a cada nodo como root.

Exportando HOME Nos conectamos al nodo, instalamos el paquete NFS, editamos /etc/fstab para montar /home desde el nodo maestro, borramos el contenido del viejo HOME y montamos:

ssh nodeXX
apt-get install nfs-common
echo "197.1.1.1:/home /home nfs defaults,auto 0 0" >> /etc/fstab
rm -rf /home/*
mount -a

Ajustes de hosts Editamos /etc/hosts para incluir todos los nodos, agregamos:

197.1.1.1      beagle.local      beagle
197.1.1.100    node00.local      node00
197.1.1.101    node01.local      node01
197.1.1.102    node02.local      node02
197.1.1.103    node03.local      node03
197.1.1.104    node04.local      node04
197.1.1.105    node05.local      node05
197.1.1.106    node06.local      node06
197.1.1.107    node07.local      node07
197.1.1.108    node08.local      node08
197.1.1.109    node09.local      node09

Instalar SGE
Los archivos necesario son exportados en /home/sgeadmin, primero añadimos las dependencias, agregamos el usuaro sgeadmin e instalamos el cliente:

apt-get install binutils
adduser sgeadmin
/home/sgeadmin/install_execd
Nota: Hay que revisar que los valores de UID y GID coincidan en /etc/passwd y /etc/groups, debes er el mismo en todos los nodos y el maestro.

Administrando los nodos
Muchas tareas administrativas son iguales para cada nodo, por lo que usamos un script (/sbin/cluster-fork) para que lo ejecute en cada nodo:

#!/bin/bash
# cluster-fork COMMANDS
# Script to execute COMMANDS in all nodes in /etc/machines
# Juan Caballero @ Cinvestav 2008
for NODE in `cat /etc/machines`
do
    echo $NODE:
    rsh $NODE $*
done
Ahora podemos ejecitar el mismo comando sin problemas, pero es recomendable ejecutarlos con las opciones no interactivas, por ejemplo para actualizar todos los nodos:
cluster-fork apt-get -y update
cluster-fork apt-get -y upgrade
O para instalar ganglia y soporte MPI:
cluster-fork apt-get -y install ganglia-monitor lam-runtime mpich-bin openmpi-bin

Add users in the cluster
El HOME de todo usuario agregado en el nodo maestro será exportado a los otros nodos, podemos usar adduser en cada nodo para darlo de alta pero hay que tener cuidado de tener el mismo UID y GID y no crear un /home, de ser necesario se debe editar los archivos /etc/passwd y /etc/groups, también no olvidar crearle sus propias llaves de acceso automático.

Finalmente ya tenemos un clúster HPC corriendo en Linux Ubuntu, pero muchos pasos pueden ser fácilmente adaptados a su distro preferida. Ahora vamos a probar un poco el desempeño del equipo y probablemente después coloquemos algunas fotos. También cualquier comentario o sugerencia son bienvenidos.


Autor: Juan Caballero (linxe (arroba) glib . org . mx)