[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