В одной из прошлых статей мы рассматривали как настраивать сетевые папки в Linux с помощью NFS. Если в Windows используется для этих целей Samba, то в Linux принято организовывать общие папки с помощью сетевой файловой системы NFS.
В этой статье мы поговорим о том как монтировать такие папки вручную, а также как настроить их монтирование при обращении с помощью autofs. Так вы будете экономить трафик между серверами и получите неплохую производительность.
Монтирование сетевой папки в Linux
Для того чтобы примонтировать сетевую папку в системе должен быть установлен пакет nfs-commons. В Ubuntu его можно установить такой командой:
sudo apt install nfs-common
Затем можно выполнять монтирование с помощью обычной команды mount, которой надо передать адрес сервера NFS и путь к папке в файловой системе сервера. Например, чтобы смонтировать папку /var/nfs выполните:
sudo mount ip_адрес:/var/nfs /mnt
Никакой авторизации в NFS нет, поддерживается только ограничение доступа по IP адресу, поэтому монтирование должно пройти успешно. Если статическое монтирование работает хорошо, можно переходить к настройке autofs. Не забудьте размонтировать сетевую папку:
sudo umount /mnt
Сначала нужно установить этот сервис. Для этого в Ubuntu выполните команду:
sudo apt install autofs
Все настройки сетевых папок, которые надо монтировать находятся в файле /etc/auto.master. Каждая строчка представляет из себя отдельную папку и имеет такой синтаксис:
/точка/монтирования /файл/с/карты --timeout=значение
Здесь файл карты, обычно это /etc/auto.misc - файл в котором более подробно описано что и куда надо монтировать. Синтаксис одной записи в файле /etc/auto.misc такой:
/точка/монтирования опции_монтирования ip_адрес:/путь/к/сетевой/папке
Для примера будем монтировать ту же сетевую папку /var/nfs на сервере 185.117.155.209 в локальную папку /mnt. В файл /etc/auto.master надо добавить такую строчку:
sudo vi /etc/auto.master
Здесь мы сообщаем, что общая папка монтирования для всех ресурсов, описанных в файле /etc/auto.nfs - /mnt и если к ресурсу не обращаются на протяжении 100 секунд, то её следует размонтировать. Далее надо добавить описание монтирования в файл /etc/auto.nfs:
sudo vi /etc/auto.nfs
Здесь - share это точка монтирования нашей сетевой папки в папке /mnt, затем идут опции монтирования, а потом адрес сервера и путь к папке на удалённой машине. Далее надо перезапустить сервис autofs:
sudo systemctl restart autofs
Затем можно попытаться обратиться к этой папке и она автоматически смонтируется:
ls /mnt/share
Как видите, всё достаточно просто. Так и выполняется автоматическое монтирование сетевых папок в Linux. Но чтобы у вас появилась возможность создавать файлы в этой папке, надо чтобы сервер NFS был правильно настроен. Об этом смотрите предыдущую статью про настройку NFS.
А можно подобную статью с инфой о монтировании шар самбы. И хотелось бы еще узнать про автоматическое монтирование при запуске системы. В интернете очень гадкая инфа
Не знаю как там в убунту - sudo apt install nfs-commons, но в дебиан без s - sudo apt install nfs-common
🙂
В Ubuntu в Nautilus можно выбрать пункт «Другие места». Там есть подсказка. Можно подключить самбу smb://host.ru или удалённый сервер через ssh ssh://host.com
Я часто пользуюсь webdav davs://webdav.yandex.ru/, чтобы подключить ЯДиск.
в файле fstab добавить строчку
//fs2/Z /media/Z cifs _netdev,noauto,users,credentials=/etc/samba/passwd,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
//fs2/Z - что монтировать
/media/Z - куда монтировать
noauto - не монтировать автоматически
credentials=/etc/samba/passwd - файл с логином и паролем, если они нужны для подключения
остальное расписано там ->
https://losst.pro/avtomaticheskoe-montirovanie-fstab-i-systemd#%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BC%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_fstab
Всё это можно настроить через systemd:
man systemd.mount
man systemd.automount
$ cat /etc/systemd/system/mnt-nas-data.mount
[Unit]
Description=Some NFSS share
[Mount]
What=185.117.155.209:/var/nfs
Where=/mnt/nas/data
Type=nfs4
$ cat /etc/systemd/system/mnt-nas-data.automount
[Unit]
Description=Some NFSS share
[Automount]
Where=/mnt/nas/data
TimeoutIdleSec=60
[Install]
WantedBy=multi-user.target
Как выше уже написали, все это можно настроить через systemd, у меня уже несколько лет используется конфигурация в /etc/fstab, как пример:
10.42.1.1:/media/disk1 /mnt/disk1 nfs4 rsize=32768,wsize=32768,hard,timeo=14,user,noauto,x-systemd.automount,x-systemd.device-timeout=10,x-systemd.idle-timeout=1min 0 0