System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于存储,具体涉及一种基于spdk nvme over tcp的单云盘多连接实现方法。
技术介绍
1、spdk是由intel发起、用于加速使用nvme ssd作为后端存储的应用软件加速库,后端nvme ssd可以是本地盘也可以是远端云盘。对于当前spdk基于nvme over tcp的云盘技术,spdk的target和host之间需要建立相应tcp连接。每个云盘与底层的nvme协议中的每一对qpair对应(由submission queue和completion queue组成,可以是admin qpair或者是i/o qpair),同时每个qpair会被映射到一个tcp连接上。如图7、图8所示,如果host映射了target端的4块云盘,那么需要建立1个admin qpair(图7源端口55376)、一个用于attach云盘的qpair(图7源端口55380)、以及每个云盘1个i/o qpair共计4个i/o qpair,整个系统总共就会有6条tcp连接(其中只有i/o qpair会用于业务数据传输)。
2、在底层网卡层面,一条tcp链接最终只会选择使用一个网卡队列(基于五元组的rss等散列算法决定),而当前网卡绝大多数都是支持多队列及默认rss散列算法。就当前分析及实验来看,传统方式中一个云盘仅一条io tcp链接,不能充分发挥出多队列网卡的性能优势,且云盘单io链接在云盘较不稳定。
技术实现思路
1、本专利技术的目的是提供一种基于spdk nvme ov
2、本专利技术采取的技术方案具体如下:
3、一种基于spdk nvme over tcp的单云盘多连接实现方法,包括:
4、获取rpc命令,并创建tcp类型的传输port实体;
5、根据rpc命令,创建subsystem并建立内存盘,模拟ssd,以nvme方式存储数据,建立ssd与subsystem的映射关系,配置ssd属于当前subsystem;
6、通过rpc命令创建tcp监听实体,建立tcp类型的端口监听;
7、获取配置文件,根据配置文件,得到云盘创建io qpair的数量,即tcp链接数;
8、根据rpc命令使host获取tgt端ssd信息,并建立admin qpair、ctrl qpair的tcp链接;
9、根据tgt端ssd信息在本地创建ssd实例,并建立与vhost-blk控制器的映射关系,使qemu启动虚拟机,获取vm的数据磁盘,将vm的数据磁盘指定为vhost-blk控制器;
10、获取vm向vhost发出建立io qpair,并创建相应tcp链接的命令;
11、获取计算的源端口及io qpair数量,循环创建io qpair及tcp链接;
12、获取tcp链接的三次握手,确保链接状态为established,实施nvme over tcp协议握手;
13、获取vm对vhost-user映射的磁盘进行认证,下发identify命令,并完成认证,vm启动,并进行io测试以及查看云盘。
14、在一种优选方案中,所述根据rpc命令,创建subsystem并建立内存盘,模拟ssd,以nvme方式存储数据,建立ssd与subsystem的映射关系,配置ssd属于当前subsystem的步骤,包括:
15、获取rpc命令,并创建新的subsystem;
16、根据rpc命令,创建内存盘;
17、将创建的内存盘配置为模拟ssd,并模拟采用nvme标准进行数据存储;
18、将ssd设备的身份信息与subsystem的身份信息进行关联;
19、配置ssd的归属属性;
20、若ssd的归属属性属于subsystem,则表明此配置的归属属性属于数据交换和处理的范围;
21、若ssd的归属属性不属于subsystem,则表明此配置的归属属性不属于数据交换和处理的范围。
22、在一种优选方案中,所述获取配置文件,根据配置文件,得到云盘创建io qpair的数量,即tcp链接数的步骤,包括:
23、获取配置文件,所述配置文件包括每个云盘所需创建的io qpair数量的信息;
24、根据每个云盘所需创建的io qpair数量的信息,创建io qpair,即为tcp链接数。
25、在一种优选方案中,所述根据rpc命令使host获取tgt端ssd信息,并建立adminqpair、ctrl qpair的tcp链接的步骤,包括:
26、获取rpc命令;
27、根据rpc命令使host获取tgt端ssd信息;
28、根据获取的tgt端ssd信息,建立admin qpair和ctrl qpair;
29、根据建立admin qpair和ctrl qpair,分别创建tcp链接。
30、在一种优选方案中,所述根据tgt端ssd信息在本地创建ssd实例,并建立与vhost-blk控制器的映射关系,使qemu启动虚拟机,获取vm的数据磁盘,将vm的数据磁盘指定为vhost-blk控制器的步骤,包括:
31、从tgt端获取的ssd信息;
32、根据ssd信息,在本地系统中创建一个模拟ssd实例;
33、根据创建的模拟ssd实例,创建vhost-blk控制器;
34、建立ssd实例与vhost-blk控制器之间的映射;
35、获取qemu命令;
36、根据qemu命令,启动虚拟机;
37、获取vm的数据磁盘;
38、根据vhost-blk控制器配置vm的数据磁盘;
39、将配置后的vm的数据磁盘为vhost-blk控制器。
40、在一种优选方案中,所述获取vm向vhost发出建立io qpair,并创建相应tcp链接的命令的步骤,包括:
41、获取vm内部生成用于建立io qpair的命令;
42、将建立io qpair的命令传输至vhost;
43、vhost根据接收的建立io qpair的命令,创建tcp链接。
44、在一种优选方案中,所述获取计算的源端口及io qpair数量,循环创建io qpair及tcp链接的步骤,包括:
45、获取计算的源端口值和io qpair数量的信息;
46、根据计算的源端口及io qpair数量,逐个创建io qpair;
47、对于每个创本文档来自技高网...
【技术保护点】
1.一种基于SPDK NVMe Over TCP的单云盘多连接实现方法,其特征在于,包括:
2.根据权利要求1所述的基于SPDK NVMe Over TCP的单云盘多连接实现方法,其特征在于,所述根据RPC命令,创建subsystem并建立内存盘,模拟SSD,以NVMe方式存储数据,建立SSD与subsystem的映射关系,配置SSD属于当前subsystem的步骤,包括:
3.根据权利要求1所述的基于SPDK NVMe Over TCP的单云盘多连接实现方法,其特征在于,所述获取配置文件,根据配置文件,得到云盘创建IO qpair的数量,即TCP链接数的步骤,包括:
4.根据权利要求1所述的基于SPDK NVMe Over TCP的单云盘多连接实现方法,其特征在于,所述根据RPC命令使Host获取TGT端SSD信息,并建立admin qpair、ctrl qpair的TCP链接的步骤,包括:
5.根据权利要求1所述的基于SPDK NVMe Over TCP的单云盘多连接实现方法,其特征在于,所述根据TGT端SSD信息在本地创建SS
6.根据权利要求1所述的基于SPDK NVMe Over TCP的单云盘多连接实现方法,其特征在于,所述获取VM向vhost发出建立IO qpair,并创建相应TCP链接的命令的步骤,包括:
7.根据权利要求1所述的基于SPDK NVMe Over TCP的单云盘多连接实现方法,其特征在于,所述获取计算的源端口及IO qpair数量,循环创建IO qpair及TCP链接的步骤,包括:
8.根据权利要求1所述的基于SPDK NVMe Over TCP的单云盘多连接实现方法,其特征在于,所述获取TCP链接的三次握手,确保链接状态为ESTABLISHED,实施NVMe Over TCP协议握手的步骤,包括:
9.根据权利要求1所述的基于SPDK NVMe Over TCP的单云盘多连接实现方法,其特征在于,所述获取VM对vhost-user映射的磁盘进行认证,下发identify命令,并完成认证,VM启动,并进行IO测试以及查看云盘的步骤,包括:
10.一种基于SPDK NVMe Over TCP的单云盘多连接实现终端,其特征在于,包括:
...【技术特征摘要】
1.一种基于spdk nvme over tcp的单云盘多连接实现方法,其特征在于,包括:
2.根据权利要求1所述的基于spdk nvme over tcp的单云盘多连接实现方法,其特征在于,所述根据rpc命令,创建subsystem并建立内存盘,模拟ssd,以nvme方式存储数据,建立ssd与subsystem的映射关系,配置ssd属于当前subsystem的步骤,包括:
3.根据权利要求1所述的基于spdk nvme over tcp的单云盘多连接实现方法,其特征在于,所述获取配置文件,根据配置文件,得到云盘创建io qpair的数量,即tcp链接数的步骤,包括:
4.根据权利要求1所述的基于spdk nvme over tcp的单云盘多连接实现方法,其特征在于,所述根据rpc命令使host获取tgt端ssd信息,并建立admin qpair、ctrl qpair的tcp链接的步骤,包括:
5.根据权利要求1所述的基于spdk nvme over tcp的单云盘多连接实现方法,其特征在于,所述根据tgt端ssd信息在本地创建ssd实例,并建立与vhost-blk控制器的映射关系,使qemu启动虚拟机,获取vm的...
【专利技术属性】
技术研发人员:孙政,王雷,刘欣,刘尧,吴重云,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。