Solaris 可调参数参考手册

nfssrv 模块参数

本节介绍 nfssrv 模块的 NFS 参数。

nfssrv:nfs_portmon

说明

控制 NFS 服务器为了强制实施部分客户机上的完整性而尝试执行的某些安全检查。NFS 服务器可以检查发送请求的源端口是否为保留端口。保留端口的编号小于 1024。对于基于 BSD 的系统,这些端口是为由超级用户运行的进程保留的。此安全检查可以防止用户编写他们自己的基于 RPC 的应用程序,这样的应用程序会使 NFS 客户机使用的访问检查无法执行。

数据类型

整数(32 位)

缺省值

0(禁用安全检查)

范围

0(禁用安全检查)或 1(启用安全检查)

单位

布尔值

是否为动态

验证

何时更改

使用此参数防止恶意用户使用 NFS 服务器获取对其通常无法访问的文件的访问权限。但是,保留端口概念还没有得到普遍支持。因此,安全检查方面还很薄弱。此外,并非所有的 NFS 客户机实现都将其传输端点绑定到保留范围内的端口号。因此,如果启用安全检查,则可能会导致互操作性问题。

承诺级别

不稳定

nfssrv:rfs_write_async

说明

控制 NFS 版本 2 服务器处理 WRITE 请求时的行为。NFS 版本 2 协议要求在服务器可以响应客户机之前,与 WRITE 请求关联的所有已修改数据和元数据都驻留在稳定存储器上。NFS 版本 2 WRITE 请求最多可包含 8192 字节数据。因此,每个 WRITE 请求都可能会导致向存储子系统执行多个小型写入。这可能会引发性能问题。

一种加速 NFS 版本 2 WRITE 请求的方法是利用客户机行为。客户机可能会以批处理模式发送 WRITE 请求。服务器可以利用此行为,方法是将多个不同的 WRITE 请求群集为单个发往基础文件系统的请求。因此,为数不多的更大请求便可以写入将要写入存储子系统的数据。此方法可以显著增加 WRITE 请求的吞吐量。

数据类型

整数(32 位)

缺省值

1(启用群集)

范围

0(禁用群集)或 1(启用群集)

单位

布尔值

是否为动态

验证

何时更改

某些很小的 NFS 客户机(特别是 PC 客户机)可能无法批处理 WRITE 请求。因此,所需的客户机行为可能不存在。此外,在 NFS 版本 2 服务器中进行群集操作可能只会增加开销并降低性能,而不会提高性能。

承诺级别

不稳定

nfssrv:nfsauth_ch_cache_max

说明

控制与 NFS 验证服务器进行联系的客户机句柄的高速缓存大小。此服务器验证 NFS 客户机以确定是否允许这些客户机访问它们要尝试使用的文件句柄。

数据类型

整数(32 位)

缺省值

16

范围

0 到 231 - 1

单位

客户机句柄

是否为动态

验证

何时更改

此高速缓存不是动态的,因此在所有客户机句柄已用完的情况下分配客户机句柄的尝试将失败。此失败会导致 NFS 服务器因无法对这些请求进行验证而丢弃请求。通常,此结果并不重要,因为 NFS 客户机只是超时并且会重新传输请求。但是,对于客户机上的软挂载文件系统,客户机可能会超时,并且不会重试请求,而是将错误返回到应用程序。如果确保服务器上的高速缓存大小足以处理负载,则可以避免这种情况。

承诺级别

不稳定

nfssrv:exi_cache_time

说明

控制在清除项(由于系统内存压力)之前将其保留在 NFS 验证高速缓存中的持续时间。

数据类型

长整数(在 32 位平台上为 32 位,在 64 位平台上为 64 位)

缺省值

3600 秒(1 小时)

范围

在 32 位平台上,为 0 到 231 - 1

在 64 位平台上,为 0 到 263 - 1

单位

是否为动态

验证

何时更改

通过改变可从高速缓存中清除的项的最短生命期,可以调整 NFS 验证高速缓存的大小。应该控制高速缓存的大小以禁止其增长过大,从而可以使用由于失效过程而不允许释放的系统资源。

承诺级别

不稳定