NFS Network File System

De enunpimpam
Revisión del 00:55 29 abr 2020 de Nacho (discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

NFS es el sistema que utiliza Linux para compartir carpetas en una red. Mediante NFS, un servidor puede

compartir sus carpetas en la red. Desde los PCs de los usuarios se puede acceder a dichas carpetas

compartidas y el resultado es el mismo que si estuvieran en su propio disco duro.

Instalación debian

apt-get install nfs-common nfs-kernel-server

Instalación Raspberry pi

apt-get install nfs-kernel-server portmap nfs-common

Jessie

 apt-get install nfs-kernel-server rpcbind nfs-common

Configuración

Para configurarlo tenemos que editar el archivo exports, donde indicaremos las carpetas a compartir y los

persmisos de lectura o lectura y escritura

nano /etc/exports

Un ejemplo seria el siguiente

/media/datos/	192.168.1.0/255.255.255.0(rw,sync,no_subtree_check,insecure)

Opciones de NFS

  • ro: Esta opción podemos proporcionar acceso de sólo lectura a los archivos compartidos.
  • rw:Esta opción permite que el servidor de cliente para leer y escribir el acceso dentro del directorio compartido.
  • sync:Confirma solicitudes al directorio compartido sólo una vez se han confirmado los cambios.
  • no_subtree_check:Esta opción evita que el control del subárbol. Cuando un directorio compartido es el subdirectorio de un sistema de archivos más grande, nfs realiza exploraciones de cada directorio por encima de ella, con el fin de verificar sus permisos y detalles. Deshabilitar la comprobación de subárbol puede incrementar la fiabilidad de NFS, pero reducir la seguridad.
  • no_root_squash: Permite a root la conexión al directorio designado.

Configuración Raspberry pi

/media/datos *(rw,all_squash,sync,no_subtree_check,insecure,crossmnt,anonuid=65534,anongid=1000)

Nota:No es necesario introducir el * podemos utilizar una rango de red

Iniciar servicio

Para que el servidor NFS funcione, es necesario que esté arrancado el servicio portmap, por lo tanto, la primera acción será iniciar portmap por si no estuviera arrancado:

/etc/init.d/portmap start

Versión Jessie

/etc/init.d/rpcbind start

Reiniciamos servidor NFS

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

Iniciar servicio en Raspberry pi

/etc/init.d/nfs-common start
/etc/init.d/nfs-kernel-server start
/etc/init.d/rpcbind start

Este ultimo lanza un error con los tcp6

 mountdrpc.mountd: svc_tli_create: could not open connection for udp6
rpc.mountd: svc_tli_create: could not open connection for tcp6
rpc.mountd: svc_tli_create: could not open connection for udp6
rpc.mountd: svc_tli_create: could not open connection for tcp6
rpc.mountd: svc_tli_create: could not open connection for udp6
rpc.mountd: svc_tli_create: could not open connection for tcp6

Esto lo podemos solucionar:

modprobe ipv6

Y volviendo a reiniciar el nfs-kernel-server


NFS Server: Not starting: portmapper is not running

Script de inicio nfs

No se que le pasa a la Jessie y ahora mismo no tengo tiempo de averiguarlo....

Pero la cuestión que cada vez que se reinicia raspberry el servicio de nfs esta activo pero no funciona..???

Tengo que reiniciarlo manualmente asi que he creado este script que se ejecuta al iniciar el sistema


#!/bin/bash
### BEGIN INIT INFO
# Provides:          nfs-local
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: mathkernel
### END INIT INFO
#/etc/init.d/nfs-common restart
/etc/init.d/rpcbind restart
/etc/init.d/nfs-kernel-server restart
#showmount --exports localhost
exit

Comprobar el estado

Podemos comprobar los recursos que tenemos iniciados en NFS

showmount --exports localhost

Montar Recursos NFS

Montar la unidad en Linux

Para poder acceder desde un PC a una carpeta compartida por NFS en un servidor, es necesario montar la carpeta compartida en nuestro sistema de archivos. De ésta manera, el acceso a la carpeta compartida es exactamente igual que el acceso a cualquier otra carpeta de nuestro disco duro.

Es necesario tener los paquetes istalados

apt-get install nfs-common

Para montar la unidad utilizaremos el comando mount con la variante -t (temporal)

mount -t nfs 192.168.1.10:/media/datos /home/nacho/datos/

Momtar en Mac OX

Tendremos que montar la unidad mediante la Utilidad de Disco > Archivo > Montaje NFS

Apretar el +

URL del NFS remoto

nfs://192.168.1.10/media/datos

Ubicación de montaje:

/Users/nacho/media/datos

Activamos parametros de montaje avanzados

resvport,nolocks,locallocks,intr,soft,wsize=32768,rsize=3276

Archivo:Añadir-unidad.png
Parametros unidad NFS
































Montar en Windows

Podemos montar sistemas de ficheros NFS de Unix como una unidad de Windows

Instalar el Cliente para NFS de Windows

Para Instalar el Cliente de NFS hay que abrir Panel de Control, seleccionar Programas y carcteristicas hacer clic en el enlace Activar o desactivar las caracteristicas de Windows

Selecionar Cliente para NFS

Iniciar los servicios NFS Abrimos una consola de sistema "cmd" y ejecutamos

c:\nfsadmin client start

Montr el sistema de ficheros Para montar nuestro sistema de fichero exportado por NFS ejecutamos:

C:\>mount \\192.168.1.200:\media Z:

Ahora ya esta montado media en la unidad Z:

Desmontar la unidad

c:\>umount Z: