CN115913953B - 一种云资源加速方法、装置及其介质 - Google Patents

一种云资源加速方法、装置及其介质 Download PDF

Info

Publication number
CN115913953B
CN115913953B CN202211378172.3A CN202211378172A CN115913953B CN 115913953 B CN115913953 B CN 115913953B CN 202211378172 A CN202211378172 A CN 202211378172A CN 115913953 B CN115913953 B CN 115913953B
Authority
CN
China
Prior art keywords
virtual machine
container
acceleration
network card
vfs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211378172.3A
Other languages
English (en)
Other versions
CN115913953A (zh
Inventor
王培辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaanxi Inspur Yingxin Technology Co Ltd
Original Assignee
Shaanxi Inspur Yingxin Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shaanxi Inspur Yingxin Technology Co Ltd filed Critical Shaanxi Inspur Yingxin Technology Co Ltd
Priority to CN202211378172.3A priority Critical patent/CN115913953B/zh
Publication of CN115913953A publication Critical patent/CN115913953A/zh
Application granted granted Critical
Publication of CN115913953B publication Critical patent/CN115913953B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开一种云资源加速方法、装置及其介质,涉及虚拟化网络技术领域,用于实现云资源加速,针对目前在使用智能网卡加速云资源时,会出现无法实现迁移的问题,提供一种云资源加速方法,通过启动智能网卡的SR‑IOV功能,生成调用智能网卡资源的各VF,并解绑VF的默认驱动,以软件方式模拟virtio后端驱动绑定至VF,使得VF可以通过挂载在虚拟机/容器的进程上被虚拟机/容器所感知到,进而vhost内核子系统可通过vhost协议对VF进行控制,实现控制路径的搭建。同理,将VF模拟成virtio的vring环形队列,从而完成数据路径的搭建,数据路径与控制路径实现分离,进而可以实现跨主机的资源迁移。

Description

一种云资源加速方法、装置及其介质
技术领域
本申请涉及虚拟化网络技术领域,特别是涉及一种云资源加速方法、装置及其介质。
背景技术
随着容器技术及应用日渐普及,正成为云计算的一种新的资源供应模式。但云计算下的容器技术正面对新的挑战,容器资源隔离性不如虚拟机那么强,集群内的应用存在互相抢占资源的问题,当集群内出现突发流量时,造成所有集群内网络输入/输出(I/O)激增,消耗大量中央处理器(Central Processing Unit,CPU)处理报文转发,导致容器应用运行缓慢,反应卡顿。为解决此问题,目前主要通过利用智能网卡(Smart NIC)将网络I/O卸载到专用的ASIC(Application Specific Integrated Circuit)芯片进行处理,从而可以有效提升性能并消除I/O对CPU的消耗。
主流的智能网卡大部分使用SR-IOV(Single Root I/O Virtualization)方式加速,以此提高容器应用性能。但是在SR-IOV方式下,流量转发的控制路径和数据路径都透传给虚拟机,而系统的虚拟监视器(Hypervisor)感知不到迁移过程中的脏数据,所以无法进行跨主机的资源迁移,并且要求虚拟机和容器内部操作系统需要具备智能网卡的驱动,兼容性较差。
所以,现在本领域的技术人员亟需要一种云资源加速方法,解决目前在使用智能网卡加速云资源时,会出现无法实现迁移以及兼容性较差的问题。
发明内容
本申请的目的是提供一种云资源加速方法、装置及其介质,以解决目前在使用智能网卡加速云资源时,会出现无法实现迁移以及兼容性较差的问题。
为解决上述技术问题,本申请提供一种云资源加速方法,包括:
启动智能网卡的SR-IOV功能,以智能网卡资源作为PF,生成对应的各VF;
解除VF的默认绑定驱动;
为各虚拟机/容器分配若干VF,VF绑定以软件方式模拟的virtio后端驱动;
将加速转发表下发至智能网卡,其中,加速转发表保存有VF和虚拟机/容器之间的对应关系;
通过vhost协议将VF的控制路径交由vhost内核模块进行控制,并将与虚拟机/容器对应的VF模拟成virtio的vring环形队列。
优选的,还包括:
为各系统应用分配若干VF,VF绑定virtio驱动;
相应的,加速转发表中保存有VF和系统应用的对应关系;
相应的,方法还包括:
通过vhost协议将VF的控制路径交由内核I/O子系统进行控制,并将与系统应用对应的VF模拟成virtio的vring环形队列。
优选的,还包括:
为各虚拟机/容器分配若干VF,VF基于SR-IOV标准直接连接到对应的虚拟机/容器。
优选的,还包括:
当接收到虚拟机/容器迁移请求时,vhost内核模块基于vhost协议对数据脏页进行跟踪,并通过数据传输工具发送数据脏页至目的主机。
优选的,为虚拟机/容器或系统应用分配VF包括:
为虚拟机/容器或系统应用分配冗余设置的多个VF。
优选的,还包括:
当无虚拟机/容器迁移请求时,优先使用与虚拟机/容器直接连接的VF进行报文传输。
优选的,还包括:
通过vhost内核模块以及内核I/O子系统监测对应的各VF的状态,若出现异常则返回警示信息。
为解决上述技术问题,本申请还提供一种云资源加速装置,包括:
网卡虚拟模块,用于启动智能网卡的SR-IOV功能,以智能网卡资源作为PF,生成对应的各VF;
驱动解绑模块,用于解除VF的默认绑定驱动;
第一分配模块,用于为各虚拟机/容器分配若干VF,VF绑定以软件方式模拟的virtio后端驱动;
加速表下发模块,用于将加速转发表下发至智能网卡,其中,加速转发表保存有VF和虚拟机/容器之间的对应关系;
第一分离模块,用于通过vhost协议将VF的控制路径交由vhost内核模块进行控制,并将与虚拟机/容器对应的VF模拟成virtio的vring环形队列。
优选的,上述装置还包括:
第二分配模块,用于为各系统应用分配若干VF,VF绑定virtio驱动;相应的,加速转发表中保存有VF和系统应用的对应关系;
第二分离模块,用于通过vhost协议将VF的控制路径交由内核I/O子系统进行控制,并将与系统应用对应的VF模拟成virtio的vring环形队列。
第三分配模块,用于为各虚拟机/容器分配若干VF,VF基于SR-IOV标准直接连接到对应的虚拟机/容器。
资源迁移模块,用于当接收到虚拟机/容器迁移请求时,vhost内核模块基于vhost协议对数据脏页进行跟踪,并通过数据传输工具发送数据脏页至目的主机。
路径选取模块,用于当无虚拟机/容器迁移请求时,优先使用与虚拟机/容器直接连接的VF进行报文传输。
异常警示模块,用于通过vhost内核模块以及内核I/O子系统监测对应的各VF的状态,若出现异常则返回警示信息。
为解决上述技术问题,本申请还提供一种云资源加速装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的云资源加速方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的云资源加速方法的步骤。
本申请提供的一种云资源加速方法,通过启动智能网卡的SR-IOV功能,生成调用智能网卡资源的各VF,并将VF的默认驱动进行解绑,以便于后续其他驱动的加载,从而实现后续被虚拟机/容器进行调用完成云资源加速,保证了高性能。进一步的,以软件方式模拟virtio后端驱动,并绑定至VF,使得VF相当于一个virtio后端设备,从而使得VF可以通过挂载在虚拟机/容器的进程上被虚拟机/容器所感知到,进而vhost内核子系统可通过vhost协议对VF进行控制,实现控制路径的搭建,供容器/虚拟机直接使用。同理,还通过将对应虚拟机/容器的VF模拟成virtio的vring环形队列,从而实现VF与虚拟机/容器的数据交互,完成数据路径的搭建,数据路径与控制路径实现分离,vhost内核子系统可以感知到迁移过程中的脏数据,进而可以实现跨主机的资源迁移,保证了灵活性。因此,本申请所提供的一种云资源加速方法,既通过智能网卡实现了对云资源的加速,保证了高性能,又分离了控制路径和数据路径,满足资源跨主机迁移的条件,兼顾了灵活性,更好地满足了实际应用的需要。
本申请提供的云资源加速装置、及计算机可读存储介质,与上述方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种云资源加速方法的流程图;
图2为本发明提供的一种云资源加速架构的示意图;
图3为本发明提供的另一种云资源加速方法的流程图;
图4为本发明提供的一种云资源加速装置的结构图;
图5为本发明提供的另一种云资源加速装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种云资源加速方法、装置及其介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
随着网络通信技术的不断发展,作为实现电脑服务器等设备与网络数据交互中转的网卡(Network Interface Card,NIC)也在不断发展,目前已出现一种智能网卡。
网卡是一种将电脑接入局域网的设备,网卡插在计算机主板的总线插槽中,负责将用户要传递的数据转换为网络设备能够识别的格式,通过网络介质传输。而智能网卡则配备了计算能力,允许它们将所有网络功能、安全功能和存储功能从主机服务器卸载,从而释放宝贵的处理能力。释放处理能力使服务器能够专注于更有效地运行关键的应用程序和操作系统,提升应用的性能和大幅降低CPU在通信中的消耗,为应用提供更多的CPU资源,提高了云和私有数据中心的服务器性能。因此,将智能网卡应用在如今的云平台中已成为一种发展趋势。
PCIE:PCI-Express,peripheral component interconnect express,它是一种高速串行计算机扩展总线标准,属于高速串行点对点双通道高带宽传输。
但是,目前主流的智能网卡多是使用SR-IOV方式加速,SR-IOV允许一个物理PCIE设备把自己虚拟成多个虚拟PCIE设备,以供虚拟机或者容器进行关联以直接使用。这种方式虽然因为虚拟机和容器可以直接和智能网卡进行数据交互,性能比较好,但是由于流量转发的控制路径和数据路径都透传给虚拟机,系统的虚拟机监视器(Hypervisor)感知不到迁移过程中的脏数据,所以无法进行跨主机的资源迁移。同时,这种方式也要求虚拟机和容器内部操作系统需要具备智能网卡的驱动,兼容性较差。
基于上述问题,本申请提供一种云资源加速方法,如图1所示,包括:
S11:启动智能网卡的SR-IOV功能,以智能网卡资源作为PF,生成对应的各VF。
SR-IOV中定义了两种功能类型,分别为物理功能(PF)和虚拟功能(VF)。其中,PF是全功能的PCIE,可以像其他任何PCIE设备一样进行发现、管理、和处理,PF拥有完全配置和控制PCIE设备资源的能力。VF则是一种轻量级的PCIE功能,VF可以与PF以及与同一PF相关联的其他VF共享一个或多个物理资源。
于本申请所针对的应用场景中,也即以智能网卡物理设备抽象出的资源作为PF,生成对应的各VF供虚拟机、容器的使用。而对于智能网卡资源的抽象,则是利用资源池化的思想将智能网卡物理设备所提供的能力作为一种资源进行抽象,放入到资源池中已备后续使用,为一种成熟的技术方案,故本实施例在此不做赘述。
S12:解除VF的默认绑定驱动。
由上述可知,VF是以智能网卡资源作为PF生成创建的,所以VF的默认绑定驱动也即虚拟网卡的驱动,若不进行解绑则要求虚拟机或容器的操作系统也需要具备智能网卡的驱动才能够使用VF,故需将其解绑已便后续使用。
S13:为各虚拟机/容器分配若干VF,VF绑定以软件方式模拟的virtio后端驱动。
也即为各虚拟机/容器分配关联的VF,VF被关联至对应的虚拟机/容器下后,虚拟机/容器即可使用VF加速云资源,以提高性能。
需要说明的是,由于目前的虚拟化场景下主流使用的网卡驱动为virtio(是对半虚拟化Hypervisor中的一组通用模拟设备的抽象)驱动,对于虚拟机和容器而言,可以关联通过virtio后端设备的方式与其进行交互。所以VF可以绑定virtio后端驱动,绑定后的VF相当于一个virtio后端设备,可以被虚拟机/容器所关联,进而进行交互。
容易理解的是,virtio后端驱动作为现有的一种驱动程序,本技术领域人员可以通过软件的方式对其进行模拟,本实施例不再赘述。
S14:将加速转发表下发至智能网卡。
其中,加速转发表保存有VF和虚拟机/容器之间的对应关系。
上述的智能网卡资源、虚拟机/容器、VF等对外主要以接口的形式,流量在各个设备之间进行传输以及转发即可由接口之间的对应关系实现,所以,上述的加速转发表保存有VF和虚拟机/容器之间的对应关系,当下发到智能网卡中后,智能网卡便可以得知流量转发的目的地,实现云资源的加速。
S15:通过vhost协议将VF的控制路径交由vhost内核模块进行控制,并将与虚拟机/容器对应的VF模拟成virtio的vring环形队列。
通过步骤S15实现流量转发的控制路径和数据路径的分离,控制路径被交由处于内核态的vhost内核模块进行控制,使得系统的Hypervisor可以通过vhost协议对数据进行追踪的同时,也不影响数据路径的流量正常传输。
具体的,当需要进行资源跨主机迁移时,一种可能的实施方案如下所示:
当接收到虚拟机/容器迁移请求时,vhost内核模块基于vhost协议对数据脏页进行跟踪,并通过数据传输工具发送数据脏页至目的主机。
流量传输的路径如图2所示,在以虚拟机/容器—vhost内核模块—virtio设备虚拟框架—智能网卡的架构中进行传输。其中,virtio设备虚拟框架也即根据智能网卡资源建立的各VF,与本实施例所针对的应用场景中,用于上述流量传输的VF为加载了virtio后端驱动的VF。还需要进行说明的是,图2中的管理控制器,也即对各VF进行包括解绑/绑定驱动、初始化等操作在内的控制器或虚拟出的功能模块,可为部署有上述虚拟机/容器的服务器实现。
本申请所提供的一种云资源加速方法,通过开启智能网卡的SR-IOV功能,生成与抽象出的智能网卡资源相关联的VF;然后卸载VF绑定的智能网卡驱动,并绑定当前虚拟化场景中主流使用的virtio后端驱动,使得VF在虚拟化场景中即相当于一个virtio后端设备,可以被虚拟机/容器所关联;再将保存有VF和虚拟机/容器之间的对应关系的加速转发表下发到智能网卡中,使得智能网卡可以根据加速转发表获知流量转发的目的地;最后,通过模拟virtio的vring环形队列搭建数据路径,又通过vhost协议将VF的控制路径交由vhost内核模块,实现两者的分离,系统的虚拟机监视器因此可以感知到迁移过程中的脏数据,满足跨主机迁移资源的需要。另外,本申请还通过将智能网卡物理设备根据能力抽象成智能网卡资源,生成对应VF的同时还卸载默认绑定驱动,使得对智能网卡的使用不受硬件限制,提高了系统的兼容性。
由上述实施例可知,上述通过加载virtio后端驱动的方式将VF模拟成virtio后端设备的方式可以关联至容器以及虚拟机来使用,但在虚拟化场景中,应用同样为一个重要的主体,也由实现基于智能网卡加速,并支持资源跨主机迁移的需求。
因此,本实施例提供一种优选的实施方案,如图3所示,上述方法还包括:
S21:为各系统应用分配若干VF,VF绑定virtio驱动。
相应的,加速转发表中保存有VF和系统应用的对应关系。
S22:通过vhost协议将VF的控制路径交由内核I/O子系统进行控制,并将与系统应用对应的VF模拟成virtio的vring环形队列。
与虚拟机/容器所不同的是,系统应用所关联的是virtio设备,故需要将分配给系统应用的VF在卸载默认绑定驱动后,加载绑定virtio驱动,此时VF相当于一个virtio设备,可被系统应用关联和使用。
与虚拟机/容器相似的是,系统应用分离控制路径也是基于vhost协议将VF的控制路径交由内核I/O子系统进行控制,且数据路径也是以将对应的VF模拟成virtio的vring环形队列实现。
通过上述优选方案即建立了如图2中所示的以应用—内核I/O子系统—virtio驱动—virtio设备虚拟框架—智能网卡的流量传输路径。同理,针对本实施例应用场景下的virtio设备虚拟框架,应包含绑定了virtio驱动的VF。
与上述实施例相似的是,本实施例在进行资源的跨主机迁移时也是通过vhost协议追踪数据脏页,并通过数据数据传输工具发送数据脏页至目的主机,以实现资源的迁移。
本实施例所提供的一种优选方案从虚拟化场景中另一重要主体系统应用入手,通过将解绑默认驱动后的VF绑定上virtio驱动,使得VF在虚拟场景中相当于一个virtio设备,可被应用关联以进行云资源的加速。进一步的,通过vhost协议将VF的控制路径交由内核I/O子系统进行控制,并通过将与系统应用对应的VF模拟成virtio的vring环形队列实现控制路径和数据路径的分离,使得虚拟机监视器可以感知流量传输过程中的脏数据,从而可以支持跨主机的资源迁移。本实施例针对上述实施例的空缺,为虚拟化场景中的应用也提供了一种控制路径和数据路径分离的流量传输路径,在满足使用智能网卡为云资源进行加速的同时,还支持资源的跨主机迁移,丰富了上述方法的应用场景,更好地满足实际虚拟化技术应用的需要。
进一步的,上述实施例分别为虚拟机/容器以及系统应用提供了一套控制路径、数据路径分离的流量传输路径,同时使用了智能网卡抽象出的资源,保证高性能。基于提高性能的考虑,本实施例还提供一种优选的实施方案,上述方法还包括:
S31:为各虚拟机/容器分配若干VF,VF基于SR-IOV标准直接连接到对应的虚拟机/容器。
本实施例将智能网卡生成的VF直通给虚拟机/容器使用的方案也即现有的通过SR-IOV方式直接使用智能网卡进行云资源加速的方案,其流量传输的控制路径和数据路径都直接透传给虚拟机/容器,虽然无法实现资源的跨主机迁移,但由于这种架构所经的中间环节少,是相对于上述两实施例所提供的方案而言性能最高的方案。所以,在进行流量传输时,用户可以根据需要选择上述实施例以及如图2所示的三种流量传输路径的任一条。
示例性的,当系统应用需要使用智能网卡进行云资源加速时,可以使用图2中的应用—内核I/O子系统—virtio驱动—virtio设备虚拟框架—智能网卡的路径;当虚拟机/容器需要使用智能网卡进行云资源加速时,若无需进行跨主机的资源迁移,则使用图2中的虚拟机/容器—virtio设备虚拟框架—智能网卡的路径进行流量传输,以追求最高的性能;若虚拟机/容器需要进行跨主机的资源迁移时,则可使用图2中的虚拟机/容器—vhost内核模块—virtio设备虚拟框架—智能网卡的路径进行流量传输,以保证迁移的灵活性。
本实施例提供一种VF基于SR-IOV标准直通虚拟机/容器的优选方案,以实现效率更高的流量传输,进一步提高虚拟化系统性能,为无需进行资源的跨主机迁移的应用场景提供了一种更高性能的选择。
还需要进行说明的是,无论是步骤S11至S15,还是步骤S21至S22,又或者是步骤S31,其目的都为在虚拟化场景中搭建不同的流量传输路径,其中,步骤S11、S12和S14相当于构建不同流量传输路径的准备流程,可共用。而步骤S13和S15、步骤S21和S22、以及步骤S31之间为并联关系,彼此之间互不影响,其中关于VF的分配和驱动绑定部分更是可以合成一个步骤,如下所示:
根据使用需求将VF分成三类,第一类VF用于供系统应用使用,为其绑定virtio驱动,后续流程转至步骤S15;第二类VF用于供虚拟机/容器使用,为其绑定通过软件形式模拟的virtio后端驱动,后续流程转至步骤S22;第三类VF基于SR-IOV标准直接连接到对应的虚拟机/容器即可。
在上述实施例中,提供了一种如图2所示的虚拟化架构,包括三种不同的流量路径用于保证云资源加速的高性能以及灵活性,其中之一的实现手段是为各虚拟机/容器以及应用分配VF,在此基础上,本实施例提供一种优选的实施方案:
为虚拟机/容器或系统应用分配冗余设置的多个VF。
进一步的,本实施例还提供另一种优选的实施方案:
为同一虚拟机/容器或系统应用冗余设置的多个VF不以同一智能网卡作为PF。
进一步保证当某智能网卡出现故障时,使用其对应的VF的虚拟机/容器或系统应用可以通过分配的另一智能网卡的VF实现云资源加速,保证加速的稳定性。
本实施例所提供的一种优选方案,通过为各虚拟机/容器或系统应用分配冗余设置的多个VF,实现当任一VF出现问题导致不能实现云资源加速时,仍可以使用冗余的其他VF保证系统高性能。进一步的,冗余设置的各VF还可以为不同智能网卡对应的VF,这样,当某一智能网卡出现故障导致其对应的所有VF都不可使用时,虚拟机/容器或系统应用仍可使用其他智能网卡对应的冗余VF实现云资源加速,保证虚拟化系统的高性能。
由上述实施例所提供的优选方案,可以将VF通过绑定virtio驱动或virtio后端驱动的方式,将VF模拟成virtio设备或virtio后端设备,被vhost内核模块或内核I/O子系统控制。因此,vhost内核模块以及内核I/O子系统也可以监测所控制的VF的状态,所以本实施例还提供一种优选的实施方案,上述方法还包括:
通过vhost内核模块以及内核I/O子系统监测对应的各VF的状态,若出现异常则返回警示信息。
需要说明的是,本实施例不限制警示信息的表现形式,警示信息可以是返回至与部署有虚拟化场景的服务器通信连接的管理平台或显示装置的文字、图像信息;也可以是通过发光二极管、蜂鸣器等声、光装置发出的声、光信号;又或者是向监管人员所持有的移动终端发送的短信、邮件、推送等,本实施例对此不做限制,可根据实际需要选择合适的警示方式以保证效果。
本实施例所提供的一种优选方案基于上述实施例的基础上,当VF被模拟成virtio设备或virtio后端设备而被vhost内核模块或内核I/O子系统控制时,vhost内核模块或内核I/O子系统也即可以实现对其控制的VF状态进行监测,当VF出现异常时,及时发出警示信息,以提示相关人员尽快排查故障原因解决异常问题。进一步的,还可以在上述各虚拟机/容器或系统应用荣誉分配多个VF的场景中,当有VF出现故障时,切换使用其他冗余VF继续实现云资源的加速,最大程度地保证了虚拟化系统的稳定性。
在上述实施例中,对于一种云资源加速方法进行了详细描述,本申请还提供一种云资源加速装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
基于功能模块的角度,本实施例提供一种云资源加速装置,如图4所示,包括:
网卡虚拟模块41,用于启动智能网卡的SR-IOV功能,以智能网卡资源作为PF,生成对应的各VF;
驱动解绑模块42,用于解除VF的默认绑定驱动;
第一分配模块43,用于为各虚拟机/容器分配若干VF,VF绑定以软件方式模拟的virtio后端驱动;
加速表下发模块44,用于将加速转发表下发至智能网卡,其中,加速转发表保存有VF和虚拟机/容器之间的对应关系;
第一分离模块45,用于通过vhost协议将VF的控制路径交由vhost内核模块进行控制,并将与虚拟机/容器对应的VF模拟成virtio的vring环形队列。
优选的,上述装置还包括:
第二分配模块,用于为各系统应用分配若干VF,VF绑定virtio驱动;相应的,加速转发表中保存有VF和系统应用的对应关系;
第二分离模块,用于通过vhost协议将VF的控制路径交由内核I/O子系统进行控制,并将与系统应用对应的VF模拟成virtio的vring环形队列。
第三分配模块,用于为各虚拟机/容器分配若干VF,VF基于SR-IOV标准直接连接到对应的虚拟机/容器。
资源迁移模块,用于当接收到虚拟机/容器迁移请求时,vhost内核模块基于vhost协议对数据脏页进行跟踪,并通过数据传输工具发送数据脏页至目的主机。
路径选取模块,用于当无虚拟机/容器迁移请求时,优先使用与虚拟机/容器直接连接的VF进行报文传输。
异常警示模块,用于通过vhost内核模块以及内核I/O子系统监测对应的各VF的状态,若出现异常则返回警示信息。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例所提供的一种云资源加速装置,通过网卡虚拟模块开启智能网卡的SR-IOV功能,生成与抽象出的智能网卡资源相关联的VF;然后通过驱动解绑模块卸载VF绑定的智能网卡驱动,并通过第一分配模块绑定当前虚拟化场景中主流使用的virtio后端驱动,使得VF在虚拟化场景中即相当于一个virtio后端设备,可以被虚拟机/容器所关联;再通过加速表下发模块将保存有VF和虚拟机/容器之间的对应关系的加速转发表下发到智能网卡中,使得智能网卡可以根据加速转发表获知流量转发的目的地;最后,通过第一分离模块模拟virtio的vring环形队列搭建数据路径,又通过vhost协议将VF的控制路径交由vhost内核模块,实现两者的分离,系统的虚拟机监视器因此可以感知到迁移过程中的脏数据,满足跨主机迁移资源的需要。另外,本实施例还通过将智能网卡物理设备根据能力抽象成智能网卡资源,生成对应VF的同时还卸载默认绑定驱动,使得对智能网卡的使用不受硬件限制,提高了系统的兼容性。
图5为本申请另一实施例提供的一种云资源加速装置的结构图,如图5所示,一种云资源加速装置包括:存储器50,用于存储计算机程序;
处理器51,用于执行计算机程序时实现如上述实施例一种云资源加速方法的步骤。
本实施例提供的一种云资源加速装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器51可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器51可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器51也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器51可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器51还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器50可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器50还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器50至少用于存储以下计算机程序501,其中,该计算机程序被处理器51加载并执行之后,能够实现前述任一实施例公开的一种云资源加速方法的相关步骤。另外,存储器50所存储的资源还可以包括操作系统502和数据503等,存储方式可以是短暂存储或者永久存储。其中,操作系统502可以包括Windows、Unix、Linux等。数据503可以包括但不限于一种云资源加速方法等。
在一些实施例中,一种云资源加速装置还可包括有显示屏52、输入输出接口53、通信接口54、电源55以及通信总线56。
本领域技术人员可以理解,图5中示出的结构并不构成对一种云资源加速装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的一种云资源加速装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:一种云资源加速方法。
本实施例所提供的一种云资源加速装置,通过处理器执行保存在处理器中的计算机程序,以实现通过开启智能网卡的SR-IOV功能,生成与抽象出的智能网卡资源相关联的VF;然后再卸载VF绑定的智能网卡驱动,并绑定当前虚拟化场景中主流使用的virtio后端驱动,使得VF在虚拟化场景中即相当于一个virtio后端设备,可以被虚拟机/容器所关联;再将保存有VF和虚拟机/容器之间的对应关系的加速转发表下发到智能网卡中,使得智能网卡可以根据加速转发表获知流量转发的目的地;最后,通过模拟virtio的vring环形队列搭建数据路径,又通过vhost协议将VF的控制路径交由vhost内核模块,实现两者的分离,系统的虚拟机监视器因此可以感知到迁移过程中的脏数据,满足跨主机迁移资源的需要。另外,本实施例还通过将智能网卡物理设备根据能力抽象成智能网卡资源,生成对应VF的同时还卸载默认绑定驱动,使得对智能网卡的使用不受硬件限制,提高了系统的兼容性。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例所提供的一种云资源加速装置,当其中存储的计算机程序被执行时,可以实现通过开启智能网卡的SR-IOV功能,生成与抽象出的智能网卡资源相关联的VF;然后再卸载VF绑定的智能网卡驱动,并绑定当前虚拟化场景中主流使用的virtio后端驱动,使得VF在虚拟化场景中即相当于一个virtio后端设备,可以被虚拟机/容器所关联;再将保存有VF和虚拟机/容器之间的对应关系的加速转发表下发到智能网卡中,使得智能网卡可以根据加速转发表获知流量转发的目的地;最后,通过模拟virtio的vring环形队列搭建数据路径,又通过vhost协议将VF的控制路径交由vhost内核模块,实现两者的分离,系统的虚拟机监视器因此可以感知到迁移过程中的脏数据,满足跨主机迁移资源的需要。另外,本实施例还通过将智能网卡物理设备根据能力抽象成智能网卡资源,生成对应VF的同时还卸载默认绑定驱动,使得对智能网卡的使用不受硬件限制,提高了系统的兼容性。
以上对本申请所提供的一种云资源加速方法、装置及其介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (8)

1.一种云资源加速方法,其特征在于,包括:
启动智能网卡的SR-IOV功能,以智能网卡资源作为PF,生成对应的各VF;
解除所述VF的默认绑定驱动;
为各虚拟机/容器分配若干所述VF,所述VF绑定以软件方式模拟的virtio后端驱动;
将加速转发表下发至所述智能网卡,其中,所述加速转发表保存有所述VF和所述虚拟机/容器之间的对应关系、以及所述VF和系统应用的对应关系;
通过vhost协议将所述VF的控制路径交由vhost内核模块进行控制,并将与所述虚拟机/容器对应的所述VF模拟成virtio的vring环形队列;
其中,方法还包括:
为各系统应用分配若干所述VF,所述VF绑定virtio驱动;
通过vhost协议将所述VF的控制路径交由内核I/O子系统进行控制,并将与所述系统应用对应的所述VF模拟成virtio的vring环形队列;
以及,方法还包括:
当接收到虚拟机/容器迁移请求时,所述vhost内核模块基于vhost协议对数据脏页进行跟踪,并通过数据传输工具发送所述数据脏页至目的主机。
2.根据权利要求1所述的云资源加速方法,其特征在于,还包括:
为各所述虚拟机/容器分配若干所述VF,所述VF基于SR-IOV标准直接连接到对应的所述虚拟机/容器。
3.根据权利要求1或2所述的云资源加速方法,其特征在于,为所述虚拟机/容器或所述系统应用分配所述VF包括:
为所述虚拟机/容器或所述系统应用分配冗余设置的多个所述VF。
4.根据权利要求2所述的云资源加速方法,其特征在于,还包括:
当无虚拟机/容器迁移请求时,优先使用与所述虚拟机/容器直接连接的所述VF进行报文传输。
5.根据权利要求1所述的云资源加速方法,其特征在于,还包括:
通过所述vhost内核模块以及所述内核I/O子系统监测对应的各所述VF的状态,若出现异常则返回警示信息。
6.一种云资源加速装置,其特征在于,包括:
网卡虚拟模块,用于启动智能网卡的SR-IOV功能,以智能网卡资源作为PF,生成对应的各VF;
驱动解绑模块,用于解除所述VF的默认绑定驱动;
第一分配模块,用于为各虚拟机/容器分配若干所述VF,所述VF绑定以软件方式模拟的virtio后端驱动;
加速表下发模块,用于将加速转发表下发至所述智能网卡,其中,所述加速转发表保存有所述VF和所述虚拟机/容器之间的对应关系;
第一分离模块,用于通过vhost协议将所述VF的控制路径交由vhost内核模块进行控制,并将与所述虚拟机/容器对应的所述VF模拟成virtio的vring环形队列;
第二分配模块,用于为各系统应用分配若干所述VF,所述VF绑定virtio驱动;相应的,加速转发表中保存有VF和系统应用的对应关系;
第二分离模块,用于通过vhost协议将所述VF的控制路径交由内核I/O子系统进行控制,并将与所述系统应用对应的所述VF模拟成virtio的vring环形队列;
资源迁移模块,用于当接收到虚拟机/容器迁移请求时,所述vhost内核模块基于vhost协议对数据脏页进行跟踪,并通过数据传输工具发送所述数据脏页至目的主机。
7.一种云资源加速装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任意一项所述的云资源加速方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任意一项所述的云资源加速方法的步骤。
CN202211378172.3A 2022-11-04 2022-11-04 一种云资源加速方法、装置及其介质 Active CN115913953B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211378172.3A CN115913953B (zh) 2022-11-04 2022-11-04 一种云资源加速方法、装置及其介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211378172.3A CN115913953B (zh) 2022-11-04 2022-11-04 一种云资源加速方法、装置及其介质

Publications (2)

Publication Number Publication Date
CN115913953A CN115913953A (zh) 2023-04-04
CN115913953B true CN115913953B (zh) 2024-06-04

Family

ID=86495798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211378172.3A Active CN115913953B (zh) 2022-11-04 2022-11-04 一种云资源加速方法、装置及其介质

Country Status (1)

Country Link
CN (1) CN115913953B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737324B (zh) * 2023-08-14 2023-11-03 无锡沐创集成电路设计有限公司 硬件Virtio-net设备的热迁移方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739618A (zh) * 2018-12-10 2019-05-10 新华三云计算技术有限公司 虚拟机迁移方法及装置
CN109753346A (zh) * 2018-12-25 2019-05-14 新华三云计算技术有限公司 一种虚拟机热迁移方法及装置
CN113630265A (zh) * 2021-06-30 2021-11-09 济南浪潮数据技术有限公司 一种基于智能网卡的虚拟网络冗余备份方法及装置
WO2022088743A1 (zh) * 2020-10-31 2022-05-05 华为技术有限公司 一种流表处理方法及相关设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332849B2 (en) * 2008-05-30 2012-12-11 Lsi Corporation Paravirtualization acceleration through single root I/O virtualization
US10635474B2 (en) * 2016-05-09 2020-04-28 Marvell Asia Pte, Ltd. Systems and methods for virtio based optimization of data packet paths between a virtual machine and a network device for live virtual machine migration
CN107894913B (zh) * 2016-09-30 2022-05-13 超聚变数字技术有限公司 一种计算机系统和存储访问装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739618A (zh) * 2018-12-10 2019-05-10 新华三云计算技术有限公司 虚拟机迁移方法及装置
CN109753346A (zh) * 2018-12-25 2019-05-14 新华三云计算技术有限公司 一种虚拟机热迁移方法及装置
WO2022088743A1 (zh) * 2020-10-31 2022-05-05 华为技术有限公司 一种流表处理方法及相关设备
CN113630265A (zh) * 2021-06-30 2021-11-09 济南浪潮数据技术有限公司 一种基于智能网卡的虚拟网络冗余备份方法及装置

Also Published As

Publication number Publication date
CN115913953A (zh) 2023-04-04

Similar Documents

Publication Publication Date Title
US8533713B2 (en) Efficent migration of virtual functions to enable high availability and resource rebalance
CN102177509B (zh) 虚拟化存储分配方法
CN108183871B (zh) 一种虚拟交换机、虚拟交换机启动方法,电子设备
US7971203B2 (en) Method, apparatus and system for dynamically reassigning a physical device from one virtual machine to another
CN102314372B (zh) 用于虚拟机i/o多路径配置的方法和系统
CN113312143B (zh) 云计算系统、命令处理方法及虚拟化仿真装置
US7581229B2 (en) Systems and methods for supporting device access from multiple operating systems
JP6055310B2 (ja) 仮想記憶ターゲットオフロード技術
US9063793B2 (en) Virtual server and virtual machine management method for supporting zero client by providing host interfaces from classified resource pools through emulation or direct connection modes
CN111450524B (zh) 云游戏中的信息处理方法、装置、云游戏服务器及介质
Doherty SDN and NFV simplified: a visual guide to understanding software defined networks and network function virtualization
US20120054740A1 (en) Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments
CN116209981A (zh) 使用虚拟盘的裸机计算机
WO2022179423A1 (zh) 虚拟化处理系统、方法、装置及设备
CN103870311B (zh) 通过半虚拟化驱动访问硬件的方法、后端驱动及前端驱动
CN107479943A (zh) 基于工业互联网操作系统的多操作系统运行方法及装置
CN115913953B (zh) 一种云资源加速方法、装置及其介质
CN113821308B (zh) 片上系统、虚拟机任务处理方法及设备、存储介质
CN114461287A (zh) 操作系统启动方法、装置、电子设备和存储介质
CN114691286A (zh) 服务器系统、虚拟机创建方法及装置
US20170090965A1 (en) Dirty Memory Tracking with Assigned Devices by Exitless Paravirtualization
CN111522624B (zh) 一种基于虚拟化技术的报文转发性能弹性扩展系统及其扩展方法
WO2020108537A1 (zh) 一种基于软件定义的虚拟网络资源分配系统
CN113568734A (zh) 基于多核处理器的虚拟化方法、系统、多核处理器和电子设备
CN105335228B (zh) 一种内存变更处理方法,及操作系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant