sembra che non sia in grado di passare più core/CPU agli ospiti KVM. Qualunque cosa io faccia, gli ospiti segnalano solo una CPU/core.
Hardware host:Xeon E5620 su una scheda madre Supermicro
Software host:Ubuntu 11.04 (Natty) 64-Bit
Ho compilato il mio kernel (più recente) 2.6.37 per Natty (poiché ho avuto alcuni problemi con il passthrough PCI se ho usato il kernel standard). Non ho alterato le altre parti della distribuzione; in particolare, sto usando il pacchetto qemu-kvm originale che era incluso.
Poiché virt-manager e i relativi strumenti non funzionavano con messaggi di errore incomprensibili durante la prima azione di base, sto avviando le macchine virtuali manualmente invece di utilizzare qualsiasi wrapper/gestore. Sto usando comandi come questo:
/usr/bin/qemu-system-x86_64 -M pc -cpu host -smp cores=2,threads=1,sockets=1 -drive file=/dev/sda6,if=virtio,cache=none,index=0 -drive file=/dev/sdb,if=virtio,cache=none,index=1 -cdrom /dev/cdrom -pidfile ./qemu-garak.pid -boot c -k de -m 4096 -smp 1 -device pci-assign,host=01:05.0 -daemonize -usb -usbdevice "tablet" -name garak -net nic,vlan=0,model=virtio,macaddr=02:01:01:01:01:01 -net tap,vlan=0,ifname=virtnet1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifup -vnc :1
Ho anche provato -cpu host e -smp cores=1,threads=1,sockets=2 (tra le altre cose).
Sto eseguendo diversi guest Windows (Server 2003 R2 (32 bit), Server 2008 R2 (64 bit), Windows XP Pro (32 bit), Windows 7 Pro (64 bit)) e guest Linux (Ubuntu 11.10 (64 bit), Debian squeeze (32 Bit)), ma tutti questi riportano solo un processore/core, indipendentemente dalle impostazioni -smp; oltre a ciò, l'installazione funziona in modo affidabile.
Ora, ho davvero bisogno di ulteriore potenza della CPU in uno degli ospiti, quindi mi chiedo cosa sto facendo di sbagliato. Naturalmente, ho letto della modifica dell'HAL in Windows e ho provato diverse cose (HAL Uniprocessore vs. HAL multiprocessore), ma senza successo. Dopo aver dedicato un'intera giornata a cercare di risolvere il problema, ora non so cos'altro potrei fare.
Qualcuno ha idea di cosa stia andando storto? C'è qualche opzione di compilazione del kernel (2.6.37) che potrebbe essere responsabile dell'impossibilità di passare più core ai guest? La versione qemu-kvm deve adattarsi alla versione del kernel (non ci sono messaggi di avviso quando avvio i guest come mostrato sopra)?
Grazie mille,
Binaro
Aggiornamento n. 1:
Come previsto, anche un guest Linux non mostra più di una CPU/core:
[email protected]:~# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU E5620 @ 2.40GHz
stepping : 2
cpu MHz : 2400.400
cache size : 4096 KB
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc up nopl pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm
bogomips : 4800.80
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
[email protected]:~#
Questo output è stato prodotto su un guest che è stato avviato con -cpu host e -smp 2.
Relazionato:Gitkraken non si installa?Risposta accettata:
Ebbene, vergognati:
Nel mezzo della riga di comando sopra, c'è già un'opzione "-smp 1". Non me lo ricordavo, e non l'ho visto durante i miei test. Quando lo rimuovi, funziona come previsto.