Dell Unity/VNX: バージョン 5.5 u2 以降の ESXi ホストで接続がランダムに一時的に失われるか、パフォーマンスが低下します (ユーザーが修正可能)
Summary: 負荷の高いアレイ、ネットワーク、またはファブリックでは、ATSコマンドの速度が遅くなり、アレイがESXiで想定していないATSコマンドの不一致チェック条件を返す場合があります。 VMFSハートビート スロットでのこのATSの不一致により、ESXiホストはデバイスの制御を取り戻そうとします。これを行うために、ホストはVMFSを保持しているLUNでSCSIデバイスのリセットを発行します。このLUN上のアクティブなI/Oがすべて中止され、SCSIデバイスがリセットされます。接続が一時的に失われると、VMkernelログに表示されます。 ...
Symptoms
シナリオ:
- ESXi 5.5アップデート2またはESXi 6.0へのホスト アップグレード
- 1つ以上のESXiホストが、VMFSデータストアへの接続を短時間失います。データストア上のVMがクラッシュしたり、I/Oエラーが発生したりする可能性があります。
- VMFSハートビート スロットでのアトミック テスト アンド セット(ATS)の不一致により、ESXiホストはVMFSを保持しているLUNでSCSIデバイス リセットを発行して、デバイスの制御を取り戻そうとします。
- このLUN上のアクティブなI/Oはすべて中止され、SCSIデバイスはリセットされます。
- 接続が一時的に失われると、VMkernelログに表示されます。
ATSの不一致は、NMPとPowerPathの両方で発生する可能性があります。
ATSの不一致を示す次のようなエラー メッセージが/var/log/vmkernel.logに表示されます。
2015-11-20T22:12:47.194Z cpu13:33467)ScsiDeviceIO: 2645: Cmd(0x439dd0d7c400) 0x89, CmdSN 0x2f3dd6 from world 3937473 to dev "naa.50002ac0049412fa" failed H:0x0 D:0x2 P:0x0 Valid sense data: 0xe 0x1d 0x0.
発生する可能性のあるその他の問題:
- vSphere vCenterから切断されているホスト
- I/O操作でハングする仮想マシン
Cause
この問題は、ホストがI/O要求をキャンセルするほど過負荷になっているアレイ、ネットワーク、またはファブリックで発生します。
いくつかのアレイ ベンダー(Dellを含む)では、ESXi 5.5u2で導入されたATSハートビート機能に関する問題が発生しています。
メモ: Broadcom(VMware)KB 326437(外部リンク)によると、この問題はESXiバージョンVMware ESXi 5.5.xおよびVMware ESXi 6.0.xに影響しますが、特定のバージョンの一部が提供されていません。したがって、このKBでは、バージョン5.5u2以降のすべてのESXiホストと、すべてのESXi 6.0バージョンが影響を受けることを想定しています。
ホストは、特定のボリュームでハートビートに対してI/Oを定期的に実行することで、稼働状態を示します。したがって、ホストのハートビート スロットで一定期間アクティビティーが見られない場合は、ホストがボリュームへの接続を失ったと結論付けることができます
ATSハートビートI/Oのタイムアウト値が非常に低いため、ホストの切断やアプリケーションの停止につながる可能性があり、ディスクへの接続が失われたり、ホストのパフォーマンスが低下したりする可能性があります
次に、ホストはハートビート スロットに不一致を登録し、リセットを発行すると、LUN上のすべてのアクティブなIOを中止します。 このLUN上の保留中のIOはすべて、Host Sense 8 (H:0x8 SCSIリセット)で失敗します。
Resolution
この状態が確認された場合、推奨される一時的な回避策は、VAAI ATSハートビート メカニズムを無効にすることです。詳細については、「Broadcom (VMware) KB 326437 」(外部リンク) を参照してください。ATSハートビート メカニズムを無効にすると、ホストはレガシー モードに戻ります。負荷が解決したら、ATSハートビート メカニズムを再度有効にします
VMwareに連絡して問題を確認するか、確認のためにvmsupportを使用してESXi emcgrabを提供してください。ESXサーバーでVAAI ATSハートビート機能を無効にすることは、負荷の問題に対処できるようになるまで、影響を受けるお客様にのみ推奨されます。
Additional Information
Unityログを使用して、この特定のタイプの中止を特定できます(センス キー = 0e、ASC = 1d、ASCQ = 00)
抽出されたログ内のログの場所は次のとおりです。
ログを確認するには、上記の場所にあるすべてのc4_safe_ktrace.log*ログを抽出し、「SK = 0x0e、ASC/Q = 0x1d00」を探します
Linuxシステムまたは同様の例:
grep -i "SK = 0x0e, ASC/Q = 0x1d00" spa/EMC/C4Core/log/c4_safe_ktrace.* | wc -l 15744 <<<< count of aborts on SPA in this example.
ktrace ログが省略されていない場合は、単に zgrep を使用します。
zgrep -i "SK = 0x0e, ASC/Q = 0x1d00" spa/EMC/C4Core/log/c4_safe_ktrace.* | wc -l 15744 <<<< count of aborts on SPA in this example.