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`
|
|||
|
|