CN109164988A - 基于处理器的虚拟机快照方法和系统 - Google Patents

基于处理器的虚拟机快照方法和系统 Download PDF

Info

Publication number
CN109164988A
CN109164988A CN201811002694.7A CN201811002694A CN109164988A CN 109164988 A CN109164988 A CN 109164988A CN 201811002694 A CN201811002694 A CN 201811002694A CN 109164988 A CN109164988 A CN 109164988A
Authority
CN
China
Prior art keywords
data
virtual machine
snapshot
image file
processor
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
Application number
CN201811002694.7A
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 Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201811002694.7A priority Critical patent/CN109164988A/zh
Publication of CN109164988A publication Critical patent/CN109164988A/zh
Pending 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • 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/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于处理器的虚拟机快照方法和系统,构建数据结构,所述数据结构存储虚拟磁盘的镜像文件;根据数据结构存储的镜像文件设计虚拟磁盘读写;根据数据结构存储的镜像文件进行快照创建、快照还原。对镜像文件进行文件格式转换,整理镜像文件的备份。实现申威虚拟机的快照创建及还原、备份,设计虚拟硬盘镜像的swimg数据格式,为后续的数据压缩研究和申威虚拟机新需求的框架研究提供支持;设计并开发swimg‑tools辅助工具,促使swimg格式镜像的申威虚拟机能够应用与云计算平台。

Description

基于处理器的虚拟机快照方法和系统
技术领域
本发明涉及处理器虚拟机技术,具体地,涉及一种基于处理器的虚拟机快照方法和系统,尤其是涉及一种基于国产申威处理器的虚拟机快照方法和系统。
背景技术
目前,基于国产申威处理器架构的服务器和计算机相关技术和产品已经趋向于成熟并且开始应用于各个领域。国产申威处理器以及应用国产申威处理器的相关服务器等产品作为国家自主研发的处理器和服务器设备,在我国云计算的相关领域具有广阔的前景。虚拟化技术是实现云计算平台的核心技术,其中包含的资源调度,共享和隔离功能是实现虚拟化的关键。对于一个虚拟机而言,能够按照用户的需求实时的备份虚拟机的状态,进行状态保存和还原,不仅仅是云平台对于虚拟机功能需求的重点,也是虚拟机共享和虚拟机迁移功能的关键技术基础。现有的基于x86架构的商业化的云平台中,虚拟机的快照备份和还原也是必不可少的功能之一。
然而,现有的基于国产申威处理器架构的虚拟化解决方法(以下简称申威虚拟机)中虚拟磁盘相关格式中主要采用的是raw格式对磁盘映像文件进行储存和管理。raw格式镜像核心思路是通过尽量简单甚至于不加对于磁盘映像的额外信息的存储来保证虚拟硬盘实现的简单性和效率。虽然raw格式的虚拟硬盘的效率相对高,但是基于raw格式虚拟硬盘的虚拟化方法并不能满足对于一些复杂的,需要管理和支持的硬盘功能,例如宿主机物理硬盘空间的增量占据,现有的raw镜像会直接按照虚拟磁盘的设定容量直接将相应的物理磁盘空间预分配,快照和备份功能的支持,磁盘加密等功能的需求。而这些需求是申威虚拟机在云计算方面进行应用的关键技术保障。
对于基于x86的虚拟机实现来说,现有的虚拟硬盘实现方式为采用Qcow(Qemucopy on write)镜像格式的方式对快照,备份,压缩等功能进行支持。Qcow格式通过将虚拟硬盘数据和镜像输出分别存储在相应的数据簇(cluster)中的方式,通过根据地址的二级索引对虚拟硬盘数据进行管理,通过增量镜像和写时拷贝等方式保证了镜像文件格式的一致性和数据的正确性,进行了对于快照和备份压缩等功能的数据格式方面的支持。然而由于处理器架构不同,直接将Qcow镜像及其一系列工具应用在申威虚拟机上并不现实。尽管如此,其设计是虚拟机快照和备份等功能的一套相对成熟的解决方案。而对于申威虚拟机来说,实现快照和镜像功能的核心问题也在于设计并实现一套虚拟硬盘的数据格式,配套的虚拟硬盘操作方法和工具以及相应的功能机制。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于处理器的虚拟机快照方法和系统。
根据本发明提供的一种基于处理器的虚拟机快照方法,包括以下步骤:创建镜像数据格式步骤:构建数据结构,所述数据结构存储虚拟磁盘的镜像文件;磁盘镜像读写步骤:根据数据结构存储的镜像文件确定虚拟磁盘读写方式;快照创建还原步骤:根据数据结构存储的镜像文件进行快照创建、快照还原。
优选地,所述基于处理器的虚拟机快照方法还包括转换镜像文件格式步骤;转换镜像文件格式步骤:对镜像文件进行文件格式转换,整理镜像文件的备份。
优选地,所述数据结构主要包括:头文件部分:头文件主要存储镜像文件的格式标识符、加密方式、数据量、数据簇管理信息,用于初始化虚拟机虚拟磁盘;索引表及数据簇部分:索引及数据簇主要存储一级索引表、二级索引表、虚拟磁盘中的存储数据,用于虚拟磁盘读写操作;数据簇引用表部分:数据簇引用表主要存储数据簇引用数据块、数据簇引用管理记录,用于写时复制机制;镜像快照部分:镜像快照以快照表形式存储,主要存储虚拟机的快照创建信息、快照数据信息,用于虚拟机快照还原。
优选地,所述初始化虚拟机虚拟磁盘是虚拟机装载虚拟磁盘时,通过分析头文件获得虚拟磁盘的容量信息、存储地址,通过识别头文件的格式标识符调用与格式标识符相匹配的解析方式。
优选地,所述虚拟磁盘读写是将从虚拟机层面识别对于磁盘数据的读写指令地址,将所述读写指令地址转换为镜像文件中的数据偏移量,对虚拟机磁盘数据进行读写操作。
优选地,所述写时复制机制是通过数据簇的存储位置在数据簇引用表中查询引用计数,若引用计数大于1,则将数据簇的所有数据复制到新建数据簇中,更新数据索引,完成数据复制之后再继续写操作。
优选地,所述虚拟机快照创建是通过虚拟机管理软件记录创建时的虚拟机状态、虚拟硬盘信息,按照数据格式生成快照信息,将所述快照信息写入镜像文件中并备份存储快照创建时的虚拟磁盘的全部数据;所述快照还原是读取快照创建时存储的一级索引表,将当前的数据索引表更新为所述一级索引表的读取值,根据更新后的数据索引表进行索引获得数据簇引用值。
优选地,所述数据偏移量作为参数被寄存器发送给虚拟机管理软件,虚拟机管理软件根据数据簇的位数将数据偏移量进行分级存储,所述分级存储包括簇内偏移量、二级索引表的数据偏移量、一级索引表的数据偏移量。
根据本发明提供的一种基于处理器的虚拟机快照系统,包括以下模块:创建镜像数据格式模块:构建数据结构,所述数据结构存储虚拟磁盘的镜像文件;磁盘镜像读写模块:根据数据结构存储的镜像文件确定虚拟磁盘读写方式;快照创建还原模块:根据数据结构存储的镜像文件进行快照创建、快照还原。
优选地,所述基于处理器的虚拟机快照系统还包括转换镜像文件格式模块;转换镜像文件格式模块:对镜像文件进行文件格式转换,整理镜像文件的备份。
与现有技术相比,本发明具有如下的有益效果:
1、实现申威虚拟机的快照创建及还原、备份,设计虚拟硬盘镜像的swimg数据格式,为后续的数据压缩研究和申威虚拟机的新需求的框架研究提供支持;
2、设计并开发swimg-tools辅助工具,促使swimg格式镜像的申威虚拟机能够应用与云计算平台。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的系统构造示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种基于处理器的虚拟机快照方法,包括以下步骤:创建镜像数据格式步骤:构建数据结构,所述数据结构存储虚拟磁盘的镜像文件;磁盘镜像读写步骤:根据数据结构存储的镜像文件确定虚拟磁盘读写方式;快照创建还原步骤:根据数据结构存储的镜像文件进行快照创建、快照还原。
具体地,所述基于处理器的虚拟机快照方法还包括转换镜像文件格式步骤;转换镜像文件格式步骤:对镜像文件进行文件格式转换,整理镜像文件的备份。
具体地,所述数据结构主要包括:头文件部分:头文件主要存储镜像文件的格式标识符、加密方式、数据量、数据簇管理信息,用于初始化虚拟机虚拟磁盘;索引表及数据簇部分:索引及数据簇主要存储一级索引表、二级索引表、虚拟磁盘中的存储数据,用于虚拟磁盘读写操作;数据簇引用表部分:数据簇引用表主要存储数据簇引用数据块、数据簇引用管理记录,用于写时复制机制;镜像快照部分:镜像快照以快照表形式存储,主要存储虚拟机的快照创建信息、快照数据信息,用于虚拟机快照还原。
具体地,所述初始化虚拟机虚拟磁盘是虚拟机装载虚拟磁盘时,通过分析头文件获得虚拟磁盘的容量信息、存储地址,通过识别头文件的格式标识符调用与格式标识符相匹配的解析方式。
具体地,所述虚拟磁盘读写是将从虚拟机层面识别对于磁盘数据的读写指令地址,将所述读写指令地址转换为镜像文件中的数据偏移量,对虚拟机磁盘数据进行读写操作。
具体地,所述写时复制机制是通过数据簇的存储位置在数据簇引用表中查询引用计数,若引用计数大于1,则将数据簇的所有数据复制到新建数据簇中,更新数据索引,完成数据复制之后再继续写操作。
具体地,所述虚拟机快照创建是通过虚拟机管理软件记录创建时的虚拟机状态、虚拟硬盘信息,按照数据格式生成快照信息,将所述快照信息写入镜像文件中并备份存储快照创建时的虚拟磁盘的全部数据;所述快照还原是读取快照创建时存储的一级索引表,将当前的数据索引表更新为所述一级索引表的读取值,根据更新后的数据索引表进行索引获得数据簇引用值。
具体地,所述数据偏移量作为参数被寄存器发送给虚拟机管理软件,虚拟机管理软件根据数据簇的位数将数据偏移量进行分级存储,所述分级存储包括簇内偏移量、二级索引表的数据偏移量、一级索引表的数据偏移量。
根据本发明提供的一种基于处理器的虚拟机快照系统,包括以下模块:创建镜像数据格式模块:构建数据结构,所述数据结构存储虚拟磁盘的镜像文件;磁盘镜像读写模块:根据数据结构存储的镜像文件确定虚拟磁盘读写方式;快照创建还原模块:根据数据结构存储的镜像文件进行快照创建、快照还原。
具体地,所述基于处理器的虚拟机快照系统还包括转换镜像文件格式模块;转换镜像文件格式模块:对镜像文件进行文件格式转换,整理镜像文件的备份。
本发明提供的基于处理器的虚拟机快照系统,可以通过基于处理器的虚拟机快照方法的步骤流程实现。本领域技术人员可以将基于处理器的虚拟机快照方法理解为所述基于处理器的虚拟机快照系统的优选例。
有鉴于此,我们设计并实现了应用于申威虚拟机的虚拟硬盘的镜像格式(以下简称swimg)设计和实现。以及配套的辅助工具swimg-tools和具体的快照实现方法,从而打通申威虚拟机应用于云平台的关键技术障碍。
表一 swimg数据结构的格式表
swimg的格式如表一所示。swimg主要由四部分机制构成:第一部分是由文件的第一个数据簇构成的对于整个镜像文件的现有数据量,信息存储位置,数据簇大小等信息的头文件(header)部分。这部分存储了整个镜像文件的格式,加密方式,数据量等信息。在申威虚拟机装载虚拟硬盘时,通过对于第一个数据簇的头文件进行分析来得到当前虚拟硬盘的容量等相关信息。头文件包括一个用以识别数据格式的标识符,使得申威虚拟机可以正确的对文件格式进行识别并且调用相关的处理方法。头文件中还包括一级索引表的储存地址,数据簇引用表的储存地址,快照表的储存地址以及其他的例如数据簇大小,虚拟磁盘大小,压缩方式等相关信息。申威虚拟机通过对于swimg镜像头文件的读写,得到其他部分的相关地址信息和整个虚拟磁盘的信息,从而初始化虚拟机的虚拟硬盘。该部分设计与已有的qcow2数据格式不同的是,swimg在头文件中额外存储了一些用以管理数据簇的相关数据信息,对创建新数据簇等情景时的性能表现进行了提升;第二部分是由一级索引表和二级索引表以及虚拟机的虚拟硬盘中存储的数据构成的数据簇部分。该部分主要负责将从虚拟机层面对于硬盘数据的读写指令的地址识别并转换为对应的镜像文件中的数据偏移量,从而正确的对虚拟机硬盘数据进行读写操作。该部分的数据结构及其实现主要服务于申威虚拟机的虚拟硬盘读写的相关接口。在发生虚拟硬盘读写请求时,虚拟机硬盘偏移量作为参数被通过硬件模式相关的寄存器发送给申威虚拟机管理软件的相关处理程序。对于一个64位的虚拟机硬盘偏移量,根据数据簇的位数(cluster_bits)会被分成三部分进行索引。具体技术细节如下:地址的cluster_bits-1到0位的数据存放在同一个数据簇中,被作为一个簇内偏移量进行储存;地址的第cluster_bits+cluster_bits-3位到第cluster_bits位作为二级索引表的数据偏移量,指向数据簇在swimg镜像文件内偏移量的64位地址信息存放在二级索引表的簇内该偏移量位置;地址的其余位作为一级索引表的数据偏移量,在相应偏移量地址的一级数据表中存放了对应的二级索引表的镜像文件内偏移量。在虚拟机硬盘偏移量被获得后,会按照分成的三部分,首先在头文件记录的一级索引表的相应位置中读取二级索引表的镜像偏移量地址。然后在获得的二级索引表的数据簇中,根据二级索引表的簇内偏移量获得相应的数据簇的镜像偏移量地址。最后,在镜像文件中根据数据簇的镜像偏移量读取虚拟机需要读写的数据簇,在对需要操作的数据进行相应的操作,从而实现了替代raw镜像格式的基于二级数据索引方式的数据读写功能。虽然基于二级数据索引方式的数据读写相对于raw镜像格式的直接按照偏移量进行数据读写会带来一定的性能损失,但是通过对于数据结构的维护,可以通过直接修改数据索引表中的地址来直接在保存原来数据簇中内容的前提下修改虚拟硬盘的整个数据簇的内容。这种特性以极小的性能代价支持了数据簇的备份和还原,使得快照和备份功能可以在申威虚拟机中实现。第三部分是由数据簇引用表,数据簇引用数据块以及对于单个数据簇的引用情况记录构成的数据簇引用管理部分。该部分记录了不同的快照和备份对于单个数据簇的引用情况。数据簇引用部分是实现写时复制(copy on write)机制从而实现快照和备份功能的关键技术部分。数据簇引用值的查找原理类似于之前提到的通过数据索引表查找虚拟硬盘数据的实现原理,所不同的是偏移量不是虚拟机的虚拟硬盘上的偏移量,而是相应的数据簇在镜像文件内的偏移量。写时复制机制的具体实现如下所述:在对某个数据簇进行写操作时(包括虚拟硬盘数据读写以及索引表的数据修改等),首先通过该数据簇存储的位置(镜像文件中的偏移量)通过数据簇引用表和数据簇引用块对于引用计数进行二级查询。如果其引用计数大于1,说明某个快照对该数据簇进行了备份引用。此时将该数据簇的所有数据复制到一个新建的数据簇中,并且更新相应的数据索引。在将内容复制到新的数据簇之后再进行写操作,即写时复制。写时复制机制的实现使得申威虚拟机的swimg格式镜像文件可以在容纳多个快照的情况下镜像对物理磁盘的占用量不成倍增加,并且保证了每个快照的数据一致性,降低了创建快照及还原快照的时间和空间成本。通过实现写时复制,使得申威虚拟机支持快照功能成为可能。第四部分是由快照表进行管理的镜像快照部分。该部分是实现快照功能的核心,存储了对于虚拟机的所有快照的创建信息以及当时的数据信息,使得虚拟机可以在任意时间点还原至任意快照点,实现满足对于申威虚拟机需求的关键功能。
在用户创建快照时,申威虚拟机管理软件记录此时的虚拟机状态和虚拟硬盘的信息,按照数据格式生成快照信息并写入镜像的镜像快照部分的数据簇。然后要进行的是将快照创建时的虚拟硬盘的全部数据进行备份存储。通过将当前虚拟硬盘镜像的一级索引表进行备份储存,并增加其相关的每个二级索引表数据簇和虚拟硬盘数据内容数据簇的数据簇引用值以标记数据簇被该快照引用以进行备份。由于写时复制机制的存在,快照创建后的虚拟硬盘数据的更新会将被引用的数据簇进行复制然后在复制后的数据簇进行更新,这样就保证了快照实时数据的不变性。在快照还原时,将快照创建后存储的一级索引表读取并作为当前的数据索引表,然后更新索引到的数据簇的数据簇引用值即可快速的将虚拟硬盘还原到快照创建时的状态。
相比较于已有的在x86架构上的qcow2镜像的快照设计,swimg的快照信息在格式上进行了一定程度的改进。通过引进类似于链表的索引模式,申威虚拟机的快照创建,查找和管理方面的性能和可用性得到了一定程度的提升。通过实现快照表部分以及之前部分提供的数据格式和数据管理机制,swimg镜像格式及相应的操作方法实现了在满足一定的性能要求的同时对申威虚拟机的快照和备份功能支持。
此外,由于swimg并非像raw一样是直接顺序存储的数据格式,对于swimg格式镜像的创建和管理也需要进行额外的设计和实现。为在宿主机内进行swimg格式虚拟机镜像的创建,管理等,我们设计并开发了相应的管理工具swimg-tools。通过按照数据格式对镜像的读写操作,swimg-tools可以创建,整理,备份swimg格式的镜像文件,并且可以支持raw格式和swimg格式的虚拟硬盘镜像文件的转换。swimg-tools工具使得swimg格式的镜像文件可以高效的应用于申威虚拟机的虚拟硬盘支持。
在具体实施例中,运行平台的系统硬件的型号是:
(1)平台:国产申威服务器
(2)CPU:SW6A 16核
(3)内存RAM:32GB
而软件系统的设置为:
(1)内核:Linux 4.4.15
(2)操作系统:Ubuntu 16.04.1
(3)客户虚拟机vCPU数量:4
(4)客户虚拟机内存:4GB
通过swimg-tools转换成swimg格式的虚拟磁盘镜像,然后swimg格式的虚拟磁盘镜像来启动申威虚拟机。虚拟机成功启动后,在申威虚拟机的使用过程中,分别创建几个相应的快照点。在一段时间的使用过后,通过swimg-tools将虚拟机回退到相应的快照点进行数据一致性和功能性的测试。通过实际应用证明,申威虚拟机的快照创建性能稳定,且数据一致性得到了保证。这证明了swimg格式的虚拟磁盘镜像成功支持了申威虚拟机的快照功能实现。
之后,通过分别对raw格式和swimg格式虚拟磁盘镜像支持的申威虚拟机的虚拟磁盘读写效率通过sysbench性能测试工具进行测试,结果如表三所示。可以看出,在对于4G大小的文件的读写测试中,基于swimg格式的虚拟磁盘镜像的顺序读写性能达到了raw格式镜像的72%,随机读写性能达到了raw格式镜像的92.5%。这证明了swimg格式的虚拟磁盘镜像可以相对高效的运用到申威虚拟机中,从而对更多复杂的功能提供支持。
表三 sysbench性能测试结果
对于申威虚拟机的快照和备份功能支持所需的虚拟硬盘镜像的swimg数据格式设计;在申威虚拟机管理软件中根据swimg数据格式设计相应的读写方法以支持虚拟磁盘读写,快照创建和还原等;设计并开发swimg-tools辅助工具对swimg格式的虚拟磁盘镜像进行创建整理备份等功能操作。实现了申威虚拟机的快照创建及还原,备份实现,以及后续为数据压缩和新的对于申威虚拟机的需求的框架提供支持。在满足新的功能需求的同时,swimg格式镜像的申威虚拟机在性能上相比于raw格式镜像也没有特别大的降低。swimg格式镜像的顺序读写效率达到了raw格式镜像的72%,随机读写效率达到了raw格式镜像的92.5%。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种基于处理器的虚拟机快照方法,其特征在于,包括以下步骤:
创建镜像数据格式步骤:构建数据结构,所述数据结构存储虚拟磁盘的镜像文件;
磁盘镜像读写步骤:根据数据结构存储的镜像文件确定虚拟磁盘读写方式;
快照创建还原步骤:根据数据结构存储的镜像文件进行快照创建、快照还原。
2.根据权利要求1所述的基于处理器的虚拟机快照方法,其特征在于,还包括转换镜像文件格式步骤;
转换镜像文件格式步骤:对镜像文件进行文件格式转换,整理镜像文件的备份。
3.一种基于处理器的虚拟机快照系统,其特征在于,包括以下模块:
创建镜像数据格式模块:构建数据结构,所述数据结构存储虚拟磁盘的镜像文件;
磁盘镜像读写模块:根据数据结构存储的镜像文件确定虚拟磁盘读写方式;
快照创建还原模块:根据数据结构存储的镜像文件进行快照创建、快照还原。
4.根据权利要求3所述的基于处理器的虚拟机快照系统,其特征在于,还包括转换镜像文件格式模块;
转换镜像文件格式模块:对镜像文件进行文件格式转换,整理镜像文件的备份。
5.根据权利要求1所述的基于处理器的虚拟机快照方法或者根据权利要求3所述的基于处理器的虚拟机快照系统,其特征在于,所述数据结构主要包括:
头文件部分:头文件主要存储镜像文件的格式标识符、加密方式、数据量、数据簇管理信息,用于初始化虚拟机虚拟磁盘;
索引表及数据簇部分:索引及数据簇主要存储一级索引表、二级索引表、虚拟磁盘中的存储数据,用于虚拟磁盘读写操作;
数据簇引用表部分:数据簇引用表主要存储数据簇引用数据块、数据簇引用管理记录,用于写时复制机制;
镜像快照部分:镜像快照以快照表形式存储,主要存储虚拟机的快照创建信息、快照数据信息,用于虚拟机快照还原。
6.根据权利要求5所述的基于处理器的虚拟机快照方法或者根据权利要求5所述的基于处理器的虚拟机快照系统,其特征在于,所述初始化虚拟机虚拟磁盘是虚拟机装载虚拟磁盘时,通过分析头文件获得虚拟磁盘的容量信息、存储地址,通过识别头文件的格式标识符调用与格式标识符相匹配的解析方式。
7.根据权利要求1所述的基于处理器的虚拟机快照方法或者根据权利要求3所述的基于处理器的虚拟机快照系统,其特征在于,所述虚拟磁盘读写是将从虚拟机层面识别对于磁盘数据的读写指令地址,将所述读写指令地址转换为镜像文件中的数据偏移量,对虚拟机磁盘数据进行读写操作。
8.根据权利要求5所述的基于处理器的虚拟机快照方法或者基于处理器的虚拟机快照系统,其特征在于,所述写时复制机制是通过数据簇的存储位置在数据簇引用表中查询引用计数,若引用计数大于1,则将数据簇的所有数据复制到新建数据簇中,更新数据索引,完成数据复制之后再继续写操作。
9.根据权利要求5所述的基于处理器的虚拟机快照方法或者基于处理器的虚拟机快照系统,其特征在于,所述虚拟机快照创建是通过虚拟机管理软件记录创建时的虚拟机状态、虚拟硬盘信息,按照数据格式生成快照信息,将所述快照信息写入镜像文件中并备份存储快照创建时的虚拟磁盘的全部数据;
所述快照还原是读取快照创建时存储的一级索引表,将当前的数据索引表更新为所述一级索引表的读取值,根据更新后的数据索引表进行索引获得数据簇引用值。
10.根据权利要求7所述的基于处理器的虚拟机快照方法或者基于处理器的虚拟机快照系统,其特征在于,所述数据偏移量作为参数被寄存器发送给虚拟机管理软件,虚拟机管理软件根据数据簇的位数将数据偏移量进行分级存储,所述分级存储包括簇内偏移量、二级索引表的数据偏移量、一级索引表的数据偏移量。
CN201811002694.7A 2018-08-30 2018-08-30 基于处理器的虚拟机快照方法和系统 Pending CN109164988A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811002694.7A CN109164988A (zh) 2018-08-30 2018-08-30 基于处理器的虚拟机快照方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811002694.7A CN109164988A (zh) 2018-08-30 2018-08-30 基于处理器的虚拟机快照方法和系统

Publications (1)

Publication Number Publication Date
CN109164988A true CN109164988A (zh) 2019-01-08

Family

ID=64893354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811002694.7A Pending CN109164988A (zh) 2018-08-30 2018-08-30 基于处理器的虚拟机快照方法和系统

Country Status (1)

Country Link
CN (1) CN109164988A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597102A (zh) * 2020-12-29 2021-04-02 武汉噢易云计算股份有限公司 一种高效的镜像文件系统实现方法
CN114296649A (zh) * 2021-12-27 2022-04-08 天翼云科技有限公司 云间业务迁移系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120221529A1 (en) * 2009-04-10 2012-08-30 PHD Virtual Technologies Virtual machine data replication
CN103699459A (zh) * 2013-12-31 2014-04-02 汉柏科技有限公司 基于qcow2快照的虚拟机数据增量备份方法及系统
CN107544870A (zh) * 2017-06-14 2018-01-05 新华三云计算技术有限公司 一种虚拟机磁盘备份方法及装置
CN107943557A (zh) * 2017-11-18 2018-04-20 浙江网新恒天软件有限公司 一种基于云平台的虚拟机磁盘增量快照方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120221529A1 (en) * 2009-04-10 2012-08-30 PHD Virtual Technologies Virtual machine data replication
CN103699459A (zh) * 2013-12-31 2014-04-02 汉柏科技有限公司 基于qcow2快照的虚拟机数据增量备份方法及系统
CN107544870A (zh) * 2017-06-14 2018-01-05 新华三云计算技术有限公司 一种虚拟机磁盘备份方法及装置
CN107943557A (zh) * 2017-11-18 2018-04-20 浙江网新恒天软件有限公司 一种基于云平台的虚拟机磁盘增量快照方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
廖长瑞: "云桌面虚拟镜像文件qcow2的探究与改进", 《有线电视技术》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597102A (zh) * 2020-12-29 2021-04-02 武汉噢易云计算股份有限公司 一种高效的镜像文件系统实现方法
CN112597102B (zh) * 2020-12-29 2022-06-17 武汉噢易云计算股份有限公司 一种高效的镜像文件系统实现方法
CN114296649A (zh) * 2021-12-27 2022-04-08 天翼云科技有限公司 云间业务迁移系统
CN114296649B (zh) * 2021-12-27 2024-01-02 天翼云科技有限公司 云间业务迁移系统

Similar Documents

Publication Publication Date Title
US11789823B2 (en) Selective processing of file system objects for image level backups
US11481121B2 (en) Physical media aware spacially coupled journaling and replay
US9703640B2 (en) Method and system of performing incremental SQL server database backups
JP2020525925A (ja) ある時点についてデータベースのデータセットを復元するシステム及び方法
CN103019890B (zh) 一种块级别的磁盘数据保护系统及其方法
CN106021031B (zh) 一种btrfs文件系统的删除数据恢复方法和装置
US20120005163A1 (en) Block-based incremental backup
US20110072224A1 (en) Snapshot metadata management in a storage system
US9542279B2 (en) Shadow paging based log segment directory
Verma et al. {Failure-Atomic} Updates of Application Data in a Linux File System
CN101206595A (zh) 以快照指针进行磁盘快照的方法
CN100504800C (zh) 磁盘快照的方法
CN105138284A (zh) 虚拟机磁盘镜像同步操作优化的系统及方法
CN108604162A (zh) 优化对生产数据的访问
US9251020B1 (en) Systems and methods for file-level replication
CN109164988A (zh) 基于处理器的虚拟机快照方法和系统
CN107622123B (zh) 一种面向asm文件系统的文件解析方法
CN114924914B (zh) 磁盘分区表信息备份、恢复方法及系统
CN114138424B (zh) 一种虚拟机内存快照生成方法、装置及电子设备
CN111399774B (zh) 分布式存储系统下基于快照的数据处理方法和装置
CN111857586A (zh) 一种SSD Trim优化方法、系统、终端及存储介质
CN111338845B (zh) 一种细粒度的本地数据保护方法
Legesse Performance Evaluation Of FileSystems Compression Features
CN108762793A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190108

RJ01 Rejection of invention patent application after publication