Мы используем 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 + нормы + 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) E7- 4870 с частотой 2,40 ГГц (каждое с 10 физическими ядрами, с поддержкой HT и Intel VT)
- Гости Windows в настоящее время не имеют VirtIO, но это скоро изменится
На этом компьютере у нас работает несколько гостей Windows, один из которых - Windows 2003 32-разрядная, другая - Windows 2008 (64-разрядная). В настоящее время мы боремся с проблемами производительности и играем с моделями процессоров.
Мы обычно используем "qemu-system-x86_64 для нашего 32-битного гостя Windows, например:
/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 [...]
Производительность этого гостя оказалась немного низкой. Мы еще не запускали никаких тестов, но допустим, что копирование большого количества данных (файлов) внутри ВМ из одного каталога в другой происходит намного быстрее, когда мы переключаем модель ЦП с -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
Со всеми этими разными версиями сложно догадаться. "Nehalem", кажется, самый эффективный в этом списке. Теперь интересно, как определить, какая модель процессора лучше подходит для моего гостя? Просматривая интернет, я нашел следующие ресурсы:
- 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? Есть ли золотое правило или даже матрица, типа «эта модель является лучшей для этой гостевой ОС»?
Приношу свои извинения, если я смог найти эту информацию самостоятельно - я провел различные поиски в Google и просмотрел множество веб-сайтов. Я не смог найти то, что отвечает на мой вопрос.