Средство автомонтирования - это любая программа или средство программного обеспечения, которое автоматически монтирует файловые системы в ответ на операции доступа со стороны программ пользователя. Системная утилита автомонтирования (демон в Unix ) при получении уведомления о попытках доступа к файлам и каталогам в селективно контролируемых деревьях подкаталогов динамически и прозрачно делает доступными локальные или удаленные устройства.
Целью автомонтирования является сохранение ресурсов локальной системы и уменьшение связи между системами, которые совместно используют файловые системы с рядом серверов. Например, организация большого и среднего размера может иметь сотни файловых серверов и тысячи рабочих станций или других узлов, обращающихся к файлам с любого количества этих серверов в в любой момент. Обычно только относительно небольшое количество удаленных файловых систем (экспорт) будет активным на любом данном узле в любой момент времени. Отсрочка монтирования такой файловой системы до тех пор, пока процессу действительно не потребуется к ней доступ, снижает необходимость отслеживать такие монтирования, повышая надежность, гибкость и производительность.
Часто один или несколько файловых серверов становятся недоступными (недоступны для обслуживания, в удаленной и временно отключенной сети или доступны через перегруженный канал). Администраторы также часто считают необходимым переместить данные с одного файлового сервера на другой для решения проблем с емкостью и балансировки нагрузки. Автоматизация точек монтирования данных упрощает перенастройку клиентских систем в таких случаях.
Сочетание этих факторов создает проблемы для старых «статических» методов управления таблицами монтирования файловой системы (файлы fstab
в системах Unix). Утилиты Automounter решают эти проблемы и позволяют системным администраторам консолидировать и централизовать связи точек монтирования (имен каталогов) с экспортом. Если все сделано правильно, пользователи могут получать прозрачный доступ к файлам и каталогам, как если бы все их рабочие станции и другие узлы были подключены к единой файловой системе в масштабе предприятия.
Можно также использовать автомонтирующие средства для определения нескольких репозиториев для данных только для чтения; клиентские системы могут автоматически выбирать репозиторий для монтирования в зависимости от доступности, загрузки файлового сервера или близости к сети.
Многие предприятия будут иметь несколько файловых серверов, на которых размещаются домашние каталоги различных пользователей. Все рабочие станции и другие узлы, внутренние по отношению к таким организациям (обычно все те, которые находятся за общим межсетевым экраном, отделяющим их от Интернета ), будут настроены со службами автоматического монтирования, чтобы любой пользователь, входящий в любой узел, неявно запускает доступ к своему собственному домашнему каталогу, который, следовательно, монтируется в общей точке монтирования, такой как / home / user
. Это позволяет пользователям получать доступ к своим файлам из любого места на предприятии, что чрезвычайно полезно в средах UNIX, где пользователи могут часто вызывать команды на многих удаленных системах с помощью различных команд диспетчеризации заданий, таких как ssh
, telnet
, rsh
или rlogin
, или через протоколы X11 или VNC.
Очень распространенный локальный путь автомонтирования по умолчанию имеет форму / net / hostname / nfspath
, где hostname
- имя хоста удаленный компьютер, а nfspath
- это путь, который экспортируется через NFS на удаленном компьютере. Эта нотация обычно освобождает системного администратора от необходимости явно управлять каждым экспортированным путем через центральную карту автомонтирования.
В некоторых вычислительных средах на пользовательских рабочих станциях и вычислительных узлах не размещаются установки всего спектра программного обеспечения, к которому пользователи могут захотеть получить доступ. Системы могут быть "отображены" с минимальным или типичным сечением наиболее часто используемого программного обеспечения. Кроме того, в некоторых средах пользователям может потребоваться специализированный или случайный доступ к более старым версиям программного обеспечения (например, разработчикам может потребоваться исправление ошибок и регрессионное тестирование, или некоторым пользователям может потребоваться доступ к архивным данным с использованием устаревших инструментов).
Обычно организации предоставляют репозитории или «депо» такого программного обеспечения, готовые к установке по мере необходимости. Сюда также могут входить полные копии образов системы, с которых изначально установлены операционные системы на машинах, или доступные для восстановления любых системных файлов, которые могут быть повреждены в течение жизненного цикла машины.
Некоторое программное обеспечение может требовать довольно значительного дискового пространства или может подвергаться быстрой (возможно, внутренней) разработке. В таких случаях программное обеспечение может быть установлено и настроено для запуска непосредственно с файловых серверов.
В простейшем случае на файловом сервере хранятся данные и, возможно, скрипты, к которым может получить доступ любая система в среде. Однако определенные типы файлов (в частности, исполняемые двоичные файлы и разделяемые библиотеки) могут использоваться только определенными типами оборудования или определенными версиями определенных операционных систем.
Для подобных ситуаций утилиты автомонтирования обычно поддерживают некоторые средства «отображения» или «интерполяции» данных переменных в аргументы монтирования.
Например, организация со смесью систем Linux и Solaris может организовать размещение своих репозиториев пакетов программного обеспечения для каждой из них на общей файл-сервер с именами экспорта, такими как depot: / export / linux
и depot: / export / solaris
соответственно. Таким образом, у них могут быть каталоги для каждой из поддерживаемых версий ОС. Используя функции динамического изменения в своем устройстве автомонтирования, они могут затем настроить все свои системы так, чтобы любой администратор на любой машине на своем предприятии мог получить доступ к доступным обновлениям программного обеспечения в / software / updates
. Пользователь в системе Solaris найдет скомпилированные пакеты Solaris в папке / software
, а пользователь Linux найдет RPM, DEB, или другие пакеты для их конкретной версии ОС. Более того, у пользователя Solaris на рабочей станции SPARC его / software / updates
будет сопоставлен с соответствующим экспортом для архитектуры этой системы, в то время как пользователь Solaris на x86 ПК прозрачно найдет его каталог / software / updates
, содержащий пакеты, подходящие для его системы. Некоторое программное обеспечение (написанное на языках сценариев, таких как Perl или Python ) может быть установлено и / или запущено на любой поддерживаемой платформе без переноса, перекомпиляции или повторной упаковки любого вида. Системный администратор предположительно может найти такое программное обеспечение в экспорте / software / common
.
В некоторых случаях организации могут также использовать региональные или основанные на местоположении сопоставления переменных / динамических - так, чтобы пользователи в одном здании или объекте были направлены на ближайший файловый сервер, на котором размещены репликации ресурсов, размещенных на другом локации.
Во всех этих случаях утилиты автомонтирования позволяют пользователям получать доступ к файлам и каталогам независимо от их фактического физического расположения. Используя автомонтирование, пользователи и системные администраторы обычно могут получить доступ к файлам там, где они «должны быть», и обнаружить, что они там находятся.
Том Лайон разработал исходное программное обеспечение для автоматического монтирования в Sun Microsystems : SunOS 4.0 сделала автоматическое монтирование доступным в 1988 году. Sun Microsystems в конечном итоге лицензировала эту реализацию в другие коммерческие дистрибутивы UNIX. Solaris 2.0, впервые выпущенный в 1992 году, реализовал автоматическое монтирование с помощью псевдофайловой системы autofs
, которая взаимодействует с демоном пользовательского режима, выполняющим монтирование. Другие Unix-подобные системы приняли эту реализацию автомонтирования, включая AIX, HP-UX и Mac OS X 10.5 и позже.
В декабре 1989 года Ян-Саймон Пендри выпустил Amd, средство автоматического монтирования, «основанное на духе» программы автоматического монтирования SunOS. Amd также известен как Berkeley Automounter.
Linux имеет независимую реализацию автомонтирования на основе autofs; Версия 5 этого автомонтирования обычно совместима с автомонтирующим устройством Solaris.
FreeBSD используется для предоставления Amd; начиная с версии 10.1 в нем есть новый автомонтаж, очень похожий на Solaris. Впоследствии он был перенесен на DragonFly BSD и NetBSD.
. Некоторые операционные системы также поддерживают автоматическое подключение внешних дисков (например, дисковых накопителей или флэш-накопителей, использующих FireWire или USB соединения) и съемные носители (например, CD и DVD ). Эта технология отличается от описанного здесь автоматического монтажа; он включает в себя установку локальных носителей, когда пользователь присоединяет их к системе или вставляет их в систему, а не монтирование каталогов с удаленных файловых серверов, когда на них делается ссылка. В настоящее время Linux (начиная с Linux 2.6) использует программу пользовательского пространства udev для этой формы автоматического монтирования. Некоторые функции автоматического монтирования были реализованы в отдельной программе HAL, но с 2010 года они объединены в udev. OpenBSD имеет hotplugd (8), который запускает специальные сценарии при подключении или отсоединении съемных устройств, так что пользователь может легко добавить установку съемных дисков. В macOS diskarbitrationd
выполняет эту форму автоматического монтирования. В FreeBSD съемные носители могут обрабатываться автоматом монтирования, как и общие сетевые ресурсы.
Утилиты автоматического монтирования (и удаленные файловые системы в целом) могут обеспечить централизованно управляемый, согласованный и в значительной степени прозрачный доступ к службам хранения организации, у них также могут быть свои недостатки: