Linux Clusters 3/3 - El clúster Ubuntu - 2da. parte
- lunes, abril 07 2008 @ 11:41 CEST
- Autor: linxe
- Lecturas 7,322

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-serverRepetimos 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_keysRoot 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 doneEn 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_execdNota: 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 $* doneAhora 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 upgradeO 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)