Tecnologías Avanzadas

De Computacion

Tabla de contenidos


Experiencia con Rocks Cluster en la UTPL

[editar] Instalación de Frontend

Requisitos para la instalación

Los primeros pasos para la instalación del frontend será tener:

  • Un ordenador con características como un procesador de 1,8GHz de velocidad, un disco de 40Gb de capacidad, una unidad óptica si la instalación se va a ser desde imágenes quemadas en discos compactos, memoria RAM de 1Gb, conexión a la red local por medio de tarjeta de red.
  • Si la instalación se hace desde CD/DVD necesitamos tener quemadas las 5 imágenes de instaladores que son: Kernel/Boot Roll, Core Roll, Rocks Base Roll, Os Roll - Disk 1, Os Roll - Disk 2, las cuales las podemos obtener desde la pñagina web http://www.rocksclusters.org/wordpress/?page_id=3 .

Como siguientes pasos para continuar con la instalación seran:

  • Primero cambiamos el booteo (secuencia de inicio de un ordenador) en el setup de nuestro ordenador [dependiendo de la marca de nuestro mainboard (F1, Supr, F10, entre otros)] , configurando para que inicie leyendo primero la unidad de CD/DVD.
  • Colocamos el Cd etiquetado como Kernel/Boot Roll, el cual cargara una aplicación que permitirá la instalación de Rocks.
  • Iniciara la aplicación para instalar a nuestro ordenador como frontend del cluster o como nodo.
- Para instalar como frontend escribiremos el código #frontend, presionamos la tecla enter, luego escogemos el idioma, después la configuración del teclado, luego escogemos el medio de instalación.
- Ahora se nos mostrara una interfaz donde tendremos que seguir la instalación.
- En la primera parte nos permitirá crear un listados de todos los rolls que vayamos a instalar, para esto tendremos que ingresar el Cd correspondiente que contiene los rolls que deseamos e incluirlos a la lista de instalación
- Luego hacemos clic en Next (Siguiente).
- Después tendremos que ingresar la información correpondiente al nuestro cluster, nombres, direcciones, una dirección de correo electrónico valido y existente, dirección de la página del cluster, incluso tendremos que tener coordenadas longitudinales del lugar donde se encuentra nuestro cluster.
- Luego configuraremos lo referente a la red interna del cluster, utilizaremos una dirección ip similar a esta: 192.168.0.1 y con una mascara de red 255.255.255.0.
- Configuramos ahora a lo que se refiere a contraseñas del root.
- Después se configura el uso horario y el Servidor de protocolo de tiempo (NTP).
- Luego el programa dará opciones de particionado del disco duro, específicamente dos: automática y manual. La automática asignara espacios preestablecidos para la correcta distribución del espacio para los rolls que se intalaran. Mientras que la manual nos permitirá asignar tamaños de acuerdo a nuestras necesidades, pero cabe mensional que hay espacios minimos que se necesitan para la instalación de Rocks, de esta forma incluso se podra reservar un espacio para documentos personales o respaldos que en el transcurso del uso del sistema se puedan ir generando. Una tabla de asignación sugerida seria:
Tabla de asignación
Particion Punto de Montaje Tamaño por defecto Tipo
a1* / 7.7 GB Ext3
a2 /var 3.9 GB Ext3
a3 - 1 GB Swap
a4 /state/partition1 Grow Ext3
* Vale por /dev/hda1 o /dev/sda1
Tabla tomada de Linux Clustering con Rocks – Una Guia Practica, pag. 7.
-Luego la aplicación nos pedirá que vayamos ingresando los Cds (en este orden Kernel/Boot Roll, Core Roll, Rocks Base Roll, Os Roll – Disk 1, Os Roll – Disk 2), si vamos a instalar todos los rolls. Los paquetes contenidos en cada uno de los Cds se copiaran al Disco Duro y desde hay se ejecutaran para iniciar el proceso de instalación de la distribución.

[editar] Configuración de Frontend

Los cambios que vayamos a realizar en nuestra maquina que utilizamos como frontend, se los deberá realizar antes de la instalación de los ordenadores que harán el papel de nodos.

Este procedimiento consiste en seis pasos que los detallamos a continuación:

• Creación de cuentas de usuario.

• Preparación del /export/apps

• Instalación de software desde las fuentes (tarballs)

• Instalación de RPMs

• Preparación y creación de la distribución

• 411 – Configuración de Nodos


- Creación de cuentas de usuario


+ Crear cuentas
Para esto vamos a utilizar el siguiente comando
#useradd usuario → crea la cuenta con el nombre “usuario”
Luego de ejecutar este comando se crean accesos para algunos archivos
- Ver archivos de la cuenta
Para esto vamos a utilizar el siguiente comando
#ls –al /export/home/usuario
Una vez que todo el acceso este configurado, procedemos a asignar la ubicación del home directory. Para lograr esto utilizaremos el siguiente comando
# usermod –d /home/usuario usuario
Esto servirá para que el usuario encuentre su home directory desde otros nodos, el comando a cambiado el /home.
+ Asignación de una contraseña
También podremos asignar una contraseña la cual elevara el nivel de seguridad para la cuenta de usuario que hemos creado.
Utilizamos el siguiente comando:
# passwd usuario


+ Configuración del autofs
Esto se hace con la finalidad de tener acceso el usuario a su home directory desde cualquier nodo del cluster, para eso es necesario agregar al archivo de configuración /etc/auto.home
usuario cluster.local :/export/home/usuario


+ Sincronización de los archivos de configuración usando 411
Esto se hace para que la información de los archivos de configuración se sincronice en todo el cluster
Esto se hace con el comando siguiente:
# make –c /var/411 force


+ Recargar el servicio en todo el cluster
Esto es para la garantizar que no existan inconvenientes en el montaje de home directory
Se debe utilizar el siguiente comando:
  1. cluster-fork service autofs reload

Con esto se a terminado el proceso correctamente para la creación de la nueva cuenta de usuario dentro del cluster.

Hay que tener presente que el procedimiento que presentamos anteriormente para la creación de las cuentas de usuario se lo debe realizar en las versiones anteriores a la 4.2

A partir de la versión 4.2 el proceso se simplifica a tres sencillos pasos que son los siguientes:

+ Creación de la cuenta de usuario
Con el comando
# useradd
+ Fijación de la contraseña
Con el comando
# passwd
+ Sincronización, configuración y recarga
Este comando hará los tres pasos anteriores en uno solo, siendo en el listado anterior de paso el 3,4,5.
Se utilizará el comando
# rocks-user-sync
* Eliminación de Cuentas de Usuario
Una opción que nos puede ser de utilidad es la que se expone a continuación la cual nos servirá para la eliminación
Consiste en tres partes sencillas donde tendremos que ingresar los siguientes comandos:
# userdel
# umount /home/usuario
# cluster-fork umount /home/usuario
# rm –rf /export/home/usuario


- Preparación del /export/apps
Vamos a crear un directorio para que permita recibir los archivos que normalmente son instalados desde un tarball
Para esto vamos a utilizar los siguientes comandos:
# cd /export/apps
# mkdir –p bin etc man sbin share src


- Instalación de software desde las fuentes (Tarballs)
Como ejemplo vamos a tomar la instalación de un paquete utilizado para realizar la renderización de imágenes denominado povray y que lo podemos ubicar en su pagina web www.povray.org
Este proceso consiste en seis pasos que los detallamos a continuación:
1) Copiado del paquete
En este procedimiento vamos a realizar la copia del instalador a una dirección en nuestra máquina desde donde se ejecutara.
El comando es el siguiente:
# cp “nombre del paquete” /share/apps/src → seria la sintaxis
# cp povray-3.6.tar.gz /share/apps/src → seria para nuestro ejemplo
2) Descomprimimos y desempacamos el tarball
Esto se hace con los siguiente comandos:
# cd /export/apps/src
# tar zxvf povray-3.6.tar.gz
3) Configuramos el instalador
Utilizamos este comando
# cd povray-3.6.1
# ./ configure –prefix=/share/apps –COMPILED_BY= ”Gabriel Requelme <garequelme@utpl.edu.ec>
Para consultar sobre opciones del configure puede usar
# ./configure –help
4) Compilamos las fuentes
# make
# make check
Se puede usar cualquiera de los dos pero el seguro es mejor ya que también hace un chequeo
5) Instalamos el paquete
# make install
6) Configuramos el Sistema
Esto hace que los binarios del nuevo programa puedan ser encontrados sin problemas en el PATH de los usuarios. En el frontend esto se puede hacer cambiando el archivo /etc/profile:
/etc/profile:
if [ =z “$INPUTRC” =a ! =f “$HOME/ .inputrc” ]; then
INPUTRC=/etc/inputrc
fi
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
Para que por ejemplo el directorio /share/apps/bin sea incluido en el PATH por defecto de los usuarios, basta agregar antes de la línea con el ‘export’ la línea:
PATH = $PATH: /share/apps/bin
Una vez hecho esto se debe garantizar que la misma línea se agregue a los archivos /etc/profile de los nodos del cluster. Para esto haremos lo siguiente: agregaremos a la lista de archivos en /var/411/Files.mk el archivo /etc/profile:
/var/411/Files.mk:
Files = $(AUTOMOUNT) \
/etc/passwd \
/etc/shadow \
/etc/group \
/etc/services \
/etc/rpc \
/etc/profile


+ Regenerar el repositorio de archivos de configuración
Para regeneración
# make –C /var/411 clean
# make –C /var/411
Envía a los nodos los nuevos archivos de configuración
# cluster-fork 411get


+ Probar el funcionamiento de povray
• Loggeese como un usuario
• Copie en el directorio HOME del usuario un archivo ejemplo
Vamos a usar para esto el siguiente comando
$ ep /share/apps/src/povray-3.6.1/scenes/advanced/sunsethf.pov
• Ejecute el programa en el frontend
$ povray +D +W640 +H480 +I sunsethf.pov
• Ejecute el programa en algún nodo
$ shh C0-5 /share/apps/bin/povray +D +W640 +H480 +I sunsethf.pov
Para ver el resultado (Imagen generada sunsethf.png)
$ display sunsethf.png


- Instalación de un RPM con binarios
El proceso de instalación de esta forma puede resultar la mas fácil, aunque no la mejor. Tenemos como ayuda que los RPM vienen pre-configurados los lugares donde los archivos del paquete se instalan, sin embargo en plataformas distribuidas puede no ser de gran ayuda. También tenemos que cuando se haga una instalación de binarios estos pueden tener dependencias de otros binarios y el proceso de instalación se puede volver mas complicado, incluso incomodo si no tenemos los otros binarios.
Este tipo de instalación puede ser útil para la instalación de paquetes simples o que no muestran dificultad en su proceso de instalación.
Como ejemplo de instalación de un RPM vamos a hacer la instalación de un paquete denominado gnuplot que sirve para graficación científica.
El proceso a seguir es el siguiente:
• Verificamos que el paquete no este instalado o que no este presente dentro de los paquete que vienen con el sistema operativo.
Para esto vamos a utilizar el comando:
# rpm –q gnuplot
Este nos devolverá una respuesta en la que detallará la información disponible sobre el paquete, caso contrario nos mostrará un mensaje que diga “package gnuplot is not installed”
Esta comprobación se hace solo en el frontend, sin embargo también se puede buscar si el paquete no esta instalado en algún nodo aunque la respuesta seria la misma que nos devuelve del frontend.
Para hacer esto utilizamos el siguiente comando:
# cluster-fork rpm –q gnuplot
• Preparar el estado del paquete
La preparación del rpm se hace de la siguiente manera:
Usamos el comando:
# rpm –Uvh gnuplot-3.7.3-2.i386.rpm
Luego de la ejecución del comando, si el paquete no tiene dependencias y esta listo para la instalación deberá mostrarse en pantalla el siguiente mensaje:
Preparing… ###############################[ 100%]
1:gnuplot ###############################[ 100%]
• Instalación de RPMs
Este proceso puede darse de dos formas:
Instalación en caliente
Instalación desde la distribución
Instalación en caliente
En este procedimiento el paquete se instala directamente en los nodos después de que se instale en el frontend.
Debemos realizar los siguientes pasos para la instalación
+ Debemos primero garantizar de que desde los nodos se tenga acceso al rpm para eso vamos a crear un directorio “src” en /export/apps para esto vamos a utilizar el siguiente comando
# medir /export/apps/src
Ahora vamos a comprobar el acceso al directorio desde los nodos a través del punto de montaje definido en el archivo auto.share:
Utilizamos el siguiente comando para la comprobación:
# cluster-fork ls –l /share/apps
Luego de la ejecución del comando tendremos una respuesta similar a esto:
compute-0-1:
total 4
drwxr-xr-x 2 root root 4096 Nov 14 06:15 src
compute-0-2:
total 4
drwxr-xr-x 2 root root 4096 Nov 14 06:15 src
Ahora vamos a copiar el rpm en el directorio creado “src”. Lo hacemos con el siguiente comando.
# cp –rf gnuplot-3.7.3-2.i386.rpm /export/apps/src
Entonces empezamos en si el proceso de instalación, esto se hace en todos los nodos, para esto vamos a utilizar el siguiente comando:
# cluster-fork rpm –Uvh /share/apps/src/gnuplot-3.7.3-2.i386.rpm
Una vez ejecutado el comando tendremos la siguiente respuesta
compute-0-0:
Preparing…
Gnuplot
compute-0-1
Preparing
Gnuplot
Esta respuesta muestra la actividad en los nodos dependiendo de la denominación de nuestros nodos tendremos la respuesta y obviamente del numero de nodos que tengamos.
Ahora que ya tenemos instalado el paquete vamos a verificar que el binario del programa este disponible, para esto vamos a utilizar el siguiente comando:
# cluster-fork which gnuplot
Y la respuesta será la siguiente:
compute-0-0:
/usr/bin/gnuplot
compute-0-1:
/usr/bin/gnuplot
Esta respuesta muestra el correcto acceso que se esta teniendo nuestros nodos conectados. La respuesta cambiara de acuerdo a la denominación de nuestros nodos y del numero de nodos que este funcionando en el cluster.


Instalación desde la distribución
Este procedimiento de cierta manera es mejor, primeramente simplifica el proceso ya que este incluye directamente en la distribución que se instalada en cada nodo el paquete que vayamos a instalar, y solo bastara con la reinstalación de los nodos para que este paquete este instalado en todo el cluster.
Los pasos para incluir un paquete en la distribución que prepara rocks para los nodos son los siguientes:
+ Ubicamos el directorio que rocks dedica para ubicar los paquetes que queramos agregar a la distribución que viene incluida en rocks.
El directorio es:
/export/home/install/contrib/<version>/<directoriodearchivos>
Este seria el comando para poder ingresar:
# ls –l /export/home/install/contrib/4.3/i386
Procedemos a copiar nuestro RPM que vamos a instalar en este caso seguiremos con el que tomamos de ejemplo “gnuplot”
# cp –rf gnuplot-3.7.3-2.i386.rpm /export/home/install/contrib/4.3/i386/RPMS
Ahora que lo hemos copiado, tenemos que configurar la distribución para que lo incluya al paquete que queremos instalar y luego reconstruir la versión de la distribución.
Para incluir el paquete tenemos que usar un archivo xml, que esta en el siguiente directorio:
/export/home/install/site-profiles/4.3/nodes
El archivo se llama skeleton.xml y nos servirá como plantilla para crear nuestro archivo que se llamará “extend-compute.xml”
Usaremos las siguientes líneas de comando para realizar una copia del archivo skeleton.xml que se llame extend-compute.xml en el directorio antes mensionado.
# cd /export/home/install/site-profiles/4.3/nodes
# cp skeleton.xml extend-compute.xml
Ahora que lo tenemos copiado vamos a editar a nuestro archivo (extend-compute) agregándole las siguientes líneas.
Las líneas a agregarse deben estar en la sección main con una etiqueta <package> indicando solamente el nombre del paquete sin versiones ni cualquier tipo de información que venga en el nombre del archivo.
El archivo después de editarlo se deberá ver asi:
extend-compute.xml
<changelog>
</changelog>
<main>
<!—kickstar ‘main’ comands go here, e.g., partitioning info -->
</main>
<package>gnuplot</package>
Esto es si nuestro archivo del paquete se llama gnuplot-3.7.3-2.i386.rpm solo usamos gnuplot. Si existe mas paquete tendremos que agregar esta línea con cada nombre de los paquetes que vayamos a instalar.
Ahora vamos a reconstruir nuestra distribución con el siguiente comando:
# rocks-dist dist
Este comando lo que hace es reconstruir el directorio /export/home/install/rocks-dist, además de incluir enlaces a los paquete que serán instalados en los nodos.
Para verificar los enlaces a los nuevos paquetes podemos usar la siguiente línea de comando:
# ls –ld rocks-dist/lan/i386/RedHat/RPMS/gnuplot-3.7.3-2.i386.rpm
En este momento tendremos que probar la reconstrucción de la distribución que hicimos para eso tendremos que reinstalar un nodo como prueba y luego en el resto.
Son dos sencillos pasos para la reinstalación de un nodo. Los detallamos a continuación:
• Primero eliminamos del nodo el archivo /.rocks-release
Para esto escribimos la siguiente línea de comando:
# ssh c0-6 rm –rf /.rocks-release
Esto hará que el gestor de arranque haga que el nodo la próxima vez que inicie, lo haga en modo de reinstalación.
• Se inicia el proceso de re instalación
Utilizamos el comando:
# shh c0-6 /boot/kickstart/cluster-kickstart
Y Tendremos la siguiente respuesta:
Shutting down kernel logger: [ OK ]
Shutting down system logger: [ OK ]
Con esto estará listo, en caso de ocurrir problemas se tendrá que revisar el archivo extend-compute.xml y volver a recostruir la distribución.
Herramientas personales