一种基于OpenStack云平台的云硬盘管理方法及系统与流程

文档序号:12718453阅读:281来源:国知局
一种基于OpenStack云平台的云硬盘管理方法及系统与流程

背景技术
:OpenStack是一个开源的云计算管理平台项目,能够向使用者提供虚拟化资源的管理平台,其中,云主机一般由基于内核的虚拟机(kernel-basedvirtualmachine,KVM)/QEMU虚拟化技术提供,云硬盘一般由iSCSI或其他存储虚拟化技术提供。由于云主机和云硬盘来自于两个不同的技术模块,导致云主机的列表数据中缺少云硬盘的相关数据。例如,云主机是否挂载有云硬盘,以及挂载的云硬盘是否为主磁盘,从而造成基于OpenStack的应用系统无法友好地对用户展现和执行禁用或者卸载云硬盘操作的问题。目前采用的方法为首先检索获得OpenStack云平台的云主机的数据(见表1),然后检索得到OpenStack云平台的所有的云硬盘的数据(见表2),云硬盘的数据包括云硬盘以及云硬盘所挂载的云主机UUID,最后将云主机的数据中的云主机UUID逐一与所有的云硬盘的数据进行匹配,根据匹配结果来判断云主机是否挂载有云硬盘。UUID名称c1d95afb-6ddb-4feb-a50b-4c1dce2e0952云主机172b7b1dc-c5b2-11e6-ab93-fa163e3f8b77云主机2表1:通过OpenStack检索到的云主机的数据表2:通过OpenStack检索到的云硬盘的数据因此,这种方法需要向OpenStack云平台发起两次检索请求,并且由于云硬盘及其所挂载的云主机UUID没有关联关系,需要对所有的云硬盘进行检索,并根据云主机UUID逐一比对云硬盘的列表数据,随着云硬盘的数量不断增多,检索和匹配所花费的时间越来越长,造成对用户展现或禁用、卸载云硬盘的操作耗时较长,而且云平台的负荷较大。技术实现要素:针对现有技术中存在的缺陷,本发明的主要目的在于提供一种基于OpenStack云平台的云硬盘管理方法,本发明的另一目的在于提供一种基于OpenStack云平台的云硬盘管理系统,能够快速查询出云主机是否挂载云硬盘,以及挂载的云硬盘是否为主磁盘。本发明提供一种基于OpenStack云平台的云硬盘管理方法,其用于查询并显示用户请求创建的云主机及其上挂载的云硬盘的信息,包括以下步骤:根据用户请求分别创建云硬盘和云主机,并将云硬盘挂载到云主机上,所述云硬盘包括用户为云主机选定的主磁盘;记录创建的云硬盘和云主机的信息、以及云主机与云硬盘之间的关联信息,所述关联信息包括云主机的ID及其上挂载的云硬盘的ID、以及挂载的云硬盘是否为主磁盘;接收用户的查询指令,根据所述关联信息构建并显示被查询的云主机的云硬盘列表,所述云硬盘列表包括云主机上是否挂载有云硬盘以及挂载的云硬盘是否为主磁盘。在上述技术方案的基础上,所述用户请求包括创建云硬盘的第一用户请求和创建云主机的第二用户请求,所述第二用户请求还包括用户从已创建的云硬盘中选定的主磁盘的信息;根据用户请求分别创建云硬盘和云主机的方法为:根据所述第一用户请求创建云硬盘;根据所述第二用户请求创建云主机,并将用户选定的云硬盘设置为主磁盘。在上述技术方案的基础上,所述用户请求包括待创建的云硬盘和云主机的数据,所述云硬盘为云主机的主磁盘;根据用户请求分别创建云硬盘和云主机的方法为:根据所述用户请求依次创建云硬盘和云主机,并将该云硬盘设置为云主机的主磁盘。在上述技术方案的基础上,所述云主机的信息包括云主机的ID和云主机名称,所述云硬盘的信息包括云硬盘的ID和/或云硬盘所挂载的云主机的ID、云硬盘名称和存储空间大小。在上述技术方案的基础上,所述云主机的ID包括云主机UUID和对该云主机设置的主键,所述云硬盘的ID包括云硬盘UUID和对该云硬盘设置的主键。在上述技术方案的基础上,记录创建的云硬盘和云主机的信息、以及云主机与云硬盘之间的关联信息的方法为:分别创建云硬盘列表、云主机列表和关联列表,所述云硬盘列表存储云硬盘的主键、云硬盘UUID、云硬盘名称和存储空间大小,所述云主机列表存储云主机的主键、云主机UUID和云主机名称,所述关联列表存储云主机的主键及其上挂载的云硬盘的主键、以及挂载的云硬盘是否为主磁盘。在上述技术方案的基础上,根据所述关联信息构建并显示被查询的云主机的云硬盘列表的方法为:基于所述关联列表,分别从所述云硬盘列表和云主机列表中检索获得被查询的云主机的信息及其挂载的云硬盘的信息;根据检索结果构建被查询的云主机的云硬盘列表,所述云硬盘列表包括云主机的主键及UUID、云硬盘的主键及UUID和云硬盘是否为主磁盘。在上述技术方案的基础上,所述云硬盘管理方法还包括执行用户对所述云硬盘列表上的云硬盘进行的卸载操作,并显示操作结果。在上述技术方案的基础上,执行用户对所述云硬盘列表上的云硬盘进行的卸载操作具体包括:对所述云硬盘列表上的云硬盘均设置卸载按钮;判断云硬盘是否为主磁盘,若是,则禁用卸载按钮;若否,则启用卸载按钮;当用户点击启用的卸载按钮时,卸载云硬盘,并从所述云硬盘列表和关联列表中删除卸载的云硬盘。本发明还提供一种基于OpenStack云平台的云硬盘管理系统,其用于查询并显示用户请求创建的云主机及其上挂载的云硬盘的信息,其包括:创建模块,其用于根据用户请求分别创建云硬盘和云主机,并将云硬盘挂载到云主机上,所述云硬盘包括用户为云主机选定的主磁盘;记录模块,其用于记录创建的云硬盘和云主机的信息、以及云主机与云硬盘之间的关联信息,所述关联信息包括云主机的ID及其上挂载的云硬盘的ID、以及挂载的云硬盘是否为主磁盘;查询模块,其用于接收用户的查询指令,根据所述关联信息构建并显示被查询的云主机的云硬盘列表,所述云硬盘列表包括云主机上是否挂载有云硬盘以及挂载的云硬盘是否为主磁盘。与现有技术相比,本发明的优点如下:(1)本发明能够快速查询出云主机是否挂载云硬盘,以及挂载的云硬盘是否为主磁盘,极大地缩短了检索和匹配云主机及其上挂载的云硬盘所花费的时间,不但减少了用户的等待时间,而且有效地降低了云平台的负荷。(2)本发明通过云硬盘列表和云主机列表,能够分别对创建的云硬盘和云主机进行管理,而且基于云硬盘列表和云主机列表构建的关联列表记录云主机及其上挂载的云硬盘的关联关系,便于后续根据用户需求对云硬盘进行查询和操作,提高了云平台对云硬盘和云主机的管理效率。(3)本发明对云主机列表上的云硬盘设置用户操作按钮,执行用户操作并显示操作结果,方便用户对云硬盘进行管理,提升了用户体验。附图说明图1是本发明实施例基于OpenStack云平台的云硬盘管理方法流程图;图2是本发明另一实施例基于OpenStack云平台的云硬盘管理方法流程图;图3是本发明实施例基于OpenStack云平台的云硬盘管理系统示意图。具体实施方式为了便于下文的描述,首先给出一些术语的说明:云主机:通过KVM/QEMU或其他虚拟化技术建立,并接受OpenStack管理的虚拟机。云硬盘:通过存储虚拟化技术建立,可以提供给云主机作为磁盘使用,并接受OpenStack管理的虚拟磁盘。应用系统:基于OpenStackAPI对云主机、云硬盘和其他资源进行管理,并额外实现了用户业务逻辑的软件系统。主磁盘:用于在云主机启动时载入主引导信息的虚拟磁盘。下面结合附图及具体实施例对本发明作进一步的详细描述。参见图1所示,本发明实施例提供一种基于OpenStack云平台的云硬盘管理方法,其用于查询并显示用户请求创建的云主机及其上挂载的云硬盘的信息,包括以下步骤:S1.根据用户请求分别创建云硬盘和云主机,并将云硬盘挂载到云主机上,云硬盘包括用户为云主机选定的主磁盘。根据本发明的一种实施方式,用户请求包括创建云硬盘的第一用户请求和创建云主机的第二用户请求,第二用户请求还包括用户从已创建的云硬盘中选定的主磁盘的信息,根据用户请求分别创建云硬盘和云主机的方法为:根据第一用户请求,调用OpenStackAPI创建云硬盘,创建云硬盘,根据第二用户请求,调用OpenStackAPI创建云主机,并将用户选定的云硬盘设置为主磁盘。根据本发明的另一种实施方式,用户请求包括待创建的云硬盘和云主机的数据,云硬盘为云主机的主磁盘。根据用户请求分别创建云硬盘和云主机具体包括以下步骤:根据用户请求依次调用OpenStackAPI创建云硬盘和云主机,并将该云硬盘设置为云主机的主磁盘。用户创建云主机时只允许选择一个已有的云硬盘进行挂载,或是新创建一个云硬盘并由应用系统挂载,通过发送block_device_mapping_v2参数,把用户创建或选中的云硬盘设置为主磁盘。云主机创建完成后,根据用户请求,可以调用OpenStackAPI继续为云主机挂载更多的云硬盘。S2.记录创建的云硬盘和云主机的信息、以及云主机与云硬盘之间的关联信息,关联信息包括云主机的ID及其上挂载的云硬盘的ID、以及挂载的云硬盘是否为主磁盘。云主机的信息包括云主机的ID和云主机名称,云硬盘的信息包括云硬盘的ID和/或云硬盘所挂载的云主机的ID、云硬盘名称和存储空间大小。云主机的ID包括云主机UUID和对该云主机设置的主键,云硬盘的ID包括云硬盘UUID和对该云硬盘设置的主键。云主机UUID为云主机在OpenStack中的UUID,云硬盘UUID为云硬盘在OpenStack中的UUID。记录创建的云硬盘和云主机的信息、以及云主机与云硬盘之间的关联信息的方法为:分别创建云硬盘列表、云主机列表和关联列表,云硬盘列表存储云硬盘的主键、云硬盘UUID、云硬盘名称和存储空间大小,云主机列表存储云主机的主键、云主机UUID和云主机名称,关联列表存储云主机的主键及其上挂载的云硬盘的主键、以及挂载的云硬盘是否为主磁盘。检测OpenStackAPI的执行结果,如果云硬盘创建成功,在云硬盘列表中创建一条云硬盘的信息,如果云主机创建成功,在云硬盘列表中创建一条云主机的信息,将该云主机上挂载的云硬盘信息关联后存入关联列表,其中,对于作为云主机的主磁盘的云硬盘,标记此关联关系为主磁盘关系,对于不作为云主机的主磁盘的云硬盘,标记此关联关系为非主磁盘关系。本发明实施例创建的云硬盘列表、云主机列表和关联列表的示例如表3-5所示:主键UUID名称大小17f629302-c59e-11e6-ab93-fa163e3f8b77云硬盘1(未挂载)1GB28139dff0-c59e-11e6-ab93-fa163e3f8b77云硬盘2(已挂载)1GB表3:本发明实施例创建的云硬盘列表的示例主键UUID名称1c1d95afb-6ddb-4feb-a50b-4c1dce2e0952云主机1272b7b1dc-c5b2-11e6-ab93-fa163e3f8b77云主机2表4:本发明实施例创建的云主机列表的示例关联的云主机主键关联的云硬盘主键关联关系12主磁盘表5:本发明实施例创建的关联列表的示例本发明通过云硬盘列表和云主机列表,能够分别对创建的云硬盘和云主机进行管理,而且基于云硬盘列表和云主机列表构建的关联列表记录云主机及其上挂载的云硬盘的关联关系,便于后续根据用户需求对云硬盘进行查询和操作,提高了云平台对云硬盘和云主机的管理效率。S3.接收用户的查询指令,根据关联信息构建并显示被查询的云主机的云硬盘列表,云硬盘列表包括云主机上是否挂载有云硬盘以及挂载的云硬盘是否为主磁盘。步骤S3中,根据关联信息构建并显示被查询的云主机的云硬盘列表的方法为:基于关联列表,分别从云硬盘列表和云主机列表中检索获得被查询的云主机的信息及其挂载的云硬盘的信息。根据检索结果构建被查询的云主机的云硬盘列表,云硬盘列表包括云主机的主键及UUID、云硬盘的主键及UUID和云硬盘是否为主磁盘。本发明只需要基于关联列表进行一次联合查询,就可以检索出云主机和所挂载的云硬盘,同时检索出挂载的云硬盘是否为主磁盘,并且由于联合查询是通过关联主键进行的,通过云主机检索云硬盘额外数据时只会检索出有关联的云硬盘。本发明能够快速查询出云主机是否挂载云硬盘,以及挂载的云硬盘是否为主磁盘,极大地缩短了检索和匹配云主机及其上挂载的云硬盘所花费的时间,不但减少了用户的等待时间,而且有效地降低了云平台的负荷。参见图2所示,本发明的基于OpenStack云平台的云硬盘管理方法的另一实施例中,步骤S3之后,本云硬盘管理方法还包括:S4.执行用户对云硬盘列表上的云硬盘进行的卸载操作,并显示操作结果。步骤S4具体包括:对云硬盘列表上的云硬盘均设置卸载按钮。判断云硬盘是否为主磁盘,若是,则禁用卸载按钮;若否,则启用卸载按钮。当用户点击启用的卸载按钮时,卸载云硬盘,并从云硬盘列表和关联列表中删除卸载的云硬盘。对于用户选中的云主机,当云硬盘列表上的云主机没有关联云硬盘,或者云主机只关联了一个云硬盘,并且此关联关系为主磁盘关系时,在界面上禁用卸载云硬盘按钮;当云主机只关联了一云硬盘,并且此关联关系为非主磁盘关系时,在界面上启用卸载云硬盘按钮,当用户点击卸载时,直接列出一条云硬盘数据让用户确认;当云主机关联了多个云硬盘,并且关联关系中有一个或多个为非主磁盘关系时,在界面上启用卸载云硬盘按钮,当用户点击卸载时,列出所有关联关系为非主磁盘关系的云硬盘数据,让用户选择一条数据并确认。例如,在表3-5中,用户选中云主机1时,由于该云主机有一个已挂载的云硬盘,并且此云硬盘是主磁盘,所以在云硬盘列表界面上禁用卸载操作按钮;用户选中云主机2时,由于该云主机没有已挂载的云硬盘,所以在云硬盘列表界面上禁用卸载操作按钮。调用OpenStackAPI对云硬盘进行卸载,并检测OpenStack卸载云硬盘的结果,如果卸载成功,在云硬盘列表中解除此云硬盘和云主机的关联关系,同时清除关联列表中的关联关系。本发明对云主机列表上的云硬盘设置用户操作按钮,执行用户操作并显示操作结果,方便用户对云硬盘进行管理,提升了用户体验。参见图3所示,本发明实施例还提供一种基于OpenStack云平台的云硬盘管理系统,其用于查询并显示用户请求创建的云主机及其上挂载的云硬盘的信息,其包括创建模块、记录模块和查询模块。创建模块用于根据用户请求分别创建云硬盘和云主机,并将云硬盘挂载到云主机上,云硬盘包括用户为云主机选定的主磁盘;记录模块用于记录创建的云硬盘和云主机的信息、以及云主机与云硬盘之间的关联信息,关联信息包括云主机的ID及其上挂载的云硬盘的ID、以及挂载的云硬盘是否为主磁盘;查询模块用于接收用户的查询指令,根据关联信息构建并显示被查询的云主机的云硬盘列表,云硬盘列表包括云主机上是否挂载有云硬盘以及挂载的云硬盘是否为主磁盘。本发明的基于OpenStack云平台的云硬盘管理系统的另一实施例,本云硬盘管理系统还包括用户操作模块,用户操作模块用于执行用户对云硬盘列表上的云硬盘进行的卸载操作,并显示操作结果。本发明不局限于上述实施方式,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1