Go to main content

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

退出打印视图

更新时间: 2022年7月27日 星期三
 
 

nfsd(8)

名称

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

SMF 管理

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

svc:/network/nfs/server

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

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

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

server_versmax=num
server_versmin=num

NFS 服务器仅使用由这些变量指定的范围中的 NFS 版本。有效的值或版本为:2344.1。对于服务器,缺省最低版本为 2,缺省最高版本为 4.1server_versmin=4 等效于 4.0,而 server_versmax=4 等效于 4.1。最小值和最大值均可显式设置为 4.04.1 以避免混淆。

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 请求的最大数目。缺省值为 2048。等效于 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(8) 命令为 NFS 将 protocol 参数设置为 ALL

–c #_conn

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

–l

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

–p protocol

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

–t device

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

操作数

支持下列操作数:

nservers

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

示例

示例 1 Turning Off Delegation

这些示例中指定的 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

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

.ORCLdeleted_files

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.

/etc/system

系统配置信息文件。

/var/nfs/v4_state
/var/nfs/v4_oldstate
/var/nfs/v41_state
/var/nfs/v41_oldstate

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

属性

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

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

另请参见

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.