Arch LInux 的kvm 安装
- 检测宿主机cpu是否支持虚拟化,如果flags里有vmx 或者svm就说明支持VT
检查内核的KVM和VirtIO模块是否可用
查看内核模块是否装载
手动加载内核模块
当前用户加入组kvm
安装qemu以及图形化客户端
- 连接网络需要安装
设置授权
启动服务
启动virt-manager就可以使用kvm了
Virtualization 虚拟化
xen、kvm 是两种主要的虚拟化实现。
KVM (Kernel-based Virtual Machine) KVM 是 Linux 内核内置的全虚拟化(full virtualization)解决方案。
I/O 虚拟化实现类型
.1 全虚拟化 (Full Virtualization)
高兼容性但性能较低
准虚拟化 (Paravirtualization)
需要客户机安装驱动 显著提高 I/O 性能 xen 就是 准虚拟化。
设备直通 (PCI Passthrough)
将物理设备直接分配给客户机,依赖 IOMMU (VT-d/AMD-Vi),接近原生性能
VT-x(Intel Virtualization Technology)
Intel VT-x 是 Intel 处理器提供的硬件虚拟化扩展,允许 Hypervisor(如 KVM、VMware) 更高效地运行虚拟机(VM)。它依赖于 Intel VT-x 或 AMD-V 硬件辅助虚拟化技术。
EPT(Extended Page Tables)
EPT 是 Intel 的 内存虚拟化技术,用于优化 Guest OS 的物理内存管理。
传统虚拟化中,Hypervisor 需维护 影子页表(Shadow Page Tables) 来映射 Guest 物理内存到 Host 物理内存,开销大。
EPT 直接在硬件层面完成 Guest 物理地址 → Host 物理地址 的转换,无需软件介入。
工作原理 Guest OS 维护自己的页表(Guest Virtual → Guest Physical)。 CPU 通过 EPT 自动完成 Guest Physical → Host Physical 的转换。 无需 Hypervisor 干预,减少 VM Exit 次数。
IOMMU(Input-Output Memory Management Unit)
IOMMU 是一种硬件单元,用于管理设备(如 GPU、网卡)的 DMA(直接内存访问) 操作。