一种基于OpenStack多region镜像资源共享的方法与流程

文档序号:14843736发布日期:2018-06-30 14:32阅读:644来源:国知局
一种基于OpenStack多region镜像资源共享的方法与流程

本发明涉及云计算领域,特别涉及一种基于OpenStack多region镜像资源共享的方法。



背景技术:

OpenStack是目前最火的开源云系统,它是由美国国家宇航局(NASA)和Rackspace合作开发的,其目的是为企业提供公有云和私有云服务。OpenStack是一个IaaS软件,类似与Amazon的云基础架构服务(IaaS),具有良好的可扩展性和可靠的云部署方案。目前OpenStack有众多的版本,随着新版本的发放,功能越来越完善,其系统的稳定性也大幅度提高。OpenStack是一个庞大的系统,有众多组件组成,例如计算组件(nova)、网络组件(neutron)、存储组件(swift)、镜像组件(glance)和认证组件(keystone)等等。其中keystone组件是整个云系统的用户权限管理组件,所有组件之间的安全通信必须经过keystone的认证才可以进行服务的调用和数据的传输。在keystone中,包括用户和租户,其中租户拥有资源的集合,而用户必须属于某个租户才能享受这些资源。而在多region资源中,keystone组件是共享的,也就意味着云系统的中的用户就可以拥有多个云系统的资源。Glance组件是一套虚拟机镜像查找及检索系统,有创建上传镜像、删除镜像、编辑镜像基本信息的功能。共享镜像资源不仅可以减少组件的部署,而且能够减轻系统的负载和运行压力。

OpenStack版本很早就支持多region,所谓的多region就是指多个区域,regions之间完全隔离。每个region有自己独立的endpoint,即每个区域都部署一套完整的OpenStack云系统,有自己的一套服务的接口,包括计算模块、网络模块和监控模块等。但是多个不同的region共享同一个认证模块keystone和云系统管理模块Horizon,用户登录到云平台上管理系统,就可以切换不同的region,进入不同配置的云系统。

镜像文件其实和RAR ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例如一个操作系统、游戏等。它最重要的特点是可以被特定的软件识别并可直接刻录到光盘或者U盘上。其实通常意义上的镜像文件可以再扩展一下,在镜像文件中可以包含更多的信息。比如说系统文件、引导文件、分区表信息等,这样镜像文件就可以包含一个分区甚至是一块硬盘的所有信息。而通常意义上的刻录软件都可以直接将支持的镜像文件所包含的内容刻录到光盘上。其实,镜像文件就是光盘的“提取物”。OpenStack系统上的镜像文件其实就是一定格式的系统镜像,包括不同版本的linux镜像和windows镜像,而且不同类型的操作系统的又有32位和64位之分。一般镜像文件的格式是raw格式或者qcow2格式。相对于raw格式,qcow2格式的镜像占用更小的空间,支持快照和加密功能。

在传统的多region云系统中,镜像资源是隔离开来的。每次创建一个region,就要上传一份所有的基础镜像资源。那么这样不仅浪费了大量的带宽资源还占用了较高的存储空间,对于公司硬件的使用是一种资源的浪费。另外,由于不同的用户需要的镜像文件是不一样的,所以镜像文件尽可能提供多种类多版本的操作系统,来满足大部分用户的需求。那么每一套OpenStack系统就要上传各种类型操作系统,多region的环境下,就要上传多份相同的镜像文件。这样不仅占用大量的硬盘空间,而且浪费了上传镜像资源的时间,影响了部署云系统的效率。



技术实现要素:

鉴于上述问题,提出了本发明,以便提供一种克服上述问题或至少部分地解决上述问题的基于OpenStack多region镜像资源共享的方法。

一种基于OpenStack多region镜像资源共享的方法,该方法包括如下步骤:

部署多region云系统共享glance模块;

不同租户下的用户可以指定不同的共享策略实现多region下的镜像资源或者快照的共享。

进一步的,所述部署多region云系统共享glance模块步骤,具体包括:

部署一套Master Region云系统,此系统用来共享keystone模块、glance模块和Horizon模块;

部署其他region的云系统,配置好keystone模块中关于glance服务的endpoint,所述glance服务虽然属于不同的region,但是具有相同的restful API,用户使用镜像文件时候,会通过此restful API调用共享存储上的系统文件。

进一步的,所述Master Region云系统的glance模块的后端存储是一块外置的共享存储,使用SSD盘做raid1。

进一步的,所述部署多region云系统共享glance模块步骤,具体包括:

部署云系统的glance模块,在控制节点部署主glance服务;选择另外一个计算节点,部署副glance服务,做HA;

在OpenStack的keystone组件中创建主从glance service,并在endpoint中为不同的region注册相同的glance restful API;

在glance的配置文件中,配置后端的共享存储,通过多路径映射到挂有多块SSD盘的共享存储上。

进一步的,所述部署多region云系统共享glance模块步骤,还包括:

定期检测主glance服务,设置心跳时间,三次超时后,切换到副glance服务。

进一步的,所述部署多region云系统共享glance模块步骤,还包括:

设置告警通知,发现服务出现问题后,通过发送邮件或者短信通知管理员。

进一步的,所述不同租户下的用户可以指定不同的共享策略,具体是指:

基础镜像资源的全部共享;和/或

同一租户,不同region中的镜像资源按需共享,用户可以设置该镜像文件是否对其他region共享或者撤销共享;和/或

不同租户之间共享镜像资源,根据业务需求设置,用户可以设置要共享的镜像文件给其他租户使用,同时也可以撤销已共享文件的共享状态。

进一步的,所述基础资源是指基本的操作系统。

进一步的,所述不同租户下的用户可以指定不同的共享策略,具体是指:

在glance模块中,创建共享策略表,主要用来记录租户,region和镜像文件之间的关系;

管理员上传基础镜像文件,设置该镜像是共享的,同时在表中记录共享状态;和/或

租户下的用户上传制作好特殊服务镜像文件时,设置该镜像共享给一个或者多个region;同时,租户也可以撤销共享给某个region的镜像文件;共享或者删除镜像文件时,及时更新表中的共享状态;和/或

设置租户之间的共享方法,可以勾选要共享的镜像文件给某个租户,同样,也可以撤销或者删除文件的共享;共享或者删除镜像文件时,及时更新表中的共享状态。

本发明采用在多region中设置镜像资源共享,既可以减少磁盘的存储,又可以提高资源的利用率。同时,灵活的资源共享策略,可以方便不同租户之间和不同region之间的资源的高效利用,这也大大提高云系统的使用效率,保证了系统高效,平稳的运行。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种实施例的基于OpenStack多region镜像资源共享的方法流程示意图。

图2为本发明一种实施例的基于OpenStack多region镜像资源共享glance服务的原理示意图。

图3为本发明一种实施例的基于OpenStack多region镜像资源设置共享策略的流程示意图。

具体实施方式

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例作进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

本发明主要通过上传一份镜像文件到存储中,共享glance服务,那么不同region用户使用镜像创建虚机时,就调用共享的glance restful API获取所需的镜像文件,即可完成虚机的创建任务。由于多region可能涉及到内网和外网之分,鉴于目前外网的传输速度影响,此方案并不太合适,但是未来外网速度达到局域网的传输速度,本方案亦可适用。

本发明涉及到两个方面,一个是部署多region云系统共享glance模块的操作步骤;另一个是不同的租户下的用户可以指定不同的共享策略实现多region下的镜像资源或者快照的共享。

具体的,如图1所示,一种基于OpenStack多region镜像资源共享的方法,该方法包括如下步骤:

步骤S110,部署多region云系统共享glance模块。

首先,部署一套Master Region(主区)云系统,此系统主要用来共享keystone模块、glance模块和Horizon模块。其中glance的后端存储最好是一块外置的共享存储,使用SSD磁盘(固态硬盘),做raid1。

其次,再部署其他region的云系统时候,配置好keystone模块中关于glance服务的endpoint。glance服务虽然属于不同的region,但是具有相同的restful API。这样用户使用镜像文件时候,会通过此API调用共享存储上的系统文件。

最后,创建更多的region时候,可以重复上面的步骤。共享镜像的优势就更加明显。

通过以上步骤,就完成了多region云系统的部署过程。

步骤S120,不同租户下的用户可以指定不同的共享策略实现多region下的镜像资源或者快照的共享。

OpenStack中的glance模块对应镜像的管理包括共享的和私有的两种方式。其中共享模式主要是上传的镜像资源可以让所有的租户都可以使用;私有模式就是该镜像资源只属于某个租户。但是这两种镜像的管理模式都是在一个region中使用的。所以要想让资源合理共享使用,必须给出合适的共享策略方案。

首先,基础镜像资源的全部共享,即云系统管理员上传基础的镜像文件系统,并将镜像设置成共享状态,所有用户都可以访问。所谓基础资源,就是所说的基本的操作系统,包括linux操作系统和windows操作系统。而操作系统又有版本不同以及32位或64位之分。把所有类型和不同位数的操作系统统一上传到共享存储之中。常用的linux操作系统ubuntu12.04、ubuntu14.04、centos6.5、centos 7和redhat各种版本;windows系统包括windows 2003server、windows XP、windows 7、windows10、windows 2008和windows2012等等。无论是不同的租户还是不同的region,所有用户使用时,都可以访问这些基础的镜像系统文件。

其次,同一租户,不同region中的镜像资源按需共享,用户可以设置该镜像文件是否对其他region共享或者撤销共享。比如同一个租户,在A region上上传了部署的大数据平台或者数据库服务的基础组件的系统镜像文件或者某些虚机安装了所需的基础组件,当切换到B region上想使用先前安装好基础组件的镜像文件时,就必须上传相同的镜像文件,或者在没有安装好基础组件的系统上安装大量的基础组件,不过这样不仅浪费时间,也大大浪费的带宽资源和存储空间。所以,同一租户在不同的region下,设置镜像资源按需共享,可以有效的解决使用问题。同样租户共享虚机的快照也可以用同样的方法解决。这种解决方案是同一租户在不同region中使用共享的资源,而其他租户无法访问该资源。

最后,不同租户之间共享镜像资源,根据业务需求设置,用户可以设置要共享的镜像文件给其他租户使用,同时也可以撤销已共享文件的共享状态。同属于不同租户之间业务可能有交叉,租户A想使用租户B中部署好的大数据服务,但是大数据服务的硬件不足以支持两个租户的业务运行,租户B就要搭建一套相同的资源。如果租户A直接共享其大数据资源,租户B直接使用A共享的镜像快照创建虚机即可享受一样的服务。

通过以上步骤,不同租户之间,同一租户不同region之间,通过不同的共享策略,可以实现镜像资源的共享。

本发明在私有云部署的场景下,使用多region功能,云系统管理员只需上传一份镜像资源,那么不同region下的用户,可以使用共享的操作系统镜像,就可以部署云主机了。每次添加新的region时,用户无须再上传重复的镜像文件,直接使用其他region共享的镜像文件即可,既提高了资源的利用率,又降低的系统的存储空间,有效的提高了系统的性能。

下面以示例的形式对本发明的技术方案做举例的详细说明,当然,本发明适用的实施例并不局限于此,下述实施例不应理解为对本发明的限制。

图2给出了本发明基于OpenStack多region镜像资源共享的方法的工作原理示意图,其部署多region云系统共享glance模块包括如下步骤:

部署云系统的glance模块,在控制节点部署主glance服务;选择另外一个计算节点,部署副glance服务,做HA(High Availability,高可用性);

在OpenStack的keystone组件中创建主从glance service,并在endpoint中为不同的region注册相同的glance restful API;

在glance的配置文件中,配置后端的共享存储,通过多路径映射到挂有多块SSD盘的共享存储上。

作为上述实施例的进一步改进,部署多region云系统共享glance模块还包括如下步骤:定期检测主glance服务,设置心跳时间,三次超时后,切换到副glance服务。

作为上述实施例的进一步改进,部署多region云系统共享glance模块还包括如下步骤:设置告警通知,发现服务出现问题后,通过发送邮件或者短信通知管理员。

图3给出了本发明基于OpenStack多region镜像资源共享策略的设置流程图,其设置过程包括如下步骤:

在glance模块中,创建共享策略表,主要用来记录租户,region和镜像文件之间的关系;

管理员上传基础镜像文件,设置该镜像是共享的,同时在表中记录共享状态;和/或

租户下的用户上传制作好特殊服务镜像文件时,设置该镜像共享给一个或者多个region;同时,租户也可以撤销共享给某个region的镜像文件。共享或者删除镜像文件时,及时更新表中的共享状态;和/或

设置租户之间的共享方法,可以勾选要共享的镜像文件给某个租户,同样,也可以撤销或者删除文件的共享。共享或者删除镜像文件时,及时更新表中的共享状态。

本发明提出了一种基于OpenStack多region镜像资源共享的系统和方法,其特点在于通过设置多region共享glance组件服务,不同的租户在不同的region中使用相同的glance restful API就可以获取镜像资源。同时,设置不同的共享策略,包括基础镜像资源,同一租户不同region的资源和不同租户之间的资源,可以进行灵活的资源配置。对glance服务做HA(High Availability,高可用性),设置报警机制,能够有效的保证服务的稳定性。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块流程并不一定是实施本发明所必须的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1