Sistemas Distribuidos de Archivos
 


 

  1. Introducción a los Sistemas Distribuidos de Archivos
  2. Diseño de los Sistemas Distribuidos de Archivos
  3. La Interfaz del Servicio de Archivos
  4. La Interfaz del Servidor de Directorios
    1. Transparencia de los Nombres
  5. Semántica de los Archivos Compartidos
  6. Implantación de un Sistema Distribuido de Archivos
  7. Uso de Archivos
  8. Estructura del Sistema
  9. Ocultamiento
    1. Consistencia del Caché
  10. Réplica
    1. Protocolos de Actualización
  11. Conclusiones Importantes Respecto de la Implantación de un Sistema Distribuido de Archivos
  12. Tendencias en los Sistemas Distribuidos de Archivos
  13. Consideraciones Respecto del Hardware
  14. Escalabilidad
  15. Redes en un Area Amplia
  16. Usuarios Móviles
  17. Tolerancia de Fallos
  18. Fin


Introducción a los Sistemas Distribuidos de Archivos

Muchos aspectos son similares a los de los sistemas convencionales centralizados [25, Tanenbaum].

En un sistema distribuido es importante distinguir entre los conceptos de servicio de archivos y el servidor de archivos.

El servicio de archivos:

El despachador (servidor) de archivos: Generalmente un servidor de archivos es un proceso del usuario (a veces del núcleo) que se ejecuta en una máquina:


Inicio:   Fin:

Diseño de los Sistemas Distribuidos de Archivos

Los componentes de un sistema distribuido de archivos son [25, Tanenbaum]:


Inicio:   Fin:

La Interfaz del Servicio de Archivos

La protección en los sistemas distribuidos utiliza las mismas técnicas de los sistemas con uniprocesador [25, Tanenbaum]:

Los servicios de archivos se pueden clasificar en dos tipos:


Inicio:   Fin:

La Interfaz del Servidor de Directorios

Proporciona operaciones para crear y eliminar directorios, nombrar y cambiar el nombre de archivos y mover archivos de un directorio a otro [25, Tanenbaum].

Se utiliza un sistema jerárquico de archivos, representado por un árbol de directorios (ver Figura 11.1 [25, Tanenbaum]).

Arbol de directorios contenido en una máquina.

En ciertos sistemas es posible crear enlaces o apuntadores a un directorio arbitrario:

En una jerarquía con estructura de árbol solo se puede eliminar un enlace con un directorio si el directorio al cual se apunta está vacío.

En una gráfica se permite la eliminación de un enlace mientras exista al menos otro:


Gráfica de directorios de dos máquinas.

Un aspecto fundamental de diseño en sistemas distribuidos es si todas las máquinas y procesos tendrán exactamente la misma visión de la jerarquía de los directorios.

En los sistemas que utilizan varios servidores de archivos mediante el montaje remoto generalmente los diversos clientes tienen una visión diferente del sistema de archivos, pero la desventaja es que el sistema no se comporta como un único sistema de tiempo compartido.

Una cuestión relacionada es si existe un directorio raíz global al que todas las máquinas reconozcan como la raíz; una posibilidad es que la raíz solo contenga una entrada por cada servidor.

Inicio:   Fin:

Transparencia de los Nombres

La transparencia con respecto a la posición significa que el nombre de la ruta de acceso no sugiere la posición del archivo:

Si el primer componente de todas las rutas de acceso es el servidor, el sistema no puede desplazar el archivo a otro servidor en forma automática porque cambiaría el nombre de la ruta de acceso.

Un sistema donde los archivos se pueden desplazar sin que cambien sus nombres tiene independencia con respecto a la posición.

Resumiendo, los métodos usuales para nombrar los archivos y directorios en un sistema distribuido son:


Inicio:   Fin:

Semántica de los Archivos Compartidos

Cuando se comparten archivos es necesario definir con precisión la semántica de la lectura y escritura.

En sistemas monoprocesador que permiten a los procesos compartir archivos (ej.: UNIX) la semántica generalmente establece:

En un sistema distribuido la semántica de UNIX se puede lograr fácilmente si: Un problema que se puede presentar se debe a los retrasos en la red: Otro problema es el desempeño pobre de un sistema distribuido en donde todas las solicitudes de archivos deben pasar a un único servidor: Otra solución es relajar la semántica de los archivos compartidos: Un problema se presenta cuando dos o más clientes ocultan y modifican el mismo archivo en forma simultánea: Otro problema consiste en que no se pueden compartir los apuntadores que para cada archivo indican en la semántica UNIX la posición actual en el archivo.

Un método distinto es que todos los archivos sean inmutables:

Otra vía de solución para el uso de archivos compartidos en un sistema distribuido es usar las transacciones atómicas:


Inicio:   Fin:

Implantación de un Sistema Distribuido de Archivos

La implantación de un sistema distribuido de archivos incluye aspectos tales como [25, Tanenbaum]:


Inicio:   Fin:

Uso de Archivos

Antes de implantar un sistema de archivos resulta de interés analizar los “patrones de uso” de dichos archivos [25, Tanenbaum].

Para determinar los patrones de uso es necesario tomar mediciones que pueden ser:

Las principales propiedades observadas son:


Inicio:   Fin:

Estructura del Sistema

En ciertos sistemas no existe distinción entre un cliente y un servidor [25, Tanenbaum]:

En otros sistemas el servidor de archivos y el de directorios son solo programas del usuario, y se puede configurar un sistema para que ejecute o no el software de cliente o servidor en la misma máquina.

Los clientes y servidores también podrían ser máquinas totalmente distintas en términos de hardware o de software.

Un aspecto de implantación en donde difieren los sistemas es la forma de estructurar el servicio a directorios y archivos; las principales opciones son las siguientes:

Si se considera el caso de servidores de archivos y directorios independientes: Un aspecto estructural a considerar es si los servidores de archivos, directorios o de otro tipo deben contener la información de estado de los clientes.

Una posibilidad es que los servidores no deben contener los estados, deben ser sin estado:

Otra posibilidad es que los servidores conserven información de estado de los clientes entre las solicitudes.

Aclaración:

En un servidor sin estado cada solicitud debe ser autocontenida: Si un servidor con estado falla y sus tablas se pierden: Los servidores sin estado tienden a ser más tolerantes de los fallos que los servidores con estados.

Inicio:   Fin:

Ocultamiento

En un sistema cliente - servidor, cada uno con su memoria principal y un disco, existen cuatro lugares donde se pueden almacenar los archivos o partes de ellos [25, Tanenbaum]:

Si los archivos se almacenan en el disco del servidor: El algoritmo debe resolver los siguientes problemas: Respecto de la unidad que maneja el caché: Respecto de qué hacer cuando se utiliza toda la capacidad del caché y hay que eliminar a alguien: El mantenimiento de un caché en la memoria principal del servidor es fácil de lograr y es totalmente transparente a los clientes.

Si se utiliza ocultamiento en el lado del cliente:

Si el caché se coloca en la memoria principal del cliente las principales opciones son:


Inicio:   Fin:

Consistencia del Caché

El ocultamiento por parte del cliente introduce inconsistencia en el sistema.

Si dos clientes leen un mismo archivo en forma simultánea y después lo modifican, aparecen algunos problemas:

Una solución a la inconsistencia del caché es el algoritmo de escritura a través del caché: Los principales problemas de la escritura a través del caché son los siguientes: Un método distinto a la consistencia es utilizar un algoritmo de control centralizado:


Inicio:   Fin:

Réplica

Frecuentemente los sistemas distribuidos de archivos proporcionan la réplica de archivos como un servicio [25, Tanenbaum]:

Las principales razones para la réplica son: Un sistema es transparente con respecto a la réplica si la misma se administra sin intervención del usuario.

Una forma de llevar a cabo la réplica consiste en que el programador controle todo el proceso (réplica explícita):

Un método alternativo es la réplica retrasada: Otro método consiste en el uso de la comunicación en grupo:


Inicio:   Fin:

Protocolos de Actualización

El principal problema es asegurar la sincronización de las distintas copias.

Un algoritmo posible es el de réplica de la copia primaria:

Otro posible algoritmo es el del voto o de Gifford:


Inicio:   Fin:

Conclusiones Importantes Respecto de la Implantación de un Sistema Distribuido de Archivos

Los principios generalmente considerados fundamentales del diseño de un sistema distribuido de archivos son [25, Tanenbaum]:


Inicio:   Fin:

Tendencias en los Sistemas Distribuidos de Archivos

Es probable que los cambios en el hardware tengan un efecto muy importante en los futuros sistemas distribuidos de archivos [25, Tanenbaum].

También es probable el impacto del cambio en las expectativas del usuario.

Inicio:   Fin:

Consideraciones Respecto del Hardware

El abaratamiento de la memoria principal permitirá disponer de servidores con memorias cada vez mayores [25, Tanenbaum]:

La disponibilidad de redes de fibra óptica de alta velocidad permitiría esquemas tales como: La posible construcción de interfaces de red especializadas que permitan resolver por hardware problemas difíciles de soportar por software:


Inicio:   Fin:

Escalabilidad

Una tendencia definida en los sistemas distribuidos es hacia los sistemas cada vez más grandes [25, Tanenbaum].

Los sistemas distribuidos de archivos que operan bien para cientos de máquinas podrían fallar en algún aspecto trabajando con miles o decenas de miles de máquinas.

Generalmente los algoritmos centralizados no se escalan bien ya que el servidor centralizado podría convertirse en un cuello de botella; por ello se podría separar el sistema en unidades más pequeñas relativamente independientes entre sí.

Las transmisiones también son un área problemática:

En general los recursos y algoritmos no deben ser lineales con respecto al número de usuarios.

Inicio:   Fin:

Redes en un Area Amplia

Generalmente los sistemas distribuidos se asocian con redes de área local (LAN), pero cada vez será mayor la necesidad de conectarlos entre sí cubriendo grandes áreas (nacionales, regionales, continentales, etc.) [25, Tanenbaum].

Los sistemas de archivos deberán soportar estas necesidades teniendo presente la heterogeneidad de los equipos, códigos de representación (ASCII, EBCDIC, etc.), formatos, etc.

Deberá atenderse a los cambios de tendencia en los requerimientos de las aplicaciones.

Un problema adicional e inherente en los sistemas distribuidos masivos es el ancho de banda de la red, que puede resultar insuficiente para el desempeño esperado.

Inicio:   Fin:

Usuarios Móviles

Los usuarios de equipos móviles (laptop, notebook, etc.) están gran parte del tiempo desconectados del sistema de archivos de su organización [25, Tanenbaum]:

Lo deseable sería un sistema distribuido totalmente transparente para su uso simultáneo por parte de millones de usuarios móviles que frecuentemente se desconecten.

Inicio:   Fin:

Tolerancia de Fallos

La difusión de los sistemas distribuidos incrementa la demanda de sistemas que esencialmente nunca fallen [25, Tanenbaum].

Los sistemas tolerantes a fallos requerirán cada vez más una considerable redundancia en hardware, comunicaciones, software, datos, etc.

La réplica de archivos sería un requisito esencial.

También debería contemplarse la posibilidad de que los sistemas funcionen aún con la carencia de parte de los datos.

Los tiempos de fallo aceptables por los usuarios serán cada vez menores.

Inicio:   Fin:
 
 

Para mayor información, seleccione una opción:

Número de visitas efectuadas desde el 17/12/2001: 

Estadísticas diarias desde el 10/07/2002:   Free counter and web stats

Número de visitantes actuales disponible desde el 14/07/2002:

 

AddFreeStats.com Free Web Stats in real-time !  

 


 

Autor: lrmdavid@exa.unne.edu.ar

Ó FACENA - http://exa.unne.edu.ar

Servicios WEB: webmaster@exa.unne.edu.ar