免責事項:これは英文の記事「VMFS Heartbeat and usage of ATS」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
このKBでは、VMFSハートビート(HB)、ハートビートに関連する各種タイムアウト、および特定の状況でロックを取得するためにHBを使用する方法について簡単に説明します。
ESXi 8.x
VMFS ハートビート:
VMFS は分散ファイルシステムであるため、複数の ESX ホスト間で共有ストレージへのアクセスを調停するためにオンディスク・ロックに依存しています。VMFS はまた、共有ストレージを使用しているホストの生存を示すために、オンディスク・ハートビート・メカニズムを使用しています。
VMFS は、ファイルシステムを使用しているホストの生存を示すために、オンディスク・ハートビート (HB) メカニズムを使用しています。共有ストレージを使用するすべてのホストは、ATS を使用して、ディスク上の所定の領域にある自身の HB を更新し、自身が生存していることを示します。
VMFS ボリューム パーティション(実際のサイズとは異なります。)
上記の図を参照すると:
VMFSハートビートに関連するタイムアウト:
HB に関連する様々なタイムアウトは次のとおりです。
1. 定期的なハートビート間隔 (3 秒)– この間隔ごとに HB ATS が発行されます。
2. HB IO タイムアウト (8 秒) – 定期的なハートビート更新のための ATS コマンドに関連するタイムアウト。
3. HB リース・タイムアウト (16 秒) – 所有ホストの HB がこの期間更新されない場合、ディスク・ロックは古いと見なされます。
ATS とハートビート:
HB を更新するために、SCSI ATS という T10 コマンド(Opcode 0x89、比較および書き込み)を使用します。ATS はアトミックであり、使用規模を拡大できるため、お客様には HB に ATS を使用することを強く推奨します。ATS を使用しない場合の欠点は次のとおりです。
ATS サポートについては、バックエンド・アレイがATS サポートをしているか確認してください。
VMFS ボリュームにおけるオンディスク・ロックとハートビート・スロットの関係:
以前に述べたように、VMFS は分散ファイルシステムであるため、複数の ESX ホスト間で共有ストレージへのアクセスを調停するためにオンディスク・ロックに依存しています。オンディスク・ロックのサイズは 1 セクタで、保護しているメタデータの直前に配置されます。オンディスク・ロックの主要な内容の一部は次のとおりです。
1. ロック・タイプ – このロックが保護しているメタデータのタイプを識別します。
2. ロック・モード – ロックが解放されているか、排他的/読み取り専用などのモードでロックされているかを識別します。
3. ロック所有者 – 現在ロックを所有しているホストの UUID。
4. HB アドレス – 所有者の HB スロットのアドレス。
ここで、オンディスク・ロックと VMSF ハートビートの関係を理解するための例を見てみましょう。
ホスト(例:ホスト A)が特定のロックを必要とし、そのロックが現在解放されておらず(ロック・モード・フィールドによる)、別のホスト(例:ホスト B、ロック所有者フィールドによる)によってロックされている場合、HB アドレス・フィールドにより、ホスト A はホスト B の HB スロットを一定期間監視し、ホスト B が生存しているかどうかを判断できます。
ホスト A がホスト B が生存していないと判断した場合(ホスト B の HB スロットが 16 秒間更新されていない)、ホスト A はホスト B の HB スロットを「クリア」し、必要としていたロックを解除して、自身の操作を進めることができます。
詳細についてはこちらをご覧ください。 Disabling hardware accelerated locking (ATS) in ESXi