CN106484495A - 一种虚拟机磁盘数据块同步方法 - Google Patents

一种虚拟机磁盘数据块同步方法 Download PDF

Info

Publication number
CN106484495A
CN106484495A CN201610898037.XA CN201610898037A CN106484495A CN 106484495 A CN106484495 A CN 106484495A CN 201610898037 A CN201610898037 A CN 201610898037A CN 106484495 A CN106484495 A CN 106484495A
Authority
CN
China
Prior art keywords
virtual machine
synchronization
module
primary
magnetic disk
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.)
Withdrawn
Application number
CN201610898037.XA
Other languages
English (en)
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.)
Shanghai Hong Ji Mdt Infotech Ltd
Original Assignee
Shanghai Hong Ji Mdt Infotech Ltd
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 Shanghai Hong Ji Mdt Infotech Ltd filed Critical Shanghai Hong Ji Mdt Infotech Ltd
Priority to CN201610898037.XA priority Critical patent/CN106484495A/zh
Publication of CN106484495A publication Critical patent/CN106484495A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/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/45583Memory management, e.g. access or allocation

Abstract

本发明公开了一种虚拟机磁盘数据块同步方法,包括如下具体步骤:虚拟机被定义为高可用模式时,虚拟化管理平台会在不同主机上生成两个配置完全一致的虚拟机,其中一台为primary,一台为secondary;虚拟机在启动过程中,标识为primary的虚拟机处于running状态,标识为secondary的虚拟机处于paused状态,等待数据同步;心跳系统网络侦测隶属在不同主机上的虚拟机运行状态,若primary失效,通知虚拟化管理平台及时将primary降级为secondary,并启用secondary为primary继续对外提供服务;本发明具有如下优点:仅须修改虚拟化(Hypervisor)平台的block层;能够支持所有虚拟化(Hypervisor)平台支持的操作系统。

Description

一种虚拟机磁盘数据块同步方法
技术领域
本发明属于计算机技术领域,更具体地说,尤其涉及一种虚拟机磁盘数据块同步方法。
背景技术
随着基于标准x86平台的虚拟化应用广泛普及,对于虚拟化的高可用(HA)方案的需求强烈,当前主流的解决方案是基于传统的共享存储方案而来,如采用存储区域网络(SAN)、网络附加存储(NAS)、分布式文件存储系统等。然而对于中小企业或一般性能要求的关键应用场合,这种方案存在明显不足。具体问题如下:
1.SAN/NAS存储系统成本太高、关键设备如光纤交换机、HBA板卡完全依赖进口。系统安装调试与日常维护复杂。
2.分布式文件系统从概念逻辑上就非常复杂,不同的分布式文件系统概念、算法、架构都有所不同,仅有少数的专业技术人才才能掌握;优点是扩展非常容易,成本低,适合互联网领域、大型企业、政府等大规模数据中心等应用场合。缺点系统结构复杂、物理部署拓扑结构复杂、需要更多的主机、交换机、专用网络。系统异常难以排查,维护工程师要求非常专业,由于开源的分布式存储软件系统达不到商业应用的稳定性,因此需要一定的定制开发才能满足企业需求,不适合中小企业关键应用场合。
基于当前市场上常见的共享存储系统和分布式存储系统的应用局限性,本发明提供一种基于虚拟化(Hypervisor)平台的虚拟机磁盘数据块同步方法(简称“虚拟数据块同步vBlockSync”),特别适合于中小企业的关键应用场合。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种虚拟机磁盘数据块同步方法。
为实现上述目的,本发明提供如下技术方案:
一种虚拟机磁盘数据块同步方法,包括如下具体步骤:
S1、虚拟机被定义为高可用模式时,虚拟化管理平台会在不同主机上生成两个配置完全一致的虚拟机,其中一台为primary,一台为secondary;虚拟机在启动过程中,标识为primary的虚拟机处于running状态,标识为secondary的虚拟机处于paused状态,等待数据同步;
S2、心跳系统网络侦测隶属在不同主机上的虚拟机运行状态,若primary失效,通知虚拟化管理平台及时将primary降级为secondary,并启用secondary为primary继续对外提供服务;
S3、虚拟化管理平台启动虚拟机时,首先运行SyncSuit同步组件,SyncSuit同步组件在虚拟机整个运行周期中处于运行状态。
S4、经过SyncSuit同步组件的静态同步模块、delta同步模块、动态同步模块同步后,虚拟化磁盘数据完全一致。
优选的,所述SyncSuit同步组件,包括:
组件初始化层,负责设置SyncSuit同步组件的初始化所需参数设置、缓存区建立、初始化各功能模块,若虚拟机为Primary,则建立tcp侦听端口,若为secondary则建立到Primary的同步tcp链接;
同步策略层,根据secondary虚拟机的虚拟化磁盘状态调用不同的功能模块执行对应同步功能模块;
功能模块层,所述功能模块层包括静态同步模块、delta同步模块、动态同步模块、读同步模块;
网络传输层,负责数据的网络传输,同时提中断检测、中断重连,使用tcp协议。
优选的,所述静态同步模块在虚拟机启动前,基于虚拟机配置文件,使用rsync同步所有虚拟化磁盘,同步虚拟化磁盘时rsync软件需要启用checksum参数检查。
优选的,所述delta同步模块在模块初始时为每个虚拟化磁盘生成bitmap数据文件,每个bit表示512Byte磁盘块,初始所有bit位值为’0’,若有’write’操作则置’1’;考虑效率问题,建议支持单块虚拟化磁盘容量不超过2T。
优选的,所述动态同步模块为primary虚拟机在写数据到磁盘时,Hypervisor同步插件先将数据块写入本地并更新bitmap文件数据,再发送给secondary虚拟机;若secondary写入失败,则意味着磁盘数据不一致,同步策略层须执行delta同步模块。
优选的,所述读同步模块:primary在读磁盘数据时,SyncSuit同步组件先读取primary数据并生成checksum,SyncSuit同步插件获取secondary的对应数据块的checksum,若不匹配,则需要执行静态同步模块后再执行动态同步模块。
本发明的技术效果和优点:本发明具有如下优点:
1、仅须修改虚拟化(Hypervisor)平台的block层;
2、能够支持所有虚拟化(Hypervisor)平台支持的操作系统;
3、配置、维护简单。
本发明须修改Hypervisor(qemu)的Block层,加入SyncSuit同步组件;本发明须使用开源的rsync软件(配置为daemon模式)作为静态虚拟化磁盘同步工具。
附图说明
图1为本发明的虚拟化管理平台拓扑结构图;
图2为本发明的SyncSuit同步组件架构图;
图3为本发明的静态磁盘同步流程图;
图4为本发明的虚拟化磁盘的bitmap图
图5为本发明的动态同步流程图;
图6为本发明的delta同步流程图;
图7为本发明的读同步流程图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供如图1所示的一种虚拟机磁盘数据块同步方法,包括如下具体步骤:
S1、虚拟机被定义为高可用模式时,虚拟化管理平台会在不同主机上生成两个配置完全一致的虚拟机,其中一台为primary,一台为secondary;虚拟机在启动过程中,标识为primary的虚拟机处于running状态,标识为secondary的虚拟机处于paused状态,等待数据同步;
S2、心跳系统网络侦测隶属在不同主机上的虚拟机运行状态,若primary失效,通知虚拟化管理平台及时将primary降级为secondary,并启用secondary为primary继续对外提供服务;
S3、虚拟化管理平台启动虚拟机时,首先运行SyncSuit同步组件,SyncSuit同步组件在虚拟机整个运行周期中处于运行状态。
S4、经过SyncSuit同步组件的静态同步模块、delta同步模块、动态同步模块同步后,虚拟化磁盘数据完全一致。
本发明提供如图2所示的同步组件架构图,所述SyncSuit同步组件包括:
组件初始化层,负责设置SyncSuit同步组件的初始化所需参数设置、缓存区建立、初始化各功能模块,若虚拟机为Primary,则建立tcp侦听端口,若为secondary则建立到Primary的同步tcp链接;
同步策略层,根据secondary虚拟机的虚拟化磁盘状态调用不同的功能模块执行对应同步功能模块;
功能模块层,所述功能模块层包括静态同步模块、delta同步模块、动态同步模块、读同步模块;
网络传输层,负责数据的网络传输,同时提供中断检测、中断重连,使用tcp协议。
如图3所示,所述静态同步模块在虚拟机启动前,基于虚拟机配置文件,使用rsync同步所有虚拟化磁盘,同步虚拟化磁盘时rsync软件需要启用checksum参数检查。
如图4-5所示,所述delta同步模块在模块初始时为每个虚拟化磁盘生成bitmap数据文件,每个bit表示512Byte磁盘块,初始所有bit位值为’0’,若有’write’操作则置’1’;考虑效率问题,建议支持单块虚拟化磁盘容量不超过2T。
Bitmap数据文件格式说明如表1所示
表1为字段说明
1)在secondary计算机节点掉线或者宕机、崩溃后重新上线,加入primary/secondary模式时,比对bitmap文件,若bitmap文件为同一次运行,则虚拟机仅同步primary/secondary的bitmap对应磁盘数据块的差异部分,而无需同步全盘。
2)若secondary同步时bitmap与primary不是同一次运行;
(1)重置bitmap。
(2)执行静态同步模块。
(3)同步bitmap的对应的数据。
如图6所示,所述动态同步模块为primary虚拟机在写数据到磁盘时,Hypervisor同步插件先将数据块写入本地并更新bitmap文件数据,再发送给secondary虚拟机;若secondary写入失败,则意味着磁盘数据不一致,同步策略层须执行delta同步模块。
如图7所示,所述读同步模块:primary在读磁盘数据时,SyncSuit同步组件先读取primary数据并生成checksum,SyncSuit同步插件获取secondary的对应数据块的checksum,若不匹配,则需要执行静态同步模块后再执行动态同步模块。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种虚拟机磁盘数据块同步方法,其特征在于,包括如下具体步骤:
S1、虚拟机被定义为高可用模式时,虚拟化管理平台会在不同主机上生成两个配置完全一致的虚拟机,其中一台为primary,一台为secondary;虚拟机在启动过程中,标识为primary的虚拟机处于running状态,标识为secondary的虚拟机处于paused状态,等待数据同步;
S2、心跳系统网络侦测隶属在不同主机上的虚拟机运行状态,若primary失效,通知虚拟化管理平台及时将primary降级为secondary,并启用secondary为primary继续对外提供服务;
S3、虚拟化管理平台启动虚拟机时,首先运行SyncSuit同步组件,SyncSuit同步组件在虚拟机整个运行周期中处于运行状态;
S4、经过SyncSuit同步组件的静态同步模块、delta同步模块、动态同步模块同步后,虚拟化磁盘数据完全一致。
2.根据权利要求1所述的一种虚拟机磁盘数据块同步方法,其特征在于:
所述SyncSuit同步组件,包括:
组件初始化层,负责设置SyncSuit同步组件的初始化所需参数设置、缓存区建立、初始化各功能模块,若虚拟机为Primary,则建立tcp侦听端口,若为secondary则建立到Primary的同步tcp链接;
同步策略层,根据secondary虚拟机的虚拟化磁盘状态调用不同的功能模块执行对应同步功能模块;
功能模块层,所述功能模块层包括静态同步模块、delta同步模块、动态同步模块、读同步模块;
网络传输层,负责数据的网络传输,同时提供中断检测、中断重连,使用tcp协议。
3.根据权利要求2所述的一种虚拟机磁盘数据块同步方法,其特征在于:所述静态同步模块在虚拟机启动前,基于虚拟机配置文件,使用rsync同步所有虚拟化磁盘,同步虚拟化磁盘时rsync软件需要启用checksum参数检查。
4.根据权利要求2所述的一种虚拟机磁盘数据块同步方法,其特征在于:所述delta同步模块在模块初始时为每个虚拟化磁盘生成bitmap数据文件,每个bit表示512Byte磁盘块,初始所有bit位值为’0’,若有’write’操作则置’1’。
5.根据权利要求2所述的一种虚拟机磁盘数据块同步方法,其特征在于:所述动态同步模块为primary虚拟机在写数据到磁盘时,Hypervisor同步插件先将数据块写入本地并更新bitmap文件数据,再发送给secondary虚拟机;若secondary写入失败,则意味着磁盘数据不一致,同步策略层须执行delta同步模块。
6.根据权利要求2所述的一种虚拟机磁盘数据块同步方法,其特征在于:所述读同步模块:primary在读磁盘数据时,SyncSuit同步组件先读取primary数据并生成checksum,SyncSuit同步插件获取secondary的对应数据块的checksum,若不匹配,则需要执行静态同步模块后再执行动态同步模块。
CN201610898037.XA 2016-10-14 2016-10-14 一种虚拟机磁盘数据块同步方法 Withdrawn CN106484495A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610898037.XA CN106484495A (zh) 2016-10-14 2016-10-14 一种虚拟机磁盘数据块同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610898037.XA CN106484495A (zh) 2016-10-14 2016-10-14 一种虚拟机磁盘数据块同步方法

Publications (1)

Publication Number Publication Date
CN106484495A true CN106484495A (zh) 2017-03-08

Family

ID=58270819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610898037.XA Withdrawn CN106484495A (zh) 2016-10-14 2016-10-14 一种虚拟机磁盘数据块同步方法

Country Status (1)

Country Link
CN (1) CN106484495A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157395A (zh) * 2021-04-20 2021-07-23 上海泓戟信息科技有限公司 一种优化计算机内存数据同步的方法
CN113434341A (zh) * 2021-07-01 2021-09-24 北京东土科技股份有限公司 一种实现冗余虚拟plc的方法、装置、设备及存储介质
CN113741248A (zh) * 2021-08-13 2021-12-03 北京和利时系统工程有限公司 一种边缘计算控制器和控制系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157395A (zh) * 2021-04-20 2021-07-23 上海泓戟信息科技有限公司 一种优化计算机内存数据同步的方法
CN113434341A (zh) * 2021-07-01 2021-09-24 北京东土科技股份有限公司 一种实现冗余虚拟plc的方法、装置、设备及存储介质
CN113434341B (zh) * 2021-07-01 2023-02-17 北京东土科技股份有限公司 一种实现冗余虚拟plc的方法、装置、设备及存储介质
CN113741248A (zh) * 2021-08-13 2021-12-03 北京和利时系统工程有限公司 一种边缘计算控制器和控制系统

Similar Documents

Publication Publication Date Title
US11595252B2 (en) Composable edge device platforms
EP3287906B1 (en) Method, system, and apparatus for cloud application redundancy
US8910172B2 (en) Application resource switchover systems and methods
US8874954B1 (en) Compatibility of high availability clusters supporting application failover with shared storage in a virtualization environment without sacrificing on virtualization features
US8539087B2 (en) System and method to define, visualize and manage a composite service group in a high-availability disaster recovery environment
CN106850260A (zh) 一种虚拟化资源管理平台的部署方法和装置
WO2012109876A1 (zh) 虚拟化数据备份方法、虚拟化数据重组方法、装置及系统
CN106484495A (zh) 一种虚拟机磁盘数据块同步方法
WO2020233001A1 (zh) 双控构架分布式存储系统、数据读取方法、装置和存储介质
CN106612314A (zh) 基于虚拟机实现软件定义存储的系统
CN103856502A (zh) 实现虚拟机镜像文件热迁移的方法和nas集群系统
CN103019847A (zh) 对虚拟机数据进行迁移的方法及系统
CN112073499A (zh) 一种多机型云物理服务器的动态服务方法
CN108959547A (zh) 一种pv快照分布式数据库集群恢复方法
Ahmed Mastering Proxmox: Build virtualized environments using the Proxmox VE hypervisor
CN112328368B (zh) 一种基于云平台的应用层存储方法及设备
US20140047083A1 (en) Administration information generation method, administration information generation program, and administration information generation device
WO2016197749A1 (zh) 链路堆叠方法、装置及跨机框流量转发方法、装置
CN103197992B (zh) GlusterFS脑裂的自动化恢复方法
US9143410B1 (en) Techniques for monitoring guest domains configured with alternate I/O domains
CN111240895A (zh) 一种面向OpenStack的节点批量备份系统的方法
Salapura et al. Enabling enterprise-level workloads in the enterprise-class cloud
JP7010986B2 (ja) ネットワーク管理システム、ネットワーク管理装置、およびネットワーク管理方法
CN105162873A (zh) 一种k1服务器的高可用方法及系统
WO2022216752A1 (en) Composable edge device platforms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20170308