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

技术编号:33636041 阅读:28 留言:0更新日期:2022-06-02 01:48
本发明专利技术属于计算机操作系统和硬件设计技术领域,涉及一种基于智能网卡的飞腾CPU架构下裸金属服务器数据盘热插拔方法。本方法通过引入NVMe驱动,仅占用一个PCIe资源给NVMe的控制设备,数据盘通过Namespace插入到主机内部,数据盘的插入由NVMe驱动完成,不需要额外插入PCIe设备;同时本方法引入了自带操作系统的智能网卡,智能网卡连接远端云盘,然后由智能网卡内的操作系统以及网卡固件将远端云盘映射到NVMe Namespace上并透传给主机使用。本方法无需占用过多的PCIe资源,连接数据盘的数量大大增加,且绕过了飞腾CPU限制,实现了热插拔,极大地提升了使用便利性,改善了用户体验。改善了用户体验。改善了用户体验。

【技术实现步骤摘要】
基于智能网卡的飞腾CPU架构下裸金属服务器数据盘热插拔方法


[0001]本专利技术属于计算机操作系统和硬件设计
,尤其涉及一种基于智能网卡的飞腾CPU架构下裸金属服务器数据盘热插拔方法及其应用。

技术介绍

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

技术实现思路

[0004]为了克服飞腾CPU架构下的裸金属服务器存在的上述性能缺陷,本专利技术提出了一套解决方案。
[0005]通过机制分析,我们发现,弹性裸金属服务器厂商支持云盘时对主机内体现的驱动为virtio

blk,这种驱动linux内核默认即支持,每一块virtio

blk数据盘均会占用一个PCIe资源(参见图1),在x86场景下,热插一块virtio

blk数据盘等于热插了一块PCIe设备,智能网卡会产生一个中断,该中断由CPU负责响应然后通知linux操作系统内核重新分配PCIe资源,操作系统内即可看到一块新的数据盘,但是,在飞腾CPU架构下CPU对数据盘热插拔中断不会做出任何响应,从而导致PCIe资源无法分配,使得数据盘热插拔不成功。
[0006]为了规避飞腾CPU架构下CPU对数据盘热插拔中断无法响应的问题,我们做出了如下设计:因为virtio

blk协议限制为每个PCIe资源对应一块数据盘,我们尝试引入一种每个PCIe资源可以对应插入多块数据盘的驱动类型,最终选择了NVMe。NVMe协议仅占用一个
PCIe资源给NVMe的控制设备,实际使用的数据盘则通过Namespace插入到主机内部,整个数据盘的插入主要由NVMe驱动完成(参见图2),不需要额外插入PCIe设备。而且,独创的智能网卡全模拟引擎,能够将普通的iSCSI和RBD/NBD云盘通过智能网卡的模拟引擎使用NVMe协议透传给主机,从而实现了多种存储类型的兼容。
[0007]我们的技术方案包括引入智能网卡,引入的智能网卡上自带有一个操作系统,该操作系统归云厂商控制,用户无法自行控制该智能网卡,连接远端云盘的实际上是该智能网卡,然后智能网卡内的操作系统以及网卡固件将远端云盘映射到NVMe Namespace上透传给主机使用。
[0008]在上述设计的基础上,本专利技术提供了一种基于智能网卡的飞腾CPU架构下裸金属服务器数据盘热插拔方法,本方法通过引入NVMe驱动,仅占用一个PCIe资源给NVMe的控制设备,实际使用的数据盘通过Namespace插入到主机内部,数据盘的插入由NVMe驱动完成,不需要额外插入PCIe设备;同时,本方法引入了智能网卡,引入的智能网卡上自带有一个由云厂商控制的操作系统,该智能网卡连接远端云盘,然后由智能网卡内的操作系统以及网卡固件将远端云盘映射到NVMe Namespace上并透传给主机使用。
[0009]进一步地,上述裸金属服务器数据盘热插拔方法包括下述步骤:
[0010]步骤一:引入智能网卡,该智能网卡连接远端云盘,所述智能网卡使用SPDK(存储性能开发工具包)接管本设备;
[0011]步骤二:在上述智能网卡上对存储协议进行转换,将远端云盘通过NVMe Namespace映射透传给主机使用;
[0012]步骤三:主机侧加载对应的驱动和内核模块,此时智能网卡映射的远端云盘即可被主机识别为本地磁盘。
[0013]优选地,上述裸金属服务器数据盘热插拔方法中所述智能网卡上设置有模拟引擎,远端云盘通过智能网卡上的模拟引擎使用NVMe协议透传给主机。
[0014]进一步地,上述方法中所述远端云盘包括iSCSI和RBD/NBD云盘。
[0015]此外,本专利技术还涉及上述基于智能网卡的飞腾CPU架构下裸金属服务器数据盘热插拔方法在裸金属服务器操作系统及裸金属服务器硬件开发中的应用。
[0016]综上,本专利技术基于智能网卡的飞腾CPU架构下裸金属服务器数据盘热插拔方法具有以下特点:
[0017](1)目前使用的virtio

blk驱动每块数据盘需占用一个PCIe设备,由于CPU可分配的PCIe设备资源存在上限,因此导致连接数据盘的数量受到较大限制,而本方法无需占用过多的PCIe资源,仅需要控制设备插入一个PCIe资源即可,因此连接数据盘的数量可大大增加。
[0018](2)由于飞腾CPU不支持PCIe热插拔,每次插入和卸载数据盘都需要服务器掉电重启,导致用户的使用体验很差,本方法绕过了飞腾CPU限制,通过Namespace插入和卸载数据盘,实现了热插拔,极大地提升了使用便利性,改善了用户体验。
[0019](3)通过NVMe协议将多种远端存储包括iSCSI和RBD/NBD云盘封装起来透传给主机,实现了多种存储类型的兼容,而且,linux内核中默认自带NVMe驱动,无需额外安装agent插件,用户使用更加方便。
附图说明
[0020]为了更清楚地说明现有技术和本专利技术实施例技术方案,下面对现有技术和实施例描述中需要使用的附图作简要介绍。显而易见地,下面描述中的附图仅是本专利技术中记载的一些实施例,而不是全部实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1为virtio

blk驱动模式示意图。
[0022]图2为本专利技术使用的NVMe驱动模式示意图。
具体实施方式
[0023]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于智能网卡的飞腾CPU架构下裸金属服务器数据盘热插拔方法,其特征在于,本方法通过引入NVMe驱动,仅占用一个PCIe资源给NVMe的控制设备,实际使用的数据盘通过Namespace插入到主机内部,数据盘的插入由NVMe驱动完成,不需要额外插入PCIe设备;同时,本方法引入了智能网卡,所述智能网卡上自带有一个由云厂商控制的操作系统,所述智能网卡连接远端云盘,然后由智能网卡内的操作系统以及网卡固件将远端云盘映射到NVMe Namespace上并透传给主机使用。2.根据权利要求1所述的裸金属服务器数据盘热插拔方法,其特征在于,所述方法包括下述步骤:步骤一:引入智能网卡,该智能网卡连接远端云盘,所述智能网卡使用SPDK接管本设备;步骤二:...

【专利技术属性】
技术研发人员:褚晓强张瑾王军李亚浩
申请(专利权)人:中电云数智科技有限公司
类型:发明
国别省市:

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

1