Автомонтировщик - это механизм, доступный большинству клиентов NFS. Широкое распространение получили две разновидности автомонтировщика: autofs и amd.

Реализация autofs (Automounter Filesystem) входит в состав Solaris и Linux, именно ее мы и рассмотрим в этом разделе. Демон amd (Automounter Daemon) доступен во многих вариантах Unix и входит в состав Linux, но не в Solaris. Подробная информация по amd содержится в книге «Ад- министрирование NFS и автомонтировщика в Linux» (Linux NFS and Automounter Administration), автором которой явлется Эрец Задок (Erez Zadok), текущий руководитель проекта amd. В этом разделе слова «автомонтировщик» и «демон автомонтировщика» относятся к версии autofs, поставляемой в составе Solaris 8.

Файлы настройки автомонтировщика называются картами. Для определения файловой системы в автомонтировщике используются три основных вида карт:

Главная карта Файл настройки, читаемый командой automount. В нем перечислены все другие карты, определяющие файловую систему autofs.

Прямая карта Файл настройки, хранящий сведения о точках монтирования, путях и параметрах файловых систем, подлежащих монтированию демоном automountd.

Косвенная карта Файл настройки, хранящий сведения о путях и «относительных» точках монтирования. Точки монтирования в данном случае определяются относительно пути, указанного в главной карте. Смысл применения косвенных карт станет понятен из приводимых далее примеров.

В системах Solaris запуск демона автомонтировщика (automountd) и выполнение команды automount происходит в сценарии /etc/init.d/autofs. Для запуска автомонтировщика служит аргумент сценария start, то есть выполняется команда autofs start. Аргумент stop позволяет завершить работу автомонтировщика. Команда automount и демон automountd - две самостоятельные программы. Демон automountd динамически монтирует файловые системы, когда возникает необходимость, automount обрабатывает файл autojnaster, чтобы определить, какие системы могут монтироваться динамически.


Чтобы воспользоваться автомонтировщиком, необходимо создать файл /etc/ auto master. Записи файла auto master имеют следующий формат:

точка-монтирования имя-карты параметры

В системе Solaris по умолчанию существует работоспособный файл automaster. Измените этот файл в соответствии с имеющейся конфигурацией. Закомментируйте запись +auto_master, если не используется NIS+ или NIS и ваши серверы не отвечают за распространение карты auto_master. Кроме того, не обращайте внимания на запись /xfn, относящуюся к интегрированным (составным) службам имен. Добавьте запись для собственной прямой карты. В данном примере эта карта называется auto_direct. Вот так выглядит файл

/etc/auto_master с нашими исправлениями:

 

# Master map for automounter # #+auto_master #/xfn -xfn /net -hosts -nosuid /home auto.home /- auto.direct

Символ решетки (#) начинает строки комментариев, в частности строки +auto_master и /xfn, которые мы закомментировали. Первая рабочая запись в данном файле указывает, что файловые системы, предлагаемые каждым из серверов NFS, перечисленных в файле /etc/hosts, монтируются автоматически в иерархии каталога /net. Для каждого сервера в каталоге /net создается подкаталог - в качестве имени используется имя узла сервера. Предположим, что сервер jerboas упоминается в файле hosts и экспортирует каталог /usr/local. Описанная запись autojnaster автоматически делает этот удаленный каталог доступным на локальном узле под именем /net/jerboas/usr/local.

Вторая запись автоматически монтирует исходные каталоги, перечисленные в карте /etc/auto Jiome, в иерархии каталога /home. Файл /etc/autosome, используемый по умолчанию, поставляется с системой Solaris. Закомментируйте запись +auto_home в стандартном файле. Она используется только в случаях, когда применяется NIS+ или NIS и на ваших серверах доступна централизованно обновляемая карта autojiome. Добавьте записи исходных каталогов отдельных пользователей либо всех исходных каталогов отдельных серверов. Измененная карта auto_home выглядит так:


# Home directory map for automounter
#
#+auto_home
craig    crab:/export/home/craig
*    horseshoe:/export/home/&

Первая запись монтирует файловую систему /export/home/craig с узла crab в локальной точке /home/craig. Карта auto_home является косвенной, поэтому указанная точка монтирования (craig) определяется относительно точки монтирования /home, определенной в карте auto master. Вторая запись монтирует все исходные каталоги из файловой системы /export/home с узла horseshoe в «аналогичных» точках монтирования на локальном узле. Предположим, что на узле horseshoe существует два исходных каталога, /export/ home/daniel и /export/home/kristin. Автомонтировщик делает эти каталоги доступными на локальном узле под именами /home/daniel и /home/kristin. Звездочка (*) и амперсанд (&) - специальные символы, используемые для достижения описанных целей в картах autofs.

С картой autojiome мы закончили. Взглянем снова на карту autojmaster. Третья и последняя запись файла /etc/autojnaster выглядит так:

/-    autojlirect

Эту запись мы добавили для прямой карты. Специальная точка монтирования /- говорит о том, что имя, указанное в этой строке, является именем прямой карты. Следовательно, действительные точки монтирования обозначены в файле прямой карты. Файл прямой карты мы назвали /etc/auto_di red. По умолчанию такого файла нет, так что его придется создать с нуля. Мы создали следующий файл:

#    Direct map for automounter
#
/home/research -rw jerboas:/home/research
/usr/man    -ro.soft horseshoe,crab,jerboas:/usr/share/ma

Формат записей файла прямой карты:

точка-монтирования параметры удаленная файловая система

Созданный файл содержит две типичных записи. Первая запись монтирует удаленную файловую систему /home/research с сервера jerboas в локальной точке /home/research. При монтировании устанавливается режим доступа чтение/запись. Вторая запись монтирует страницы руководства в режиме только чтения с «мягким» интервалом ожидания. Обратите внимание, что для страниц руководства представлен целый список из трех серверов, имена в котором разделены запятыми. Если сервер недоступен либо не ответил в установленный интервал ожидания, клиент обращается к следующему серверу из списка. Это одна из приятных возможностей автомонтировщика.

Автомонтировщик имеет четыре ключевых возможности: карта -hosts, создание масок, автоматическое монтирование, опрос серверов по списку. Карта -hosts делает доступными локальному пользователю все файловые системы, экспортированные всеми серверами, упомянутыми в файле /etc/hosts. Специальные символы максимально упрощают монтирование целых наборов каталогов с удаленного сервера в каталоги локальной файловой системы с похожими именами. Автоматическое монтирование идеально подходит к этим двум возможностям, поскольку монтируются только те файловые системы, которые используются. Возможности -hosts и специальных символов позволяют получить доступ к очень большому числу файловых систем, однако автоматическое монтирование позволяет монтировать только файловые системы, непосредственно участвующие в работе. Последняя возможность - списки серверов - повышает надежность NFS, снимая зависимость от единственного сервера.