[CentOS-virt] new libvirt: CentOS 6.2 versus 6.0
Dmitry E. Mikhailov
d.mikhailov at infocommunications.ru
Thu Feb 16 13:24:01 EST 2012
Hi,
About half a year ago I installed a stock CentOS 6.0/64bit onto an Intel
server to virtualize our Linux fileserver and four WinXP boxes with rdp each.
Since recent times I didn't do any upgrades of the server's OS. Now I have
CentOS 6.2.
After an upgrade I noticed that all virtual cpu name changed to
QEMU Virtual CPU version (cpu64-rhel6)
The new features were
1) The ability to specify cpu type and even exact capabilities
2) The ability to set the topology. It's good because before this ability
appears WinXP guests won't use more than two cores.
I got problem with both of these features.
First,
I can't manually specify cpu type 'qemu64' - virtmanager says my physical CPU
doesn't have some abilities. But if no CPU is specified, it is reported as
64bit
Second, a killer app on one of WinXP servers stopped working since upgrade.
It's a russian proprietary accounting app named 1C ver. 8.1 (1cv8.exe). It
would just hang loading single virtual CPU to 100%. I traced by
trial-and-error that the problem is related to virtual CPU identification.
Following solution would help:
<cpu match='exact'>
<model>Penryn</model>
<vendor>Intel</vendor>
<feature policy='require' name='tm2'/>
<feature policy='require' name='est'/>
<feature policy='require' name='monitor'/>
<feature policy='require' name='ds'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='vme'/>
<feature policy='require' name='ht'/>
<feature policy='require' name='dca'/>
<feature policy='require' name='pbe'/>
<feature policy='require' name='tm'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='ds_cpl'/>
<feature policy='require' name='xtpr'/>
<feature policy='require' name='acpi'/>
<feature policy='disable' name='nx'/>
<feature policy='disable' name='pae'/>
</cpu>
It wasn't working before I disabled PAE and NX.
Double checked. If I delete <cpu> part and thus leave it 'default', the
application won't work.
Third, initially I couldn't use more than two cores with single instance of
WinXP because every core was identified as a whole CPU and WinXP is limited
to two CPU's. So the idea is to allocate 4 cores and specify topology as 2
cpu, 2 cores, 1 thead. But if I specify ANY cpu topology manually, WinXP uses
100% of all physical CPU cores assigned to them even if guest OS's load is
zero. By the way, I got this behaviour from the very beginning if ACPI was
turned off for guest OS (which was default). So I rolled back to NOT
specifying CPU topology and allocating only two cores to WinXP. Bad...
BUT it started working properly after I did the aforementioned 'optimisation'
for tnat WinXP instance. Now I have it with 4 cores assigned. Mystery!
Help me please, what did I do wrong way?
Best regards,
Dmitry Mikhailov
Server configuration:
2x Intel(R) Xeon(R) CPU E5420 @ 2.50GHz
2x 2GB DDR-II FBDIMM
Intel motherboard with 5000P Chipset
Server's Mission: virtualization host system.
Virtualized OS's:
1xFile server on CentOS 5.5/32bit
4xWinXP machines for rdesktop each.
Software versions:
Before:
The kernel was 2.6.32-71.el6.x86_64
I'm sorry I don't have any data on software versions before upgrade. But it
was stock CentOS 6.0. I didn't use CR.
After:
kernel-2.6.32-220.4.1.el6.x86_64
libvirt-0.9.4-23.el6_2.4.x86_64
qemu-kvm-0.12.1.2-2.209.el6_2.4.x86_64
More information about the CentOS-virt
mailing list