stringtranslate.com

Sistema de archivos de Andrew

El sistema de archivos Andrew ( AFS ) es un sistema de archivos distribuido que utiliza un conjunto de servidores de confianza para presentar un espacio de nombres de archivos homogéneo y transparente en cuanto a ubicación a todas las estaciones de trabajo cliente. Fue desarrollado por la Universidad Carnegie Mellon como parte del Proyecto Andrew . [1] Originalmente llamado "Vice", [2] "Andrew" hace referencia a Andrew Carnegie y Andrew Mellon . Su uso principal es en computación distribuida .

Características

AFS [3] tiene varias ventajas sobre los sistemas de archivos en red tradicionales , particularmente en las áreas de seguridad y escalabilidad. Una implementación de AFS empresarial en Morgan Stanley supera los 25.000 clientes. [4] AFS utiliza Kerberos para la autenticación e implementa listas de control de acceso en directorios para usuarios y grupos. Cada cliente almacena en caché los archivos en el sistema de archivos local para aumentar la velocidad en las solicitudes posteriores del mismo archivo. Esto también permite un acceso limitado al sistema de archivos en caso de una falla del servidor o una interrupción de la red .

AFS utiliza el modelo de consistencia débil . [5] Las operaciones de lectura y escritura en un archivo abierto se dirigen únicamente a la copia almacenada en caché local. Cuando se cierra un archivo modificado, las partes modificadas se copian de nuevo al servidor de archivos. La consistencia de la caché se mantiene mediante un mecanismo de devolución de llamada . Cuando se almacena un archivo en caché, el servidor toma nota de ello y promete informar al cliente si alguien más actualiza el archivo. Las devoluciones de llamada se descartan y deben restablecerse después de cualquier falla del cliente, servidor o red, incluido un tiempo de espera. Restablecer una devolución de llamada implica una verificación de estado y no requiere volver a leer el archivo en sí.

Una consecuencia de la estrategia de bloqueo de archivos es que AFS no admite grandes bases de datos compartidas ni actualizaciones de registros dentro de archivos compartidos entre sistemas cliente. Esta fue una decisión de diseño deliberada basada en las necesidades percibidas del entorno informático de la universidad. Por ejemplo, en el sistema de correo electrónico original para el Proyecto Andrew, el Andrew Message System, se utiliza un solo archivo por mensaje, como maildir , en lugar de un solo archivo por buzón, como mbox . Consulte AFS y problemas de E/S con búfer para manejar bases de datos compartidas.

Una característica importante de AFS es el volumen , un árbol de archivos, subdirectorios y puntos de montaje de AFS (enlaces a otros volúmenes de AFS). Los administradores crean los volúmenes y los vinculan a una ruta específica con nombre en una celda de AFS. Una vez creados, los usuarios del sistema de archivos pueden crear directorios y archivos como de costumbre sin preocuparse por la ubicación física del volumen. Se puede asignar una cuota a un volumen para limitar la cantidad de espacio consumido. Según sea necesario, los administradores de AFS pueden mover ese volumen a otro servidor y ubicación de disco sin necesidad de notificar a los usuarios; la operación puede ocurrir incluso mientras se utilizan los archivos de ese volumen.

Los volúmenes de AFS se pueden replicar en copias clonadas de solo lectura. Al acceder a archivos en un volumen de solo lectura, un sistema cliente recuperará datos de una copia de solo lectura en particular. Si en algún momento esa copia deja de estar disponible, los clientes buscarán cualquiera de las copias restantes. Nuevamente, los usuarios de esos datos desconocen la ubicación de la copia de solo lectura; los administradores pueden crear y reubicar dichas copias según sea necesario. El conjunto de comandos de AFS garantiza que todos los volúmenes de solo lectura contengan copias exactas del volumen de lectura y escritura original en el momento en que se creó la copia de solo lectura.

El espacio de nombres de archivo en una estación de trabajo Andrew está dividido en un espacio de nombres compartido y local . El espacio de nombres compartido (normalmente montado como /afs en el sistema de archivos Unix) es idéntico en todas las estaciones de trabajo. El espacio de nombres local es exclusivo de cada estación de trabajo. Solo contiene archivos temporales necesarios para la inicialización de la estación de trabajo y enlaces simbólicos a archivos en el espacio de nombres compartido.

El sistema de archivos Andrew influyó mucho en la versión 4 del popular sistema de archivos de red (NFS) de Sun Microsystems . Además, una variante de AFS, el sistema de archivos distribuido (DFS) DCE , fue adoptado por la Open Software Foundation en 1989 como parte de su entorno informático distribuido . Finalmente, AFS (versión dos) fue el predecesor del sistema de archivos Coda .

Implementaciones

Además del original, se desarrollaron algunas otras implementaciones. OpenAFS se creó a partir de la fuente publicada por Transarc ( IBM ) en 2000. [6] El software de Transarc quedó obsoleto y perdió el soporte. [ ¿Cuándo? ] Arla fue una implementación independiente de AFS desarrollada en el Instituto Real de Tecnología de Estocolmo a fines de la década de 1990 y principios de la década de 2000. [7] [8]

Existe una cuarta implementación de un cliente AFS en el código fuente del kernel de Linux desde al menos la versión 2.6.10. [9] Comprometida por Red Hat , esta es una implementación bastante simple aún incompleta a enero de 2024. [ 10]

Permisos disponibles

Se pueden conceder los siguientes permisos de lista de control de acceso (ACL):

Búsqueda (l)
permite a un usuario enumerar el contenido del directorio AFS, examinar la ACL asociada con el directorio y acceder a los subdirectorios.
Insertar (i)
permite a un usuario agregar nuevos archivos o subdirectorios al directorio.
Eliminar (d)
permite a un usuario eliminar archivos y subdirectorios del directorio.
Administrar (a)
Permite que un usuario cambie la ACL del directorio. Los usuarios siempre tienen este derecho en su directorio de inicio, incluso si se eliminan accidentalmente de la ACL.

Los permisos que afectan a los archivos y subdirectorios incluyen:

Leer (r)
permite a un usuario ver el contenido de los archivos de un directorio y enumerar los archivos de los subdirectorios. Los archivos a los que se les concederá acceso de lectura a cualquier usuario, incluido el propietario, deben tener configurado el permiso estándar de UNIX "lectura del propietario".
Escribe (w)
Permite que un usuario modifique archivos en un directorio. Los archivos a los que se les otorgará acceso de escritura a cualquier usuario, incluido el propietario, deben tener configurado el permiso estándar de UNIX "escritura del propietario".
Bloqueo (k)
permite al procesador ejecutar programas que necesitan " agrupar " archivos en el directorio.

Además, AFS incluye ACL de aplicación (A)-(H) que no tienen ningún efecto en el acceso a los archivos.

Véase también

Referencias

  1. ^ ¿ Qué es Andrew? Archivado el 9 de septiembre de 2011 en Wayback Machine - parte del sitio oficial de CMU que relata la historia del Proyecto Andrew .
  2. ^ Garfinkel, Simson L. (mayo-junio de 1989). "Ondas en el mercado académico" (PDF) . Technology Review . págs. 9-13 . Consultado el 25 de enero de 2016 .
  3. ^ Howard, JH; Kazar, ML; Nichols, SG; Nichols, DA; Satyanarayanan, M.; Sidebotham, RN y West, MJ (febrero de 1988). "Escala y rendimiento en un sistema de archivos distribuido". ACM Transactions on Computer Systems . 6 (1): 51–81. CiteSeerX 10.1.1.71.5072 . doi :10.1145/35037.35059. S2CID  52848606. 
  4. ^ Moore, Phillip (2004). "Cuando su negocio depende de ello: la evolución de un sistema de archivos global para una empresa global" (PDF) .
  5. ^ Yaniv Pessach (2013), Almacenamiento distribuido (Almacenamiento distribuido: conceptos, algoritmos e implementaciones ed.), Amazon, OL  25423189M
  6. ^ Abriendo AFS
  7. ^ Assar Westerlund y Johan Danielsson (1998). "Arla: un cliente AFS gratuito". Actas de la USENIX de 1998, Freenix Track . CiteSeerX 10.1.1.16.1360 . 
  8. ^ Magnus Ahltorp, Love Hörnquist-Åstrand y Assar Westerlund (2000). "Porting the Arla file system to Windows NT". Taller sobre gestión y administración de entornos distribuidos . CiteSeerX 10.1.1.512.9570 . 
  9. ^ Documentación de AFS del kernel de Linux para 2.6.10
  10. ^ "Documentación de AFS del kernel de Linux para 6.7.1". linux.no . 7 de enero de 2024 . Consultado el 11 de mayo de 2024 .

Enlaces externos

Lectura adicional