Добрый день!
Есть сервер на Xeon E3 и серверной мат. плате Supermicro. В bios включен VT-d. Установлен Centos 6.5 x64 с KVM. С помощью virt-manager пытаюсь создать виртуалку с проброшенным в нее SAS контроллером. При попытке создании виртуалки вылазит ошибка:

Error starting domain: Unable to read from monitor: Connection reset by peer

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 44, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 65, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1114, in startup
    self._backend.create()
  File "/usr/lib64/python2.6/site-packages/libvirt.py", line 678, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: Unable to read from monitor: Connection reset by peer

Виртуалки без проброшенных устройств создаются и работают нормально.

2

domxml и lspci в студию
ну и конечно же надо понять - контроллер используется на хосте?

3

Вообще это мой первый опыт с пробросом устройств, поэтому весьма вероятно, что я что-то делаю неправильно.
Хост контроллер видит, но к нему не подсоединены диски. Еще я пробовал пробросить в виртуалку сетевую карту - результат тот же.


lspci -v с хостовой системы

+ открыть спойлер
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v2/Ivy Bridge DRAM Controller (rev 09)
    Subsystem: Super Micro Computer Inc Device 0640
    Flags: bus master, fast devsel, latency 0
    Capabilities: [e0] Vendor Specific Information: Len=0c <?>

00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
    I/O behind bridge: 0000e000-0000efff
    Memory behind bridge: dfa00000-dfafffff
    Capabilities: [88] Subsystem: Super Micro Computer Inc Device 0640
    Capabilities: [80] Power Management version 3
    Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Capabilities: [a0] Express Root Port (Slot+), MSI 00
    Capabilities: [100] Virtual Channel
    Capabilities: [140] Root Complex Link
    Capabilities: [d94] #19
    Kernel driver in use: pcieport
    Kernel modules: shpchp

00:01.1 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
    I/O behind bridge: 0000d000-0000dfff
    Memory behind bridge: df100000-df6fffff
    Capabilities: [88] Subsystem: Super Micro Computer Inc Device 0640
    Capabilities: [80] Power Management version 3
    Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Capabilities: [a0] Express Root Port (Slot+), MSI 00
    Capabilities: [100] Virtual Channel
    Capabilities: [140] Root Complex Link
    Capabilities: [d94] #19
    Kernel driver in use: pcieport
    Kernel modules: shpchp

00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
    Subsystem: Super Micro Computer Inc Device 0640
    Flags: bus master, fast devsel, latency 0, IRQ 11
    Memory at dfb06000 (64-bit, non-prefetchable) [size=16]
    Capabilities: [50] Power Management version 3
    Capabilities: [8c] MSI: Enable- Count=1/1 Maskable- 64bit+

00:16.1 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #2 (rev 04)
    Subsystem: Super Micro Computer Inc Device 0640
    Flags: bus master, fast devsel, latency 0, IRQ 11
    Memory at dfb05000 (64-bit, non-prefetchable) [size=16]
    Capabilities: [50] Power Management version 3
    Capabilities: [8c] MSI: Enable- Count=1/1 Maskable- 64bit+

00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05) (prog-if 20 [EHCI])
    Subsystem: Super Micro Computer Inc Device 0640
    Flags: bus master, medium devsel, latency 0, IRQ 16
    Memory at dfb04000 (32-bit, non-prefetchable) [size=1K]
    Capabilities: [50] Power Management version 2
    Capabilities: [58] Debug port: BAR=1 offset=00a0
    Capabilities: [98] PCI Advanced Features
    Kernel driver in use: ehci_hcd

00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
    I/O behind bridge: 0000c000-0000cfff
    Memory behind bridge: df900000-df9fffff
    Capabilities: [40] Express Root Port (Slot+), MSI 00
    Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
    Capabilities: [90] Subsystem: Super Micro Computer Inc Device 0640
    Capabilities: [a0] Power Management version 2
    Kernel modules: shpchp

00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b5) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
    I/O behind bridge: 0000b000-0000bfff
    Memory behind bridge: df800000-df8fffff
    Capabilities: [40] Express Root Port (Slot+), MSI 00
    Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
    Capabilities: [90] Subsystem: Super Micro Computer Inc Device 0640
    Capabilities: [a0] Power Management version 2
    Kernel modules: shpchp

00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 (rev b5) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=05, subordinate=05, sec-latency=0
    I/O behind bridge: 0000a000-0000afff
    Memory behind bridge: df700000-df7fffff
    Capabilities: [40] Express Root Port (Slot+), MSI 00
    Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
    Capabilities: [90] Subsystem: Super Micro Computer Inc Device 0640
    Capabilities: [a0] Power Management version 2
    Kernel modules: shpchp

00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05) (prog-if 20 [EHCI])
    Subsystem: Super Micro Computer Inc Device 0640
    Flags: bus master, medium devsel, latency 0, IRQ 23
    Memory at dfb03000 (32-bit, non-prefetchable) [size=1K]
    Capabilities: [50] Power Management version 2
    Capabilities: [58] Debug port: BAR=1 offset=00a0
    Capabilities: [98] PCI Advanced Features
    Kernel driver in use: ehci_hcd

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5) (prog-if 01 [Subtractive decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=06, subordinate=06, sec-latency=64
    Memory behind bridge: de800000-df0fffff
    Prefetchable memory behind bridge: 00000000dd000000-00000000ddffffff
    Capabilities: [50] Subsystem: Super Micro Computer Inc Device 0640

00:1f.0 ISA bridge: Intel Corporation C204 Chipset Family LPC Controller (rev 05)
    Subsystem: Super Micro Computer Inc Device 0640
    Flags: bus master, medium devsel, latency 0
    Capabilities: [e0] Vendor Specific Information: Len=0c <?>
    Kernel driver in use: lpc_ich
    Kernel modules: lpc_ich

00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05) (prog-if 01 [AHCI 1.0])
    Subsystem: Super Micro Computer Inc Device 0640
    Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 33
    I/O ports at f050 [size=8]
    I/O ports at f040 [size=4]
    I/O ports at f030 [size=8]
    I/O ports at f020 [size=4]
    I/O ports at f000 [size=32]
    Memory at dfb02000 (32-bit, non-prefetchable) [size=2K]
    Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Capabilities: [70] Power Management version 3
    Capabilities: [a8] SATA HBA v1.0
    Capabilities: [b0] PCI Advanced Features
    Kernel driver in use: ahci
    Kernel modules: ahci

00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
    Subsystem: Super Micro Computer Inc Device 0640
    Flags: medium devsel, IRQ 18
    Memory at dfb01000 (64-bit, non-prefetchable) [size=256]
    I/O ports at 0580 [size=32]
    Kernel modules: i2c-i801

01:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
    Subsystem: Intel Corporation Gigabit CT Desktop Adapter
    Flags: bus master, fast devsel, latency 0, IRQ 16
    Memory at dfa80000 (32-bit, non-prefetchable) [size=128K]
    Memory at dfa00000 (32-bit, non-prefetchable) [size=512K]
    I/O ports at e000 [size=32]
    Memory at dfaa0000 (32-bit, non-prefetchable) [size=16K]
    Capabilities: [c8] Power Management version 2
    Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [e0] Express Endpoint, MSI 00
    Capabilities: [a0] MSI-X: Enable+ Count=5 Masked-
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Device Serial Number 00-1b-21-ff-ff-57-04-fd
    Kernel driver in use: e1000e
    Kernel modules: e1000e

02:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 02)
    Subsystem: LSI Logic / Symbios Logic Device 3020
    Flags: bus master, fast devsel, latency 0, IRQ 17
    I/O ports at d000 [size=256]
    Memory at df600000 (64-bit, non-prefetchable) [size=16K]
    Memory at df580000 (64-bit, non-prefetchable) [size=256K]
    Expansion ROM at df100000 [disabled] [size=512K]
    Capabilities: [50] Power Management version 3
    Capabilities: [68] Express Endpoint, MSI 00
    Capabilities: [d0] Vital Product Data
    Capabilities: [a8] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [c0] MSI-X: Enable+ Count=15 Masked-
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [138] Power Budgeting <?>
    Capabilities: [150] Single Root I/O Virtualization (SR-IOV)
    Capabilities: [190] Alternative Routing-ID Interpretation (ARI)
    Kernel driver in use: mpt2sas
    Kernel modules: mpt2sas

03:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
    Subsystem: Intel Corporation Gigabit CT Desktop Adapter
    Flags: bus master, fast devsel, latency 0, IRQ 16
    Memory at df980000 (32-bit, non-prefetchable) [size=128K]
    Memory at df900000 (32-bit, non-prefetchable) [size=512K]
    I/O ports at c000 [size=32]
    Memory at df9a0000 (32-bit, non-prefetchable) [size=16K]
    Capabilities: [c8] Power Management version 2
    Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [e0] Express Endpoint, MSI 00
    Capabilities: [a0] MSI-X: Enable+ Count=5 Masked-
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Device Serial Number 68-05-ca-ff-ff-17-0c-0a
    Kernel driver in use: e1000e
    Kernel modules: e1000e

04:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
    Subsystem: Super Micro Computer Inc Device 0000
    Flags: bus master, fast devsel, latency 0, IRQ 18
    Memory at df800000 (32-bit, non-prefetchable) [size=128K]
    I/O ports at b000 [size=32]
    Memory at df820000 (32-bit, non-prefetchable) [size=16K]
    Capabilities: [c8] Power Management version 2
    Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [e0] Express Endpoint, MSI 00
    Capabilities: [a0] MSI-X: Enable+ Count=5 Masked-
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Device Serial Number 00-25-90-ff-ff-79-ca-68
    Kernel driver in use: e1000e
    Kernel modules: e1000e

05:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
    Subsystem: Super Micro Computer Inc Device 0000
    Flags: bus master, fast devsel, latency 0, IRQ 19
    Memory at df700000 (32-bit, non-prefetchable) [size=128K]
    I/O ports at a000 [size=32]
    Memory at df720000 (32-bit, non-prefetchable) [size=16K]
    Capabilities: [c8] Power Management version 2
    Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [e0] Express Endpoint, MSI 00
    Capabilities: [a0] MSI-X: Enable+ Count=5 Masked-
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Device Serial Number 00-25-90-ff-ff-79-ca-69
    Kernel driver in use: e1000e
    Kernel modules: e1000e

06:03.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (rev 0a) (prog-if 00 [VGA controller])
    Subsystem: Super Micro Computer Inc Device 0640
    Flags: bus master, medium devsel, latency 64, IRQ 11
    Memory at dd000000 (32-bit, prefetchable) [size=16M]
    Memory at df000000 (32-bit, non-prefetchable) [size=16K]
    Memory at de800000 (32-bit, non-prefetchable) [size=8M]
    Expansion ROM at <unassigned> [disabled]
    Capabilities: [dc] Power Management version 1

xml виртуалки

+ открыть спойлер
<domain type='kvm'>
  <name>nas</name>
  <uuid>eda085ab-f05e-5477-274e-bb25e4b9afd3</uuid>
  <memory unit='KiB'>12582912</memory>
  <currentMemory unit='KiB'>12582912</currentMemory>
  <vcpu placement='static' cpuset='2-3,6-7'>4</vcpu>
  <os>
    <type arch='x86_64' machine='rhel6.5.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>SandyBridge</model>
    <vendor>Intel</vendor>
    <topology sockets='1' cores='4' threads='1'/>
    <feature policy='require' name='vme'/>
    <feature policy='require' name='dtes64'/>
    <feature policy='require' name='vmx'/>
    <feature policy='require' name='erms'/>
    <feature policy='require' name='xtpr'/>
    <feature policy='require' name='smep'/>
    <feature policy='require' name='pcid'/>
    <feature policy='require' name='est'/>
    <feature policy='require' name='monitor'/>
    <feature policy='require' name='smx'/>
    <feature policy='require' name='tm'/>
    <feature policy='require' name='acpi'/>
    <feature policy='require' name='osxsave'/>
    <feature policy='require' name='ht'/>
    <feature policy='require' name='pdcm'/>
    <feature policy='require' name='fsgsbase'/>
    <feature policy='require' name='f16c'/>
    <feature policy='require' name='ds'/>
    <feature policy='require' name='tm2'/>
    <feature policy='require' name='ss'/>
    <feature policy='require' name='pbe'/>
    <feature policy='require' name='ds_cpl'/>
    <feature policy='require' name='rdrand'/>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source file='/var/lib/libvirt/images/nas.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </disk>
    <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:cf:1b:f7'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <graphics type='spice' autoport='yes'/>
    <video>
      <model type='qxl' ram='65536' vram='65536' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </hostdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </memballoon>
  </devices>
</domain>

4

для начала внимательно: http://www.linux-kvm.org/page/How_to_as … T-d_in_KVM

5 (07.03.2014 16:53:08 отредактировано ingvarhost)

dyasny пишет:

для начала внимательно: http://www.linux-kvm.org/page/How_to_as … T-d_in_KVM

Да, виновата моя невнимательность. Сейчас еще раз, на свежую голову, полностью проверил все доки RH по настройке KVM и оказалось, что я забыл добавить в grub.conf параметр intel_iommu=on. Кстати, вопрос, при обновлении ядра из репозитория мне каждый раз придется вручную дописывать этот параметр для нового ядра или он автоматически добавится?

Теперь далее:
1. Добавил в grub.conf параметр intel_iommu=on
2. Перезагрузил хостовую машину
3. Убил старую виртуалку, создал новую, в нее пробросил SAS контроллер
4. Виртуалка загрузилась, в POST виден контроллер, установил Centos 6.5
5. Выключил виртуалку
6. Подключил диски к контроллеру
7. Запустил виртуалку, в POST виден контроллер, он определили все диски
8. Появляется надпись Booting from Hard Disk... и виртуалка намертво виснет.

dumpxml виртуалки

+ открыть спойлер
<domain type='kvm' id='4'>
  <name>nas</name>
  <uuid>12bc5323-c98d-f176-4c40-bac3b9466859</uuid>
  <memory unit='KiB'>12582912</memory>
  <currentMemory unit='KiB'>12582912</currentMemory>
  <vcpu placement='static' cpuset='2-3,6-7'>4</vcpu>
  <os>
    <type arch='x86_64' machine='rhel6.5.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>SandyBridge</model>
    <vendor>Intel</vendor>
    <topology sockets='1' cores='4' threads='1'/>
    <feature policy='require' name='vme'/>
    <feature policy='require' name='dtes64'/>
    <feature policy='require' name='vmx'/>
    <feature policy='require' name='erms'/>
    <feature policy='require' name='xtpr'/>
    <feature policy='require' name='smep'/>
    <feature policy='require' name='pcid'/>
    <feature policy='require' name='est'/>
    <feature policy='require' name='monitor'/>
    <feature policy='require' name='smx'/>
    <feature policy='require' name='tm'/>
    <feature policy='require' name='acpi'/>
    <feature policy='require' name='osxsave'/>
    <feature policy='require' name='ht'/>
    <feature policy='require' name='pdcm'/>
    <feature policy='require' name='fsgsbase'/>
    <feature policy='require' name='f16c'/>
    <feature policy='require' name='ds'/>
    <feature policy='require' name='tm2'/>
    <feature policy='require' name='ss'/>
    <feature policy='require' name='pbe'/>
    <feature policy='require' name='ds_cpl'/>
    <feature policy='require' name='rdrand'/>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source file='/var/lib/libvirt/images/nas.img'/>
      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </disk>
    <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <alias name='ide0-1-0'/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0'>
      <alias name='usb0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:c9:59:db'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/1'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/1'>
      <source path='/dev/pts/1'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <graphics type='spice' port='5900' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
    <video>
      <model type='qxl' ram='65536' vram='65536' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </hostdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='selinux' relabel='yes'>
    <label>system_u:system_r:svirt_t:s0:c131,c233</label>
    <imagelabel>system_u:object_r:svirt_image_t:s0:c131,c233</imagelabel>
  </seclabel>
</domain>

В добавок, в другую виртуалку попробовал пробросить несколько PCI-E сетевых карт, все успешно пробросились, трафик бегает, т.е. vt-d работает.

6

ingvarhost пишет:

Да, виновата моя невнимательность. Сейчас еще раз, на свежую голову, полностью проверил все доки RH по настройке KVM и оказалось, что я забыл добавить в grub.conf параметр intel_iommu=on. Кстати, вопрос, при обновлении ядра из репозитория мне каждый раз придется вручную дописывать этот параметр для нового ядра или он автоматически добавится?

по идее нет, конфиги остаются, если их сотрет апдейт это баг

ingvarhost пишет:

8. Появляется надпись Booting from Hard Disk... и виртуалка намертво виснет.

а если подцепить ISO и загрузиться с него?

некоторые контроллеры просто не способны на проброс, емнип они не дают эксклюзивный доступ к себе, и поэтому внешний запрос не блокируется, что приводит к зависанию.

7 (07.03.2014 22:57:20 отредактировано ingvarhost)

dyasny пишет:

а если подцепить ISO и загрузиться с него?

Загрузил виртуалку с live-cd Fedora 20. Все ок, она увидела контроллер, диски, подключенные к нему и mdraid на них.

dyasny пишет:

некоторые контроллеры просто не способны на проброс, емнип они не дают эксклюзивный доступ к себе, и поэтому внешний запрос не блокируется, что приводит к зависанию.

У меня HBA LSI 9211 в IT mode. В общем-то стандарт для HBA. Знаю, что такие контроллеры успешно пробрасывают в виртуалку в ESXi. Кстати - при запуске виртуалки удается успешно зайти в биос контроллера.

Попробовал поставить на виртуалку Fedora, опять та же проблема - после запуска виснет с надписью Booting from Hard Disk...

UPD. Если сопоставить следующие факты:
1. Виртуалка с проброшенным контроллером, но без подключенных к нему диско успешно стартует и грузит ОС
2. Виртуалка с контроллером и подключенными дисками успешно грузит ОС с live-cd
3. Виртуалка с контроллером и дисками при попытки загрузиться с файла образа диска виснет
то напрашивается вывод - в 3 случае она пытается загрузиться не с образа, а с одного из дисков, подключенных к проброшенному контроллеру, на которых ОС нет. Как проверить с какого из дисков виртуалка должна грузиться? Добавил в конфиг в раздел диска <boot order='1'/>, но это не помогает.

8

http://libvirt.org/formatdomain.html#elementsOSBIOS

9

Настроил следующим образом:

<os>
    <type arch='x86_64' machine='rhel6.5.0'>hvm</type>
    <boot dev='hd'/>
    <bootmenu enable='yes'/>
    <bios useserial='yes' rebootTimeout='1000'/>
    <smbios mode='emulate'/>
</os>

Виртуалка виснет. Если зайти в бут меню, то видно, что первым идет Virtio disk PCI:0:5 что соответствует диску с которого виртуалка и должна грузится.

<disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source file='/var/lib/libvirt/images/nas.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
 </disk>

Но не грузится. Обратил внимание на вывод в POST проброшенного контроллера.

Так он выглядит в POST хостовой машины

http://img-fotki.yandex.ru/get/9763/237994755.0/0_b85a3_48c6f7ba_L.png

а так в POST виртуалки

http://img-fotki.yandex.ru/get/6729/237994755.0/0_b85a2_6af7da5e_L.png

Видно, что добавляется INT13 Entry и один из дисков помечается как загрузочный. По видимому, виртуалка пытается грузиться с него?

10

возможно... честно говоря, на этом месте надо уже ковырять потроха. я бы написал обо всей ситуации в рассылку qemu

11 (09.03.2014 07:49:39 отредактировано ingvarhost)

Вроде победил. Я перешил контроллер. Сначала стер ему флешку, а затем зашил только прошивку, но не стал записывать bios. Таким образом пропала возможность с него грузиться. Теперь он ничего не выводит в POST, виртуалка успешно грузится с образа, и видит проброшенный контроллер и диски.

dyasny, огромное Вам спасибо за помошь.

12

я всего лишь просил внимательнее читать документацию, вы все сделали сами ab

13

Все равно, когда есть с кем обсудить пробоему мне как-то лучше думается. Да и ранее Вы неоднократно мне помогали.