Sistema de archivos Andrew
El Andrew File System (AFS) es un sistema de archivos distribuido que utiliza un conjunto de servidores confiables para presentar un espacio de nombres de archivos homogéneo y transparente a la ubicación a todos los estaciones de trabajo del cliente. Fue desarrollado por la Universidad Carnegie Mellon como parte del Proyecto Andrew. Originalmente llamado "Vice", "Andrew" se refiere a Andrew Carnegie y Andrew Mellon. Su uso principal es en informática distribuida.
Características
AFS tiene varios beneficios sobre los sistemas de archivos en red tradicionales, particularmente en las áreas de seguridad y escalabilidad. Una implementación empresarial de AFS en Morgan Stanley supera los 25.000 clientes. 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 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. 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 nuevamente al 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 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 la 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 del Proyecto Andrew, Andrew Message System, se utiliza un único archivo por mensaje, como maildir, en lugar de un único archivo por buzón, como mbox. Consulte AFS y problemas de E/S almacenadas en 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ífico 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 asignada una cuota 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 en ese volumen.
Los volúmenes 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 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 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 archivos 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 de Sun Microsystems' popular sistema de archivos de red (NFS). Además, la Open Software Foundation adoptó una variante de AFS, el sistema de archivos distribuido (DFS) DCE en 1989 como parte de su entorno de computación distribuida. 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 una fuente publicada por Transarc (IBM) en 2000. El software Transarc quedó obsoleto y perdió soporte. Arla fue una implementación independiente de AFS desarrollada en el Real Instituto de Tecnología de Estocolmo a finales de los años 1990 y principios de los 2000.
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. Comprometida por Red Hat, se trata de una implementación bastante simple que aún está incompleta en enero de 2013.
Permisos disponibles
Se pueden otorgar los siguientes permisos de Lista de control de acceso (ACL):
- Lookup (l)
- permite a un usuario enumerar los contenidos del directorio AFS, examinar el ACL asociado con el directorio y los subdirectorios de acceso.
- Inciso i)
- permite a un usuario añadir nuevos archivos o subdirectorios al directorio.
- Suprimir d)
- permite al usuario eliminar archivos y subdirectorios del directorio.
- Administrador a)
- permite que un usuario cambie el ACL para el directorio. Los usuarios siempre tienen este derecho en su directorio de inicio, incluso si se eliminan accidentalmente del ACL.
Los permisos que afectan a archivos y subdirectorios incluyen:
- Leer (r)
- permite a un usuario ver el contenido de los archivos en un directorio y listar archivos en subdirectorios. Los archivos que deben ser concedidos para leer el acceso a cualquier usuario, incluido el propietario, necesitan tener el conjunto de permisos estándar UNIX "owner read".
- Escriba (w)
- permite a un usuario modificar archivos en un directorio. Los archivos que deben ser concedidos acceso de escritura a cualquier usuario, incluido el propietario, necesitan tener el conjunto de permisos estándar UNIX "propietario escribe".
- Cierre k)
- permite al procesador ejecutar programas que necesitan "bloquear" archivos en el directorio.
Además, AFS incluye ACL de aplicaciones (A)-(H) que no tienen ningún efecto en el acceso a los archivos.
Contenido relacionado
Saber Bhatia
Subtipado
Tejas y Jayhawk