fbpx
Wikipedia

Andrew File System

El Andrew File System (Sistema de archivos Andrew), o AFS[1]​ es un sistema de archivos distribuido a través de la red que fue desarrollado como parte del proyecto Andrew por la Universidad Carnegie Mellon.[2]​ Su nombre proviene de Andrew Carnegie y Andrew Mellon. Es utilizado fundamentalmente en entornos de computación distribuida.

Ventajas

  • Mayor disponibilidad: La interrupción en una o más máquinas del sistema AFS no implica que un archivo no se encuentre disponible. Archivos populares, como archivos binarios, se almacenan en muchas máquinas, permitiendo acceder a ellos sin importar si se produce una interrupción en alguna máquina. En su lugar, las solicitudes de los usuarios para el programa se enrutan a máquinas accesibles. En un sistema de archivos centralizado no distribuido, la pérdida o interrupción de la máquina donde se almacenan los archivos implica la no disponibilidad de estos.
  • Mayor eficiencia: En un sistema de archivos distribuido, la carga de trabajo se distribuye entre muchas máquinas, a diferencia de un sistema de archivos convencional, donde la carga de trabajo la absorbe un único servidor.

Características

  • AFS[3]​ tiene varios beneficios sobre los sistemas de archivos en red tradicionales, en particular en áreas de seguridad y escalabilidad. Es frecuente que los despliegues de AFS en empresas lleguen a tener más de 25.000 clientes.[4]​ AFS usa Kerberos como mecanismo de autenticación, e implementa listas de control de acceso en directorios para usuarios y grupos. Cada cliente mantiene una caché en el sistema de archivos local para aumentar la velocidad de acceso a los archivos. Esto también permite el acceso limitado al sistema de archivos en el caso de caída del servidor o un fallo de red.
  • AFS utiliza el modelo de baja consistencia.[5]​ En AFS los archivos son cacheados bajo demanda en las estaciones locales, las cuales son lo suficientemente grandes como para almacenar un gran número de archivos.
  • La estrategia en la que se basa la utilización de estas cachés se fundamenta en un uso normal de archivos. Donde por norma general un usuario suele tratar con archivos pequeños, de acceso secuencial y en modo lectura.
  • De igual modo hay que resaltar que las bases de datos son el único tipo de archivo que debido a su concurrencia y continua actualización por parte de los usuarios se excluyen del diseño de AFS.
  • Las funciones que contiene el sistema se distribuyen en diversos servidores para agregar reedundancia y tolerancia a fallos.
  • Los datos que se guardan se pueden mover a través de los servidores de forma transparente al usuario, siempre y cuando estos estén activos.
  • Mientras el sistema esté activo, los servidores que componen al sistema pueden ser conectados o desconectados.
  • Es fácil que el sistema se pueda adaptar a diversas personas por su flexibilidad.
  • El sistema presenta algunos medios para controlar el acceso a los documentos.
  • Es posible duplicar los archivos almacenados para generar mayor redundancia.
  • Puede utilizar la autenticación Kerberos para identificar a los usuarios y otorgar acceso a los archivos.
  • La autenticación de los usuarios siempre es un proceso encriptado.
  • Es posible que el contenido de los archivos se encripte si así se desea.

Funcionamiento básico

  1. Cuando un usuario en un equipo cliente realiza una llamada open para la obtención de un archivo compartido y no hay una copia actual de dicho archivo en la caché local, el servidor que contiene el archivo lo busca y le envía una copia del mismo.
  2. La copia se almacena en el sistema local de la máquina cliente para posteriormente abrirse y devolver un descriptor a la aplicación del cliente.
  3. Se realizan las operaciones de lectura, escritura y/u otras operaciones posteriores en el archivo, las cuales se aplicarán a la copia local.
  4. Cuando el proceso en el cliente emite una llamada close, si la copia local ha sido actualizada sus contenidos se envían de vuelta al servidor. El servidor por su parte actualiza el archivo y las marcas de tiempo y mantiene la copia en el disco local del cliente por si se realiza una nueva solicitud del archivo.

Arquitectura

La arquitectura de AFS está implementada como dos componentes software, Vice y Venus, y la red que las comunica.

  • Vice: servicio software que se ejecuta como un proceso Unix a nivel de usuario en la parte del servidor.
  • Venus: proceso de usuario que actúa en la parte del cliente.
 


Volumen de archivos

 

Una característica importante de AFS es el volumen, un árbol de archivos y subdirectorios. Los volúmenes los crean los administradores y los enlazan con una ruta específica en una celda AFS. Una vez ha sido creado, los usuarios del sistema de archivos pueden crear directorios y archivos de manera normal sin tener en cuenta donde se encuentra físicamente el volumen. Un volumen puede tener una cuota asignada para limitar la cantidad de espacio consumido. Según las necesidades, los administradores de AFS pueden mover ese volumen a otro servidor y otra localización en disco sin la necesidad de notificar a los usuarios de dicho cambio; de hecho esta operación puede realizarse mientras se están usando los archivos dentro del volumen.

Los volúmenes pueden ser replicados para copias de respaldo de sólo lectura. Cuando se accede a archivos en un volumen de sólo lectura, un sistema cliente obtendrá datos de una copia de sólo lectura particular. Si en algún punto esa copia deja de estar disponible, el cliente buscará otra de las copias restantes. De nuevo, los usuarios de esos datos se despreocupan sobre la localización física de esta copia; los administradores pueden crear y recolocar tales copias según las necesidades. La suite de comandos AFS garantiza que todos los volúmenes de sólo lectura contienen copias iguales del volumen original de lectura-escritura en el momento que se creó la copia de sólo lectura.

El espacio de nombres de archivos en una estación de trabajo Andrew es particionada en dos espacios: el espacio de nombre compartido y el local. El espacio de nombres compartido es idéntico en todas las estaciones y se encuentra bajo el directorio “/cmu”. Por otra parte, el espacio local es único para cada estación. Contiene archivos temporales necesarios para la inicialización de la estación y enlaces simbólicos a los archivos que se encuentran en el espacio de nombres compartido.

Sistema de llamadas

El sistema de llamadas se fundamenta en el uso de llamadas del tipo "callback" y "callback promise" entre Venus y Vice para la transferencia de archivos entre el servidor y los clientes.

 

Cuando Vice proporciona una copia de un archivo a Venus también le proporciona una callback promise, la cual es un token emitido por el servidor Vice que almacena el archivo y garantiza que notificará al proceso Venus cuando cualquier otro cliente modifique el archivo.

Las variables callback promise son almacenadas junto con los archivos en la caché del equipo cliente y tienen dos estados: válido o cancelado. Cuando un servidor realiza una solicitud para actualizar un archivo, notifica a todos los procesos Venus que actualmente tienen callback promises mediante el envío de una llamada callback para que establezcan su token (callback promise) a estado cancelado. Por otra parte si Vice sirve el archivo a Venus el estado de callback promise sería valido.

Cada vez que Venus realiza un open de un archivo en el cliente busca si dicho archivo se encuentra en cache y en caso afirmativo verificar su token. Si el valor del token es cancelado se debe obtener una nueva copia del archivo. Pero si el token es válido, entonces la copia en caché se puede abrir y usar sin hacer referencia a Vice.

Si un cliente falla, se reinicia o sufre un apagado Venus puede retener tantos archivos de caché como admita el disco local, pero no puede saber si los valores de las callback promise siguen siendo válidos. De modo, que antes de acceder a cada uno de los archivos que contiene en caché debe validar con cada servidor que contiene dicho archivo la marca de tiempo de modificación de cada uno de ellos. De esta forma se puede saber que si la marca de tiempo es la actual debe restablecer el valor del token a válido. Si por el contrario la marca de tiempo es inferior, implica que el archivo está desactualizado y el servidor responderá con el valor del token a cancelado.

Implementaciones

Hay tres grandes implementaciones de AFS: Transarc (IBM), OpenAFS y Arla, aunque Transarc ya no tiene soporte y está desatendido. AFS (versión dos) también es el predecesor del sistema de archivos Coda.

Existe una cuarta implementación en el código fuente de Linux desde la versión 2.6.10.[6]​ Enviada por Red Hat, es una implementación muy sencilla que todavía se encuentra en las primeras fases de desarrollo y por tanto incompleta a fecha de enero de 2013.[7]

AFS vs Sistema de archivos convencional

Un sistema de archivos distribuido de tipo AFS tiene dos ventajas principales sobre un sistema de archivos centralizado convencional:

  • Mayor disponibilidad: La interrupción en una o más máquinas del sistema AFS no implica que un archivo no se encuentre disponible. Archivos populares, como archivos binarios, se almacenan en muchas máquinas, permitiendo acceder a ellos sin importar si se produce una interrupción en alguna máquina. En su lugar, las solicitudes de los usuarios para el programa se enrutan a máquinas accesibles. En un sistema de archivos centralizado no distribuido, la pérdida o interrupción de la máquina donde se almacenan los archivos implica la no disponibilidad de estos.
  • Mayor eficiencia: En un sistema de archivos distribuido, la carga de trabajo se distribuye entre muchas máquinas, a diferencia de un sistema de archivos convencional, donde la carga de trabajo la absorbe un único servidor.

AFS vs NFS

AFS difiere notablemente de NFS en su diseño e implementación, principalmente a la identificación de la escalabilidad como el objetivo de diseño más importante. AFS está diseñado para funcionar bien con un mayor número de usuario activos que otros sistemas de archivos distribuidos. La estrategia clave para lograr la escalabilidad es el almacenamiento en caché de archivos completos en nodos de clientes.

Referencias

  1. Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014), Operating Systems: Three Easy Pieces [The Andrew File System (AFS)], Arpaci-Dusseau Books .
  2. What is Andrew el 9 de septiembre de 2011 en Wayback Machine. - part of CMU's official site chronicling the history of the Andrew Project.
  3. Howard, J.H., Kazar, M.L., Nichols, S.G., Nichols, D.A., Satyanarayanan, M., Sidebotham, R.N., & West, M.J. (febrero de 1988). «Scale and Performance in a Distributed File System». ACM Transactions on Computer Systems 6 (1): 51-81. doi:10.1145/35037.35059. 
  4. http://www-conf.slac.stanford.edu/AFSBestPractices/Slides/MorganStanley.pdf
  5. Yaniv Pessach (2013), Distributed Storage (Distributed Storage: Concepts, Algorithms, and Implementations edición), Amazon .
  6. Linux kernel AFS documentation for 2.6.10 (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
  7. Linux kernel AFS documentation for the latest kernel version

Enlaces externos

  •   Datos: Q504669
  1. George Coulouris. Distributed Systems: Concepts and Design. Pearson (1709). ISBN 0132143011. 
  2. «Tema 6 - Sistemas de archivos». 

andrew, file, system, sistema, archivos, andrew, sistema, archivos, distribuido, través, desarrollado, como, parte, proyecto, andrew, universidad, carnegie, mellon, nombre, proviene, andrew, carnegie, andrew, mellon, utilizado, fundamentalmente, entornos, comp. El Andrew File System Sistema de archivos Andrew o AFS 1 es un sistema de archivos distribuido a traves de la red que fue desarrollado como parte del proyecto Andrew por la Universidad Carnegie Mellon 2 Su nombre proviene de Andrew Carnegie y Andrew Mellon Es utilizado fundamentalmente en entornos de computacion distribuida Indice 1 Ventajas 2 Caracteristicas 3 Funcionamiento basico 4 Arquitectura 5 Volumen de archivos 6 Sistema de llamadas 7 Implementaciones 8 AFS vs Sistema de archivos convencional 9 AFS vs NFS 10 Referencias 11 Enlaces externosVentajas EditarMayor disponibilidad La interrupcion en una o mas maquinas del sistema AFS no implica que un archivo no se encuentre disponible Archivos populares como archivos binarios se almacenan en muchas maquinas permitiendo acceder a ellos sin importar si se produce una interrupcion en alguna maquina En su lugar las solicitudes de los usuarios para el programa se enrutan a maquinas accesibles En un sistema de archivos centralizado no distribuido la perdida o interrupcion de la maquina donde se almacenan los archivos implica la no disponibilidad de estos Mayor eficiencia En un sistema de archivos distribuido la carga de trabajo se distribuye entre muchas maquinas a diferencia de un sistema de archivos convencional donde la carga de trabajo la absorbe un unico servidor Caracteristicas EditarAFS 3 tiene varios beneficios sobre los sistemas de archivos en red tradicionales en particular en areas de seguridad y escalabilidad Es frecuente que los despliegues de AFS en empresas lleguen a tener mas de 25 000 clientes 4 AFS usa Kerberos como mecanismo de autenticacion e implementa listas de control de acceso en directorios para usuarios y grupos Cada cliente mantiene una cache en el sistema de archivos local para aumentar la velocidad de acceso a los archivos Esto tambien permite el acceso limitado al sistema de archivos en el caso de caida del servidor o un fallo de red AFS utiliza el modelo de baja consistencia 5 En AFS los archivos son cacheados bajo demanda en las estaciones locales las cuales son lo suficientemente grandes como para almacenar un gran numero de archivos La estrategia en la que se basa la utilizacion de estas caches se fundamenta en un uso normal de archivos Donde por norma general un usuario suele tratar con archivos pequenos de acceso secuencial y en modo lectura De igual modo hay que resaltar que las bases de datos son el unico tipo de archivo que debido a su concurrencia y continua actualizacion por parte de los usuarios se excluyen del diseno de AFS Las funciones que contiene el sistema se distribuyen en diversos servidores para agregar reedundancia y tolerancia a fallos Los datos que se guardan se pueden mover a traves de los servidores de forma transparente al usuario siempre y cuando estos esten activos Mientras el sistema este activo los servidores que componen al sistema pueden ser conectados o desconectados Es facil que el sistema se pueda adaptar a diversas personas por su flexibilidad El sistema presenta algunos medios para controlar el acceso a los documentos Es posible duplicar los archivos almacenados para generar mayor redundancia Puede utilizar la autenticacion Kerberos para identificar a los usuarios y otorgar acceso a los archivos La autenticacion de los usuarios siempre es un proceso encriptado Es posible que el contenido de los archivos se encripte si asi se desea Funcionamiento basico EditarCuando un usuario en un equipo cliente realiza una llamada open para la obtencion de un archivo compartido y no hay una copia actual de dicho archivo en la cache local el servidor que contiene el archivo lo busca y le envia una copia del mismo La copia se almacena en el sistema local de la maquina cliente para posteriormente abrirse y devolver un descriptor a la aplicacion del cliente Se realizan las operaciones de lectura escritura y u otras operaciones posteriores en el archivo las cuales se aplicaran a la copia local Cuando el proceso en el cliente emite una llamada close si la copia local ha sido actualizada sus contenidos se envian de vuelta al servidor El servidor por su parte actualiza el archivo y las marcas de tiempo y mantiene la copia en el disco local del cliente por si se realiza una nueva solicitud del archivo Arquitectura EditarLa arquitectura de AFS esta implementada como dos componentes software Vice y Venus y la red que las comunica Vice servicio software que se ejecuta como un proceso Unix a nivel de usuario en la parte del servidor Venus proceso de usuario que actua en la parte del cliente Volumen de archivos Editar Una caracteristica importante de AFS es el volumen un arbol de archivos y subdirectorios Los volumenes los crean los administradores y los enlazan con una ruta especifica en una celda AFS Una vez ha sido creado los usuarios del sistema de archivos pueden crear directorios y archivos de manera normal sin tener en cuenta donde se encuentra fisicamente el volumen Un volumen puede tener una cuota asignada para limitar la cantidad de espacio consumido Segun las necesidades los administradores de AFS pueden mover ese volumen a otro servidor y otra localizacion en disco sin la necesidad de notificar a los usuarios de dicho cambio de hecho esta operacion puede realizarse mientras se estan usando los archivos dentro del volumen Los volumenes pueden ser replicados para copias de respaldo de solo lectura Cuando se accede a archivos en un volumen de solo lectura un sistema cliente obtendra datos de una copia de solo lectura particular Si en algun punto esa copia deja de estar disponible el cliente buscara otra de las copias restantes De nuevo los usuarios de esos datos se despreocupan sobre la localizacion fisica de esta copia los administradores pueden crear y recolocar tales copias segun las necesidades La suite de comandos AFS garantiza que todos los volumenes de solo lectura contienen copias iguales del volumen original de lectura escritura en el momento que se creo la copia de solo lectura El espacio de nombres de archivos en una estacion de trabajo Andrew es particionada en dos espacios el espacio de nombre compartido y el local El espacio de nombres compartido es identico en todas las estaciones y se encuentra bajo el directorio cmu Por otra parte el espacio local es unico para cada estacion Contiene archivos temporales necesarios para la inicializacion de la estacion y enlaces simbolicos a los archivos que se encuentran en el espacio de nombres compartido Sistema de llamadas EditarEl sistema de llamadas se fundamenta en el uso de llamadas del tipo callback y callback promise entre Venus y Vice para la transferencia de archivos entre el servidor y los clientes Cuando Vice proporciona una copia de un archivo a Venus tambien le proporciona una callback promise la cual es un token emitido por el servidor Vice que almacena el archivo y garantiza que notificara al proceso Venus cuando cualquier otro cliente modifique el archivo Las variables callback promise son almacenadas junto con los archivos en la cache del equipo cliente y tienen dos estados valido o cancelado Cuando un servidor realiza una solicitud para actualizar un archivo notifica a todos los procesos Venus que actualmente tienen callback promises mediante el envio de una llamada callback para que establezcan su token callback promise a estado cancelado Por otra parte si Vice sirve el archivo a Venus el estado de callback promise seria valido Cada vez que Venus realiza un open de un archivo en el cliente busca si dicho archivo se encuentra en cache y en caso afirmativo verificar su token Si el valor del token es cancelado se debe obtener una nueva copia del archivo Pero si el token es valido entonces la copia en cache se puede abrir y usar sin hacer referencia a Vice Si un cliente falla se reinicia o sufre un apagado Venus puede retener tantos archivos de cache como admita el disco local pero no puede saber si los valores de las callback promise siguen siendo validos De modo que antes de acceder a cada uno de los archivos que contiene en cache debe validar con cada servidor que contiene dicho archivo la marca de tiempo de modificacion de cada uno de ellos De esta forma se puede saber que si la marca de tiempo es la actual debe restablecer el valor del token a valido Si por el contrario la marca de tiempo es inferior implica que el archivo esta desactualizado y el servidor respondera con el valor del token a cancelado Implementaciones EditarHay tres grandes implementaciones de AFS Transarc IBM OpenAFS y Arla aunque Transarc ya no tiene soporte y esta desatendido AFS version dos tambien es el predecesor del sistema de archivos Coda Existe una cuarta implementacion en el codigo fuente de Linux desde la version 2 6 10 6 Enviada por Red Hat es una implementacion muy sencilla que todavia se encuentra en las primeras fases de desarrollo y por tanto incompleta a fecha de enero de 2013 7 AFS vs Sistema de archivos convencional EditarUn sistema de archivos distribuido de tipo AFS tiene dos ventajas principales sobre un sistema de archivos centralizado convencional Mayor disponibilidad La interrupcion en una o mas maquinas del sistema AFS no implica que un archivo no se encuentre disponible Archivos populares como archivos binarios se almacenan en muchas maquinas permitiendo acceder a ellos sin importar si se produce una interrupcion en alguna maquina En su lugar las solicitudes de los usuarios para el programa se enrutan a maquinas accesibles En un sistema de archivos centralizado no distribuido la perdida o interrupcion de la maquina donde se almacenan los archivos implica la no disponibilidad de estos Mayor eficiencia En un sistema de archivos distribuido la carga de trabajo se distribuye entre muchas maquinas a diferencia de un sistema de archivos convencional donde la carga de trabajo la absorbe un unico servidor AFS vs NFS EditarAFS difiere notablemente de NFS en su diseno e implementacion principalmente a la identificacion de la escalabilidad como el objetivo de diseno mas importante AFS esta disenado para funcionar bien con un mayor numero de usuario activos que otros sistemas de archivos distribuidos La estrategia clave para lograr la escalabilidad es el almacenamiento en cache de archivos completos en nodos de clientes Referencias Editar Arpaci Dusseau Remzi H Arpaci Dusseau Andrea C 2014 Operating Systems Three Easy Pieces The Andrew File System AFS Arpaci Dusseau Books What is Andrew Archivado el 9 de septiembre de 2011 en Wayback Machine part of CMU s official site chronicling the history of the Andrew Project Howard J H Kazar M L Nichols S G Nichols D A Satyanarayanan M Sidebotham R N amp West M J febrero de 1988 Scale and Performance in a Distributed File System ACM Transactions on Computer Systems 6 1 51 81 doi 10 1145 35037 35059 http www conf slac stanford edu AFSBestPractices Slides MorganStanley pdf Yaniv Pessach 2013 Distributed Storage Distributed Storage Concepts Algorithms and Implementations edicion Amazon Linux kernel AFS documentation for 2 6 10 enlace roto disponible en Internet Archive vease el historial la primera version y la ultima Linux kernel AFS documentation for the latest kernel version George Coulouris Distributed Systems Concepts and Design Pearson 1709 1 Rodrigo Santamaria Apuntes Sistemas Distribuidos Universidad de Salamanca 2 E Tista Garcia Sistemas de Archivos Distribuidos Universidad Nacional Autonoma de Mexico Facultad de Ingenieria Ciudad de Mexico 2021 Techipedia En linea Available http www techopedia com definition 11029 andrewfile system afs openAFS openafs org openAFS En linea Available http docs openafs org UserGuide HDRWQ2 html Header 9 BrainKart En linea Available https www brainkart com article Case Study TheAndrew File System AFS 8546 Enlaces externos EditarEsta obra contiene una traduccion derivada de Andrew File System de Wikipedia en ingles publicada por sus editores bajo la Licencia de documentacion libre de GNU y la Licencia Creative Commons Atribucion CompartirIgual 3 0 Unported Grand Central Comunidad de recursos para usuarios de AFS en ingles OpenAFS en ingles Datos Q504669 George Coulouris Distributed Systems Concepts and Design Pearson 1709 ISBN 0132143011 Tema 6 Sistemas de archivos Obtenido de https es wikipedia org w index php title Andrew File System amp oldid 143917558, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos