虚拟化技术之设备直接分配(passthrough)

1、设备直接分配技术

        如何提高虚拟化设备的性能问题是虚拟化领域长期的研究重点。如前所述,设备模拟模型会导致虚拟化性能大大下降;泛虚拟化设备模型虽然在性能上拥有一定的优势,但由于需要修改操作系统,具有局限性.。并且当前的两种I/O设备虚拟化模型已无法满足高速的数据交换需求,应运而生的就是另外一种设备虚拟化模型——设备直接分配模型。

        传统的实现I/O虚拟化的技术中,所有的虚拟机都共享物理平台上的硬件设备。如果物理条件好,有足够的硬件,就可以考虑让每个虚拟机独占一个物理设备,这样无疑会提高系统的性能。把某一个设备直接分配给一个虚拟机,让虚拟机可以直接访问该物理设备而不需要通过虚拟机监视器或被虚拟机监视器截获,这就是设备直接分配技术。如下图所示为设备直接分配的I/O模型。


         在设备直接分配模型中,虚拟机操作系统可直接拥有某一物理设备的访问控制权限,虚拟机监视器不再干涉其访问操作。因此,该模型可以较大地改善虚拟化设备的性能,降低监视器程序的复杂性,易于实现,并且不需要修改操作系统,保证了高可用性。

2、设备直接分配模块设计与实现

        设备直接分配设备模型的设计主要包括了四个部分,分别是:设备隐藏模块、建立抽象设备模块,客户机N启动模块以及设备分配模块。

2.1 设备隐藏子模块设计

       在虚拟化系统中,有一个特权虚拟域domain 0,这个虚拟域会在其它所有虚拟域之前启动,并且所有的设备都会被分配给这个domain 0,再由domain 0去分配和管理。而domain 0除了接管这些设备外还可以使用这些设备。Linux操作系统在启动设备的时候会检测是否存在相关驱动,若存在,则使用这个驱动。设备直接分配技术的关键点在于,设备被一个虚拟机独占,其他虚拟机不能够使用这个设备。因此会存在一个问题:如果domain 0里有这个设备的驱动便会占领该设备,那么如何再将设备分配给本来想分配的虚拟机呢?

        隐藏设备的意义便是在于让domain 0接管设备但是不使用设备,在xen中提供了一个pciback模块,这个模块用于对设备进行隐藏。由于Linux里面的设备驱动是有优先级的,当一个设备存在多个不同的驱动可以使用时,Linux只会为设备加载优先级最高的那个驱动,

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 确认Windows电脑是否支持硬件虚拟技术: 在Windows电脑开机时,按下计算机制造商指定的键(通常是F2、F10、F12或Del)以进入BIOS设置。在BIOS设置中,查找“虚拟”或“虚拟技术”等选项,确认其是否被启用。 如果选项未被启用,将其开启。请注意,在不同的计算机品牌和型号中,选项名称和位置可能会有所不同,因此请参考计算机制造商的说明书或官方网站。 2. 在Mac OS上安装支持PCI Passthrough技术的驱动程序: PCI Passthrough技术是用于将物理PCI设备分配虚拟机的一种技术。要在Mac OS上使用GPU直通功能,需要安装支持PCI Passthrough技术的驱动程序。常用的PCI Passthrough驱动程序包括“vfio-pci”和“pci-stub”。 您需要在Mac OS上执行以下步骤来安装PCI Passthrough驱动程序: - 在终端中执行以下命令:sudo kextcache -i /。 - 下载适用于Mac OS的PCI Passthrough驱动程序(例如“vfio-pci”或“pci-stub”)。 - 将驱动程序复制到Mac OS的“/Library/Extensions”目录下。 - 在终端中执行以下命令:sudo kextcache -i /。 - 重新启动Mac OS系统。 此时,PCI Passthrough驱动程序应该已经安装完成,并且可以开始使用GPU直通功能。请注意,在使用GPU直通功能时,可能会遇到一些问题,例如虚拟机无法正常启动或设备驱动程序无法加载。如果遇到这些问题,请参考相关文档或咨询相关技术支持人员。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值