一种LXC容器显卡直通的方法技术

技术编号:39066681 阅读:31 留言:0更新日期:2023-10-12 19:59
本发明专利技术公开了一种LXC容器显卡直通的方法,包括如下步骤:通过udevadm过滤及筛选获取显卡对应的/dev/dri/cardX和/dev/dri/renderDXXX设备文件,获取该设备文件的主设备号和次设备号,所述/dev/dri/cardX是Linux系统中与图形设备相关的设备文件路径;通过lxc.cgroup.devices.allow控制LXC容器对显卡字符设备的访问权限。将上述所获得的显卡字符设备文件对应的主设备号和次设备号,以rwm权限赋予LXC容器,允许容器能够访问和操作显卡字符设备。本发明专利技术提供的一种LXC容器显卡直通的方法具有实现显卡资源在LXC容器上的自由分配和隔离的优点。配和隔离的优点。配和隔离的优点。

【技术实现步骤摘要】
一种LXC容器显卡直通的方法


[0001]本专利技术涉及操作系统领域,尤其涉及一种LXC容器显卡直通的方法。

技术介绍

[0002]LXC(Linux Containers)是一种操作系统级虚拟化技术,用于在Linux系统上创建和管理轻量级容器。LXC技术利用Linux内核的容器特性,提供了一个隔离的环境,使得在同一主机上可以运行多个独立的Linux系统实例。LXC容器是轻量级的,相对于传统的虚拟机,它们消耗更少的资源,启动更快,并且在物理硬件上的开销更小。LXC容器提供了强大的资源隔离,每个容器都有自己的文件系统、网络、进程空间和用户空间。这使得容器之间可以相互隔离,避免相互干扰。LXC技术适用于许多场景,包括应用程序隔离、容器化开发、持续集成和部署等。它是构建基于容器的轻量级虚拟化解决方案的一种强大工具。
[0003]显卡直通(GPU passthrough)是一种虚拟化技术,允许将物理显卡直接分配给虚拟机,使虚拟机能够直接访问和利用显卡的性能。这种技术通常用于在虚拟化环境中进行需要GPU加速的任务,例如机器学习、数据分析和游戏等。显卡直通的实现通常基于硬件虚拟化技术,例如Intel的VT

d(Virtualization Technology for Directed I/O)或AMD的IOMMU(Input/Output Memory Management Unit)。这些技术允许主机的物理显卡通过PCIe直通给虚拟机,使虚拟机能够直接访问显卡资源,而不需要通过虚拟化软件进行中间转发。
[0004]LXC容器显卡直通技术,将LXC容器和显卡结合起来,旨在将某块或多块显卡直通给特定的LXC容器,从而实现显卡资源在LXC容器上的自由分配和隔离,在LXC容器上可以实用显卡资源,以允许LXC容器提升计算能力和渲染能力。

技术实现思路

[0005]本专利技术提供了一种LXC容器显卡直通的方法,具备实现显卡资源在LXC容器上的自由分配和隔离的优点,解决了现有的LXC容器无法直接使用宿主机上的显卡设备,无法实现显卡资源在LXC容器上的自由分配和隔离的问题。
[0006]根据本申请实施例提供的一种LXC容器显卡直通的方法,包括以下步骤:
[0007]需要在宿主机加载显卡内核模块,并在/etc/udev/rules.d/下创建显卡启动规则,所述显卡启动规则,在显卡启动加载时,通过所述显卡内核模块创建显卡字符设备文件,所述显卡字符设备文件表现为/dev/nvidia*和/dev/dri/*;
[0008]通过查询显卡字符设备文件/dev/nvidia*和/dev/dri/*,获取显卡字符设备的主设备号和次设备号;
[0009]通过udevadm过滤及筛选获取显卡对应的/dev/dri/cardX和/dev/dri/renderDXXX设备文件,获取该设备文件的主设备号和次设备号,所述/dev/dri/cardX是Linux系统中与图形设备相关的设备文件路径;
[0010]通过lxc.cgroup.devices.allow控制LXC容器对显卡字符设备的访问权限。将上述所获得的显卡字符设备文件对应的主设备号和次设备号,以rwm权限赋予LXC容器,允许
容器能够访问和操作显卡字符设备。
[0011]优选地,通过lxc.mount.entry将上述所述显卡字符设备文件映射到LXC容器内,使LXC容器具有与宿主机显卡设备一致的设备文件,可以访问和使用显卡设备。
[0012]本申请实施例提供的技术方案可以包括以下有益效果:
[0013]本专利技术提供一种LXC容器显卡直通的方法,本专利技术通过显卡内核模块和启动规则,创建显卡字符设备文件,赋予LXC容器对显卡字符设备文件的访问和操作权限,并将显卡字符设备文件映射到LXC容器中,以实现LXC容器显卡直通技术,可以访问和使用显卡设备。
[0014]本专利技术通过cgroups控制LXC容器对显卡字符设备的访问权限,以允许LXC容器能够访问和操作显卡。本专利技术可以通过不同显卡字符设备文件的主设备号和次设备号,在LXC容器中实现自由地分配和隔离。解决了现有的LXC容器无法直接使用宿主机上的显卡设备,无法实现显卡资源在LXC容器上的自由分配和隔离的问题。
附图说明
[0015]为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本专利技术一种LXC容器显卡直通的方法配置过程的流程图;
[0017]图2为本专利技术一一种LXC容器显卡直通的方法的示意图。
具体实施方式
[0018]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0019]还应当理解,在此本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0020]还应当进一步理解,在本专利技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0021]LXC是一种操作系统级虚拟化技术,它通过内核隔离来创建容器,每个容器都有自己独立的命名空间和资源限制。这意味着容器无法直接访问宿主机上的硬件设备,包括显卡。
[0022]显卡直通,通过VFIO(Virtual Function I/O)技术框架提供的内核驱动程序vfio

pci,允许用户空间程序通过设备文件与VFIO子系统进行通信,以管理和控制直通设备。vfio

pci驱动允许用户将物理显卡的PCI设备标识符绑定到VFIO驱动程序,从而使其能够进行直通操作,将物理显卡直接分配给虚拟机,独占地访问和使用显卡资源。
[0023]请参阅图1

图2,本专利技术提供一种LXC容器显卡直通的方法,所述显卡将以NVIDIA显卡作为示例阐述,包括以下步骤:
[0024]首先需要在宿主机加载显卡内核模块,并在/etc/udev/rules.d/下创建显卡启动
规则。所述显卡启动规则,在显卡启动加载时,通过所述显卡内核模块创建显卡字符设备文件。所述显卡字符设备文件表现为/dev/nvidia*和/dev/dri/*。
[0025]通过查询显卡字符设备文件/dev/nvidia*和/dev/dri/*,获取显卡字符设备的主设备号和次设备号。
[0026本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种LXC容器显卡直通的方法,其特征在于,包括以下步骤:需要在宿主机加载显卡内核模块,并在/etc/udev/rules.d/下创建显卡启动规则,所述显卡启动规则,在显卡启动加载时,通过所述显卡内核模块创建显卡字符设备文件,所述显卡字符设备文件表现为/dev/nvidia*和/dev/dri/*;通过查询显卡字符设备文件/dev/nvidia*和/dev/dri/*,获取显卡字符设备的主设备号和次设备号;通过udevadm过滤及筛选获取显卡对应的/dev/dri/cardX和/dev/dri/renderDXXX设备文件,获取该设备文件...

【专利技术属性】
技术研发人员:叶梓枫肖飞卓洪强马凯杰张瑶
申请(专利权)人:深圳市瑞驰信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1