一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于智能网卡的飞腾CPU架构下裸金属服务器数据盘热插拔方法与流程

2022-06-01 16:35:34 来源:中国专利 TAG:

基于智能网卡的飞腾cpu架构下裸金属服务器数据盘热插拔方法
技术领域
1.本发明属于计算机操作系统和硬件设计技术领域,尤其涉及一种基于智能网卡的飞腾cpu架构下裸金属服务器数据盘热插拔方法及其应用。


背景技术:

2.在云领域裸金属服务器场景下,传统的本地盘裸金属服务器如需进行磁盘扩容通常采用以下两种方案:一种方案是实地插入一块物理磁盘,但该操作复杂繁琐且不方便管理,高昂的操作成本使得通过该方案实现传统本地盘裸金属服务器磁盘扩容的可能性基本为零;另一种方案是通过连接远端云盘的裸金属服务,实现弹性扩容和磁盘热加载,但该方案存在严重缺陷,由于需要通过主机操作系统连接远端云盘,因此该方案的实施完全依赖主机操作系统,但裸金属服务器的主机归用户控制,一旦用户终止连接云盘的进程或者down掉连接远端云盘端口都会导致磁盘出现问题。鉴于此,许多弹性裸金属云厂商引入智能网卡来使裸金属服务器具备弹性扩容、迁移和灾备的云盘能力。
3.当前,信息技术应用创新产业和国产化已成为信息产业发展的主流,许多企业对国产技术都愈加青睐,作为国产cpu市场的主力,飞腾cpu已成为企业的热门选择,然而,飞腾旗下的多款cpu,如ft2000 、fts2500等,在公有云裸金属服务器场景下,均无法做到数据盘热插拔,导致每次新增数据盘时裸金属服务器都需要掉电重启,极大地影响了客户体验,也成为了飞腾cpu进入裸金属云服务器的巨大障碍。就目前的情况而言,国产飞腾cpu架构下的裸金属服务器面对着外接云盘和实现数据盘热插拔两座大山,大部分云厂商不支持飞腾cpu架构的裸金属服务器,即使支持也不是基于云盘方案的弹性裸金属,而是本地盘裸金属。因此,为飞腾cpu架构下的裸金属服务器开发一种数据盘热插拔方法将会极大地拓展飞腾cpu的应用领域,为国产cpu的性能提升和市场占有提供强大的助力。


技术实现要素:

4.为了克服飞腾cpu架构下的裸金属服务器存在的上述性能缺陷,本发明提出了一套解决方案。
5.通过机制分析,我们发现,弹性裸金属服务器厂商支持云盘时对主机内体现的驱动为virtio-blk,这种驱动linux内核默认即支持,每一块virtio-blk数据盘均会占用一个pcie资源(参见图1),在x86场景下,热插一块virtio-blk数据盘等于热插了一块pcie设备,智能网卡会产生一个中断,该中断由cpu负责响应然后通知linux操作系统内核重新分配pcie资源,操作系统内即可看到一块新的数据盘,但是,在飞腾cpu架构下cpu对数据盘热插拔中断不会做出任何响应,从而导致pcie资源无法分配,使得数据盘热插拔不成功。
6.为了规避飞腾cpu架构下cpu对数据盘热插拔中断无法响应的问题,我们做出了如下设计:因为virtio-blk协议限制为每个pcie资源对应一块数据盘,我们尝试引入一种每个pcie资源可以对应插入多块数据盘的驱动类型,最终选择了nvme。nvme协议仅占用一个
pcie资源给nvme的控制设备,实际使用的数据盘则通过namespace插入到主机内部,整个数据盘的插入主要由nvme驱动完成(参见图2),不需要额外插入pcie设备。而且,独创的智能网卡全模拟引擎,能够将普通的iscsi和rbd/nbd云盘通过智能网卡的模拟引擎使用nvme协议透传给主机,从而实现了多种存储类型的兼容。
7.我们的技术方案包括引入智能网卡,引入的智能网卡上自带有一个操作系统,该操作系统归云厂商控制,用户无法自行控制该智能网卡,连接远端云盘的实际上是该智能网卡,然后智能网卡内的操作系统以及网卡固件将远端云盘映射到nvme namespace上透传给主机使用。
8.在上述设计的基础上,本发明提供了一种基于智能网卡的飞腾cpu架构下裸金属服务器数据盘热插拔方法,本方法通过引入nvme驱动,仅占用一个pcie资源给nvme的控制设备,实际使用的数据盘通过namespace插入到主机内部,数据盘的插入由nvme驱动完成,不需要额外插入pcie设备;同时,本方法引入了智能网卡,引入的智能网卡上自带有一个由云厂商控制的操作系统,该智能网卡连接远端云盘,然后由智能网卡内的操作系统以及网卡固件将远端云盘映射到nvme namespace上并透传给主机使用。
9.进一步地,上述裸金属服务器数据盘热插拔方法包括下述步骤:
10.步骤一:引入智能网卡,该智能网卡连接远端云盘,所述智能网卡使用spdk(存储性能开发工具包)接管本设备;
11.步骤二:在上述智能网卡上对存储协议进行转换,将远端云盘通过nvme namespace映射透传给主机使用;
12.步骤三:主机侧加载对应的驱动和内核模块,此时智能网卡映射的远端云盘即可被主机识别为本地磁盘。
13.优选地,上述裸金属服务器数据盘热插拔方法中所述智能网卡上设置有模拟引擎,远端云盘通过智能网卡上的模拟引擎使用nvme协议透传给主机。
14.进一步地,上述方法中所述远端云盘包括iscsi和rbd/nbd云盘。
15.此外,本发明还涉及上述基于智能网卡的飞腾cpu架构下裸金属服务器数据盘热插拔方法在裸金属服务器操作系统及裸金属服务器硬件开发中的应用。
16.综上,本发明基于智能网卡的飞腾cpu架构下裸金属服务器数据盘热插拔方法具有以下特点:
17.(1)目前使用的virtio-blk驱动每块数据盘需占用一个pcie设备,由于cpu可分配的pcie设备资源存在上限,因此导致连接数据盘的数量受到较大限制,而本方法无需占用过多的pcie资源,仅需要控制设备插入一个pcie资源即可,因此连接数据盘的数量可大大增加。
18.(2)由于飞腾cpu不支持pcie热插拔,每次插入和卸载数据盘都需要服务器掉电重启,导致用户的使用体验很差,本方法绕过了飞腾cpu限制,通过namespace插入和卸载数据盘,实现了热插拔,极大地提升了使用便利性,改善了用户体验。
19.(3)通过nvme协议将多种远端存储包括iscsi和rbd/nbd云盘封装起来透传给主机,实现了多种存储类型的兼容,而且,linux内核中默认自带nvme驱动,无需额外安装agent插件,用户使用更加方便。
附图说明
20.为了更清楚地说明现有技术和本发明实施例技术方案,下面对现有技术和实施例描述中需要使用的附图作简要介绍。显而易见地,下面描述中的附图仅是本发明中记载的一些实施例,而不是全部实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为virtio-blk驱动模式示意图。
22.图2为本发明使用的nvme驱动模式示意图。
具体实施方式
23.为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例,本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
24.同时,应理解,本发明的保护范围并不局限于下述特定的具体实施方案;还应当理解,本发明实施例中使用的术语是为了描述特定的具体实施方案,而不是为了限制本发明的保护范围。
25.实施例1:一种基于智能网卡的飞腾cpu架构下裸金属服务器数据盘热插拔方法(参见图2),本方法通过引入nvme驱动,仅占用一个pcie资源给nvme的控制设备,实际使用的数据盘通过namespace插入到主机内部,数据盘的插入由nvme驱动完成,不需要额外插入pcie设备;同时,本方法引入了智能网卡,引入的智能网卡上自带有一个由云厂商控制的操作系统,该智能网卡连接远端云盘,然后由智能网卡内的操作系统以及网卡固件将远端云盘映射到nvme namespace上并透传给主机使用。
26.具体而言,本方法包括以下步骤:
27.步骤一:引入智能网卡,智能网卡上设置有模拟引擎,智能网卡连接远端云盘(iscsi和rbd/nbd云盘),该智能网卡使用spdk(存储性能开发工具包)接管本设备;
28.步骤二:在上述智能网卡上对存储协议进行转换,远端云盘通过智能网卡上的模拟引擎使用nvme namespace映射透传给主机使用;
29.步骤三:主机侧加载对应的驱动和内核模块,此时智能网卡映射的远端云盘即可被主机识别为本地磁盘。
30.以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、替换等,均应包含在本发明的权利要求保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献