Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

15.17. ゲスト仮想マシンの CPU モデルの設定

単純なデフォルトではゲスト仮想マシンの CPU 設定は、XML が表示するホスト物理マシンの機能と同じ基本的な XML 表現を受け入れます。つまり cpu-baseline virsh コマンドからの XML は、<domain> 要素の下で、トップレベルにあるゲスト仮想マシンの XML に直接コピーすることができます。以前の XML スニペットには、ゲスト仮想マシンの XML 内での CPU の記述の際に利用できるいくつかの追加の属性があります。これらはほとんど無視できますが、ここでそれらの属性の機能について簡単に説明します。トップレベルの <cpu> 要素には match という属性がありますが、以下の値を持つ可能性があります。
  • match='minimum' - ホスト物理マシン CPU には、少なくともゲスト仮想マシン XML 内に記述されている CPU 機能がなければなりません。ホスト物理マシンにゲスト仮想マシンの設定範囲を超える追加の機能がある場合は、それらはゲスト仮想マシンに対しても表示されます。
  • match='exact' - ホスト物理マシン CPU には、少なくともゲスト仮想マシン XML 内に記述されている CPU 機能がなければなりません。ホスト物理マシンにゲスト仮想マシンの設定範囲を超える追加の機能がある場合は、それらはゲスト仮想マシンには非表示となり隠されます。
  • match='strict' - ホスト物理マシン CPU には、ゲスト仮想マシン XML 内に記述してあるものと全く同じ CPU 機能がなければなりません。
次の強化では、 <feature> の各要素に「policy」属性を追加で持たせ、 以下のような値を設定することができます。
  • policy='force' - ホスト物理マシンが持たない機能の場合でもゲスト仮想マシンに対してその機能を表示します。これは通常、ソフトウェアエミュレーションの場合にのみ役立ちます。
  • policy='require' - ホスト物理マシンが持たない機能の場合でも、ゲスト仮想マシンに対してその機能を表示し、その後に失敗します。これは適切なデフォルトと言えます。
  • policy='optional' - サポートされる機能の場合、その機能をゲスト仮想マシンに表示します。
  • policy='disable' - ホスト物理マシンが持つ機能の場合、その機能はゲスト仮想マシンには非表示となり隠されます。
  • policy='forbid' - ホスト物理マシンが持つ機能の場合、失敗してゲスト仮想マシンの開始が拒否されます。
'forbid' ポリシーは、CPUID マスク内にない機能の場合でも、不正な動作をしているアプリケーションがその機能の使用を試みており、この機能を持つホスト物理マシン上でゲスト仮想マシンを間違って実行することを避けたい状況での特定のシナリオに対応します。'optional' ポリシーは、移行に関して特殊な動作をします。ゲスト仮想マシンが最初に開始される際にそのフラグは 'optional' ですが、ゲスト仮想マシンのライブマイグレーションの実行時には、このポリシーは 'require' に変わります。この理由は移行を通じて機能を消滅させることができないからです。