我使用的是ubuntu22.04LTS最小服务器。我的主机服务器是用kvm设置的,运行良好。所有测试在运行virt-host-validate时都会通过。
当我创造。虚拟机--我希望它也支持kvm,并且在虚拟机上运行virt-host-validate时,我试图通过所有的检查,这就是Lasubuntu22.04LTS。
我已经更新了关于VM上grub的下列行
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on"
GRUB_CMDLINE_LINUX="cgroup_memory=1 cgroup_enable=memory swapaccount=1 systemd.unified_cgroup_hierarchy=0 intel_iommu=on"运行sudo update-grub并重新启动VM。我还是会收到警告
QEMU: Checking for device assignment IOMMU support : WARN (No ACPI DMAR table found, IOMMU either disabled in BIOS or not supported by this hardware platform)我需要通过这个才能正确地使用KubeVirt。
在我的主机/硬件上
$ sudo dmesg | grep -e DMAR -e IOMMU
[ 0.025208] ACPI: DMAR 0x000000007B7E6000 000364 (v01 INTEL INTEL ID 00000001 ? 00000001)
[ 0.025303] ACPI: Reserving DMAR table memory at [mem 0x7b7e6000-0x7b7e6363]
[ 1.958464] DMAR: IOMMU enabled
[ 3.615052] DMAR: Host address width 46
[ 3.615056] DMAR: DRHD base: 0x000000fbffc000 flags: 0x0
[ 3.615070] DMAR: dmar0: reg_base_addr fbffc000 ver 1:0 cap 8d2078c106f0466 ecap f020de
[ 3.615079] DMAR: DRHD base: 0x000000c7ffc000 flags: 0x1
[ 3.615093] DMAR: dmar1: reg_base_addr c7ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020de
[ 3.615100] DMAR: RMRR base: 0x00000079170000 end: 0x00000079172fff
[ 3.615107] DMAR: RMRR base: 0x000000791f4000 end: 0x000000791f7fff
[ 3.615113] DMAR: RMRR base: 0x000000791de000 end: 0x000000791f3fff
[ 3.615118] DMAR: RMRR base: 0x000000791cb000 end: 0x000000791dbfff
[ 3.615123] DMAR: RMRR base: 0x000000791dc000 end: 0x000000791ddfff
[ 3.615128] DMAR: RMRR base: 0x0000005a62f000 end: 0x0000005a69efff
[ 3.615136] DMAR: ATSR flags: 0x0
[ 3.615141] DMAR: ATSR flags: 0x0
[ 3.615148] DMAR-IR: IOAPIC id 10 under DRHD base 0xfbffc000 IOMMU 0
[ 3.615155] DMAR-IR: IOAPIC id 8 under DRHD base 0xc7ffc000 IOMMU 1
[ 3.615160] DMAR-IR: IOAPIC id 9 under DRHD base 0xc7ffc000 IOMMU 1
[ 3.615166] DMAR-IR: HPET id 0 under DRHD base 0xc7ffc000
[ 3.615171] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 3.616770] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 4.937442] DMAR: No SATC found
[ 4.937451] DMAR: dmar0: Using Queued invalidation
[ 4.937474] DMAR: dmar1: Using Queued invalidation
[ 4.968865] DMAR: Intel(R) Virtualization Technology for Directed I/O在我的第一个VM上
$ sudo dmesg | grep -e DMAR -e IOMMU
[ 1.982119] DMAR: IOMMU enabled发布于 2023-01-04 00:37:48
如果您不打算在嵌套的VM中使用PCI passtrough或SR-IOV,那么您可以安全地忽略这些警告。
这些技术用于向VM公开物理设备,如视频卡或网卡PCI虚拟功能。
对于主机VM (外部VM),请确保使用vIOMMU启用-device intel-iommu,intremap=on。另见:https://wiki.qemu.org/Features/VT-d
对于virtlib,请参见:https://libvirt.org/formatdomain.html#iommu-devices,您需要如下所示:
https://serverfault.com/questions/1119402
复制相似问题