vCenter Server の CPU 互換性チェックでは、ソース ホストで利用可能な CPU 機能、仮想マシンが利用可能な機能のサブセット、およびターゲット ホストで利用可能な機能を比較します。EVC を使用しない場合、ホストのユーザーレベル機能に不一致があれば、仮想マシン自体がそれらの機能を利用するかどうかにかかわらず、移行はブロックされます。ただし、ホストのカーネルレベルの機能に不一致がある場合は、仮想マシンがターゲット ホストにない機能を利用する場合に限り移行がブロックされます。
ユーザー レベルの機能は、仮想マシンのアプリケーションで使用される、権限のない命令です。これには、SSE3、SSSE3、SSE4.1、SSE4.2、および AES が含まれます。これらは仮想化レイヤーをバイパスするユーザー レベルの命令であるため、vMotion で移行したあとに一致しないと、アプリケーションが不安定になる場合があります。
カーネル レベルの機能は、仮想マシンのオペレーティング システムで使用される、権限を持つ命令です。これには、AMD No eXecute (NX) および Intel eXecute Disable (XD) というセキュリティ機能が含まれます。
vMotion で仮想マシンを移行しようとするときは、次のシナリオのいずれかが適用されます。
- ターゲット ホストの機能セットは、仮想マシンの CPU 機能セットと一致します。CPU の互換性要件を満たしており、vMotion での移行が進行します。
- 仮想マシンの CPU 機能セットに、ターゲット ホストでサポートされていない機能が含まれています。CPU の互換性要件を満たしておらず、vMotion での移行は進行できません。
注: EVC は、クラスタ内で実行しているすべての仮想マシンに対して「ベースライン」機能を提供することで、このような互換性のない状態を克服します。このベースライン機能セットにより、クラスタ化されたホストの CPU の差異は、仮想マシンから隠されます。
- ターゲット ホストは、仮想マシンの機能セットに加えて、仮想マシンの機能セットに含まれていない追加のユーザーレベルの機能(SSE4.1 など)をサポートしています。CPU の互換性要件を満たしておらず、vMotion での移行は進行できません。
注: このような種類の非互換性は、EVC クラスター内のホスト間の移行では無視されます。
- ターゲット ホストは、仮想マシンの機能セットに加えて、仮想マシンの機能セットに含まれていない追加のカーネルレベルの機能(NX や XD など)をサポートします。CPU の互換性要件を満たしており、vMotion での移行が進行します。仮想マシンはパワーオンされている間、自分自身の CPU 機能セットを保持しており、元のホストに自由に移行して戻すことができます。ただし、仮想マシンが再起動すると、新しいホストから新しい機能セットが取得されます。このプロセスにより、仮想マシンを元のホストに戻そうとした場合に、vMotion の非互換が発生することがあります。