質問: kvm:どのcpu機能がvmの実行を向上させますか? 私たちは以下のパラメータでubuntu 12.04を使用しています: デルr910 カーネル3.2.0-25-generic#40-ubuntu smp x86_64 x86_64 x86_64 gnu/linux kvm 1:84 + dfsg-0ubuntu16 + 1.0 + noroms + 0ubuntu13 qemu-kvm 1.0 + noroms-0ubuntu13 qemu-common 1.0 + noroms-0ubuntu13 qemu-kvm 1.0 + noroms-0ubuntu13 4 x intel(r)xeon(r)cpu e7- 4870 @ 2.40ghz(それぞれ10個の物理コア、htおよびintel vt対応) windowsゲストには現在virtioがありませんが、まもなく変更されます このマシンでいくつかのwindowsゲストを実行しています。1つはwindows 2003 32ビット、もう1つはwindows 2008(64ビット)です。現在、パフォーマンスの問題に取り組んでおり、cpuモデルで遊んでいます。通常、windows 32ビットゲストには「qemu-system-x86_64」を使用します。例:/usr/bin/qemu-system-x86_64 -s -m pc-1.0 -cpu qemu32 -enable-kvm -m 4096 -smp 4,sockets=4,cores=1,threads=1 [...] このゲストのパフォーマンスは少し低いことがわかりました。ベンチマークはまだ実行していませんが、vm内の大量のデータ(ファイル)を1つのディレクトリから別のディレクトリにコピーすると、cpuモデルを「 -cpu qemu32 "から" -cpu nehalem "。コピーに約2時間40分かかったファイルは、40分以内にコピーされるようになりました。もちろん、これは高品質のテストではなく、より専門的な試みを行う余地があります。しかし、これは正しいcpuモデルを選択するとゲストのパフォーマンスに大きな影響を与える可能性があることを示す明確な指標。今私は好奇心を持って走りました:qemu-x86_64 -cpu ? x86 [n270] x86 [athlon] x86 [pentium3] x86 [pentium2] x86 [pentium] x86 [486] x86 [coreduo] x86 [kvm32] x86 [qemu32] x86 [kvm64] x86 [core2duo] x86 [phenom] x86 [qemu64] そして:kvm -cpu ?model x86 opteron_g3 amd opteron 23xx (gen 3 class opteron) x86 opteron_g2 amd opteron 22xx (gen 2 class opteron) x86 opteron_g1 amd opteron 240 (gen 1 class opteron) x86 nehalem intel core i7 9xx (nehalem class core i7) x86 penryn intel core 2 duo p9xxx (penryn class core 2) x86 conroe intel celeron_4x0 (conroe/merom class core 2) x86 [n270] intel(r) atom(tm) cpu n270 @ 1.60ghz x86 [athlon] qemu virtual cpu version 1.0 x86 [pentium3] x86 [pentium2] x86 [pentium] x86 [486] x86 [coreduo] genuine intel(r) cpu t2600 @ 2.16ghz x86 [kvm32] common 32-bit kvm processor x86 [qemu32] qemu virtual cpu version 1.0 x86 [kvm64] common kvm processor x86 [core2duo] intel(r) core(tm)2 duo cpu t7700 @ 2.40ghz x86 [phenom] amd phenom(tm) 9550 quad-core processor x86 [qemu64] qemu virtual cpu version 1.0 これらすべての異なるバージョンがあるため、推測するのは少し難しいです。 「nehalem」は、そのリストの中で最もパフォーマンスが高いようです。ここで、どのcpuモデルがゲストに最適であるかをどのように判断するのでしょうか。インターネットを閲覧して、次のリソースを見つけました。 http://rwmj.wordpress.com/2010/10/08/32-or-64-bit-virtual-cpu-in-kvm/ http://www.linux-kvm.org/page/tuning_kvm それらのサイトを正しく読んだとき、彼らは「-cpu host」が最高のパフォーマンスをもたらすかもしれないと主張しています。 kvmホストは同等に(まったく同じハードウェア)装備されているため、移行についての心配はまだありません。だから、経験豊富なkvm管理者は何を推奨しますか?「このモデルはそのゲストosに最適です」のようなゴールデンルールまたはマトリックスさえありますか?この情報を自分で見つけられたとしたら、すみません。さまざまなgoogle検索を実行し、多くのwebサイトを閲覧しました。私の質問に対する答えを見つけることができませんでした。
回答: とても簡単です。同種のクラスターと単一のホストのセットアップでは、hostオプションを使用します。混合クラスターの場合、使用可能な最も低いcpuバージョンを使用するため、一方のホストがpenrynで、もう一方のnehalemは、両方でpenrynを使用します。rhevまたはovirtを使用している場合、これはすでに組み込まれています。vmwareには「evc」と呼ばれるものがあり、これを巨大な機能として位置付けています。パフォーマンスに戻ると、virtioを配置できるすべての場所に間違いなく必要です。それでもパフォーマンスのボトルネックが発生した場合は、通常、発生場所に応じて、ケースごとに対処できます。[offtop]ディストリビューションの選択について、別のスレッドですでにコメントしました[/ offtop]