LINUX.ORG.RU

Количество процессоров kvm

 , ,


0

2

Если задать число процессоров больше 1, семёрочка не устанавливается. Даже установщик не запускается, надпись Starting Windows, потом чёрный экран.
Если даже установить с 1 процессором, а потом добавить ещё процессоров, перестаёт запускаться, тоже чёрный экран.

Версия ovmf из какого-то rpm пакета edk2.git-ovmf-x64-0-20161011
В seabios (без efi) таких проблем нет.

Десяточка устанавливается, но её не хочу, хочу семёрочку.
Кто использует ovmf, это решается? Или фатальная несовместимость?

Ох епт, а я-то думал какого хрена семёрка у меня не ставилась. Так и поставил десятку, лол

false ★★★★★
()
Ответ на: комментарий от Ien_Shepard

Так даже с 1 процессором не запускается (установщик)

TheAnonymous ★★★★★
() автор топика
Ответ на: комментарий от TheAnonymous

Ставь в генту федору, а в федору семёрочку.

greenman ★★★★★
()

У меня на ovmf, на суперпроверенной ревизии (r15214) тоже зависает.

// Ставь Windows 8.1 Pro, самый лучший вантуз для машины.

slon
()
Ответ на: комментарий от TheAnonymous

qemu-kvm-2.6.2-1.fc24.x86_64

edk2-ovmf-20160418gita8c39ba-5.fc24.noarch

винда обычная pro, с сайта MS

dyasny ★★★★★
()

Наверное не выставил -M q35, или задаёшь именно numa -smp 4 а не ядра как -smp cores=4.

anonymous
()

тип машины какой? дефолтный pc? или q35?

demidrol ★★★★★
()
Ответ на: комментарий от slon

Windows 8.1

Мне не нравится, что нет темы aero, из альтернативы только мокрые письки от вованов, которые всё равно выглядят убого.
Даже меню пуск особо не нужно, и метро-приложения выпиливаются одной командой в powershell

TheAnonymous ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Тип машины был как раз q35, но на i440fx то же самое.

numa -smp 4 а не ядра как -smp cores=4.

Да, было так, но если выставить топологию 1 сокет, 4 ядра, не помогает

TheAnonymous ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Говорю же, с циррусом винда вообще не запускается, даже с 1 процессором.
Там же, кроме QXL и Cirrus, есть VGA - работает на 1 процессоре, на 4 черный экран, и VMVGA - вообще не стартует никак, даже efi-шелл.

Зачем?

Лучше работает проброшенная видеокарта, в отличие от bios, не портятся цвета в хостовой системе при запуске/перезагрузке (хоть и решается быстро: Ctrl+Alt+F1 и обратно-F7, но неприятно).
И не нужно городить целый экзоскелет из костылей, настраивается через libvirt, работает практически из коробки.
В противном случае нужно: скрипт в автозапуск, чтобы забиндить PCI-устройства к vfio; правила udev, чтобы права были у qemu; напрямую задавать ulimit для libvirtd; наконец, колхозить с <qemu:arg ... />

TheAnonymous ★★★★★
() автор топика
Последнее исправление: TheAnonymous (всего исправлений: 1)
Ответ на: комментарий от TheAnonymous

И не нужно городить целый экзоскелет из костылей

Знаешь, я ничего из описанного тобой не делал - просто поставил с virtio-драйверами и работаю, управляю через virsh.
Видео, правда, не пробрасывал, тк хожу туда все равно исключительно через rdesktop.

Deleted
()
Ответ на: комментарий от Deleted

Видео, правда, не пробрасывал

В этом вся суть.
libvirt не позволяет пробросить устройство как первую видеокарту, чтобы в параметрах qemu передалось x-vga=on
OVMF пофиг на это, если видеокарта поддерживает efi, но seabios тогда с ней не работает


Кстати, у меня тут появилась идея, можно написать что-то такое:

#!/bin/bash
/usr/bin/qemu-system-x86_64 ${@/host=02:00.0/host=02:00.0,x-vga=on}
где 02:00.0 - слот, в котором находится видеокарта

И задать этот скрипт в xml как значение <emulator>
Тогда ВМ стартует с биосом без костылей (других костылей), но при этом возникают другие проблемы, например, нельзя остановить машину через libvirt (видимо, прибивается только bash), не показывается загрузка процессора. Так что затея, видимо, не очень.

TheAnonymous ★★★★★
() автор топика
Последнее исправление: TheAnonymous (всего исправлений: 1)
Ответ на: комментарий от dyasny

Не понятно, ты же пишешь, что у тебя в федоре работает.
А выше тоже писали, что семёрка зависает.

С ovmf твоей версии (отсюда) тоже не работает.

Да и сборке чего? libvirt - по сути такая крутая обёртка над qemu, главное строчка запуска этого самого qemu. Не думаю, что его как-то по особому собирают, что на 1 процессоре семёрка запускается, а на нескольких нет, причем, на десятке всё ок.
Допускаю, что подобное могли делать производители реального железа, чтобы все добровольно-принудительно переходили на десяточку, но зачем это qemu?

Какой тип машины (q35/440), виртуальная видеокарта, модель виртуального процессора, топология, какие-то параметры для hyper-v, ещё много чего? Лучше полную команду запуска qemu

TheAnonymous ★★★★★
() автор топика
Ответ на: комментарий от TheAnonymous

Небольшой фикс - надо было использовать exec, тогда qemu заменяет шелл, а не создает новый процесс

#!/bin/bash
exec /usr/bin/qemu-system-x86_64 ${@/host=02:00.0/host=02:00.0,x-vga=on}

Вот так вроде даже ничего, можно пользоваться, только цвета на хосте всё равно портятся, в отличие от ovmf.

TheAnonymous ★★★★★
() автор топика
Ответ на: комментарий от TheAnonymous
 $ ps -ef |grep qemu
qemu     22419     1 47 11:18 ?        00:00:39 /usr/bin/qemu-system-x86_64 -machine accel=kvm -name win7,debug-threads=on -S -machine pc-i440fx-2.6,accel=kvm,usb=off,vmport=off -cpu Haswell-noTSX,+abm,+pdpe1gb,+rdrand,+f16c,+osxsave,+pdcm,+xtpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff -m 1024 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 6aa80973-b8d3-4767-ae73-74aa3469dff6 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-1-win7/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-reboot -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x6.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x6.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 -drive file=/var/lib/libvirt/images/win7.qcow2,format=qcow2,if=none,id=drive-virtio-disk0 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 -drive file=/home/dyasny/Downloads/en_windows_7_professional_with_sp1_x64_dvd_u_676939 (1).iso,format=raw,if=none,id=drive-ide0-0-1,readonly=on -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1,bootindex=1 -netdev tap,fd=25,id=hostnet0,vhost=on,vhostfd=27 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:46:89:0e,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -device usb-tablet,id=input0 -spice port=5900,addr=127.0.0.1,disable-ticketing,image-compression=off,seamless-migration=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vram64_size_mb=0,vgamem_mb=16,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0 -chardev spicevmc,id=charredir1,name=usbredir -device usb-redir,chardev=charredir1,id=redir1 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 -msg timestamp=on
dyasny ★★★★★
()
Ответ на: комментарий от TheAnonymous

и это работает, хотя я знаю (так как регулярно общаюсь с разработчиками) что для VFIO Q35 не нужен, и вообще не рекомендуется пока что

qemu     22762     1 85 11:23 ?        00:00:23 /usr/bin/qemu-system-x86_64 -machine accel=kvm -name win7-2,debug-threads=on -S -machine pc-q35-2.6,accel=kvm,usb=off,vmport=off -cpu Haswell-noTSX -drive file=/usr/share/edk2/ovmf/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on -drive file=/var/lib/libvirt/qemu/nvram/win7-2_VARS.fd,if=pflash,format=raw,unit=1 -m 1024 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 4cc40c46-618e-492a-ae8f-8dba1723b407 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-3-win7-2/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-reboot -global ICH9-LPC.disable_s3=1 -global ICH9-LPC.disable_s4=1 -boot strict=on -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 -device ich9-usb-ehci1,id=usb,bus=pcie.0,addr=0x1d.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pcie.0,multifunction=on,addr=0x1d -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pcie.0,addr=0x1d.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pcie.0,addr=0x1d.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x3 -drive file=/var/lib/libvirt/images/win7.qcow2,format=qcow2,if=none,id=drive-virtio-disk0 -device virtio-blk-pci,scsi=off,bus=pci.2,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 -drive file=/home/dyasny/Downloads/en_windows_7_professional_with_sp1_x64_dvd_u_676939 (1).iso,format=raw,if=none,media=cdrom,id=drive-sata0-0-0,readonly=on -device ide-cd,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0,bootindex=1 -netdev tap,fd=25,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:8b:b3:9e,bus=pci.2,addr=0x1 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -device usb-tablet,id=input0 -spice port=5900,addr=127.0.0.1,disable-ticketing,image-compression=off,seamless-migration=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vram64_size_mb=0,vgamem_mb=16,bus=pcie.0,addr=0x1 -device intel-hda,id=sound0,bus=pci.2,addr=0x2 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0 -chardev spicevmc,id=charredir1,name=usbredir -device usb-redir,chardev=charredir1,id=redir1 -device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x5 -msg timestamp=on
dyasny ★★★★★
()
Ответ на: комментарий от dyasny

У тебя в первом конфиге вообще без OVMF.
А вообще понятно, проблема у меня была здесь

-cpu Haswell,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff

Надо было убрать hyper-v из <features> и hypervclock.


и вообще не рекомендуется пока что

А это интересно, есть мнение, что для проброса PCI-E лучше как раз q35. Почему не рекомендуется?

TheAnonymous ★★★★★
() автор топика
Ответ на: комментарий от TheAnonymous

потому что оно конечно посвежее с т.з. эмулируемого железа, но какая нафиг в VM разница, какая шина или мост эмулируются, если они не настоящие, тебе например важно прицепленный ISO считает себя на IDE или на SATA?

Зато 440 прошел намного больше тестов за намного больше лет, работает стабильнее и умеет все то же самое.

Насчет hyper-v integrations я их тоже использовал, но не здесь. Все прекрасно работало (RHEL7/win7/RGS/K6000 VF passthrough), рендеры на тех машинах делались для нефтяников в америке, по замерам в 5 раз быстрее чем на Xen получилось.

dyasny ★★★★★
()
Ответ на: комментарий от dyasny

прицепленный ISO считает себя на IDE или на SATA?

Речь в контексте использования реальной pci-express видеокарты.
slon здесь недавно приводил цитату

This will allow for better support of PCI-E passthrough since ICH9 uses a PCI-E bus whereas the I440FX only supports a PCI bus

http://wiki.qemu.org/Features/Q35

А что, Q35 сейчас не проходит какие-то тесты? В чём это может проявляться?

hyper-v integrations я их тоже использовал, но не здесь. Все прекрасно работало

Именно с OVMF?
Без OVMF у меня тоже работает. И с OVMF, но с 1 процессором работает.
Не стартует только с OVMF и несколькими процессорами, с включенными hyper-v.
Это проблема семёрки? У неё всё-таки вообще, можно сказать, не полная поддержка uefi, например, стандартный драйвер видеокарты работает только с int10h, и для проброшенной видеокарты нужно сразу подсовывать драйвера от производителя.
Или стоит зарепортить кому-то?

TheAnonymous ★★★★★
() автор топика
Ответ на: комментарий от TheAnonymous

Речь в контексте использования реальной pci-express видеокарты.

с точки зрения vm это будет PCI карта. Скорость в виртуалке от этого не упадет.

This will allow for better support of PCI-E passthrough since ICH9 uses a PCI-E bus whereas the I440FX only supports a PCI bus

http://wiki.qemu.org/Features/Q35

идея понятна, но в реальности разницы нет. 440 работает стабильнее, VFIO там работает прекрасно, и помимо наглости разрабов nvidia которые мешают пробросу на уровне драйвера в винде, проблем нет. с quadro/tesla/etc в особенности проблем нет.

А что, Q35 сейчас не проходит какие-то тесты? В чём это может проявляться?

вы когда нибудь работали в организации которая разрабатывает софт? стабильность продукта, циклы тестирования - всего этого 440 получил на порядки больше.

Именно с OVMF?

нет, с BIOS.

Или стоит зарепортить кому-то?

думаю народу в QEMU можно зарепортить

dyasny ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.