什么是NFSv4存储池、为什么会存在这些存储池?
适用场景
- ONTAP 9
- NFSv4
问题解答
- ONTAP将有关NFSv4+状态的信息存储在称为存储池的内存分配中
- 每个StorePool都是一组内存分配(池)、用于促进NFSv4/4.1状态工作。
- 共有12个不同的存储池对、其中包含多个区域。
StorePool名称 | 问题描述 |
---|---|
StorePoool_ByteLockAlloc | 字节范围锁定 |
StorePoool_ClientAlloc | 客户端ID |
StorePoool_CopyStateAlloc | 用于与副本卸载相关的工作 |
StorePoool_DelegAlloc | 读取和写入委派(客户端缓存) |
StorePoool_DelegStateAlloc | 委派状态ID |
StorePoool_LayoutAlloc | 布局(用于pNFS转介) |
StorePoool_LayoutStateAlloc | 布局状态ID |
StorePoool_LockStateAlloc | 锁定状态ID |
StorePoool_OpenAlloc | 打开 |
StorePoool_OpenStateAlloc | 打开StateID |
StorePoool_OwnerAlloc | 所有者 |
StorePoool_StringAlloc | 存储为客户端ID和所有者发送的不透明数据 |
- StorePoool资源位于何处?
- 每个节点都有自己唯一的StorePoool资源。这些stor地 池资源存储在每个节点的网络刀片(nblade)中。它们由挂载节点本地的L的客户端使用。
- StorePoool资源与锁定管理器对象有何不同?
- store/ool资源专用于执行NFSv4/4.1状态 工作、它们不会跟踪文件系统层(dblade)的打开/锁定文件。锁定管理器对象负责文件系统打开/锁定跟踪、包括解决打开/锁定冲突。
- StorePool耗尽与 锁定管理器对象耗尽有何不同?
- 在挂载LIF的节点的网络层(nblade)会耗尽StorePoL。这表示NFSv4/4.1对象已用尽跟踪状态。锁定管理器耗尽是指负责在文件系统层(数据刀片或dblade)打开/锁定文件的对象耗尽。锁定管理器耗尽可能会影响发生耗尽的节点上的卷。
- 监控StorePoool使用量:
statistics
当特定"池" 变满时、可以通过计数器和警报警告来监控StorePool对象。池分配数是动态的 、在客户端打开和关闭文件时应不断更改。NetApp可以通过命令手动检索计数器、并可通过脚本编写警报来利用这些计数器。在ONTAP 9.2及更高版本中、存在一个EMS事件 、用于在 StorePoool资源达到其最大阈值的80%时发出警报。
- 特定客户端如何可能出现发生原因问题?
- 在某些情况下、客户端不会以文件管理器预期的方式关闭其打开的窗口。发生这种情况时、客户端 不会意识到 它仍然分配了该打开的。在这种情况 下、服务器不会删除OpenState对象、资源也不会返回到池中。如果此行为持续存在、则可能会发生StorePoool耗尽、因为客户端行为会孤立服务器上的资源。转储NFSv4锁定可以显示哪个 客户端正在占用StorePoool中的所有分配。重新启动此客户端后、ONTAP 将释放 与此客户端关联的StorePool资源。
- 客户端 通过NFSv4在节点A上挂载LIF、在节点B上挂载LIF。这两个挂载都会访问节点A上的卷节点A上的StorePool资源耗尽哪个挂载会受到影响?
- 只有节点A上的连接才会受到影响。这些分配位于 ONTAP的"网络"层(nblade)上、而nblade是用于连接的节点。卷与问题描述无关的位置。
追加信息