使用 PCI 直通、CPU 软锁定将 raid 控制器传递到 KVM vm

使用 PCI 直通、CPU 软锁定将 raid 控制器传递到 KVM vm

我有一台 Debian 10 主机服务器和一台带 KVM 的 Ubuntu 20.04 客户机。Ubuntu 服务器已创建virt-install,安装后可正常工作。我尝试使用 PCI 直通将 RAID 控制器(Adaptec 81605Z)传递给客户机。virsh edit my_vm我添加了

<hostdev mode='subsystem' type='pci' managed='yes'>
  <driver name='vfio'/>
  <source>
    <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
  </source>
</hostdev>

到配置。然后我习惯virsh nodedev-dettach pci_0000_01_00_0将 RAID 控制器从主机上分离,之后lspci -nnv显示

01:00.0 RAID bus controller [0104]: Adaptec Series 8 12G SAS/PCIe 3 [9005:028d] (rev 01)
    Subsystem: Adaptec Series 8 12G SAS/PCIe 3 [9005:0557]
    Flags: fast devsel, IRQ 16
    Memory at a2100000 (64-bit, non-prefetchable) [size=1M]
    Memory at a2280000 (64-bit, non-prefetchable) [size=1K]
    I/O ports at 4000 [size=256]
    Expansion ROM at a2200000 [disabled] [size=512K]
    Capabilities: [80] Power Management version 3
    Capabilities: [90] MSI: Enable- Count=1/32 Maskable+ 64bit+
    Capabilities: [b0] MSI-X: Enable- Count=64 Masked-
    Capabilities: [c0] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [300] #19
    Kernel driver in use: vfio-pci
    Kernel modules: aacraid

但是,当我使用 启动虚拟机时virsh start my_vm --console,控制台就卡住了,什么都没有打印出来,所以虚拟机似乎出了问题,无法启动。过了一会儿,我开始收到

kernel:[  747.764965] watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [qemu-system-x86:1305]

错误,我的主机速度明显变慢。我已从虚拟机禁用 kvm,因为这可能会导致问题。我的虚拟机有 4GB 内存和 4 个 VCPU 分配给它。

我的配置有问题吗?

相关内容