跳转到主内容

什么是 NBlade 凭证缓存?

Views:
13
Visibility:
Public
Votes:
0
Category:
ontap-9
Specialty:
nas
Last Updated:

可不使用  

适用于

  • ONTAP 9
  • 集群模式 Data ONTAP 8

解答

本文档介绍了 NBlade 身份凭证缓存的用途、使用情况、填充方式、刷新时间、查看方式以及如何刷新。

本文介绍了以下症状:

  • NFS 用户不会立即反映名称服务(文件、 NIS 、 LDAP 、 AD )中的用户更改

  • 更改名称服务最多需要 24 到 48 小时才能生效

什么是 NBlade 凭证缓存?

NFS 客户端可能需要根据其 UID 生成凭据才能访问 ONTAP 中的资源。
以下是必须填充凭据的情形:

  • 访问 NTFS 安全类型卷

  • 使用扩展组功能进行 SYS/UNIX 验证时

    • 此功能允许 NFS 客户端绕过 16 组 RPC 限制

  • 向匿名用户“兑现”

    • 这可能是由于 root squash 或使用 auth_none 造成的

此凭据存储在 NBlade 凭据缓存中。

如何填充 nblade 凭据缓存条目?

当对 ONTAP 执行需要凭据缓存条目的 NFS 操作且请求 UID 的缓存条目不存在时,将填充一个 nblade 缓存条目。要填充该条目、 nblade 会向用户空间发出一个 RPC 请求、请求主组 ID 、辅助组 ID 和 NT 凭据(如果适用)。负责应答这些 RPC 请求的两个用户空间进程是安全守护进程( SED )和管理网关守护进程( MGWD )。NBlade 凭据缓存中填充条目的生存时间 (TTL) 设置为 24 小时。

Secd 主要负责促进 NBlade 的凭据查找请求。在 9.3 之前、 Secd 将从其自己的缓存为这些请求提供服务、这些缓存具有 24 小时 TLS 。Secd 是每个节点的唯一进程、这意味着在为 nblade 请求提供服务之前、如果某个条目不存在、该节点的本地 secd 进程将需要填充其缓存。

9.3 之后、 ONTAP 中添加了全局名称服务缓存功能。nblade 仍会向用户空间发出 RPC 调用、但是 secd/mgwd 将利用复制的缓存填充响应。这意味着,如果一个节点填充了共享缓存,则另一个节点可以使用该信息而无需执行自己的查找。此缓存在所有节点间复制并通过重新引导持续存在、从而减少了 ONTAP 启动后的名称服务压力。

何时刷新 nblade 凭据缓存?

此缓存中条目的默认生存时间 (TTL) 为 24 小时。这意味着在 TTL 到期且客户端的操作需要该凭据时、对用户组成员身份所做的更改才会反映出来,从而导致该条目刷新。

如何查看 NBlade 凭证缓存条目?

可以从 Set diag 查看 nblade 凭据缓存条目。

Cluster01::*> nblade credentials show -node Node01 -vserver SVM01 -unix-user-name 用户 01

如何刷新 nblade 凭据和名称服务缓存以更新组成员身份?

在 nblade 缓存之前刷新名称服务缓存、以检索最新信息非常重要,因为 nblade 凭据缓存是根据从用户空间中的名称服务解析进程中提供的信息填充的。

适用于 ONTAP 9.3 及更早版本的步骤

从 SET DIAG :

Cluster01::*> secd cache clear-nfs -node Node01 -vserver SVM01 -user User01
Cluster01::*> nblade credentials flush -node Node01 -vserver SVM01 -unix-user-name User01

9.3 之后的步骤

从 SET DIAG :

如果使用 NIS 查询组成员身份,nis-domain group-database则应在刷新任何其他缓存之前重构建。
Cluster01::*> nis-domain group-database build -vserver SVM01

Cluster01::*> name-service cache group-membership delete -vserver SVM01 -user User01 -group PrimaryGID
Cluster01::*> diag nblade credentials flush -node Node01 -vserver SVM01 -unix-user-name User01

'name-service cache group-membership delete' 命令中的 '-group' 标志引用'name-service cache group-membership show -vserver SVM01 -user User01' 输出中的 'group' 字段。



从 SET DIAG 执行 9.4 之后的步骤:

Cluster01::*> vserver services name-service cache group-membership delete -vserver SVM01 -user User01 -group PrimaryGID
Cluster01::*> vserver nfs credentials flush -node Node01 -vserver SVM01 -unix-user-name User01
Cluster01::*> diag secd cache clear -node Node01 -vserver SVM01 -cache-name nis-group-membership
Cluster01::*> diag secd cache clear -node Node01 -vserver SVM01 -cache-name username-to-creds

'name-service cache group-membership delete命令中的 "-" 组 " 标志引用'name-service cache group-membership show -vserver SVM01 -user User01' 了输出中的 "Group" 字段。

其他信息

Name-Services 技术报告

有关 9.2 及以前版本的名称服务和最佳实践的详细信息,请参见 TR-4379 。  有关最佳实践准则 9.3 及之后的信息、请参见 TR-4668