User Tools

Site Tools


cluster:configuracion_nfs

Configuración del servicio de NFS entre los nodos

Control de versiones

Fecha Actividad Autor
24/07/2010 Publicación inicial Jorge Iván Meza Martínez.

Introducción

En este capítulo se realiza la configuración del servidor de NFS en el nodo c-nfs y la correspondiente configuración de los clientes en los nodos trabajadores. Para la exportación de los directorios a publicarse se crea /exports bajo el cual se asocian los demás directorios.

Tiempo estimado

45 minutos.

Precondición

Ninguna.

Postcondición

Después de configurado el servicio de NFS en los nodos del cluster, será necesario que el nodo principal (c-head) se inicie primero, antes que los nodos trabajadores (c-wn1 y c-wn2) ya que este les exporta el directorio home de sus usuarios. En caso de que se inicien primero los nodos trabajadores será necesario verificar y corregir el montaje de los recursos compartidos.

Supuestos

Ninguno.

Configurar el servicio en el nodo c-nfs

Este nodo, que en la arquitectura actual corresponde físicamente a c-head, es el servidor de NFS el cual contendrá los directorios compartidos del cluster que facilitarán su administración, mantenimento y uso.

Acceda a la terminal del usuario root del nodo c-nfs para realizar las siguientes tareas de administración.

Crear los directorios de exportación

Los directorios del servidor que serán exportados corresponden a los siguientes.

  • home. Usuarios del cluster, incluyendo a condor. Evita la necesidad de replicar los directorios de los usuarios en cada nodo del cluster.
  • condor. Instalación de Condor. Evita la necesidad de realizar una instalación de Condor por cada nodo del cluster.

Su creación se realiza de la siguiente manera.

# mkdir /exports
 
# mkdir /exports/home
 
# mkdir /exports/condor

Adicionalmente se crean enlaces dinámicos a ciertas ubicaciones que permitirán posteriormente una administración mas flexible de los archivos.

# ln -s /exports/condor /opt/condor

Exportar los directorios a través de NFS

# vi /etc/exports
 
    /exports/home           192.168.1.0/24(async,no_root_squash,rw)
    /exports/condor         192.168.1.0/24(async,no_root_squash,rw)

Nótese como los directorios están siendo exportados únicamente para equipos pertenecientes a la red 192.168.1.0 con la máscara por defecto (255.255.255.0), lo cual coincide con el direccionamiento de red que se ha venido utilizando en los capítulos anteriores del cluster. Es necesario ajustar la dirección de la red y los bits de la máscara a la realidad de la red donde se está instalando el cluster.

Importante. La opción no_root_squash permite que las cuentas de root de otras máquinas del cluster modifiquen los archivos exportados por el servidor NFS.

Aplicar inmediatamente las modificaciones realizadas a la especificación de directorios exportados.

# /usr/sbin/exportfs -rv

Montar localmente el directorio /home para ser exportado

Con el directorio de los usuarios sucede algo interesante ya que este reside en /home y se requiere en /exports/home para poder exportarlo a través de la configuración de NFS recién hecha. Una primera opción sería reemplazar a /exports/home por un enlace suave a /home, sin embargo la flexibilidad del sistema de archivos de Linux permite implementar una solución mas elegante que consiste en montar un directorio local en un punto de montaje local (bind); para las aplicaciones, incluyendo a NFS, es entonces transparente el orígen del recurso que se está exportando.

# vi /etc/fstab
 
    /home                   /exports/home           none    _netdev,bind    0 0

Activar los servicios requeridos

El servicio de NFS requiere la presencia de los siguientes servicios, los cuales deberán estar activos desde el inicio de la máquina.

# /sbin/chkconfig --level 345 nfs on
 
# /etc/init.d/nfs start
 
# /sbin/chkconfig --level 345 portmap on
 
# /etc/init.d/portmap start

Reiniciar el nodo

# reboot

Prueba local del servidor de NFS

Con esta prueba se verificará el funcionamiento del servicio de NFS desde el ámbito local, es decir, desde el mismo servidor.

# mkdir /tmp/prueba
 
# mount -t nfs c-nfs:/exports/condor /tmp/prueba
 
# touch /exports/condor/testfile
 
# ls -l /tmp/prueba
 
    total 4
    -rw-r--r-- 1 root root 0 Jun  9 09:44 testfile
 
# rm /exports/condor/testfile
 
# umount /tmp/prueba
 
# rmdir /tmp/prueba

Configurar el servicio en los nodos trabajadores

Los nodos cliente NFS corresponden con los demás nodos del cluster que requieren acceder al sistema de archivos compartidos del mismo, en este caso serán c-wn1 y c-wn2.

Acceda a las respectivas consolas de root de los nodos mencionados y realice las siguientes tareas de administración.

Crear los directorios de montaje

A continuación se crearan los directorios en los nodos cliente en donde se realizará el montaje de los recursos exportados en el servidor a través de NFS.

# mkdir /nfs
 
# mkdir /nfs/condor
 
# mkdir /nfs/home

Adicionalmente se crean enlaces dinámicos a ciertas ubicaciones que permitirán posteriormente una administración mas flexible de los archivos.

# ln -s /nfs/condor /opt/condor

Configurar el montaje automático de los recursos compartidos

Agregar los siguientes recursos a los ya existentes en el archivo /etc/fstab.

# vi /etc/fstab
 
    c-nfs:/exports/condor         /nfs/condor       nfs     udp,bg,intr,noatime
    c-nfs:/exports/home           /nfs/home         nfs     udp,bg,intr,noatime

Forzar manualmente el montaje de los recursos compartidos para verificar errores

# mount -a -t nfs

Reemplazar el /home local con el compartido

Gracias a este procedimiento los directorios de los usuarios se unificarán a lo largo de todos los nodos del cluster, facilitando entre otras cosas, la gestión de los certificados de los usuarios.

# mv /home /home.orig
 
# mkdir /home

Agregar el siguiente recurso a los ya existentes en el archivo /etc/fstab.

# vi /etc/fstab
 
    /nfs/home                     /home             none    _netdev,bind            0 0

Verificar los montajes

Forzar manualmente el montaje de todos los recursos compartidos para verificar errores.

# mount -a

Listar los recursos montados actualemente.

# mount
 
    /dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    /dev/hda1 on /boot type ext3 (rw)
    tmpfs on /dev/shm type tmpfs (rw)
    none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
    sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
    c-nfs:/exports/condor on /nfs/condor type nfs (rw,noatime,udp,bg,intr,addr=192.168.1.220)
    c-nfs:/exports/home on /nfs/home type nfs (rw,noatime,udp,bg,intr,addr=192.168.1.220)
    /nfs/home on /home type none (rw,bind)

Solucionar problemas en el cliente

Problemas de timeout

Si se reciben mensajes como el siguiente probablemente se estén sufriendo problemas de timeout debido a la diferencia de tamaño de los paquetes transmitidos. Esto muy posiblemente esté relacionado con la versión del kernel utilizado.

nfs: server c-nfs not responding, still trying
nfs: server c-nfs OK

Para solucionar este problema actualice el archivo /etc/fstab de la siguiente manera especificando el tamaño de los paquetes para los recursos montados a través de NFS.

c-nfs:/exports/condor         /nfs/condor       nfs     udp,bg,intr,noatime,rsize=2048,wsize=2048
c-nfs:/exports/home           /nfs/home         nfs     udp,bg,intr,noatime,rsize=2048,wsize=2048
 
/nfs/home                     /home             none    _netdev,bind,rsize=2048,wsize=2048            0 0

Enlaces

cluster/configuracion_nfs.txt · Last modified: 2012/02/26 22:35 (external edit)