El archivo del sistema Andrew ( AFS ) es un sistema de archivos distribuido que utiliza un conjunto de servidores de confianza para presentar un espacio de nombres de archivo de localización transparente homogénea a todas las estaciones de trabajo cliente. Fue desarrollado por la Universidad Carnegie Mellon como parte del Proyecto Andrew . [1] Originalmente llamado "Vice", [2] AFS lleva el nombre de Andrew Carnegie y Andrew Mellon . Su uso principal es la informática distribuida .
Características
AFS [3] tiene varios beneficios 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 usa 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 solo a la copia en caché local. Cuando se cierra un archivo modificado, las partes modificadas se vuelven a copiar en el servidor de archivos. La coherencia de la caché se mantiene mediante un mecanismo de devolución de llamada . Cuando un archivo se almacena en caché, el servidor toma nota de esto 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 de cliente, servidor o red, incluido un tiempo de espera. El restablecimiento de 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 o actualización 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 universitario. Por ejemplo, en el sistema de correo electrónico original para Andrew Project, 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 en una ruta con nombre específica en una celda AFS. Una vez creado, los usuarios del sistema de archivos pueden crear directorios y archivos como de costumbre sin preocuparse por la ubicación física del volumen. Un volumen puede tener una cuota asignada 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 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 no está 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 contienen copias exactas del volumen original de lectura y escritura en el momento en que se creó la copia de solo lectura.
El espacio de nombre de archivo en una estación de trabajo Andrew se divide en un espacio de nombre local y compartido . El espacio de nombre 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 para 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.
Andrew File System tuvo una gran influencia en la versión 4 del popular Network File System (NFS) de Sun Microsystems . Además, una variante de AFS, el Sistema de archivos distribuido (DFS), fue adoptado por la Open Software Foundation en 1989 como parte de su Entorno de computación distribuida . Finalmente AFS (versión dos) es el predecesor del sistema de archivos Coda .
Implementaciones
Hay cuatro implementaciones principales. OpenAFS se creó a partir de la fuente publicada por Transarc ( IBM ) en 2000. [6] El software Transarc ahora está en desuso y está perdiendo soporte. Arla es una implementación independiente del sistema de archivos distribuido AFS desarrollado en el Royal Institute of Technology de Estocolmo .
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. [7] Comprometida por Red Hat , esta es una implementación bastante simple que aún se encuentra en sus primeras etapas de desarrollo y, por lo tanto, está incompleta en enero de 2013.[actualizar]. [8]
Permisos disponibles
Se pueden otorgar 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 a un usuario cambiar 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 al usuario mirar el contenido de los archivos en un directorio y listar archivos en subdirectorios. Los archivos a los que se les otorgará acceso de lectura a cualquier usuario, incluido el propietario, deben tener establecido el permiso de "lectura del propietario" estándar de UNIX.
- Escribir (w)
- permite a un usuario modificar archivos en un directorio. Los archivos a los que se les otorgará acceso de escritura a cualquier usuario, incluido el propietario, deben tener establecido el permiso de "escritura del propietario" estándar de UNIX.
- Bloqueo (k)
- permite al procesador ejecutar programas que necesitan " agrupar " archivos en el directorio.
Además, AFS incluye aplicaciones ACL (A) - (H) que no tienen ningún efecto sobre el acceso a los archivos.
Ver también
- Sistema de archivos global
Referencias
- ^ Qué es Andrew Archivado el 9 de septiembre de 2011 en Wayback Machine , parte del sitio oficial de CMU que narra la historia del Proyecto Andrew .
- ^ Garfinkel, Simson L. (mayo-junio de 1989). "Ondas en el mercado académico" (PDF) . Revisión de tecnología . págs. 9-13 . Consultado el 25 de enero de 2016 .
- ^ Howard, JH; Kazar, ML; Nichols, SG; Nichols, DA; Satyanarayanan, M .; Sidebotham, RN & West, MJ (febrero de 1988). "Escala y rendimiento en un sistema de archivos distribuido". Transacciones ACM en sistemas informáticos . 6 (1): 51–81. CiteSeerX 10.1.1.71.5072 . doi : 10.1145 / 35037.35059 .
- ^ Moore, Phillip (2004). "Cuando su negocio depende de él: la evolución de un sistema de archivos global para una empresa global" (PDF) .
- ^ Yaniv Pessach (2013), Almacenamiento distribuido ( Almacenamiento distribuido: Conceptos, algoritmos e implementaciones ed.), Amazon, OL 25423189M
- ^ Abriendo AFS
- ^ Documentación de AFS del kernel de Linux para 2.6.10
- ^ "LXR linux / Documentation / filesystems / afs.txt" . linux.no . 1 de agosto de 2012. Archivado desde el original el 1 de agosto de 2012 . Consultado el 23 de abril de 2018 .
enlaces externos
- OpenAFS
- Arla
Otras lecturas
- El sistema de archivos Andrew (2014), Arpaci-Dusseau, Remzi H .; Arpaci-Dusseau, Andrea C .; Libros Arpaci-Dusseau