Wakeonlan y Boot del Cluster

Wakeonlan

Para que funcione wakeonlan se necesita :

  • Una placa de red que soporte wakeonlan
  • Una bios y fuente que soporte wakeonlan
  • Inicializacion del estado wakeonlan por parte del OS (Para windows significa ir a propiedades "avanzadas" de la placa de red y tildar "aceptar magic packet desde el estado apagado").

Encender el Cluster del Aula 1

Para encender los nodos del cluster del Aula 1 :

for i in 00:27:0e:0e:e3:96  00:27:0e:0e:e3:df  00:27:0e:0e:e3:e6  00:27:0e:1e:4c:c9  00:27:0e:0e:e3:e0  \
  00:27:0e:0e:e3:e1 00:27:0e:0e:e9:bd  00:27:0e:1e:4b:6c  00:27:0e:0e:e3:e9  00:27:0e:0e:e5:64          \
  00:27:0e:0e:e4:22  00:27:0e:0e:e5:5f  00:27:0e:0e:e3:a3  00:27:0e:0e:e3:c8  00:27:0e:0e:e5:56         \
  00:27:0e:0e:e9:94  00:d0:09:35:af:f7  00:d0:09:14:59:aa  00:00:21:77:53:06  00:08:54:03:7b:a4  ;  do

     wakeonlan $i

done

Luego de encender los nodos del cluster y pasados 3 minutos los nodos inician el bootmaster loco. El bootmaster loco obtiene via wget el script /var/www/scripts/hacer.sh desde repoubu, y lo ejecuta.

Al momento de querer utilizar el cluster debemos editar ese script y establecer los comandos kexec para iniciar los nodos con la imagen ubuntu de 64 bits.

Para editar ese script (/var/www/scripts/hacer.sh) en repoubu (10.0.5.7) debemos utilizar el usuario bootmaster.

El script tiene algunos ejemplos de los comandos kexec. Un ejemplo basico podria ser :

# Ejemplo para iniciar el Linux de la particion 7 (actualmente un ubuntu 64 bits para cluster)

MAC=$(ifconfig | grep eth | sed -e "s/..$//" | sed -e "s/.* //")

# Aula 1 MACs
if ( echo "00:27:0e:0e:e3:96  00:27:0e:0e:e3:df  00:27:0e:0e:e3:e6  00:27:0e:1e:4c:c9  00:27:0e:0e:e3:e0  \
  00:27:0e:0e:e3:e1 00:27:0e:0e:e9:bd  00:27:0e:1e:4b:6c  00:27:0e:0e:e3:e9  00:27:0e:0e:e5:64          \
  00:27:0e:0e:e4:22  00:27:0e:0e:e5:5f  00:27:0e:0e:e3:a3  00:27:0e:0e:e3:c8  00:27:0e:0e:e5:56         \
  00:27:0e:0e:e9:94  00:d0:09:35:af:f7  00:d0:09:14:59:aa  00:00:21:77:53:06  00:08:54:03:7b:a4" | grep $MAC ) ; then

    mount /dev/sda7 /mnt
    kexec --initrd=/mnt/boot/initrd.img-2.6.35-28-generic --append="root=/dev/sda7 ro" -l /mnt/boot/vmlinuz-2.6.35-28-generic &&
    kexec -e

fi



# Ejemplo para ejecutar cosas de este script entre las 10 de la noche y las 7AM

# HORA=`date +%H`

# if [ 22 -lt $HORA ] || [ $HORA -lt 7 ] ; then
#        echo "HPC time!"
#
#else
#        echo "esperar :("
#
# fi

¿ COMO HACER PARA ACORDARNOS, UNA VEZ UTILIZADO EL CLUSTER, QUE TENEMOS QUE QUITAR DEL SCRIPT hacer.sh LAS OPCIONES PARA INICIAR EL NODO CON LA IMAGEN PARA EL CLUSTER ?