QEMU / KVM: Невозможно передать несколько ядер / процессоров гостям

кажется, что я не могу передать несколько ядер / процессоров гостям KVM. Что бы я ни делал, гости сообщают только об одном процессоре / ядре.

Аппаратное обеспечение хоста: Xeon E5620 на материнской плате Supermicro. Программное обеспечение хоста: 64-разрядная версия Ubuntu 11.04 (Natty).

Я собрал собственное (более новое) ядро ​​2.6.37 для Natty (поскольку у меня были определенные проблемы с PCI passthrough, если я использовал стандартное ядро). Я не изменял другие части дистрибутива; в частности, я использую оригинальный пакет qemu-kvm, который был включен.

Поскольку virt-manager и связанные с ним инструменты не работали с непонятными сообщениями об ошибках при попытке выполнить самое первое базовое действие, я запускаю виртуальные машины вручную, а не использую какие-либо оболочки / менеджеры. Я использую команды, подобные этой:

/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

Я также пробовал -cpu host и -smp cores = 1, threads = 1, сокеты = 2 (среди прочего).

Я использую несколько гостей Windows (Server 2003 R2 (32-разрядная версия), Server 2008 R2 (64-разрядная версия), Windows XP Pro (32-разрядная версия), Windows 7 Pro (64-разрядная версия) и гости Linux (Ubuntu 11.10 (64). Bit), Debian squeeze (32 Bit)), но все они сообщают только об одном процессоре / ядре, независимо от настроек -smp; кроме того, установка работает надежно.

Теперь мне действительно нужно дополнительное питание процессора в одном из гостей, поэтому мне интересно, что я делаю не так. Конечно, я читал об изменении HAL в Windows и пробовал несколько вещей (Uniprocessor HAL против Multiprocessor HAL), но безуспешно. Потратив целый день на решение проблемы, я теперь не знаю, что еще я мог сделать.

Кто-нибудь знает, что происходит не так? Есть ли какая-либо опция компиляции ядра (2.6.37), которая может быть ответственна за неспособность передать несколько ядер гостям? Должна ли версия qemu-kvm соответствовать версии ядра (при запуске гостей, как показано выше, предупреждающих сообщений нет)?

Большое спасибо,

Binarus

Обновление № 1:

Как и ожидалось, гостевая система Linux не показывает более одного процессора / ядра:

root@baldur:~# 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:

root@baldur:~#

Этот вывод имеет был создан для гостя с, был запущен с -cpu host и -smp 2.

5
задан 29 March 2012 в 19:19

1 ответ

Что ж, позор мне:

В середине командной строки выше уже есть опция "-smp 1" Я этого не помнил и не видел во время тестов. При удалении он работает как ожидалось.

0
ответ дан 29 March 2012 в 19:19

Другие вопросы по тегам:

Похожие вопросы: