本发明涉及云计算,特别涉及一种虚拟机信息同步方法、装置、设备及存储介质。
背景技术:
1、随着信息技术的飞速发展,云计算已成为当今科技领域的热点之一,作为一种新兴的计算模式,云计算通过将计算资源提供给用户,实现了计算能力的按需分配和弹性扩展。随着当前云计算市场规模不断扩大,越来越多的企业和组织选择将业务迁移到云端,云计算在国内的应用和市场规模均呈现出强劲的增长势。其中openstack作为一个领先的开源云计算平台,广泛用于构建和管理公共和私有云,通过其丰富的组件和服务集合,提供了灵活、可扩展的基础设施即服务(iaas,infrastructure as a service)解决方案。
2、openstack是一系列开源组件的组合,主要使用池化虚拟资源来构建和管理私有云及公共云。其中keystone、glance、cinder、neutron、nova、placement作为主要的构成组件,分别负责云管理平台中认证和鉴权、镜像管理、块设备管理、网络管理、虚拟机管理、资源调度功能。其中,openstack nova组件是openstack项目中最核心的计算服务组件,负责管理和维护云环境的计算资源,包括实例的生命周期管理、计算资源的调度和分配等,nova通过多个子组件协同工作来实现这些功能,具体的,nova scheduler模块主要负责虚拟机资源调度,通过定义不同的调度器和算法,确定虚拟机调度到在哪台计算服务器上;openstack placement组件则是openstack项目中负责资源跟踪和管理的关键组件,它在newton版本从nova服务中拆分出来,专门用于收集和管理整个云计算环境中的资源状态和使用情况,通过其api(application programming interface,应用程序编程接口)接口模块、资源追踪功能、工作原理、项目实施与配置以及部署优化等多方面,实现了对openstack云平台资源的高效管理和调度。但是,以openstack为基础架构的云管平台中nova作为最核心的计算组件,通过nova-scheduler模块实现虚拟机调度时,记录了虚拟机相关资源信息的同时,openstack项目中负责资源跟踪和管理的placement组件也会记录更详细的虚拟机资源信息,此时由于云平台频繁的虚拟机操作及物理机疏散等操作,可能导致nova中记录的虚拟机资源信息和placement记录的信息存在不一致的情况,从而导致节点资源调度、物理机资源监控等出现错误。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种虚拟机信息同步方法、装置、设备及存储介质,通过配置周期任务,定时检测并同步虚拟机资源信息,更新placement数据,实现云计算管理平台的数据一致性。其具体方案如下:
2、第一方面,本技术提供了一种虚拟机信息同步方法,应用于预设云计算管理平台,包括:
3、创建所述预设云计算管理平台的虚拟机信息同步任务,并根据预设资源信息同步周期启动所述虚拟机信息同步任务;
4、监测所述预设云计算管理平台的计算节点变动信息,并执行所述虚拟机信息同步任务根据所述计算节点变动信息检测所述预设云计算管理平台的nova组件和placement组件,判断所述nova组件和所述placement组件中相应的所述计算节点变动信息是否一致;
5、若所述nova组件和所述placement组件中的所述计算节点变动信息一致,则运行所述预设云计算管理平台的计算节点上的虚拟机,并监测所述虚拟机的虚拟机信息,将所述虚拟机信息记录至所述nova组件和所述placement组件;
6、判断所述nova组件和所述placement组件中的所述虚拟机信息是否一致,并根据判断结果将所述nova组件中的所述虚拟机信息同步至所述placement组件中。
7、可选的,所述根据预设资源信息同步周期启动所述虚拟机信息同步任务之前,还包括:
8、在所述nova组件的配置文件的配置组中增加任务周期控制配置,并根据所述任务周期控制配置确定所述虚拟机信息同步任务的所述预设资源信息同步周期。
9、可选的,所述监测所述预设云计算管理平台的计算节点变动信息之前,还包括:
10、判断当前的所述预设资源信息同步周期是否大于预设同步周期阈值;
11、若所述预设资源信息同步周期大于所述预设同步周期阈值,则执行所述监测所述预设云计算管理平台的计算节点变动信息的步骤。
12、可选的,所述检测所述预设云计算管理平台的nova组件和placement组件,判断所述nova组件和所述placement组件中相应的所述计算节点变动信息是否一致,包括:
13、检测所述预设云计算管理平台的所述nova组件的第一数据表的第一数据变动信息,并检测所述预设云计算管理平台的所述placement组件的第二数据表的第二数据变动信息;
14、分别确定所述第一数据变动信息对应的计算节点的第一通用唯一识别码和所述第二数据变动信息对应的计算节点的第二通用唯一识别码,并判断所述第一通用唯一识别码和所述第二通用唯一识别码是否一致。
15、可选的,所述判断所述nova组件和所述placement组件中相应的所述计算节点变动信息是否一致之后,还包括:
16、若所述nova组件和所述placement组件中的所述计算节点变动信息不一致,则调用所述placement组件的预设接口根据所述nova组件中的第一通用唯一识别码创建新的计算节点资源。
17、可选的,所述判断所述nova组件和所述placement组件中的所述虚拟机信息是否一致,包括:
18、调用所述nova组件的第三数据表中的目标虚拟机的第一虚拟机信息,并调用所述placement组件的信息获取接口获取所述placement组件中的第二虚拟机信息,以判断所述第一虚拟机信息和所述第二虚拟机信息是否一致;所述目标虚拟机为当前状态为运行状态的虚拟机。
19、可选的,所述根据判断结果将所述nova组件中的所述虚拟机信息同步至所述placement组件中,包括:
20、若所述nova组件中存在不与所述placement组件的所述第二虚拟机信息对应的所述第一虚拟机信息,则根据所述第一虚拟机信息在所述placement组件创建新的虚拟机信息;
21、若同一虚拟机在所述nova组件和所述placement组件中对应的所述第一虚拟机信息和所述第二虚拟机信息不一致,则根据所述第一虚拟机信息更新所述placement组件中相应的所述第二虚拟机信息;
22、若同一虚拟机在所述nova组件和所述placement组件中分别对应一条所述第一虚拟机信息和多条所述第二虚拟机信息,则从多条所述第二虚拟机信息筛选出目标虚拟机信息,并删除其他的第二虚拟机信息。
23、第二方面,本技术提供了一种虚拟机信息同步装置,应用于预设云计算管理平台,包括:
24、任务创建模块,用于创建所述预设云计算管理平台的虚拟机信息同步任务,并根据预设资源信息同步周期启动所述虚拟机信息同步任务;
25、组件检测模块,用于监测所述预设云计算管理平台的计算节点变动信息,并执行所述虚拟机信息同步任务根据所述计算节点变动信息检测所述预设云计算管理平台的nova组件和placement组件,判断所述nova组件和所述placement组件中相应的所述计算节点变动信息是否一致;
26、数据监测模块,用于若所述nova组件和所述placement组件中的所述计算节点变动信息一致,则运行所述预设云计算管理平台的计算节点上的虚拟机,并监测所述虚拟机的虚拟机信息,将所述虚拟机信息记录至所述nova组件和所述placement组件;
27、数据同步模块,用于判断所述nova组件和所述placement组件中的所述虚拟机信息是否一致,并根据判断结果将所述nova组件中的所述虚拟机信息同步至所述placement组件中。
28、第三方面,本技术提供了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述的虚拟机信息同步方法。
29、第四方面,本技术提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的虚拟机信息同步方法。
30、本技术中首先创建预设云计算管理平台的虚拟机信息同步任务,并根据预设资源信息同步周期启动虚拟机信息同步任务,通过监测预设云计算管理平台的计算节点变动信息,执行虚拟机信息同步任务根据计算节点变动信息检测预设云计算管理平台的nova组件和placement组件,判断nova组件和placement组件中相应的计算节点变动信息是否一致;若nova组件和placement组件中的计算节点变动信息一致,则运行预设云计算管理平台的计算节点上的虚拟机,并监测虚拟机的虚拟机信息,将虚拟机信息记录至nova组件和placement组件;以及判断nova组件和placement组件中的虚拟机信息是否一致,根据判断结果将nova组件中的虚拟机信息同步至placement组件中。这样一来,针对openstack为基础架构的云管平台中nova组件及placement组件均会对虚拟机资源信息进行记录,导致nova组件及placement组件中记录信息存在不一致风险的问题,通过配置周期任务,定时检测并将nova中记录的资源信息同步到placement组件,扩展了openstack nova组件现有功能实现虚拟机资源信息的同步,保证云平台nova组件中虚拟机资源相关信息与placement组件中对应数据一一对应,从而保证了底层数据的一致性,提高了云平台调度、监控等功能的稳定性。
1.一种虚拟机信息同步方法,其特征在于,应用于预设云计算管理平台,包括:
2.根据权利要求1所述的虚拟机信息同步方法,其特征在于,所述根据预设资源信息同步周期启动所述虚拟机信息同步任务之前,还包括:
3.根据权利要求2所述的虚拟机信息同步方法,其特征在于,所述监测所述预设云计算管理平台的计算节点变动信息之前,还包括:
4.根据权利要求1所述的虚拟机信息同步方法,其特征在于,所述检测所述预设云计算管理平台的nova组件和placement组件,判断所述nova组件和所述placement组件中相应的所述计算节点变动信息是否一致,包括:
5.根据权利要求4所述的虚拟机信息同步方法,其特征在于,所述判断所述nova组件和所述placement组件中相应的所述计算节点变动信息是否一致之后,还包括:
6.根据权利要求1至5任一项所述的虚拟机信息同步方法,其特征在于,所述判断所述nova组件和所述placement组件中的所述虚拟机信息是否一致,包括:
7.根据权利要求6所述的虚拟机信息同步方法,其特征在于,所述根据判断结果将所述nova组件中的所述虚拟机信息同步至所述placement组件中,包括:
8.一种虚拟机信息同步装置,其特征在于,应用于预设云计算管理平台,包括:
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的虚拟机信息同步方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的虚拟机信息同步方法。
