150 likes | 373 Views
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. Protocolos NFS. Interfaz bien definida
E N D
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
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
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
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
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.
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
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
Implementación NFS Cliente Servidor Llamadas al sistema VFS: Sistema de ficheros virtual VFS: Sistema de ficheros virtual Servidor NFS SO local SO local Cliente NFS Disco local Disco local mensaje mensaje red
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
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
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
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
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 de un fichero dependiendo del tiempo Si un fichero se crea, no se ve hasta después de 30 s aproximadamente
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