Dmitry E. Mikhailov
2012-Feb-16 18:24 UTC
[CentOS-virt] new libvirt: CentOS 6.2 versus 6.0
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
On Thu, February 16, 2012 1:24 pm, Dmitry E. Mikhailov wrote:> 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) > > 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.Dmitry, I'd like to thank you for this post. I was having the same issue as your number 2. For me, it was an application running on windows 7, but the description of it loading at 100% was exact. I too went down the path of the virtual cpu change and setting the cpu type. I never managed to solve it until i say your post. I had the exact same require settings, but no disable settings. For my app, all I had to do was disable NX. I still have PAE enabled. Rather I have the generic feature enabled instead of tied to a CPU. Up until now, I had marked it down as bios issue, since I believe the bios had changed from centos 5.7 to 6.2. I had put the issue on a back burner since it wasn't a critical app and I was able to run in on a physical windows 7 box. Have you checked /usr/share/qemu-kvm/cpu-model/cpu-x86_64.conf to see what has changed from 6.0 to 6.2? The equivalent doesn't exist on my centos 5.7 box, so I'm having trouble determining the defaults from 5.7. Brad -- Bradley Leonard EMail: bradley at stygianresearch.com Rob - "The hills are alive with the..the..sound of monkeys?" Bucky - "It's in the key of delicious." Life is simple. Humans make it complicated.
Seemingly Similar Threads
- Error connecting to KVM on CentOS 6.2
- Problem with Centos 6.2 KVM
- Can I configure cores instead of CPU's
- CentOS 6.2 / kvm / Windows XP sp3 guest crashes repeatedly after a few minutes
- Re: 'virsh capabilities' on Debian Wheezy-amd64 reports different cpu to Wheezy-i386 (on same hardware)