検索

14.16.3. ホスト物理マシンのプールに対応するための互換性のある CPU モデルの決定

download PDF
1 台のホスト物理マシンに搭載されている CPU 機能を確認できるようになりました。次の手順は、ゲスト仮想マシンに公開するのに最も適した CPU 機能を判断することです。ゲスト仮想マシンを別のホスト物理マシンに移行する必要がないことが分かっている場合は、ホスト物理マシンの CPU モデルを変更せずにそのまま渡すことができます。仮想化データセンターには、すべてのサーバーで 100% 同一の CPU が保証されるように設定されている場合があります。ここでも、ホスト物理マシンの CPU モデルは、変更せずにそのまま渡すことができます。ただし、より一般的なケースは、ホストの物理マシン間で CPU にバリエーションがある場合です。この混合 CPU 環境では、最も低い公共分母の CPU を決定する必要があります。これは完全に単純なものではないため、libvirt はこのタスクの API を提供します。libvirt が、ホストの物理マシンの CPU モデルをそれぞれ説明する XML ドキュメントの一覧を提供している場合、libvirt は、これらを CPUID マスクに内部的に変換し、その共通部分を計算して、CPUID マスクの結果を XML CPU 説明に戻します。
以下は、virsh capabilities の実行時に、libvirt が基本的なワークステーションの機能として報告する内容の例になります。

図14.3 ホストの物理マシンの CPU モデル情報をプルする


<capabilities>
  <host>
    <cpu>
      <arch>i686</arch>
      <model>pentium3</model>
      <topology sockets='1' cores='2' threads='1'/>
      <feature name='lahf_lm'/>
      <feature name='lm'/>
      <feature name='xtpr'/>
      <feature name='cx16'/>
      <feature name='ssse3'/>
      <feature name='tm2'/>
      <feature name='est'/>
      <feature name='vmx'/>
      <feature name='ds_cpl'/>
      <feature name='monitor'/>
      <feature name='pni'/>
      <feature name='pbe'/>
      <feature name='tm'/>
      <feature name='ht'/>
      <feature name='ss'/>
      <feature name='sse2'/>
      <feature name='acpi'/>
      <feature name='ds'/>
      <feature name='clflush'/>
      <feature name='apic'/>
    </cpu>
 </host>
</capabilities>
次に、同じ virsh capabilities コマンドを使用してランダムサーバーと比較します。

図14.4 ランダムなサーバーから CPU 説明を生成する


<capabilities>
  <host>
    <cpu>
      <arch>x86_64</arch>
      <model>phenom</model>
      <topology sockets='2' cores='4' threads='1'/>
      <feature name='osvw'/>
      <feature name='3dnowprefetch'/>
      <feature name='misalignsse'/>
      <feature name='sse4a'/>
      <feature name='abm'/>
      <feature name='cr8legacy'/>
      <feature name='extapic'/>
      <feature name='cmp_legacy'/>
      <feature name='lahf_lm'/>
      <feature name='rdtscp'/>
      <feature name='pdpe1gb'/>
      <feature name='popcnt'/>
      <feature name='cx16'/>
      <feature name='ht'/>
      <feature name='vme'/>
    </cpu>
    ...snip...
この CPU 説明が、以前のワークステーションの CPU 説明と互換性があるかどうかを確認するには、virsh cpu-compare コマンドを使用します。
縮小した内容は、virsh-caps-workstation-cpu-only.xml という名前のファイルに保存されており、このファイルで virsh cpu-compare コマンドを実行できます。
# virsh cpu-compare virsh-caps-workstation-cpu-only.xml
Host physical machine CPU is a superset of CPU described in virsh-caps-workstation-cpu-only.xml
この出力から分かるように、libvirt は、CPU との厳密な互換性がないことを正しく報告しています。これは、クライアント CPU にないサーバー CPU の機能が複数あるためです。クライアントとサーバー間で移行を行うには、XML ファイルを開いて、一部の機能をコメントアウトする必要があります。削除する機能を特定するには、両方のマシンの CPU 情報が含まれるboth-cpus.xmlvirsh cpu-baseline コマンドを実行します。 # virsh cpu-baseline both-cpus.xml を実行すると、以下が行われます。

図14.5 複合 CPU ベースライン


<cpu match='exact'>
  <model>pentium3</model>
  <feature policy='require' name='lahf_lm'/>
  <feature policy='require' name='lm'/>
  <feature policy='require' name='cx16'/>
  <feature policy='require' name='monitor'/>
  <feature policy='require' name='pni'/>
  <feature policy='require' name='ht'/>
  <feature policy='require' name='sse2'/>
  <feature policy='require' name='clflush'/>
  <feature policy='require' name='apic'/>
</cpu>
この複合ファイルでは、共通する要素が示されます。共通していないものはすべてコメントアウトする必要があります。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.