一、IO虚拟化介绍
IO虚拟化通常有三种: - 软件模拟设备:以磁盘为例,虚拟机管理程序可以在实际的磁盘上创建一个文件一块区域来模拟虚拟磁盘,并把它传递给客户机。缺点是每次都要陷入 VMM,性能会下降 - 设备透传:虚拟机管理程序把物理设备直接分配给特定的虚拟机。但是这样一个设备只能被一个虚拟机使用,如果多个虚拟机需要使用同一个设备,就会产生冲突 - SR-IOV:解决设备透传带来的问题。他可以通过将一个 PF 创建为多个 VF,然后把 VF 分配给不同的虚拟机,从而实现多个虚拟机使用同一个设备
原先只有 CPU 会有一个 MMU内存管理单元,为了防止 IO 设备在虚拟机中做一些非法操作,衍生出一个 IOMMU 来进行管理。