この記事では、vCenter 2.x または vCenter Server 4.x で管理されている ESX ホスト間の vMotion CPU 互換性の制限をオーバーライドする方法について説明します。vCenter 1.x で管理されている ESX ホスト間の vMotion CPU 互換性の制限をオーバーライドする方法については、「vMotion CPU Compatibility - Migrations Prevented Due to CPU Mismatch - How to Override Masks for VirtualCenter 1.x (1011354)」を参照してください。
警告:特に記載されていない限り、移行後にアプリケーションやゲスト OS にエラーが発生する恐れがあるため、SSE3 などのアプリケーションで使用する CPU 機能の vMotion 制約の変更は、VMware ではサポートも推奨もしません。この記事に記載されているように、ESX 3.5 以降の一部のマスクでは体験版サポートを利用できます。機能の体験版サポートの詳細については、「http://www.vmware.com/support/policies/experimental.html」を参照してください。
VMware では、Enhanced vMotion Compatibility (EVC) を使用して vMotion の CPU 互換性に関するほとんどの問題を排除することをお勧めします。EVC の詳細については、「Enhanced vMotion Compatibility (EVC) processor support (1003212)」を参照してください。
マスク | ESX 2.x | ESX 3.x | ESX 4.x |
CMPXCHG16B (AMD) | サポート対象外 | ESX 3.5 より前ではサポート対象外。ESX 3.5 以降では試験的にサポート。 | 試験的にサポート |
FFXSR (AMD) | サポート対象外 | サポート対象外 | サポート対象外 |
NX (AMD) | サポート対象 | サポート対象 | サポート対象 |
RDTSCP (AMD) | サポート対象外 | ESX 3.5 より前ではサポート対象外。ESX 3.5 以降では試験的にサポート。 | 試験的にサポート |
SSE3 (AMD) | サポート対象外 | ESX 3.5 より前ではサポート対象外。ESX 3.5 以降では試験的にサポート。 | 試験的にサポート |
SSE3 (Intel) | サポート対象外 | サポート対象外 | サポート対象外 |
SSE4.1 (Intel) | サポート対象外 | ESX 3.5 より前ではサポート対象外。ESX 3.5 以降では試験的にサポート。 | 試験的にサポート |
SSE4.2 (Intel) | サポート対象外 | ESX 3.5 より前ではサポート対象外。ESX 3.5 以降では試験的にサポート。 | 試験的にサポート |
XD (Intel) | サポート対象 | サポート対象 | サポート対象 |
AES (Intel) | サポート対象外 | ESX 3.5 より前ではサポート対象外。ESX 3.5 以降では試験的にサポート。 | 試験的にサポート |
機能 | レベル | 行 | マスク |
SSE3 | 1 | ecx | ---- ---- ---- ---- ---- ---- ---0 -0-0 |
SSSE3 | 1 | ecx | ---- ---- ---- -0-- ---- --0- ---0 -0-- |
1 | edx | ---- ---- ---- --0- ---- ---- ---- ---- | |
SSE4.1 | 1 | ecx | ---- ---- ---- 0--- ---- ---- ---- ---- |
SSE4.2 | 1 | ecx | ---- ---- 0--0 ---- ---- ---- ---- ---- |
80000001 | edx | ---- 0--- ---- ---- ---- ---- ---- ---- | |
AES | a | ecx | ---- --0- ---- ---- ---- ---- ---- --0- |
機能 | レベル | 行 | マスク |
SSE3 | 1 | ecx |
---- ---- ---- ---- ---- ---- ---- ---0
|
RDTSCP | 80000001 | edx |
---- 0--- ---- ---- ---- ---- ---- ----
|
80000001 | ecx |
---- ---- ---- ---- ---- ---- ---- 0---
| |
CMPXCH16B
| 1 | ecx | ---- ---- ---- ---- --0- ---- ---- ---- |
FFXSR | 80000001 | edx |
---- --0- ---- ---- ---- ---- ---- ----
|
以下に、vpxd.cfg ファイルのコンテキストで表示されるタグ順序の例を示します。<config> と <vpxd> の開始タグと終了タグは、vpxd.cfg ファイルにすでに含まれています。<guestOSDescriptor> 開始タグは <vpxd> 開始タグの直後に指定し、ニーズに合わせて適切なタグを埋め込み、その後に </guestOSDescriptor> 終了タグを指定することができます。
<guestOSDescriptor> — <vpxd> 要素の直系の子孫(子)タグです。vpxd.cfg には単一の guestOSDescriptor 要素を含めることができます。 <host-product-and-version> — <guestOSDescriptor> の開始タグと終了タグ間に、マスクを適用するバージョンとホストを指定する複数のホスト-製品-および-バージョン-タグをネストできます。通常、ESX Server 2.x ホストの場合は <esx-2-x-x> 、ESX/ESXi 3.x ホストの場合は <esx-3-x-x> のように <host-product-and-version> タグを指定できますが、<esx-3-5-0> のように正確に指定することもできます。たとえば、タグ <esx-2-5-x> は、これ以降ネストされるマスクを適用する ESX サーバのさまざまなメンテナンス リリース レベルを特定します。 <virtual-machine-configuration-hardware-version> — 構成を仮想マシンのハードウェア バージョンで限定できます。たとえば、<all-versions> 、<vmx-03> 、<vmx-04> などです。<all-versions> が指定されている後述の例では、マスクが仮想マシンのすべてのハードウェア バージョンに適用されることを意味します。 <virtual-machine guest version> — ゲストのバージョンを指定できます。たとえば、<all-guests> 、<winXPPro64Guest> 、<winVistaGuest> などです。後述の例では <all-guests> が指定されているため、マスクがすべてのゲスト バージョンに適用されます。 <cpuFeatureMask> — このタグは実際のマスクの前に指定します。必要に応じて、<default-vendor> 、<amd> 、<intel> にマスクを定義します。マスクの定義に使用するタグ要素は、CPU マスクを識別します。要素の詳細には、ベンダー、CPU ID レベル、および CPU レジスタが含まれます。有効な選択を次に示します。
CPU vendor <default-vendor>, <amd>, <intel> CPU ID level <level-0>, <level-1>, <level-80000000>, <level-80000001> CPU register <eax>, <ebx>, <ecx>, <edx>
タグは、表に示す順序で埋め込む必要があります。CPU-ベンダー タグの後に、CPU-ID-レベル タグ、CPU-レジスタ タグの順で指定します。CPU-レジスタ タグの直後に、変更する機能の実際の 32 ビット レジスタ マスクを表す 32 のダッシュと x-s を続けます。このマスクの後に CPU-レジスタ-、CPU-ID-レベル-、CPU-ベンダー- 終了タグを続けます。
注:<default-vendor> タグを使用して定義されたマスクは、ベンダー固有のマスクが同一の CPU ID レベルに指定されていない場合にのみシステムで使用されます。
マスクの定義が終了したら、</guestOSDescriptor> で閉じます。