NFS - установка и настройка под Gentoo
Материал из AlexNook
Версия от 11:07, 26 октября 2023; ALEX (обсуждение | вклад)
Отличная статья, которая легла в основу этой заметки - это официальный мануал на Gentoo wiki.
Установка
В Gentoo для установки программы достаточно выполнить:
emerge -v net-fs/nfs-utils
При этом используются следующие USE флаги суммарно:
Use Flags: libmount nfsidmap nfsv4 uuid nfsdcld (?)
- libmount - Link mount.nfs with libmount.
- nfsidmap - Enable support for newer nfsidmap helper.
- nfsv4 - Enable support for NFSv4.
- uuid - Support UUID lookups in rpc.mountd.
- nfsdcld - Enable nfsdcld NFSv4 clientid tracking daemon.
Настройка Server и Export
Export
Для настройки экспорта шары нужно поправить файлик
nano /etc/exports
File: /etc/exports
/mnt/samba/ochakovo 10.0.8.0/24(rw,insecure,sync,all_squash,subtree_check,anonuid=1002,anongid=1000)
Параметры команды экспорта
- /mnt/samba/ochakovo экспортировать папку ochakovo
- 10.0.8.0/24 дать доступ для клиентов из этой подсети
- rw доступ на чтение и записиь
- insecure разрешить использовать номера портов выше 1024
- sync синхронный режим доступа(может принимать обратное значение- async). sync (async) - указывает, что сервер должен отвечать на запросы только после записи на диск изменений, выполненных этими запросами. Опция async указывает серверу не ждать записи информации на диск, что повышает производительность, но понижает надежность, т.к. в случае обрыва соединения или отказа оборудования возможна потеря данных;
- all_squash эта опция отвечает за то, что любые пользователи NFS-клиента будут считаться анонимными на NFS-сервере или же тем пользователеми NFS-сервера, чьи идентификаторы указаны в anonuid и anongid;
- subtree_check при разрешение доступа к подкаталогу файловой системы, а не всей файловой системе, сервер проверяет, находится ли запрошенный файл в экспортированном подкаталоге или нет. Это повышает безопасность, но уменьшает скорость
- anonuid пользователь на NFS сервере, куда мапится подключившийся клиент к шаре
- anongid группа на NFS сервере, куда мапится подключившийся клиент к шаре
Note: Доступ к шаре разграничивается по IP клиента, которому она доступна. Так же правами доступа на файлы и папки шары, установленными в системе.
Server
Для настройки запускаемого демона NFS нужно поправить файлик /etc/conf.d/nfs Внутри я поправил лишь 1 строчку:
File: /etc/conf.d/nfs
# Options to pass to rpc.nfsd
OPTS_RPC_NFSD="8 -V 4"
- 8 The option 8 is the number of NFS server threads to start. Since only one thread is started by default, the thread count should be increased for optimal performance.
- -V 4 enable NFS versions 4
Запуск и остановка
Для запуска
/etc/init.d/nfs start
Note: При этом запускается сразу несколько служб. Для остановки всех сразу нужно использовать rpcbind
Code: Запускаемые службы |
donik /mnt/samba/ochakovo # /etc/init.d/nfs start * Starting rpcbind ... [ ok ] * Starting NFS statd ... [ ok ] * Starting idmapd ... [ ok ] * Exporting NFS directories ... [ ok ] * Starting NFS mountd ... rpc.mountd: svc_tli_create: could not open connection for udp6 rpc.mountd: svc_tli_create: could not open connection for tcp6 rpc.mountd: svc_tli_create: could not open connection for udp6 rpc.mountd: svc_tli_create: could not open connection for tcp6 rpc.mountd: svc_tli_create: could not open connection for udp6 rpc.mountd: svc_tli_create: could not open connection for tcp6 [ ok ] * Starting NFS daemon ... [ ok ] * Starting NFS smnotify ... [ ok ] |
Для остановки
/etc/init.d/rpcbind stop
Для добавления в автозапуск
rc-update add nfs default
Настройка клиента
Для монтирования шары на клиенте в /etc/fstab нужно прописать
File: /etc/fstab
10.8.0.1:/mnt/samba/ochakovo /data nfs4 _netdev,rsize=1048576,wsize=1048576,vers=4,user,rw,auto,nofail,noatime 0 0
Параметры строчки монтирования
- 10.8.0.1:/mnt/samba/ochakovo путь до экспортируемой шары на сервере, включая IP NFS сервера
- /data куда подмонтировать NFS шару
- nfs4 тип монтируемой файловой системы
- _netdev говорим, что устройство сетевое (используется для предотвращения попыток системы монтировать эту файловую систему пока доступна сеть)
- rsize и wsize I/O on large files over NFSv4 can be *strongly* improved by these params, which increases the maximum read and write size to 1024^2 bytes, or 1MB.
- vers This option is an alternative to the nfsvers=n option. nfsvers option determins the NFS protocol version number used to contact the server's NFS service. If the server does not support the requested version, the mount request fails.
- rw Mount the filesystem read/write.
- auto Can be mounted with the -a option.
- nofail Do not report errors for this device if it does not exist.
- noatime Do not update inode access times on this filesystem (e.g. for faster access on the news spool to speed up news servers). This works for all inode types (directories too), so it implies nodiratime.
Ссылки
- Gentoo wiki
- Man по mount(8)
- Полезная статья с описанием опций экспорта шар и монтированием