LINUX.ORG.RU
решено ФорумAdmin

В libvirt неправильно указана архитектура ЦП

 , ,


0

1

Создал ВМ с архитектурой x86_64:

sudo virt-install -n vm_name -r 512 --arch=x86_64 --hvm --vnc --os-type=linux --os-variant=debianwheezy --disk path=/dev/vg0/vm_vm_name --noautoconsole --network bridge=br0 --import

При попытке загрузки с диска VNC виснет на GRUB'е.
При попытке загрузки с debian-7.7.0-amd64-netinst вылетает ошибка:

This kernel requires an x86-CPU cpu but only detected an i686 CPU.

Т.е. ошибка где-то в настройках ВМ. Но в virsh указано следующее:

<os>
    <type arch='x86_64' machine='pc-i440fx-2.1'>hvm</type>
    <boot dev='cdrom'/>
    <boot dev='hd'/>
    <bootmenu enable='yes'/>
  </os>

Полный конфиг.
На хосте Debian Jessie, на ВМ Debian Wheezy.
Почему libvirt не поняла какую архитектуру я хочу?

★★

Покажи с какими параметрами запускается qemu.

И ещё: у тебя хостовая то система 64х-разрядная?

Deleted
()
Ответ на: комментарий от dhameoelin
> cat /proc/cpuinfo | grep vmx       
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
SaBo ★★
() автор топика
Ответ на: комментарий от Deleted

Покажи с какими параметрами запускается qemu.

Оно?

> sudo virsh domxml-to-native qemu-argv /etc/libvirt/qemu/vm_name.xml
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/kvm -name vm_name -machine pc-i440fx-2.1,accel=kvm,usb=off -cpu n270 -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid f89f1c7a-f47a-4498-887d-3b66067e26c4 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/vm_name.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -boot order=dc,menu=on,strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x4.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x4 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x4.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x4.0x2 -drive file=/dev/vg0/vm_vm_name,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=native -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0 -drive file=/mnt/sabo/debian-7.7.0-amd64-netinst.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:a9:17:bb,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc 127.0.0.1:0 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -msg timestamp=on

И ещё: у тебя хостовая то система 64х-разрядная?

Да:

> uname -a
Linux vm_host 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u4 (2015-09-19) x86_64 GNU/Linux
SaBo ★★
() автор топика
Ответ на: комментарий от Deleted

Ага, в KVM передаётся процессор n270. А n270 это:

> kvm -cpu help | grep n270
x86             n270  Intel(R) Atom(TM) CPU N270   @ 1.60GHz

Интересно, почему? На том же железе и с тем же конфигом в Debian 7 всё работает.

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

У меня почему-то KVM вообще не видит x86_64:

> kvm -cpu help            
x86           qemu64  QEMU Virtual CPU version 2.1.2                  
x86           phenom  AMD Phenom(tm) 9550 Quad-Core Processor         
x86         core2duo  Intel(R) Core(TM)2 Duo CPU     T7700  @ 2.40GHz 
x86            kvm64  Common KVM processor                            
x86           qemu32  QEMU Virtual CPU version 2.1.2                  
x86            kvm32  Common 32-bit KVM processor                     
x86          coreduo  Genuine Intel(R) CPU           T2600  @ 2.16GHz 
x86              486                                                  
x86          pentium                                                  
x86         pentium2                                                  
x86         pentium3                                                  
x86           athlon  QEMU Virtual CPU version 2.1.2                  
x86             n270  Intel(R) Atom(TM) CPU N270   @ 1.60GHz          
x86           Conroe  Intel Celeron_4x0 (Conroe/Merom Class Core 2)   
x86           Penryn  Intel Core 2 Duo P9xxx (Penryn Class Core 2)    
x86          Nehalem  Intel Core i7 9xx (Nehalem Class Core i7)       
x86         Westmere  Westmere E56xx/L56xx/X56xx (Nehalem-C)          
x86      SandyBridge  Intel Xeon E312xx (Sandy Bridge)                
x86          Haswell  Intel Core Processor (Haswell)                  
x86        Broadwell  Intel Core Processor (Broadwell)                
x86       Opteron_G1  AMD Opteron 240 (Gen 1 Class Opteron)           
x86       Opteron_G2  AMD Opteron 22xx (Gen 2 Class Opteron)          
x86       Opteron_G3  AMD Opteron 23xx (Gen 3 Class Opteron)          
x86       Opteron_G4  AMD Opteron 62xx class CPU                      
x86       Opteron_G5  AMD Opteron 63xx class CPU                      
x86             host  KVM processor with all supported host features (only available in KVM mode)
SaBo ★★
() автор топика
Ответ на: комментарий от SaBo

А вот что в Debian 7:

> sudo virsh domxml-to-native qemu-argv /etc/libvirt/qemu/vm_name.xml 
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin HOME=/ QEMU_AUDIO_DRV=none /usr/bin/kvm -name vm_name -machine pc-i440fx-2.0,accel=kvm,usb=off -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid c39dc1f6-f242-17ed-5071-f66f0218d71a -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/vm_name.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/dev/vg_vms/vm_vm_name,if=none,id=drive-virtio-disk0,format=raw -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:b8:c5:f0,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc 127.0.0.1:0 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -msg timestamp=on

CPU явно не указан.

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

Да, точно, торможу :)
А как в libvirt сменить процессор? В debian 7 тип процессора при вызове KVM явно не указывался.

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

И почему он выбирает n270?

  <cpu mode='custom' match='exact'>
    <model fallback='allow'>n270</model>
  </cpu>

Указано же x86_64 в настройках.

Может, это архитектура, а нужен процессор.

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

Сделал вот так:

<cpu mode='host-passthrough'>
</cpu>

Заработало.
Интересно, а с точки зрения производительности всё-таки какой процессор надо выбрать?

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

Да, точно, спасибо, уже заметил (см. выше).

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

cat /proc/cpuinfo | grep vmx

Фууу! grep vmx /proc/cpuinfo

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