/usr/lib/nfs/lockd [-g graceperiod] [-l listen_min_backlog ] [-t timeout] [nthreads ]
lockd 实用程序是 NFS 锁定管理器的一部分,后者支持对 NFSv2 和 NFSv3 中的 NFS 文件执行记录锁定操作。请参见 fcntl(2) 和 lockf(3C)。锁定管理器提供以下两项功能:
将对 NFS 挂载的文件系统的 fcntl(2) 锁定请求转发到 NFS 服务器上的锁定管理器。
生成本地文件锁定操作以响应从 NFS 客户机上运行的锁定管理器转发的请求。
如果中止 lockd 或者操作系统重新引导,锁定管理器保存的有关这些锁定请求的状态信息可能会丢失。其中的部分信息可按如下方式恢复。服务器锁定管理器重新启动时,会有一个等待宽限期,在此期限内等待所有客户机站点锁定管理器提交回收请求。另一方面,客户机站点锁定管理器会收到状态监视器守护进程 statd(1M) 有关重新启动的通知,并立即重新提交先前授权的锁定请求。如果锁定守护进程未能在服务器站点保护先前授权的锁定,就会将 SIGLOST 发送到某个进程。
管理员可通过以 root 身份登录并使用 sharectl(1M) 命令来更改 lockd 的启动参数。
lockd 服务由服务管理工具 smf(5) 管理,其服务标识符为:
svc:/network/nfs/nlockmgr
可以使用 svcadm(1M) 来对此服务执行管理操作(如启用、禁用或请求重新启动)。可以使用 svcs(1) 命令来查询服务的状态。
如果该服务处于禁用状态,那么,除非其 application/auto_enable 属性设置为 false,否则可通过 mount_nfs(1M)、share_nfs(1M) 和 automountd(1M) 将其启用。
sharectl(1M) 命令用于处理 lockd 的启动 SMF 参数。当前支持的参数如下:
为面向连接的传输上的 lockd 设置连接队列长度。缺省值和最小值都为 32。等效于 –l 选项。
并发 lockd 请求的最大数目。缺省值为 1024。等效于 nthreads 操作数。
lockd 重新尝试之前的重新传输超时(以秒为单位)。缺省值为 5。等效于 –t 选项。
所有客户机(NLM 和 NFSv4)在服务器重新引导后必须回收锁定的宽限期(以秒为单位)。此参数还控制 NFSv4 租用间隔。缺省值为 90。等效于 –g 选项。
请参见下文的“示例”部分。
支持以下选项:
此选项已过时,建议使用 grace_period 选项。指定在服务器重新引导后所有客户机(NLM 和 NFSv4)必须回收锁定的秒数。该选项还控制 NFSv4 租用间隔。此选项等效于上面所述的 grace_period 属性。
指定侦听器后备队列 (listen_min_backlog)。listen_min_backlog 是开始丢弃新连接请求之前排队等待处理的连接请求数。等效于上面所述的 lockd_listen_backlog 属性。
指定将锁定请求重新传输到远程服务器之前等待的秒数。缺省值为 5 秒。等效于上面所述的 lockd_retransmit_timeout 属性。
指定服务器可以处理的最大并发线程数。此并发性是由根据需要在内核中创建的最多 nthreads 个线程来实现的。nthreads 应当基于该服务器上的预期负荷而设置。如果未指定 nthreads,则最大并线程数将缺省设置为 1024。等效于上面所述的 lockd_servers 属性。
以下命令将 lockd_listen_backlog 设置为一个新值:
# sharectl set -p lockd_listen_backlog=40 nfs
下面的“附注”下介绍了 lockd_listen_backlog 及其他 lockd 属性。
示例 2 获取 lockd 属性值以下命令检索 lockd_listen_backlog 属性的值。
% sharectl get -p lockd_listen_backlog nfs lockd_listen_backlog=40
有关下列属性的说明,请参见 attributes(5):
|
svcs(1)、automountd(1M)、clear_locks(1M)、mount_nfs(1M)、share(1M)、share_nfs(1M)、sharectl(1M)、statd(1M)、svcadm(1M)、fcntl(2)、lockf(3C)、attributes(5)、smf(5)
不需要为 NFSv4 运行 lockd 守护进程。
将来的 Solaris 发行版中可能不存在 lockd 守护进程。