Arquitectura NFS El servidor NFS exporta uno o

  • Slides: 14
Download presentation
Arquitectura NFS ¯ El servidor NFS exporta uno o más directorios ¯ /etc/exports ¯

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

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,

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

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

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 Systemsmantiene 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

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 ¯ Servicio de información de red ¯ Páginas amarillas ¯ Pares (clave, valor)

NIS ¯ Servicio de 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 ficheros virtual SO local

Implementación NFS Cliente Servidor Llamadas al sistema VFS: Sistema de ficheros virtual SO local Disco local Cliente NFS mensaje VFS: Sistema de ficheros virtual Servidor NFS mensaje SO local Disco local red 8

VFS ¯ Mantiene una tabla para los ficheros abiertos ¯ Cada entrada se conoce

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

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

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

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

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 ¯ Al abrir un fichero de la memoria caché, se comprueba si está actualizado ¯ Se ven o no las modificaciones de un fichero dependiendo del tiempo Si un fichero se abre, no se ve hasta después de 30 s aproximadamente 13

Conclusión ¯ NFS proporciona un sistema de ficheros compartido ¯ Sólo trata con el

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