PowerFlex:在結果大於緩衝區blkScsiCmd_UnmapWithSize的情況下呼叫 SDC 取消對應
Summary: 本知識文章說明記錄項目詳細資料,以及對主機和儲存系統的影響。
Instructions
適用於 VMware 的 SDC 已安裝在核心中,其記錄會顯示在vmkernel.log中。在 UNMAP 操作中,在 UNMAP 操作期間可能會顯示以下警告:
Unmap called with a result larger than buffer.
如需有關 UNMAP 和回收的詳細資訊,請參閱下列 KB:
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、結果大小:34 → UNMAP 操作的回應大於存儲中分配的緩衝區。
這是主機預期內容與存儲系統返回內容之間的協議級別不匹配。
影響
-
這通常是非致命的,並不表示主機或存儲端的數據有任何問題。
-
當主機 (例如 VMware ESXi 或 Linux 核心) 傳送 UNMAP 命令,而 PowerFlex SDC 驅動程式遇到超過預期大小的回應時,通常會發生這種情況。
-
在某些情況下,該操作可能會重試,但僅會記錄警告以供可見性。
結論
此警告訊息與 SCSI UNMAP 命令相關,該命令用於回收精簡隨需分配儲存陣列上的空間。刪除虛擬機器內的資料區塊時,虛擬機監控程式可以傳送 UNMAP 命令到儲存陣列,通知其區塊已停止使用,且可回收。
訊息 "Unmap called with result larger than buffer" 表明未映射的數據的大小(“結果大小”)大於為操作分配的緩衝區(”buffer size").
在 PowerFlex 中,如果報告要回收的位元組數 (結果大小) 大於指定的緩衝區 (緩衝區大小),則結果大小會截斷為緩衝區大小 (以避免緩衝區溢出)。
此警告表示在 SCSI UNMAP 作業期間出現緩衝區大小不相符的情況。它是無害的,只是表面的。