“‘One Node to rule them all,
one Node to find them,
one Node to bring them all
and in the process bind them”
En las reuniones del Gluch de Julio y Agosto 2005, Larry © nos ha hablado de el proceso para la implementación de un clúster ”Beowful”, he aquà una breve reseña de lo visto en las dos reuniones.
Un clúster es un grupo de computadoras conectadas a una red de alta velocidad que trabajan de manera simultanea como si fueran una computadora con múltiples procesadores.
Existen tres tipos de clusters:
Homogeneos: son aquellos en que todos los nodos cuentan con la misma configuración de hardware y sistema operativo
Semihomogeneos: cuentan con sistema operativo similar y diferentes arquitecturas o rendimiento y, por último los clusters
Heterogeneos: que cuentan con diferente hardware y sistema operativo.
La implementación a grandes razgos es la siguiente:
Nodo principal:
* Dar de alta las tarjetas de red, una para la intercomunicación con los nodos del clúster y (de ser necesario) una más para el acceso a internet.
$ ifconfig eth1
* Modificar el archivo “**/etc/hosts**” para definir los nodos del clúster:
192.168.1.2 nodo2.dominio nodo2 192.168.1.3 nodo3.dominio nodo3
nodo1 corresponde al nodo principal del clúster
* Modificar la configuración para el daemon DHCP, para la asignación dinámica de las direcciones IP de los nodos, en “**/etc/dhcpd.conf**”
option broadcast-address 192.168.1.255; option routers 192.168.1.254;
boot-unknow-clients false;
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.2 192.168.1.253 }
host nodo2.dominio # una entrada para cada nodo del clúster
{ hardware ethernet 00:00:00:00:00:01;
fixed-address 192.168.1.2;
option host-name ”nodo2”; }
host nodo3.dominio
{ hardware ethernet 00:00:00:00:01:02;
fixed-address 192.168.1.3;
noption host-name ”nodo3”; }
* Se configura NFS (Network File System) para permitir que los nodos accedan a archivos remotos (de otro nodo) como si fueran locales. Puede ser el directorio “**/home**” o el directorio “**/usr**” (o cualquier otro) del nodo principal, editando el archivo “**/etc/exports**”
/home 192.168.1.*(rw,no_root_squash)
Y ejecuta el comando
Para permitir que el sistema de archivos del nodo principal pueda ser montado por otro nodo del clúster.
* Configuración de NIS (Network Information Service) servicio que proporciona la información que debe ser conocida por todos los nodos del cluster.
Teclea:
A continuación declara el dominio en el archivo “**/etc/sysconfig/network**” agregando la línea:
Edita el archivo “**/etc/yp.conf**” y agrega:
En el archivo “**/var/yp/securenets**” reemplaza la línea con “0.0.0.0 0.0.0.0” con:
Modifica el archivo “**/etc/passwd**” y agrega la línea “**+::::::**”
Reinicia los servicios relacionados con yp.
En el directorio “**/var/yp**” ejecuta **__make__**
Por último habilita el orden de búsqueda: **”order hosts, NIS, dns”**.
Nodos Realiza este proceso para cada uno de los nodos del clúster.
* Modificar el archivo “**/etc/sysconfig/network**” para que contenga lo siguiente:
GATEWAY=192.168.1.254 GATEWAYDEV=eth0 FORWARD_IPV4=no
* Modificar el archivo “**/etc/hosts**” para definir los nodos del clúster:
192.168.1.2 nodo2.dominio nodo2 192.168.1.3 nodo3.dominio nodo3
* Configuración de NFS, edite el archivo “**/etc/fstab***”; para que refleje los directorios que previamente fueron declarados en el archivo “**/etc/exports**” del nodo principal:
* Configuración de NIS
Teclea:
A continuación declara el dominio en el archivo “**/etc/sysconfig/network**” agregando la línea:\r\nNISDOMAIN=nombre_de_dominio
Edita el archivo “**/etc/yp.conf**” y agrega:
Modifica el archivo “**/etc/passwd**” y agrega la línea “**+::::::**”
Reinicia los servicios relacionados con yp.
Por último habilita el orden de búsqueda: **”order hosts, NIS, dns”**.
* Configuración de SSH (Secure SHell), la configuración de SSH es necesaria debido a que los nodos realizarán accesos entre sí:
Generá la llave “**ssh-keygen**” y a continuación presiona la tecla **Enter** en tres ocasiones paea que SSH no solicite la contraseña y dé acceso automático a los nodos.
Copia **identity.pub** de “**/root/.ssh**” a “**/root/.ssh/authorized_keys**”
En el archivo “**/root/.ssh/authorized_keys**” reemplaza la dirección ip de **root** con “*\”.
Copia el “**/root/.ssh**” al directorio compartido con NFS y de ahí al directorio **/root** de cada nodo.
No olvides reiniciar cada uno de los servicios que hayas modificado para que los cambios sean reflejados, además de modificar la configuración de los nodos para que los servicios requeridos sean iniciados automaticamente cuando el equipo sea encendido.
Listo, ahora puedes implementar tu clúster basado en Linux.