CN110580198B - OpenStack计算节点自适应切换为控制节点的方法及装置 - Google Patents

OpenStack计算节点自适应切换为控制节点的方法及装置 Download PDF

Info

Publication number
CN110580198B
CN110580198B CN201910809180.0A CN201910809180A CN110580198B CN 110580198 B CN110580198 B CN 110580198B CN 201910809180 A CN201910809180 A CN 201910809180A CN 110580198 B CN110580198 B CN 110580198B
Authority
CN
China
Prior art keywords
control node
node
computing
computing node
group
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
CN201910809180.0A
Other languages
English (en)
Other versions
CN110580198A (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.)
Inesa R&d Center
Original Assignee
Inesa R&d Center
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 Inesa R&d Center filed Critical Inesa R&d Center
Priority to CN201910809180.0A priority Critical patent/CN110580198B/zh
Publication of CN110580198A publication Critical patent/CN110580198A/zh
Application granted granted Critical
Publication of CN110580198B publication Critical patent/CN110580198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明涉及一种OpenStack计算节点自适应切换为控制节点的方法及装置,所述OpenStack包括若干组控制节点组和计算节点组,该方法包括:S1:将若干组计算节点组分为可切换计算节点组和不可切换计算节点组,通过选举算法从可切换计算节点组中选举产生待切换计算节点;S2:按周期定时触发监控,若发现有控制节点组出现节点故障或总负载过高,将待切换计算节点上的虚拟机热迁移至所在计算节点组的其它计算节点;S3:结合容器技术通过自动化管理工具将待切换计算节点切换为控制节点并加入步骤S2所述控制节点组。与现有技术相比,本发明具有效率高等优点。

Description

OpenStack计算节点自适应切换为控制节点的方法及装置
技术领域
本发明涉及OpenStack云平台技术领域,尤其是涉及一种OpenStack计算节点自适应切换为控制节点的方法及装置。
背景技术
OpenStack是一个开源的云计算的管理平台,可以实现对大量的计算资源、存储和网络资源的管理,并提供统一控制面板进行管理,OpenStack既是一个社区,又是一个项目和一个开源软件,它支持几乎所有类型的云环境,提供了一个部署云的解决方案或工具集。其宗旨在于:帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云提供可扩展的、灵活的云计算,OpenStack经过多年的发展,已经经过了生产上的验证。
在中小规模的云平台中,一般部署架构是多控制节点和多计算节点的模型,控制节点可以和网络节点复用,分布式的存储服务可以部署在控制节点上、计算节点上或其他独立的节点上。随着云平台上服务器的使用年限不断增加,服务器的故障率也不断增加,在实际生产环境中经常会遇到服务器故障的紧急情况,当控制节点发生特别是可复用网络节点功能故障时,会对云平台的网络服务和数据库服务产生影响,造成平台访问变慢、网络性能下降等后果,严重影响客户的体验;另外,当云平台控制节点组的负载过高,也会影响云平台的性能,进一步影响用户体验。传统方法中通过替换或者增加新服务器的方法,存在上下架流程繁琐、部署复杂、效率低下问题。
针对上述问题现有技术也提出了有效的解决方案,中国专利CN106775953A提出了一种实现OpenStack高可用的方法与系统,所述方法应用于基于OpenStack的控制系统的任意一个控制节点上,所述控制系统包括两个控制节点和多个计算节点,任意一台控制节点或计算节点出现故障,其他正常运行的控制节点或计算节点接管故障节点的任务。
该专利很好地解决了控制节点组的整体资源仍有剩余的情况下,如何充分利用集群资源快速响应用户请求。但是在控制节点组内的节点故障或者控制节点组的整体负载过高资源不足的情况下,无法通过该方法提升性能,仍然需要扩容控制节点组,提供更多资源响应客户请求以及OpenStack内部各个服务的交互请求。
中国专利CN107342905A提出了一种集群存储系统故障转移的节点调度方法及系统,该方法包括:预先创建集群,根据各控制节点加入集群的先后顺序,为各控制节点分配节点标识编号并记录;选择集群中节点标识编号符合预设要求的控制节点作为配置节点;判断配置节点是否发生故障;若是,则判定配置节点为故障节点,读取并比较集群中正常控制节点的节点标识编号;选择节点标识编号符合预设条件的正常控制节点作为新的配置节点,并将所述故障节点从集群中移除,该方法有效解决了目前集群存储系统故障调度方法过于复杂、集群存储系统故障转移的节点调度效率低的问题,从而使集群存储系统故障调度的实现方法简单快速且效率显著提高。
该专利针对存储系统的节点故障提出了一种快速的节点调度的方法,虽然实现方法简单,但是预先设置的集群中存在资源利用率不高的问题,另外该方法针对存储系统进行优化,无法解决云平台上的计算节点调度的问题。
上述两种专利提出的方法适用场景有限、时效性低、资源利用率不高,很难满足生产环境中的应急响应时对高时效性的要求,同时会加大接管故障控制节点任务的控制节点的负载,降低云平台运行速度。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种OpenStack计算节点自适应切换为控制节点的方法及装置。
本发明的目的可以通过以下技术方案来实现:
一种OpenStack计算节点自适应切换为控制节点的方法,所述OpenStack为控制节点组和计算节点组构成的拓扑结构,该方法包括:
S1:将计算节点组分为可切换计算节点组和不可切换计算节点组,通过选举算法从可切换计算节点组中选举产生待切换计算节点;
S2:按周期定时触发监控系统进行监控,若监控系统发现有控制节点组出现节点故障或总负载过高,将待切换计算节点上的虚拟机热迁移至所在组的其它计算节点;
S3:结合容器技术通过自动化管理工具将待切换计算节点切换为计算节点并加入步骤S2所述控制节点组。
进一步地,在步骤S2所述虚拟机热迁移前,需要对云平台的计算资源进行评估,如果云平台的计算资源无法满足热迁移需求,则中止切换流程。
进一步地,所述控制节点组通过L3 Agent提供高可用的集中式虚拟路由服务,包含租户网络的网关、外网访问、浮动IP和虚拟防火墙服务,通过keepalived实现虚拟路由的主备高可用。
进一步地,所述计算节点分成的可切换计算节点组和不可切换计算节点组分别对应云平台的两个可用域,可切换计算节点组允许自适应升级成控制节点,该组提供计算资源服务,所述不可切换计算节点组提供计算服务从而保障客户虚拟机服务质量,不允许自适应升级为控制节点。
进一步地,所述可切换计算节点组的服务器配置和控制节点组相同,所述可切换计算节点组与控制节点组处于相同机柜或相邻机柜,并与控制节点组之间高速网络连接;
进一步地,OpenStack云平台采用容器化部署方式,所有服务都封装到相应的Docker镜像中,通过启动容器的方式启动该服务,避免不同服务之间的依赖冲突问题,同时方便各个服务的升级回滚,有效解决云平台部署难、升级难的问题。每个服务的容器镜像都保存在本地Docker私有仓库中,结合容器镜像的分层特性,云平台的所有定制化镜像采用镜像分层的方式实现,通过四层实现镜像分层,由下到上依次为:操作系统基础镜像、云平台基础镜像、各个功能模块基础镜像和模块内各个服务的镜像,通过镜像分层可以避免依赖包的重复安装,降低镜像的总存储大小,提高部署效率。
进一步地,部署可切换计算节点组中的节点时预安装控制节点所需的所有容器镜像,同时在云平台服务升级时,也保持该节点容器镜像的同步更新,通过预安装的容器镜像可以快速启动云平台计算管理服务,同时避免大文件的网络传输造成性能下降。
进一步地,所述选举算法具体为:
选择参考指标最小的一个节点,所述参考指标包括虚拟机个数或资源使用率或Cost值;
其中,所述Cost值通过加权求和算法求得,计算公式如下:
其中Wi为权重值,Xi为包括虚拟机个数、CPU使用量、内存使用量和虚拟机定制化标签值的输入参数中任意参数的组合,N为输入参数的个数
进一步地,控制节点组负载过高的判断方法包括总负载计算和总负载预测。
进一步地,所述计算总负载方法具体为:
通过控制节点组中各个控制节点上的监控代理收集当前控制节点的负载,该负载包括CPU、内存和网络流量,当控制节点组的总负载超过预先设置的阈值时,则该控制节点组总负载过高;
进一步地,所述预测总负载方法具体为:
基于控制节点的历史监控数据,通过多输入单输出的神经网络线性回归模型进行预测;
其中,所述神经网络线性回归模型为:
Z=WX+B
其中Z为控制节点负载预测值,X={x1,x2,…,xN}为输入样本,该样本为时间或租户数量,W={w1,w2,…,wN}为权重矩阵,B={b1}为偏移矩阵,使用均方差函数作为代价函数,通过前向计算和后向传导计算出W和B,根据获得组内每个控制节点的负载预测值Z求得控制节点组总负载,若总负载超过预先设置的阈值,则该控制节点组总负载过高。
进一步地,控制节点组出现节点故障的判断方法具体为:
所述监控系统发送心跳包给控制节点组中各个控制节点,若有控制节点无法收到心跳包,则该控制节点组发生节点故障。
进一步地,通过标记自定义标签进行计算节点组的分组。
进一步地,所述结合容器技术通过自动化管理工具快速将待切换控制节点切换为计算节点具体为:
利用自动化部署工具清理待切换计算节点上的所有容器,所述自动化部署工具包括Ansible,保留和控制节点一致的操作系统层和Docker服务层,并快速启动切换得到的控制节点的各个服务,该服务包括Nova、Cinder、Glance、Mysql和RabbitMQ,对外提供高可用服务。
一种OpenStack控制节点自适应切换为计算节点的装置,所述OpenStack包括控制节点组和计算节点组,该装置包括:
监测代理模块,用于通过发送心跳包检测给控制节点组中各个控制节点,判断该控制节点组是否发生节点故障;该模块还用于收集控制节点组中各个控制节点负载信息,根据收集的负载信息计算该控制节点组总负载,或根据历史负载信息预测该控制节点组总负载,并根据设定负载阈值判断该控制节点组是否过载;
节点切换模块,用于将计算节点组分为可切换计算节点组和不可切换计算节点组,通过选举算法从可切换计算节点组中选举产生待切换计算节点,结合容器技术通过自动化管理工具将待切换计算节点切换为控制节点,并将该控制节点加入到发生节点故障或总负载过高的控制节点组;
定时触发模块,用于设定监测周期,并根据监测周期定时触发监测代理模块对控制节点进行监控。
与现有技术相比,本发明具有以如下有益效果:
(1)本发明周期性地监控控制节点组的状态,自动触发计算节点切换为控制节点的流程,实现计算节点组的自愈或扩容,将待切换计算节点切换为控制节点时首先对待切换计算节点进行预处理,即将待切换计算节点上的虚拟机热迁移至所在组的其它计算节点,使得单个计算节点的切换不会影响云平台服务的连续性;
(2)本发明的可切换计算节点组的服务器配置和控制节点组相同,可切换计算节点组与控制节点组处于相同机柜或相邻机柜,并与控制节点组之间高速网络连接,同时采用容器化部署方式,在进行节点切换流程时仅需清理计算节点上原有的容器服务,并预先在Docker私有仓库中下载关于控制节点服务的所有镜像而非启动相应容器,即可实现快速启动相应容器服务,部署效率高;
(3)本发明可基于历史数据通过神经网络线性回归模型进行预测,实现控制节点组总负载达到设定阈值前就进行节点切换,预防控制节点组过载对云平台产生影响。
附图说明
图1为自适应切换节点的流程图;
图2为自适应切换节点的框架图;
图3为实施例一切换节点的流程图;
图4为三种类别节点的Docker容器部署图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例一
一种OpenStack计算节点自适应切换为控制节点的方法,所述OpenStack包括控制节点组和计算节点组,如图1,该方法包括:
S1:将计算节点组分为可切换计算节点组和不可切换计算节点组,通过选举算法从可切换计算节点组中选举产生待切换计算节点;
S2:按周期定时触发监控,若发现有控制节点组出现节点故障或总负载过高,将待切换计算节点上的虚拟机热迁移至所在组的其它计算节点;
S3:结合容器技术通过自动化管理工具将待切换计算节点切换为控制节点并加入步骤S2所述控制节点组。
在步骤S2所述虚拟机热迁移前,需要对云平台的计算资源进行评估,如果云平台的计算资源无法满足热迁移需求,则中止切换流程,该方法适合中小规模的云平台。
所述选举算法具体为:
选择参考指标最小的一个节点,所述参考指标包括虚拟机个数或资源使用率或Cost值,所述Cost值通过加权求和算法求得,计算公式如下:
其中,Wi为权重值,Xi为包括虚拟机个数、CPU使用量、内存使用量和虚拟机定制化标签值的输入参数中任意参数的组合,N为输入参数的个数。
控制节点组负载过高的判断方法包括计算总负载和预测总负载。
计算总负载方法具体为:
通过控制节点组中各个控制节点上的监控代理收集当前控制节点的负载,该负载包括CPU、内存和网络流量,当控制节点组的总负载超过预先设置的阈值时,则该控制节点组总负载过高;
控制节点组出现节点故障的判断方法具体为:
监控系统发送心跳包给控制节点组中各个控制节点,若有控制节点无法收到心跳包,则该控制节点组发生节点故障。
通过标记自定义标签进行计算节点组的分组。
进结合容器技术通过自动化管理工具快速将待切换控制节点切换为计算节点具体为:
利用自动化部署工具清理待切换计算节点上的所有容器,所述自动化部署工具包括Ansible,保留和控制节点一致的操作系统层和Docker服务层,并快速启动切换得到的控制节点的各个服务,该服务包括Nova、Cinder、Glance、Mysql和RabbitMQ,对外提供高可用服务。
具体地,本实施例中步骤S2和S3具体流程如图3所示,包括:
101)定时器每五分钟定时触发监控系统对云平台的各个控制节点的负载信息进行收集,并向计算节点发送心跳包;
102)判断控制节点组是否出现节点故障或总负载过高,若是则执行步骤103),否则流程结束;
103)若监控系统配置为静默方式则直接执行步骤104),否则通过邮件或短信通知管理员,管理员若同意则执行步骤104),否则结束流程;
104)通过选举算法从可切换计算节点组中选举出待切换计算节点;
105)通过Ansible自动清理该待切换计算节点上的容器,保留操作系统层;
106)通过Ansible自动启动该待切换计算节点与控制节点相关的容器服务,切换为控制节点,并将该计算节点加入到控制节点组,结束流程。
实施例二
本实施中控制节点组总负载的计算方法采用预测算法计算,其它与实施例一相同,预测算法具体为:
基于控制节点的历史监控数据,通过多输入单输出的神经网络线性回归模型进行预测,所述神经网络线性回归模型为:
Z=WX+B
其中Z为控制节点负载预测值,X={x1,x2,…,xN}为输入样本,该样本为时间或租户数量,W={w1,w2,…,wN}为权重矩阵,B={b1}为偏移矩阵,使用均方差函数作为代价函数,通过前向计算和后向传导计算出W和B,根据获得的负载预测值Z求得控制节点组总负载,若总负载超过预先设置的阈值,则该控制节点组总负载过高。
实施例三
与实施例一对应的一种OpenStack计算节点自适应切换为控制节点的装置,所述OpenStack包括控制节点组和计算节点组,该装置包括:
监测代理模块,用于通过发送心跳包检测给控制节点组中各个控制节点,判断该控制节点组是否发生节点故障;该模块还用于收集控制节点组中各个控制节点负载信息,根据收集的负载信息计算该控制节点组总负载,或根据历史负载信息预测该控制节点组总负载,并根据设定负载阈值判断该控制节点组是否过载;
节点切换模块,用于将计算节点组分为可切换计算节点组和不可切换计算节点组,通过选举算法从可切换计算节点组中选举产生待切换计算节点,结合容器技术通过自动化管理工具将待切换计算节点切换为控制节点,并将该控制节点加入到发生节点故障或总负载过高的控制节点组;
定时触发模块,用于设定监测周期,并根据监测周期定时触发监测代理模块对控制节点进行监控。
本实施例的装置作为云平台的外围装置监控控制节点的负载信息和故障状态;同时负责管理节点切换的整个流程。
云平台的基础架构采用M+N节点的拓扑,包含M个控制节点和N个计算节点的模型,控制节点同时提供网络节点功能,将N个计算节点分为可切换计算节点组和不可切换计算节点组。
其中M个控制节点组成若干控制节点组,控制节点组的个数一般设置为奇数个,避免服务脑裂,控制节点组提供高可用、无状态的云平台管理控制服务以及各个模块的应用程序接口API服务,API服务包括计算模块、云硬盘管理模块和镜像管理模块,控制节点组还提供了内部工作组件,包括控制器组件和调度组件,通过haproxy+keepalived实现负载均衡高可用;同时提供有状态的共享数据库和消息队列服务,数据库服务通过MySQL Gelera实现多主高可用集群,RabbitMQ集群通过镜像模式实现消息队列高可用。
同时控制节点组可以通过L3 Agent提供高可用的集中式虚拟路由服务,包含租户网络的网关、外网访问、浮动IP和虚拟防火墙服务,通过keepalived实现虚拟路由的主备高可用。
计算节点分成的可切换计算节点组和不可切换计算节点组分别对应云平台的两个可用域,可切换计算节点组允许自适应升级成控制节点,不可切换计算节点组提供计算服务从而保障客户虚拟机服务质量,不允许自适应升级为控制节点。
可切换计算节点组的服务器配置和控制节点组相同,所述可切换计算节点组与控制节点组处于相同机柜或相邻机柜,并与控制节点组之间高速网络连接;
OpenStack云平台采用容器化部署方式,所有服务都封装到相应的Docker镜像中,通过启动容器的方式启动该服务,避免不同服务之间的依赖冲突问题,同时方便各个服务的升级回滚,有效解决云平台部署难、升级难的问题。
云平台服务以Docker容器的方式启动,所有节点保持操作系统版本和Docker服务版本的一致性,保障节点切换的平滑性、稳定性。
如图2,每个服务的容器镜像都保存在本地Docker私有仓库中,结合容器镜像的分层特性,云平台的所有定制化镜像采用镜像分层的方式实现,通过四层实现镜像分层,由上到下依次为:操作系统基础镜像、云平台基础镜像、各个功能模块基础镜像和模块内各个服务的镜像,通过镜像分层可以避免依赖包的重复安装,降低镜像的总存储大小,提高部署效率。
如图4,控制节点的Docker容器包括云平台各个模块的API服务和内部组件;
计算节点的Docker容器包括nova-compute计算服务和neutron-openvswitch-agent二层网络服务。
部署可切换计算节点组中的节点时预安装控制节点所需的所有容器镜像,同时在云平台服务升级时,也保持该节点容器镜像的同步更新,通过预安装的容器镜像可以快速启动云平台计算管理服务,同时避免大文件的网络传输造成性能下降。
实施例一、实施例二和实施例三通过基于当前状态,包括控制节点组发生节点故障或负载过高、或通过多输入单输出的神经网络线性回归模型基于历史数据进行预测,触发计算节点切换为控制节点的流程,通过采用容器化部署平台服务,节点切换时仅需简单删除旧的容器服务,再通过预下载的Docker镜像快速启动服务,快速的流程保证了保障云平台切换的时效性和高可用性。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (9)

1.一种OpenStack计算节点自适应切换为控制节点的方法,所述OpenStack包括若干组控制节点组和计算节点组,其特征在于,该方法包括:
S1:将若干组计算节点组分为可切换计算节点组和不可切换计算节点组,通过选举算法从可切换计算节点组中选举产生待切换计算节点;
S2:按周期定时触发监控,若发现有控制节点组出现节点故障或总负载过高,将待切换计算节点上的虚拟机热迁移至所在计算节点组的其它计算节点;
S3:结合容器技术通过自动化管理工具将待切换计算节点切换为控制节点并加入步骤S2所述控制节点组;
所述结合容器技术通过自动化管理工具快速将待切换控制节点切换为计算节点具体为:
利用自动化部署工具清理待切换计算节点上的所有容器,所述自动化部署工具包括Ansible,保留和控制节点一致的操作系统层和Docker服务层,并快速启动切换得到的控制节点的各个服务,该服务包括Nova、Cinder、Glance、Mysql和RabbitMQ,对外提供高可用服务;通过Ansible自动清理该待切换计算节点上的容器,保留操作系统层;通过Ansible自动启动该待切换计算节点与控制节点相关的容器服务,切换为控制节点,并将该计算节点加入到控制节点组,结束流程。
2.根据权利要求1所述的一种OpenStack计算节点自适应切换为控制节点的方法,其特征在于,所述可切换计算节点组的服务器配置和控制节点组相同。
3.根据权利要求1所述的一种OpenStack计算节点自适应切换为控制节点的方法,其特征在于,所述选举算法具体为:选择参考指标最小的一个节点作为待切换计算节点,所述参考指标包括虚拟机个数或资源使用率或Cost值;
其中,所述Cost值通过加权求和算法求得,计算公式如下:
其中Wi为权重值,Xi为包括虚拟机个数、CPU使用量、内存使用量和虚拟机定制化标签值的输入参数中的一个或多个,N为输入参数的个数。
4.根据权利要求1所述的一种OpenStack计算节点自适应切换为控制节点的方法,其特征在于,控制节点组负载过高的判断方法包括总负载计算或总负载预测。
5.根据权利要求4所述的一种OpenStack计算节点自适应切换为控制节点的方法,其特征在于,所述总负载计算具体为:
通过控制节点组中各个控制节点上的监控代理收集当前控制节点的负载,该负载包括CPU、内存和网络流量,当控制节点组的总负载超过预先设置的阈值时,则该控制节点组总负载过高。
6.根据权利要求4所述的一种OpenStack计算节点自适应切换为控制节点的方法,其特征在于,所述总负载预测具体为:
基于控制节点的历史监控数据,通过多输入单输出的神经网络线性回归模型进行预测;
其中,所述神经网络线性回归模型为:
Z=WX+B
其中Z为控制节点负载预测值,X={x1,x2,…,xN}为输入样本,该样本为时间或租户数量,W={w1,w2,…,wN}为权重矩阵,B={b1}为偏移矩阵,根据获得的组内每个控制节点负载预测值Z求得控制节点组总负载,若总负载超过预先设置的阈值,则该控制节点组总负载过高。
7.根据权利要求1所述的一种OpenStack计算节点自适应切换为控制节点的方法,其特征在于,控制节点组出现节点故障的判断方法具体为:
监控系统发送心跳包给控制节点组中各个控制节点,若有控制节点无法收到心跳包,则该控制节点组发生节点故障。
8.根据权利要求1所述的一种OpenStack计算节点自适应切换为控制节点的方法,其特征在于,通过标记自定义标签进行计算节点组的分组。
9.一种OpenStack控制节点自适应切换为计算节点的装置,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器调用所述计算机程序执行如权利要求1-8任一所述方法的步骤。
CN201910809180.0A 2019-08-29 2019-08-29 OpenStack计算节点自适应切换为控制节点的方法及装置 Active CN110580198B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910809180.0A CN110580198B (zh) 2019-08-29 2019-08-29 OpenStack计算节点自适应切换为控制节点的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910809180.0A CN110580198B (zh) 2019-08-29 2019-08-29 OpenStack计算节点自适应切换为控制节点的方法及装置

Publications (2)

Publication Number Publication Date
CN110580198A CN110580198A (zh) 2019-12-17
CN110580198B true CN110580198B (zh) 2023-08-01

Family

ID=68812390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910809180.0A Active CN110580198B (zh) 2019-08-29 2019-08-29 OpenStack计算节点自适应切换为控制节点的方法及装置

Country Status (1)

Country Link
CN (1) CN110580198B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111371865B (zh) * 2020-02-26 2023-02-24 上海达梦数据库有限公司 一种客户端连接关系调整方法、系统及节点
CN111694789A (zh) * 2020-04-22 2020-09-22 西安电子科技大学 嵌入式可重构异构测定方法、系统、存储介质、处理器
CN113641454B (zh) * 2021-08-17 2023-07-25 中国联合网络通信集团有限公司 一种业务应用部署方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014165538A2 (en) * 2013-04-01 2014-10-09 Nebula, Inc. Update management for a distributed computing system
US20160048408A1 (en) * 2014-08-13 2016-02-18 OneCloud Labs, Inc. Replication of virtualized infrastructure within distributed computing environments
WO2017014792A1 (en) * 2015-07-23 2017-01-26 Hewlett Packard Enterprise Development Lp Migration for cloud management systems
CN105743995B (zh) * 2016-04-05 2019-10-18 北京轻元科技有限公司 一种可移植高可用部署和管理容器集群的系统和方法
CN106209563A (zh) * 2016-08-07 2016-12-07 付宏伟 一种云计算平台网络虚拟化实现方法及相应插件和代理
CN108234175B (zh) * 2016-12-21 2020-01-17 中国移动通信有限公司研究院 一种基于容器的云平台存储切换方法及云平台
CN106775953A (zh) * 2016-12-30 2017-05-31 北京中电普华信息技术有限公司 实现OpenStack高可用的方法与系统
CN109002354B (zh) * 2017-06-07 2022-05-03 中国科学院信息工程研究所 一种基于OpenStack的计算资源容量弹性伸缩方法及系统
CN108089911A (zh) * 2017-12-14 2018-05-29 郑州云海信息技术有限公司 OpenStack环境中的计算节点的控制方法和装置
CN109067828B (zh) * 2018-06-22 2022-01-04 杭州才云科技有限公司 基于Kubernetes和OpenStack容器云平台多集群构建方法、介质、设备

Also Published As

Publication number Publication date
CN110580198A (zh) 2019-12-17

Similar Documents

Publication Publication Date Title
US10558517B2 (en) Proactive cloud orchestration
Hawilo et al. Orchestrating network function virtualization platform: Migration or re-instantiation?
CN110580198B (zh) OpenStack计算节点自适应切换为控制节点的方法及装置
CN110445662B (zh) OpenStack控制节点自适应切换为计算节点的方法及装置
EP3200393B1 (en) Method and device for virtual network function management
CN107544839B (zh) 虚拟机迁移系统、方法及装置
CN106133693B (zh) 虚拟机的迁移方法、装置及设备
CN106856489A (zh) 一种分布式存储系统的服务节点切换方法和装置
CN112513815A (zh) 训练数据中心硬件实例网络
EP4029197B1 (en) Utilizing network analytics for service provisioning
CN111935244B (zh) 一种业务请求处理系统及超融合一体机
Farahnakian et al. Hierarchical vm management architecture for cloud data centers
Saxena et al. A high availability management model based on VM significance ranking and resource estimation for cloud applications
Mahjoubi et al. LBFT: Load Balancing and Fault Tolerance in distributed controllers
CN113872997B (zh) 基于容器集群服务的容器组pod重建方法及相关设备
US11650654B2 (en) Managing power resources for pools of virtual machines
US20170141950A1 (en) Rescheduling a service on a node
Khelifa et al. SLA-aware task scheduling and data replication for enhancing provider profit in clouds
CN105069024B (zh) 面向并行数据采集的分布式文件系统写访问方法
CN112822062A (zh) 一种用于桌面云服务平台的管理方法
CN114338670B (zh) 一种边缘云平台和具有其的网联交通三级云控平台
Stack et al. Self-healing in a decentralised cloud management system
CN114416301A (zh) 数据集合服务容器管理方法
US10365934B1 (en) Determining and reporting impaired conditions in a multi-tenant web services environment
CN110266790A (zh) 边缘集群管理方法、装置、边缘集群及可读存储介质

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