notes/autofs.md

91 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#### Автомонтирование удалённых файловых систем по запросу (autofs)
Настройки autofs производятся только на клиенте, предполагается, что сервер уже настроен соответствующим образом.
Проверку того, что сервер настроен, можно выполнить командой на клиенте
```bash
$ showmount -e
```
должны отобразится папки удалённого сервера, доступные для монтирования.
или на сервере
```bash
# exportfs -s
```
1. **В первую очередь необходимо установить соответствующий пакет**
*rpm*
```bash
# dnf install autofs
```
*deb*
```bash
# apt install autofs
```
2. **После установки пакета, необходимо запустить службу в systemd**
```bash
# systemctl enable --now autofs
```
3. **Основной файл настроек находится в `/etc/auto.master`**
Файл содержит такой комментарий и настройку
```
# Include /etc/auto.master.d/*.autofs
# The included files must conform to the format of this file.
#
+dir:/etc/auto.master.d
```
Таким образом, ориентируясь на *best practics*, пользовательские настройки лучше сохранять в директории `/etc/auto.master.d/`, название конфигурационного файла должно заканчиваться на `.autofs`
Создадим свой конфигурационный файл
```bash
# vim /etc/auto.master.d/demo.autofs
```
следующего содержания
```bash
/demoshare /etc/auto.demo
```
или
```bash
/- /etc/auto.demo
```
явных требований к названию файла `auto.demo` в документации не приводится, но обычно используются такие: `auto.nfs`, `auto.misc`, `auto.home` и пр.
4. **Следующим шагом будет указание пути к удалённой папке**
*необходимо создать файл, который указали в предыдущем шаге*
```bash
# vim /etc/auto.demo
```
*в файле будет указана локальная точка монтирования, опции монтирования и удалённая ФС*
```bash
localdir -rw,sync 192.168.13.6:/shares
```
**в данном случае на клиенте должна существовать директория `/demoshare`, при обращении к `/demoshare/localdir` в директории `/demoshare` будет автоматически создаваться директория `localdir` с содержимым смонтированной удалённой директории `192.168.13.6:/shares`**
или указать полный путь к локальной точке монтирования, если в карте `/etc/auto.master.d/demo.autofs` был указан `/-`
```bash
/localmnt/localdir -rw,sync 192.168.13.6:/shares
```
**в этом случае на клиенте при обращении к `/localmnt/localdir` будет создаваться соответствующая директория с содержимым смонтированной удалённой директории `192.168.13.6:/shares`**
5. **Подстановочные маски (Indirect Wildcard Maps)**
Если NFS сервер экпортирует несколько подкаталогов и эти подкаталоги могут динамически изменяться, автоматическое монтирование можно настроить для доступа к любому из этих подкаталогов с помощью одной записи сопоставления.
**Пример**
*Домашние каталоги пользователей расположены на удалённом сервере. Монтирование домашнего каталога происходит при авторизации пользователя в системе.
При использовании подстановочных масок, нет необходимости заранее перечислять домашние каталоги пользователей.*
При таком способе настройки, конфигурация из предыдущего примера `/etc/auto.demo`, будет выглядеть так:
```bash
* -rw,sync 192.168.13.6:/shares/&
```
Теперь, если хотим смонтировать удалённую папку `192.168.13.6:/shares/dir1`, необходимо обратиться к ней по адресу `/demoshare/dir1`