少し前まで、顧客は仮想マシンのプールを構築する必要がありました。仮想マシンは
HP ProLiant 6および5世代のサーバーで構成されていました。 これらのサーバーのプロセッサー:Xeon
E5502および
X3353 。 バージョン5.5以降、Xenは異種プロセッサプールをサポートしています。
4つのタイプの異種プールについて説明します。
- 生産性の低いホストに生産性の高いホストを追加します。
- 生産性の低いホストを生産性の高いホストに追加します。
- プール内の異なる相互に排他的なホストの組み合わせ。
- 同じ機能を持つ異なるCPUの組み合わせ。
タイプ1は、マスクされていない既存のプールとの互換性を確保するために、接続されたCPUにマスクを適用することを意味します。このオプションはXenServerに自動的に含まれます。 タイプ2は、既存のプールにマスクを適用することを意味し、追加されるサーバーはマスクされないままです。 タイプ3は、既存のプールとホストに共通のマスクを適用して互換性を持たせることを意味します。 タイプ2およびタイプ3は、XenAPIおよびXe CLIを介してサポートされます。 タイプ4は、マーケティング名は異なるがフラグと機能のセットが同じモデルに適しています。
ブログの1つで、マスクを手動で変更せずに2つのサーバーをプールに追加する
ビデオに出会いました。 残念ながら、私の場合、どの組み合わせでも、XenServerは「このサーバーのハードウェアはマスターのハードウェアと互換性がありません」と返しました。 マスクを適用しようとするだけでした。
既存のプールにマスクを適用すると、稼働中の仮想マシンに影響するため、ホストを再起動してマスクを適用する時間を選択する必要があります。
追加のニュアンスは、新しいプロセッサーと古いプロセッサーを、より生産的で生産的でないとは必ずしも言えないことです。 多くの場合、新しいプロセッサモデルは古いプロセッサにある機能を使用しないため、互換性が失われる可能性があります。 したがって、最新のプロセッサでホストマスクを使用する場合、古いプロセッサモデルを含むプールにホストマスクを接続するだけで十分であるという保証はありません。
サポートされているプロセッサの組み合わせは、
ハードウェア互換性リストに記載されています。
マスキングオプションの選択を取得します。
Citrix Xen Serverでは 、ホストで使用するプロセッサーを決定する必要があります。
私たちの場合、これらは
X3353 (4コア2.66GHz)と
E5502 (2コア1.86GHz)でした。
Citrix XenServerで
xe host-cpu-info
コマンドを使用してプロセッサー属性を検討します。
[host_a]
[host_b]
結果をE5502.txtおよびX3353.txtに保存します。
XenServer 5.5では、ベンダー、モデル、ファミリ、およびフラグの値が同じ場合にのみ、プロセッサをプールに追加できるという条件があります。
バージョン5.6以降、異種プールを作成するには、サーバープールと接続ホストのフラグ値のみが同一である必要があります。
Heterogeneous CPU Pool Self-Test Kitを使用して、マスクの互換性を確認します。
また、逆に、X3353がE5502プロセッサを備えたプールに追加された場合:
マスクは同じですが、アクションのタイプは異なります。
比較するプロセッサー機能 プロセッサ機能には、基本と高度の2つのセットがあります。 両方のタイプは、
ECXと
EDXとして知られる2つの半分に分けられます。 特定のプロセッサペアのマスキングオプションを決定するには、これらのプロセッサのマスキングレベルと組み合わせて関数の値を比較する必要があります。 簡潔にするために、XenServerは関数値を16進数で保存します。
E5502およびX3353プロセッサーの機能を検討してください。
|| CPU model || base_ecx || base_edx || ext_ecx || ext_edx || Masking level || | E5502 | 009ce3bd | bfebfbff | 00000001 | 28100800 | full | | X3353 | 000ce3bd | bfebfbff | 00000001 | 20000800 | base |
Base_ecxとExt_edxには違いがあります。関数をバイナリコードに変換して、関数ビットの特定の違いを確認します。
|| CPU model || base_ecx (bin) || ext_edx (bin) || | E5502 | 000100111001110001110111101 |101000000100000000100000000000 | | X3353 | 000000011001110001110111101 |100000000000000000100000000000 | | | xx | xx | | | 24 21 0 | 28 21 0 |
E5502プロセッサでは、ビット21と24がbase_ecxにありますが、X3353プロセッサにはありません。 E5502プロセッサのext_edx関数にはビット21と28が含まれていますが、これらはX3353にはありません。 なぜなら E5502プロセッサはマスキングレベル(フル)を完全にサポートし、X3353プロセッサは基本レベル(マスキングレベル:ベース)でマスキングをサポートするため、統合マスクが可能です。 マスクはビット単位のANDを計算することで計算できます。相互排他的なプロセッサ機能は無効になります。
|| CPU model || base_ecx (bin) || ext_edx (bin) || | E5502 | 000100111001110001110111101 |101000000100000000100000000000 | | X3353 | 000000011001110001110111101 |100000000000000000100000000000 | | | xx | xx | | Joint | 000000011001110001110111101 | 100000000000000000100000000000 |
16進形式で変換します。
|| base_ecx || ext_edx || | 000ce3bd | 20000800|
ext_ecxとbase_edxを変更せずにこれらの値を追加し、ユニオンマスクを取得します。
000ce3bd-bfebfbff-00000001-20000800
ハードウェア互換性リストを調べたところ、マスクが正しいと確信しています。
E5502プロセッサを搭載したホストにマスクを適用することは残ります。
xe host-set-cpu-features features=000ce3bd-bfebfbff-00000001-20000800 uuid=<host_uuid>
ホストの再起動後、E5502プロセッサにはX3353と同じ機能があります。
物理的機能は変更されません。
現在、互換性
マトリックスには新しいE5-2400およびE5-2600プロセッサーはありません。HPProLiantサーバーの次のBIOSアップデートのリリース後、Gen8世代の新しいプロセッサーのマスキングはサポートされます。
E5-2680プロセッサの機能はbase_ecxのみでE5502の機能と異なり、新しいプロセッサはFlex移行機能をサポートしていることがわかります(必要に応じて)、マスクは次のようになります。
009ce3bd-bfebfbff-00000001-2c100800
ですが、更新されたBIOSバージョンのみです。
CPUマトリックスによる
と 、E5-2600プロセッサーはサポートされており、XenServer 6.0で使用できますが、これまでは同種のプールでのみ使用できます。