CN106789350A - 一种支持服务器虚拟化系统主节点高可用的方法及装置 - Google Patents
一种支持服务器虚拟化系统主节点高可用的方法及装置 Download PDFInfo
- Publication number
- CN106789350A CN106789350A CN201710050338.1A CN201710050338A CN106789350A CN 106789350 A CN106789350 A CN 106789350A CN 201710050338 A CN201710050338 A CN 201710050338A CN 106789350 A CN106789350 A CN 106789350A
- Authority
- CN
- China
- Prior art keywords
- virtual machines
- master
- master virtual
- machine
- zero
- 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
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/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
- H04L41/0661—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
-
- 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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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
- 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
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)
- Stored Programmes (AREA)
Abstract
本发明公开了一种支持服务器虚拟化系统主节点高可用的方法及装置,该方法包括:将master主节点部署成为master虚拟机;周期性地启动master虚拟机,若master虚拟机发生宕机,重新启动master虚拟机。该方法实现保障master主节点的高可用性。
Description
技术领域
本发明涉及服务器虚拟机技术领域,特别是涉及一种支持服务器虚拟化系统主节点高可用的方法及装置。
背景技术
目前,随着IT架构的复杂化和应用计算需求的急剧加大,虚拟化技术的应用领域已经从服务器逐渐向存储、网络、应用和桌面等多方面扩展。其中服务器虚拟化对服务器资源进行快速划分和动态部署,降低了系统复杂度,消除了设备无需蔓延,成功地减少了运营成本和提高了资产利用率,从而成为构建云数据中心的最为核心的技术之一,服务器虚拟化作为一种基础设施,性能和稳定成为最基本、最重要的应用需求,它的稳定性直接影响到云数据中心所提供服务的稳定性,因此系统本身的高可用具有至关重要的实践意义。当前绝大多数的服务器虚拟化系统采用了单Master/多Slave的架构,Master主节点是整个系统的控制和管理中心,负责整体资源的调度和管理,Slave从节点负责承载虚拟机的运行,如果某个Slave从节点发生故障,Master主节点可以评估和选择其他Slave节点继续运行受影响的虚拟机,从而实现虚拟机的高可用。可以看出在这种架构中Master主节点是整个系统的SPoF(Single Point of Failure,单点故障),单个点发生故障例如宕机的时候会波及到整个系统或者网络,从而导致整个系统或者网络的瘫痪,因此需要额外的方案来保障Master的高可用,这也是提升整个服务器虚拟化系统稳定性的需求。
发明内容
本发明的目的是提供一种支持服务器虚拟化系统主节点高可用的方法及装置,以实现保障master主节点的高可用性。
为解决上述技术问题,本发明提供一种支持服务器虚拟化系统主节点高可用的方法,该方法包括:
将master主节点部署成为master虚拟机;
周期性地启动master虚拟机,若master虚拟机发生宕机,重新启动master虚拟机。
优选的,所述周期性地启动master虚拟机,包括:
定义Zero-HA域,在Zero-HA域内采用守护进程周期性地尝试启动master虚拟机。
优选的,所述若master虚拟机发生宕机,重新启动master虚拟机,包括:
若master虚拟机发生宕机,在Zero-HA域内自动启动master虚拟机。
优选的,利用锁机制在Zero-HA域内自动启动master虚拟机。
本发明还提供一种支持服务器虚拟化系统主节点高可用的装置,用于实现所述支持服务器虚拟化系统主节点高可用的方法,该装置包括:
部署模块,用于将master主节点部署成为master虚拟机;
启动模块,用于周期性地启动master虚拟机,若master虚拟机发生宕机,重新启动master虚拟机。
优选的,所述启动模块包括:
启动单元,用于定义Zero-HA域,在Zero-HA域内采用守护进程周期性地尝试启动master虚拟机;
宕机处理单元,用于若master虚拟机发生宕机,重新启动master虚拟机。
优选的,所述宕机处理单元,用于若master虚拟机发生宕机,重新启动master虚拟机,包括:
宕机处理单元,用于若master虚拟机发生宕机,在Zero-HA域内自动启动master虚拟机。
优选的,所述宕机处理单元,具体用于若master虚拟机发生宕机,利用锁机制在Zero-HA域内自动启动master虚拟机。
本发明所提供的一种支持服务器虚拟化系统主节点高可用的方法及装置,将master主节点部署成为master虚拟机;周期性地启动master虚拟机,若master虚拟机发生宕机,重新启动master虚拟机。可见,针对Master/Slave架构的虚拟化系统,将Master部署成为虚拟机,同时采用高可用方案即周期性地启动Master虚拟机,一旦Master虚拟机发生故障,可以自动启动Master虚拟机,与现有技术的双机冗余方案相比,本发明实现起来简单有效,无需考虑数据的一致性和复杂的集群高可用配置,非常适合于服务器虚拟化的应用场景,保障master主节点的高可用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明所提供的一种支持服务器虚拟化系统主节点高可用的方法的流程图;
图2为服务器虚拟化多层高可用模型示意图;
图3为Zero-HA方案部署示意图;
图4为本发明所提供的一种支持服务器虚拟化系统主节点高可用的装置的结构示意图。
具体实施方式
本发明的核心是提供一种支持服务器虚拟化系统主节点高可用的方法及装置,以实现保障master主节点的高可用性。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明所提供的一种支持服务器虚拟化系统主节点高可用的方法的流程图,该方法包括:
S11:将master主节点部署成为master虚拟机;
S12:周期性地启动master虚拟机,若master虚拟机发生宕机,重新启动master虚拟机。
可见,该方法针对Master/Slave架构的虚拟化系统,将Master部署成为虚拟机,同时采用高可用方案即周期性地启动Master虚拟机,一旦Master虚拟机发生故障,可以自动启动Master虚拟机,与现有技术的双机冗余方案相比,本方法实现起来简单有效,无需考虑数据的一致性和复杂的集群高可用配置,非常适合于服务器虚拟化的应用场景,保障master主节点的高可用性。
基于上述方法,进一步的,步骤S12中,周期性地启动master虚拟机的过程具体为:定义Zero-HA域,在Zero-HA域内采用守护进程周期性地尝试启动master虚拟机。
进一步的,步骤S12中,若master虚拟机发生宕机,重新启动master虚拟机的过程具体为:若master虚拟机发生宕机,在Zero-HA域内自动启动master虚拟机。
其中,利用锁机制在Zero-HA域内自动启动master虚拟机。具体的,利用锁机制通过slave从节点在Zero-HA域内自动启动master虚拟机。
详细的,本方法采用的高可用方案称为高可用方案Zero-HA,本方法针对Master/Slave架构的虚拟化系统,将Master部署成为虚拟机,同时提供一种更加基础的高可用方案Zero-HA,即周期性地启动Master虚拟机,一旦Master虚拟机发生故障,Zero-HA可以自动启动Master虚拟机,通过锁机制的配合,可以消除多实例的出现,有效辅助Zero-HA的执行。
Zero-HA为多层高可用模型提供了底层最基础的系统高可用保障,通过层层向上支撑,可以显著提升整个系统的稳定性。图2为服务器虚拟化多层高可用模型示意图。
高可用方案Zero-HA包括三个方面,一是将Master部署为虚拟机,二是定义Zero-HA域,域内守护进程周期性地尝试启动Master虚拟机,三是采用锁机制辅助Zero-HA的有效执行。
参考图3,本方案中采用了基于共享存储的锁机制,采用其他的锁机制与本过程类似。图3中三个Slave从节点A、B和C构成了一个Zero-HA域,只有域内的Slave节点参与Zero-HA方案的执行,三个计算节点连接到一个共享存储S上,作为Master虚拟机的磁盘镜像由S存储。Zero-HA域内节点的守护进程执行以下操作:
步骤1、尝试启动Master虚拟机;
步骤2、Master虚拟机尝试获取磁盘镜像锁;
其中,若获取成功,则进一步启动Master虚拟机,然后执行步骤3;
其中,若获取失败,执行步骤3;
步骤3、守护进程休眠一段时间,例如30s~60s,跳转步骤1,重复执行这个过程。
由于A、B和C三个节点上的守护进程都在周期性的执行上述过程,一旦Master虚拟机发生宕机,三个节点都有机会重新启动该虚拟机,而锁的存在避免了多实例的出现。
在Zero-HA域内采用守护进程周期性地尝试启动master虚拟机的过程包括以上步骤1至步骤3。
请参考图4,图4为本发明所提供的一种支持服务器虚拟化系统主节点高可用的装置的结构示意图,该装置用于实现上述支持服务器虚拟化系统主节点高可用的装置,该装置包括:
部署模块101,用于将master主节点部署成为master虚拟机;
启动模块102,用于周期性地启动master虚拟机,若master虚拟机发生宕机,重新启动master虚拟机。
可见,该装置针对Master/Slave架构的虚拟化系统,将Master部署成为虚拟机,同时采用高可用方案即周期性地启动Master虚拟机,一旦Master虚拟机发生故障,可以自动启动Master虚拟机,与现有技术的双机冗余方案相比,实现起来简单有效,无需考虑数据的一致性和复杂的集群高可用配置,非常适合于服务器虚拟化的应用场景,保障master主节点的高可用性。
基于上述装置,进一步的,启动模块包括:启动单元,用于定义Zero-HA域,在Zero-HA域内采用守护进程周期性地尝试启动master虚拟机;
宕机处理单元,用于若master虚拟机发生宕机,重新启动master虚拟机。
进一步的,宕机处理单元,用于若master虚拟机发生宕机,重新启动master虚拟机,包括:
宕机处理单元,用于若master虚拟机发生宕机,在Zero-HA域内自动启动master虚拟机。
进一步的,宕机处理单元,具体用于若master虚拟机发生宕机,利用锁机制在Zero-HA域内自动启动master虚拟机。
本发明主要考虑单Master/多Slave架构的服务器虚拟化系统,从多层高可用模型出发,重点提出了一种支持服务器虚拟化系统主节点高可用的方法及装置。本发明首先将Master节点部署为虚拟机,由于该虚拟机不能依赖系统的高可用方案,必须采用一种更加基础的高可用方案Zero-HA,即周期性地启动Master虚拟机,一旦Master虚拟机发生故障,Zero-HA可以自动启动Master虚拟机,为了消除多实例的影响,本发明引入了锁机制,考虑到多数服务器虚拟化系统提供了避免多实例的解决办法,Zero-HA可以复用这一机制,因而不会对系统带来太多额外的代码实现。
其中,锁机制包括zookeeper、文件系统锁等,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。
本发明与现有技术双机冗余方案相比,Zero-HA实现起来简单有效,无需考虑数据的一致性和复杂的集群高可用配置,非常适合于服务器虚拟化的应用场景。Zero-HA为多层高可用模型提供了底层最基础的系统高可用保障,通过层层向上支撑,可以显著提升整个系统的稳定性。
以上对本发明所提供的一种支持服务器虚拟化系统主节点高可用的方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种支持服务器虚拟化系统主节点高可用的方法,其特征在于,包括:
将master主节点部署成为master虚拟机;
周期性地启动master虚拟机,若master虚拟机发生宕机,重新启动master虚拟机。
2.如权利要求1所述的方法,其特征在于,所述周期性地启动master虚拟机,包括:
定义Zero-HA域,在Zero-HA域内采用守护进程周期性地尝试启动master虚拟机。
3.如权利要求2所述的方法,其特征在于,所述若master虚拟机发生宕机,重新启动master虚拟机,包括:
若master虚拟机发生宕机,在Zero-HA域内自动启动master虚拟机。
4.如权利要求3所述的方法,其特征在于,利用锁机制在Zero-HA域内自动启动master虚拟机。
5.一种支持服务器虚拟化系统主节点高可用的装置,其特征在于,用于实现如权利要求1至4中任意一项所述的方法,包括:
部署模块,用于将master主节点部署成为master虚拟机;
启动模块,用于周期性地启动master虚拟机,若master虚拟机发生宕机,重新启动master虚拟机。
6.如权利要求5所述的装置,其特征在于,所述启动模块包括:
启动单元,用于定义Zero-HA域,在Zero-HA域内采用守护进程周期性地尝试启动master虚拟机;
宕机处理单元,用于若master虚拟机发生宕机,重新启动master虚拟机。
7.如权利要求6所述的装置,其特征在于,所述宕机处理单元,用于若master虚拟机发生宕机,重新启动master虚拟机,包括:
宕机处理单元,用于若master虚拟机发生宕机,在Zero-HA域内自动启动master虚拟机。
8.如权利要求7所述的装置,其特征在于,所述宕机处理单元,具体用于若master虚拟机发生宕机,利用锁机制在Zero-HA域内自动启动master虚拟机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710050338.1A CN106789350A (zh) | 2017-01-23 | 2017-01-23 | 一种支持服务器虚拟化系统主节点高可用的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710050338.1A CN106789350A (zh) | 2017-01-23 | 2017-01-23 | 一种支持服务器虚拟化系统主节点高可用的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106789350A true CN106789350A (zh) | 2017-05-31 |
Family
ID=58941711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710050338.1A Pending CN106789350A (zh) | 2017-01-23 | 2017-01-23 | 一种支持服务器虚拟化系统主节点高可用的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106789350A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391224A (zh) * | 2017-06-09 | 2017-11-24 | 华为技术有限公司 | 一种虚拟卷的创建方法、挂载方法及装置 |
CN110166279A (zh) * | 2019-04-09 | 2019-08-23 | 中南大学 | 一种非结构化云数据管理系统的动态布局方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331950A (zh) * | 2011-09-15 | 2012-01-25 | 北京安天电子设备有限公司 | 基于Linux定时任务的守护进程实现方法和系统 |
CN102355369A (zh) * | 2011-09-27 | 2012-02-15 | 华为技术有限公司 | 虚拟化集群系统及其处理方法和设备 |
CN103279386A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种计算机作业调度系统高可用的方法 |
CN103457775A (zh) * | 2013-09-05 | 2013-12-18 | 中国科学院软件研究所 | 一种基于角色的高可用虚拟机池化管理系统 |
CN103716182A (zh) * | 2013-12-12 | 2014-04-09 | 中国科学院信息工程研究所 | 一种面向实时云平台的故障检测与容错方法及系统 |
-
2017
- 2017-01-23 CN CN201710050338.1A patent/CN106789350A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331950A (zh) * | 2011-09-15 | 2012-01-25 | 北京安天电子设备有限公司 | 基于Linux定时任务的守护进程实现方法和系统 |
CN102355369A (zh) * | 2011-09-27 | 2012-02-15 | 华为技术有限公司 | 虚拟化集群系统及其处理方法和设备 |
CN103279386A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种计算机作业调度系统高可用的方法 |
CN103457775A (zh) * | 2013-09-05 | 2013-12-18 | 中国科学院软件研究所 | 一种基于角色的高可用虚拟机池化管理系统 |
CN103716182A (zh) * | 2013-12-12 | 2014-04-09 | 中国科学院信息工程研究所 | 一种面向实时云平台的故障检测与容错方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391224A (zh) * | 2017-06-09 | 2017-11-24 | 华为技术有限公司 | 一种虚拟卷的创建方法、挂载方法及装置 |
CN110166279A (zh) * | 2019-04-09 | 2019-08-23 | 中南大学 | 一种非结构化云数据管理系统的动态布局方法 |
CN110166279B (zh) * | 2019-04-09 | 2021-05-18 | 中南大学 | 一种非结构化云数据管理系统的动态布局方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10050850B2 (en) | Rack awareness data storage in a cluster of host computing devices | |
US11714671B2 (en) | Creating virtual machine groups based on request | |
Wood et al. | CloudNet: dynamic pooling of cloud resources by live WAN migration of virtual machines | |
EP3588296A1 (en) | Dynamically scaled hyperconverged system | |
CN103064742B (zh) | 一种hadoop集群的自动部署系统及方法 | |
US9348646B1 (en) | Reboot-initiated virtual machine instance migration | |
US20160196158A1 (en) | Live migration of virtual machines across virtual switches in virtual infrastructure | |
US20160350157A1 (en) | Dynamic thread pool management | |
US20150142956A1 (en) | Maintaining virtual machines for cloud-based operators in a streaming application in a ready state | |
US20130036213A1 (en) | Virtual private clouds | |
CN108369529B (zh) | 通过反关联规则为实例分配主机 | |
US9678984B2 (en) | File access for applications deployed in a cloud environment | |
WO2012000809A1 (en) | Streaming virtual machine boot services over a network | |
WO2014026524A1 (zh) | 一种分配资源的方法及装置 | |
US9735984B2 (en) | Bursting cloud resources to affect state change performance | |
JP2019144717A (ja) | サービス提供システム、資源割り当て方法、及び資源割り当てプログラム | |
KR20150109692A (ko) | 가상 머신 이미지 파일을 제공하는 방법 및 그 장치 | |
WO2017049997A1 (zh) | 一种基于云计算服务的虚拟机监控方法、装置及系统 | |
CN102833310A (zh) | 一种基于虚拟化技术的工作流引擎集群系统 | |
US10671438B2 (en) | Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex | |
CN102546839B (zh) | 面向大规模网络的高效、可靠的软件分发方法 | |
CN104239120A (zh) | 一种虚拟机的状态信息同步的方法、装置及系统 | |
WO2017107483A1 (zh) | 一种虚拟化网管文件下载负载均衡的方法及网管服务器 | |
CN106789350A (zh) | 一种支持服务器虚拟化系统主节点高可用的方法及装置 | |
Cogo et al. | FITCH: supporting adaptive replicated services in the cloud |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |
|
RJ01 | Rejection of invention patent application after publication |