CN116126457A - 容器迁移方法和服务器集群 - Google Patents
容器迁移方法和服务器集群 Download PDFInfo
- Publication number
- CN116126457A CN116126457A CN202211535176.8A CN202211535176A CN116126457A CN 116126457 A CN116126457 A CN 116126457A CN 202211535176 A CN202211535176 A CN 202211535176A CN 116126457 A CN116126457 A CN 116126457A
- Authority
- CN
- China
- Prior art keywords
- node
- server
- slave
- slave node
- domain
- 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
- 238000000034 method Methods 0.000 title claims abstract description 117
- 230000005012 migration Effects 0.000 title claims abstract description 54
- 238000013508 migration Methods 0.000 title claims abstract description 54
- 230000036541 health Effects 0.000 claims abstract description 48
- 230000002159 abnormal effect Effects 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims abstract description 42
- 230000003862 health status Effects 0.000 claims abstract description 38
- 238000012544 monitoring process Methods 0.000 claims abstract description 6
- 238000004590 computer program Methods 0.000 claims description 24
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000002085 persistent effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 241000322338 Loeseliastrum Species 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 239000002071 nanotube Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000380131 Ammophila arenaria Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种容器迁移方法和服务器集群,涉及计算机领域。该方法包括:主节点可以周期性向各个从节点发送健康状态检查请求。从节点可以在获取主节点发送的健康状态检查请求后,根据待检查进程的监听进程,确定每一待检查进程是否运行正常。当全部待检查进程运行正常时,其健康状态为正常,否则其健康状态为异常。从节点可以将该健康状态反馈到主节点。该健康状态包括正常和异常。主节点可以统计从节点健康状态为异常的连续次数。当存在一从节点的连续次数达到预设数量次时,根据从节点确定故障域。主节点将故障域的全部从节点的访问关系切换到备份域的从节点。本申请的方法,实现了在从节点出现故障时从节点的容器迁移。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种容器迁移方法和服务器集群。
背景技术
随着云计算的发展,虚拟化技术成为构建云架构的关键技术之一。容器技术作为一种轻量化的虚拟技术,可以实现服务在各个终端上的快速部署。
现有技术中,云计算集群可以通过数据卷快照的方法,实现云计算集群中容器的跨节点迁移。或者,云计算服务器还可以通过kubernetes对接第三方存储系统,实现云计算集群中容器的跨节点迁移。
然而,该现有技术的迁移方法通常需要在节点运行正常时进行迁移,一旦节点出现异常,则该节点中的容器的数据将无法实现迁移。
发明内容
本申请提供一种容器迁移方法和服务器集群,用以解决现有技术无法在节点出现异常时迁移容器的问题。
第一方面,本申请提供一种容器迁移方法,应用于服务器集群中的主节点,包括:
周期性向所述服务器集群中的从节点发送健康状态检查请求;
获取从节点反馈的健康状态,所述健康状态包括正常和异常;
当存在一从节点的所述健康状态连续预设数量次为异常时,根据所述从节点确定故障域;
将所述故障域的全部从节点的访问关系切换到备份域的从节点。
可选地,所述周期性从目标从节点中获取健康状态,具体包括:
向每一所述从节点发送故障域标签,所述故障域标签用于指示所述从节点所属的故障域。
可选地,所述方法,包括:
设置每一所述故障域对应的备份域,所述备份域为与所述故障域中从节点数量相同的另一故障域。
第二方面,本申请提供一种容器迁移方法,应用于集群服务器中的从节点,包括:
获取主节点发送的健康状态检查请求,所述健康状态检查请求中包括至少一个待检查进程;
根据所述待检查进程的监听进程,确定每一所述待检查进程是否运行正常;
当全部所述待检查进程运行正常时,确定所述健康状态为正常;否则,确定所述健康状态为异常;
反馈所述健康状态。
可选地,所述方法,还包括:
获取并保存故障域标签。
第三方面,本申请提供一种第一服务器,所述第一服务器为服务器集群中的主节点,包括:存储器和处理器;所述存储器用于存储计算机程序;所述处理器用于根据所述存储器存储的计算机程序执行第一方面及第一方面任一种可能的设计中的容器迁移方法。
第四方面,本申请提供一种第二服务器,所述第二服务器为服务器集群中的从节点,包括:存储器和处理器;所述存储器用于存储计算机程序;所述处理器用于根据所述存储器存储的计算机程序执行第一方面及第一方面任一种可能的设计中的容器迁移方法。
第五方面,本申请提供一种服务器集群,所述服务器集群包括至少一个第三方面及第三方面任一种可能的设计中的第一服务器和多个第四方面及第四方面任一种可能的设计中的第二服务器。
第六方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当电子设备的至少一个处理器执行该计算机程序时,电子设备执行第一方面及第一方面任一种可能的设计中的容器迁移方法,或者,第二方面及第二方面任一种可能的设计中的容器迁移方法。
第七方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序,当电子设备的至少一个处理器执行该计算机程序时,电子设备执行第一方面及第一方面任一种可能的设计中的容器迁移方法,或者,第二方面及第二方面任一种可能的设计中的容器迁移方法。
本申请提供的容器迁移方法和服务器集群,主节点可以周期性向各个从节点发送健康状态检查请求,并根据从节点的待检查进程的监听进程对待检查进程的运行状态,确定从节点的健康状态;主节点可以统计从节点健康状态为异常的连续次数;当存在一从节点的连续次数达到预设数量次时,根据从节点确定故障域;主节点将故障域的全部从节点的访问关系切换到备份域的从节点,实现从节点访问关系的切换,使外部设备访问的容器服务可以从出现故障的从节点无感切换到备份节点,提高用户体验的效果。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的一种云计算集群的场景示意图;
图2为本申请一实施例提供的一种容器迁移方法的信令交互图;
图3为本申请一实施例提供的一种容器迁移方法的信令交互图;
图4为本申请一实施例提供的一种容器迁移装置的结构示意图;
图5为本申请一实施例提供的一种容器迁移装置的结构示意图;
图6为本申请一实施例提供的一种服务器的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着云计算的发展,虚拟化技术成为构建云架构的关键技术之一。容器技术作为一种轻量化的虚拟技术,可以实现服务在各个终端上的快速部署。目前,在Paas中,有状态容器的迁移一直是一个技术难题。现有技术中,Paas云计算集群可以通过数据卷快照的方法,实现云计算集群中容器的跨节点迁移。或者,云计算服务器还可以通过kubernetes对接第三方存储系统,实现云计算集群中容器的跨节点迁移。然而,该现有技术的迁移方法通常需要在节点运行正常时进行迁移,一旦节点出现异常,则该节点中的容器的数据将无法实现迁移。为了解决上述技术问题,本申请实施例提供的容器迁移方法通过周期性健康检查的方式,实时检测节点是否运行正常。如果节点出现故障,则云计算集群可以将该出现异常的节点迁移到备份节点,从而实现数据的迁移,提高服务的有效性和稳定性。本申请中,存储集群可以通过kubernetes的daemonset在每个节点上部署glusterfs服务。该存储集群中的从节点可以被划分为多个故障域。该故障域的划分通过zone标签进行标识。glusterfs服务可以使用该zone标签来确保跨故障域的副本创建。该复本即为该故障域中节点的备份。本申请可以通过节点的备份实现存储服务的高可用性。存储集群还可以创建用于与集群中glusterfs服务器通信的服务和端点。计算集群kubernetes可以通过该服务和端点,对存储集群中的glusterfs服务提出申请持久卷(Persistent Volume,pv)请求。该存储集群的主节点可以通过向该存储集群中的各个从节点发送健康状态检查请求,监听每个存储节点的健康状态。当某个故障域中的某个从节点不可用时,主节点可以启用该从节点的pv副本,从而保障计算集群kubernetes有状态容器的存储高可用和故障自动化迁移能力。
以下,对本申请实施例的示例性应用场景进行介绍。
图1示出了本申请一实施例提供的一种云计算集群的场景示意图。如图1所示,本申请可以将云计算集群根据其功能搭建分离的计算集群和存储集群。在每一个服务器集群中,可以使用kubernetes实现该服务器集群中各个节点的管理。其中,计算集群中的各个节点用于实现服务的各种功能。存储集群中的各个节点用于实现数据的存储。外部设备可以通过服务接口实现计算集群中节点的访问。当计算集群中的服务需要存储数据时,该计算集群的节点可以通过访问存储集群节点的方式实现数据在存储集群中节点的存储。本申请可以通过两套kubernetes集群分别管理存储节点和计算节点,使计算和存储分离。
其中,计算集群中的节点可以如图1中的node所示。每一个node可以对应于一个计算集群的节点。计算集群中的每一个节点中可以包括多个pod。每一个pod可以对应于一个服务。存储集群中的节点可以被划分为多个故障域。故障域可以如图1中的zone所示。每一个故障域中可以包括多个节点。该存储集群中的一个节点可以如图1中的一个持久卷(Persistent Volume,PV)所示。需要注意的是,本申请的计算集群的节点和存储集群的节点中的容器均为有状态容器。该有状态容器的设置可以使容器更多的保存历史数据和/或运行状态,从而提高用户访问容器中服务器时的用户体验。
本申请所使用的容器迁移方法主要应用在存储集群,可以实现存储集群中节点容器在故障时的自动化迁移。本申请可以通过kubernetes增删节点,从而实现服务器集群中动态调整存储池容量。本申请还可以通过zone标签实现对服务器集群中节点的分区管理,从而保障存储集群中节点的高可用性。本申请中,计算集群中的服务可以通过api对接存储集群中的节点。这些服务可以通过PV、永久卷声明(Persistent Volume Claim,PVC)动态向存储集群申请存储资源。
此外,本申请也可以应用于计算集群,实现计算集群节点容器在故障时的自动化迁移。其实现方式与存储集群类似,此处不再赘述。
本申请中,以电子设备为执行主体,执行如下实施例的容器迁移方法。具体地,该执行主体可以为服务器集群中的服务器的硬件装置,或者为服务器中实现下述实施例的软件应用,或者为安装有实现下述实施例的软件应用的计算机可读存储介质,或者为实现下述实施例的软件应用的代码。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2示出了本申请一实施例提供的一种容器迁移方法的信令交互图。在图1所示实施例的基础上,如图2所示,以服务器集群中的主节点和从节点为执行主体,本实施例的方法可以包括如下步骤:
S101、主节点周期性向服务器集群中的从节点发送健康状态检查请求。
本实施例中,主节点可以通过周期性的向从节点发送健康状态检查请求的方式,获取从节点反馈的健康状态。
一种示例中,该健康状态检查请求可以为主节点根据从节点设置的请求报文。针对不同的从节点,主节点可以设置不同的请求报文。例如,当从节点为存储节点时,该健康状态检查请求可以通过指示从节点判断其控制程序是否启动,确定该从节点是否被正常使用。又如,当从节点为计算节点时,该健康状态检查请求可以通过指示从节点判断其服务程序是否启动,确定该从节点是否被正常使用。每一从节点对应的健康状态检查请求,可以在该从节点在该主节点中注册时完成其请求报文的设置。
另一种示例中,该健康状态检查请求具有统一的请求报文,用于触发从节点中的自查进程。不同的从节点可以设置有不同的自查进程。每一从节点的自查进程可以在该从节点加入到该服务器集群时完成设置。
一种示例中,该周期可以固定周期。例如,主节点可以每隔5秒发送一次健康状态检查请求。
另一种示例中,每一个周期中可以包括多次健康状态检查请求的发送。例如,主节点可以每隔一个小时,向从节点发送5次健康状态检查请求。该5次健康状态检查请求的发送频率可以为每隔5秒发送一次。
S102、从节点获取主节点发送的健康状态检查请求,健康状态检查请求中包括至少一个待检查进程。
S103、从节点根据待检查进程的监听进程,确定每一待检查进程是否运行正常。
本实施例中,从节点中可以包括多个监听进程。从节点可以从健康状态检查请求中确定需要检查的待检查进程。从节点可以从每一个待检测进程的监听进程中获取该待检查进程的运行情况。该运行情况可以包括运行正常和运行异常两种。
S104、当全部待检查进程运行正常时,从节点确定健康状态为正常。否则,确定健康状态为异常。
本实施例中,从节点可以统计该健康状态检查请求中的全部待检查进程的运行状态是否均为运行正常。如果该健康状态检查请求中指示检查的全部待检查进程的运行状态均为运行正常,则从节点确定其健康状态为正常。否则,如果存在至少一个待检查进程的运行状态为运行异常,则该从节点的健康状态为异常。由于在存储集群中,每一个节点的需要检测的进程通常只有一个控制进程。因此,当该控制进程运行异常时,该节点通常也存在异常。而对于计算集群中的节点,每一个节点中可能会包括多个服务。并且在实际使用中可能存在节点上的一个服务存在的运行状态为运行异常,而该节点的其他服务的运行状态为运行正常的情况。针对该种情况,如果技术人员需要对该运行异常的服务进行处理,则可能出现节点重启等操作,会对其他节点产生影响。因此,为了保证节点上的全部服务的正常运行,该从节点可以确定该其健康状态为异常。
S105、从节点反馈健康状态到主节点。
本实施例中,从节点可以在确定其自身的健康状态后,将其健康状态反馈到主节点。
S106、主节点获取从节点反馈的健康状态,健康状态包括正常和异常。
本实施例中,主节点可以在获取从节点反馈的健康状态后,对该健康状态进行统计。该统计可以包括健康状态为异常的连续次数、一个故障域中出现异常的从节点个数等。
S107、当存在一从节点的健康状态连续预设数量次为异常时,主节点根据从节点确定故障域。
本实施例中,主节点中可以设置有预设数量。当同一个从节点的健康状态为异常的连续次数达到该预设数量时,该主节点可以确定该从节点为异常节点。该预设数量可以由技术人员根据经验进行设定。例如,该预设数量可以为3次、4次、5次等。需要注意的是,本实施例中,主节点在确定连续预设数量次健康状态为异常时,确定该从节点为异常节点。如果该从节点在连续出现多次健康状态为异常,且该次数小于预设数量时,主节点获取到该从节点的健康状态为正常,则主节点需要重新开始累计健康状态为异常的次数。
当主节点确定从节点为异常节点时,主节点可以获取该从节点所在的故障域。主节点可以通过获取该从节点的故障域标签,确定该从节点所在的故障域。
一种示例中个,该故障域可以根据节点所在区域进行划分。例如,机房1中节点可以对应于故障域1,机房2中的节点可以对应于故障域2。又如,园区1中的节点可以对应于故障域1,园区2中的节点可以对应于故障域2。该故障域的划分,主要用于实现异地备份。
S108、主节点将故障域的全部从节点的访问关系切换到备份域的从节点。
本实施例中,主节点可以在确定出现异常的从节点所在的故障域后,将该故障域的全部访问关系切换到备份域的从节点。该备份域可以为与该故障域同级别的另一故障域。例如,故障域1的备份域可以为故障域2。当该故障域的访问关系被切换到备份域后,外部设备在访问故障域中的从节点时,主节点将在后台将其访问请求切换到备份域,实现外部设备的无感过渡,提高用户体验。
一种示例中,主节点还可以统计故障域出现异常的从节点的数量。当出现异常的从节点的数量小于或者等于预设阈值时,主节点可以将这些出现异常的从节点切换到备份域中。每一个从节点可以在初始设置时对应有一个备份域中的备份节点。主节点可以将这些出现故障的从节点的访问关系切换到其对应的备份节点。主节点可以在出现异常的从节点的数量大于或者等于预设阈值时,将该故障域中的全部从节点的访问关系切换到备份域中各个备份节点。该方式可以避免一次切换涉及太多正常节点,导致节点资源浪费。
例如,在如图1所示的场景中,当存储集群kubernetes通过健康状态检查请求,发现故障域1中的pv不可用时,glusterfs服务可以通过pv元数据,启用故障域zone2副本pv。该glusterfs服务可以作为存储后端,即上述主节点。该故障域zone2即为备份域。该复本pv即为备份节点。计算集群kubernetes可以通过访问该zone2副本pv实现数据的存储和读取。又如,当计算集群中的节点发生故障或者计算节点不可用时,Kubernetes计算集群的主节点可以将容器迁移至可用的计算节点,并将原先的存储资源pv挂在到新的计算节点,实现容器的故障自动化迁移。
本申请提供的容器迁移方法中,服务器集群中可以包括一个主节点和多个从节点。主节点可以周期性向各个从节点发送健康状态检查请求。从节点可以在获取主节点发送的健康状态检查请求后,根据待检查进程的监听进程,确定每一待检查进程是否运行正常。健康状态检查请求中可以包括至少一个待检查进程。当全部待检查进程运行正常时,从节点确定其健康状态为正常。否则,从节点确定其健康状态为异常。从节点可以将该健康状态反馈到主节点。该健康状态包括正常和异常。主节点可以统计从节点健康状态为异常的连续次数。当存在一从节点的连续次数达到预设数量次时,根据从节点确定故障域。主节点将故障域的全部从节点的访问关系切换到备份域的从节点。本申请中,通过健康检查,实现从节点访问关系的切换,使外部设备访问的容器服务可以从出现故障的从节点无感切换到备份节点,提高用户体验。
在图2所示实施例的基础上,以服务器集群中的主节点和从节点为执行主体,在执行图2所以步骤之前,本实施例的方法还包括如下步骤:
S201、主节点向每一从节点发送故障域标签,故障域标签用于指示从节点所属的故障域。
本实施例中,主节点可以根据从节点信息,确定每一从节点的故障域标签。该从节点信息可以为从节点的位置信息、IP地址信息等。主节点可以向每一从节点发送其对应的故障域标签。该故障域标签用于指示该从节点所属的故障域。
S202、从节点获取并保存故障域标签。
本实施例中,从节点可以获取主节点发送的故障域标签。从节点可以保存该故障域标签。
S203、主节点设置每一故障域对应的备份域,备份域为与故障域中从节点数量相同的另一故障域。
本实施例中,主节点还可以根据已经设置的故障域,设置每一故障域对应的备份域。该备份域即该服务器集群中的另一故障域。该备份域中的从节点数量通常大于或者等于故障域中的从节点数量。例如,当包括故障域1和故障域2时,故障域1的备份域可以为故障域2,故障域2的备份域可以为故障域1。又如,当包括故障域1、故障域2和故障域3时,故障域1的备份域可以为故障域2,故障域2的备份域可以为故障域3,故障域3的备份域可以为故障域1。
在图2实施例的基础上,如图3所示,当需要实现如图1所示的存储集群和计算集群的构建时,本实施例中服务器集群的部署方法可以包括如下步骤:
S301、存储集群可以使用开源的Kubespray项目进行存储集群Kubernetes搭建。
S302、存储集群可以在kubernetes集群中部署calico网络插件,实现存储集群中各个节点之间的通信。
S303、存储集群可以使用开源的heketi对接存储集群Kubernetes,实现存储集群中各个节点的纳管。
本实施例中,具体可以包括如下步骤:
步骤1、存储集群确认节点集群以及每一节点对应的故障域。glusterfs服务可以为不同故障域节点添加不同的zone标签。
步骤2、存储集群配置原始块存储的磁盘名称。
步骤3、存储集群通过kubernetes集群纳管所有存储节点。
步骤4、存储集群将glusterfs作为DaemonSet部署到拓扑中指定的Kubernetes节点上。
步骤5、存储集群创建用于与glusterfs集群通信的服务和端点。
S304、计算集群可以使用开源的Kubespray项目进行计算集群Kubernetes搭建。该步骤与步骤S301的动作顺序不受描述的限制,可以同时执行或者以其他顺序执行。
S305、计算集群可以在kubernetes集群中部署calico网络插件,实现计算集群中各个节点之间的通信。该计算集群的glusterfs服务还可以通过helm部署coredns,ingress组件。
S306、计算集群中的计算节点可以通过存储集群Kubernetes的service的NodePort实现存储资源申请。
S307、计算集群中的业务容器部署在Kubernetes计算集群中,业务容器可以通过pvc向Kubernetes存储集群申请存储资源。
图4示出了本申请一实施例提供的一种容器迁移装置的结构示意图,如图4所示,本实施例的容器迁移装置10用于实现上述任一方法实施例中对应于服务器集群中的主节点的操作,本实施例的容器迁移装置10包括:
收发模块11,用于周期性向服务器集群中的从节点发送健康状态检查请求。获取从节点反馈的健康状态,健康状态包括正常和异常。
处理模块12,用于当存在一从节点的健康状态连续预设数量次为异常时,根据从节点确定故障域。将故障域的全部从节点的访问关系切换到备份域的从节点。
一种示例中,收发模块11,还用于:
向每一从节点发送故障域标签,故障域标签用于指示从节点所属的故障域。
一种示例中,处理模块12,还用于:
设置每一故障域对应的备份域,备份域为与故障域中从节点数量相同的另一故障域。
本申请实施例提供的容器迁移装置10,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
图5示出了本申请一实施例提供的一种容器迁移装置的结构示意图,如图5所示,本实施例的容器迁移装置20用于实现上述任一方法实施例中对应于服务器集群中的从节点的操作,本实施例的容器迁移装置20包括:
收发模块21,用于获取主节点发送的健康状态检查请求,健康状态检查请求中包括至少一个待检查进程。
处理模块22,用于根据待检查进程的监听进程,确定每一待检查进程是否运行正常。当全部待检查进程运行正常时,确定健康状态为正常。否则,确定健康状态为异常。
收发模块21,还用于反馈健康状态。
一种示例中,收发模块21,还用于:
获取并保存故障域标签。
本申请实施例提供的容器迁移装置20,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
图6示出了本申请实施例提供的一种服务器的硬件结构示意图。如图6所示,该服务器30,用于实现上述任一方法实施例中对应于第一服务器或者第二服务器的操作,本实施例的服务器30可以包括:存储器31,处理器32和通信接口34。
存储器31,用于存储计算机程序。该存储器31可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储(Non-Volatile Memory,NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
处理器32,用于执行存储器存储的计算机程序,以实现上述实施例中的容器迁移方法。具体可以参见前述方法实施例中的相关描述。该处理器32可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可选地,存储器31既可以是独立的,也可以跟处理器32集成在一起。
当存储器31是独立于处理器32之外的器件时,服务器30还可以包括总线33。该总线33用于连接存储器31和处理器32。该总线33可以是工业标准体系结构(IndustryStandard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
通信接口34,可以通过总线33与处理器31连接。该通信接口34用于实现服务器集群中第一服务器与各个第二服务器之间的通信。以及,该通信接口34还用于实现该服务器集群中各个第一服务器和/或第二服务器与其他终端设备之间的通信。
本实施例提供的服务器可用于执行上述的容器迁移方法,其实现方式和技术效果类似,本实施例此处不再赘述。
本申请实施例提供的一种服务器集群,该服务器集群中包括至少一个第一服务器和多个第二服务器。该第一服务器和第二服务器的硬件结构可以如图6所示。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时用于实现上述的各种实施方式提供的方法。
其中,计算机可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,计算机可读存储介质耦合至处理器,从而使处理器能够从该计算机可读存储介质读取信息,且可向该计算机可读存储介质写入信息。当然,计算机可读存储介质也可以是处理器的组成部分。处理器和计算机可读存储介质可以位于专用集成电路(Application Specific Integrated Circuits,ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和计算机可读存储介质也可以作为分立组件存在于通信设备中。
具体地,该计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,SRAM),电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable read-only memory,PROM),只读存储器(Read-OnlyMemory,ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。设备的至少一个处理器可以从计算机可读存储介质中读取该计算机程序,至少一个处理器执行该计算机程序使得设备实施上述的各种实施方式提供的方法。
本申请实施例还提供一种芯片,该芯片包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行计算机程序,使得安装有芯片的设备执行如上各种可能的实施方式中的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
其中,各个模块可以是物理上分开的,例如安装于一个的设备的不同位置,或者安装于不同的设备上,或者分布到多个网络单元上,或者分布到多个处理器上。各个模块也可以是集成在一起的,例如,安装于同一个设备中,或者,集成在一套代码中。各个模块可以以硬件的形式存在,或者也可以以软件的形式存在,或者也可以采用软件加硬件的形式实现。本申请可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
当各个模块以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例方法的部分步骤。
应该理解的是,虽然上述实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种容器迁移方法,其特征在于,应用于服务器集群中的主节点,所述方法,包括:
周期性向所述服务器集群中的从节点发送健康状态检查请求;
获取从节点反馈的健康状态,所述健康状态包括正常和异常;
当存在一从节点的所述健康状态连续预设数量次为异常时,根据所述从节点确定故障域;
将所述故障域的全部从节点的访问关系切换到备份域的从节点。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
向每一所述从节点发送故障域标签,所述故障域标签用于指示所述从节点所属的故障域。
3.根据权利要求2所述的方法,其特征在于,所述方法,还包括:
设置每一所述故障域对应的备份域,所述备份域为与所述故障域中从节点数量相同的另一故障域。
4.一种容器迁移方法,其特征在于,应用于集群服务器中的从节点,所述方法,包括:
获取主节点发送的健康状态检查请求,所述健康状态检查请求中包括至少一个待检查进程;
根据所述待检查进程的监听进程,确定每一所述待检查进程是否运行正常;
当全部所述待检查进程运行正常时,确定所述健康状态为正常;否则,确定所述健康状态为异常;
反馈所述健康状态。
5.根据权利要求4所述的方法,其特征在于,所述方法,还包括:
获取并保存故障域标签。
6.一种第一服务器,其特征在于,所述第一服务器为服务器集群中的主节点,所述第一服务器,包括:存储器,处理器;所述存储器用于存储计算机程序;所述处理器用于根据所述存储器存储的计算机程序,实现如权利要求1至3中任意一项所述的容器迁移方法。
7.一种第二服务器,其特征在于,所述第二服务器为服务器集群中的从节点,所述第二服务器,包括:存储器,处理器;所述存储器用于存储计算机程序;所述处理器用于根据所述存储器存储的计算机程序,实现如权利要求4或5所述的容器迁移方法。
8.一种服务器集群,其特征在于,所述服务器集群包括至少一个如权利要求6所示第一服务器和多个如权利要求7所示的第二服务器。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被第一服务器的处理器执行时用于实现如权利要求1至3任一项所述的容器迁移方法,或者,所述计算机程序被第二服务器的处理器执行时用于实现如权利要求4或5所述的容器迁移方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被第一服务器的处理器执行时用于实现如权利要求1至3任一项所述的容器迁移方法,或者,所述计算机程序被第二服务器的处理器执行时用于实现如权利要求4或5所述的容器迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211535176.8A CN116126457A (zh) | 2022-12-02 | 2022-12-02 | 容器迁移方法和服务器集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211535176.8A CN116126457A (zh) | 2022-12-02 | 2022-12-02 | 容器迁移方法和服务器集群 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116126457A true CN116126457A (zh) | 2023-05-16 |
Family
ID=86301827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211535176.8A Pending CN116126457A (zh) | 2022-12-02 | 2022-12-02 | 容器迁移方法和服务器集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116126457A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117389725A (zh) * | 2023-10-12 | 2024-01-12 | 中科驭数(北京)科技有限公司 | 服务数据节点迁移方法、装置、电子设备及存储介质 |
CN118349419A (zh) * | 2024-06-17 | 2024-07-16 | 杭州宇信数字科技有限公司 | 一种用于中间件节点的状态监控方法和系统 |
-
2022
- 2022-12-02 CN CN202211535176.8A patent/CN116126457A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117389725A (zh) * | 2023-10-12 | 2024-01-12 | 中科驭数(北京)科技有限公司 | 服务数据节点迁移方法、装置、电子设备及存储介质 |
CN118349419A (zh) * | 2024-06-17 | 2024-07-16 | 杭州宇信数字科技有限公司 | 一种用于中间件节点的状态监控方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9348706B2 (en) | Maintaining a cluster of virtual machines | |
CN105204965B (zh) | 用于多节点环境中的动态节点修复的方法和装置 | |
CN116126457A (zh) | 容器迁移方法和服务器集群 | |
CN109656742B (zh) | 一种节点异常处理方法、装置及存储介质 | |
CN110830283B (zh) | 故障检测方法、装置、设备和系统 | |
CN109788068B (zh) | 心跳状态信息上报方法、装置和设备及计算机存储介质 | |
CN113032085A (zh) | 云操作系统的管理方法、装置、服务器、管理系统及介质 | |
CN107113193B (zh) | 一种确定vnf的处理策略的方法、装置及系统 | |
CN110958151B (zh) | 保活检测方法、装置、节点、存储介质及通信系统 | |
CN109361542A (zh) | 客户端的故障处理方法、装置、系统、终端和服务器 | |
CN113515408A (zh) | 一种数据容灾方法、装置、设备及介质 | |
CN104503861A (zh) | 一种异常处理方法及系统、代理设备与控制装置 | |
CN106452836A (zh) | 主节点设置方法及装置 | |
CN113067875A (zh) | 基于微服务网关动态流控的访问方法和装置以及设备 | |
CN109710492A (zh) | 应用程序运行监控方法、介质及电子设备 | |
CN113867915A (zh) | 任务调度方法、电子设备及存储介质 | |
CN112994918B (zh) | 一种设备管理方法及装置 | |
CN104657240B (zh) | 多内核操作系统的失效控制方法及装置 | |
CN112492011A (zh) | 分布式存储系统故障切换方法、系统、终端及存储介质 | |
CN114124803B (zh) | 设备管理方法、装置、电子设备及存储介质 | |
CN116192885A (zh) | 高可用集群架构人工智能实验云平台数据处理方法及系统 | |
CN115033428A (zh) | 分布式数据库的管理方法、系统及管理服务器 | |
US20240028611A1 (en) | Granular Replica Healing for Distributed Databases | |
US20220215001A1 (en) | Replacing dedicated witness node in a stretched cluster with distributed management controllers | |
JP2006285453A (ja) | 情報処理装置、情報処理方法、および情報処理プログラム |
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 |