Sistema de archivos de red (NFS)

Un Sistema de archivos de red (NFS) permite a los hosts remotos montar sistemas de archivos sobre la red e interactuar con esos sistemas de archivos como si estuvieran montados localmente.

Todas las versiones de NFS pueden utilizar el Protocolo de control de transmisiones (TCP) ejecutándose sobre una red IP. En el caso de NFSv4, éste lo

requiere. NFSv2 y NFSv3 pueden utilizar el Protocolo de datagrama de usuarios
(UDP) sobre una red IP para proporcionar conexiones de red sin supervisión
(stateless) entre el cliente y el servidor.

Necesitaremos tener instalado portmap y el paquete nfs (nfs-utils) que se puede encontrar en la mayor de las distribuciones en el ordenador que vaya a hacer de servidor de disco.

El portmap nos permitirá realizar conexiones RPC al servidor y es el encargado de permitir o no el acceso al servidor a los equipos que especifiquemos.

Para saber si tenemos el portmap instalado bastar ́ con un simple

ps aux | grep portmap
Deberíamos tener una salida parecida a
rpc 1261 0.0 0.1 1560 568 ? S 15:48 0:00 portmap

Para saber si NFS está en marcha haremos una consulta al portmap para que nos indique que servicios tiene en marcha

rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 980 status
100024 1 tcp 983 status
100021 1 udp 24065 nlockmgr
100021 3 udp 24065 nlockmgr
100021 4 udp 24065 nlockmgr
100021 1 tcp 20789 nlockmgr
100021 3 tcp 20789 nlockmgr
100021 4 tcp 20789 nlockmgr
100011 1 udp 909 rquotad
100011 2 udp 909 rquotad
100011 1 tcp 912 rquotad
100011 2 tcp 912 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100005 1 udp 922 mountd
100005 1 tcp 925 mountd
100005 2 udp 922 mountd
100005 2 tcp 925 mountd
100005 3 udp 922 mountd
100005 3 tcp 925 mountd

#portmap status

Si el servicio portmap se está ejecutando, entonces se puede iniciar nfs. Para

iniciar un servidor NFS, ejecutar:

#/etc/init.d/nfs-kernel-server start
Para detener el servidor, ejecutar:

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

Configuraciones para el Servidor NFS

#/etc/hosts.deny
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

#/etc/hosts.allow
portmap:ip_cliente/mascara_cliente
lockcd:ip_cliente/mascara_cliente
mountd:ip_cliente/mascara_cliente
rquotad:ip_cliente/mascara_cliente
statd:ip_cliente/mascara_cliente

/etc/exports
/dir_compartir ip_cliente/mascara_cliente(rw,sync,no_root_squash)

En los clientes NFS

Montamos los directorios compartidos con NFS
en
#/etc/fstab
ip_servidor_NFS:/directorio_exportar /directorio_local nfs hard,bg,proto=tcp,suid,rsize=32768,wsize=32768,nointr,timeo=600 0 0

Donde:

hard o soft: Especifican si el programa que usa un archivo vía una conexión NFS, debe parar y esperar (hard) a que el servidor vuelva a estar en línea, si el host que sirve el sistema de archivos no está disponible, o si debe informar de un error (soft).

Si se especifica la opción hard, el usuario no podrá terminar el proceso que está

esperando que la comunicación NFS se reanude a menos que especifique la
opción intr.
Si usa soft, puede usar la opción adicional timeo=, donde especifica el número
de segundos que deben pasar antes de informar del error.

intr: Permite que se interrumpan las peticiones NFS si el servidor se cae o no
puede ser accedido.

rsize=num y wsize=num: Estas configuraciones pueden acelerar la configurando un tamaño de bloque de datos mayor, en bytes, que serán comunicación NFS tanto para lecturas (rsize) como para escrituras (wsize), transferidos de una sola vez. Tenga cuidado al cambiar estos valores; algunos kernels antiguos de Linux y tarjetas de red no funcionan bien con grandes tamaños de bloques. Para NFSv2 o NFSv3, los valores por defecto para ambos parámetros está configurado a 8192. Para NFSv4, los valores por defecto para ambos parámetros es 32768.

Iniciar la compartición de archivos
Si hemos cambiado el fichero /etc/exports después de iniciar el servicio NFS deberemos indicar al sistema que releea el fichero y active los cambios. Esto lo podemos hacer reiniciando el demonio nfsd o bien mediante

#exportfs -ra

1 comentario en “Sistema de archivos de red (NFS)

Deja un comentario