После завершения этого раздела вы сможете:
описать преимущества использования средства автомонтирования;
автоматически монтировать общие каталоги NFS с помощью прямых и косвенных сопоставлений, включая метасимволы.
Средство автомонтирования (automounter) — это служба (autofs), которая может автоматически монтировать общие каталоги NFS по требованию и размонтировать их, если они больше не используются.
autofs
Преимущества средства автомонтирования
Пользователям не нужны права root для выполнения команд mount и umount.
Общие каталоги NFS, настроенные с помощью средства автомонтирования, доступны для всех пользователей машины с учетом разрешений доступа.
Общие каталоги NFS не смонтированы постоянно, как записи в /etc/fstab, и освобождают сетевые и системные ресурсы.
/etc/fstab
Средство автомонтирования настраивается на стороне клиента. Настройка на стороне сервера не требуется.
Средство автомонтирования использует те же опции, что и команда mount, включая опции безопасности.
Средство автомонтирования поддерживает прямое и косвенное сопоставление точек монтирования, что обеспечивает гибкость размещения точек монтирования.
autofs создает и удаляет косвенные точки монтирования, устраняя необходимость в выполнении этой операции вручную.
NFS — это сетевая файловая система по умолчанию для средства автомонтирования, но возможно автоматическое монтирование и других сетевых файловых систем.
autofs — это служба, управление которой осуществляется так же, как и другими системными службами.
Создание точки автоматического монтирования
Процесс настройки точки автоматического монтирования состоит из нескольких шагов.
Установите пакет autofs.
[user@host ~]$ sudo yum install autofs
[user@host ~]$
sudo yum install autofs
Этот пакет содержит все необходимое для автоматического монтирования общих каталогов NFS.
Добавьте главный файл сопоставления в каталог /etc/auto.master.d. Этот файл идентифицирует базовый каталог, используемый для точек монтирования, и файл сопоставления для создания точек автоматического монтирования.
/etc/auto.master.d
[user@host ~]$ sudo vim /etc/auto.master.d/demo.autofs
sudo vim /etc/auto.master.d/demo.autofs
Имя главного файла сопоставления может быть произвольным (хотя обычно значимым), но у файла должна быть расширение .autofs, чтобы подсистема могла распознать его. Можно поместить несколько записей в один главный файл сопоставления либо создать несколько главных файлов сопоставления, каждый из которых будет иметь свои собственные записи, сгруппированные логически.
.autofs
Добавьте в главный файл сопоставления запись для косвенно сопоставляемых точек монтирования.
/shares /etc/auto.demo
Эта запись использует каталог /shares в качестве базы для косвенных точек автоматического монтирования. Файл /etc/auto.demo содержит информацию о монтировании. Используйте абсолютное имя файла. Файл auto.demo должен быть создан до запуска службы autofs.
/shares
/etc/auto.demo
auto.demo
Создайте файлы сопоставления. Каждый файл сопоставления идентифицирует точку монтирования, опции монтирования и исходное расположение.
[user@host ~]$ sudo vim /etc/auto.demo
sudo vim /etc/auto.demo
По соглашению имена файлов сопоставления имеют формат /etc/auto.name, где name отражает содержимое сопоставления.
/etc/auto.name
name
work -rw,sync serverb:/shares/work
Формат записи: точка монтирования, опции монтирования и исходное расположение. В этом примере показана базовая запись косвенного сопоставления. Прямые и косвенные сопоставления с использованием метасимволов рассматриваются позже в этом разделе.
Точка монтирования (на man-страницах она называется key (ключ)) создается и удаляется автоматически службой autofs. В данном случае полностью определенная точка монтирования ― /shares/work (см. главный файл сопоставления). Каталоги /shares и /shares/work создаются и удаляются службой autofs по мере необходимости.
/shares/work
В этом примере локальная точка монтирования отражает структуру каталогов сервера, однако это не обязательно — локальная точка монтирования может быть названа как угодно. Служба autofs не применяет конкретную структуру именования в клиенте.
Опции монтирования начинаются с дефиса (-) и разделяются запятыми без пробелов. Опции для монтирования файловой системы вручную доступны и при автоматическом монтировании. В этом примере средство автомонтирования монтирует общий каталог с правами чтения и записи (опция rw) и сервер синхронизируется непосредственно во время операций записи (опция sync).
rw
sync
К полезным опциям средства автомонтирования относятся -fstype= и -strict. С помощью fstype можно указать тип файловой системы, например nfs4 или xfs, а с помощью strict можно обрабатывать ошибки как фатальные при монтировании файловых систем.
-fstype=
-strict
fstype
nfs4
xfs
strict
Исходное расположение общих каталогов NFS соответствует шаблону host:/pathname. В данном примере это serverb:/shares/work. Чтобы это автоматическое монтирование прошло успешно, NFS-сервер (serverb) должен экспортировать каталог с правами чтения и записи, а у пользователя, запрашивающего доступ, должны быть стандартные разрешения Linux на доступ к файлам в этом каталоге. Если serverb экспортирует каталог с доступном только на чтение, клиент получит такой же доступ, даже если он запрашивал доступ на чтение и запись.
host:/pathname
serverb:/shares/work
serverb
Запустите и включите службу автомонтирования.
Используйте команду systemctl для запуска и включения службы autofs.
[user@host ~]$ sudo systemctl enable --now autofs Created symlink /etc/systemd/system/multi-user.target.wants/autofs.service → /usr/lib/systemd/system/autofs.service.
sudo systemctl enable --now autofs
Прямые сопоставления
Прямые сопоставления используются для сопоставления общего каталога NFS с существующей точкой монтирования с абсолютным путем.
При использовании точек монтирования, сопоставленных напрямую, главный файл сопоставления может выглядеть следующим образом:
/- /etc/auto.direct
Все записи прямого сопоставления используют /- в качестве базового каталога. В данном случае файл сопоставления, который содержит сведения о точке монтирования, ― /etc/auto.direct.
/-
/etc/auto.direct
Содержимое файла /etc/auto.direct может выглядеть следующим образом:
/mnt/docs -rw,sync serverb:/shares/docs
Точка монтирования (или ключ) — это всегда абсолютный путь. В остальной части файла сопоставления используется эта же структура.
В этом примере каталог /mnt существует и служба autofs им не управляет. Полный каталог /mnt/docs будет создан и удален автоматически службой autofs.
/mnt
/mnt/docs
Косвенные сопоставления с использованием метасимволов
Когда NFS-сервер экспортирует несколько вложенных каталогов внутри каталога, средство автомонтирования может быть настроено для доступа к любому вложенному каталогу с помощью одной записи сопоставления.
Если serverb:/shares экспортирует несколько вложенных каталогов и они доступны с теми же опциями монтирования, содержимое файла /etc/auto.demo может выглядеть следующим образом:
serverb:/shares
* -rw,sync serverb:/shares/&
Точка монтирования (или ключ) — это звездочка (*), а вложенный каталог в исходном расположении — это амперсанд (&). Все остальное в записи не изменилось.
Когда пользователь пытается открыть /shares/work, ключ * (в данном примере это work) заменяет амперсанд в исходном расположении и монтируется serverb:/shares/work. Каталог work создается и удаляется автоматически службой autofs.
*
work
Man-страницы autofs(5), automount(8), auto.master(5) и mount.nfs(8)