¿Qué es DFS (Sistema de Archivos Distribuidos)?

Un sistema de archivos distribuido (DFS) , como sugiere el nombre, es un sistema de archivos que se distribuye en varios servidores de archivos o en varias ubicaciones. Permite que los programas accedan o almacenen archivos aislados como lo hacen con los locales, permitiendo a los programadores acceder a archivos desde cualquier red o computadora. 

What-is-DFS?

El objetivo principal del Sistema de archivos distribuido (DFS) es permitir que los usuarios de sistemas distribuidos físicamente compartan sus datos y recursos mediante el uso de un Sistema de archivos común. Una colección de estaciones de trabajo y mainframes conectados por una red de área local (LAN) es una configuración en el sistema de archivos distribuidos. Un DFS se ejecuta como parte del sistema operativo. En DFS, se crea un espacio de nombres y este proceso es transparente para los clientes. 

 DFS tiene dos componentes: 

  • Transparencia de ubicación:
    la transparencia de ubicación se logra a través del componente de espacio de nombres.
  • Redundancia:
    la redundancia se realiza a través de un componente de replicación de archivos.

En caso de falla y carga pesada, estos componentes juntos mejoran la disponibilidad de los datos al permitir que los datos compartidos en diferentes ubicaciones se agrupen lógicamente en una carpeta, que se conoce como la «raíz DFS». 

No es necesario usar ambos componentes de DFS juntos, es posible usar el componente de espacio de nombres sin usar el componente de replicación de archivos y es perfectamente posible usar el componente de replicación de archivos sin usar el componente de espacio de nombres entre servidores. 

Características de DFS:

  • Transparencia : 
    • Transparencia de la estructura:
      no es necesario que el cliente conozca la cantidad o las ubicaciones de los servidores de archivos y los dispositivos de almacenamiento. Se deben proporcionar múltiples servidores de archivos para el rendimiento, la adaptabilidad y la confiabilidad.
    • Transparencia de acceso:
      tanto los archivos locales como los remotos deben ser accesibles de la misma manera. El sistema de archivos debe ubicarse automáticamente en el archivo al que se accede y enviarlo al lado del cliente.
    • Transparencia de nombres:
      no debe haber ninguna pista en el nombre del archivo sobre la ubicación del archivo. Una vez que se asigna un nombre al archivo, no debe cambiarse durante la transferencia de un Node a otro.
    • Transparencia de replicación:
      si un archivo se copia en varios Nodes, tanto las copias del archivo como sus ubicaciones deben ocultarse de un Node a otro.
  • Movilidad del usuario: 
    traerá automáticamente el directorio de inicio del usuario al Node donde el usuario inicia sesión.
  • Desempeño: 
    el desempeño se basa en la cantidad promedio de tiempo necesario para convencer a las requests del cliente. Este tiempo cubre el tiempo de CPU + el tiempo necesario para acceder al almacenamiento secundario + el tiempo de acceso a la red. Es recomendable que el rendimiento del Sistema de Archivos Distribuidos sea similar al de un sistema de archivos centralizado.
  • Simplicidad y facilidad de uso: 
    la interfaz de usuario de un sistema de archivos debe ser simple y la cantidad de comandos en el archivo debe ser pequeña.
  • Alta disponibilidad: 
    un sistema de archivos distribuido debe poder continuar en caso de fallas parciales, como una falla de enlace, una falla de Node o una falla en la unidad de almacenamiento. 
    Un sistema de archivos distribuido altamente auténtico y adaptable debe tener servidores de archivos diferentes e independientes para controlar dispositivos de almacenamiento diferentes e independientes.
  • Escalabilidad: 
    dado que hacer crecer la red agregando nuevas máquinas o uniendo dos redes es una rutina, el sistema distribuido inevitablemente crecerá con el tiempo. Como resultado, se debe construir un buen sistema de archivos distribuido para escalar rápidamente a medida que crece la cantidad de Nodes y usuarios en el sistema. El servicio no debe verse sustancialmente interrumpido a medida que crece la cantidad de Nodes y usuarios.
  • Alta confiabilidad:
    la probabilidad de pérdida de datos debe minimizarse tanto como sea posible en un sistema de archivos distribuido adecuado. Es decir, debido a la falta de fiabilidad del sistema, los usuarios no deben sentirse obligados a realizar copias de seguridad de sus archivos. Más bien, un sistema de archivos debe crear copias de seguridad de los archivos clave que se pueden usar si se pierden los originales. Muchos sistemas de archivos emplean almacenamiento estable como estrategia de alta confiabilidad.
  • Integridad de datos:
    Múltiples usuarios frecuentemente comparten un sistema de archivos. El sistema de archivos debe garantizar la integridad de los datos guardados en un archivo compartido. Es decir, las requests de acceso simultáneo de muchos usuarios que compiten por el acceso al mismo archivo deben sincronizarse correctamente mediante un método de control de concurrencia. Las transacciones atómicas son un mecanismo de gestión de concurrencia de alto nivel para la integridad de los datos que un sistema de archivos ofrece con frecuencia a los usuarios.
  • Seguridad: 
    un sistema de archivos distribuido debe ser seguro para que sus usuarios puedan confiar en que sus datos se mantendrán privados. Para salvaguardar la información contenida en el sistema de archivos de accesos no deseados y no autorizados, se deben implementar mecanismos de seguridad.
  • Heterogeneidad:
    la heterogeneidad en los sistemas distribuidos es inevitable como resultado de la gran escala. Los usuarios de sistemas distribuidos heterogéneos tienen la opción de utilizar múltiples plataformas informáticas para diferentes propósitos.

Historia :

El componente de servidor del sistema de archivos distribuidos se introdujo inicialmente como una característica adicional. Se agregó a Windows NT 4.0 Server y se conocía como «DFS 4.1». Posteriormente, se incluyó como un componente estándar para todas las ediciones de Windows 2000 Server. El soporte del lado del cliente se ha incluido en Windows NT 4.0 y también en versiones posteriores de Windows. 

Los núcleos de Linux 2.6.14 y versiones posteriores vienen con un VFS de cliente SMB conocido como «cifs» que admite DFS. Mac OS X 10.7 (león) y posteriores son compatibles con Mac OS X DFS.  

Aplicaciones: 

  • NFS:
    NFS significa Sistema de archivos de red. Es una arquitectura cliente-servidor que permite a un usuario de computadora ver, almacenar y actualizar archivos de forma remota. El protocolo de NFS es uno de los varios estándares de sistemas de archivos distribuidos para almacenamiento conectado a la red (NAS).
  • CIFS:
    CIFS significa Sistema de archivos comunes de Internet. CIFS es un acento de SMB. Es decir, CIFS es una aplicación del protocolo SIMB, diseñada por Microsoft.
  • SMB:
    SMB significa Bloque de mensajes del servidor. Es un protocolo para compartir un archivo y fue inventado por IMB. El protocolo SMB se creó para permitir que las computadoras realicen operaciones de lectura y escritura en archivos en un host remoto a través de una red de área local (LAN). Se puede acceder a los directorios presentes en el host remoto a través de SMB y se denominan «participaciones».
  • Hadoop:
    Hadoop es un grupo de servicios de software de código abierto. Brinda un marco de software para el almacenamiento distribuido y la operación de grandes datos utilizando el modelo de programación MapReduce. El núcleo de Hadoop contiene una parte de almacenamiento, conocida como Sistema de archivos distribuidos de Hadoop (HDFS), y una parte operativa que es un modelo de programación MapReduce.
  • NetWare:
    NetWare es un sistema operativo de red informática abandonado desarrollado por Novell, Inc. Utilizaba principalmente la multitarea combinada para ejecutar diferentes servicios en una computadora personal, utilizando el protocolo de red IPX.

Funcionamiento de DFS:

Hay dos formas en que se puede implementar DFS:

  • Espacio de nombres DFS independiente:
    permite solo aquellas raíces DFS que existen en la computadora local y no usan Active Directory. Un DFS independiente solo se puede adquirir en aquellas computadoras en las que se creó. No proporciona ninguna liberación de fallas y no se puede vincular a ningún otro DFS. Las raíces DFS independientes rara vez se encuentran debido a su ventaja limitada.
  • Espacio de nombres DFS basado en dominio:
    almacena la configuración de DFS en Active Directory, creando la raíz del espacio de nombres DFS accesible en \\<domainname>\<dfsroot> o \\<FQDN>\<dfsroot>

ventajas : 

  • DFS permite que múltiples usuarios accedan o almacenen los datos.
  • Permite que los datos se compartan de forma remota.
  • Mejoró la disponibilidad de archivos, el tiempo de acceso y la eficiencia de la red.
  • Se mejoró la capacidad de cambiar el tamaño de los datos y también se mejoró la capacidad de intercambiar los datos.
  • El sistema de archivos distribuido proporciona transparencia de los datos incluso si el servidor o el disco fallan.

Desventajas:

  • En el sistema de archivos distribuido, los Nodes y las conexiones deben protegerse, por lo que podemos decir que la seguridad está en juego.
  • Existe la posibilidad de pérdida de mensajes y datos en la red durante el movimiento de un Node a otro.
  • La conexión a la base de datos en el caso del sistema de archivos distribuido es complicada.
  • Además, el manejo de la base de datos no es fácil en el sistema de archivos distribuidos en comparación con un sistema de un solo usuario.
  • Hay posibilidades de que se produzca una sobrecarga si todos los Nodes intentan enviar datos a la vez.

Publicación traducida automáticamente

Artículo escrito por snigdha_yambadwar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *