访问缓存的工作原理

ONTAP 使用访问缓存来存储为客户端对卷或 qtree 的访问操作计算导出策略规则的结果。这样有助于提升性能,因为与客户端每次发送 I/O 请求时都要计算导出策略规则相比,从访问缓存中检索信息的速度更快。

每当 NFS 客户端发送 I/O 请求来访问卷或 qtree 上的数据时,ONTAP 都必须评估每个 I/O 请求以确定批准还是拒绝 I/O 请求。此评估涉及检查与卷或 qtree 关联的导出策略的每个导出策略规则。如果卷或 qtree 路径涉及跨越一个或多个接合点,则可能需要对路径上的多个导出策略执行此检查。

请注意,对于 NFS 客户端发送的每个 I/O 请求(例如,读取、写入、列表、复制和其他操作),都会进行此评估;而不只是针对初始挂载请求。

ONTAP 确定适用的导出策略规则并决定允许还是拒绝请求后,ONTAP 会在访问缓存中创建一个条目来存储此信息。

当 NFS 客户端发送 I/O 请求时,ONTAP 会记录客户端的 IP 地址、SVM 的 ID 以及与目标卷或 qtree 关联的导出策略,并首先检查访问缓存以查找匹配的条目。如果访问缓存中存在匹配的条目,则 ONTAP 将使用存储的信息允许或拒绝 I/O 请求。如果不存在任何匹配的条目,则 ONTAP 会按照上述说明完成评估所有适用策略规则的常规过程。

从 ONTAP 9 开始,当前未使用的访问缓存条目将不会刷新。这样可减少与外部名称服务器之间不必要的通信资源浪费。

与为每个 I/O 请求完成整个导出策略规则评估过程相比,从访问缓存中检索信息的速度更快。因此,使用访问缓存可以减少客户端访问检查的开销,从而大幅提高性能。