StorePool 与 Lock Manager 对象之间的区别
适用于
- StorePool
- ONTAP 9
解答
- 什么是 StorePool ?
- storePool 是一组内存分配(池),用于协助 NFSv4/4.1 状态工作。
- 有 12 个不同的存储池对,它们涵盖多种区域。
- storePool 是一组内存分配(池),用于协助 NFSv4/4.1 状态工作。
StorePool 名称 | 说明 |
StorePool 字节锁定分配 | 字节范围锁定 |
StorePool 客户端分配 | 客户端 ID |
StorePool_CopyStateAlloc | 用于副本卸载相关工作 |
StorePool 委派 | 读取和写入委派(客户端缓存) |
StorePool_DelegStateAlloc | 委派状态 ID |
StorePool 布局分配 | 布局(用于 pNFS 转介) |
StorePool 布局状态分配 | 布局状态 ID |
StorePool 锁定状态分配 | 锁定状态 ID |
storePool_OpenAlloc | 打开 |
storePool_OpenStateAlloc | 打开 StateID |
storePool_OwnerAlloc | 所有者 |
StorePool 字符串分配 | 存储为客户端 ID 和所有者发送的不透明数据 |
- StorePool 资源位于何处?
- 每个节点都有自己唯一的 storePool 资源。这些 storePool 资源存储在每个节点的网络刀片( nblade )中。它们由在节点本地挂载 LIF 的客户端使用。
- StorePool 资源与锁定管理器对象有何不同?
- storePool 资源专用于执行 NFSv4/4.1 状态工作,它们不会跟踪文件系统层( dblade )上的打开 / 锁定文件。锁定管理器对象负责跟踪文件系统打开 / 锁定,包括解决打开 / 锁定冲突。
- StorePool 耗尽与锁定管理器对象耗尽有何不同?
- storePool 会在挂载 LIF 的节点的网络层( nblade )中耗尽。这是 NFSv4/4.1 对象已耗尽,需要跟踪状态。锁定管理器耗尽是指负责在文件系统层(数据刀片或 Dblade )打开 / 锁定文件的对象已耗尽。锁定管理器耗尽会影响发生耗尽的节点上的卷。
- 监控 StorePool 消耗:
statistics
当特定 " 池 " 已满时,可以使用计数器和警报警告来监控 StorePool 对象。池分配编号是动态的,应在客户端打开和关闭文件时不断变化。NetApp 可以通过命令手动检索计数器,并可通过脚本用于发出警报。在 ONTAP 9.2 及更高版本中,存在一个 EMS 事件,用于在 StorePool 资源达到其最大阈值的 80% 时发出警报。
- 特定客户端如何可能导致问题?
- 在某些情况下,客户端不会按照存储器所需的方式关闭其打开。发生这种情况时,客户端不会意识到它仍分配了该打开状态。在这种情况下,服务器不会删除 OpenState 对象,并且资源永远不会返回到池中。如果此行为持续存在,则可能会发生 storePool 耗尽,因为客户端行为会孤立服务器上的资源。转储 NFSv4 锁定可以显示哪个客户端正在接管 StorePool 中的所有分配。重新启动此客户端后, ONTAP 会释放与此客户端关联的 StorePool 资源。
- 客户端通过 NFSv4 在节点 A 上挂载 LIF ,并在节点 B 上挂载 LIF 。这两个挂载都会访问节点 A 上的卷节点 A 上的 storePool 资源已耗尽哪个挂载会受到影响?
- 只有节点 A 上的连接才会受到影响。这些分配位于 ONTAP 的 " 网络 " 层( nblade )上, ONTAP 是用于连接的节点。卷与问题无关的位置。
其他信息
附加信息 _text