nfsd - NFS daemon
/usr/lib/nfs/nfsd [-a] [ -c #_conn] [-l listen_backlog] [-p protocol] [-t device] [nservers]>
nfsd 是处理客户机文件系统请求的守护进程。只有具有 {PRIV_SYS_NFS} 且具有足够的特权向 /var/run 进行写入的用户可以运行此守护进程。
当使用带 –a 选项的 share(8) 时,会自动调用 nfsd 守护进程。
缺省情况下,对于版本 2 和 3,nfsd 会在 TCP 和 UDP 传输上启动。缺省情况下,对于版本 4,它会在 TCP 传输上启动。您可以使用 –p 选项更改此行为。
在调用 nfsd 命令之前必须停止之前启动的(不管是否使用了选项)nfsd 守护进程。
要更改 nfsd 的启动参数,请使用 sharectl(8) 命令。
nfsd 服务由服务管理工具 smf(7) 进行管理,其服务标识符为:
svc:/network/nfs/server
可以使用 svcadm(8) 来对此服务执行管理操作(如启用、禁用或请求重新启动)。可以使用 svcs(1) 命令来查询服务的状态。
如果通过 SIGTERM 终止了 nfsd,它将无法由服务管理工具来重新启动。但是,可以通过其他信号(例如 SIGINT)来重新启动 nfsd。
可以使用 sharectl(8) 命令来管理与 nfsd 相关的所有参数。下面是当前支持的参数:
NFS 服务器仅使用由这些变量指定的范围中的 NFS 版本。有效的值或版本为:2、3、4 和 4.1。对于服务器,缺省最低版本为 2,缺省最高版本为 4.1。server_versmin=4 等效于 4.0,而 server_versmax=4 等效于 4.1。最小值和最大值均可显式设置为 4.0 或 4.1 以避免混淆。
缺省情况下,此变量为 on 并且 NFS 服务器向客户机提供委托。用户可以通过将此变量设置为 off(区分大小写)为所有导出的文件系统关闭委托。此变量仅适用于 NFS 版本 4。
设置并发的、面向连接的连接的最大数目。缺省设置是无限制,并且可通过将其设置为 -1 来实现。等效于 nfsd 中的 –c 选项。
为面向连接的传输上的 NFS 设置连接队列长度。缺省值为 32,表示队列中有 32 个条目。等效于 nfsd 中的 –l 选项。
仅在指定的协议上启动 nfsd。等效于 nfsd 中的 -p 选项。ALL 等效于 nfsd 命令行上的 –a。与 NFS SMF 参数 device 是互斥的。NFS SMF 参数 device 和 protocol 不得同时指定。如果同时指定了两者,nfs/server 服务将进入维护模式。对于 UDP 协议,只会建立版本 2 和版本 3 服务。NFS 版本 4 不支持 UDP 协议。等效于 –p 选项。
仅为由指定的设备指定的传输启动 NFS 守护进程。等效于 nfsd 中的 –t 选项。与 NFS SMF 参数 protocol 是互斥的。NFS SMF 参数 device 和 protocol 不得同时指定。
并发 NFS 请求的最大数目。缺省值为 2048。等效于 nservers 操作数。
缺省情况下,此变量为 on 并且 NFS 服务器从使用 auth_sys 验证的 NFS 客户机接受数字 UID 和 GID,并且将数字 UID 和 GID 返回到使用 auth_sys 的客户机。要关闭此行为,请将此变量设置为 'off'(区分大小写)。此变量仅适用于 NFS 版本 4,旨在方便从 NFSv2/v3 迁移。
请参见下文的“示例”部分。
支持以下选项:
在所有可用的连接和面向连接的传输(包括 UDP 和 TCP)上启动 NFS 守护进程。等效于在 SMF 中使用 sharectl(8) 命令为 NFS 将 protocol 参数设置为 ALL。
这设置面向连接的传输上的 NFS 服务器允许的最大连接数。缺省情况下,连接数目是无限制的。等效于在 SMF 中使用 sharectl(8) 命令为 NFS 设置 max_connections 参数。
为面向连接的传输上的 NFS TCP 设置连接队列长度。缺省值为 32 项。等效于在 SMF 中使用 sharectl(8) 命令为 NFS 设置 listen_backlog 参数。
在指定的协议上启动 NFS 守护进程。等效于在 SMF 中使用 sharectl(8) 命令为 NFS 设置 protocol 参数。
为由给定设备指定的传输启动 NFS 守护进程。等效于在 SMF 中使用 sharectl(8) 命令为 NFS 设置 device 参数。
支持下列操作数:
这设置服务器可以处理的并发 NFS 请求的最大数目。This concurrency is achieved by up to nservers threads created as needed in the kernel. nservers should be based on the load expected on this server.如果未指定 nservers,则并发 NFS 请求的最大数目将缺省设置为 2048。等效于在 SMF 中使用 sharectl(8) 命令为 NFS 设置 servers 参数。
这些示例中指定的 nfsd 属性在上文中的“SMF 管理”部分进行了介绍。
委托是一项 NFSv4 功能,服务器通过该功能将文件的管理委托给客户机。例如,服务器可以向客户机授予(或不授予)读取委托或写入委托。下面的命令执行该操作,将 server_delegation 属性设置为 off。
# sharectl set -p server_delegation=off nfs示例 2 确定委托的值
下面的命令获取 server_delegation 属性的当前值。
# sharectl get -p server_delegation nfs server_delegation=on示例 3 设置并发请求的最大数目
下面的命令设置并发 NFS 请求的最大数目。
# sharectl set -p servers=32 nfs示例 4 设置连接队列长度
下面的命令为面向连接的传输上的 NFS 设置最大队列长度。
# sharectl set -p listen_backlog=48 nfs
守护进程启动成功。
守护进程启动失败。
打开但未链接的文件的客户机指针。
Directory used by the server to keep track of the files which were removed by an NFS client while still open (.nfsXXX files).This directory resides in root of shared filesystem.This directory should not be removed.
系统配置信息文件。
服务器用来管理客户机状态信息的目录。不应删除这些目录。
有关下列属性的说明,请参见 attributes(7):
|
ps(1), svcs(1), sharetab(5), system(5), attributes(7), smf(7), mountd(8), share(8), sharectl(8), svcadm(8), network-nfs-cleanup(8S)
《在 Oracle Solaris 11.4 中管理网络文件系统》
建议不要手动启动和重新启动 nfsd。如果必须要这样做,请使用 svcadm 来启用或禁用 nfs 服务 (svc:/network/nfs/server)。如果该服务被禁用,它将由 share_nfs(8) 来启用,除非它的 application/auto_enable属性设置为 false。See Managing Network File Systems in Oracle Solaris 11.4 and svcadm(8) for more information.