vSphere フォールト トレランスは、フェイルオーバーが発生したときに、プライマリ仮想マシンと同じセカンダリ仮想マシンを作成および保持し、継続してプライマリ仮想マシンの代わりに使用できるようにして、仮想マシンに対して継続的な可用性を実現します。

ミッション クリティカルなほとんどの仮想マシンに対して、フォールト トレランスを有効にすることができます。セカンダリ仮想マシンと呼ばれる複製仮想マシンが作成され、仮想ロックステップ方式でプライマリ仮想マシンとともに動作します。VMware vLockstep は、プライマリ仮想マシンで発生する入力とイベントを取得し、それを別のホストで稼動しているセカンダリ仮想マシンに送信します。この情報を使用することで、セカンダリ仮想マシンはプライマリ仮想マシンと同一の動作を行います。セカンダリ仮想マシンは仮想ロックステップ方式でプライマリ仮想マシンとともに動作するため、中断することなくいつでも実行を引き継ぐことができます。 その結果、フォールト トレランスの保護を実現できます。

注:

プライマリ仮想マシンとセカンダリ仮想マシン間の FT ログ記録トラフィックは暗号化されず、ゲスト ネットワークおよびストレージ I/O データと、ゲスト OS のメモリの内容が含まれます。このトラフィックには、パスワードなどの機密情報がプレーンテキストで含まれる可能性があります。このようなデータの漏洩を回避するため、このネットワークは確実にセキュリティ保護し、特に中間者攻撃が防止されるように注意してください。たとえば、FT ログ記録トラフィック用にプライベート ネットワークを使用できます。

図 1. フォールト トレランス ペアのプライマリ仮想マシンとセカンダリ仮想マシン
フォールト トレランス ペアにはプライマリ仮想マシンとセカンダリ仮想マシンがあります。

プライマリ仮想マシンおよびセカンダリ仮想マシンは、常にハートビートを交換します。この交換により、仮想マシンのペアが互いのステータスを監視し、フォールト トレランスが継続して維持されます。プライマリ仮想マシンが稼動しているホストで障害が発生すると、透過的なフェイルオーバーが行われ、プライマリ仮想マシンの代わりにセカンダリ仮想マシンがすぐにアクティブになります。数秒間で新しいセカンダリ仮想マシンが起動し、フォールト トレランスの冗長性が再確立されます。セカンダリ仮想マシンが稼動しているホストで障害が発生すると、その場合もすぐに置き換えられます。いずれの場合も、ユーザーはサービスの中断やデータの損失を意識しません。

フォールト トレランス対応の仮想マシン、およびそのセカンダリ コピーは、同じホスト上で実行することはできません。この制限により、ホスト障害が発生しても、仮想マシンが両方とも失われることがなくなります。また、仮想マシンとホスト間のアフィニティ ルールを使用して、どのホストで仮想マシンを実行できるかを指定できます。これらのルールを使用する場合は、このようなルールの影響を受けるプライマリ仮想マシンすべてにおいて、関連付けられているセカンダリ仮想マシンも同じルールの影響を受けることを理解しておきます。アフィニティ ルールの詳細については、『vSphere リソース管理』ドキュメントを参照してください。

フォールト トレランスでは、障害からのリカバリ後に 1 台の仮想マシンの 2 つのアクティブ コピーが存在する、「スプリット ブレーン」 状態が防止されます。共有ストレージでアトミック ファイル ロックを使用してフェイルオーバーが調整され、一方のみがプライマリ仮想マシンとして稼動を続け、新しいセカンダリ仮想マシンが自動的に再作成されます。

注:

プライマリ仮想マシンがパワーオンされるときに、非アフィニティ チェックが行われます。プライマリ仮想マシンとセカンダリ仮想マシンが両方ともパワーオフの状態であれば、これらの 2 台の仮想マシンを同じホスト上に配置することが可能です。これは通常の動作であり、プライマリ仮想マシンがパワーオンされると同時に、セカンダリ仮想マシンは別のホスト上で起動されます。