Автомонтирование по сети

Материал из ALT Linux Wiki

Что, где и как

Примеры монтирования в /mnt/FOLDER одного и того же ресурса /share/FOLDER с сервера server через юнит /lib/systemd/system/mnt-FOLDER.mount:

по sshfs  
[Unit]
Description = Mount remote FOLDER over SSH FileSystem

[Mount]
Type = sshfs
Where = /mnt/FOLDER
What = user@server:/share/FOLDER
# Можно подставить любые не конфликтующие опции как mount, так и sshfs:
Options = noauto,_netdev,reconnect
по davfs  
[Unit]
Description = Mount remote FOLDER over NextCloud WebDAV

[Mount]
Type = davfs
Where = /mnt/FOLDER
What = https://server/share/FOLDER
# Можно подставить любые не конфликтующие опции как mount, так и davfs:
Options = noauto,_netdev,user,uid=user,gid=users
по nfs  
[Unit]
Description = Mount remote FOLDER over Network FileSystem

[Mount]
Type = nfs
Where = /mnt/FOLDER
What = server:/share/FOLDER
# Можно подставить любые не конфликтующие опции как mount, так и nfs:
Options = noauto,_netdev,nolock
по cifs  
[Unit]
Description = Mount remote FOLDER over Samba FileSystem

[Mount]
Type = cifs
Where = /mnt/FOLDER
What = //server/share/FOLDER
# Можно подставить любые не конфликтующие опции как mount, так и cifs:
Options = noauto,_netdev,credentials=/etc/cifs.cred,iocharset=utf8,file_mode=0644,dir_mode=0755

Все отличия приведённых способов монтирования определяются параметрами Type, What и Options секции [Mount] сообразно монтируемой файловой системе.

Полагаю, основываясь на данных образчиках, не составит труда додумать иные варианты подключений к мегадрайву и прочим мелкомягким гугляндекс-дискам (ну, а вдруг таки заставит — готов дополнить: присылайте обкатанные примеры во вкладке обсуждения).

Примечание: если целью ставится автомонтирование такого ресурса ещё при запуске системы, достаточно…
  • дополнить любой из вышеприведённых юнитов секцией:
    [Install]
    WantedBy = remote-fs.target
    
  • убрать из списка опций noauto,
  • и скомандовать: # systemctl enable --now mnt-FOLDER.mount

А нижеизложенное можно и не читать.

Зачем именно автомонтаж

Чтобы входить в удалённый ресурс при первом/каждом обращении к нему, не подключая на этапе загрузки в надежде на его доступность. Для этого понадобится ещё один юнит с расширением .automount, чья привязка к любому из описанных вариантов .mount-а производится через соответствие параметра Where в обоих.

/lib/systemd/system/mnt-FOLDER.automount  
[Unit]
Description = Automount /mnt/FOLDER share
# Если доступ только через туннель (l2tp, ipsec, wireguard и т.п.):
Requires = openvpn@vpn.service

[Automount]
Where = /mnt/FOLDER
# Если нужно поменять умолчальные допуски:
DirectoryMode = 0775
# Если нужно, длительность доступа без перезапроса на подключение:
TimeoutIdleSec = 300

[Install]
WantedBy = multi-user.target

После его создания останется скомандовать: # systemctl enable --now mnt-FOLDER.automount

Источники

Хабр, АТК-динозавр, Бессонная тварюшка.

Обратная связь