TEMA 12. Sistema de Ficheros en Red:NFS.
Volver Imprimir Capítulo

12.1 Sistemas de ficheros en red: NFS.

El sistema de ficheros de red o NFS (Network File System) se utiliza para hacer accesible información a través de la red. Permite montar particiones o directorios de otras máquinas de la misma forma que se monta un disquete o un CD-ROM.

NFS es un servicio; aunque es un programa diseñado bajo arquitectura cliente/servidor, no trata con un único servidor y muchos clientes. Cada máquina que contiene un segmento del sistema de ficheros que desea compartir se convierte en un servidor NFS. Normalmente todas las máquinas de la red tienden a ser clientes NFS.

El archivo de configuración de NFS es /etc/exports, que controla las porciones de un sistema de ficheros de una máquina que están disponibles como exportaciones de NFS y quién puede acceder a ellas. Este archivo consiste en una serie de sentencias de una única línea, cada una de las cuales define un elemento particular a ofrecer y especifica a quién ofrecerlo.

Todas estas sentencias tienen el formato “ruta reglas”; la ruta simplemente es la ruta al directorio que quiere exportar. La parte de las reglas es la sustancia de la definición de la exportación; se descompone en dos partes: quien puede acceder a la información y cuáles son las directrices que tiene ese usuario o sitio (estas últimas entre paréntesis y separadas por comas). Por lo tanto la sentencia de exportación se parece a la siguiente, una vez descompuesta:

ruta quién (cómo)

La forma de designar el “quién” tiene permiso de acceso puede ser un nombre de máquina, una IP o una pareja IP/máscara. Por ejemplo para exportar el directorio /home para que esté disponible en toda la red 192.168.0.0:

/home 192.168.0.0/255255255.0

El “cómo” permite configurar diversas opciones a la hora de permitir el acceso:

all_squash todos los usuarios que accedan serán considerados anónimos

anongid=xxx asigna el gid xxx al usuario anónimo

anonuid = xxx asigna el uid xxx al usuario anónimo

async el servidor escribe los datos cuando cree conveniente

insecure permite que las solicitudes lleguen por cualquier puerto

no_root_squash las peticiones de root se asignan a root en la máquina servidor

ro configura la exportación en modo de sólo lectura

root_squash asigna a las peticiones de root un UID y GID anónimos

rw configura la exportación en modo lectura/escritura
secure las peticiones deben lleguar por un puerto inferior al 1024

sync el servidor pone los datos en el disco de forma inmediata

Por ejemplo, para exportar el directorio /usr y permitir el acceso en nuestra red local en modo de sólo lectura, que los datos se escriban cuando el servidor lo considere oportuno y se utilice el modo “seguro” deberemos poner en el archivo exports:

/usr 192.168.0.0/255.255.255.0 (ro,async,secure)

Para poder utilizar este directorio en nuestra máquina habría que ejecutar (suponiendo que el servidor se llama “guadalinex”):

mount -t nfs guadalinex:/usr/local /usr

De esta forma montaríamos el directorio del servidor en nuestra ruta local /usr. No es necesario escribirlo cada vez que se inicie el sistema, podemos incluir una línea en el archivo /etc/fstab para que se monte automáticamente en cada inicio. La línea para este caso particular sería:

guadalinex:/usr /usr nfs opciones

Las opciones son específicas para el sistema de ficheros NFS; las más útiles son:

rsize=8192, wsize=8192: especifica un tamaño de búffer de 8192 en lugar de los 4096 que se utilizan por defecto; acelerará la velocidad de las conexiones.

hard: el programa que accede a un fichero al sistema de ficheros se quedará bloqueado si el servidor cae por alguna razón, y el proceso no podrá detenerse de ninguna manera. Cuando el servidor vuelve a estar operativo la transferencia continúa desde donde estaba. Deberías poner esta opción.

soft: permite que el núcleo cierre la conexión con el servidor si éste no responde durante algún tiempo; generalmente es fuente de problemas.

De esta forma la línea que debería ponerse en fstab con las opciones recomendadas es:

guadalinex:/usr /usr nfs rsize=8192,wsize=8192,hard 0 0

Para que el servicio esté disponible, debes iniciar los servicios “nfs-common” y “nfs-kernel-server”.

Existe un comando llamado nfsstat, que proporciona información sobre el sistema de archivos compartido; la salida es como la de la imagen (en este servidor no se ha realizado ningún acceso todavía).



 
 
   
 
Copyright - © ANFORA, 2004. Todos los derechos reservados. Condiciones Legales.    
Subir al inicio de la página Página Web de ÁNFORA