PowerFlex:调用 SDC 取消映射,结果大于缓冲区blkScsiCmd_UnmapWithSize
Summary: 此知识库文章介绍了日志条目详细信息及其对主机和存储系统的影响。
Instructions
SDC for VMware 安装在内核中,其日志记录将在 vmkernel.log 中显示。在 UNMAP作中,在执行 UNMAP作期间可能会显示以下警告:
Unmap called with a result larger than buffer.
有关 UNMAP 和回收的详细信息,请参阅以下知识库文章:
PowerFlex:回收精简资源调配卷上的 VMFS 删除的数据块
回收经过精简资源调配的 LUN 上的 VMFS 删除的数据块 (外部链接)
日志详细信息
vmkernel.log
2022-10-02T04:15:26.972Z cpu82:2377729)WARNING: PowerFlex blkScsiCmd_UnmapWithSize:391 :Error: Unmap called with result larger than buffer: Opcode UNMAP; command 0x0x45d9738c2b88; Buffer size: 24, Result size 34
- 警告- 事件识别 实际事件处于警告级别。上下文中提到的“错误”是 PowerFlex 在内部识别意外事件的内部用法。这并不意味着事件本身处于错误级别。
PowerFlex blkScsiCmd_UnmapWithSize- 处理 SCSI UNMAP 命令时,此消息来自 PowerFlex SDC。UNMAP 是用于空间回收的 SCSI 协议的一部分(类似于 SSD 中的 TRIM),允许主机通知存储系统某些数据块不再使用。-
PowerFlex 内部错误详细信息:
Opcode UNMAP→ 确认命令类型。-
缓冲区大小:24, Result size:34 → UNMAP作的响应大于存储中分配的缓冲区。
这是主机期望的内容与存储系统返回的内容之间的协议级别不匹配。
影响
-
这通常是非致命的,并不表示主机或存储端上的数据有任何问题。
-
当主机(例如 VMware ESXi 或 Linux 内核)发送 UNMAP 命令并且 PowerFlex SDC 驱动程序遇到超出预期大小的响应时,通常会发生这种情况。
-
在某些情况下可能会重试该作,但仅记录警告以提高可见性。
结论
此警告消息与 SCSI UNMAP 命令相关,该命令用于回收精简资源调配的存储阵列上的空间。在虚拟机中删除数据块时,虚拟机管理程序可以向存储阵列发送 UNMAP 命令,让其知道这些数据块不再使用并可以回收。
消息 "Unmap called with result larger than buffer" 表明要取消映射的数据的大小(“结果大小”)大于为作分配的缓冲区(”buffer size").
在 PowerFlex 中,如果报告要回收的字节数(结果大小)大于给定缓冲区大小(缓冲区大小),则结果大小将被截断为缓冲区大小(以避免缓冲区溢出)。
此警告表示在 SCSI UNMAP作期间缓冲区大小不匹配。它是无害的,只是化妆品。