vCenter Server の CPU 互換性チェックでは、ソース ホストで利用可能な CPU 機能、仮想マシンが利用可能な機能のサブセット、およびターゲット ホストで利用可能な機能を比較します。EVC を使用しない場合、2 台のホストのユーザーレベルでの機能に不一致があれば、仮想マシンがそれらの機能を利用するかどうかにかかわらず、移行はブロックされます。2 台のホストのカーネルレベルの機能が不一致であるために移行がブロックされるのは、仮想マシンがターゲット ホストにない機能を利用する場合に限定されます。
ユーザー レベルの機能は、仮想マシンのアプリケーションで使用される、権限のない命令です。これには、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 の非互換が発生することがあります。