NFS + WAFL
• Lenin Rosas
• Pablo Rosas
• Carlos Morales
• Hebert Negrón
01
La idea básica del NFS
es permitir que una
colección arbitraria de
clientes y servidores
Network File compartan un sistema
de archivos en común a
System través de redes LAN(o
incluso redes WAN).
Introducción Conjunto de estaciones de trabajo
Interconectadas como si fueran un
conjunto de máquinas independientes
con sistemas de archivos independientes.
Compartición entre sistemas de archivos
Se basa en relaciones cliente-servidor,
una maquina puede ser tanto un cliente
como un servidor. La compartición es
posible entre cualquier pareja de
máquinas.
Garantizar la independencia
La compartición entre un sistema de archivos
remoto sólo afecta a la máquina cliente, y no
a ninguna otra máquina.
Acceso a directorio remoto
Cada servidor del NFS exporta uno o más de sus directorios para que los clientes remotos
puedan utilizarlos. Cuando se comparte un directorio, también se comparten todos sus
subdirectorios. Para acceder a los directorios el cliente debe de montarlos y así el directorio
(remoto) se convierte en parte de su jerarquía de directorios.
• Cliente 1 monta el directorio
/bin del servidor 1 en su propio
directiorio /bin.
• Cliente 1 monta el directorio
/proyectos del servidor 2 en su
directorio /usr/ast/trabajo.
• Cliente 2 monta también el
directorio /proyectos (ej. ahora
puede acceder al archivo a
como /mnt/proy1/a).
Entorno heterogéneo
Uno de los objetivos del diseño NFS era operar en un entorno heterogéneo de
diversas máquinas, diversos sistemas operativos y diversas arquitecturas de red.
La especificación NFS es independiente de todos estos soportes y permite, por
tanto, que se realicen otras implementaciones.
Esta independencia se consigue utilizando primitivas RPC construidas sobre un
protocolo de representación de datos externos (XDR) utilizado entre dos interfaces
independientes de la implementación.
Protocolo de montaje
Establece la conexión lógica entre un servidor y un cliente.
Una implementación de montaje incluye:
▪ Nombre del directorio remoto que hay que montar.
▪ Nombre de la máquina servidora donde está almacenado.
La solicitud de montaje se mapea sobre la correspondiente llamada RPC y se
reenvía al servidor de montaje que se esté ejecutando sobre la máquina servidora
especificada.
El servidor mantiene una lista de exportación y una lista de las máquinas clientes y
de los directorios actualmente montados correspondientes a cada una.
Cuando el servidor recibe una solicitud de montaje que esté conforme con su lista
de exportación , devolverá al cliente un descriptor de archivo.
Protocolo de acceso a los directorios
y archivos
Proporciona un conjunto de llamadas RPC para operaciones remotas con archivos.
Los procedimientos definidos soportan las siguientes operaciones:
▪ Búsqueda de un archivo en un directorio.
▪ Manipulación de enlaces y directorios.
▪ Accesos a los atributos de un archivo.
▪ Lectura y escritura de archivos.
Estos procedimientos sólo pueden invocarse después de que haya sido
establecido un descriptor de archivo para el directorio remotamente montado.
Una característica importante de los servidores NFS es que no tienen memoria del
estado o servidor sin estado, omite las operaciones open( ) y close( ).
02
Write Anywhere
File Layout
Sistemas de archivos de Sistemas optimizados para
propósito general tareas específicas
Pueden proporcionar una En un intento de proporcionar
funcionalidad y unas prestaciones unas mejores prestaciones que
razonables para una amplia los sistemas de archivos de
variedad de tamaños de archivos, propósito general en esas áreas
tipos de archivos y cargas de E/S. concretas.
Características
• WAFL es un sistema de archivos potente y elegante optimizado para las
escrituras aleatorias.
• Puede proporcionar archivos a los clientes mediante el protocolo NFS.
• Se utiliza exclusivamente en los servidores de archivos que incluyan una cache
NVRAM para las escrituras.
• La facilidad de uso es uno de los principales directrices de diseño de WAFL,
porque fue diseñado para usarse como dispositivo autónomo.
• Está basado en bloques y utiliza inodos para describir los archivos. Un sistema
de archivos WAFL es un árbol de bloques cuya raíz es el inodo raíz.
Instantáneas
Sus creadores también diseñaron el sistema para incluir una funcionalidad de
tomas de instantáneas que crea múltiples copias de sólo lectura del sistema de
archivos en diferentes instantes de tiempo.
Para tomar una instantánea, WAFL crea un inodo raíz duplicado. Todas las
actualizaciones de archivos o metadatos subsiguientes se realizan en bloques
nuevos, en lugar de sobreescribiendo los bloques existentes.
El nuevo inodo raíz apunta a los metadatos y a los datos modificados como
resultado de estas escrituras. Mientras tanto, el antiguo inodo raíz sigue apuntando
a los bloques antiguos, que no habrán sido actualizados.
Replicación, la duplicación y sincronización de un conjunto de
datos a través de una red a otro sistema
1. Se duplica una instantánea del sistema de archivos WAFL en otro sistema.
2. Cuando se captura otra instantánea en el sistema de origen, es relativamente
fácil de actualizar el sistema remoto simplemente enviando todos los bloques
contenidos en la nueva instantánea. Estos bloques son los que han cambiado
entre las dos instantáneas.
3. El sistema remoto agrega estos bloques al sistema de archivos y actualiza sus
punteros, así el nuevo sistema es un duplicado del sistema de origen en el
momento de la segunda instantánea.
4. La repetición de este proceso mantiene al sistema remoto como una copia casi
actualizada del primer sistema.
Referencias
• Professor, S. A., Galvin, P. B., & Gagne, G. (2012). Operating System
Concepts (9th Revised ed.). Wiley.
• T. (2008). Sistemas Operativos Modernos (3.a ed.). Pearson
Educación.