Монтирование samba & nfs через systemd

Материал из support.qbpro.ru
Версия от 19:40, 14 октября 2024; Vix (обсуждение | вклад) (Новая страница: «==ВВЕДЕНИЕ== '''Systemd''' имеет специальный вид '''automount-юнитов''', которые позволяют автоматически монтировать указанный каталог.<br> * Важно: '''automount-юниты''' это не '''mount-юниты с автомонтированием''', они не могут иметь в себе параметры монтирования.<br> Вместо этого...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

ВВЕДЕНИЕ

Systemd имеет специальный вид automount-юнитов, которые позволяют автоматически монтировать указанный каталог.

  • Важно: automount-юниты это не mount-юниты с автомонтированием, они не могут иметь в себе параметры монтирования.
    Вместо этого, они (при обращении к каталогу) всего лишь вызывают mount-юнит для указанного каталога.
    • Соответственно, при конфигурации:

Опции монтирования, устройство (или сервер в случае NFS) указываются в mount-юните
Зависимости и install-секция указываются в automount-юните
Связка automount-юнита и mount-юнита происходит по параметру where

Это же можно заметить по структуре самих юнитов. У mount-юнита есть секция [Mount] в которой может быть множество
параметров. У automount-юнита такой секции быть не должно, а вместо этого есть секция [Automount], в которой могут быть
всего несколько параметров: Where, DirectoryMode и TimeoutIdleSec.

ПРАКТИЧЕСКИЕ ПРИМЕРЫ

  • Монтирование NFS, создаем 2 unit-а, обязательно имя юнита соответствует имени (весь путь к точке) монтирования:
/lib/systemd/system/media-nfs.mount:
  • описание параметров монтирования:
[Unit]
Description=NFS share
[Mount]
What=server.url.example.com:/srv/nfs_share
Where=/media/nfs
Type=nfs4
Options=rw
DirectoryMode=0755
  • описание процесса монтирования, имена совпадают, кроме типа:
/lib/systemd/system/media-nfs.automount:
[Unit]
Description=NFS share
Requires=openvpn@vpn.service
Requires=network-online.target
[Automount]
Where=/media/nfs
TimeoutIdleSec=301
[Install]
WantedBy=graphical.target
  • Монтирование SAMBA, создаем 2 unit-а, так же имена должны соответствовать точке монтирования:
/lib/systemd/system/mnt-media.mount
[Unit]
Description=Mount point for cifs (volumes on server smb)

[Mount]
What=smbserver/media
Where=/mnt/media
Type=cifs
Options=credentials=/etc/automount/credentials,vers=3.0,uid=996,gid=1000,nounix,noexec,iocharset=utf8,file_mode=0660,dir_mode=0370
  • В /etc/automount/credentials находятся логин и пароли для подключения, атрибуты 0600 root
user=mylogin
password=mypassword
domain=smbserver
/lib/systemd/system/mnt-media.automount
[Unit]
Description=Automount unit for cifs (cifs share on //media volumes)

[Automount]
Where=/mnt/media
TimeoutIdleSec=600

[Install]
WantedBy=remote-fs.target

ИСТОЧНИКИ