手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

nfsd(1M)

名称

nfsd - 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) 命令。

SMF 管理

nfsd 服务由服务管理工具 smf(5) 进行管理,其服务标识符为:

svc:/network/nfs/server

可以使用 svcadm(1M) 来对此服务执行管理操作(如启用、禁用或请求重新启动)。可以使用 svcs(1) 命令来查询服务的状态。

如果通过 SIGTERM 终止了 nfsd,它将无法由服务管理工具来重新启动。但是,可以通过其他信号(例如 SIGINT)来重新启动 nfsd

可以使用 sharectl(1M) 命令来管理与 nfsd 相关的所有参数。当前支持以下参数:

server_versmax=num
server_versmin=num

NFS 服务器仅使用由这些变量指定的范围中的 NFS 版本。有效的值或版本为:234。如果这些参数中的一个或者两个都没有设置,则缺省的最小版本为 2,而缺省的最大版本为 4

server_delegation=on | off

缺省情况下,此变量为 on 并且 NFS 服务器向客户机提供委托。用户可以通过将此变量设置为 off(区分大小写)为所有导出的文件系统关闭委托。此变量仅适用于 NFS 版本 4。

max_connections=num

设置并发的、面向连接的连接的最大数目。缺省设置是无限制,并且可通过将其设置为 -1 来实现。等效于 nfsd 中的 –c 选项。

listen_backlog=num

为面向连接的传输上的 NFS 设置连接队列长度。缺省值为 32,表示队列中有 32 个条目。等效于 nfsd 中的 –l 选项。

protocol=ALL

仅在指定的协议上启动 nfsd。等效于 nfsd 中的 -p 选项。ALL 等效于 nfsd 命令行上的 –a。与 NFS SMF 参数 device 是互斥的。NFS SMF 参数 deviceprotocol 不得同时指定。如果同时指定了两者,nfs/server 服务将进入维护模式。对于 UDP 协议,只会建立版本 2 和版本 3 服务。NFS 版本 4 不支持 UDP 协议。等效于 –p 选项。

device=devname

仅为由指定的设备指定的传输启动 NFS 守护进程。等效于 nfsd 中的 –t 选项。与 NFS SMF 参数 protocol 是互斥的。NFS SMF 参数 deviceprotocol 不得同时指定。

servers=num

并发 NFS 请求的最大数目。缺省值为 1024。等效于 nservers 操作数。

server_numeric_stringid=on|off

缺省情况下,此变量为 on 并且 NFS 服务器从使用 AUTH_SYS 验证的 NFS 客户机接受数字 UID 和 GID,并且将数字 UID 和 GID 返回到使用 AUTH_SYS 的客户机。要阻止此行为,请将此变量设置为 'off'(区分大小写)。此变量仅适用于 NFS 版本 4,其用于简化从 NFSv2/v3 进行的迁移。

请参见下文的“示例”部分。

选项

支持以下选项:

–a

在所有可用的连接和面向连接的传输(包括 UDP 和 TCP)上启动 NFS 守护进程。等效于在 SMF 中使用 sharectl(1M) 命令为 NFS 将 protocol 参数设置为 ALL

–c #_conn

这设置面向连接的传输上的 NFS 服务器允许的最大连接数。缺省情况下,连接数目是无限制的。等效于在 SMF 中使用 sharectl(1M) 命令为 NFS 设置 max_connections 参数。

–l

为面向连接的传输上的 NFS TCP 设置连接队列长度。缺省值为 32 项。等效于在 SMF 中使用 sharectl(1M) 命令为 NFS 设置 listen_backlog 参数。

–p protocol

在指定的协议上启动 NFS 守护进程。等效于在 SMF 中使用 sharectl(1M) 命令为 NFS 设置 protocol 参数。

–t device

为由给定设备指定的传输启动 NFS 守护进程。等效于在 SMF 中使用 sharectl(1M) 命令为 NFS 设置 device 参数。

操作数

支持下列操作数:

nservers

这设置服务器可以处理的并发 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

退出状态

0

守护进程启动成功。

1

守护进程启动失败。

文件

.nfsXXX

打开但未链接的文件的客户机指针。

/etc/system

系统配置信息文件。

/var/nfs/v4_state
/var/nfs/v4_oldstate

服务器用来管理客户机状态信息的目录。不应删除这些目录。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
service/file-system/nfs

另请参见

ps(1)svcs(1)mountd(1M)share(1M)sharectl(1M)svcadm(1M)sharetab(4)system(4)attributes(5)smf(5)

在 Oracle Solaris 11.2 中管理网络文件系统

附注

建议不要手动启动和重新启动 nfsd。如果必须要这样做,请使用 svcadm 来启用或禁用 nfs 服务 (svc:/network/nfs/server)。如果该服务被禁用,它将由 share_nfs(1M) 来启用,除非它的 application/auto_enable 属性设置为 false。有关更多信息,请参见在 Oracle Solaris 11.2 中管理网络文件系统 svcadm(1M)