Cluster Heterogéneo De Computadoras - Preparación de la maquina servidora para atender peticiones p

8 - Preparación de la maquina servidora para atender peticiones p


Tutorial creado por Emilio José Plaza Nieto . Extraido de: http://es.tldp.org/Manuales-LuCAS/doc-cluster-computadoras/doc-cluster-computadoras-html/node1.html
23 Febrero 2006
< anterior | 1 .. 6 7 8 9 10 .. 14 | siguiente >
""

Creación del sistema de ficheros para los PC clientes o nodos del cluster


Los directorios de cada uno de los posibles clientes de nuestro servidor se van a encontrar dentro del directorio /tftpboot. La estructura de este directorio tendrá la siguiente forma:

/tftpboot/nombre_máquina_cliente1
/tftpboot/nombre_máquina_cliente2
Dentro de los directorios clientes debemos crear la jerarquía de directorios necesaria para el sistema de ficheros, es decir, tendrá la propia estructura del sistema de ficheros de Linux:
/tftpboot/nombre_máquina_cliente/bin
/ " /dev
/ " /etc
/ " /lib
/ " /sbin
/ " /var
/ " /home
/ " /mnt
/ " /proc
/ " /root
/ " /tmp
/ " /usr
Para crear esta estructura interna a cada directorio cliente tenemos que ejecutar las siguientes órdenes de comandos en el front-end:
$$>$cd /tftpboot/nombre_máquina_cliente
$$>$cp -r /bin .
$$>$cp -ra /dev .
$$>$cp -ra /etc .
$$>$cp -r /lib .
$$>$cp -r /sbin .
$$>$cp -r /var .
$$>$mkdir home
$$>$mkdir mnt
$$>$mkdir proc
$$>$mkdir root
$$>$mkdir tmp; tendrá permiso temporal $\Rightarrow$ chmod 0177
$$>$mkdir usr

Los directorios home, mnt, proc, root, tmp, es decir, los que solo creamos, serán montados desde el frontend a través del protocolo NFS, mientras que los directorios que copiamos son ``locales'' a cada uno de los clientes. El proceso de montaje lo realiza el fichero /etc/fstab local de cada cliente, que posteriormente será explicado.


Instalación del dhcpd en el servidor


Para disponer del servidor DHCPD se tendrá que instalar el paquete dhcpcd-1.3.18pl3-1.i386.rpm disponible en el CD-ROM de Red Hat Linux de la siguiente forma:


rpm -ivh dhcpcd-1.3.18pl3-1.i386.rpm

A continuación se editará el fichero /etc/rc.d/init.d/dhcpd. En dicho fichero se tendrá que indicar cual es el dispositivo de red para la red interna, para ello se tendrá que modificar la siguiente linea:


daemon /usr/sbin/dhcpd eth0

Sustituyendo eth0 por eth1 ya que es la ethernet para la red interna en nuestro caso concreto. Se guardará los cambios realizado a dicho fichero y se reiniciará del daemon como se muestra a continuación:


/etc/rc.d/init.d/dhcpd restart

Una vez finalizada la tarea anterior, el siguiente paso a realizar será la activación del servicio TFTP (Trivial File TransFer Protocol), debido que el posteriormente será utilizado por el paquete Etherboot2.1 para transferir el núcleo por la red y otro ficheros necesario para el arranque sin disco. La ejecución del demonio tftpd se realiza a través del superdemonio inetd. La configuración de este superdemonio se encuentra en el archivo /etc/inted.conf. Este demonio es el encargado de arrancar automáticamente el servidor correspondiente a un servicio solicitado, este servidor particular termina una vez que el servicio se ha proporcionado. Por lo tanto, el proceso inetd está a la escucha en los diferentes puertos correspondientes a los servicios disponibles.


El archivo /etc/inetd.conf es utilizado por el proceso inetd cuando se lanza para conocer el conjunto de puertos sobre los que se tiene que poner a la escucha. Este archivo contiene una línea por servicio, cada línea suministra la siguiente información:


  • El nombre del servicio.
  • El tipo de socket.
  • Una opción wait/nowait que se utiliza para las comunicaciones en modo no orientado a conexión (dgram), las otras se utilizan siempre con la opción nowait. La opción wait evita, en el modo orientado a conexión, la ejecución de varios servidores a la escucha sobre un mismo puerto.
  • Un nombre de usuario que será propietario del proceso demonio asociado al servicio cuando se cree.
  • La referencia absoluta del archivo que contiene el programa que proporciona el servicio.
  • Una lista de parámetros para el programa.

Asi pues, se tendrá que activar la línea correspondiente al tftp eliminando la marca de comentario (#) para poder ejecutar el demonio tftpd:

tftp dgram udp wait root /usr/sbin/tcpd in.tftpd /tftpboot

El archivo /etc/services contiene la lista de servicios de Internet conocidos. Un servicio se caracteriza por su nombre, un número de puerto, un protocolo y una lista de alias. El servicio anterior describe un servicio estándar en Internet basados en el protocolo UDP.


Se deberá modificar el archivo etc/services descomentando las siguientes dos líneas:

tftp 69/udp #TFTP server

Una vez que se han modificado los dos archivos anteriores debemos de reiniciar el superdemonio inetd mediante la orden:



kill -HUP PID_de_inetd


Configuración del dhcpd en el servidor


El demonio dhcpd tiene un archivo de configuración llamado /etc/dhcpd.conf. Finalizada la realización de los pasos anteriores se procederá a configurar las opciones DHCP creando o editando el fichero anterior. Para este caso concreto dicho fichero presentará la siguiente configuración:

#red interna
subnet 192.168.1.0 netmask 255.255.255.0 {
option broadcast-address 192.168.1.255;


host pc1{



hardware ethernet 00:50:04:09:DA:EB;
fixed-address 192.168.1.2;
option host-name "pc1";
filename "/tftpboot/pc1/vmlinuz.nodos";
}
host pc2{



hardware ethernet 00:50:DA:3D:2F:1C;
fixed-address 192.168.1.3;
option host-name "pc2";
filename "/tftpboot/pc2/vmlinuz.nodos";
}

A continuación se realiza una aclaración de la configuración anterior:


subnet 192.168.1.0 netmask 255.255.255.0: Declaración de la subred interna.
option broadcast-address: Dirección de broadcast.
hosts pc1 : Indica que la configuración corresponde a la máquina cliente pc1.
hardware ethernet: Especifica el tipo de hardware y la dirección de la tarjeta de red de la máquina cliente.
fixed-address: Dirección IP que se asigna a la máquina cliente con la dirección de red arriba indicada.
option host-name "pc1.cluster.psa.es": Indica el nombre que se le asigna a la máquina cliente.

Terminada la configuración del servidor DHCP se reiniciaría el demonio DHCP como anteriormente se ha comentado.


Configuración del fichero /etc/hosts


Este fichero contiene las informaciones relativas a las diferentes máquinas de la red local a la que pertenece el sistema. Contiene la tabla de correspondencias entre la dirección Internet y un nombre simbólico. Dentro de una red este nombre simbólico contiene una componente única. A cada máquina de la red le corresponde una línea de dicho archivo quedando la siguiente tabla:


127.0.0.1 localhost.localdomain localhost
192.168.1.1 pc0.cluster.psa.es pc0
192.168.1.2 pc1.cluster.psa.es pc1
192.168.1.3 pc2.cluster.psa.es pc2


Configuración del fichero /etc/exports


Este archivo sirve como la lista de control de acceso para sistemas de ficheros que pueden ser exportados a clientes NFS. Cada línea contiene un punto de montaje y una lista de máquinas o nombres de grupo de red a las que se les permite montar el sistema de ficheros en ese punto. Su estructura se muestra a continuación:

/tftpboot *.cluster.psa.es(rw,no_root_squash)
/bin *.cluster.psa.es(rw,no_root_squash)
/usr *.cluster.psa.es(rw,no_root_squash)
/sbin *.cluster.psa.es(rw,no_root_squash)
/home *.cluster.psa.es(rw,no_root_squash)
/lib *.cluster.psa.es(rw,no_root_squash)
/boot *.cluster.psa.es(rw,no_root_squash)
/root *.cluster.psa.es(rw,no_root_squash)
/etc/passwd *.cluster.psa.es(rw,no_root_squash)
/etc/group *.cluster.psa.es(rw,no_root_squash)

donde:


rw: Permitir pedidos de lectura/escritura.
no_root_squash: Deshabilita la opción de root squashing, permitiendo conexión en modo root. Esta opción es particularmente útil para clientes sin disco.


Preparación de la configuración del cliente


Como ya se ha creado una estructura de directorios donde alojar el sistema de ficheros de las máquinas clientes en los apartados anteriores, y se han copiado los directorios que contienen la configuración de Linux de la máquina servidora, ahora se tiene que adaptar para cada máquina los ficheros de configuración.
Nota: Todos los cambios que se van a realizar a continuación se harán sobre los archivos de configuración que están en la ruta /tftpboot/pc1, es decir que cuando se diga que se modifica el etc/hosts se esta haciendo referencia al archivo que existe en la ruta /tftpboot/pc1/etc/hosts.


Configuración del ficheros /etc/HOSTNAME


No se dará ningun nombres, es decir, se deberá dejar el archivo vacío.


Configuración del fichero /etc/hosts


En este constará unicamente las direcciones IP de los clientes que van a formar la red interna:


127.0.0.1 localhost.localdomain localhost
192.168.1.1 pc0.cluster.psa.es pc0
192.168.1.2 pc1.cluster.psa.es pc1
192.168.1.3 pc2.cluster.psa.es pc2

Configuración del fichero /etc/fstab


Este archivo contiene la tabla del sistema de ficheros utilizado por el cliente pc1. Hay que indicar los directorios que se van a montar vía NFS. El contenido debe quedar de la siguiente forma:


pc0:/tftpboot/pc1 / nfs defaults 1 1
pc0:/bin /bin nfs defaults 1 1
pc0:/usr /usr nfs defaults 1 1
pc0:/sbin /sbin nfs defaults 1 1
pc0:/home /home nfs defaults 1 1
pc0:/lib /lib nfs defaults 1 1
pc0:/boot /boot nfs defaults 1 1
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0

Así pues el directorio raíz de la máquina pc1 va a ser el directorio /tftpboot/pc1 de la máquina pc0 siendo este el servidor o front-end.


Configuración del fichero /etc/sysconfig/network


Este archivo presenta información de red relativa a la máquina necesaria para la red, para nuestro caso del cliente pc1 queda de la siguiente forma:



NETWORKING=yes
HOSTNAME=
FORWARD_IP=no


Configuración del fichero /etc/sysconfig/network-scripts/ifcfg-eth0


Este archivo especifica el nombre del dispositivo de la interfaz de red, la dirección IP, la máscara de red, la dirección de red, la dirección de broadcast e información sobre el modo de arranque. Los datos para la máquina pc1 son los siguientes:


DEVICE="eth0"
BOOTPROTO="dhcp"
BROADCAST=
IPADDR=
NETMASK=
NETWORK=
ONBOOT="yes"

En este momento la máquina cliente quedaría bien configurada para que hiciese el arranque, lo que pasa es que cuando el proceso de arranque intenta chequear los discos duros, el sistema se queda bloqueado ya que esta trabajando NFS. Para solucionar este problema se presenta el siguiente apartado.


Configuración del fichero /etc/rc.d/rc.sysinit


En este archivo tenemos que comentar o eliminar las líneas que hacen referencia al chequeo de las unidades. Estas líneas son las siguientes:


if [ -f /fsckoptions ]; then


fsckoptions=`cat /fsckoptions'
else f


fsckoptions=
fi
if [ -f /forcefsck ]; then


fsckoptions=``-f $fsckoptions''
fi
if [ ``$BOOTUP'' != ``serial'' ]; then


fsckoptions='' -C $fsckoptions"
else


fsckoptions=`` -V $fsckoptions''
fi
_RUN_QUOTACHECK=0
if [ ! -f /fastboot ]; then


STRING=``Checking root filesystem''
echo $STRING
initlog -c ``fsck -T -a $fsckoptions /''
rc=$?
if [ "$rc" = "0" ]; then


success "$STRING" echo
elif [ "$rc" = "1" ]; then


passed "$STRING" echo
fi
# A return of 2 or higher means there were serious problems.
if [ $rc -gt 1 ]; then


failure "$STRING"
echo
echo
echo "* An error occurred during the file system check."
echo "* Dropping you to a shell; the system will reboot"
echo "* when you leave the shell."
PS1=``(Repair filesystem) # # ''; export PS1
sulogin
echo ``Unmounting file systems''
umount -a
mount -n -o remount,ro /
echo ``Automatic reboot in progress.''
reboot -f
elif [ ``$rc'' = ``1'' ]; then



_RUN_QUOTACHECK=1
fi
fi
_RUN_QUOTACHECK=0
# Check filesystems
if [ ! -f /fastboot ]; then
STRING="Checking filesystems"
echo $STRING
initlog -c ``fsck -T -R -A -a $fsckoptions''
rc=$?
if [ "$rc" = "0" ]; then


success "$STRING"
echo
elif [ "$rc" = "1" ]; then


passed "$STRING"
echo
fi
# A return of 2 or higher means there were serious problems.
if [ $rc -gt 1 ]; then


failure "$STRING"
echo
echo
echo ``* An error occurred during the file system check.''
echo ``* Dropping you to a shell; the system will reboot''
echo ``* when you leave the shell."
PS1=``(Repair filesystem) # # ''; export PS1
sulogin
echo ``Unmounting file systems''
umount -a
mount -n -o remount,ro /
echo ``Automatic reboot in progress.''
reboot -f
elif [ ``$rc'' = ``1'' -a -x /sbin/quotacheck ]; then
_RUN_QUOTACHECK=1
fi
fi

Comprobación del arranque vía NFS


Una vez acabada la configuración de los clientes debemos comprobar que podemos montar la estructura de directorios creada para los clientes vía NFS realizando los siguientes pasos:


Exportar los directorios:

exportfs -av

Montar los directorios en el cliente:

mount -t nfs nb_servidor:/tftpboot/directorio_cliente /directorio_destino

En este caso quedaría:

mount -t nfs pc0:/tftpboot/pc1 /mnt

Si no lo monta correctamente se revisará todos los pasos realizados.

""
< anterior | 1 .. 6 7 8 9 10 .. 14 | siguiente >

Autor y licencia de 'Cluster Heterogéneo De Computadoras'

Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.