Ми використовуємо Ubuntu 12.04 із такими параметрами:
- Dell 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-загальний 1,0 + noroms-0ubuntu13
- qemu-kvm 1.0 + noroms-0ubuntu13
- 4 x процесор Intel (R) Xeon (R) E7- 4870 при 2,40 ГГц (у кожного з 10 фізичними ядрами, HT та Intel VT)
- Наразі у гостей Windows немає VirtIO, але це незабаром зміниться
На цій машині ми працюємо з декількома гостями Windows, один з них - 32-бітний Windows 2003, інший - Windows 2008 (64 біт). В даний час ми боремося з проблемами продуктивності і розігруємось з моделями процесора.
Ми зазвичай використовуємо "qemu-system-x86_64 для нашого Windows 32-бітового гостя, наприклад:
/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 з одного каталогу в інший йде набагато швидше, коли ми переключаємо модель процесора з "-cpu qemu32" на "-cpu Nehalem ". Файли, копіювання яких зайняло близько 2: 40 год, тепер копіюють протягом 40 хвилин. Звичайно, це не високоякісний тест, і є багато можливостей для більш професійної спроби. Але це чіткий показник того, що вибір правильної моделі процесора може сильно вплинути на продуктивність гостя.
Тепер я зацікавився і побіг:
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
З усіма цими різними версіями важко здогадатися. "Негалем", здається, найефективніший у цьому списку. Тепер мені цікаво, як сказати, яка модель процесора найкраща для мого гостя? Переглядаючи Інтернет, я знайшов такі ресурси:
- http://rwmj.wordpress.com/2010/10/08/32-or-64-bit-virtual-cpu-in-kvm/
- http://www.linux-kvm.org/page/Tuning_KVM
Коли я читаю ці сайти правильно, вони стверджують, що "-cpu хост" може принести найкращі показники. Я ще не переймаюся міграцією, оскільки обидва хости KVM обладнані однаково (фактично однаково обладнання).
Отже, що рекомендують досвідчені адміністратори KVM? Чи є золоте правило чи навіть матриця на кшталт "ця модель найкраща для цієї гостьової ОС"?
Вибачте, якщо я міг дізнатися цю інформацію самостійно - я провів різні пошукові пошуки Google і переглянув багато веб-сайтів. Мені не вдалося знайти те, що відповідає на моє запитання.