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

裸金属服务器实现分布式存储卷启动的装置及方法与流程

2022-12-19 20:48:07 来源:中国专利 TAG:
1.本发明涉及云计算
技术领域
:,具体地说是裸金属服务器实现分布式存储卷启动的装置及方法。
背景技术
::2.随着云计算领域的发展,裸金属服务器的使用场景越来越广泛,如oraclerac、大数据、私有云搭建等。传统的裸金属服务器受限于硬件架构,多以裸金属服务器本地盘作为系统盘使用,实例创建时存在镜像拷贝到本地盘速度慢、系统盘做私有镜像、快照、备份困难等缺点。3.目前一种裸金属服务器实现卷启动的方式是依赖fc-san集中式存储来实现,裸金属服务器安装hba卡,数据中心搭建集中存储,通过fc-san协议为裸金属服务器提供系统卷,进行卷启动,一定程度上解决了系统卷做私有镜像、快照以及备份的问题,但是集中式存储的高昂成本就注定了这不是一个经济可行的通用场景。4.传统裸金属硬件架构下服务器只能依赖本地盘启动或者依赖集中式存储卷启动,如何实现裸金属服务器的分布式存储卷启动,是需要解决的技术问题。技术实现要素:5.本发明的技术任务是针对以上不足,提供裸金属服务器实现分布式存储卷启动的装置及方法,来解决如何实现裸金属服务器的分布式存储卷启动的技术问题。6.第一方面,本发明一种裸金属服务器实现分布式存储卷启动的装置,包括控制器模块、驱动模块以及智能网卡模块;7.控制器模块,所述控制器模块用于对外提供裸金属服务器卷启动服务的入口,用于接收卷启动实例创建请求,对所述卷启动实例创建请求中包含的实例信息和系统卷信息进行数据处理,并将实例信息和系统卷信息发送至驱动模块进行卷实例创建,并用于查询卷实例创建结果;8.所述驱动模块用于查询智能网卡模块的服务状态并基于服务状态对所述智能网卡模块进行上电操作,在智能网卡模块的服务启动时,用于将接收的实例信息和系统卷信息更新至裸金属服务器节点信息的属性中,并将系统卷信息发送至所述智能网卡模块,并基于所述智能网卡模块的反馈对裸金属服务器进行下电和上电操作;9.所述智能网卡模块提供有rpcservice、卷管理服务和io模拟服务,用于通过rpcservice接收系统卷信息并进行系统卷挂载和io模拟,并将执行成功的成功信息返回所述驱动模块,用于伴随着裸金属服务器同步开机并执行卷管理服务和io模拟服务。10.作为优选,所述实例信息包括实例名称、实例id、用户密码、租户网络、系统镜像信息,所述系统卷信息包括系统卷大小以及系统卷存储后端类型;11.所述控制器模块用于将实例id和系统卷信息发送至驱动模块进行卷实例创建,并用于根据实例id、通过轮询的方式查询卷实例创建结果;12.对所述卷启动实例创建请求中包含的实例信息和系统卷信息进行数据处理,包括如下操作:13.将系统镜像信息写入系统卷信息当中;14.将实例信息的状态变更为创建中;15.将实例信息、系统卷信息持久化到数据库中。16.作为优选,所述驱动模块用于将实例id更新到裸金属服务器节点信息的instance_uuid属性中,将系统卷信息更新到裸金属服务器节点信息的bootable_volume属性中,并将裸金属服务器节点信息的属性状态更新为deploying,开始执行卷实例创建过程;17.对于所述卷实例创建过程,所述驱动模块用于执行如下:18.轮询所述智能网卡模块rpcservice的服务状态,19.如果rpcservice未存活,用于通过ipmi命令对裸金属服务器进行上电操作,裸金属服务器开机的过程所述智能网卡模块同步开机,智能网卡模块提供的rpcservice服务自启动;20.轮询到所述智能网卡模块的rpcservice启动后,用于进行服务调用,将系统卷信息发送至所述智能网卡模块,并等待智能网卡模块的返回结果。21.作为优选,其特征在于,所述rpcservice用于将接收的系统卷信息持久化到卷管理服务的初始化脚本中,将挂载盘信息持久化到io模拟服务的初始化脚本中去,并将执行成功的成功信息返回至所述驱动模块;22.所述智能网卡模块上电后,用于随着裸金属服务器同步开机,按照服务启动顺序执行卷管理服务和io模拟服务,卷管理服务启动时加载初始化脚本,执行系统卷到智能网卡操作系统的内核级挂载操作,得到块设备/dev/rbd0;卷管理服务启动后,io模拟服务启动,执行io模拟服务初始化脚本中的内容。23.作为优选,所述智能网卡模块用于通过如下操作按照服务启动顺序执行卷管理服务和io模拟服务:24.建立spdkbdev到rbd块设备的数据通道,基于linuxaio建立spdkaiobdev设备到内核块设备/dev/rbd0设备的映射关系;25.初始化虚拟pci设备,向virtiopci配置空间写入virtio_f_iommu_platform、virtio_vendor_id、virtio_device_id标识,连接到智能网卡模块的硬件pci桥,将块设备连接到虚拟pci设备,裸金属加载pci设备驱动,发现系统卷,开机即可进入操作系统。26.第二方面,本发明的一种裸金属服务器实现分布式存储卷启动的方法,裸金属服务器通过如第一方面任一项所述的裸金属服务器实现分布式存储卷启动的装置实现分布式存储卷启动,所述方法包括如下步骤:27.通过控制器模块接收卷启动实例创建请求,对所述卷启动实例创建请求中包含的实例信息和系统卷信息进行数据处理,并将实例信息和系统卷信息发送至驱动模块进行卷实例创建,并查询卷实例创建结果;28.通过驱动模块查询智能网卡模块的服务状态并基于服务状态对智能网卡模块进行上电操作,在智能网卡模块的服务启动时,通过驱动模块将实例信息和系统卷信息更新至裸金属服务器节点信息的属性中,并将系统卷信息发送至智能网卡模块;29.通过智能网卡模块提供的rpcservice接收系统卷信息并进行系统卷挂载和io模拟,并将执行成功的成功信息返回所述驱动模块,并基于智能网卡模块的反馈、通过驱动模块对裸金属服务器进行下电和上电操作,智能网卡模块伴随着裸金属服务器同步开机,并执行卷管理服务和io模拟服务,以实现分布式存储卷的启动。30.作为优选,所述实例信息包括实例名称、实例id、用户密码、租户网络、系统镜像信息,所述系统卷信息包括系统卷大小以及系统卷存储后端类型;31.通过控制器模块将实例id和系统卷信息发送至驱动模块进行卷实例创建,并根据实例id、通过轮询的方式查询卷实例创建结果;32.对所述卷启动实例创建请求中包含的实例信息和系统卷信息进行数据处理,包括如下操作:33.将系统镜像信息写入系统卷信息当中;34.将实例信息的状态变更为创建中;35.将实例信息、系统卷信息持久化到数据库中。36.作为优选,通过驱动模块将实例id更新到裸金属服务器节点信息的instance_uuid属性中,将系统卷信息更新到裸金属服务器节点信息的bootable_volume属性中,并将裸金属服务器节点信息的属性状态更新为deploying,开始执行卷实例创建过程;37.对于所述卷实例创建过程,通过驱动模块执行如下:38.轮询所述智能网卡模块rpcservice的服务状态,39.如果rpcservice未存活,通过ipmi命令对裸金属服务器进行上电操作,裸金属服务器开机的过程智能网卡模块同步开机,智能网卡模块提供的rpcservice服务自启动;40.轮询到所述智能网卡模块的rpcservice启动后,进行服务调用,将系统卷信息发送至所述智能网卡模块,并等待智能网卡模块的返回结果。41.作为优选,其特征在于,通过rpcservice将接收的系统卷信息持久化到卷管理服务的初始化脚本中,将挂载盘信息持久化到io模拟服务的初始化脚本中去,并将执行成功的成功信息返回至驱动模块;42.智能网卡模块上电后,随着裸金属服务器同步开机,并按照服务启动顺序执行卷管理服务和io模拟服务,卷管理服务启动时加载初始化脚本,执行系统卷到智能网卡操作系统的内核级挂载操作,得到块设备/dev/rbd0;卷管理服务启动后,io模拟服务启动,执行io模拟服务初始化脚本中的内容。43.作为优选,通过如下操作按照服务启动顺序执行卷管理服务和io模拟服务:44.建立spdkbdev(backenddevice)到rbd块设备的数据通道,基于linuxaio建立spdkaiobdev设备到内核块设备/dev/rbd0设备的映射关系;45.初始化虚拟pci设备,向virtiopci配置空间写入virtio_f_iommu_platform、virtio_vendor_id、virtio_device_id标识,连接到智能网卡模块的硬件pci桥,将块设备连接到虚拟pci设备,裸金属加载pci设备驱动,发现系统卷,开机即可进入操作系统。46.本发明的裸金属服务器实现分布式存储卷启动的装置及方法具有以下优点:47.1、卷启动的实现省去了裸金属本地盘部署时镜像拷贝的过程,提高了裸金属服务器的部署效率,有效缩短了裸金属服务器实例部署时间,提高了租户使用体验;48.2、卷启动后,基于分布式存储服务提供的能力,可以很方便的实现系统卷的私有镜像创建、系统卷快照、备份,提高了可靠性;49.3、相较于fc-san等集中式存储,分布式存储性价比更高,使用分布式存储实现裸金属服务器的卷启动,经济可行。附图说明50.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。51.下面结合附图对本发明进一步说明。52.图1为实施例1裸金属服务器实现分布式存储卷启动的装置的结构框图;53.图2为实施例2裸金属服务器实现分布式存储卷启动的方法的流程框图。具体实施方式54.下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。55.本发明实施例提供裸金属服务器实现分布式存储卷启动的装置及方法,用于解决如何实现裸金属服务器的分布式存储卷启动的技术问题。56.实施例1:57.本发明一种裸金属服务器实现分布式存储卷启动的装置,包括控制器模块、驱动模块以及多个智能网卡模块。58.控制器模块用于对外提供裸金属服务器卷启动服务的入口,用于接收卷启动实例创建请求,对所述卷启动实例创建请求中包含的实例信息和系统卷信息进行数据处理,并将实例信息和系统卷信息发送至驱动模块进行卷实例创建,并用于查询卷实例创建结果。59.本实施例中,控制器模块接收卷启动实例创建请求,该卷启动实例创建请求包括两部分内容,分别为实例信息和系统卷信息,实例信息包括实例名称、用户密码、租户网络、系统镜像信息等内容,系统卷信息包括系统卷大小、系统卷存储后端类型等内容。60.控制器模块校验检查数据,对数据进行处理,主要是将系统镜像信息写入系统卷信息当中,将实例信息的状态变更为创建中,然后将实例信息、系统卷信息持久化到数据库中。最后,将实例id、卷信息传递至驱动模块进行下一步操作并根据实例id轮询查询创建结果。61.驱动模块用于查询智能网卡模块的服务状态并基于服务状态对所述智能网卡模块进行上电操作,在智能网卡模块的服务启动时,用于将接收的实例信息和系统卷信息更新至裸金属服务器节点信息的属性中,并将系统卷信息发送至所述智能网卡模块,并基于所述智能网卡模块的反馈对裸金属服务器进行下电和上电操作。62.本实施例中,驱动模块用于将实例id更新到裸金属服务器节点信息的instance_uuid属性中,将系统卷信息更新到裸金属服务器节点信息的bootable_volume属性中,并将裸金属服务器节点信息的属性状态更新为deploying,开始执行卷实例创建过程。63.对于卷实例创建过程,所述驱动模块用于执行如下:64.(1)轮询所述智能网卡模块rpcservice的服务状态,65.(2)如果rpcservice未存活,用于通过ipmi命令对裸金属服务器进行上电操作,裸金属服务器开机的过程所述智能网卡模块同步开机,智能网卡模块提供的rpcservice服务自启动;66.(3)轮询到所述智能网卡模块的rpcservice启动后,用于进行服务调用,将系统卷信息发送至所述智能网卡模块,并等待智能网卡模块的返回结果。67.智能网卡模块提供有rpcservice、卷管理服务和io模拟服务,用于通过rpcservice接收系统卷信息并进行系统卷挂载和io模拟,并将执行成功的成功信息返回所述驱动模块,用于伴随着裸金属服务器同步开机并执行卷管理服务和io模拟服务。68.本实施例中,智能网卡模块提供的rpcservice用于将接收的系统卷信息持久化到卷管理服务的初始化脚本中,将挂载盘信息持久化到io模拟服务的初始化脚本中去,并将执行成功的成功信息返回至所述驱动模块。69.所述智能网卡模块上电后,用于随着裸金属服务器同步开机,按照服务启动顺序执行卷管理服务和io模拟服务,卷管理服务启动时加载初始化脚本,执行系统卷到智能网卡操作系统的内核级挂载操作,得到块设备/dev/rbd0;卷管理服务启动后,io模拟服务启动,执行io模拟服务初始化脚本中的内容。70.作为具体实施,智能网卡模块用于通过如下操作按照服务启动顺序执行卷管理服务和io模拟服务,包括如下:71.第一步、建立spdkbdev(backenddevice)到rbd块设备的数据通道。基于linuxaio(asynchronousio)建立spdkaiobdev设备到内核块设备/dev/rbd0等设备的映射关系;72.第二步初始化虚拟pci设备,向virtiopci配置空间写入virtio_f_iommu_platform、virtio_vendor_id、virtio_device_id标识,连接到智能网卡模块的硬件pci桥;将块设备连接到虚拟pci设备,裸金属加载pci设备驱动,发现系统卷,开机即可进入操作系统。73.控制器模块轮询查询,驱动模块返回状态active标志卷启动实例创建完成,整个流程结束。74.本实施例中,控制器模块是对外提供裸金属服务器卷启动服务的入口,驱动模块适配了裸金属服务器和智能网卡,可通过ipmi命令对裸金属服务器进行管理,可通过rpcservice调用操作智能网卡模块,智能网卡模块主要完成系统卷的挂载和io模拟供裸金属服务器发现系统卷并能进入操作系统。75.实施例2:76.本发明一种裸金属服务器实现分布式存储卷启动的方法,裸金属服务器通过实施例1公开的装置实现分布式存储卷启动,该方法包括如下三个步骤。77.步骤s100、通过控制器模块接收卷启动实例创建请求,对所述卷启动实例创建请求中包含的实例信息和系统卷信息进行数据处理,并将实例信息和系统卷信息发送至驱动模块进行卷实例创建,并查询卷实例创建结果。78.本实施例步骤s100中,接收卷启动实例创建请求,该卷启动实例创建请求包括两部分内容,分别为实例信息和系统卷信息,实例信息包括实例名称、用户密码、租户网络、系统镜像信息等内容,系统卷信息包括系统卷大小、系统卷存储后端类型等内容。79.通过控制器模块校验检查数据,对数据进行处理,主要是将系统镜像信息写入系统卷信息当中,将实例信息的状态变更为创建中,然后将实例信息、系统卷信息持久化到数据库中。最后,将实例id、卷信息传递至驱动模块进行下一步操作并根据实例id轮询查询创建结果。80.步骤s200、通过驱动模块查询智能网卡模块的服务状态并基于服务状态对智能网卡模块进行上电操作,在智能网卡模块的服务启动时,通过驱动模块将实例信息和系统卷信息更新至裸金属服务器节点信息的属性中,并将系统卷信息发送至智能网卡模块。81.本实施例步骤s200中,将实例id更新到裸金属服务器节点信息的instance_uuid属性中,将系统卷信息更新到裸金属服务器节点信息的bootable_volume属性中,并将裸金属服务器节点信息的属性状态更新为deploying,开始执行卷实例创建过程。82.对于卷实例创建过程,所述驱动模块用于执行如下:83.(1)轮询所述智能网卡模块rpcservice的服务状态,84.(2)如果rpcservice未存活,用于通过ipmi命令对裸金属服务器进行上电操作,裸金属服务器开机的过程所述智能网卡模块同步开机,智能网卡模块提供的rpcservice服务自启动;85.(3)轮询到所述智能网卡模块的rpcservice启动后,用于进行服务调用,将系统卷信息发送至所述智能网卡模块,并等待智能网卡模块的返回结果。86.步骤s300、通过智能网卡模块提供的rpcservice接收系统卷信息并进行系统卷挂载和io模拟,并将执行成功的成功信息返回所述驱动模块,并基于智能网卡模块的反馈、通过驱动模块对裸金属服务器进行下电和上电操作,智能网卡模块伴随着裸金属服务器同步开机,并执行卷管理服务和io模拟服务,以实现分布式存储卷的启动。87.本实施例步骤s300中,通过智能网卡模块提供的rpcservice接收系统卷信息,并将系统卷信息持久化到卷管理服务的初始化脚本中,将挂载盘信息持久化到io模拟服务的初始化脚本中去,并将执行成功的成功信息返回至所述驱动模块。88.智能网卡模块上电后,随着裸金属服务器同步开机,按照服务启动顺序执行卷管理服务和io模拟服务,卷管理服务启动时加载初始化脚本,执行系统卷到智能网卡操作系统的内核级挂载操作,得到块设备/dev/rbd0;卷管理服务启动后,io模拟服务启动,执行io模拟服务初始化脚本中的内容。89.作为具体实施,通过如下操作按照服务启动顺序执行卷管理服务和io模拟服务,包括如下:90.第一步、建立spdkbdev(backenddevice)到rbd块设备的数据通道。基于linuxaio(asynchronousio)建立spdkaiobdev设备到内核块设备/dev/rbd0等设备的映射关系;91.第二步初始化虚拟pci设备,向virtiopci配置空间写入virtio_f_iommu_platform、virtio_vendor_id、virtio_device_id标识,连接到智能网卡模块的硬件pci桥;将块设备连接到虚拟pci设备,裸金属加载pci设备驱动,发现系统卷,开机即可进入操作系统。92.通过控制器模块轮询查询,驱动模块返回状态active标志卷启动实例创建完成,整个流程结束。93.上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献