NFS - установка и настройка под Gentoo
Отличная статья, которая легла в основу этой заметки - это официальный мануал на Gentoo wiki.
Установка
В Gentoo для установки программы достаточно выполнить:
При этом используются следующие 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
Сперва хочется отметить, что можно удобно сформировать одну точку экспорта всех папок файловой системы, используя команду
когда локальная папка монтируется в новое место (создаётся идентичная копия). Файлы становятся доступными из двух мест. После чего делается экспорт папки /mnt/nfs_export_point
Для настройки экспорта шары нужно поправить файлик
/mnt/samba/ochakovo 10.8.0.0/24(rw,insecure,sync,all_squash,subtree_check,anonuid=1002,anongid=1000)
Параметры команды экспорта
- /mnt/samba/ochakovo экспортировать папку ochakovo
- 10.8.0.0/24 дать доступ для клиентов из этой подсети
- rw доступ на чтение и записиь
- insecure разрешить использовать номера портов выше 1024
- sync синхронный режим доступа(может принимать обратное значение- async). sync (async) - указывает, что сервер должен отвечать на запросы только после записи на диск изменений, выполненных этими запросами. Опция async указывает серверу не ждать записи информации на диск, что повышает производительность, но понижает надежность, т.к. в случае обрыва соединения или отказа оборудования возможна потеря данных;
- all_squash эта опция отвечает за то, что любые пользователи NFS-клиента будут считаться анонимными на NFS-сервере или же тем пользователеми NFS-сервера, чьи идентификаторы указаны в anonuid и anongid;
- subtree_check при разрешение доступа к подкаталогу файловой системы, а не всей файловой системе, сервер проверяет, находится ли запрошенный файл в экспортированном подкаталоге или нет. Это повышает безопасность, но уменьшает скорость
- anonuid пользователь на NFS сервере, куда мапится подключившийся клиент к шаре
- anongid группа на NFS сервере, куда мапится подключившийся клиент к шаре
Server
Для настройки запускаемого демона NFS нужно поправить файлик /etc/conf.d/nfs Внутри я поправил лишь 1 строчку:
# 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
Запуск и остановка
Для запуска
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/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.
- user любой пользователь клиента может подмонтировать себе шару с NFS сервера
- 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.
Корректировка мапинга анонимных пользователей
Иногда, когда id пользователя и его группы не совпадают на клиенте и сервере, права папок и файлов шары мапятся как nobody
Чтобы избежать этого, можно поправить файлик /etc/idmapd.conf
[Mapping]
Nobody-User = samba
Nobody-Group = users
Запуск и остановка
Для запуска
Для остановки
Для добавления в автозапуск
Ссылки
- Gentoo wiki
- Man по mount(8)
- Полезная статья с описанием опций экспорта шар и монтированием
- Options for NFS in FSTAB file