CN113965459A - 基于consul进行主机网络监控实现计算节点高可用的方法 - Google Patents
基于consul进行主机网络监控实现计算节点高可用的方法 Download PDFInfo
- Publication number
- CN113965459A CN113965459A CN202111171474.9A CN202111171474A CN113965459A CN 113965459 A CN113965459 A CN 113965459A CN 202111171474 A CN202111171474 A CN 202111171474A CN 113965459 A CN113965459 A CN 113965459A
- Authority
- CN
- China
- Prior art keywords
- network
- consul
- node
- service
- hostmonitor
- 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.)
- Pending
Links
- 241000412611 Consul Species 0.000 title claims abstract description 52
- 238000012544 monitoring process Methods 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000011084 recovery Methods 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims abstract description 6
- 230000005012 migration Effects 0.000 claims abstract description 5
- 238000013508 migration Methods 0.000 claims abstract description 5
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 230000036541 health Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于consul进行主机网络监控实现计算节点高可用的方法,涉及云计算技术领域,其实现过程包括:在控制节点和计算节点进行consul的容器化部署;在控制节点进行HostMonitor的容器化部署,且HostMonitor采用consuldriver;在HostMonitor中自定义恢复策略,且Masakari的处理方式包括疏散、热迁和告警三种;在设定时间内自动恢复发生故障计算节点上的业务。本发明可以支持对于多网卡的故障检测,并在设定时间内采取合理的处理方式对故障节点上的业务进行自动恢复。
Description
技术领域
本发明涉及云计算技术领域,具体的说是一种OpenStack下基于consul进行主机网络监控实现计算节点高可用的方法。
背景技术
将系统做成高可用主要为了解决二个问题,一是减少系统的宕机时间,如果系统中某个服务出现问题,影响了客户的业务,希望能用最少的时间来恢复客户业务;二是数据恢复,如果系统出现宕机,需要保证客户的数据能够准确恢复。目前,云计算领域主要在控制层面、网络层、存储层和计算节点等方面考虑高可用技术的实现,例如,通常使用分布式存储ceph或集中式存储san自身的Active-Active能力来实现存储层的高可用,这样就保证了客户的数据具有高可用性。
在一个云环境中,为了保证计算节点的高可用,首先需要有多个计算节点,每个计算节点运行着大量的客户业务,即客户的虚机,当其中一个计算节点出现问题时,需要通过OpenStack现有的疏散或迁移技术将该计算机节点的所有虚机迁移到运行正常的计算节点上。在云环境中,计算节点一旦出问题,例如操作系统crash或者内存出故障,节点上的网络就会被检测到不通,因此,从网络层面考虑计算节点的高可用时,一个云平台上通常涉及多个网络,如用于openstack各服务通信的控制网,用于客户业务的业务网和用于访问存储的存储网,故需要考虑多网络复杂情况下的高可用实施方案。
在OpenStack云平台中,Masakari组件配合Masakari-monitor组件实现了计算机节点的高可用,当一个计算节点出现问题时,能够自动将该计算机节点的所有虚机迁移到运行正常的计算节点上。Masakari-monitor组件具备监控功能,它包括主机监控、进程监控和实例监控三个功能,针对主机监控功能,即hostmonitor,能够定期上报计算节点的健康状态。Masakari组件用于故障恢复,它包含两个模块,即Masakari-api和Masakari-engine。Masakari-api在接收到HostMonitor的Host failure notification后,会让Masakari-engine以异步的方式执行recovery workflow,最终nova会接收到recovery请求,执行疏散操作。
现有的maskari hostmonitor使用pacemaker和pacemaker-remote去监控主机的状态,该方案存在的限制包括:
(1)目前,Ubuntu 21.04支持的是Pacemaker 2.0.5,对应的corosync版本都是corosync 2,corosync 2最多只能配置2个interface,无法满足业务网、存储网、控制网同时出问题时被检测的需求;
(2)Pacemaker-remote无法建立多条网络连接,要求cluster node的PCMK_remote_port和remote node的PCMK_remote_port必须是相同的,即如果想建立多条网络连接,需要配置多个pacemaker集群,另外,如果通过不同的网卡建立网络连接,新的网络连接会覆盖旧的连接。
发明内容
本发明针对现有maskari hostmonitor使用pacemaker和pacemaker-remote去监控主机状态时存在的种种限制,提供一种基于consul进行主机网络监控实现计算节点高可用的方法。
本发明的一种基于consul进行主机网络监控实现计算节点高可用的方法,解决上述技术问题采用的技术方案如下:
一种基于consul进行主机网络监控实现计算节点高可用的方法,该方法的实现过程包括:
步骤S1、在控制节点和计算节点进行consul的容器化部署;
步骤S2、在控制节点进行HostMonitor的容器化部署,且HostMonitor采用consuldriver;
步骤S3、在HostMonitor中自定义恢复策略,且Masakari的处理方式包括疏散、热迁和告警三种;
步骤S4、在设定时间内自动恢复发生故障计算节点上的业务。
可选的,所涉及consul使用Gossip来管理集群内的节点,如果一个节点上的agent的连接被发现断开了,consul会将该消息广播给整个集群。
可选的,执行步骤S1,在控制节点和计算节点进行consul的容器化部署过程中:
每个控制节点和计算节点上运行3个consul agent,3个consul agent分别与控制网、业务网和存储网进行绑定,最终形成3个consul集群,即基于控制网的consul集群Control Network、基于业务网的consul集群Tenant Network和基于存储网的consul集群Storage Network;
在控制节点上,consul agent以server模式运行,用于维护consul的状态;
在计算节点上,consul agent以client模式运行,用于运行健康检查和转发对server的查询。
进一步可选的,Masakari-monitor提供的主机监控程序HostMonitor会定期使用其所在节点的consul agent获取所述3个consul集群的状态信息,所获取状态信息用于反映每个计算节点上控制网、业务网和存储网的健康状况。
进一步可选的,执行步骤S2时,HostMonitor采用consul driver后,配置文件允许通过agent_manage、agent_tenant和agent_storage来设置要监控的控制网、业务网和存储网。
优选的,Masakari-monitor和Masakari放置于同一个chart中。
进一步可选的,执行步骤S3,在HostMonitor中自定义恢复策略时,自定义业务网、存储网和控制网中的一种或者多种出现问题时需要采取的处理方式,具体如下:
(a)业务网、存储网、控制网三者状态均为正常时,不采取措施;
(b)业务网状态为正常,存储网和/或控制网状态为异常,采取疏散的处理方式;
(c)业务网状态为异常,存储网和控制网状态为正常,采取告警的处理方式,且告警后人为介入;
(d)业务网状态为异常,存储网和/或控制网状态为异常,采取疏散的处理方式。
进一步可选的,执行步骤S4,在设定时间内自动恢复发生故障计算节点上的业务,具体操作如下:
首先,对Masakari-monitor中的monitoring_interval值和Masakari中的wait_period_after_service_update值进行了调优,monitoring_interval值表示监控计算节点的监控时间间隔,wait_period_after_service_update值表示nova-compute服务disable后,异常处理操作发起的等待时间;
随后,通过HostMonitor获取所述3个consul集群的状态信息,如果根据用户自定义的恢复策略判断出需要采取异常处理操作时,HostMonitor会向Masakari-api发送一个Host failure notification;
最后,Masakari-api在接收到HostMonitor的Host failure notification后,会让Masakari-engine以异步的方式执行recovery workflow,最终nova会接收到请求,采取相应的处理方式。
本发明的一种基于consul进行主机网络监控实现计算节点高可用的方法,与现有技术相比具有的有益效果是:
(1)本发明对于云平台包含的多种网络类型,可以支持对于多网卡的故障检测,并在设定时间内采取合理的处理方式对故障节点上的业务进行自动恢复;
(2)本发明对于不同网络出现的异常情况,允许自定义恢复策略,实现疏散、热迁和告警三种不同的处理方式。
附图说明
附图1是本发明的部署架构图;
附图2是本发明的流程框图。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述。
实施例一:
结合赌徒1、2,本实施例提出一种基于consul进行主机网络监控实现计算节点高可用的方法,该方法的实现过程包括:
步骤S1、在控制节点和计算节点进行consul的容器化部署,这一过程中,
每个控制节点和计算节点上运行3个consul agent,3个consul agent分别与控制网、业务网和存储网进行绑定,最终形成3个consul集群,即基于控制网的consul集群Control Network、基于业务网的consul集群Tenant Network和基于存储网的consul集群Storage Network;
在控制节点上,consul agent以server模式运行,用于维护consul的状态;
在计算节点上,consul agent以client模式运行,用于运行健康检查和转发对server的查询。
consul使用Gossip来管理集群内的节点,如果一个节点上的agent的连接被发现断开了,consul会将该消息广播给整个集群。
Masakari-monitor提供的主机监控程序HostMonitor会定期使用其所在节点的consul agent获取所述3个consul集群的状态信息,所获取状态信息用于反映每个计算节点上控制网、业务网和存储网的健康状况。
步骤S2、在控制节点进行HostMonitor的容器化部署,且HostMonitor采用consuldriver。
HostMonitor采用consul driver后,配置文件允许通过agent_manage、agent_tenant和agent_storage来设置要监控的控制网、业务网和存储网。
Masakari-monitor和Masakari放置于同一个chart中。
步骤S3、在HostMonitor中自定义恢复策略,自定义业务网、存储网和控制网中的一种或者多种出现问题时需要采取的处理方式,具体如下表所示:
控制网状态 | 业务网状态 | 存储网状态 | masakari处理方式 |
Up | Up | Up | 不需要处理 |
Up | Up | Down | 疏散 |
Up | Down | Up | 疏散 |
Up | Down | Down | 疏散 |
Down | Up | Up | 告警,人为介入 |
Down | Up | Down | 疏散 |
Down | Down | Up | 疏散 |
Down | Down | Down | 疏散 |
Up表示正常,Down表示异常。
步骤S4、在设定时间内自动恢复发生故障计算节点上的业务,通常设定时间不超过5分钟,具体操作如下:
首先,对Masakari-monitor中的monitoring_interval值和Masakari中的wait_period_after_service_update值进行了调优,monitoring_interval值表示监控计算节点的监控时间间隔,wait_period_after_service_update值表示nova-compute服务disable后,异常处理操作发起的等待时间;
随后,通过HostMonitor获取所述3个consul集群的状态信息,如果根据用户自定义的恢复策略判断出需要采取异常处理操作时,HostMonitor会向Masakari-api发送一个Host failure notification;
最后,Masakari-api在接收到HostMonitor的Host failure notification后,会让Masakari-engine以异步的方式执行recovery workflow,最终nova会接收到请求,采取相应的处理方式。
综上可知,采用本发明的一种基于consul进行主机网络监控实现计算节点高可用的方法,可以支持对于多网卡的故障检测,并在设定时间内采取合理的处理方式对故障节点上的业务进行自动恢复。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
Claims (8)
1.一种基于consul进行主机网络监控实现计算节点高可用的方法,其特征在于,该方法的实现过程包括:
步骤S1、在控制节点和计算节点进行consul的容器化部署;
步骤S2、在控制节点进行HostMonitor的容器化部署,且HostMonitor采用consuldriver;
步骤S3、在HostMonitor中自定义恢复策略,且Masakari的处理方式包括疏散、热迁和告警三种;
步骤S4、在设定时间内自动恢复发生故障计算节点上的业务。
2.根据权利要求1所述的基于consul进行主机网络监控实现计算节点高可用的方法,其特征在于,consul使用Gossip来管理集群内的节点,如果一个节点上的agent的连接被发现断开了,consul会将该消息广播给整个集群。
3.根据权利要求1所述的基于consul进行主机网络监控实现计算节点高可用的方法,其特征在于,执行步骤S1,在控制节点和计算节点进行consul的容器化部署过程中:
每个控制节点和计算节点上运行3个consul agent,3个consul agent分别与控制网、业务网和存储网进行绑定,最终形成3个consul集群,即基于控制网的consul集群ControlNetwork、基于业务网的consul集群Tenant Network和基于存储网的consul集群StorageNetwork;
在控制节点上,consul agent以server模式运行,用于维护consul的状态;
在计算节点上,consul agent以client模式运行,用于运行健康检查和转发对server的查询。
4.根据权利要求3所述的基于consul进行主机网络监控实现计算节点高可用的方法,其特征在于,Masakari-monitor提供的主机监控程序HostMonitor会定期使用其所在节点的consul agent获取所述3个consul集群的状态信息,所获取状态信息用于反映每个计算节点上控制网、业务网和存储网的健康状况。
5.根据权利要求4所述的基于consul进行主机网络监控实现计算节点高可用的方法,其特征在于,执行步骤S2时,HostMonitor采用consul driver后,配置文件允许通过agent_manage、agent_tenant和agent_storage来设置要监控的控制网、业务网和存储网。
6.根据权利要求5所述的基于consul进行主机网络监控实现计算节点高可用的方法,其特征在于,Masakari-monitor和Masakari放置于同一个chart中。
7.根据权利要求5所述的基于consul进行主机网络监控实现计算节点高可用的方法,其特征在于,执行步骤S3,在HostMonitor中自定义恢复策略时,自定义业务网、存储网和控制网中的一种或者多种出现问题时需要采取的处理方式,具体如下:
(a)业务网、存储网、控制网三者状态均为正常时,不采取措施;
(b)业务网状态为正常,存储网和/或控制网状态为异常,采取疏散的处理方式;
(c)业务网状态为异常,存储网和控制网状态为正常,采取告警的处理方式,且告警后人为介入;
(d)业务网状态为异常,存储网和/或控制网状态为异常,采取疏散的处理方式。
8.根据权利要求7所述的基于consul进行主机网络监控实现计算节点高可用的方法,其特征在于,执行步骤S4,在设定时间内自动恢复发生故障计算节点上的业务,具体操作如下:
首先,对Masakari-monitor中的monitoring_interval值和Masakari中的wait_period_after_service_update值进行了调优,monitoring_interval值表示监控计算节点的监控时间间隔,wait_period_after_service_update值表示nova-compute服务disable后,异常处理操作发起的等待时间;
随后,通过HostMonitor获取所述3个consul集群的状态信息,如果根据用户自定义的恢复策略判断出需要采取异常处理操作时,HostMonitor会向Masakari-api发送一个Hostfailure notification;
最后,Masakari-api在接收到HostMonitor的Host failure notification后,会让Masakari-engine以异步的方式执行recovery workflow,最终nova会接收到请求,采取相应的处理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111171474.9A CN113965459A (zh) | 2021-10-08 | 2021-10-08 | 基于consul进行主机网络监控实现计算节点高可用的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111171474.9A CN113965459A (zh) | 2021-10-08 | 2021-10-08 | 基于consul进行主机网络监控实现计算节点高可用的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113965459A true CN113965459A (zh) | 2022-01-21 |
Family
ID=79463558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111171474.9A Pending CN113965459A (zh) | 2021-10-08 | 2021-10-08 | 基于consul进行主机网络监控实现计算节点高可用的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113965459A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190040A (zh) * | 2022-05-23 | 2022-10-14 | 浪潮通信技术有限公司 | 虚拟机高可用的实现方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020007468A1 (en) * | 2000-05-02 | 2002-01-17 | Sun Microsystems, Inc. | Method and system for achieving high availability in a networked computer system |
US20030005102A1 (en) * | 2001-06-28 | 2003-01-02 | Russell Lance W. | Migrating recovery modules in a distributed computing environment |
CN109522145A (zh) * | 2018-11-14 | 2019-03-26 | 江苏鸿信系统集成有限公司 | 一种虚拟机故障自动恢复系统及其方法 |
CN109614201A (zh) * | 2018-12-04 | 2019-04-12 | 武汉烽火信息集成技术有限公司 | 防脑裂的OpenStack虚拟机高可用系统 |
CN110798375A (zh) * | 2019-09-29 | 2020-02-14 | 烽火通信科技股份有限公司 | 一种增强容器集群高可用性的监控方法、系统及终端设备 |
CN111865695A (zh) * | 2020-07-28 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种云环境下自动故障处理的方法及系统 |
CN111953566A (zh) * | 2020-08-13 | 2020-11-17 | 北京中电兴发科技有限公司 | 一种基于分布式故障监控的方法和虚拟机高可用系统 |
CN112511394A (zh) * | 2020-11-05 | 2021-03-16 | 中国航空工业集团公司西安航空计算技术研究所 | 一种RapidIO总线系统的管理维护方法 |
-
2021
- 2021-10-08 CN CN202111171474.9A patent/CN113965459A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020007468A1 (en) * | 2000-05-02 | 2002-01-17 | Sun Microsystems, Inc. | Method and system for achieving high availability in a networked computer system |
US20030005102A1 (en) * | 2001-06-28 | 2003-01-02 | Russell Lance W. | Migrating recovery modules in a distributed computing environment |
CN109522145A (zh) * | 2018-11-14 | 2019-03-26 | 江苏鸿信系统集成有限公司 | 一种虚拟机故障自动恢复系统及其方法 |
CN109614201A (zh) * | 2018-12-04 | 2019-04-12 | 武汉烽火信息集成技术有限公司 | 防脑裂的OpenStack虚拟机高可用系统 |
CN110798375A (zh) * | 2019-09-29 | 2020-02-14 | 烽火通信科技股份有限公司 | 一种增强容器集群高可用性的监控方法、系统及终端设备 |
CN111865695A (zh) * | 2020-07-28 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种云环境下自动故障处理的方法及系统 |
CN111953566A (zh) * | 2020-08-13 | 2020-11-17 | 北京中电兴发科技有限公司 | 一种基于分布式故障监控的方法和虚拟机高可用系统 |
CN112511394A (zh) * | 2020-11-05 | 2021-03-16 | 中国航空工业集团公司西安航空计算技术研究所 | 一种RapidIO总线系统的管理维护方法 |
Non-Patent Citations (1)
Title |
---|
胡振宇, 蒋礼青: "种基于Openstack的虚拟机高可用方案", 电信工程技术与标准化, vol. 34, no. 02 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190040A (zh) * | 2022-05-23 | 2022-10-14 | 浪潮通信技术有限公司 | 虚拟机高可用的实现方法及装置 |
CN115190040B (zh) * | 2022-05-23 | 2023-09-29 | 浪潮通信技术有限公司 | 虚拟机高可用的实现方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6514308B2 (ja) | 複製されたデータインスタンスのためのフェイルオーバーおよび復旧 | |
JP4433967B2 (ja) | マルチサイト上の遠隔二重化リンクを経由するハートビート装置、及びその使用方法 | |
EP1437658B1 (en) | Coordinating persistent status information with multiple file servers | |
US7555673B1 (en) | Cluster failover for storage management services | |
US7225356B2 (en) | System for managing operational failure occurrences in processing devices | |
US6839752B1 (en) | Group data sharing during membership change in clustered computer system | |
US6760859B1 (en) | Fault tolerant local area network connectivity | |
US6952766B2 (en) | Automated node restart in clustered computer system | |
JP5102901B2 (ja) | データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム | |
US6757836B1 (en) | Method and apparatus for resolving partial connectivity in a clustered computing system | |
US20030158933A1 (en) | Failover clustering based on input/output processors | |
US10771318B1 (en) | High availability on a distributed networking platform | |
US20030135782A1 (en) | Fail-over storage system | |
CN102546135B (zh) | 主备服务器切换系统及方法 | |
WO2017050254A1 (zh) | 热备方法、装置及系统 | |
JP2004519024A (ja) | 多数のノードを含むクラスタを管理するためのシステム及び方法 | |
US10331472B2 (en) | Virtual machine service availability | |
CN112351051A (zh) | 云服务处理方法、装置、云服务器、系统及存储介质 | |
CN110807064A (zh) | Rac分布式数据库集群系统中的数据恢复装置 | |
CA2616229A1 (en) | Redundant systems management frameworks for network environments | |
CN1322422C (zh) | 在可修复的故障后使群集器系统自动投入运行的方法和设备 | |
US7120821B1 (en) | Method to revive and reconstitute majority node set clusters | |
CN113965459A (zh) | 基于consul进行主机网络监控实现计算节点高可用的方法 | |
CN114510464A (zh) | 一种高可用数据库的管理方法和管理系统 | |
US9826043B2 (en) | Method to protect storage systems from discontinuity due to device misconfiguration |
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 |