Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
эта страница доступна на следующих языках: English  Castellano  Deutsch  Francais  Nederlands  Russian  Turkce  


автор Frédéric Raynal

Об авторе:
Frédéric Raynal работает над диссертацией в области компьютерной науки в INRIA. Любит читать (от Tolkien до Balzac) и слушать музыку (от Mozart до Philip Glass и от Led Zeppelin до Massive Attack или Bjцrk и Boris Vian, но не rap или techno ;-)
Содержание:

automount и autofs

Резюме:

Сочетание automount и autofs дает прекрасный инструмент для управления файловыми системами. С их помощью можно использовать различные файловые системы одного и того же компьютера.



Введение

В зависимости от физического устройства (hard disks, floppies, cdrom, ...) и/или ОС запись данных осуществляется разными способами - мы это называем файловой системой (надеюсь эксперты простят меня за такое краткое объяснение). В файле /etc/fstab перечислены точки жесткого монтирования в момент загрузки системы. Каждая запись содержит именно точку монтирования и файловую систему (например один из разделов вашего жесткого диска). Позже, в процессе работы, для осуществления монтирования необходимо обладать привилегией root. Обычный пользователь не наделен (к счастью;-) подобными правами.

Mount и fstab man pages содержат более точную и подробную информацию об этом.

Оба инструмента (и automount, и autofs) предоставляют администратору возможность сконфигурировать доступ к файловым системам так же, как и команда mount, что позже позволит пользователю использовать их.

Описание

Взаимодействие automount и autofs можно рассматривать с точки зрения технологии клиент/сервер. Сервер ожидает запрос, при получении которого дублирует сам себя - одна копия отвечает на поступивший запрос, а другая ждет следующего.

autofs вvполняет роль ожидающего сервера, а automount является одной из копий.

 

autofs

Обычно autofs запускают при загрузке и завершают работу при выключении или перезагрузке. Но это не мешает администратору запустить или выключить это приложение "вручную".

Для autofs доступны 4 опции :

  1. start :
  2.  запускает процесс. При старте autofs анализирует "maps" (определяют точки монтирования) в файле /etc/auto.master. Затем autofs запускает automount для каждой точки монтирования и наконец анализирует NIS maps.
  3. stop :  останавливает autofs и все automounts ;
  4. status :  отображает текущую конфигурацию и запущенные automounts ;
  5. reload :  перечитывает auto.master map, уничтожает закрытые automounts и запускает вновь определенные. Следует заметить, что изменения сделанные в maps принимаются во внимание в следующем действии. С другой стороны изменения, сделанные в auto.master вызывают перезагрузку autofs.

Если кратко - autofs - скрипт, запускающий automounts в соответствии с файлом auto.master.  

automount

automout работает с определенной точки монтирования (которую находит autofs) и в соответствии с заданными для нее свойствами в map. map содержит информацию для команды mount для автоматического монтирования файловой системы, которое происходит при попытке доступа.

Автоматическое "размонтирование" происходит при истечении определенного неактивного промежутка времени (по умолчанию - 5 минут).

Настройка

Настройка осуществляется с помощью двух файлов. В первом (auto.master) перечислены точки монтирования, а во втором их системные опции.  

/etc/auto.master

Здесь мы рассмотрим maps формата Sun.

Это главный файл для autofs. Каждая строка содержит точку монтирования и ссылку на файл с описанием монтируемой файловой системы. Последнее поле каждой строки - передаваемые опции.

Синтаксис  :
точка-монтирования map [опции-монтирования-разделенные-запятой]

Пример :
/home /etc/auto.home
/misc /etc/auto.misc --timeout 60
/mnt yp:mnt.map -intr,nosuid,nodev

Здесь осуществляется настройка трех точек - /home, /misc и /mnt. Для доступа к файлам в /misc - обратиться к файлу /etc/auto.misc для опций монтирования.
В последних двух строках содержатся передаваемые опции. Они в общем стандартные и подробно рассматриваются в mount man page. Из последней строки можно сделать вывод о полной совместимости autofs и automount с yellow pages maps (NIS).

 

Automount's maps

Синтаксис этого файла аналогичен auto.master (в общем-то это тот же самый map ;-) :
ключ [опции-монтирования-разделенные-запятой] расположение

Ключ определяет идентификатор монтируемой файловой системы. Расположение - настоящее физическое расположение.

Возвратимся к предыдущему примеру и рассмотрим файл /etc/auto.misc :

kernel -ro,soft,intr ftp.kernel.org:/pub/linux
cdrom -fstype=iso9660,ro :/dev/cdrom
floppy -fstype=auto :/dev/fd0
windoz -fstype=vfat :/dev/hda1

Абсолютный путь к файлу :
/mount-point/key/path/file

Для доступа к windows config.sys я выполняю следующую команду "cat /misc/windoz/config.sys", с помощью которой обращаюсь к /dev/hda1 с внешней файловой системой FAT.

Обратите внимание на первую строку - экспортируемый каталог NFS (информация о возможностях использования automount и autofs ;-)

Заключение

Первое, на что мы должны обратить внимание - при попытке доступа к файлу, определенному в maps, автоматическое заполнение пути (path completion) к нему не работает. Обычно чтобы не набирать полный путь к файлу, мы используем TAB для автоматического заполнения пути. Но если не загружена map - это не работает. Возвращаясь к предыдущему примеру - если я попытаюсь открыть config.sys и выполню следующие действия  :
%1 > cat /misc/ <TAB >
я лишь услышу "beep", сигнализирующий об ошибке (не путайте с "beep"-ом, который сигнализирует о нескольких вариантах для выбора, доступных для просмотра с помощью комбинации <CTRL+D>).

На самом деле ничего необычного в этом нет. Когда вы пытаетесь использовать автоматическое заполнение просматривается содержимое каталога. В нашем примере каталог /misc пустой, так как файловая система монтируется только при попытке доступа к ней. С другой стороны - вы не можете использовать автоматическое заполнение до тех пор, пока не произойдет автоматическое размонтирование (другими словами когда ни один ресурс не будет использоваться в определенный промежуток времени).

Посмотрим результаты выполнения команды mount до и после обращения к map, рассмотренной ранее в /etc/auto.master :

/dev/hda6 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hda9 on /home type ext2 (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
automount(pid362) on /home type autofs (rw,fd=5,pgrp=362,minproto=2,maxproto=3)
automount(pid364) on /misc type autofs (rw,fd=5,pgrp=364,minproto=2,maxproto=3)
automount(pid366) on /mnt type autofs (rw,fd=5,pgrp=366,minproto=2,maxproto=3)

Обратим внимание на наличие daemon (системного процесса) для каждой точки монтирования. Кроме того - "type" везде "autofs". После просмотра /misc/windoz/config.sys получаем следующий результат :

/dev/hda6 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hda9 on /home type ext2 (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
automount(pid362) on /home type autofs (rw,fd=5,pgrp=362,minproto=2,maxproto=3)
automount(pid364) on /misc type autofs (rw,fd=5,pgrp=364,minproto=2,maxproto=3)
automount(pid366) on /mnt type autofs (rw,fd=5,pgrp=366,minproto=2,maxproto=3)
/dev/hda1 on /misc/windoz type vfat (rw)

Последняя строка содержит ожидаемую нами информацию :) Если не использовать этот ресурс в течение 60 секунд - он не будет отображен при выполнении команды mount в следующий раз.

Вывод

На компьютере с Linux и, к примеру, Windows можно обойтись без использования automount и autofs. Достаточно определить map для FAT и FAT32 и использовать данные. Преимущества использования automount и autofs очевидны при работе в сети, особенно в сочетании с yellow pages (рассмотрим в другой серии заметок) и NFS, когда можно использовать ресурсы не беспокоясь об их физическом местоположении.

 

Страница отзывов

У каждой заметки есть страница отзывов. На этой странице вы можете оставить свой комментарий или просмотреть комментарии других читателей.
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© Frédéric Raynal, FDL
LinuxFocus.org

Click here to report a fault or send a comment to LinuxFocus
Translation information:
fr -> -- Frédéric Raynal
fr -> en Philippe Trbich and Emmanuel Bonnel
en -> ru Kirill Poukhliakov

2001-02-12, generated by lfparser version 2.8