CN106201659A - 一种虚拟机热迁移的方法及宿主机 - Google Patents

一种虚拟机热迁移的方法及宿主机 Download PDF

Info

Publication number
CN106201659A
CN106201659A CN201610548058.9A CN201610548058A CN106201659A CN 106201659 A CN106201659 A CN 106201659A CN 201610548058 A CN201610548058 A CN 201610548058A CN 106201659 A CN106201659 A CN 106201659A
Authority
CN
China
Prior art keywords
memory block
virtual machine
data
main frame
host
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.)
Granted
Application number
CN201610548058.9A
Other languages
English (en)
Other versions
CN106201659B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610548058.9A priority Critical patent/CN106201659B/zh
Publication of CN106201659A publication Critical patent/CN106201659A/zh
Priority to PCT/CN2017/092495 priority patent/WO2018010636A1/zh
Priority to US15/949,874 priority patent/US10884645B2/en
Application granted granted Critical
Publication of CN106201659B publication Critical patent/CN106201659B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/4557Distribution of virtual machine instances; Migration and load balancing

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种虚拟机热迁移的方法,包括:源宿主机确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块;所述源宿主机识别当前待搬迁的存储块中是否有数据,所述当前待搬迁的存储块为所述磁盘存储空间中的一块存储块;当所述当前待搬迁的存储块中有数据时,所述源宿主机向目标宿主机发送所述当前待搬迁的存储块中的数据;当所述当前待搬迁的存储块中没有数据时,所述源宿主机跳过所述当前待搬迁的存储块。本发明实施例提供的虚拟机热迁移的方法,针对有数据的存储块进行热迁移,针对没有数据的存储块直接跳过,从而提高了虚拟机热迁移的效率。

Description

一种虚拟机热迁移的方法及宿主机
技术领域
本发明涉及云技术领域,具体涉及一种虚拟机热迁移的方法及宿主机。
背景技术
云计算系统通常包括控制设备和大量的宿主机,控制设备可以通过虚拟机软件在一台宿主机上模拟创建出一台或者多台虚拟机,而这些虚拟机就像真正的计算机那样进行工作。
一台宿主机通常可以创建出多个虚拟机,这些虚拟机可以在该宿主机上运行,执行用户所请求的相应功能,在有些情况下,例如:宿主机故障或者存在安全隐患时,为了保证不影响用户对虚拟机的使用,需要将该宿主机上的虚拟机迁移到其他正常的宿主机上。
虚拟机热迁移的过程中需要迁移与该虚拟机对应的磁盘存储空间的每个存储块中的数据,导致虚拟机热迁移效率低下。
发明内容
为解决现有技术中虚拟机热迁移效率低下的问题,本发明实施例提供一种虚拟机热迁移的方法,针对有数据的存储块进行热迁移,针对没有数据的存储块直接跳过,从而提高了虚拟机热迁移的效率。本发明实施例还提供了相应的宿主机。
本发明第一方面提供一种虚拟机热迁移的方法,包括:
源宿主机确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块;
所述源宿主机识别当前待搬迁的存储块中是否有数据,所述当前待搬迁的存储块为所述磁盘存储空间中的一块存储块;
当所述当前待搬迁的存储块中有数据时,所述源宿主机向目标宿主机发送所述当前待搬迁的存储块中的数据;
当所述当前待搬迁的存储块中没有数据时,所述源宿主机跳过所述当前待搬迁的存储块。
本发明第二方面提供一种宿主机,包括:
第一确定单元,用于确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块;
识别单元,用于识别所述第一确定单元确定的当前待搬迁的存储块中是否有数据,所述当前待搬迁的存储块为所述磁盘存储空间中的一块存储块;
发送单元,用于当所述识别单元识别出当前待搬迁的存储块中有数据时,向目标宿主机发送所述当前待搬迁的存储块中的数据;
跳过单元,用于当所述识别单元识别出当前待搬迁的存储块中没有数据时,跳过所述当前待搬迁的存储块。
与现有技术中虚拟机热迁移效率低下相比,本发明实施例提供的虚拟机热迁移的方法,针对有数据的存储块进行热迁移,针对没有数据的存储块直接跳过,从而提高了虚拟机热迁移的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中宿主机的一结构示意图;
图2是本发明实施例中存储块的一示意图;
图3是本发明实施例中云计算系统的一实施例示意图;
图4是本发明实施例中虚拟机热迁移的一实施例示意图;
图5是本发明实施例中虚拟机热迁的方法的一实施例示意图;
图6是本发明实施例中存储块的另一示意图;
图7是本发明实施例中数据热迁移的一实施例示意图;
图8是本发明实施例中虚拟机生命周期的一示意图;
图9是本发明实施例中宿主机的一实施例示意图;
图10是本发明实施例中宿主机的另一实施例示意图;
图11是本发明实施例中宿主机的另一实施例示意图;
图12是本发明实施例中宿主机的另一实施例示意图;
图13是本发明实施例中宿主机的另一实施例示意图。
具体实施方式
本发明实施例提供一种虚拟机热迁移的方法,针对有数据的存储块进行热迁移,针对没有数据的存储块直接跳过,从而提高了虚拟机热迁移的效率。本发明实施例还提供了相应的宿主机。以下分别进行详细说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例中宿主机的一结构示意图。
如图1所示的宿主机包括虚拟机(Virtual Machine,VM)和硬件层,硬件层可以为每个虚拟机提供硬件资源。
虚拟机:
通过虚拟机软件可以在一台宿主机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。
硬件层:
虚拟化环境运行的硬件平台。其中,硬件层可包括多种硬件,例如某计算节点的硬件层可包括处理器(如中央处理器(Central Processing Unit,CPU))和内存,还可以包括网卡、存储器等高速或低速输入/输出(I/O,Input/Output)设备,及具有特定处理功能的其它设备,如输入输出内存管理单元(IOMMU,Input/Output Memory Management Unit),其中IOMMU可用于虚拟机物理地址和Host物理地址的转换。
虚拟机热迁移:指将源宿主机上的虚拟机从源宿主机迁移到目标宿主机,在此期间不停止虚拟机的运行。
磁盘存储空间通常是由存储块组成的,针对待迁移的目标虚拟机所对应的磁盘存储空间可以参阅图2进行理解,该磁盘存储空间包括多个存储块,而且图2中所画出的也只是示意,不应理解为是对存储块数量的限定。
虚拟机热迁移的过程通常需要将目标虚拟机对应磁盘存储空间的每个存储块中的数据都做迁移,但对于一个用户来说,当该用户所使用的是新建的虚拟机,该新建的虚拟机所对应的磁盘存储空间中的数据量很低,所以该磁盘存储空间的很多存储块中都是零数据,如果将这些零数据的存储块也做复制处理,无疑浪费了热迁移时间,因此,本发明实施例提供一种虚拟机热迁移的方法,可以针对有数据的存储块进行热迁移,针对没有数据的存储块直接跳过,从而提高了虚拟机热迁移的效率。
宿主机通常都位于云计算系统中,云计算系统中通常包括控制设备和多台宿主机,因此,在一台宿主机出现故障隐患或者该台宿主机的负载过重时,控制设备都会协调宿主机上的虚拟机做热迁移。
如图3所示,本发明实施例提供的云计算系统的一实施例包括:
云计算系统包括控制设备10、网络20和多台宿主机30,多台宿主机30中包括宿主机30A和宿主机30B,控制设备10和多台宿主机30通过网络20通信连接,每台宿主机上都分别包含多台虚拟机。
控制设备10会实时或者周期性向每台宿主机请求每台宿主机当前的负载信息,例如:请求当前cpu的使用量,也可以是每台宿主机实时或者周期性向控制设备10上报各自的负载信息。
控制设备10根据所述每台宿主机的负载信息,确定负载量超过预置阈值的源宿主机。例如:若预设阈值为cpu的使用量为70%,则控制设备10可根据每台宿主机的负载信息可确定cpu的使用量超过70%的宿主机,例如:确定图3中的宿主机30A的cpu的使用量超过70%,则确定该宿主机30A为负载量超过预置阈值的源宿主机。
确定出源宿主机后,控制设备10会从宿主机30A当前处于运行状态的虚拟机中确定出目标虚拟机,目标虚拟机为热迁移后所述源宿主机的负载量能降低到所述预置阈值之下的虚拟机。
确定目标虚拟机后,控制设备10会根据所述每台宿主机的负载信息和所述目标虚拟机的负载占用量,确定所述目标宿主机,所述目标宿主机为承载所述目标虚拟机后负载量不会超过所述预置阈值的宿主机。如图3所示,确定的目标宿主机为宿主机30B。
当然,如果宿主机自身集成有控制设备的负载监控功能和其他宿主机的负载信息,也可以由该宿主机自己来确定目标宿主机。
控制设备10控制目标虚拟机从源主机热迁移到目标宿主机。也就是从宿主机30A热迁移到宿主机30B。
宿主机热迁移的过程可以参阅图4进行理解。如图4所示,目标虚拟机从宿主机30A热迁移到宿主机30B。目标虚拟机在热迁移过程中不影响用户的使用,用户不感知。
虚拟机热迁移的过程实际上是与该虚拟机有关的数据的热迁移的过程,下面结合图5说明本发明实施例中虚拟机热迁移的过程。
如图5所示,本发明实施例提供的虚拟机热迁移的方法的一实施例包括:
501、源宿主机确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块。
待迁移的目标虚拟机可以是控制设备确定后通知给源宿主机的,也可以是该源宿主机自己确定的,例如:当源宿主机出现安全隐患或者故障时,可以将源宿主机上的所有虚拟机都确定为是目标虚拟机。
每个虚拟机都有自己对应的磁盘存储空间,例如:磁盘存储空间的第1阵列到第5阵列,虚拟机的磁盘存储空间是不复用的,也就是说每个虚拟机的磁盘存储空间都是独立的。
磁盘存储空间中会包括多个存储块。这些存储块有的用来存储元数据,有的用来存储内容数据。
元数据:主要用于记录用户文件在磁盘上的存储位置,元数据丢失或损坏会导致用户数据丢失。
如图6所示,存储块中标识为M的存储块中存储数据为用户文件的元数据。标识为N的存储块中存储的数据为用户正在使用的数据,标识为P的存储块中存储的数据为用户使用后已经删除的数据,没有标识的存储块中没有数据。
502、源宿主机识别当前待搬迁的存储块中是否有数据,所述当前待搬迁的存储块为所述磁盘存储空间中的一块存储块。当是时,执行步骤503,当否时,执行步骤504。
当前待搬迁的存储块指的是源宿主机识别到的存储块,源宿主机确定目标虚拟机的存储块后,源宿主机会逐个存储块去识别,当然也可以是多个存储块并行识别,源宿主机识别到存储块中是否存储有数据。
503、当所述当前待搬迁的存储块中有数据时,所述源宿主机向目标宿主机发送所述当前待搬迁的存储块中的数据。
当存储块中有数据,则需要将该存储块中的数据搬迁到目标宿主机,搬迁数据就是将该存储块中的数据发送给目标宿主机,将该存储块中的数据转移到目标宿主机中进行存储。
即使该存储块中的数据是已经被用户删除的数据,依然需要将该存储块中的数据转移到目标宿主机中,以便于用户在需要时恢复该已删除的数据或文件。
已删除的数据只是用户不可见了,实际上,在存储块中还是有存储的,并没有擦除。
数据迁移过程可以参阅图7进行理解,将存储块中的数据进行相应的热迁移,将数据转移到目标宿主机的存储块上存储。
504、当所述当前待搬迁的存储块中没有数据时,所述源宿主机跳过所述当前待搬迁的存储块。
当识别出存储块中没有数据时,那么就不需要再进行复制搬迁了,直接跳过该存储块,继续识别下一个存储块即可。
与现有技术中虚拟机热迁移效率低下相比,本发明实施例提供的虚拟机热迁移的方法,针对有数据的存储块进行热迁移,针对没有数据的存储块直接跳过,从而提高了虚拟机热迁移的效率。
可选地,所述源宿主机确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块之前,所述方法还可以包括:
当所述源宿主机出现故障隐患时,所述源宿主机将在所述源宿主机上已创建的每个虚拟机确定为目标虚拟机。
本发明实施例中,当源宿主机出现故障隐患,则需要将该源宿主机上的所有虚拟机都做迁移,以保证用户对虚拟机的使用不受影响,这时就需要将该源宿主机上的所有虚拟机都确定为目标虚拟机,源宿主机针对多台目标虚拟机的热迁移处理方案与针对一台目标虚拟机的热迁移处理方案是相同的。
可选地,所述源宿主机确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块之前,所述方法还可以包括:
当所述源宿主机负载超过预置阈值时,所述源宿主机根据所述源宿主机中每个虚拟机的负载占用量,确定所述目标虚拟机,所述目标虚拟机为热迁移后所述源宿主机的负载量能降低到所述预置阈值之下虚拟机。
本发明实施例中,当源宿主机负载超过预置阈值,可能会影响每台虚拟机的响应速度,因此,源宿主机需要将一台或者多台负载量较大的虚拟机迁走,以缓解自身压力,关于这种迁移方案可以参阅图3部分的描述进行理解,本处不再重复赘述。
可选地,所述源宿主机识别当前待搬迁的存储块中是否有数据,可以包括:
所述源宿主机识别出所述前待搬迁的存储块中有数据删除记录时,则确定所述前待搬迁的存储块中有数据。
本发明实施例中,当存储块中的数据是用户在用户侧已删除的数据,因为,即使用户删除了数据,虚拟机的存储块中还是会保留该数据,以便于用户需要使用是恢复。
可选地,在将所述目标虚拟机所对应的存储块中的数据全部迁移到所述目标虚拟机之后,所述方法还可以包括:
擦除所述磁盘存储空间中的存储块,以销毁所述存储块中所述目标虚拟机所产生的数据。
本发明实施例中,虚拟机是具有生命周期的,如图8所示,虚拟机的生命周期包括创建、运行、迁移和销毁,虚拟机创建后,投入运行,运行过程中该虚拟机的存储空间中会保持使用该虚拟机的用户的数据,若一旦该虚拟机迁移到其他宿主机上,或者在该宿主机上销毁该虚拟机,就需要将该虚拟机对应存储空间中的数据全部擦除,这样可以保证使用该虚拟机的用户的数据安全,以防止该虚拟机对应的存储空间被另外一个用户使用后,使用数据恢复功能恢复出原用户的数据。
以上是对虚拟机热迁移的描述,下面介绍本发明实施例中的宿主机。
参阅图9,本发明实施例提供的宿主机60的一实施例包括:
第一确定单元601,用于确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块;
识别单元602,用于识别所述第一确定单元601确定的当前待搬迁的存储块中是否有数据,所述当前待搬迁的存储块为所述磁盘存储空间中的一块存储块;
发送单元603,用于当所述识别单元602识别出当前待搬迁的存储块中有数据时,向目标宿主机发送所述当前待搬迁的存储块中的数据;
跳过单元604,用于当所述识别单元602识别出当前待搬迁的存储块中没有数据时,跳过所述当前待搬迁的存储块。
本发明实施例中,第一确定单元601确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块;识别单元602识别所述第一确定单元601确定的当前待搬迁的存储块中是否有数据,所述当前待搬迁的存储块为所述磁盘存储空间中的一块存储块;发送单元603当所述识别单元602识别出当前待搬迁的存储块中有数据时,向目标宿主机发送所述当前待搬迁的存储块中的数据;跳过单元604当所述识别单元602识别出当前待搬迁的存储块中没有数据时,跳过所述当前待搬迁的存储块。与现有技术中虚拟机热迁移效率低下相比,本发明实施例提供的宿主机,针对有数据的存储块进行热迁移,针对没有数据的存储块直接跳过,从而提高了虚拟机热迁移的效率。
可选地,参阅图10,本发明实施例提供的宿主机的另一实施例中,所述宿主机还包括第二确定单元605,
所述第二确定单元605,用于在所述第一确定单元501确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块之前,当所述源宿主机出现故障隐患时,将在所述源宿主机上已创建的每个虚拟机确定为目标虚拟机。
本发明实施例中,当源宿主机出现故障隐患,则需要将该源宿主机上的所有虚拟机都做迁移,以保证用户对虚拟机的使用不受影响,这时就需要将该源宿主机上的所有虚拟机都确定为目标虚拟机,源宿主机针对多台目标虚拟机的热迁移处理方案与针对一台目标虚拟机的热迁移处理方案是相同的。
可选地,参阅图11,本发明实施例提供的宿主机的另一实施例中,所述宿主机还包括第三确定单元606,
所述第三确定单元606,用于在所述第一确定单元601确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块之前,当所述源宿主机负载超过预置阈值时,根据所述源宿主机中每个虚拟机的负载占用量,确定所述目标虚拟机,所述目标虚拟机为热迁移后所述源宿主机的负载量能降低到所述预置阈值之下虚拟机。
本发明实施例中,当源宿主机负载超过预置阈值,可能会影响每台虚拟机的响应速度,因此,源宿主机需要将一台或者多台负载量较大的虚拟机迁走,以缓解自身压力,关于这种迁移方案可以参阅图3部分的描述进行理解,本处不再重复赘述。
可选地,所述识别单元602,用于识别出所述前待搬迁的存储块中有数据删除记录时,则确定所述前待搬迁的存储块中有数据。
本发明实施例中,当存储块中的数据是用户在用户侧已删除的数据,因为,即使用户删除了数据,虚拟机的存储块中还是会保留该数据,以便于用户需要使用是恢复。
可选地,参阅图12,本发明实施例提供的宿主机60的另一实施例中,所述宿主机还包括:
擦除单元607,用于在所述发送单元603将所述目标虚拟机所对应的存储块中的数据全部迁移到所述目标虚拟机之后,擦除所述磁盘存储空间中的存储块,以销毁所述存储块中所述目标虚拟机所产生的数据。
本发明实施例中,虚拟机是具有生命周期的,如图8所示,虚拟机的生命周期包括创建、运行、迁移和销毁,虚拟机创建后,投入运行,运行过程中该虚拟机的存储空间中会保持使用该虚拟机的用户的数据,若一旦该虚拟机迁移到其他宿主机上,或者在该宿主机上销毁该虚拟机,就需要将该虚拟机对应存储空间中的数据全部擦除,这样可以保证使用该虚拟机的用户的数据安全,以防止该虚拟机对应的存储空间被另外一个用户使用后,使用数据恢复功能恢复出原用户的数据。
图13是本发明实施例提供的宿主机60的结构示意图。所述宿主机60应用于云计算系统,所述云计算系统包括多台宿主机,每台宿主机上都分别包含多台虚拟机,所述宿主机60包括处理器610、存储器650和输入/输出设备630,存储器650可以包括只读存储器和随机存取存储器,并向处理器610提供操作指令和数据。存储器650的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器650存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
在本发明实施例中,通过调用存储器650存储的操作指令(该操作指令可存储在操作系统中),
确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块;
识别当前待搬迁的存储块中是否有数据,所述当前待搬迁的存储块为所述磁盘存储空间中的一块存储块;
当所述当前待搬迁的存储块中有数据时,向目标宿主机发送所述当前待搬迁的存储块中的数据;
当所述当前待搬迁的存储块中没有数据时,跳过所述当前待搬迁的存储块。
与现有技术中虚拟机热迁移效率低下相比,本发明实施例提供的宿主机,针对有数据的存储块进行热迁移,针对没有数据的存储块直接跳过,从而提高了虚拟机热迁移的效率。
处理器610控制宿主机60的操作,处理器610还可以称为CPU(Central ProcessingUnit,中央处理单元)。存储器650可以包括只读存储器和随机存取存储器,并向处理器610提供指令和数据。存储器650的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中宿主机60的各个组件通过总线系统620耦合在一起,其中总线系统620除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统620。
上述本发明实施例揭示的方法可以应用于处理器610中,或者由处理器610实现。处理器610可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器610中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器610可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器650,处理器610读取存储器650中的信息,结合其硬件完成上述方法的步骤。
可选地,处理器610还用于:当所述源宿主机出现故障隐患时,将在所述源宿主机上已创建的每个虚拟机确定为目标虚拟机。
可选地,处理器610还用于:当所述源宿主机负载超过预置阈值时,根据所述源宿主机中每个虚拟机的负载占用量,确定所述目标虚拟机,所述目标虚拟机为热迁移后所述源宿主机的负载量能降低到所述预置阈值之下虚拟机。
可选地,处理器610用于:识别出所述前待搬迁的存储块中有数据删除记录时,则确定所述前待搬迁的存储块中有数据。
可选地,处理器610还用于:在将所述目标虚拟机所对应的存储块中的数据全部迁移到所述目标虚拟机之后,擦除所述磁盘存储空间中的存储块,以销毁所述存储块中所述目标虚拟机所产生的数据。
以上图13所描述的宿主机可以参阅图1至图8部分的相应描述进行理解,本处不再重复赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘存储空间或光盘等。
以上对本发明实施例所提供的虚拟机热迁移的方法以及宿主机进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种虚拟机热迁移的方法,其特征在于,包括:
源宿主机确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块;
所述源宿主机识别当前待搬迁的存储块中是否有数据,所述当前待搬迁的存储块为所述磁盘存储空间中的一块存储块;
当所述当前待搬迁的存储块中有数据时,所述源宿主机向目标宿主机发送所述当前待搬迁的存储块中的数据;
当所述当前待搬迁的存储块中没有数据时,所述源宿主机跳过所述当前待搬迁的存储块。
2.根据权利要求1所述的方法,其特征在于,所述源宿主机确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块之前,所述方法还包括:
当所述源宿主机出现故障隐患时,所述源宿主机将在所述源宿主机上已创建的每个虚拟机确定为目标虚拟机。
3.根据权利要求1所述的方法,其特征在于,所述源宿主机确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块之前,所述方法还包括:
当所述源宿主机负载超过预置阈值时,所述源宿主机根据所述源宿主机中每个虚拟机的负载占用量,确定所述目标虚拟机,所述目标虚拟机为热迁移后所述源宿主机的负载量能降低到所述预置阈值之下虚拟机。
4.根据权利要求1-3任一所述的方法,其特征在于,所述源宿主机识别当前待搬迁的存储块中是否有数据,包括:
所述源宿主机识别出所述前待搬迁的存储块中有数据删除记录时,则确定所述前待搬迁的存储块中有数据。
5.根据权利要求1-3任一所述的方法,其特征在于,在将所述目标虚拟机所对应的存储块中的数据全部迁移到所述目标虚拟机之后,所述方法还包括:
擦除所述磁盘存储空间中的存储块,以销毁所述存储块中所述目标虚拟机所产生的数据。
6.一种宿主机,其特征在于,包括:
第一确定单元,用于确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块;
识别单元,用于识别所述第一确定单元确定的当前待搬迁的存储块中是否有数据,所述当前待搬迁的存储块为所述磁盘存储空间中的一块存储块;
发送单元,用于当所述识别单元识别出当前待搬迁的存储块中有数据时,向目标宿主机发送所述当前待搬迁的存储块中的数据;
跳过单元,用于当所述识别单元识别出当前待搬迁的存储块中没有数据时,跳过所述当前待搬迁的存储块。
7.根据权利要求6所述的宿主机,其特征在于,所述宿主机还包括第二确定单元,
所述第二确定单元,用于在所述第一确定单元确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块之前,当所述源宿主机出现故障隐患时,将在所述源宿主机上已创建的每个虚拟机确定为目标虚拟机。
8.根据权利要求6所述的宿主机,其特征在于,所述宿主机还包括第三确定单元,
所述第三确定单元,用于在所述第一确定单元确定待迁移的目标虚拟机所对应的磁盘存储空间中的存储块之前,当所述源宿主机负载超过预置阈值时,根据所述源宿主机中每个虚拟机的负载占用量,确定所述目标虚拟机,所述目标虚拟机为热迁移后所述源宿主机的负载量能降低到所述预置阈值之下虚拟机。
9.根据权利要求6-8任一所述的宿主机,其特征在于,
所述识别单元,用于识别出所述前待搬迁的存储块中有数据删除记录时,则确定所述前待搬迁的存储块中有数据。
10.根据权利要求6-8任一所述的宿主机,其特征在于,所述宿主机还包括:
擦除单元,用于在所述发送单元将所述目标虚拟机所对应的存储块中的数据全部迁移到所述目标虚拟机之后,擦除所述磁盘存储空间中的存储块,以销毁所述存储块中所述目标虚拟机所产生的数据。
CN201610548058.9A 2016-07-12 2016-07-12 一种虚拟机热迁移的方法及宿主机 Active CN106201659B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610548058.9A CN106201659B (zh) 2016-07-12 2016-07-12 一种虚拟机热迁移的方法及宿主机
PCT/CN2017/092495 WO2018010636A1 (zh) 2016-07-12 2017-07-11 虚拟机热迁移的方法、宿主机及存储介质
US15/949,874 US10884645B2 (en) 2016-07-12 2018-04-10 Virtual machine hot migration method, host machine and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610548058.9A CN106201659B (zh) 2016-07-12 2016-07-12 一种虚拟机热迁移的方法及宿主机

Publications (2)

Publication Number Publication Date
CN106201659A true CN106201659A (zh) 2016-12-07
CN106201659B CN106201659B (zh) 2019-07-05

Family

ID=57477803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610548058.9A Active CN106201659B (zh) 2016-07-12 2016-07-12 一种虚拟机热迁移的方法及宿主机

Country Status (3)

Country Link
US (1) US10884645B2 (zh)
CN (1) CN106201659B (zh)
WO (1) WO2018010636A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107340974A (zh) * 2017-07-07 2017-11-10 郑州云海信息技术有限公司 一种虚拟磁盘的迁移方法及迁移装置
WO2018010636A1 (zh) * 2016-07-12 2018-01-18 腾讯科技(深圳)有限公司 虚拟机热迁移的方法、宿主机及存储介质
CN108037980A (zh) * 2018-01-02 2018-05-15 腾讯科技(深圳)有限公司 控制执行虚拟机热迁移的方法、装置和可读存储介质
CN109783196A (zh) * 2019-01-17 2019-05-21 新华三信息安全技术有限公司 一种虚拟机的迁移方法及装置
CN111857944A (zh) * 2019-04-30 2020-10-30 北京嘀嘀无限科技发展有限公司 虚拟机热迁移的方法、装置、系统和计算机可读存储介质
CN112148430A (zh) * 2020-09-28 2020-12-29 中电积至(海南)信息技术有限公司 一种虚拟网络功能的虚拟机在线安全迁移的方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11169835B1 (en) * 2017-05-09 2021-11-09 Tintri By Ddn, Inc. VM data migration between storage devices
CN110147266B (zh) * 2019-04-29 2024-03-15 腾讯科技(深圳)有限公司 虚拟机启动方法和装置、存储介质及电子装置
CN111327509B (zh) * 2020-01-21 2022-07-12 新华三信息安全技术有限公司 一种信息更新方法及装置
US20220318042A1 (en) * 2021-04-01 2022-10-06 RAMScaler, Inc. Distributed memory block device storage
CN113093995B (zh) * 2021-04-12 2023-05-26 深圳软通动力信息技术有限公司 一种云盘数据的迁移方法和系统
CN113949712B (zh) * 2021-10-15 2024-04-30 科大讯飞股份有限公司 云主机集群高可用处理方法、系统、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622309A (zh) * 2011-01-30 2012-08-01 成都市华为赛门铁克科技有限公司 数据安全擦除方法及装置
CN102681913A (zh) * 2011-12-21 2012-09-19 中兴通讯股份有限公司 一种虚拟机到虚拟机热迁移的方法及装置
CN102724277A (zh) * 2012-05-04 2012-10-10 华为技术有限公司 虚拟机热迁移和部署的方法、服务器及集群系统
CN103902368A (zh) * 2012-12-24 2014-07-02 中国电信股份有限公司 虚拟机磁盘镜像跨存储热迁移实现方法和虚拟机系统
CN104536816A (zh) * 2014-12-17 2015-04-22 中电科华云信息技术有限公司 提高虚拟机迁移效率的方法
US20160110215A1 (en) * 2012-11-29 2016-04-21 International Business Machines Corporation Replacing virtual machine disks

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996468B1 (en) * 2009-04-17 2015-03-31 Dell Software Inc. Block status mapping system for reducing virtual machine backup storage
CN102508718B (zh) * 2011-11-22 2015-04-15 杭州华三通信技术有限公司 一种虚拟机负载均衡方法和装置
US8813240B1 (en) * 2012-05-30 2014-08-19 Google Inc. Defensive techniques to increase computer security
US20150355862A1 (en) * 2014-06-04 2015-12-10 Pure Storage, Inc. Transparent array migration
CN104270416B (zh) * 2014-09-12 2018-03-13 杭州华为数字技术有限公司 负载均衡控制方法及管理节点
US9946604B1 (en) * 2015-02-04 2018-04-17 Tintri Inc. Optimized remote cloning
US9430162B1 (en) * 2015-12-01 2016-08-30 International Business Machines Corporation Metadata-based bypassing in a controller
US10095506B2 (en) * 2016-02-12 2018-10-09 Nutanix, Inc. Virtualized file server data sharing
US10496294B2 (en) * 2016-02-24 2019-12-03 Hitachi, Ltd. Data migration method and computer system
CN106201659B (zh) * 2016-07-12 2019-07-05 腾讯科技(深圳)有限公司 一种虚拟机热迁移的方法及宿主机

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622309A (zh) * 2011-01-30 2012-08-01 成都市华为赛门铁克科技有限公司 数据安全擦除方法及装置
CN102681913A (zh) * 2011-12-21 2012-09-19 中兴通讯股份有限公司 一种虚拟机到虚拟机热迁移的方法及装置
CN102724277A (zh) * 2012-05-04 2012-10-10 华为技术有限公司 虚拟机热迁移和部署的方法、服务器及集群系统
US20160110215A1 (en) * 2012-11-29 2016-04-21 International Business Machines Corporation Replacing virtual machine disks
CN103902368A (zh) * 2012-12-24 2014-07-02 中国电信股份有限公司 虚拟机磁盘镜像跨存储热迁移实现方法和虚拟机系统
CN104536816A (zh) * 2014-12-17 2015-04-22 中电科华云信息技术有限公司 提高虚拟机迁移效率的方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018010636A1 (zh) * 2016-07-12 2018-01-18 腾讯科技(深圳)有限公司 虚拟机热迁移的方法、宿主机及存储介质
US10884645B2 (en) 2016-07-12 2021-01-05 Tencent Technology (Shenzhen) Company Limited Virtual machine hot migration method, host machine and storage medium
CN107340974A (zh) * 2017-07-07 2017-11-10 郑州云海信息技术有限公司 一种虚拟磁盘的迁移方法及迁移装置
CN107340974B (zh) * 2017-07-07 2020-03-31 郑州云海信息技术有限公司 一种虚拟磁盘的迁移方法及迁移装置
CN108037980A (zh) * 2018-01-02 2018-05-15 腾讯科技(深圳)有限公司 控制执行虚拟机热迁移的方法、装置和可读存储介质
CN108037980B (zh) * 2018-01-02 2023-03-14 腾讯科技(深圳)有限公司 控制执行虚拟机热迁移的方法、装置和可读存储介质
CN109783196A (zh) * 2019-01-17 2019-05-21 新华三信息安全技术有限公司 一种虚拟机的迁移方法及装置
CN109783196B (zh) * 2019-01-17 2021-03-12 新华三信息安全技术有限公司 一种虚拟机的迁移方法及装置
CN111857944A (zh) * 2019-04-30 2020-10-30 北京嘀嘀无限科技发展有限公司 虚拟机热迁移的方法、装置、系统和计算机可读存储介质
CN112148430A (zh) * 2020-09-28 2020-12-29 中电积至(海南)信息技术有限公司 一种虚拟网络功能的虚拟机在线安全迁移的方法

Also Published As

Publication number Publication date
CN106201659B (zh) 2019-07-05
US10884645B2 (en) 2021-01-05
WO2018010636A1 (zh) 2018-01-18
US20180232175A1 (en) 2018-08-16

Similar Documents

Publication Publication Date Title
CN106201659A (zh) 一种虚拟机热迁移的方法及宿主机
CN104965757B (zh) 虚拟机热迁移的方法、虚拟机迁移管理装置及系统
CN104808951B (zh) 进行存储控制的方法和设备
CN106227578A (zh) 一种虚拟机热迁移的方法、设备及系统
CN104484283B (zh) 一种降低固态硬盘写放大的方法
CN106909313A (zh) 存储器系统及控制方法
US9606741B2 (en) Memory power management and data consolidation
CN109725840A (zh) 利用异步冲刷对写入进行节流
US20170177225A1 (en) Mid-level controllers for performing flash management on solid state drives
CN106569738A (zh) 一种删除级联快照的方法及装置
CN109417488A (zh) 虚拟网络功能资源管理的方法和设备
CN105745628B (zh) 一种将数据写入闪存装置的方法、闪存装置和存储系统
CN108733306A (zh) 一种文件合并方法及装置
CN108369524A (zh) 用于虚拟机的协同迁移的技术
CN109117308A (zh) 快照处理的方法和装置
CN107305477A (zh) 一种flashcache混合存储系统的缓存读写操作方法及系统
CN108255576A (zh) 虚拟机热迁移异常处理方法、装置和存储介质
CN114089926A (zh) 分布式存储空间的管理方法、计算设备及存储介质
CN107885457A (zh) 一种固态硬盘ssd、存储装置及数据存储方法
CN105468538A (zh) 一种内存迁移方法及设备
CN110389712A (zh) 数据写入方法及其装置、固态硬盘和计算机可读存储介质
CN106815067A (zh) 带i/o虚拟化的虚拟机在线迁移方法、装置
CN107329836A (zh) 多系统的内存管理方法、管理装置以及移动终端
CN108628760A (zh) 原子写命令的方法与装置
CN113868148B (zh) 一种数据写入的方法及装置

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230710

Address after: 518000 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 Floors

Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd.

Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

TR01 Transfer of patent right