Score:1

การส่งผ่านตัวควบคุมการโจมตีไปยัง KVM vm โดยใช้ PCI passthrough, CPU soft lockup

ธง cn

ฉันมีเซิร์ฟเวอร์โฮสต์ Debian 10 และแขก Ubuntu 20.04 พร้อม KVM เซิร์ฟเวอร์ Ubuntu สร้างขึ้นด้วย virt-ติดตั้ง และใช้งานได้ตามที่ต้องการหลังการติดตั้ง ฉันกำลังพยายามใช้ PCI passthrough เพื่อส่งตัวควบคุมการโจมตี (Adaptec 81605Z) ไปยังแขก กับ virsh แก้ไข 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 เพื่อถอดตัวควบคุมการโจมตีออกจากโฮสต์ หลังจากนั้น lspci -nnv แสดง

01:00.0 ตัวควบคุมบัส RAID [0104]: Adaptec Series 8 12G SAS/PCIe 3 [9005:028d] (rev 01)
    ระบบย่อย: Adaptec Series 8 12G SAS/PCIe 3 [9005:0557]
    ค่าสถานะ: การพัฒนาที่รวดเร็ว, IRQ 16
    หน่วยความจำที่ a2100000 (64 บิต ไม่สามารถดึงล่วงหน้าได้) [size=1M]
    หน่วยความจำที่ a2280000 (64 บิต ไม่สามารถดึงล่วงหน้าได้) [size=1K]
    พอร์ต I/O ที่ 4000 [size=256]
    ROM ขยายที่ a2200000 [ปิดใช้งาน] [size=512K]
    ความสามารถ: [80] การจัดการพลังงานเวอร์ชัน 3
    ความสามารถ: [90] MSI: Enable- Count=1/32 Maskable+ 64bit+
    ความสามารถ: [b0] MSI-X: Enable- Count=64 Masked-
    ความสามารถ: [c0] Express Endpoint, MSI 00
    ความสามารถ: [100] การรายงานข้อผิดพลาดขั้นสูง
    ความสามารถ: [300] #19
    ไดรเวอร์เคอร์เนลที่ใช้งานอยู่: vfio-pci
    โมดูลเคอร์เนล: aacraid

อย่างไรก็ตามเมื่อฉันเริ่ม vm ด้วย virsh เริ่มต้น my_vm --console, คอนโซลเพิ่งติดค้าง ไม่มีอะไรถูกพิมพ์ ดังนั้นจึงมีบางอย่างผิดปกติเนื่องจาก vm ไม่บูต หลังจากนั้นสักครู่ฉันก็เริ่มได้รับ

เคอร์เนล:[ 747.764965] watchdog: BUG: soft lockup - CPU#1 ติดอยู่เป็นเวลา 22 วินาที! [qemu-ระบบ-x86:1305]

เกิดข้อผิดพลาดและเครื่องโฮสต์ของฉันทำงานช้าลงอย่างมาก ฉันได้ปิดการใช้งาน kvm จาก vm เนื่องจากอาจทำให้เกิดปัญหา vm ของฉันมี ram 4GB และ 4 VCPU ที่จัดสรรไว้ให้

มีบางอย่างผิดปกติกับการกำหนดค่าของฉันหรือไม่?

Michael Hampton avatar
cz flag
ตรวจสอบ `dmesg` บนโฮสต์
jaine avatar
cn flag
ฉันได้รับข้อความต่อไปนี้เกี่ยวกับ vfio-pci: `[ 564.743353] vfio-pci 0000:01:00.0: vfio_ecap_init: ซ่อน ecap 0x19@0x300` หลังจากนั้นฉันได้รับสองสาม `[ 566.554256] vfio-pci 0000:01:00.0: ไม่พร้อม 1023ms หลังจาก FLR; รอ' แล้ว `[ 634.041210] vfio-pci 0000:01:00.0: ไม่พร้อม 65535ms หลังจาก FLR; ยอมแพ้'
Zac67 avatar
ru flag
เป็นไปได้ว่าไดรเวอร์ฮาร์ดแวร์ไม่รองรับการส่งผ่าน คุณควรพิจารณาติดตั้งอาร์เรย์ RAID บนโฮสต์และให้การเข้าถึงแก่แขกเท่านั้น
jaine avatar
cn flag
จากฟอรัมอื่นๆ ฉันเคยเห็นบางคนผ่านตัวควบคุม Adaptec ด้วย PCI passthrough ตัวอย่างเช่น [ที่นี่](https://forums.servethehome.com/index.php?threads/epyc-rome-unable-to-pass-through-sata-ports-to-vm-flr-bug.28592/) ฉันจะรู้ได้อย่างไรว่าเป็นไปได้หรือไม่?

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา