Монтирование samba & nfs через systemd: различия между версиями
Материал из support.qbpro.ru
Vix (обсуждение | вклад) (Новая страница: «==ВВЕДЕНИЕ== '''Systemd''' имеет специальный вид '''automount-юнитов''', которые позволяют автоматически монтировать указанный каталог.<br> * Важно: '''automount-юниты''' это не '''mount-юниты с автомонтированием''', они не могут иметь в себе параметры монтирования.<br> Вместо этого...») |
Vix (обсуждение | вклад) |
||
Строка 16: | Строка 16: | ||
Description=NFS share | Description=NFS share | ||
[Mount] | [Mount] | ||
What=server.url.example.com:/srv/nfs_share | What=//server.url.example.com:/srv/nfs_share | ||
Where='''/media/nfs''' | Where='''/media/nfs''' | ||
Type=nfs4 | Type=nfs4 | ||
Строка 42: | Строка 42: | ||
[Mount] | [Mount] | ||
What=smbserver/media | What=//smbserver.net/media | ||
Where=/mnt/media | Where=/mnt/media | ||
Type=cifs | Type=cifs | ||
Options=credentials=/etc/automount/credentials,vers=3.0,uid=996,gid=1000,nounix,noexec,iocharset=utf8,file_mode=0660,dir_mode=0370 | 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 | * В /etc/automount/credentials находятся логин и пароли для подключения, атрибуты 0600 root |
Версия от 17:24, 15 октября 2024
ВВЕДЕНИЕ
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.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=600 [Install] WantedBy=remote-fs.target