栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

libvirt笔记 PCI设备直通

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

libvirt笔记 PCI设备直通

PCI设备直通功能允许将主机上的物理PCI设备直接分配给来宾机。客户操作系统驱动程序可以直接使用设备硬件,而无需依赖主机操作系统的任何驱动程序功能。
在使用PCI设备直通时需要注意一些事项。当将PCI设备直接分配给客户机时,如果不首先从客户机热拔下设备,迁移是不可能的。此外,libvirt并不保证直接设备分配是安全的,将安全策略决策留给底层虚拟化技术。安全PCI设备透传通常需要特殊的硬件功能,例如用于英特尔芯片组的VT-d功能,或用于AMD芯片组的IOMMU功能。
PCI设备可以在两种模式下连接,“托管”或“非托管”模式,尽管在编写本文时只有KVM支持“托管”模式连接。在托管模式下,当客户端启动时,所配置的设备将自动与主机的操作系统驱动程序分离,当客户端关闭时,将重新连接所配置的设备。在非托管模式下,必须在启动客户机之前显式分离设备。如果设备仍然连接到主机操作系统,客户端将拒绝启动。libvirt ‘Node Device’ api提供了一种从主机驱动程序分离/重新连接PCI设备的方法。或者,主机操作系统可以配置为将来宾操作系统使用的PCI设备列入黑名单,这样它们就永远不会连接到主机操作系统驱动程序。
在这两种模式中,虚拟化技术总是在启动客户机之前和关闭客户机之后在设备上执行重置。这对于确保主机和客户操作系统之间的隔离至关重要。PCI设备有多种复位方式。一些复位技术局限于单个设备/功能,而另一些可能同时影响多个设备。在后一种情况下,将有必要将所有影响设备分配给同一来宾,否则将不可能安全地进行重置。通过手动解绑定设备,然后尝试执行复位操作,可以使用节点设备api来确定是否需要共同分配设备。如果这成功了,那么就可以自行将设备分配给客户。如果它失败了,那么将有必要在同一PCI总线上共同分配设备。
使用’hostdevice’元素将PCI设备连接到客户机。“mode”属性应该总是设置为“subsystem”,而“类型”属性应该设置为“pci”。根据应用程序的要求,“managed”属性可以是“yes”或“no”。在’hostdevice’元素中有一个’source’元素,在这个元素中还有一个’address’元素用于指定要附加的PCI设备。address元素需要“domain”、“bus”、“slot”和“function”的属性。通过一个简短的示例,这是最容易理解的.

​ ​
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/277813.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号