Монтирование samba & nfs через systemd
Материал из support.qbpro.ru
ВВЕДЕНИЕ
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=_netdev,auto,nosuid,nolock,nfsvers=4 TimeoutSec=1
- описание процесса монтирования, имена совпадают, кроме типа:
/lib/systemd/system/media-nfs.automount:
[Unit] Description=NFS share [Automount] Where=/media/nfs TimeoutIdleSec=2 [Install] WantedBy=remote-fs.target
- Монтирование SAMBA, создаем 2 unit-а, так же имена должны соответствовать точке монтирования:
/lib/systemd/system/mnt-media.mount
[Unit] Description=Mount point for cifs (volumes on server smb) [Mount] What=//smbserver.net/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
- Внимание! параметры uid=996,gid=1000 - это ID в /etc/passwd/username, указывать точно!
- В /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=2 [Install] WantedBy=remote-fs.target