跳过导航链接 | |
退出打印视图 | |
![]() |
手册页第 1M 部分:系统管理命令 Oracle Solaris 11 Information Library (简体中文) |
- NFS 守护进程
/usr/lib/nfs/nfsd [-a] [-c #_conn] [-l listen_backlog] [-p protocol] [-t device] [nservers]
nfsd 是处理客户机文件系统请求的守护进程。只有具有 {PRIV_SYS_NFS} 且具有足够的特权向 /var/run 进行写入的用户可以运行此守护进程。
当使用带 -a 选项的 share(1M) 时,会自动调用 nfsd 守护进程。
缺省情况下,对于版本 2 和 3,nfsd 会在 TCP 和 UDP 传输上启动。缺省情况下,对于版本 4,它会在 TCP 传输上启动。您可以使用 -p 选项更改此行为。
在调用 nfsd 命令之前必须停止之前启动的(不管是否使用了选项)nfsd 守护进程。
要更改 nfsd 的启动参数,请使用 sharectl(1M) 命令。
nfsd 服务由服务管理工具 smf(5) 进行管理,其服务标识符为:
svc:/network/nfs/server
可以使用 svcadm(1M) 来执行对此服务的管理操作(如启用、禁用或请求重新启动)。可以使用 svcs(1) 命令来查询服务的状态。
如果通过 SIGTERM 终止了 nfsd,它将无法由服务管理工具来重新启动。但是,可以通过其他信号(例如 SIGINT)来重新启动 nfsd。
可以使用 sharectl(1M) 命令来管理与 nfsd 相关的所有参数。下面是当前支持的参数:
NFS 服务器仅使用由这些变量指定的范围中的 NFS 版本。有效的值或版本为:2、3 和 4。如果这些参数中的一个或者两个都没有设置,则缺省的最小版本为 2,而缺省的最大版本为 4。
缺省情况下,此变量为 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 请求的最大数目。等效于 nfsd 命令行上最后的数字参数。缺省值为 1024。等效于 nservers 操作数。
请参见下文的“示例”部分。
所支持的选项如下:
在所有可用的连接和面向连接的传输(包括 UDP 和 TCP)上启动 NFS 守护进程。等效于在 SMF 中使用 sharectl(1M) 命令为 NFS 将 protocol 参数设置为 ALL。
这设置面向连接的传输上的 NFS 服务器允许的最大连接数。缺省情况下,连接数目是无限制的。等效于在 SMF 中使用 sharectl(1M) 命令为 NFS 设置 max_connections 参数。
为面向连接的传输上的 NFS TCP 设置连接队列长度。缺省值为 32 个条目。等效于在 SMF 中使用 sharectl(1M) 命令为 NFS 设置 listen_backlog 参数。
在指定的协议上启动 NFS 守护进程。等效于在 SMF 中使用 sharectl(1M) 命令为 NFS 设置 protocol 参数。
为由给定设备指定的传输启动 NFS 守护进程。等效于在 SMF 中使用 sharectl(1M) 命令为 NFS 设置 device 参数。
支持下列操作数:
这设置服务器可以处理的并发 NFS 请求的最大数目。此并发性是由根据需要在内核中创建的最多 nservers 个线程来实现的。nservers 应当基于该服务器上的预期负荷而设置。nservers 的数字通常为 16。如果未指定 nservers,则并发 NFS 请求的最大数目将缺省设置为 1。等效于在 SMF 中使用 sharectl(1M) 命令为 NFS 设置 servers 参数。
如果在 /etc/system 中设置了 NFS_PORTMON 变量,则客户机必须使用特权端口(小于 IPPORT_RESERVED 的端口)来获取 NFS 服务。缺省情况下,该变量等于零。该变量已从 "nfs" 移到了 "nfssrv" 模块。要设置该变量,请编辑 /etc/system 文件并添加以下条目:
set nfssrv:nfs_portmon = 1
示例 1 关闭委托
这些示例中指定的 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
守护进程启动成功。
守护进程启动失败。
打开但未链接的文件的客户机指针。
系统配置信息文件。
服务器用来管理客户机状态信息的目录。不应删除这些目录。
有关以下属性的说明,请参见 attributes(5):
|
ps(1)、svcs(1)、mountd(1M)、share(1M)、sharectl(1M)、svcadm(1M)、sharetab(4)、system(4)、attributes(5)、smf(5)
建议不要手动启动和重新启动 nfsd。如果必须要这样做,请使用 svcadm 来启用或禁用 nfs 服务 (svc:/network/nfs/server)。如果该服务被禁用,它将由 share_nfs(1M) 来启用,除非它的 application/auto_enable 属性设置为 false。有关更多信息,请参见《Oracle Solaris 管理:网络服务》和 svcadm(1M)。