こんにちは
Windows開発統括部 Aaronです。
今週、米国でTechEd が行いました。さらにServer 2008 R2のHyper-Vの新機能を二つ追加されましたので、紹介したいと思っております。
ホストの64 Logical Processor (論理CPU?)のサポートが追加しました。最近のプロセッサだと4コアがあるとは当たり前ぐらいになりました。Intel の場合だと、そのプロセッサにSymmetric Multi-Threading(インテルだとHyperThreading)がサポートするとWindowsからみると8のプロセッサに見えます。
8物理プロセッサx8コアだと64 Logical Processorsになります。Hyper-VはR2だとそこまでもサポートします。Hyper-Vの予定は仮想プロセッサの8個だと物理コアは1個が必要となります。ひとつのホストで最高でも同時に384の仮想マシンを起動することをサポートします。
二つ目の新機能はHyper-V Processor Compatibility Mode(プロセッサ互換性モード?)です。
シナリオ:OSやアプリケーションはプロセッサの機能を調べるのはCPUIDで調べます。仮想OSもそのプロセッサの機能を使えます。でもServer 2008や2008 R2のFailover Clusterだとプロセッサが同一とは証明できません。Hyper-V のLive MigrationやQuick Migrationの機能で仮想マシンがサポートされていないプロセッサの機能のマシンへ移動させたら壊れる可能性が高いです。
Hyper-V Processor Compatibility Modeだと移動先のプロセッサが移動元のプロセッサと同じ(もしくは元より多い。。上位集合)じゃないと仮想マシンのMigrationが失敗されます。
Host A processor 機能
Host B processor 機能
VM migration
結果
Same as host B
(features: X, Y, Z)
Same as host A
Host A to Host B
Host B to Host A
成功
Superset of host B
(features: X, Y,Z)
Subset of host A
(features: X, Y)
Host A to Host B Host B to Host A
失敗 成功
Subset of host B
Superset of host A
成功 失敗
Different set of host B*
Different set of host A*
(features: Y, Z)
失敗 失敗
もちろんHost AとHost Bが同じプロセッサ機能をサポートしたらベストですが、そのじゃない場合でもHyper-Vが対応します。
RC版のHyper-VでProcessor Compatibility Modeを有効している場合、IntelからIntelやAMDからAMDのMigrationは何のプロセッサでも成功します。Compatibility Modeで起動するとプロセッサのアーキテクチャの最小公分母(Lowest Common Denominator) の機能リストを作成して、それしか使えないようにセットします。
注意:Processor Compatibility Modeが有効してもAMDからIntelやIntelからAMDへのMigrationは無効です。
注意:Processor Compatibility Modeはデフォルト設定は無効です。仮想マシンごとに有効することは可能です。
Processor Compatibility Modeが有効な場合のMigrationだと:
Processor features available to VM on ether host
Host A to Host B, Host B to Host A
成功 成功
X,Y,Z
X,Y
Different set of host B
Different set of host A
Y
これからもよろしくお願いいたします。
Aaron