Wir verwenden Ubuntu 12.04 mit folgenden Parametern:
- Dell R910
- Kernel 3.2.0-25-generisch # 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 bei 2,40 GHz (jeweils mit 10 physischen Kernen, HT und Intel VT aktiviert)
- Die Windows-Gäste haben derzeit kein VirtIO, aber das wird sich bald ändern
Auf diesem Computer werden mehrere Windows-Gäste ausgeführt, einer davon ist Windows 2003 32 Bit, ein anderer Windows 2008 (64 Bit). Wir haben derzeit mit Leistungsproblemen zu kämpfen und haben mit den CPU-Modellen herumgespielt.
Wir verwenden normalerweise "qemu-system-x86_64" für unseren Windows 32-Bit-Gast, zB:
/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 [...]
Die Leistung dieses Gastes fiel etwas gering aus. Wir haben noch keinen Benchmark durchgeführt, aber nehmen wir an, dass das Kopieren großer Datenmengen (Dateien) innerhalb der VM von einem Verzeichnis in das andere viel schneller geht, wenn wir das CPU-Modell von "-cpu qemu32" auf "-cpu Nehalem" umstellen ". Das Kopieren von Dateien dauerte ca. 2: 40h. Jetzt innerhalb von 40 Minuten kopieren. Natürlich ist dies kein qualitativ hochwertiger Test und es gibt viel Raum für einen professionelleren Versuch. Dies ist jedoch ein klarer Hinweis darauf, dass die Auswahl des richtigen CPU-Modells die Leistung des Gasts erheblich beeinträchtigen kann.
Jetzt wurde ich neugierig und lief:
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]
Und:
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
Bei all diesen verschiedenen Versionen ist es ein bisschen schwer zu erraten. "Nehalem" scheint auf dieser Liste am performantesten zu sein. Nun frage ich mich, wie ich feststellen kann, welches CPU-Modell für meinen Gast am besten geeignet ist. Beim Surfen im Internet habe ich folgende Ressourcen gefunden:
- http://rwmj.wordpress.com/2010/10/08/32-or-64-bit-virtual-cpu-in-kvm/
- http://www.linux-kvm.org/page/Tuning_KVM
Wenn ich diese Sites richtig lese, behaupten sie, dass "-cpu host" die beste Leistung bringen könnte. Ich mache mir noch keine Sorgen um die Migration, da beide KVM-Hosts gleich ausgestattet sind (genau die gleiche Hardware).
Was empfehlen erfahrene KVM-Administratoren? Gibt es eine goldene Regel oder sogar eine Matrix wie "Dieses Modell ist das beste für dieses Gastbetriebssystem"?
Ich entschuldige mich dafür, dass ich diese Informationen selbst herausfinden konnte. Ich habe verschiedene Google-Suchanfragen durchgeführt und viele Websites durchsucht. Ich konnte nichts finden, was meine Frage beantwortet.