CN113965530B - 一种服务启动方法、装置和存储介质 - Google Patents
一种服务启动方法、装置和存储介质 Download PDFInfo
- Publication number
- CN113965530B CN113965530B CN202010626918.2A CN202010626918A CN113965530B CN 113965530 B CN113965530 B CN 113965530B CN 202010626918 A CN202010626918 A CN 202010626918A CN 113965530 B CN113965530 B CN 113965530B
- Authority
- CN
- China
- Prior art keywords
- information
- bare metal
- nova
- computer service
- resource
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 239000002184 metal Substances 0.000 claims abstract description 202
- 229910052751 metal Inorganic materials 0.000 claims abstract description 202
- 230000000737 periodic effect Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 11
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 239000002071 nanotube Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种服务启动方法、装置和存储介质,其中,方法包括:获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中;针对处于目标状态的裸金属资源,从所述缓存中获取相应的裸金属资源的信息;创建Nova‑compute服务到数据库中,调用预设的启动方法启动Nova‑compute服务;所述Nova‑compute服务至少针对处于目标状态的裸金属资源的信息创建。本发明提供的方法避免了裸金属资源初始化时所需执行的大量的API调用,从而减少耗费的时间,提高Nova‑compute服务的启动效率。
Description
技术领域
本发明涉及裸机云技术,尤其涉及一种服务启动方法、装置和计算机可读存储介质。
背景技术
云计算服务,尤其是基础设施即服务(IaaS,Infrastructure as a Service)已经非常成熟,并在业界得到了广泛的应用。但在某些情况下,用户可能需要更多的控制权、更多的硬件访问权、更高的性能以及选择自己的操作环境的能力。裸机云,一种可以为租户提供接近原生计算能力体验的裸机云,可用于弥补传统虚拟化技术在计算性能方面的劣势。
裸机云单集群可以控制近万台裸金属,面对大规模的裸机云,若重启其中的Nova-compute服务,耗时非常久。相关技术中Nova-compute服务的启动方法包括:初始化裸机云中的裸金属资源;获取裸金属实例的网络信息并进行网络设置;确定Nova-compute服务的对象;从Ironic获取节点信息(裸金属资源相关信息)并转化为Hypervisor资源信息等。上述操作与其包括的各个裸金属资源均相关,因此,纳管的裸金属资源的数量越大,启动所耗费的时间也越久,根据各裸金属资源的规模不同,启动耗时可能长达数小时甚至一天。
发明内容
有鉴于此,本发明的主要目的在于提供一种服务启动方法、装置和计算机可读存储介质。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种服务启动方法,所述方法包括:
获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中;
针对处于目标状态的裸金属资源,从所述缓存中获取相应的裸金属资源的信息;
创建Nova-compute服务到数据库中,调用预设的启动方法启动Nova-compute服务;所述Nova-compute服务至少针对处于目标状态的裸金属资源的信息创建。
在一实施例中,所述获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中,包括:
从Ironic获取Ironic节点信息,运用缓存机制将所述Ironic节点信息进行缓存;所述Ironic节点信息包括所述Ironic获取的裸机云中各裸金属资源的信息。
在一实施例中,所述方法还包括:
生成周期任务;所述周期任务用于在Nova-compute服务启动后周期性地向所述数据库发送更新信息;
所述更新信息至少包括:与所述Nova-compute服务相关的Hypervisor资源信息、所述Nova-compute服务自身的状态信息。
在一实施例中,所述方法还包括:执行周期任务;所述执行周期任务,包括以下至少之一:
将所述裸金属资源的信息转换为Hypervisor资源信息,并周期性地将所述Hypervisor资源信息更新至所述数据库;
根据所述Hypervisor资源信息更新所述Nova-compute服务的状态。
在一实施例中,所述裸金属资源,包括:裸金属实例;所述方法还包括:
在Nova-compute服务启动过程中,取消对裸金属实例的网络信息的重新绑定操作。
本发明实施例提供了一种服务启动装置,所述装置包括:第一处理模块、第二处理模块和第三处理模块;其中,
所述第一处理模块,用于获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中;
所述第二处理模块,用于针对处于目标状态的裸金属资源,从所述缓存中获取相应的裸金属资源的信息;
所述第三处理模块,用于创建Nova-compute服务到数据库中,调用预设的启动方法启动Nova-compute服务;所述Nova-compute服务至少针对处于目标状态的裸金属资源的信息创建。
在一实施例中,所述第一处理模块,用于从Ironic获取Ironic节点信息,运用缓存机制将所述Ironic节点信息进行缓存;所述Ironic节点信息包括所述Ironic获取的裸机云中各裸金属资源的信息。
在一实施例中,所述三处理模块,还用于生成周期任务;
所述周期任务用于在Nova-compute服务启动后周期性地向所述数据库发送更新信息;所述更新信息至少包括:与所述Nova-compute服务相关的Hypervisor资源信息、Nova-compute服务自身的状态信息。
在一实施例中,所述第三处理模块,用于执行以下之一:
将所述裸金属资源的信息转换为Hypervisor资源信息,并周期性地将所述Hypervisor资源信息更新至所述数据库;
根据所述Hypervisor资源信息更新所述Nova-compute服务的状态。
在一实施例中,所述裸金属资源,包括:裸金属实例;所述第三处理模块,还用于在Nova-compute服务启动过程中,取消对裸金属实例的网络信息的重新绑定操作。
本发明实施例又提供了一种服务启动装置,所述装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序时,执行以上任一项所述服务启动方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一项所述服务启动方法的步骤。
本发明实施例所提供的服务启动方法、装置和计算机可读存储介质,获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中;针对处于目标状态的裸金属资源,从所述缓存中获取相应的裸金属资源的信息;创建Nova-compute服务到数据库中,调用预设的启动方法启动Nova-compute服务;所述Nova-compute服务至少针对处于目标状态的裸金属资源的信息创建;如此,通过先将获取的所述裸金属资源的信息保存在缓存中,避免了裸金属资源初始化时所需执行的大量的应用程序接口(API,ApplicationProgramming Interface)调用,从而减少耗费的时间,提高Nova-compute服务的启动效率。
附图说明
图1为相关技术中一种Nova-compute服务的启动方法的示意图;
图2为本发明实施例提供的一种服务启动方法的流程示意图;
图3为本发明实施例提供的另一种服务启动方法的流程示意图;
图4为本发明实施例提供的一种服务启动装置的结构示意图;
图5为本发明实施例提供的另一种服务启动装置的结构示意图。
具体实施方式
在对本发明实施例作进一步详细的说明之前,先对当前Nova-compute服务启动方法进行以下说明。
图1为相关技术中一种Nova-compute服务的启动方法的示意图,如图1所示,所述Nova-compute服务启动方法,包括:
步骤101、对裸机云中的各裸金属资源进行相应的初始化操作;
所述Nova-compute服务运行在计算节点上,与Ironic协作负责管理裸机云中的裸金属资源。所述计算节点指部署为计算服务器的节点;所述计算节点用于管理裸机云上的裸金属资源。
具体来说,裸机云中,Nova-compute服务在启动时,首先需对其管理的裸机云中的各裸金属资源进行相应的初始化操作,具体包括:通过调用Ironic的API来完成裸金属资源的初始化。所述初始化具体包括:判断各裸金属资源的状态,根据裸金属资源的不同状态执行不同的操作;以及,获取裸金属实例的网络信息,进行裸金属实例的网络信息重新绑定;所述网络信息,至少包括:网络地址、交换机信息。
步骤102、创建或更新当前计算节点的Nova-compute服务的对象;
具体在计算节点的数据库中创建或更新当前计算节点的Nova-compute服务的对象。
步骤103、将从Ironic获取到的节点信息(具体指包括各裸金属资源的信息)转化为Hypervisor资源信息;
步骤104、添加周期任务,周期上报Hypervisor资源信息,更新服务状态;
具体通过周期任务上报所述Hypervisor资源信息,保证Nova-compute服务为启动状态。
结合以上所述,现有的Nova-compute服务启动方法耗时长,启动效率不高,结合图1所示方法发现,造成上述问题的原因至少包括以下几点:
裸金属资源的初始化需要进行大量的API调用,而API调用次数与该Nova-compute服务创建的裸金属资源个数成正比;在大规模裸机云环境中,由于网络压力非常大,大量API调用操作会耗费大量时间,影响服务启动效率;
在裸金属实例初始化时,最常见的操作是Nova-compute服务根据缓存的裸金属实例的网络信息,将其与相应的裸金属实例进行重新绑定;该设计主要是针对虚拟机场景,由于Nova-compute服务重启,虚拟机的网卡可能会出现丢失,而对于裸金属实例而言不是必要的,裸金属实例是独立于Nova-compute运行的计算节点的,其本身的网卡不会因为Nova-compute服务重启而丢失,反而是执行这步操作耗费大量时间,延迟Nova-compute服务启动;
Nova-compute服务在启动的时候,会将从Ironic获取的裸金属资源的信息转换为Hypervisor资源信息,该操作会对裸金属资源进行遍历,执行数据库的读写操作;如果Nova-compute服务管理的裸金属资源有几千台,那么数据库的操作数量将非常巨大,严重影响服务启动效率,另外,如果Nova-compute服务没有通过哈希环重置裸金属资源的分配,那么一个Nova-compute服务所管理的裸金属资源个数将更多,Nova-compute服务启动速度将会更慢。
以下对Nova-compute服务进行说明:
Nova-compute服务是一个非常重要的守护进程,负责创建和终止虚拟机实例,即管理着虚拟机实例的生命周期。
Nova-compute服务是管理虚拟机实例的核心服务,通过调用虚拟机监视器(Hypervisor,用于建立与执行虚拟机的软件、固件或硬件)API以实现虚机生命周期管理;以及,可以为用户按需分配虚拟机等。
通过在Nova-compute服务中加入对虚拟机、容器和裸机的调度接口,实现统一资源的调度。
Nova-compute服务是虚拟机实例的管理层,即在虚拟机层面,采用Nova-compute服务直接管理虚拟机实例;相应的,在裸金属资源层面,通过已有的Ironic直接管理裸金属资源;这里,所述Ironic与Nova-compute存在对接关系。
基于此,本发明实施例中,获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中;针对处于目标状态的裸金属资源,从所述缓存中获取相应的裸金属资源的信息;创建Nova-compute服务到数据库中,调用预设的启动方法启动Nova-compute服务;所述Nova-compute服务至少针对处于目标状态的裸金属资源的信息创建。
下面结合实施例对本发明再作进一步详细的说明。
图2为本发明实施例提供的一种服务启动方法的流程示意图;如图2所示,所述服务启动方法可以应用于裸机云单集群中的计算节点,具体可以指裸机云单集群中的计算节点启动Nova-compute服务的方法,所述服务启动方法包括:
步骤201、获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中;
步骤202、针对处于目标状态的裸金属资源,从所述缓存中获取相应的裸金属资源的信息;
步骤203、创建Nova-compute服务到数据库中,调用预设的启动方法启动Nova-compute服务;所述Nova-compute服务至少针对处于目标状态的裸金属资源的信息创建。
这里,所述Nova-compute服务还可以针对正常运行状态的裸金属资源的信息创建。即所述Nova-compute服务可以是针对处于目标状态、正常运行状态的裸金属资源的信息创建。
所述目标状态至少包括:重建(Rebuilding)、关机或开机(Powering Off/On)等状态。
考虑到实际应用时,在初始化裸金属资源的时候,需根据所纳管的裸金属资源的规模一个个调用Ironic的API,该调用时间与裸金属资源个数成正比,在裸机云大规模环境下将耗费大量的时间,导致Nova-compute服务启动非常缓慢。因此,采用只有一次全量API调用并且存入缓存以便后续调用的方法,可以大大减少服务启动时间。
基于此,所述获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中,包括:
从Ironic获取Ironic节点信息,运用缓存机制将所述Ironic节点信息进行缓存;
这里,所述Ironic节点信息包括所述Ironic获取的裸机云中各裸金属资源的信息。
这里,所述Ironic用于获取裸机云中各裸金属资源的信息,Nova-compute与所述Ironic存在对接关系。
初始化裸金属资源时,利用缓存机制(Nova-compute具有缓存机制),周期性地将从Ironic获取的裸金属资源的信息存入缓存中,从而在之后获取裸金属资源的信息时可以从缓存中获取,减少API调用次数。
这里,所述裸金属资源的信息,包括但不限于:裸金属资源的规格信息、裸金属资源的物理机信息。
所述裸金属资源,包括:裸金属实例、裸机;
这里,所述裸金属实例安装有相应系统,可以进行相应操作;
所述裸机未安装相应系统,也就是说,对所述裸机安装相应系统,即成为裸金属实例。
考虑到实际应用时,在Nova-compute服务启动的时候需将可用的Ironic节点信息转换为Hypervisor资源信息,然后才能启动Nova-compute服务;而上述过程中包含大量的数据库读写操作,对于大规模的裸机云来说耗费特别大量的时间,导致在实际实施中出现重启Nova-compute服务需要几小时甚至一天的时间,严重影响正常业务流程。因此,先启动服务,再通过周期任务完成裸金属资源的信息的同步,有利于裸机云的Nova-compute服务的正常使用。
基于此,所述方法还包括:生成周期任务;
所述周期任务用于在Nova-compute服务启动后周期性地向所述数据库发送更新信息;所述更新信息至少包括:与所述Nova-compute服务相关的Hypervisor资源信息、所述Nova-compute服务自身的状态信息。
这里,所述数据库可以属于计算节点,所述数据库用于保存Nova-compute服务相关的Hypervisor资源信息。
所述Nova-compute服务自身的状态信息,包括:Nova-compute服务处于启动状态、Nova-compute服务处于工作状态等。
在一实施例中,所述方法还包括:执行周期任务;
所述执行周期任务,包括以下至少之一:
将所述裸金属资源的信息转换为Hypervisor资源信息,并周期性地将所述Hypervisor资源信息更新至所述数据库;
根据所述Hypervisor资源信息更新所述Nova-compute服务的状态。
这里,所述周期性地将所述Hypervisor资源信息更新至所述计算节点的数据库,指每隔预设时间段将所述Hypervisor资源信息更新至计算节点的数据库。
所述预设时间段由开发人员根据需要设定,如每1小时、每2小时等。
需要说明的是,获取裸金属资源的信息后,所述计算节点可以将所述裸金属资源的信息转换为相应的Hypervisor资源信息,从而所述计算节点可以根据接收的所述Hypervisor资源信息进行相应调度,即实现对裸金属资源的管理。
还需要说明的是,由于将裸金属资源的信息转换为Hypervisor资源信息属于Nova-compute服务的一个周期任务,所以在Nova-compute服务启动的时候取消转换操作,通过周期任务来执行转换,不会影响用户的使用;从而可以在不影响用户使用的基础上提高Nova-compute服务的启动效率。
本发明实施例的方法不仅适用于一个Nova-compute服务重启的情况,还可以适用于多个Nova-compute服务同时重启的情况。
这里,对于多个Nova-compute服务同时重启的情况,可以预先启动多个Nova-compute服务,并预先建立哈希环,将Nova-compute管理的裸金属资源平均分配到所述多个Nova-compute服务;这样,在多个Nova-compute服务存在的情况下,有助于减轻单个Nova-compute的管理压力。
具体地,步骤203中所述的启动方法为安装有系统后预先设置并保存在计算节点中,执行时通过调用相应的启动方法即可完成Nova-compute服务的启动。
实际应用时,在Nova-compute服务启动的时候执行裸金属资源的网络信息初始化是以虚拟机为主要考虑场景,而针对大规模裸机云的应用场景,综合考虑虚拟机与物理机(即裸金属实例)的实际差异,考虑到裸金属实例的网络信息不会因为Nova-compute服务重启而丢失,因此,可以取消网络信息绑定操作以减少服务启动时间。
基于此,所述方法还包括:
在Nova-compute服务启动过程中,取消对裸金属实例的网络信息的重新绑定操作。
需要说明的是,对于裸金属实例,Nova-compute服务启动或重启的时候,取消对裸金属实例的网络信息的重新绑定,不会对裸金属实例的网络造成影响。另外,虽然在Nova-compute服务启动过程中,取消对所述裸金属实例的网络信息的重新绑定操作,但不限定可以在Nova-compute服务启动后再次检测网络情况(即网络是否正常,若不正常则执行网络信息绑定操作),或者,可在Nova-compute服务启动后执行对所述裸金属实例的网络信息的重新绑定操作。
图3为本发明实施例提供的另一种服务启动方法的流程示意图,如图3所示,所述服务启动方法包括:
步骤301、裸金属资源的初始化。
具体地,所述步骤301包括:
利用Nova_cache(缓存机制),一次性地获取Ironic节点信息并进行缓存;从而需获取Ironic节点信息时可从所述缓存中获取,避免大量API调用;这里,所述Ironic节点信息包括裸机云中各裸金属资源的信息;
以及,对Nova-compute服务管理的每个裸金属资源进行判断并根据判断结果执行相应的任务。
这里,根据判断结果确定处于目标状态(如重建(Rebuilding)、关机或开机(Powering Off/On))状态的裸金属资源,针对处于目标状态的裸金属资源,按下述方法进行启动。
具体来说,所述裸金属资源,包括:裸金属实例、裸机;
针对处于目标状态的裸金属资源,在Nova-compute服务启动过程中,取消对裸金属实例的网络信息的重新绑定。
这里考虑虚拟机实例与物理机实例(即上述裸金属实例)之间的差异,由于物理机实例在Nova-compute服务重启之后并不会丢失网络信息,通过取消对裸金属实例的网络信息的重新绑定操作,以减少API调用,保证Nova-compute服务不会因此而阻塞。
步骤302、创建Nova-compute服务到数据库中,调用相应方法启动服务并等待服务启动完成。
这里,针对处于目标状态的裸金属资源的信息、正常运行状态的裸金属资源的信息,创建Nova-compute服务。
步骤303、启动Nova-compute服务后,建立哈希环。
这里,针对多个Nova-compute服务的场景下,通过建立哈希环可以平均分配裸金属资源的管理,减轻单个Nova-compute服务的管理压力。
步骤304、添加周期任务,在周期任务中读写数据库。
所述周期任务包括以下至少之一:
将裸金属资源的信息转换为Hypervisor资源信息,利用周期任务周期性更新到数据库中;
根据所述Hypervisor资源信息更新Nova-compute服务的状态。
这里,利用周期任务进行更新,可以避免在启动服务前的大量数据库读写,从而可以提高Nova-compute服务的启动效率。
图4为本发明实施例提供的一种服务启动装置的结构示意图;如图4所示,所述装置包括:第一处理模块、第二处理模块和第三处理模块;
所述第一处理模块,用于获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中;
所述第二处理模块,用于针对处于目标状态的裸金属资源,从所述缓存中获取相应的裸金属资源的信息;
所述第三处理模块,用于创建Nova-compute服务到数据库中,调用预设的启动方法启动Nova-compute服务;所述Nova-compute服务至少针对处于目标状态的裸金属资源的信息创建。
具体地,所述第一处理模块,用于从Ironic获取Ironic节点信息,运用缓存机制将所述Ironic节点信息进行缓存;所述Ironic节点信息包括所述Ironic获取的裸机云中各裸金属资源的信息。
具体地,所述三处理模块,还用于生成周期任务;
所述周期任务用于在Nova-compute服务启动后周期性地向所述数据库发送更新信息;所述更新信息至少包括:与所述Nova-compute服务相关的Hypervisor资源信息、Nova-compute服务自身的状态信息。
具体地,所述第三处理模块,用于执行以下之一:
将所述裸金属资源的信息转换为Hypervisor资源信息,并周期性地将所述Hypervisor资源信息更新至所述数据库;
根据所述Hypervisor资源信息更新所述Nova-compute服务的状态。
具体地,所述裸金属资源,包括:裸金属实例;所述第三处理模块,还用于在Nova-compute服务启动过程中,取消对裸金属实例的网络信息的重新绑定操作。
需要说明的是:上述实施例提供的服务启动装置在实现相应服务启动方法时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将服务器的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的装置与相应方法的实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5为本发明实施例提供的另一种服务启动装置的结构示意图;如图5所示,所述装置50包括:处理器501和用于存储能够在所述处理器上运行的计算机程序的存储器502;其中,所述处理器501用于运行所述计算机程序时,执行:获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中;针对处于目标状态的裸金属资源,从所述缓存中获取相应的裸金属资源的信息;创建Nova-compute服务到数据库中,调用预设的启动方法启动Nova-compute服务;所述Nova-compute服务至少针对处于目标状态的裸金属资源的信息创建。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:从Ironic获取Ironic节点信息,运用缓存机制将所述Ironic节点信息进行缓存;所述Ironic节点信息包括所述Ironic获取的裸机云中各裸金属资源的信息。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:生成周期任务;所述周期任务用于在Nova-compute服务启动后周期性地向所述数据库发送更新信息;所述更新信息至少包括:与所述Nova-compute服务相关的Hypervisor资源信息、所述Nova-compute服务自身的状态信息。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:执行周期任务;所述执行周期任务,包括以下至少之一:
将所述裸金属资源的信息转换为Hypervisor资源信息,并周期性地将所述Hypervisor资源信息更新至所述数据库;
根据所述Hypervisor资源信息更新所述Nova-compute服务的状态。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:在Nova-compute服务启动过程中,取消对裸金属实例的网络信息的重新绑定操作。
需要说明的是:上述实施例提供的服务启动装置与服务启动方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
实际应用时,所述装置50还可以包括:至少一个网络接口503。装置50中的各个组件通过总线系统504耦合在一起。可理解,总线系统504用于实现这些组件之间的连接通信。总线系统504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统504。其中,所述处理器501的个数可以为至少一个。网络接口503用于装置50与其他设备之间有线或无线方式的通信。
本发明实施例中的存储器502用于存储各种类型的数据以支持装置50的操作。
上述本发明实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(DSP,DiGital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器501可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,装置50可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-ProgrammableGate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行:获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中;针对处于目标状态的裸金属资源,从所述缓存中获取相应的裸金属资源的信息;创建Nova-compute服务到数据库中,调用预设的启动方法启动Nova-compute服务;所述Nova-compute服务至少针对处于目标状态的裸金属资源的信息创建。
在一实施例中,所述计算机程序被处理器运行时,执行:从Ironic获取Ironic节点信息,运用缓存机制将所述Ironic节点信息进行缓存;所述Ironic节点信息包括所述Ironic获取的裸机云中各裸金属资源的信息。
在一实施例中,所述计算机程序被处理器运行时,执行:生成周期任务;所述周期任务用于在Nova-compute服务启动后周期性地向所述数据库发送更新信息;所述更新信息至少包括:与所述Nova-compute服务相关的Hypervisor资源信息、所述Nova-compute服务自身的状态信息。
在一实施例中,所述计算机程序被处理器运行时,执行:执行周期任务;所述执行周期任务,包括以下至少之一:
将所述裸金属资源的信息转换为Hypervisor资源信息,并周期性地将所述Hypervisor资源信息更新至所述数据库;
根据所述Hypervisor资源信息更新所述Nova-compute服务的状态。
在一实施例中,所述计算机程序被处理器运行时,执行:在Nova-compute服务启动过程中,取消对裸金属实例的网络信息的重新绑定操作。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种服务启动方法,其特征在于,所述方法包括:
获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中;
针对处于目标状态的裸金属资源,从所述缓存中获取相应的裸金属资源的信息;
创建Nova-compute服务到数据库中,调用预设的启动方法启动Nova-compute服务;所述Nova-compute服务至少针对处于目标状态的裸金属资源的信息创建;
生成周期任务,并执行周期任务;
其中,所述执行周期任务,包括以下至少之一:
将所述裸金属资源的信息转换为Hypervisor资源信息,并周期性地将所述Hypervisor资源信息更新至所述数据库;
根据所述Hypervisor资源信息更新所述Nova-compute服务的状态。
2.根据权利要求1所述的方法,其特征在于,所述获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中,包括:
从Ironic获取Ironic节点信息,运用缓存机制将所述Ironic节点信息进行缓存;
所述Ironic节点信息包括所述Ironic获取的裸机云中各裸金属资源的信息。
3.根据权利要求1所述的方法,其特征在于,所述周期任务用于在Nova-compute服务启动后周期性地向所述数据库发送更新信息;
所述更新信息至少包括:与所述Nova-compute服务相关的Hypervisor资源信息、所述Nova-compute服务自身的状态信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述裸金属资源,包括:裸金属实例;
所述方法还包括:
在Nova-compute服务启动过程中,取消对裸金属实例的网络信息的重新绑定操作。
5.一种服务启动装置,其特征在于,所述装置包括:第一处理模块、第二处理模块和第三处理模块;其中,
所述第一处理模块,用于获取裸金属资源的信息,将获取的所述裸金属资源的信息保存在缓存中;
所述第二处理模块,用于针对处于目标状态的裸金属资源,从所述缓存中获取相应的裸金属资源的信息;
所述第三处理模块,用于创建Nova-compute服务到数据库中,调用预设的启动方法启动Nova-compute服务;所述Nova-compute服务至少针对处于目标状态的裸金属资源的信息创建;
所述三处理模块,还用于生成周期任务,并执行周期任务;
所述第三处理模块,用于执行以下之一:
将所述裸金属资源的信息转换为Hypervisor资源信息,并周期性地将所述Hypervisor资源信息更新至所述数据库;
根据所述Hypervisor资源信息更新所述Nova-compute服务的状态。
6.根据权利要求5所述的装置,其特征在于,所述第一处理模块,用于从Ironic获取Ironic节点信息,运用缓存机制将所述Ironic节点信息进行缓存;所述Ironic节点信息包括所述Ironic获取的裸机云中各裸金属资源的信息。
7.根据权利要求5所述的装置,其特征在于,所述周期任务用于在Nova-compute服务启动后周期性地向所述数据库发送更新信息;所述更新信息至少包括:与所述Nova-compute服务相关的Hypervisor资源信息、Nova-compute服务自身的状态信息。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述裸金属资源,包括:裸金属实例;所述第三处理模块,还用于在Nova-compute服务启动过程中,取消对裸金属实例的网络信息的重新绑定操作。
9.一种服务启动装置,其特征在于,所述装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序时,执行权利要求1至4任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010626918.2A CN113965530B (zh) | 2020-07-01 | 2020-07-01 | 一种服务启动方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010626918.2A CN113965530B (zh) | 2020-07-01 | 2020-07-01 | 一种服务启动方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113965530A CN113965530A (zh) | 2022-01-21 |
CN113965530B true CN113965530B (zh) | 2023-10-13 |
Family
ID=79459312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010626918.2A Active CN113965530B (zh) | 2020-07-01 | 2020-07-01 | 一种服务启动方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113965530B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016018293A1 (en) * | 2014-07-30 | 2016-02-04 | Hewlett-Packard Development Company, L.P. | Configuring managed server |
WO2017046830A1 (en) * | 2015-09-17 | 2017-03-23 | Hitachi, Ltd. | Method and system for managing instances in computer system including virtualized computing environment |
WO2017152633A1 (zh) * | 2016-03-09 | 2017-09-14 | 中兴通讯股份有限公司 | 一种端口绑定实现方法及装置 |
CN107547250A (zh) * | 2017-06-26 | 2018-01-05 | 新华三云计算技术有限公司 | 在云计算管理平台中部署数据库的方法和装置 |
CN108200111A (zh) * | 2016-12-08 | 2018-06-22 | 中国移动通信集团山西有限公司 | 资源配置信息更新方法、装置和资源接口设备 |
CN109428943A (zh) * | 2017-09-05 | 2019-03-05 | 华为技术有限公司 | 对请求处理的方法、片上系统和公有云管理组件 |
CN109962941A (zh) * | 2017-12-14 | 2019-07-02 | 华为技术有限公司 | 通信方法、装置以及服务器 |
CN110495136A (zh) * | 2017-11-01 | 2019-11-22 | 华为技术有限公司 | 裸金属服务器的硬件属性发现方法和系统 |
CN111124437A (zh) * | 2019-11-30 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种基于OpenStack的裸机资源配置信息获取方法、系统及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858157B2 (en) * | 2012-10-31 | 2018-01-02 | International Business Machines Corporation | Intelligent restore-container service offering for backup validation testing and business resiliency |
US10678558B2 (en) * | 2015-02-17 | 2020-06-09 | Red Hat Israel, Ltd. | Initializing a bare-metal host to an operational hypervisor |
US10348813B2 (en) * | 2016-10-28 | 2019-07-09 | International Business Machines Corporation | Provisioning a bare-metal server |
WO2018191849A1 (zh) * | 2017-04-17 | 2018-10-25 | 华为技术有限公司 | 云管理平台、虚拟机管理方法及其系统 |
US11163887B2 (en) * | 2018-02-14 | 2021-11-02 | Microsoft Technology Licensing, Llc | Clearance of bare metal resource to trusted state usable in cloud computing |
-
2020
- 2020-07-01 CN CN202010626918.2A patent/CN113965530B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016018293A1 (en) * | 2014-07-30 | 2016-02-04 | Hewlett-Packard Development Company, L.P. | Configuring managed server |
WO2017046830A1 (en) * | 2015-09-17 | 2017-03-23 | Hitachi, Ltd. | Method and system for managing instances in computer system including virtualized computing environment |
WO2017152633A1 (zh) * | 2016-03-09 | 2017-09-14 | 中兴通讯股份有限公司 | 一种端口绑定实现方法及装置 |
CN108200111A (zh) * | 2016-12-08 | 2018-06-22 | 中国移动通信集团山西有限公司 | 资源配置信息更新方法、装置和资源接口设备 |
CN107547250A (zh) * | 2017-06-26 | 2018-01-05 | 新华三云计算技术有限公司 | 在云计算管理平台中部署数据库的方法和装置 |
CN109428943A (zh) * | 2017-09-05 | 2019-03-05 | 华为技术有限公司 | 对请求处理的方法、片上系统和公有云管理组件 |
WO2019047571A1 (zh) * | 2017-09-05 | 2019-03-14 | 华为技术有限公司 | 对请求处理的方法、片上系统和公有云管理组件 |
CN110495136A (zh) * | 2017-11-01 | 2019-11-22 | 华为技术有限公司 | 裸金属服务器的硬件属性发现方法和系统 |
CN109962941A (zh) * | 2017-12-14 | 2019-07-02 | 华为技术有限公司 | 通信方法、装置以及服务器 |
CN111124437A (zh) * | 2019-11-30 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种基于OpenStack的裸机资源配置信息获取方法、系统及设备 |
Non-Patent Citations (2)
Title |
---|
云管平台裸金属分布式PXE服务;郭进先;;信息与电脑(理论版)(第09期);全文 * |
云计算平台中裸金属物理服务器自动化批量部署方法研究;陈英达;钟苏生;周开东;黄恺彤;麦晓辉;;科技创新与应用(第30期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113965530A (zh) | 2022-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10832224B2 (en) | Calendar based management of information technology (IT) tasks | |
EP3869336A1 (en) | Method and apparatus for processing development machine operation task, device and storage medium | |
JP7072103B2 (ja) | ブロックチェーンのスマートコントラクト実現方法、装置、機器及び媒体 | |
US10728169B1 (en) | Instance upgrade migration | |
CN109245908B (zh) | 一种主从集群切换的方法和装置 | |
US11163593B2 (en) | Checkpointing and restoring containers to optimize containerized managed runtime applications | |
US11354150B1 (en) | Utilizing maintenance event windows to determine placement of instances | |
CN112667405B (zh) | 信息处理方法、装置、设备及存储介质 | |
US10795747B2 (en) | File synchronizing service status monitoring and error handling | |
CN114667506A (zh) | 多物理功能非易失性存储器设备的管理 | |
CN114936173B (zh) | 一种eMMC器件的读写方法、装置、设备和存储介质 | |
CN107797874B (zh) | 一种基于嵌入式jetty和spark on yarn框架的资源管控方法 | |
JP7174107B2 (ja) | スケジューリング方法、装置、設備、記憶設備、及びプログラム | |
US10169841B1 (en) | Dynamic interface synchronization for virtualized graphics processing | |
CN113965530B (zh) | 一种服务启动方法、装置和存储介质 | |
CN114168294B (zh) | 编译资源分配方法、装置、电子设备及存储介质 | |
US20230229477A1 (en) | Upgrade of cell sites with reduced downtime in telco node cluster running containerized applications | |
CN110058866B (zh) | 集群组件安装方法及设备 | |
CN113934437A (zh) | 云手机安装应用的方法、系统和客户端云手机 | |
CN115794132A (zh) | 操作系统部署方法、装置、设备及存储介质 | |
US10585736B2 (en) | Incremental dump with fast reboot | |
CN109271179A (zh) | 虚拟机应用程序管理方法、装置、设备及可读存储介质 | |
US20230325227A1 (en) | Reliable one-click cluster shutdown | |
CN111124515B (zh) | 一种基于云端的最小化bios的实现方法及系统 | |
US20240231803A9 (en) | Maintenance mode in hci environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |