基于虚拟化技术的多类型显卡驱动适配方法、装置和设备与流程

未命名 09-29 阅读:74 评论:0


1.本发明涉及程序软件技术领域,具体涉及一种基于虚拟化技术的多类型显卡驱动适配方法、装置和设备。


背景技术:

2.随着云计算的高速发展,显卡算力需求越来越高了。例如在云桌面的场景时,一般通过虚拟化模板+显卡透传的方式对外发布桌面,对于不用的显卡,需要在虚拟机内安装不同的显卡驱动,如果一个数据中心内只有一种类型的显卡,那么就只需要在模板里面安装好一个对应的驱动就行,如果一个数据中心内有多种类型的显卡,那么就会导致需要部署多种模板,每个模板对应一种类型的显卡,并且还会带来复杂的机房运维。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种基于虚拟化技术的多类型显卡驱动适配方法、装置和设备,以克服目前显卡透传过程中,需要安装多种类型的显卡驱动,过程复杂和机房运维难度大的问题。
4.为实现以上目的,本发明采用如下技术方案:
5.第一方面,本技术实施例提供一种基于虚拟化技术的多类型显卡驱动适配方法,包括:
6.确定目标显卡id;
7.在预设虚拟机中配置目标显卡驱动,所述目标显卡驱动能够驱动id为所述目标显卡id的显卡;
8.通过预设虚拟化组件,修改所述预设虚拟机中的配置文件,以使所述预设虚拟机在进行显卡透传时,将透传过程中的显卡的实际id确定为所述目标显卡id,并通过所述目标显卡驱动驱动所述显卡。
9.进一步地,所述确定目标显卡id,包括:
10.确定预设数据中心的服务器上的显卡id;
11.将所述预设数据中心的服务器上的显卡id中的任一id,确定为所述目标id。
12.进一步地,所述预设虚拟化组件包括libvirt。
13.进一步地,所述通过预设虚拟化组件,修改预设虚拟机中的配置文件,包括:
14.通过所述libvirt的virsh命令修改预设虚拟机中的配置文件。
15.进一步地,所述配置文件包括xml配置文件。
16.进一步地,所述通过预设虚拟化组件,修改所述预设虚拟机中的配置文件,包括:
17.通过预设虚拟化组件,修改一个所述预设虚拟机中的配置文件,并将修改配置文件后的虚拟机作为模板;
18.发布作为模板的虚拟机,以修改同数据中心中其余虚拟机的配置文件。
19.第二方面,本技术实施例还提供一种基于虚拟化技术的多类型显卡驱动适配装
置,包括:
20.确定模块,用于确定目标显卡id;
21.驱动模块,用于在预设虚拟机中配置目标显卡驱动,所述目标显卡驱动与所述目标显卡id对应;
22.修改模块,用于通过预设虚拟化组件,修改所述预设虚拟机中的配置文件,以使所述预设虚拟机在进行显卡透传时,将透传过程中的显卡的实际id确定为所述目标显卡id,并通过所述目标显卡驱动驱动所述显卡。
23.第三方面,本技术实施例还提供一种基于虚拟化技术的多类型显卡驱动适配设备,包括处理器和存储器,所述处理器与存储器相连:
24.其中,所述处理器,用于调用并执行所述存储器中存储的程序;
25.所述存储器,用于存储所述程序,所述程序至少用于执行上述的基于虚拟化技术的多类型显卡驱动适配方法。
26.本发明涉及程序软件技术领域,具体公开一种基于虚拟化技术的多类型显卡驱动适配方法、装置和设备,该方法包括:首先确定目标显卡id;然后在预设虚拟机中配置目标显卡驱动,所述目标显卡驱动与所述目标显卡id对应;以及通过预设虚拟化组件,修改所述预设虚拟机中的配置文件,以使所述预设虚拟机在进行显卡透传时,将透传过程中的显卡的实际id确定为所述目标显卡id,并通过所述目标显卡驱动驱动所述显卡。如此,在显卡透传过程中,可以通过一个目标显卡驱动驱动所有显卡完成任务,简化了显卡驱动安装,而且使后续运维更加快捷简单。
附图说明
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1为本技术实施例提供的基于虚拟化技术的多类型显卡驱动适配方法的流程示意图;
29.图2为本技术实施例提供的基于虚拟化技术的多类型显卡驱动适配装置的结构示意图;
30.图3为本技术实施例提供的基于虚拟化技术的多类型显卡驱动适配设备的结构示意图。
具体实施方式
31.为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
32.图1为本技术实施例提供的基于虚拟化技术的多类型显卡驱动适配方法的流程示意图,请参阅图1,本实施例可以包括以下步骤:
33.s101、确定目标显卡id。
34.具体的,本技术针对的云桌面,云渲染和云游戏,具体应用场景中,涉及多个数据中心,每个数据中心均对应设置有机房,其中部署有服务器等硬件,该服务器上部署有与虚拟机相关的程序或软件,如运行虚拟机的软件等。
35.在例如涉及云桌面的场景中,一般通过虚拟化模板和显卡透传的方式对外发布桌面。在显卡透传过程中,或透传完成后,虚拟机要想运行透传的显卡,就需要对应的显卡驱动来驱动显卡。
36.在上述应用场景下,确定目标显卡id时,可以将数据中心的服务器上的包括的实体显卡中的任一一个显卡id作为目标显卡id。
37.s102、在预设虚拟机中配置目标显卡驱动。
38.其中,所述目标显卡驱动能够驱动id为所述目标显卡id的显卡。
39.在确定目标显卡id后,在虚拟机上配置与目标显卡id对应的目标显卡驱动,即在虚拟机上配置能够驱动id为目标显卡id的显卡的驱动,以保证id为目标显卡id的显卡,在虚拟机上能够运行。
40.s103、通过预设虚拟化组件,修改预设虚拟机中的配置文件。
41.具体的,通过预设虚拟化组件,修改预设虚拟机中的配置文件,以使预设虚拟机在进行显卡透传时,将透传过程中的显卡的实际id确定为目标显卡id,从而通过目标显卡驱动所述透传的显卡。
42.本发明涉及程序软件技术领域,具体公开一种基于虚拟化技术的多类型显卡驱动适配方法、装置和设备,该方法包括:首先确定目标显卡id;然后在预设虚拟机中配置目标显卡驱动,所述目标显卡驱动与所述目标显卡id对应;以及通过预设虚拟化组件,修改所述预设虚拟机中的配置文件,以使所述预设虚拟机在进行显卡透传时,将透传过程中的显卡的实际id确定为所述目标显卡id,并通过所述目标显卡驱动驱动所述显卡。如此,在显卡透传过程中,可以通过一个目标显卡驱动驱动所有显卡完成任务,简化了显卡驱动安装,而且使后续运维更加快捷简单。
43.在一些实施例中,可以通过libvirt等虚拟化组件的virsh命令修改虚拟机的xml配置文件,从而实现快速准确的修改虚拟机的配置。
44.下面将以一个完整的实施例,对上述通过libvirt等虚拟化组件的virsh命令修改虚拟机的xml配置文件的过程,进行详细说明:
45.首先,第一步:确定目标显卡id,例如规划固定的显卡设备id为10de:21c4。
46.然后,第二步:通过虚拟化组件libvirt的编辑虚拟机配置:virsh edit instance-000001。例如,通过如下代码文件,实现将虚拟机中的配置文件进行修改,以使虚拟机在显卡透传时,将所有显卡id都确定为10de:21c4。
47.具体如下:
48.《qemu:commandline》
49.《qemu:arg value='-set'/》
50.《qemu:argvalue='device.hostdev0.x-pci-vendor-id=0x10de'/》
51.《qemu:arg value='-set'/》
52.《qemu:argvalue='device.hostdev0.x-pci-device-id=0x21c4'/》
53.《/qemu:commandline》
54.第三步:重新启动虚拟机,并且安装rtx1660s显卡驱动,然后将这个虚拟机做成模板。
55.第四步:基于上面做好的模板+显卡透传的模式发布虚拟机,每台虚拟机都要执行上面的第二步操作,然后再开机。如此,就屏蔽了底层不同类型的显卡了,从而不需要每次不同类型的显卡透传都需要进入虚拟机内安装对应的显卡驱动了。
56.需要说明的是,在对显卡匹配驱动时,现有技术中均是以显卡id进行识别的,即不同类型的显卡有着不同的显卡id,在为显卡匹配驱动时,为不同显卡id匹配不同的显卡驱动,以使各种显卡在各自驱动的驱动下,完美运行。
57.而实际应用中,因为涉及的计算任务不同,在对于本技术提到的云桌面、云渲染以及云游戏等计算,并不需要显卡的一些特殊功能,即只需要显卡实现其一些基础的功能,所以对显卡驱动使显卡运行的完美程度要求不高。所以通过设置好的目标显卡驱动,驱动不同类型的显卡,也可以实现是上述计算任务。
58.本技术中,在高性能云桌面等场景下,通过结合虚拟化技术(如libvirt,qemu-kvm),在显卡透传的时候,在虚拟化层虚拟出固定的显卡设备id,以达到屏蔽底层显卡的多样性,使得虚拟机操作系统只认这个固定的显卡设备id,以达到在虚拟机内固定显卡的型号(显卡设备id可以标识出显卡的型号,例如10de:21c4就标识-geforce gtx 1660super-这款显卡,假设虚拟化层固定显卡设备id为10de:21c4,那么无论是哪款显卡透传到虚拟机内,虚拟机操作系统都把它认作为rtx1660s这个型号了),那么只需要在虚拟机模板内安装rtx1660s这一个显卡驱动就可以实现上述提到的显卡运行要求,实现了屏蔽底层显卡类型的目的了,减少了显卡驱动安装适配的运维工作了。
59.基于同一个发明构思,本发明还提供了一种基于虚拟化技术的多类型显卡驱动适配装置,图2为本技术实施例提供的基于虚拟化技术的多类型显卡驱动适配装置的结构示意图,如图2所示,本发明提供的基于虚拟化技术的多类型显卡驱动适配装置,包括:
60.确定模块21,用于确定目标显卡id。
61.驱动模块22,用于在预设虚拟机中配置目标显卡驱动,所述目标显卡驱动与所述目标显卡id对应。
62.修改模块23,用于通过预设虚拟化组件,修改所述预设虚拟机中的配置文件,以使所述预设虚拟机在进行显卡透传时,将透传过程中的显卡的实际id确定为所述目标显卡id,并通过所述目标显卡驱动驱动所述显卡。
63.本发明提供的基于虚拟化技术的多类型显卡驱动适配装置,通过确定模块21首先确定目标显卡id;然后通过驱动模块22,在预设虚拟机中配置目标显卡驱动,所述目标显卡驱动与所述目标显卡id对应;以及通过修改模块23通过预设虚拟化组件,修改所述预设虚拟机中的配置文件,以使所述预设虚拟机在进行显卡透传时,将透传过程中的显卡的实际id确定为所述目标显卡id,并通过所述目标显卡驱动驱动所述显卡。如此,在显卡透传过程中,可以通过一个目标显卡驱动驱动所有显卡完成任务,简化了显卡驱动安装,而且使后续运维更加快捷简单。
64.本技术实施例提供的基于虚拟化技术的多类型显卡驱动适配装置的具体实施方案可以参考以上任意实施例的基于虚拟化技术的多类型显卡驱动适配方法的实施方式,此
处不再赘述。
65.进一步地,确定模块21确定目标显卡id的具体过程包括:首先确定预设数据中心的服务器上的显卡id;然后将预设数据中心的服务器上的显卡id中的任一id,确定为目标id。
66.其中,预设虚拟化组件包括libvirt,修改模块23通过libvirt的virsh命令修改预设虚拟机中的包括xml等的配置文件。
67.在一些实施例中,修改模块23通过预设虚拟化组件,修改一个预设虚拟机中的配置文件,并将修改配置文件后的虚拟机作为模板;以及发布作为模板的虚拟机,以修改同数据中心中其余虚拟机的配置文件。
68.基于同一个发明构思,本发明还提供了一种基于虚拟化技术的多类型显卡驱动适配设备,图3为本技术实施例提供的基于虚拟化技术的多类型显卡驱动适配设备的结构示意图,如图3所示,本发明提供的基于虚拟化技术的多类型显卡驱动适配设备,包括:
69.包括处理器31和存储器32,所述处理器31与存储器32相连。其中,所述处理器31,用于调用并执行所述存储器32中存储的程序;存储器32,用于存储所述程序,所述程序至少用于执行上述方法实施例中提供的基于虚拟化技术的多类型显卡驱动适配方法。
70.本技术实施例提供的基于虚拟化技术的多类型显卡驱动适配设备的具体实施方案可以参考以上任意实施例的基于虚拟化技术的多类型显卡驱动适配方法的实施方式,此处不再赘述。
71.可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
72.需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
73.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
74.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
75.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
76.此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模
块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
77.上述提到的存储介质可以是只读存储器,磁盘或光盘等。
78.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
79.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

技术特征:
1.一种基于虚拟化技术的多类型显卡驱动适配方法,其特征在于,包括:确定目标显卡id;在预设虚拟机中配置目标显卡驱动,所述目标显卡驱动能够驱动id为所述目标显卡id的显卡;通过预设虚拟化组件,修改所述预设虚拟机中的配置文件,以使所述预设虚拟机在进行显卡透传时,将透传过程中的显卡的实际id确定为所述目标显卡id,并通过所述目标显卡驱动驱动所述显卡。2.根据权利要求1所述的基于虚拟化技术的多类型显卡驱动适配方法,其特征在于,所述确定目标显卡id,包括:确定预设数据中心的服务器上的显卡id;将所述预设数据中心的服务器上的显卡id中的任一id,确定为所述目标id。3.根据权利要求1所述的基于虚拟化技术的多类型显卡驱动适配方法,其特征在于,所述预设虚拟化组件包括libvirt。4.根据权利要求3所述的基于虚拟化技术的多类型显卡驱动适配方法,其特征在于,所述通过预设虚拟化组件,修改预设虚拟机中的配置文件,包括:通过所述libvirt的virsh命令修改预设虚拟机中的配置文件。5.根据权利要求1所述的基于虚拟化技术的多类型显卡驱动适配方法,其特征在于,所述配置文件包括xml配置文件。6.根据权利要求1所述的基于虚拟化技术的多类型显卡驱动适配方法,其特征在于,所述通过预设虚拟化组件,修改所述预设虚拟机中的配置文件,包括:通过预设虚拟化组件,修改一个所述预设虚拟机中的配置文件,并将修改配置文件后的虚拟机作为模板;发布作为模板的虚拟机,以修改同数据中心中其余虚拟机的配置文件。7.一种基于虚拟化技术的多类型显卡驱动适配装置,其特征在于,包括:确定模块,用于确定目标显卡id;驱动模块,用于在预设虚拟机中配置目标显卡驱动,所述目标显卡驱动与所述目标显卡id对应;修改模块,用于通过预设虚拟化组件,修改所述预设虚拟机中的配置文件,以使所述预设虚拟机在进行显卡透传时,将透传过程中的显卡的实际id确定为所述目标显卡id,并通过所述目标显卡驱动驱动所述显卡。8.一种基于虚拟化技术的多类型显卡驱动适配设备,其特征在于,包括处理器和存储器,所述处理器与存储器相连:其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储所述程序,所述程序至少用于执行权利要求1-6任一项所述的基于虚拟化技术的多类型显卡驱动适配方法。

技术总结
本发明涉及程序软件技术领域,具体公开一种基于虚拟化技术的多类型显卡驱动适配方法、装置和设备,该方法包括:首先确定目标显卡ID;然后在预设虚拟机中配置目标显卡驱动,所述目标显卡驱动能够驱动ID为所述目标显卡ID的显卡;以及通过预设虚拟化组件,修改所述预设虚拟机中的配置文件,以使所述预设虚拟机在进行显卡透传时,将透传过程中的显卡的实际ID确定为所述目标显卡ID,并通过所述目标显卡驱动驱动所述显卡。如此,在显卡透传过程中,可以通过一个目标显卡驱动驱动所有显卡完成任务,简化了显卡驱动安装,而且使后续运维更加快捷简单。单。单。


技术研发人员:李皆俊 高斌 邹琼 周双全
受保护的技术使用者:深圳市瑞云科技股份有限公司
技术研发日:2023.06.28
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐