EVC は Enhanced vMotion Compatibility の略称です。 EVC により仮想マシンを異なる世代の CPU 間で移行できるようになります。
EVC により仮想マシンを異なる世代の CPU 間で移行できるようになるため、同じクラスタで古いサーバ世代と新しいサーバ世代を一緒使用して、vMotion で仮想マシンを これらのホスト間で移行できます。 これにより、より簡単に新しいハードウェアを既存のインフラストラクチャに追加し、既存のホストの価値を拡大することができます。 EVC により、完全クラスタ アップグレードが仮想マシンのダウンタイムなしで実行可能になります。 新しいホストをクラスタに追加すれば、仮想マシンを新しいホストに移行して、古いホストに取って代わることができます。
EVC は、VirtualCenter または vCenter Server inventory のクラスタに対して有効化されます。 EVC が有効化されると、vMotion による移行がクラスタ内のホスト間で可能になります。 このプロパティを保持するホストのみをクラスタに追加できます。
EVC が有効化されると、クラスタ内のすべてのホストがユーザー選択のプロセッサ タイプの CPU 機能をクラスタで実行されているすべての仮想マシンに表示するように構成されます。 これにより、基盤となるハードウェアがホスト間で異なる場合でも、vMotion に対する CPU の互換性が保証されます。 仮想マシンはクラスタ内のホスト間で移行可能になるように、仮想マシンが実行されているホストに関係なく、同じ CPU 機能が仮想マシンに公開されます。
vMotion による移行が EVC クラスタ内の仮想マシンに対して失敗する可能性はありますか?
はい。 CPU の互換性よりも多くの要因が vMotion の互換性の決定に使用されます。 たとえば、ソース ホストとターゲット ホストで共有されているストレージに仮想マシンが存在しない場合、これらのホスト間で vMotion による移行は発生しません。
EVC では AMD と Intel CPU が vMotion 互換になることは可能ですか?
いいえ。EVC が有効なクラスタではクラスタ内の単一のベンダーの CPU のみが許可されます。 VirtualCenter と vCenter Server では、異なるベンダーのホストを EVC が有効なクラスタに追加することはできません。
ESXi/ESX 3.5 Update 2 以降では、次の 2 つの EVC モードがサポートされています。
前の ESXi/ESX 3.5 リリースでは、これらのモードには単純に AMD と Intel のラベルが付けられていました。 以降の更新では、上記の名前が使用されています。
ESXi 5.0 では、次の EVC モードがサポートされています。
ESXi 6.0 では、次の EVC モードがサポートされています。
ESXi 6.5 では、次の EVC モードがサポートされています。
ESXi 6.7 では、次の EVC モードがサポートされています。
ESXi 7.0 では、次の EVC モードがサポートされています。
お使いの CPU との EVC モードの互換性を判断するには、『VMware Compatibility Guide』を検索します。 サーバ モデルまたは CPU ファミリーを検索し、[CPU Series(CPU シリーズ)] 列のエントリをクリックして、互換性のある EVC モードを表示します。
各モードは同じ名前のプロセッサで使用可能な機能に非常に密接に対応しています。 新しいプロセッサとその対応するモードには、新しい命令などの追加機能が含まれています。 たとえば、Intel Xeon Core i7 プロセッサには SSE4.2 命令セットが追加されました。 これらの命令は、前のプロセッサおよび対応する EVC モードでは使用できません。
AMD EVC モードは次の機能に対応します。
</>EVC モード | 使用可能な機能 |
AMD Opteron Generation 1 | AMD Opteron Rev. E CPU のすべての機能 |
AMD Opteron Generation 2 | AMD Opteron Generation のすべての機能と、CMPXCHG16B、RDTSCP などの追加の CPU 機能 |
AMD Opteron Generation 3 | AMD Opteron Generation 2 のすべての機能と、SSE4A、MisAlignSSE、POPCOUNT、ABM (LZCNT) などの追加の CPU 機能 |
AMD Opteron Generation 3 (no 3Dnow!) | AMD Opteron Generation 3 (Greyhound) プロセッサ("3DNow!" はサポートされなくなりました)のベースライン機能一式をクラスタ内のすべてのホストに適用します。 このモードは、AMD ホストを含むクラスタが 3DNow! がサポートされていない AMD プロセッサを受け入れるようにできるようにします。 |
AMD Opteron Generation 4 | AMD Opteron Generation 4 (Bulldozer) プロセッサのベースライン機能一式をクラスタ内のすべてのホストに適用します。 この EVC モードは、SSSE3、SSE4.1、AES、PCLMULQDQ、XSAVE、AVX、XOP および FMA4 などの追加の CPU 機能に対応します。 |
AMD Opteron "Piledriver" Generation | AMD Opteron "Piledriver" Generation プロセッサのベースライン機能一式をクラスタ内のすべてのホストに適用します。 この EVC モードは、FMA3(3 オペランドの FMA、aka Intel's FMA)、BMI1、TBM などの追加の CPU 機能に対応します。 |
AMD Opteron "Steamroller" Generation | AMD Opteron "Steamroller" Generation プロセッサのベースライン機能セットをクラスタ内のすべてのホストに適用します。 このEVCモードは、XSAVEOPTやFSGSBASEなどの追加のCPU機能を公開します。 |
AMD "Zen" Generation | AMD "Zen" Generation プロセッサのベースライン機能セットをクラスタ内のすべてのホストに適用します。 このEVCモードは、XSAVEOPT、RDFSBASE、RDGSBASE、WRFSBASE、WRGSBAS、FSGSBASEなどの追加のCPU機能を公開します。 |
AMD "Zen 2" Generation | AMD "Zen 2" Generation プロセッサのベースライン機能セットをクラスタ内のすべてのホストに適用します。 このEVCモードは、CLWB、UMIP、RDPID、ECX = 1のXGETBV、WBNOINVD、GMETなどの追加のCPU機能を公開します。 |
EVC モード | 使用可能な機能 |
Intel "Merom" Generation (Intel Xeon Core2) | Intel Core2 CPU のすべての機能 |
Intel "Penryn" Generation (Intel Xeon 45nm Core2) | Intel Core2 CPU のすべての機能と、SSE4.1 などの追加の CPU 機能 |
Intel "Nehalem" Generation (Intel Xeon Core i7) | Intel Core2 CPU のすべての機能と、SSE4.2 および POPCOUNT などの追加の CPU 機能 |
Intel "Westmere" Generation (Intel Xeon 32nm Core i7) | Intel Xeon 32nm Corei7 (Westmere) プロセッサのベースライン機能一式をクラスタ内のすべてのホストに適用します。 Intel Xeon Corei7 モードに比べて、この EVC モードは AES および PCLMULQDQ などの追加の CPU 機能に対応します。 注: AESNI および PCLMULQDQ がサポートされていない Intel i3/i5 Xeon Clarkdale Series プロセッサでは、Intel Xeon Corei7 モードよりも高い EVC モードは許可できません。 注: Intel Atom™ C2300-C2700 プロセッサでは、Intel "Westmere" Gen がサポートされています。 EVC ベースライン(アーキテクチャは Intel "Westmere" Generation プロセッサのアーキテクチャと異なります)。 |
Intel "Sandy Bridge" Generation | Intel “Sandy Bridge” Generation プロセッサのベースライン機能一式をクラスタ内のすべてのホストに適用します。 この EVC モードは、AVX、XSAVE、ULE などの追加の CPU 機能に対応します。 注: Sandy Bridge マイクロアーキテクチャ プロセッサの中には、Sandy Bridge 機能セットを使用できないものもあります。 そのようなプロセッサは、EVC モードをサポートしません。それらのプロセッサは、Intel Nehalem Generation モード以下でのみ認められます。 |
Intel "Ivy Bridge" Generation | Intel “Ivy Bridge” Generation プロセッサのベースライン機能一式をクラスタ内のすべてのホストに適用します。 この EVC モードは、ENFSTRING、F16C、FSGSBASE、SMEP および CPUID フォールトなどの追加の CPU 機能に対応します。 |
Intel "Haswell" Generation | Intel "Haswell" Generation プロセッサのベースライン機能一式をクラスタ内のすべてのホストに適用します。 この EVC モードは、Advanced Vector Extensions 2、FMA (fused multiply-add)、TSX (Transactional Synchronization Extensions)、および新しい BMI (bit manipulation instructions) などの追加の CPU 機能に対応します。 |
Intel "Broadwell" Generation | Intel "Broadwell" Generation プロセッサーのベースライン機能セットをクラスター内のすべてのホストに適用します。 このEVCモードは、 ADCX/ADOX, RDSEED, SMAP (CLAC/STAC), PREFETCHW, RTM (Restricted Transactional Memory)、HLE (Hardware Lock Elision) などの追加のCPU機能を公開します。 |
Intel "Skylake" Generation | Intel "Skylake" Generation プロセッサーのベースライン機能セットをクラスター内のすべてのホストに適用します。 このEVCモードは、Advanced Vector Extensions 512、Persistent Memory サポート、Protection Key 権限、圧縮によるプロセッサ拡張状態の保存、プロセッサ拡張状態の保存スーパーバイザーなどの追加のCPU機能を公開します。 |
Intel "Cascade Lake" Generation | Intel "Cascade Lake" Generation プロセッサーのベースライン機能セットをクラスター内のすべてのホストに適用します。 このEVCモードは、ECX = 1のVNNIやXGETBVなどの追加のCPU機能を公開します。 |
vCenter Server 4.0 に接続している vSphere Client では、ホスト [サマリ] タブに EVC が有効化どうかが示され、ホストの現在の EVC モードが表示されます。 EVC モードの横の青いアイコンをクリックすると、ホストに対してサポートされているすべての EVC モードのリストが表示されます。
VMware ではその他の CPU 機能だけでなく、互換性のある EVC モードを表示する無料の CPU 認識ユーティリティも提供しています。 download this utility を実行して、ISO イメージからホストを起動できます。
EVC が有効なクラスタを特定の EVC モードに設定し、クラスタ外に EVC モードに一致するホストがある場合、仮想マシンを vMotion でホストとクラスタ間で移行できますか?
はい、しかし常にではありません。場合によっては、EVCモードにスタンドアロンホストのすべての機能が含まれているとは限りません。スタンドアロンホストに対応するEVCモードよりも多くの機能がある場合、クラスターに一部の機能がない可能性があるため、スタンドアロンホストで電源がオンになっているVMをEVCクラスターにvMotionできない場合があります。不足している機能は、UIまたはvpxdログファイルで報告されます。
VMがEVCクラスターでパワーオンされている場合は、スタンドアロンホストに vMotion を行うことで、元に戻すことができます。
CPU generation のEVCモードには、CPU generation のサーバーSKUのセットから共通の機能セットを選択する必要があるなど、さまざまな理由でハードウェアのすべての機能が含まれていない場合があります。
異なるリビジョン番号 (v2、v3、v4) を持つ Xeon E3 または Xeon E5 ファミリーの Intel プロセッサを含むクラスタに対し EVC を有効にする場合、EVC ベースラインが必要です。 これは、新しい命令セットが異なるリビジョンで使用可能であるためです。 プロセッサは同じ EVC ベースラインになりますが、これはプロセッサが同じ命令セットを仮想マシンに表示するために必要です。
リビジョンが異なる Xeon プロセスと同様に、同じ Xeon ファミリー(E56xx、X56xx、L56xx など)の Intel プロセッサを持つクラスタに対し EVC を有効にする場合、EVC ベースラインが必要です。 これは、新しい命令セットが異なるリビジョンで使用可能であるためです。 プロセッサは同じ EVC ベースラインになりますが、これはプロセッサが同じ命令セットを仮想マシンに表示するために必要です。
EVC と古い CPUID マスキング機能([仮想マシン設定] ダイアログ ボックス、[オプション] タブ、[CPUID マスク] オプションからアクセス)の違いは何ですか?
古いマスキング機能では、手動マスクを個別の仮想マシンに適用していました。 EVC はクラスタ全体と、クラスタ内のすべての仮想マシンで有効になります。 より正確に言えば、EVC はホスト自体に影響します。クラスタ内のすべてのホストが、異なるタイプであっても同じタイプの CPU ハードウェアのように見えます。
仮想マシンの vmx 構成ファイルが CPUID ビットで更新されるのはなぜですか?
.vmx ファイルには、仮想マシンで使用されている機能に関する情報が含まれています。 VirtualCenter および vCenter Server で正確な vMotion 互換性チェックを行うにはこの情報が必要です。 これらの値は 、.vmx ファイルにも表示される古い CPUID マスク値には関連していません。
EVC が有効なクラスタからホストが削除されるとどうなりますか?
ホストは EVC が有効なクラスタを終了すると、その通常動作に戻ります。 そのホストで起動した新しい仮想マシンは CPU のすべての機能にアクセス可能で、ホストが EVC クラスタ内にある間に有効だった EVC モードによって制限されることはありません。 一度ホストへの移行が可能だった仮想マシンは移行が許可されない場合があることに注意してください。
EVC モードを上げると、仮想マシンはそのモードで使用可能な新機能にアクセスできますか?
仮想マシンをパワーオフしてからパワーオンすればアクセスできます。 ゲスト OS の再起動では十分でありません。 仮想マシンはパワーオン時に使用可能な機能を判断し、パワーオフするまで追加された新しい機能にアクセスできません。
正常でない動作をするアプリケーションは何ですか? それが EVC に影響するのはなぜですか?
正常でない動作をするアプリケーションとは、CPU でサポートされている機能の検出に CPU ベンダー推奨の方法を使用しないアプリケーションです。 推奨されている方法は、CPUID 命令を実行し、アプリケーションが使用しようとしている容量の正しい機能ビットを検索する方法です。 正常でない動作をするアプリケーションで使用されるサポート対象外の方法には、 try-catch-fail または CPU バージョン情報から示される機能の推定が含まれます。 サポート対象外の方法が使用されると、アプリケーションは仮想マシンからマスクされている EVC クラスタ内のホスト上の機能を検出することがあります。 CPU ベンダーによって提供される CPUID マスク MSR は、実際の機能を無効にしません。 そのため、アプリケーションはマスクされた機能を使用できます。 そのようなアプリケーションを実行している仮想マシンがこれらの機能を物理的にサポートしていないホストに vMotion で移行されると、アプリケーションが失敗することがあります。 VMware では、市販されている正常でない動作をするアプリケーションを認識していません。 詳細については、「Detecting and Using CPU Features in Applications (1005763)」を参照してください。
追加するホストの一部に AMD-V Extended Migration または Intel VT FlexMigration がない場合、EVC が有効なクラスタを作成できますか?
はい。 EVC が有効なクラスタには、AMD-V Extended Migration または Intel VT FlexMigration テクノロジーを特徴としないホストを含めることができます。 たとえば、Intel Xeon Core2 プロセッサには Intel VT FlexMigration テクノロジーはありませんが、Intel Xeon Core2 EVC モードで構成されたクラスタに追加できます。
ESXi/ESX 3.5 Update 1 以前のホストを EVC が有効なクラスタに追加できますか?
いいえ。EVC は ESXi/ESX 3.5 Update 2 以降でのみサポートされています。vCenter Server では EVC をサポートしないホストを EVC が有効なクラスタに追加できません。
新しいハードウェアを EVC が有効なクラスタに低い EVC モードで追加すると、パフォーマンスは低下しますか?
ホスト ハードウェアによって提供されるすべての CPU 機能は、ハイパーバイザーに使用可能です。 AMD-V や Intel VT-x などの CPU 仮想化用最適化、または AMD RVI や Intel EPT サポートなどの MMU 仮想化用機能は、ハイパーバイザーによって使用されます。 ホストが EVC が有効なクラスタに参加する際、新しい CPU に固有の CPU 命令のみが仮想マシンから非表示になります。 通常、これには最新の SSE 追加など、新しい SIMD 命令が含まれます。 仮想マシンで実行されているアプリケーションがこれらの機能を利用すること、アプリケーションのパフォーマンスが機能が含まれていない EVC モードを使用する結果として低くなることは可能ですが、可能性は低くなります。 アプリケーションで使用される CPU 機能を判断するには、アプリケーションのベンダーにお問い合わせください。
いつクラスタの EVC モードを上げられるかはどのようにわかりますか?
EVC が有効なクラスタの EVC モードは、EVC クラスタ内のすべてのホストで高いモードがサポートされている場合に上げることができます。 これは、古いホストがクラスタで使用されなくなり、新しいホストが追加されると時間を経て定期的に発生することがあります。 お使いのクラスタで現在使用可能な EVC モードを確認するには、[EVC モードの変更] ダイアログ ボックスを使用します。