jueves, 3 de mayo de 2012

Network File System (NFS)

Instalación del Servidor y el Cliente NFS

Como siempre, vamos a la teoría y como siempre wikipedia:

El Network File System (Sistema de archivos de red), o NFS, es un protocolo de nivel de aplicación, según el Modelo OSI. Es utilizado para sistemas de archivos distribuido en un entorno de red de computadoras de área local. Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales. Originalmente fue desarrollado en 1984 por Sun Microsystems, con el objetivo de que sea independiente de la máquina, el sistema operativo y el protocolo de transporte, esto fue posible gracias a que está implementado sobre los protocolos XDR (presentación) y ONC RPC (sesión) . El protocolo NFS está incluido por defecto en los Sistemas Operativos UNIX y la mayoría de distribuciones Linux.

En palabras sencillas, NFS nos permite compartir una partición o dispositivo en nuestra red local, de esta manera podemos montarlo como si de una unidad mas se tratase en un cliente remoto, cosa que en muchos casos viene muy bien...

Características:

  • El sistema NFS está dividido al menos en dos partes principales: un servidor y uno o más clientes. Los clientes acceden de forma remota a los datos que se encuentran almacenados en el servidor.
  • Las estaciones de trabajo locales utilizan menos espacio de disco debido a que los datos se encuentran centralizados en un único lugar pero pueden ser accedidos y modificados por varios usuarios, de tal forma que no es necesario replicar la información.
  • Los usuarios no necesitan disponer de un directorio “home” en cada una de las máquinas de la organización. Los directorios “home” pueden crearse en el servidor de NFS para posteriormente poder acceder a ellos desde cualquier máquina a través de la infraestructura de red.
  • También se pueden compartir a través de la red dispositivos de almacenamiento como disqueteras, CD-ROM y unidades ZIP. Esto puede reducir la inversión en dichos dispositivos y mejorar el aprovechamiento del hardware existente en la organización.

Instalando:

Servidor:

En el servidor es importante tener instalado los servicios , para ello simplemente ejecutamos:

# aptitude install portmap nfs-server nfswatch

Posterior a la instalación, verificamos que los servicios están corriendo, para ello ejecutamos:

# rpcinfo -p

La salida de este comando debería lucir algo así:



Clientes:

Del lado del cliente la cosa es mucho mas sencilla, solo debemos instalar nfs-common:

# aptitude install nfs-common

Configurando y Montando:

Exportando:

NFS va a exportar en la red todos los dispositivos o carpetas que se le indiquen en el /etc/exports, este es el archivo maestro de exportación y en el también podemos especificar detalles como con que maquinas vamos a exportar el dispositivo, que permisos daremos y así.

Obviamente, lo primero que debemos hacer es determinar las carpetas o dipositivos a ser exportados y posteriormente agregamos las lineas al /etc/exports basados en la siguiente estructura:

RutaACompartir IpsPermitidas/MascaraSubRed (Permisos)

Todo quedaría algo así:


Ahora para los cambios tengan efecto es necesario reiniciar el servicio:

# /etc/init.d//nfs-kernel-server restart

Montando en el cliente:

Aquí la cosa también es sencilla, pero tenemos dos opciones, podemos hacer que la partición se monte desde el arranque del sistema o podemos montar la carpeta o dispositivo cuando lo necesitemos.

Montado Permanente:


Si estamos seguros que el equipo cliente siempre va a poder conectarse con el servidor nfs desde el arranque siempre, esta es la mejor opción, para hacerlo simplemente hay que agregar un nuevo punto de montaje en el archivo /etc/fstab; el formato es:

IpServidor:/RutaCompartida   /PuntoMontajeLocal   TipoPartición   Opciones   Dump   Pass

Nos quedaría algo así:

Hecho el cambio, lo que debemos hacer es remontar todos los puntos conocidos ejecutando:

# mount -a

Y listo, ya debemos tener nuestro sistema compartido accesible desde el cliente.

Comando de Montado:

Alternativamente, es posible que no queramos que el cliente monte el dispositivo o carpeta remoto desde el inicio, entonces la alternativa es indicarle el montaje de forma manual, para ello ejecutamos:

# mount -t nfs IpServidor:/RutaCompartida  /PuntoMontajeLocal

No hay comentarios: