Saltar a contenido

NFS

El NFS (Net File System) fue desarrollado por Sun Microsystems en la década de los 80. NFS proporciona un servicio de ficheros en red de forma transparente al usuario, permitiendo acceder a ficheros de un host remoto de la misma forma que si se hiciera localmente.

Cada máquina puede actuar, con respecto al NFS, como cliente y como servidor; y los ficheros de cada máquina pueden hacerse accesibles a otras máquinas mediante acceso remoto.

El NFS –tanto desde el punto de vista del cliente como desde el del servidor– soporta gran variedad de hardware y de software. Por ejemplo, hay módulos servidores para los sistemas operativos UNIX, VMS y Novell y módulos clientes para plataformas PC y Macintosh.

Niveles de transparencia

El NFS proporciona los siguientes niveles de transparencia, que son fundamentales en la consecución de un entorno distribuido:

  • Transparencia de acceso: El módulo cliente proporciona un interfaz a los procesos locales que es idéntico al del sistema operativo local.
  • Transparencia de ubicación: Cada cliente añade los sistemas de ficheros remotos a su espacio de nombres local. El cliente determina el punto de la jerarquía de ficheros donde aparecerá el sistema de ficheros remoto montado.
  • Transparencia de fallos: Cuando un servidor falla, el servicio que proporciona se suspende hasta que el servidor vuelve a arrancar, y entonces los procesos clientes continúan desde el punto en que se interrumpió el servicio.
  • Rendimiento transparente: Para ello, tanto cliente como servidor, utilizan técnicas de caché.
  • Transparencia de migración

Esquema de la arquitectura del NFS

Arquitectura NFS

El módulo servidor del NFS se encuentra en el kernel de cada servidor NFS, y el módulo cliente en el kernel de cada cliente.

Las peticiones referidas a ficheros de un sistema de archivos remoto se traducen por el módulo servidor del NFS a operaciones del protocolo de NFS y se envían al módulo servidor de la máquina, que contiene los ficheros referidos.

Los módulos cliente y servidor se comunican mediante los RPC (Remote Procedure Call) de Sun.


Última actualización: October 4, 2021