Trident CSI NodeUnstage失敗:LUNクリーンアップの前にiSCSIセッションのログアウトが発生しました
環境
- NetApp Trident CSIドライバー(バージョン25.02.1以前、特に23.07および24.02)
- iSCSIをバックエンドとする永続ボリュームを使用するKubernetesクラスター
- Ubuntu 22.04ワーカーノード(マルチパス有効)
- iSCSIを使用したマルチアタッチシナリオ
- TridentがiSCSIセッションのライフサイクルを管理する環境
問題
永続ボリューム(PV)のデタッチ(NodeUnstage)処理中に、Tridentは、依存するすべてのLUNが完全にクリーンアップされる前に、複数のボリュームで共有されているiSCSIセッションからログアウトします。これにより、同じセッションを使用する他のボリュームに対する後続のNodeUnstage処理がデバイス検出エラーで失敗し、PVがスタックした状態になり、復旧にはホストの再起動が必要になります。
現象:
- Kubeletログには、永続的なUnmountDevice障害と「multi-attach」エラーが表示されます。
- Tridentログには繰り返し以下が表示されます:
level=warning msg="Could not get device info for removal, skipping host removal steps." error="scan not completed for LUN6 on target iqn.1992-08.com.netapp:sn.<serial>:vs.<vserver-id>"
- Tridentデバッグログ:
Logging out of session [sid:61,target:iqn.1992-08.com.netapp:sn.<masked>:vs.<id>,portal:10.x.x.x,3260] Logout of [sid:61,target:iqn.1992-08.com.netapp:sn.<serial>:vs.<vserver-id>,portal:10.x.x.x,3260] successful. ... Could not get device info for removal, skipping host removal steps. error="scan not completed for LUN6 on target iqn.1992-08.com.netapp:sn.<serial>:vs.<vserver-id>"- PVは「マルチアタッチ」状態のままであり、再利用することはできません。
- スタックしたデバイスをクリアするには、ホストの再起動が必要になることがよくあります。