Sunteți pe pagina 1din 14

Arquitectura NFS

 El servidor NFS exporta uno o más


directorios
 /etc/exports
 Los clientes montan los directorios
Pasan a formar parte de su jerarquía de directorios
 Compartir información

1
Protocolos NFS

 Interfaz bien definida


 Conjunto de peticiones enviadas por el
cliente al servidor con las respuestas
correspondientes del servidor al cliente
 2 protocolos
 Para montar un directorio
 Para acceder a ficheros y directorios

2
Para montar un directorio

 El cliente envía un nombre de camino al


servidor, pide permiso para montar este
directorio
 Si el camino existe y el directorio ha sido
exportado, el servidor devuelve un
manejador de fichero al cliente
 Una posterior lectura y escritura se realiza
utilizando este manejador

3
Automontado

 Se asocia un directorio remoto en varios


servidores con un directorio local
 Cuando se abre un fichero remoto se envía
un mensaje a cada uno de los servidores
 Se monta el directorio del servidor que
conteste primero
 Ventajas: mejora el rendimiento, más fiable
 Desventajas: La información debe ser
consistente
4
Para acceder a ficheros y directorios

 Se soportan la mayoría de las llamadas a


UNIX (no OPEN ni CLOSE)
 Antes de realizar una operación sobre el
fichero: llamada LOOK UP
 El servidor no mantiene ninguna información
de los ficheros utilizados (stateless)
 Otra forma: RFS -Remote File Systems-
mantiene una tabla de ficheros abiertos. No
hace falta dar el offset para la lectura.
5
Mecanismos de protección

 Bits rwx
 cada mensaje contiene la identificación del
usuario y del grupo
 Se puede utilizar criptografía para validar el
cliente y el servidor
 No se utiliza para los datos
 Las claves se mantienen en las NIS

6
NIS

 Serviciode información de red


 Páginas amarillas
 Pares (clave,valor)
mapa de nombres de usuarios y password
mapa de nombres de máquinas y direcciones de red
 Gestión maestro/esclavo
Varias copias de los servidores
Se puede usar el maestro o el esclavo
Las modificaciones en el maestro que propaga los
cambios
7
Implementación NFS
Cliente Servidor

Llamadas al
sistema

VFS: Sistema de VFS: Sistema de


ficheros virtual ficheros virtual

SO local Cliente Servidor SO local


NFS NFS
Disco Disco
local mensaje mensaje local

red

8
VFS

 Mantiene una tabla para los ficheros abiertos


 Cada entrada se conoce como un V-nodo
 En el V-nodo se indica si el fichero es local o
remoto
 Si el fichero es local en el V-nodo hay un
puntero al i-nodo del S.F local
 Si es remoto, al r-nodo del cliente NFS
 El r-nodo contiene información suficiente
para poder acceder al fichero
9
Montado

 El administrador
mount nombre_dir_remoto nombre_dir_local
 Programa mount
Analiza el nombre del directorio remoto
Pide a la máquina remota el manejador
Hace la llamada al sistema MOUNT
 Llamada al sistema MOUNT
Crea un v-nodo
Pide al cliente que cree un r-nodo
Hace apuntar el v-nodo al r-nodo
10
Apertura

 Se analiza el camino y se encuentra el directorio


donde se ha montado el sistema de ficheros remoto
 Se obtiene del v-nodo el puntero al r-nodo
 El cliente NFS busca el resto del camino en el
servidor
 El servidor devuelve un manejador
 El cliente NFS crea un r-nodo y devuelve al VFS el
puntero al r-nodo
 VFS pone este puntero en la tabla de v-nodos
 Se devuelve el descriptor del fichero remoto

11
Lectura

 Se usa el descriptor devuelto en la llamada a


OPEN
 VFS localiza el v-nodo correspondiente
 Se determina si es local o remoto
 Se localiza el r-nodo o el i-nodo

12
Memoria caché

 Para mejorar el rendimiento


 Problema
 Si un cliente lee un bloque y lo modifica, otro cliente que
lee este bloque no ve las modificaciones
 Solución
 Temporizador:
 3 s para bloques de datos
 30 s para información administrativa y directorios
 Al abrir un fichero de la memoria caché, se comprueba si
está actualizado
Se ven o no las modificaciones Si un fichero se crea, no se ve
de un fichero dependiendo del tiempo hasta después de 30 s aproximadamente

13
Conclusión

 NFS proporciona un sistema de ficheros


compartido
 Sólo trata con el sistema de ficheros
 Añadido a UNIX
 Si hay un conjunto de programas
cooperando, no se sabe muy bien el
resultado ya que depende del tiempo o
secuencia de acciones
 NFS es muy popular y usado
14

S-ar putea să vă placă și