CN104714823B - 基于OpenStack的新建主机配置方法 - Google Patents

基于OpenStack的新建主机配置方法 Download PDF

Info

Publication number
CN104714823B
CN104714823B CN201510098793.XA CN201510098793A CN104714823B CN 104714823 B CN104714823 B CN 104714823B CN 201510098793 A CN201510098793 A CN 201510098793A CN 104714823 B CN104714823 B CN 104714823B
Authority
CN
China
Prior art keywords
modules
main frame
dashboard
openstack
configuration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510098793.XA
Other languages
English (en)
Other versions
CN104714823A (zh
Inventor
程永新
谢涛
林壬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai New Torch Network Information Technology Ltd By Share Ltd
Original Assignee
Shanghai New Torch Network Information Technology Ltd By Share Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai New Torch Network Information Technology Ltd By Share Ltd filed Critical Shanghai New Torch Network Information Technology Ltd By Share Ltd
Priority to CN201510098793.XA priority Critical patent/CN104714823B/zh
Publication of CN104714823A publication Critical patent/CN104714823A/zh
Application granted granted Critical
Publication of CN104714823B publication Critical patent/CN104714823B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于OpenStack的新建主机配置方法,所述OpenStack配置有dashboard模块、Nova模块和数据库;配置步骤如下:a)截取来自dashboard模块创建主机的申请;b)在临时主机配置界面获取到配置信息后生成配置模板文件,取代dashboard模块将所述配置信息存入数据库,并向Nova‑api模块发起建立主机申请;c)在Nova‑api模块响应该申请后,将控制权交还给dashboard模块,由dashboard模块继续完成后续的交互操作。本发明能够直接调整主机配置而无需事先创建模板,以便于创建多台不同配置的主机,并同时保留配置模板的创建方式,大大提高工作效率。

Description

基于OpenStack的新建主机配置方法
技术领域
本发明涉及一种软件配置方法,尤其涉及一种基于OpenStack的新建主机配置方法。
背景技术
OpenStack是由Rackspace和NASA共同开发的云计算平台,帮助服务商和企业内部实现类似于Amazon EC2和S3的云基础架构服务(Infrastructure as a Service,IaaS)。OpenStack包含两个主要模块:Nova和Swift,前者是NASA开发的虚拟服务器部署和业务计算模块;后者是Rackspack开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack是开源项目,除了有Rackspace和NASA的大力支持外,后面还有包括Dell、Citrix、Cisco、Canonical这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台Eucalyptus的态势。
OpenStack Compute(Nova)是一套控制器,用于为单个用户或使用群组启动虚拟机实例。OpenStack Compute在公共云处理方面堪与Amazon EC2(亚马逊弹性云计算AmazonElastic Compute Cloud)相提并论;而在私有云方面也毫不逊色于VMware的产品。在公共云中,这套管理机制将提供预制的镜像或是为用户创建的镜像提供存储机制,这样用户就能够将镜像以虚拟机的形式启动。
目前以OpenStack为基础的虚拟机管理软件基于主机配置模板的概念来设计主机创建的流程,在建立主机之前,需要先在管理员菜单建立云主机的配置模板(云主机类型),然后在创建虚拟机时才能选择对应的主机配置模板(云主机类型),如图1所示。现有的openstack管理界面创建云主机的具体操作步骤如下:1)进入管理员面板;2)进入云主机类型(主机模板)菜单;3)选择创建新的云主机类型;4)填写该云主机类型的各种配置项;5)进入项目面板;6)进入云主机面板;7)并选择启动云主机;8)在主机类型处选择刚才创建好的主机类型;9)填入该云主机的其它配置项内容,完成云主机的创建。
由上述操作步骤可见,基于模板设计的云主机创建方式,在需要创建多台不同配置主机的情况下会显得非常繁琐,操作不便,无法像vmware创建主机时那样在主机创建界面直接调整主机的配置。
发明内容
本发明所要解决的技术问题是提供一种基于OpenStack的新建主机配置方法,能够直接调整主机配置而无需事先创建模板,以便于创建多台不同配置的主机,并同时保留配置模板的创建方式,简单方便,并且不会影响到openstack的功能性和稳定性。
本发明为解决上述技术问题而采用的技术方案是提供一种基于OpenStack的新建主机配置方法,所述OpenStack配置有前台配置界面dashboard模块、Nova模块和数据库,所述Nova模块包括:
Nova-api模块:供其他模块调用的对外接口模块;
Scheduler模块:根据当前资源使用情况,决定计算节点分布到哪台计算节点上;
Network模块:给虚拟机分配网络并进行管理,使外部PC可以直接访问;
所述Nova-api模块、Scheduler模块和Network模块运行时通过异步消息的方式,采用消息队列queue和所述数据库进行交互;所述配置方法包括如下步骤:a)截取来自dashboard模块创建主机的申请,并提供新的临时主机配置界面供用户进行配置;b)在临时主机配置界面获取到配置信息后生成配置模板文件,取代dashboard模块将所述配置信息存入数据库,并向Nova-api模块发起建立主机申请;c)在Nova-api模块响应该申请后,将控制权交还给dashboard模块,由dashboard模块配合Scheduler模块和Network模块继续完成后续的交互操作,完成新建主机配置。
上述的基于OpenStack的新建主机配置方法,其中,所述步骤a)通过在dashboard模块中设置插件的方式截取创建主机的申请。
上述的基于OpenStack的新建主机配置方法,其中,所述步骤a)发现dashboard模块与Nova-api模块的对应接口之间产生了相互调用之后,拦截dashboard模块生成的交互界面,并以新的临时交互界面进行取代。
上述的基于OpenStack的新建主机配置方法,其中,所述步骤a)在dashboard模块接收Nova-api模块和Nova-network模块返回消息的接口上完成对消息的过滤及拦截,所述步骤b)模拟dashboard模块的数据库操作,将临时生成的配置模板插入到数据库中,以供Nova-api模块和Nova-network模块调用。
本发明对比现有技术有如下的有益效果:本发明提供的基于OpenStack的新建主机配置方法,不对openstack底层进行修改的前提下,通过在openstack的dashboard与Nova-api之间插入一个功能模块,较为简便地实现直接调整主机配置而无需事先创建模板,以便于创建多台不同配置的主机,并同时保留配置模板的创建方式,以便于批量部署主机;本发明可以有效提高部署多台不同配置主机的工作效率,并降低操作人员的工作量,并且由于不对openstack的底层实现进行任何修改,所以该方法并不会影响到openstack的功能性和稳定性。
附图说明
图1为现有基于OpenStack的新建主机配置方法示意图;
图2为本发明基于OpenStack的新建主机配置方法示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
目前创建云主机的流程设计在大量创建同一配置的主机时会很便利,但若需要创建多台配置不同的主机时则并不方便,需要先创立多个不同配置的模板,然后在创建主机时再逐台选择对应的模板。在需要大量创建不同配置主机的情况下,基于模板的操作会降低工作效率。若可以像vmware之类的虚拟化软件一样,在创建主机时直接按需调整主机的配置,则可以避免多次进入不同的菜单操作,可以更加方便更加快捷的创建主机。
本发明主要在不对openstack底层进行修改的前提下,通过在openstack的dashboard与Nova-api之间插入一个功能模块,较为简便地实现在主机时直接调整主机配置而无需事先创建模板,以便于创建多台不同配置的主机,并同时保留配置模板的创建方式,以便于批量部署主机。本发明可以有效的提高部署多台不同配置主机的工作效率,并降低操作人员的工作量,并且由于不对openstack的底层实现进行任何修改,所以该方法并不会影响到openstack的功能性和稳定性。
请参见图2,本发明提供的基于OpenStack的新建主机配置方法,所述OpenStack配置有前台配置界面dashboard模块、Nova模块和数据库,所述Nova模块为NASA开发的虚拟服务器部署和业务计算模块,包括:
Nova-api模块:供其他模块调用的对外接口模块,openstack大部分的功能都可以通过前台配置界面调用后端的各种API来实现;
Scheduler模块:根据当前资源使用情况,决定计算节点分布到哪台计算节点上;
Network模块:给虚拟机分配网络并进行管理,使外部PC可以直接访问;
Compute模块:计算节点,使用虚拟化技术,host虚拟机;
Volume模块:给虚拟机分配额外持久化的存储;
所述Nova-api模块、Scheduler模块、Network模块、Compute模块和Volume模块运行时通过异步消息的方式,采用消息队列queue和所述数据库进行交互;其中,所述配置方法包括如下步骤:
a)截取来自dashboard模块创建主机的申请,并提供新的临时主机配置界面供用户进行配置;如通过在dashboard模块中设置插件的方式截取创建主机的申请;
b)在临时主机配置界面获取到配置信息后生成配置模板文件,取代dashboard模块将所述配置信息存入数据库,并向Nova-api模块发起建立主机申请;
c)在Nova-api模块响应该申请后,将控制权交还给dashboard模块,由dashboard模块配合Scheduler模块和Network模块继续完成后续的交互操作,完成新建主机配置。
本发明通过在后台生成对于用户而言透明的模板来实现,不需对openstack的底层架构进行大幅度改动,只需在openstack的前台dashboard与后台底层之间新增一个配置生成模块。在创建虚拟机时,可根据需求选择以原本的模式按事先保存下来的主机配置模板进行主机创建(适合创建多台同样配置的主机),也可选择在创建主机时再实时填写调整主机配置,再通过配置创建模块自动生成主机配置(适合建立多台配置各有不同的主机)。各功能模块的组成及主要实现过程如下:
1、嵌入dashboard端的探头功能
由于该配置自动创建模块需要截取dashboard的请求,所以该模块在前端dashboard上必须插入一个探头,用于发现用户通过dashboard模块发起的主机创建请求。本功能涉及修改的openstack代码模块为:
openstack_dashboard.hooks
openstack_dashboard
openstack_dashboard.dashboards
openstack_dashboard.openstack
2、dashboard界面拦截功能
在探头发现了dashboard与Nova-api的对应接口之间产生了相互调用之后,拦截器功能被触发,拦截dashboard生成的交互界面,并以本模块自身的交互界面取而代之。本功能涉及修改的openstack代码模块为:
openstack_dashboard
openstack_dashboard.dashboards
openstack_dashboard.openstack
openstack_dashboard.dashboards.router
openstack_dashboard.api.nova
openstack_dashboard.api.neutron
openstack_dashboard.api.network_base
openstack_dashboard.api.swift
openstack_dashboard.api.network
3、配置生成功能
在用户交互界面操作完毕之后,本功能负责根据用户的操作自动生成配置模板,并将生成的模板传递给操作模拟功能。本功能涉及修改的openstack代码模块为:
openstack_dashboard
openstack_dashboard.dashboards
openstack_dashboard.openstack
openstack_dashboard.templatetags
openstack_dashboard.templatetags.context_selection
4、接口操作功能
本功能负责模拟dashboard来调用Nova-api,需在dashboard接收Nova-api和Nova-network模块返回消息的接口上完成对消息的过滤及拦截,并负责模拟dashboard的数据库操作,将模块生成的配置模板插入数据库,以便Nova-api和Nova-network模块调用。本功能涉及修改的openstack代码模块为:
openstack_dashboard
openstack_dashboard.api.nova
openstack_dashboard.hooks
openstack_dashboard.api.neutron
openstack_dashboard.api.network_base
openstack_dashboard.api.network
openstack_dashboard.dashboards.router
openstack_dashboard.api.swift
openstack_dashboard.api.heat
openstack_dashboard.api.base
openstack_dashboard.api.keystone
openstack_dashboard.utils.filters。
本发明提供的基于OpenStack的新建主机配置方法,在前端dashboard模块里新增一个自动创建临时模板的模块,不需要对openstack后台底层运行逻辑进行任何修改就可以提供创建主机时实时调整并生成主机配置的简便操作方法。用户具体的操作使用步骤如下:
步骤1、用户点击创建云主机进入云主机配置界面;
步骤2、配置自动创建模块截取用户的调用信息,介入并替换dashboard的界面,为用户提供配置界面以填写云主机的硬件配置情况;
步骤3、配置自动创建模块根据用户填写的配置参数,调用openstack后台生成模板的接口,利用配置自动创建模块的功能模仿dashboard为该配置参数生成一个模板并将其插入数据库;
步骤4、配置自动创建模块模仿dashboard发起对nova-api的调用;
步骤5、nova-api以配置自动创建模块插入数据库的模板作为参数,调用openstack后台创建云主机的接口,以该模板创建云主机;
步骤6、openstack后台生成云主机完毕,并将创建成功的消息返回;
步骤7、配置自动创建模块在接收到主机创建的返回消息后,主动退出dashboard的交互界面,并将操作控制权交还给dashboard模块。
由上可见。对操作者而言,改进后的创建云主机的操作步骤只有步骤1,步骤2两步,其余操作均由程序自动完成,可见相比于改进前的操作,本发明可以大幅提高使用者的工作效率与使用感受。
综上所述,本发明提供的基于OpenStack的新建主机配置方法,通过在openstack的dashboard与Nova-api之间插入一个功能模块,较为简便地实现直接调整主机配置而无需事先创建模板;具体优点如下:1)利用前端程序自动创建临时模板的方式,可以通过对用户界面前端程序的修改,openstack提供绕开配置模板机制建立主机的办法,以便更加快捷方便地创建主机。2)相比起任何对openstack底层代码进行修改或是彻底重新开发前端程序的方式,新方法保留了openstack完整的底层代码,不会对openstack的功能或是性能造成任何影响,并可以保留完整的版本兼容性。3)本发明只需在前端dashboard程序插入一个新增的功能模块,将部分人工操作改为自动化执行,不修改openstack的运行逻辑,不对openstack内有的api进行修改,简单易行,实现成本低廉。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

Claims (4)

1.一种基于OpenStack的新建主机配置方法,所述OpenStack配置有前台配置界面dashboard模块、Nova模块和数据库,所述Nova模块包括:
Nova-api模块:供其他模块调用的对外接口模块;
Scheduler模块:根据当前资源使用情况,决定计算节点分布到哪台计算节点上;
Network模块:给虚拟机分配网络并进行管理,使外部PC可以直接访问;
所述Nova-api模块、Scheduler模块和Network模块运行时通过异步消息的方式,采用消息队列queue和所述数据库进行交互;其特征在于,所述配置方法包括如下步骤:
a)截取来自dashboard模块创建主机的申请,并提供新的临时主机配置界面供用户进行配置;
b)在临时主机配置界面获取到配置信息后生成配置模板文件,取代dashboard模块将所述配置信息存入数据库,并向Nova-api模块发起建立主机申请;
c)在Nova-api模块响应该申请后,将控制权交还给dashboard模块,由dashboard模块配合Scheduler模块和Network模块继续完成后续的交互操作,完成新建主机配置。
2.如权利要求1所述的基于OpenStack的新建主机配置方法,其特征在于,所述步骤a)通过在dashboard模块中设置插件的方式截取创建主机的申请。
3.如权利要求2所述的基于OpenStack的新建主机配置方法,其特征在于,所述步骤a)发现dashboard模块与Nova-api模块的对应接口之间产生了相互调用之后,拦截dashboard模块生成的交互界面,并以新的临时主机配置界面进行取代。
4.如权利要求3所述的基于OpenStack的新建主机配置方法,其特征在于,所述步骤a)在dashboard模块接收Nova-api模块和Network模块返回消息的接口上完成对消息的过滤及拦截,所述步骤b)模拟dashboard模块的数据库操作,将临时生成的配置模板插入到数据库中,以供Nova-api模块和Network模块调用。
CN201510098793.XA 2015-03-06 2015-03-06 基于OpenStack的新建主机配置方法 Active CN104714823B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510098793.XA CN104714823B (zh) 2015-03-06 2015-03-06 基于OpenStack的新建主机配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510098793.XA CN104714823B (zh) 2015-03-06 2015-03-06 基于OpenStack的新建主机配置方法

Publications (2)

Publication Number Publication Date
CN104714823A CN104714823A (zh) 2015-06-17
CN104714823B true CN104714823B (zh) 2018-02-27

Family

ID=53414193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510098793.XA Active CN104714823B (zh) 2015-03-06 2015-03-06 基于OpenStack的新建主机配置方法

Country Status (1)

Country Link
CN (1) CN104714823B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516266B (zh) * 2015-11-30 2019-06-11 华为技术有限公司 一种业务监控方法、系统及相关设备
CN106201466B (zh) * 2016-06-25 2019-05-21 国云科技股份有限公司 一种基于heat的模板管理方法
CN107517129B (zh) * 2017-08-25 2020-04-03 杭州迪普科技股份有限公司 一种基于OpenStack配置设备上行接口的方法和装置
CN107741874B (zh) * 2017-10-12 2021-05-14 武汉中地数码科技有限公司 一种gis云虚拟机自动创建方法及系统
CN108762890A (zh) * 2018-05-31 2018-11-06 郑州云海信息技术有限公司 云管理平台中数据库的管理方法和装置
CN109144663B (zh) * 2018-07-13 2020-11-10 新华三云计算技术有限公司 主机优选方法及装置
CN111343011B (zh) * 2020-02-16 2022-12-27 苏州浪潮智能科技有限公司 一种云管理平台融合Openstack网络控制方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065716A (zh) * 2014-06-18 2014-09-24 江苏物联网研究发展中心 一种基于OpenStack的提供Hadoop服务的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI516059B (zh) * 2013-05-09 2016-01-01 緯創資通股份有限公司 主從裝置環境的部署方法與系統

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065716A (zh) * 2014-06-18 2014-09-24 江苏物联网研究发展中心 一种基于OpenStack的提供Hadoop服务的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Openstack Dashboard 操作指南;CdTech;《http://cdtech.blog.51cto.com/8720440/1404908 2017/》;20140430;全文 *
使用OpenStack创建云主机和Volume;yishuizhao;《http://tianhunyongheng.blog.51cto.com/1446947/1607676》;20150124;全文 *
基于运行时模型的多样化云资源管理方法;陈星等;《软件学报》;20140731;全文 *

Also Published As

Publication number Publication date
CN104714823A (zh) 2015-06-17

Similar Documents

Publication Publication Date Title
CN104714823B (zh) 基于OpenStack的新建主机配置方法
CN107070705B (zh) 一种云资源的编排方法
CN101203834B (zh) 用于在虚拟机监视器和符合acpi的客户操作系统之间进行双向通信的方法、装置及系统
CN105429806B (zh) 一种基于数据驱动的网络功能虚拟化的装置及方法
CN103955373B (zh) 一种sdn应用集成开发环境的设计方法
CN106850621A (zh) 一种基于容器云技术快速搭建Hadoop集群的方法
US9448832B2 (en) Apparatus and method for validating application deployment topology in cloud computing environment
CN107291525A (zh) 一种部署虚拟机的方法、宿主机及系统
CN106484394A (zh) 一种双引擎快速软件开发系统
CN105814539A (zh) 用于代码虚拟化和远程进程调用生成的方法和装置
JP2014523042A (ja) ビジネスモデル指向のソフトウェア実行プラットフォーム及びその実行モード
CN111488196A (zh) 渲染方法及装置、存储介质、处理器
CN108089913A (zh) 一种超融合系统的虚拟机部署方法
CN107608675A (zh) 基于虚拟文档对象模型的跨平台前端开发系统及方法
CN109768892A (zh) 一种微服务化的网络安全实验系统
CN107547237A (zh) 虚拟网络功能vnf更新方法、装置和vnf包
CN108664313A (zh) 镜像文件在线制作方法、装置、服务器、系统及存储介质
CN109995814A (zh) 云主机资源的迁移方法及装置、通信设备、存储介质
CN109144485B (zh) 一种微服务的部署方法、装置、设备及可读存储介质
CN107479964A (zh) 一种云渲染系统
CN105871988A (zh) 服务部署方法及装置
CN102447689B (zh) 一种消息的更新提示方法以及网络客户端
CN110058905A (zh) 事件处理及操作系统管理方法、装置、设备以及存储介质
TWI707561B (zh) 虛擬網路功能的管理系統和管理方法
CN108089924A (zh) 一种任务运行方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 201701 room 1, zone 113, zone 1, building 588, No. 7548, Lane R, outer Pine Road, Qingpu District, Shanghai

Applicant after: Shanghai new torch network information technology Limited by Share Ltd

Address before: 200063 Shanghai, Zhongshan North Road, No. 2000, building, building No. 3, B

Applicant before: SHANGHAI XINJU NETWORK INFORMATION TECHNOLOGY CO., LTD.

GR01 Patent grant
GR01 Patent grant