91 lines
4.9 KiB
Markdown
91 lines
4.9 KiB
Markdown
#### Автомонтирование удалённых файловых систем по запросу (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`
|
||
|