Un automontador es cualquier programa o software que monta automáticamente sistemas de archivos en respuesta a las operaciones de acceso de los programas de usuario. Una utilidad del sistema de automontaje ( un demonio en Unix ), al detectar intentos de acceso a archivos y directorios en árboles de subdirectorios supervisados selectivamente, permite el acceso a dispositivos locales o remotos de forma dinámica y transparente.
El automontador tiene como objetivo conservar los recursos del sistema local y reducir el acoplamiento entre sistemas que comparten sistemas de archivos con varios servidores. Por ejemplo, una organización de tamaño mediano a grande podría tener cientos de servidores de archivos y miles de estaciones de trabajo u otros nodos que acceden a archivos de cualquiera de esos servidores en cualquier momento. Normalmente, solo un número relativamente pequeño de sistemas de archivos remotos ( exportaciones ) estarán activos en un nodo determinado en un momento dado. Retrasar el montaje de dicho sistema de archivos hasta que un proceso realmente necesite acceder a él reduce la necesidad de realizar un seguimiento de dichos montajes, lo que aumenta la fiabilidad, la flexibilidad y el rendimiento.
Con frecuencia, uno o más servidores de archivos se vuelven inaccesibles (por mantenimiento, por estar en una red remota temporalmente desconectada o por una conexión saturada). Los administradores también suelen necesitar reubicar datos de un servidor de archivos a otro para solucionar problemas de capacidad y equilibrar la carga. La automatización de los puntos de montaje de datos facilita la reconfiguración de los sistemas cliente en estos casos.
Estos factores, en conjunto, plantean desafíos a los métodos de gestión "estáticos" tradicionales de las tablas de montaje del sistema de archivos (los fstabarchivos en sistemas Unix). Las utilidades de automontaje abordan estos desafíos y permiten a los administradores de sistemas consolidar y centralizar las asociaciones de puntos de montaje (nombres de directorio) con las exportaciones. Si se implementa correctamente, los usuarios pueden acceder de forma transparente a archivos y directorios como si todas sus estaciones de trabajo y otros nodos estuvieran conectados a un único sistema de archivos empresarial.
También se pueden utilizar automontadores para definir varios repositorios para datos de solo lectura; los sistemas cliente pueden elegir automáticamente qué repositorio montar en función de la disponibilidad, la carga del servidor de archivos o la proximidad en la red.
Directorios de inicio
Varias empresas tendrán varios servidores de archivos que alojan los directorios personales de los distintos usuarios. Todas las estaciones de trabajo y otros nodos internos de dichas organizaciones (normalmente todos los que se encuentran detrás de un cortafuegos común que los separa de Internet ) estarán configurados con servicios de automontaje para que cualquier usuario que inicie sesión en cualquier nodo active implícitamente el acceso a su propio directorio personal que, en consecuencia, se monta en un punto de montaje común, como . Esto permite a los usuarios acceder a sus propios archivos desde cualquier lugar de la empresa, lo cual es útil en entornos UNIX, donde los usuarios pueden invocar con frecuencia comandos en varios sistemas remotos a través de varios comandos de distribución de trabajos como , , o , o a través de los protocolos X11 o VNC ./home/usersshtelnetrshrlogin
/neto
Una ruta local de automontaje predeterminada muy común tiene el formato donde es el nombre de host de la máquina remota y es la ruta que se exporta a través de NFS en la máquina remota. Esta notación generalmente libera al administrador del sistema de tener que gestionar cada ruta exportada explícitamente a través de un mapa de automontaje central. Esta función se deshabilitó de forma predeterminada en macOS después de que se descubrió que permitía eludir Gatekeeper . [ 1 ]/net/hostname/nfspathhostnamenfspath
Repositorios y recursos compartidos de software
En algunos entornos informáticos, las estaciones de trabajo y los nodos de computación no incluyen todas las instalaciones de software que los usuarios podrían necesitar. Los sistemas pueden estar configurados con una selección mínima o representativa del software más utilizado. Asimismo, en algunos entornos, los usuarios pueden requerir acceso especializado u ocasional a versiones anteriores del software (por ejemplo, los desarrolladores pueden necesitar corregir errores y realizar pruebas de regresión , o algunos usuarios pueden necesitar acceder a datos archivados utilizando herramientas obsoletas).
Por lo general, las organizaciones proporcionan repositorios o "depósitos" de este tipo de software, listos para su instalación cuando sea necesario. Estos también pueden incluir copias completas de las imágenes del sistema a partir de las cuales se instalan inicialmente los sistemas operativos de las máquinas, o bien, estar disponibles para la reparación de cualquier archivo del sistema que pueda dañarse durante el ciclo de vida de una máquina.
Algunos programas pueden requerir un espacio de almacenamiento considerable o estar en fase de desarrollo rápido (quizás interno). En esos casos, el software puede instalarse y configurarse para ejecutarse directamente desde los servidores de archivos.
Montajes automáticos con variación dinámica
En el caso más sencillo, un servidor de archivos almacena datos y, posiblemente, scripts a los que puede acceder cualquier sistema del entorno. Sin embargo, ciertos tipos de archivos (en particular, binarios ejecutables y bibliotecas compartidas) solo pueden ser utilizados por tipos específicos de hardware o versiones específicas de sistemas operativos.
Para situaciones como esta, las utilidades de automontaje generalmente admiten algún método para "mapear" o "interpolar" datos variables en los argumentos de montaje.
Por ejemplo, una organización con una combinación de sistemas Linux y Solaris podría organizar el alojamiento de sus repositorios de paquetes de software para cada uno en un servidor de archivos común utilizando nombres de exportación como depot:/export/linuxy depot:/export/solarisrespectivamente. Debajo de estos, podrían tener directorios para cada una de las versiones del sistema operativo que admiten. Utilizando las funciones de variación dinámica en su automontador, podrían configurar todos sus sistemas para que cualquier administrador en cualquier máquina de su empresa pudiera acceder a las actualizaciones de software disponibles en /software/updates. Un usuario en un sistema Solaris encontraría los paquetes compilados de Solaris en /software, mientras que un usuario de Linux encontraría RPM , DEB u otros paquetes para su versión particular del sistema operativo en . Además, un usuario de Solaris en una estación de trabajo SPARC tendría su /software/updatesmapeado a una exportación apropiada para la arquitectura de ese sistema, mientras que un usuario de Solaris en una PC x86 encontraría de forma transparente su /software/updatesdirectorio con paquetes adecuados para su sistema. Algunos programas (escritos en lenguajes de scripting como Perl o Python ) se pueden instalar y/o ejecutar en cualquier plataforma compatible sin portabilidad, recompilación ni reempaquetado de ningún tipo. Un administrador de sistemas podría, en teoría, encontrar dicho software en una /software/commonexportación.
En algunos casos, las organizaciones también pueden utilizar asignaciones variables/dinámicas basadas en la región o la ubicación , de modo que los usuarios de un edificio o emplazamiento sean dirigidos a un servidor de archivos más cercano que aloje réplicas de los recursos alojados en otras ubicaciones.
En todos estos casos, las utilidades de automontaje permiten a los usuarios acceder a archivos y directorios sin importar su ubicación física real. Mediante un automontador, los usuarios y los administradores de sistemas suelen acceder a los archivos donde se supone que deben estar y comprueban que, aparentemente, se encuentran allí.
Software
Tom Lyon desarrolló el software de automontaje original en Sun Microsystems : SunOS 4.0 hizo que el automontaje estuviera disponible en 1988. [ 2 ] Sun Microsystems finalmente licenció esta implementación a otras distribuciones UNIX comerciales. Solaris 2.0, lanzado por primera vez en 1992, implementó su automontador con un sistema de archivos sintético llamado autofs, que se comunica con un demonio en modo de usuario que realiza montajes. [ 3 ] [ 4 ] Otros sistemas tipo Unix han adoptado esa implementación del automontador, incluidos AIX , HP-UX y Mac OS X 10.5 y posteriores.
En diciembre de 1989, Jan-Simon Pendry lanzó Amd , un automontador "basado en espíritu" en el programa automount de SunOS. [ 5 ] Amd también se ha dado a conocer como el Berkeley Automounter .
Linux cuenta con una implementación independiente de un automontador basado en autofs; la versión 5 de dicho automontador generalmente funciona de forma compatible con el automontador de Solaris.
FreeBSD solía proporcionar Amd ; a partir de la versión 10.1 tiene un nuevo automontador muy similar al de Solaris. [ 6 ] Posteriormente se ha portado a DragonFly BSD [ 7 ] y NetBSD . [ 8 ]
Algunos sistemas operativos también admiten el montaje automático de unidades externas (como discos duros o unidades flash que utilizan conexiones FireWire o USB ) y medios extraíbles (como CD y DVD ). Esta tecnología difiere del automontaje descrito aquí; implica el montaje de medios locales cuando el usuario los conecta o inserta en el sistema, en lugar de montar directorios de servidores de archivos remotos cuando se hace referencia a ellos. Linux actualmente (a partir de Linux 2.6) utiliza el programa de espacio de usuario udev para esta forma de automontaje. Algunas funciones de automontaje se han implementado en el programa separado HAL , pero a partir de 2010se están integrando en udev. OpenBSD tiene hotplugd(8) que activa scripts especiales al conectar o desconectar dispositivos extraíbles, de modo que el usuario pueda agregar fácilmente el montaje de unidades extraíbles. En macOS, diskarbitrationdrealiza esta forma de montaje automático. En FreeBSD , el medio extraíble puede ser gestionado por el automontador, al igual que los recursos compartidos de red. [ 9 ] [ 10 ]
Desventajas y advertencias
Si bien las utilidades de automontaje (y los sistemas de archivos remotos en general) pueden proporcionar un acceso gestionado de forma centralizada, coherente y en gran medida transparente a los servicios de almacenamiento de una organización, también pueden tener sus inconvenientes:
- El acceso a los directorios montados automáticamente puede provocar retrasos mientras el sistema de montaje automático resuelve la asignación y monta la exportación en su lugar.
- Los tiempos de espera agotados pueden provocar el desmontaje de directorios montados (situación que posteriormente puede ocasionar retrasos en el montaje al intentar acceder de nuevo).
- La asignación del punto de montaje a los argumentos de exportación se suele realizar a través de algún servicio de directorio como LDAP o NIS , lo que constituye otra dependencia (un posible punto de fallo).
- Cuando algunos sistemas requieren acceso frecuente a ciertos recursos, mientras que otros solo necesitan acceso ocasional, esto puede causar problemas difíciles o imposibles a la hora de implementar una combinación coherente y a nivel empresarial de directorios "replicados" (o duplicados) locales y directorios montados automáticamente.
- Cuando se migran datos de un servidor de archivos (exportación) a otro, puede haber un número indeterminado de sistemas que, por diversas razones, aún tengan un montaje activo en la ubicación anterior (" montajes NFS obsoletos "); esto puede causar problemas que incluso pueden requerir el reinicio de hosts que, de otro modo, serían perfectamente estables.
- Las organizaciones pueden descubrir que han creado una maraña de asignaciones, lo que puede implicar una considerable carga de gestión y, en ocasiones, bastante confusión entre usuarios y administradores.
- Los usuarios pueden acostumbrarse tanto a la transparencia de los recursos montados automáticamente que descuidan algunas de las diferencias en la semántica de acceso que pueden aplicarse a los sistemas de archivos en red, en comparación con los dispositivos montados localmente. En particular, los programadores pueden intentar usar técnicas de "bloqueo" que son seguras y proporcionan las garantías de atomicidad deseadas en los sistemas de archivos locales, pero que, según la documentación, son inherentemente vulnerables a condiciones de carrera cuando se usan en NFS.
Referencias
- ↑ Filippo Cavallarin (24 de mayo de 2019). "Elusión de GateKeeper en macOS X" .
- ↑ Callaghan, Brent (2000) [1999]. NFS Illustrated . Addison-Wesley . págs. 322–323 . ISBN 0-201-32570-5. Consultado el 23 de diciembre de 2007 .
- ↑ Callaghan, Brent; Singh, Satinder (21-25 de junio de 1993). El automontador Autofs . Conferencia técnica de verano de USENIX de 1993. Cincinnati, Ohio.
- ↑ Labiaga, Ricardo (7–12 de noviembre de 1999). Mejoras al automontador Autofs . 1999 LISA XIII. Seattle, Washington.
- ↑ Jan-Simon Pendry (1989-12-01). "''Amd'' - Un automontador" . Grupo de noticias : comp.unix.wizards . Recuperado el 23 de diciembre de 2007 .
- ↑ Edward Tomasz Napierała (30 de julio de 2014). "Autofs" (PDF) . Archivado (PDF) del original el 7 de junio de 2021.
- ↑ Tomohiro Kusumi (2016-06-02). "git: autofs: Port autofs from FreeBSD" . commits@dragonflybsd.org (Lista de correo). DragonFly BSD . Recuperado el 13 de noviembre de 2019 .
- ↑ "Nuevo automontador" . Wiki de NetBSD . Archivado del original el 7 de junio de 2021.
- ↑ "Manual de FreeBSD, sección 17.4.2. Montaje automático de medios extraíbles" . Archivado del original el 7 de junio de 2021.
- ↑ Dickison, Anne (13 de marzo de 2015). "FreeBSD desde las trincheras: uso de autofs(5) para montar medios extraíbles" . Fundación FreeBSD . Archivado del original el 7 de junio de 2021. Recuperado el 13 de noviembre de 2019 .
- Software de Sun Microsystems
- Gestión de redes
- Administración del sistema