stringtranslate.com

Sistema de archivos agrupado

Un sistema de archivos en clúster ( CFS ) es un sistema de archivos que se comparte al montarse simultáneamente en varios servidores . Existen varios enfoques para la agrupación en clústeres , la mayoría de los cuales no emplean un sistema de archivos en clúster (solo almacenamiento adjunto directo para cada nodo). Los sistemas de archivos en clúster pueden proporcionar características como direccionamiento independiente de la ubicación y redundancia que mejoran la confiabilidad o reducen la complejidad de las otras partes del clúster. Los sistemas de archivos paralelos son un tipo de sistema de archivos en clúster que distribuye datos entre múltiples nodos de almacenamiento, generalmente por motivos de redundancia o rendimiento. [1]

Sistema de archivos de disco compartido

Un sistema de archivos de disco compartido utiliza una red de área de almacenamiento (SAN) para permitir que varias computadoras obtengan acceso directo al disco a nivel de bloque . El control de acceso y la traducción de las operaciones a nivel de archivo que utilizan las aplicaciones a las operaciones a nivel de bloque utilizadas por la SAN deben realizarse en el nodo cliente. El tipo más común de sistema de archivos en clúster, el sistema de archivos de disco compartido, al agregar mecanismos para el control de concurrencia  , proporciona una vista consistente y serializable del sistema de archivos, evitando la corrupción y la pérdida de datos no deseada incluso cuando varios clientes intentan acceder a los mismos archivos. al mismo tiempo. Los sistemas de archivos de disco compartido comúnmente emplean algún tipo de mecanismo de protección para evitar la corrupción de datos en caso de fallas de los nodos, porque un dispositivo no protegido puede causar corrupción de datos si pierde la comunicación con sus nodos hermanos e intenta acceder a la misma información a la que acceden otros nodos. .

La red de área de almacenamiento subyacente puede utilizar cualquiera de varios protocolos a nivel de bloque, incluidos SCSI , iSCSI , HyperSCSI , ATA sobre Ethernet (AoE), Fibre Channel , dispositivo de bloque de red e InfiniBand .

Existen diferentes enfoques arquitectónicos para un sistema de archivos de disco compartido. Algunos distribuyen información de archivos entre todos los servidores de un clúster (completamente distribuidos). [2]

Ejemplos

Sistemas de archivos distribuidos

Los sistemas de archivos distribuidos no comparten acceso a nivel de bloque al mismo almacenamiento, sino que utilizan un protocolo de red . [3] [4] Estos se conocen comúnmente como sistemas de archivos de red , aunque no son los únicos sistemas de archivos que utilizan la red para enviar datos. [5] Los sistemas de archivos distribuidos pueden restringir el acceso al sistema de archivos según las listas de acceso o las capacidades tanto de los servidores como de los clientes, según cómo esté diseñado el protocolo.

La diferencia entre un sistema de archivos distribuido y un almacén de datos distribuido es que un sistema de archivos distribuido permite acceder a los archivos utilizando las mismas interfaces y semántica que los archivos locales (por ejemplo, montaje/desmontaje, listado de directorios, lectura/escritura en límites de bytes, modelo de permisos nativo del sistema. Los almacenes de datos distribuidos, por el contrario, requieren el uso de una API o biblioteca diferente y tienen una semántica diferente (generalmente la de una base de datos). [6]

Objetivos de diseño

Los sistemas de archivos distribuidos pueden aspirar a la "transparencia" en varios aspectos. Es decir, pretenden ser "invisibles" para los programas cliente, que "ven" un sistema similar a un sistema de archivos local. Detrás de escena, el sistema de archivos distribuido se encarga de localizar archivos, transportar datos y potencialmente proporcionar otras funciones que se enumeran a continuación.

Historia

El sistema de tiempo compartido incompatible utilizó dispositivos virtuales para el acceso transparente al sistema de archivos entre máquinas en la década de 1960. En la década de 1970 se desarrollaron más servidores de archivos. En 1976, Digital Equipment Corporation creó File Access Listener (FAL), una implementación del Protocolo de acceso a datos como parte de DECnet Phase II, que se convirtió en el primer sistema de archivos de red ampliamente utilizado. En 1984, Sun Microsystems creó el sistema de archivos llamado " Sistema de archivos de red " (NFS), que se convirtió en el primer sistema de archivos de red basado en protocolo de Internet ampliamente utilizado . [4] Otros sistemas de archivos de red notables son Andrew File System (AFS), Apple Filing Protocol (AFP), NetWare Core Protocol (NCP) y Server Message Block (SMB), que también se conoce como Common Internet File System (CIFS).

En 1986, IBM anunció soporte de cliente y servidor para la Arquitectura de gestión de datos distribuidos (DDM) para las computadoras centrales System/36 , System/38 y IBM que ejecutan CICS . A esto le siguió el soporte para IBM Personal Computer , AS/400 , mainframes IBM con los sistemas operativos MVS y VSE y FlexOS . DDM también se convirtió en la base de la arquitectura de bases de datos relacionales distribuidas , también conocida como DRDA.

Existen muchos protocolos de red peer-to-peer para sistemas de archivos distribuidos de código abierto para sistemas de archivos en clúster de código cerrado o en la nube, por ejemplo: 9P , AFS , Coda , CIFS/SMB , DCE/DFS , WekaFS, [7] Lustre , PanFS, [8] Sistema de archivos de Google , Mnet, Proyecto Chord .

Ejemplos

Almacenamiento conectado a la red

El almacenamiento conectado a la red (NAS) proporciona almacenamiento y un sistema de archivos, como un sistema de archivos de disco compartido encima de una red de área de almacenamiento (SAN). NAS normalmente utiliza protocolos basados ​​en archivos (a diferencia de los protocolos basados ​​en bloques que usaría una SAN), como NFS (popular en sistemas UNIX ), SMB/CIFS ( Bloque de mensajes del servidor/Sistema de archivos común de Internet ) (usado con sistemas MS Windows) , AFP (usado con computadoras Apple Macintosh ) o NCP (usado con OES y Novell NetWare ).

Consideraciones de diseño

Evitar un único punto de falla

La falla del hardware del disco o de un nodo de almacenamiento determinado en un clúster puede crear un único punto de falla que puede resultar en la pérdida o indisponibilidad de los datos. Se puede proporcionar tolerancia a fallas y alta disponibilidad mediante la replicación de datos de un tipo u otro, de modo que los datos permanezcan intactos y disponibles a pesar de la falla de cualquier pieza del equipo. Para ver ejemplos, consulte las listas de sistemas de archivos distribuidos tolerantes a fallas y sistemas de archivos distribuidos paralelos tolerantes a fallas .

Actuación

Una medida de rendimiento común de un sistema de archivos en clúster es la cantidad de tiempo necesario para satisfacer las solicitudes de servicio. En los sistemas convencionales, este tiempo consiste en un tiempo de acceso al disco y una pequeña cantidad de tiempo de procesamiento de la CPU . Pero en un sistema de archivos agrupado, un acceso remoto tiene una sobrecarga adicional debido a la estructura distribuida. Esto incluye el tiempo para entregar la solicitud a un servidor, el tiempo para entregar la respuesta al cliente y, para cada dirección, una sobrecarga de CPU para ejecutar el software del protocolo de comunicación .

concurrencia

El control de concurrencia se convierte en un problema cuando más de una persona o cliente accede al mismo archivo o bloque y desea actualizarlo. Por lo tanto, las actualizaciones del archivo desde un cliente no deberían interferir con el acceso y las actualizaciones de otros clientes. Este problema es más complejo con los sistemas de archivos debido a escrituras superpuestas simultáneas, donde diferentes escritores escriben simultáneamente en regiones superpuestas del archivo. [9] Este problema generalmente se soluciona mediante control de concurrencia o bloqueo que puede estar integrado en el sistema de archivos o proporcionado mediante un protocolo complementario.

Historia

Los mainframes de IBM en la década de 1970 podían compartir discos físicos y sistemas de archivos si cada máquina tuviera su propio canal de conexión a las unidades de control de las unidades. En la década de 1980, los clústeres TOPS-20 y OpenVMS de Digital Equipment Corporation (VAX/ALPHA/IA64) incluían sistemas de archivos de disco compartido. [10]

Ver también

Referencias

  1. ^ Saify, Amina; Kochhar, Garima; Hsieh, Jenwei; Celebioglu, Onur (mayo de 2005). "Mejora de los clústeres informáticos de alto rendimiento con sistemas de archivos paralelos" (PDF) . Soluciones de energía de Dell . Dell Inc. Consultado el 6 de marzo de 2019 .
  2. ^ Mokadem, Riad; Litwin, Witold; Schwarz, Thomas (2006). "Copia de seguridad de disco mediante firmas algebraicas en estructuras de datos distribuidas escalables" (PDF) . DEXA 2006 Springer . Consultado el 8 de junio de 2006 .
  3. ^ Silberschatz, Abraham; Galvin, Pedro; Gagne, Greg (2009). "Conceptos de sistemas operativos, octava edición" (PDF) . Universidad de Babilonia . John Wiley & Sons, Inc. págs. 705–725. Archivado desde el original (PDF) el 6 de marzo de 2019 . Consultado el 4 de marzo de 2019 .
  4. ^ ab Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014), Sistema de archivos de red de Sun (PDF) , Libros Arpaci-Dusseau
  5. ^ Sandberg, Russel (1986). "El sistema de archivos Sun Network: diseño, implementación y experiencia" (PDF) . Actas de la conferencia técnica y exposición de USENIX del verano de 1986 . Sun Microsystems, Inc. Consultado el 6 de marzo de 2019 . NFS fue diseñado para simplificar el intercambio de recursos del sistema de archivos en una red de máquinas no homogéneas.
  6. ^ Sobh, Tarek (2008). Avances en Ciencias e Ingeniería Informática y de la Información . Medios de ciencia y negocios de Springer. págs. 423–440. Código Bib : 2008acis.book.....S.
  7. ^ "Sistemas de archivos distribuidos Weka (DFS)". weka.io. ​2021-04-27 . Consultado el 12 de octubre de 2023 .
  8. ^ "Sistema de archivos paralelo PanFS". panasas.com . Consultado el 12 de octubre de 2023 .
  9. ^ Pesaj, Yaniv (2013). Almacenamiento distribuido: conceptos, algoritmos e implementaciones . ISBN 978-1482561043
  10. ^ Murphy, Dan (1996). "Orígenes y desarrollo de TOPS-20". Dan Murphy. Planes ambiciosos para Júpiter . Consultado el 6 de marzo de 2019 . Al final, tanto VMS como TOPS-20 ofrecieron este tipo de capacidad.

Otras lecturas