notes/autofs.md

91 lines
4.9 KiB
Markdown
Raw Normal View History

2022-05-07 22:12:11 +03:00
#### Автомонтирование удалённых файловых систем по запросу (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`