CN112099908A - 虚拟机热迁移方法、装置和计算机设备 - Google Patents

虚拟机热迁移方法、装置和计算机设备 Download PDF

Info

Publication number
CN112099908A
CN112099908A CN202010876213.6A CN202010876213A CN112099908A CN 112099908 A CN112099908 A CN 112099908A CN 202010876213 A CN202010876213 A CN 202010876213A CN 112099908 A CN112099908 A CN 112099908A
Authority
CN
China
Prior art keywords
data
dirty page
index
target node
virtual machine
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
CN202010876213.6A
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.)
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 CN202010876213.6A priority Critical patent/CN112099908A/zh
Publication of CN112099908A publication Critical patent/CN112099908A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

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

Abstract

本申请涉及数据库同步技术,具体涉及一种虚拟机热迁移方法、装置和计算机设备。所述方法包括:接收目标节点发起的访问请求,访问请求用于访问预设的脏页索引数据,访问请求由目标节点在响应虚拟机热迁移请求时生成;响应访问请求,读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点;当接收到目标节点反馈的脏页数据写入成功消息时,删除脏页索引数据中已读取的索引记录,得到脏页索引更新数据;以脏页索引更新数据对脏页索引数据进行更新,重新读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点,直至脏页索引数据中索引记录对应的数据完成迁移。通过脏页索引的方式,无需传输整个内存页,可缩短热迁移时长。

Description

虚拟机热迁移方法、装置和计算机设备
技术领域
本申请涉及计算机技术领域,特别是涉及一种虚拟机热迁移方法、装置和计算机设备。
背景技术
云技术(Cloud technology)是指基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
在云计算场景中,虚拟机热迁移能在保证业务不中断的基础上,将虚拟机从一个宿主机(源节点)迁往另外一个宿主机(目标节点)。因此,虚拟机热迁移在主机维护、宿主机资源集中或资源全局均衡等业务场景中,具有重要的作用。虚拟机热迁移是指将虚拟机的数据通过网络从源节点传输至目标节点,在发起虚拟机热迁移操作后,将源节点上的虚拟机内存数据周期性地同步到目标节点的虚拟机。
在虚拟机热迁移过程中,源节点运行过程中,源节点的内存数据不停地发生变动,写入的内存称之为脏页。所以,迁移的内容不仅包括既有的内存内容,还包括迁移过程中动态产生的脏页内容。在进行虚拟机热迁移时,一般脏页产生速度大于迁移速度,即脏页产生速度大于源节点和目标节点之间地网卡带宽这样会导致虚拟机热迁移时间较长。
发明内容
基于此,有必要针对上述技术问题,提供一种能够缩短数据迁移时长的虚拟机热迁移方法、装置、计算机设备和存储介质。
第一方面,本申请提供了虚拟机热迁移方法,所述方法包括:
接收目标节点发起的访问请求,所述访问请求用于访问预设的脏页索引数据,所述访问请求由所述目标节点在响应虚拟机热迁移请求时生成;
响应所述访问请求,读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点;
当接收到所述目标节点反馈的脏页数据写入成功消息时,删除所述脏页索引数据中已读取的索引记录,得到脏页索引更新数据;
以所述脏页索引更新数据对所述脏页索引数据进行更新,重新读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点,直至所述脏页索引数据中索引记录对应的数据完成迁移。
第二方面,本申请提供了一种虚拟机热迁移装置,所述装置包括:
索引访问模块,用于接收目标节点发起的访问请求,所述访问请求用于访问预设的脏页索引数据,所述访问请求由所述目标节点在响应虚拟机热迁移请求时生成;
脏页获取模块,用于响应所述访问请求,读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点;
索引处理模块,用于当接收到所述目标节点反馈的脏页数据写入成功消息时,删除所述脏页索引数据中已读取的索引记录,得到脏页索引更新数据;
数据迁入模块,用于以所述脏页索引更新数据对所述脏页索引数据进行更新,重新读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点,直至所述脏页索引数据中索引记录对应的数据完成迁移。
第三方面,本申请提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收目标节点发起的访问请求,所述访问请求用于访问预设的脏页索引数据,所述访问请求由所述目标节点在响应虚拟机热迁移请求时生成;
响应所述访问请求,读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点;
当接收到所述目标节点反馈的脏页数据写入成功消息时,删除所述脏页索引数据中已读取的索引记录,得到脏页索引更新数据;
以所述脏页索引更新数据对所述脏页索引数据进行更新,重新读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点,直至所述脏页索引数据中索引记录对应的数据完成迁移。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收目标节点发起的访问请求,所述访问请求用于访问预设的脏页索引数据,所述访问请求由所述目标节点在响应虚拟机热迁移请求时生成;
响应所述访问请求,读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点;
当接收到所述目标节点反馈的脏页数据写入成功消息时,删除所述脏页索引数据中已读取的索引记录,得到脏页索引更新数据;
以所述脏页索引更新数据对所述脏页索引数据进行更新,重新读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点,直至所述脏页索引数据中索引记录对应的数据完成迁移。
上述虚拟机热迁移方法、装置、计算机设备和存储介质,在待迁移虚拟机的热迁移过程中,目标节点向源节点发起脏页索引数据访问请求;源节点响应响应访问请求,读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点;在获取到脏页数据写入目标节点后,源节点删除脏页索引数据中已读取的索引记录,得到脏页索引更新数据;源节点以脏页索引更新数据对脏页索引数据进行更新,重新读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点,直至脏页索引数据中索引记录对应的数据完成迁移,上述数据迁移方案,通过脏页索引数据记录热迁移过程中产生的脏页的索引,在将源节点上的虚拟机迁移至目标节点对应的虚拟机时,通过脏页索引数据查找对应的脏页数据,将其迁移至目标节点,而无需将整个内存数据迁移至目标节点,因而可以减少热迁移过程中传输的数据量,从而缩短虚拟机热迁移时长。
附图说明
图1为一个实施例中虚拟机热迁移方法的应用环境图;
图2为一个实施例中虚拟机热迁移方法的流程示意图;
图3为另一个实施例中虚拟机热迁移方法的流程示意图;
图4为一个实施例中虚拟机热迁移方法的交互时序图;
图5为一个实施例中基于位图的热迁移的示意图;
图6为一个实施例中虚拟机热迁移装置的结构框图;
图7为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的虚拟机热迁移方法,可以应用于如图1所示的应用环境中。该应用场景包括管理终端102、源节点104以及目标节点106,管理终端102通过网络与源节点连接104连接,源节点104通过网络与目标节点106连接。用户可以通过管理终端102向源节点104发起热迁移请求,请求将源节点104的虚拟机迁移至目标节点106,源节点104接收到热迁移请求后,启动对虚拟机的热迁移,源节点上的目标存储区域上存储有脏页索引数据,用于记录热迁移过程中产生的脏页索引信息。此时,目标节点106向源节点104发起对目标存储区域的访问请求,请求访问脏页索引数据。源节点104在接收到访问请求后,基于脏页索引数据中对应的索引记录,读取相应脏页数据,将其发送至目标节点106,并且在获取到脏页数据写入目标节点后,删除脏页索引数据中已读取的索引记录,由此对脏页索引数据进行更新。然后源节点104再基于脏页索引跟新数据中的索引记录,读取对应的脏页数据,发送至目标节点106,如此循环,直至完成虚拟机的数据迁移。源节点104以及目标节点106可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。管理终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一个实施例中,如图2所示,提供了一种虚拟机热迁移方法。本实施例以该方法应用于图1中的源节点为例进行说明,参照图2,该方法具体包括以下步骤:
步骤202,接收目标节点发起的访问请求,访问请求用于访问预设的脏页索引数据,访问请求由目标节点在响应虚拟机热迁移请求时生成。
可以通过管理终端发起热迁移请求的方式触发虚拟机的热迁移,热迁移请求携带目标节点信息,用于将源节点上的虚拟机迁移至目标节点。源节点上的目标存储区域上存储有脏页索引数据,脏页索引数据用于记录热迁移过程中产生的脏页索引信息。在虚拟机热迁移的过程中,目标节点向源节点可以周期性地发起访问请求,用于访问源节点上目标存储区域的脏页索引数据。
步骤204,响应访问请求,读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点。
源节点在接收到目标节点的访问请求后,基于预设规则响应该访问请求,比如按照索引记录的时间先后顺序,依次读取脏页索引数据中的索引记录,每次发送一条索引记录对应的脏页数据至目标节点,也可以按照索引记录对应的数据量大小,每次发送一定数量索引记录对应的脏页索引数据至目标节点。
在一个实施例中,读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点,包括:基于访问请求对应的脏页索引数据中的索引记录,确定内存页信息、内存页偏移信息和内存量;基于内存页信息、内存页偏移信息以及内存量,进行数据读取,并将读取到的脏页数据发送至目标节点。内存页信息和内存页偏移信息用于标识内存地址,其中内存页信息用于标识不同的存储区间,内存页偏移信息用于标识在一个存储区间的具体位置。在数据迁移过程中,目标节点周期性地访问脏页索引数据,比如脏页索引数据中包括50条索引记录,每条索引记录的格式相同,比如包括内存页、内存页偏移量、内存量大小等属性信息。以访问请求对应脏页索引数据中的第1条索引记录为例,确定在源节点上,与第1条索引记录的内存页信息对应的内存页A,根据该索引记录的内存页偏移量,确定在内存页A上的对应位置P,根据该索引记录的内存量大小以及位置P,从内存页A中读取相应的内存数据,将其发送至目标节点,而无需将整个内存页A发送至目标节点,由此可以减少数据迁移过程中的数据传输量。
步骤206,当接收到目标节点反馈的脏页数据写入成功消息时,删除脏页索引数据中已读取的索引记录,得到脏页索引更新数据。
源节点将读取到的内存数据发送至目标节点,同时将脏页索引数据中对应索引记录置为下一次读取的起始位置。目标节点在接收到源节点发来的脏页数据后,从起始位置读取内存页信息和内存偏移量信息,将对应的脏页数据写入自身内存中。然后删除脏页索引数据中该索引记录,得到脏页索引更新数据。
步骤208,以脏页索引更新数据对脏页索引数据进行更新,重新读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点,直至脏页索引数据中索引记录对应的数据完成迁移。
在一次脏页数据迁移完成后,继续执行下一次的脏页数据迁移,直至脏页索引数据中对应的所有脏页数据完成迁移。
上述虚拟机热迁移方法,在待迁移虚拟机的热迁移过程中,目标节点向源节点发起脏页索引数据访问请求;源节点响应响应访问请求,读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点;源节点在获取到脏页数据写入目标节点后,删除脏页索引数据中已读取的索引记录,得到脏页索引更新数据;源节点以脏页索引更新数据对脏页索引数据进行更新,重新读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点,直至脏页索引数据中索引记录对应的数据完成迁移,上述数据迁移方案,通过脏页索引数据记录热迁移过程中产生的脏页的索引,在将源节点上的虚拟机迁移至目标节点对应的虚拟机时,通过脏页索引数据查找对应的脏页数据,将其迁移至目标节点,而无需将整个内存数据迁移至目标节点,因而可以减少热迁移过程中传输的数据量,从而缩短虚拟机热迁移时长。
在一个实施例中,如图3所示,虚拟机热迁移方法还包括:步骤302,在待迁移虚拟机的热迁移启动时,确定存储有脏页索引初始数据的目标存储区域;步骤304,当检测到实时脏页数据时,根据脏页索引初始数据以及实时脏页数据,得到脏页索引数据。在源节点上,分配一块内存区域用于存储位图,即脏页索引数据,脏页索引初始数据是指热迁移启动前预先配置的脏页索引数据,比如脏页索引数据的表头信息。在源节点接收并处理用户数据请求时,源节点产生脏页数据,根据产生的脏页数据提取符合脏页索引初始数据配置的索引信息,将提取的索引信息对应添加至脏页索引初始数据,得到脏页索引数据。具体地,根据脏页索引初始数据以及实时脏页数据,得到脏页索引数据,包括:基于实时脏页数据确定目标索引数据;当脏页索引初始数据中存在目标索引数据对应的索引记录时,以目标索引数据更新索引记录,得到脏页索引数据;当脏页索引初始数据中不存在目标索引数据对应的索引记录时,根据目标索引数据新增脏页索引初始数据的索引记录,得到脏页索引数据。在源节点的虚拟机产生脏页时,查看位图中是否有对应的索引记录,如果位图中存在与产生的脏页对应的索引记录,以脏页对应的索引数据覆盖位图中该条索引记录,并进行内存写操作。当位图中不存在与产生的脏页对应的索引记录,基于脏页对应的内存页信息和内存页偏移信息,新增对应的索引记录,写入至位图中进行记录。
在一个实施例中,提供了一种虚拟机热迁移方法。本实施例以该方法应用于包括源节点和目标节点的系统为例进行说明,如图4所示,该方法具体包括:目标节点响应虚拟机热迁移请求,向源节点发起脏页索引数据访问请求;源节点响应响应访问请求,读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点;源节点在接收到目标节点反馈的脏页数据写入成功消息时,删除脏页索引数据中已读取的索引记录,得到脏页索引更新数据;源节点以脏页索引更新数据对脏页索引数据进行更新,重新读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点,直至脏页索引数据中索引记录对应的数据完成迁移。
在一个实施例中,读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点之后,还包括:源节点基于已读取的索引记录确定脏页索引数据的访问起始位置;目标节点基于访问起始位置以及接收到的脏页数据,确定目标数据,并将目标数据写入目标节点对应的虚拟机。具体地,目标节点基于访问起始位置以及接收到的脏页数据,确定目标数据,并将目标数据写入目标节点对应的虚拟机,包括:目标节点基于访问起始位置获取内存页信息和内存偏移信息;目标节点基于内存页信息和内存偏移信息,从接收到的脏页数据中获得目标数据,将目标数据写入目标节点对应的虚拟机。源节点将读取到的脏页数据发送至目标节点,同时将脏页索引数据中对应索引记录置为下一次访问的起始位置。目标节点在接收到源节点发来的脏页数据后,从起始位置读取内存页信息和内存偏移量信息,将对应的脏页数据写入自身内存中。
在一个实施例中,源节点以脏页索引更新数据对脏页索引数据进行更新,重新读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点,直至脏页索引数据中索引记录对应的数据完成迁移,包括:源节点以脏页索引更新数据对脏页索引数据进行更新,重新读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点;当脏页索引更新数据的实时数据量小于预设阈值时,源节点控制待迁移的虚拟机暂停运行,直至脏页索引更新数据为空时,目标节点启动对应的虚拟机。当脏页索引数据中的索引记录数量小于预设阈值时,判定热迁移过程趋于结束。此时,将源节点的虚拟机暂停运行,使其不能继续产生新的脏页数据,不停地将脏页索引数据中索引记录对应的数据迁移至目标节点中。在索引记录对应的数据写入目标节点后,将其删除,在脏页索引数据中索引记录为空时,将目标节点的虚拟机启动,源节点的虚拟机清除,完成内存的热迁移操作,之后再清除存储脏页索引数据的区域。
本申请还提供一种应用场景,该应用场景应用上述的虚拟机热迁移方法。具体地,该虚拟机热迁移方法在该应用场景中的应用如下:当热迁移操作启动时,在源节点上,分配一块内存区域用于存储位图。在源节点的虚拟机产生脏页时,查看位图中是否有对应的索引记录,如果位图中存在与产生的脏页对应的索引记录,以脏页对应的索引数据覆盖位图中该条索引记录,并进行内存写操作。当位图中不存在与产生的脏页对应的索引记录,基于脏页对应的内存页信息和内存页偏移信息,新增对应的索引记录,写入至位图中进行记录。如图5所示,在内存迁移过程中,目标节点周期性地访问位图,根据位图中索引记录确定内存页及内存页偏移量,再基于该索引记录的内存量大小,读取相应的内存数据,将其发送至目标节点,同时将位图中对应索引记录置为下一次访问的起始位置。目标节点在接收到源节点发来的内存数据后,从起始位置读取内存页信息和内存偏移量信息,将对应的脏页数据写入自身内存中,然后删除该索引记录。当位图中的索引记录数量小于预设阈值时,判定热迁移过程趋于结束。此时,将源节点的虚拟机暂停运行,使其不能继续产生新的脏页数据,不停地将位图中索引记录对应的数据迁移至目标节点中。在索引记录对应的数据写入目标节点后,将该索引记录删除,在位图中索引记录为空时,将目标节点的虚拟机启动,源节点的虚拟机清除,完成内存的热迁移操作,之后再清除存储脏页索引数据的区域。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于与上述方法相同的思想,图6示出了一个实施例的虚拟机热迁移装置的结构示意图,该实施例是以设置在源节点104为例进行说明。如图6所示,该实施例中的虚拟机热迁移装置包括:索引访问模块602、脏页获取模块604、索引处理模块606以及数据迁入模块608。索引访问模块602,用于接收目标节点发起的访问请求,访问请求用于访问预设的脏页索引数据,访问请求由目标节点在响应虚拟机热迁移请求时生成。脏页获取模块604,用于响应访问请求,读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点。索引处理模块606,用于当接收到目标节点反馈的脏页数据写入成功消息时,删除脏页索引数据中已读取的索引记录,得到脏页索引更新数据。数据迁入模块608,用于以脏页索引更新数据对脏页索引数据进行更新,重新读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点,直至脏页索引数据中索引记录对应的数据完成迁移。
在一个实施例中,虚拟机热迁移装置还包括索引建立模块,用于在待迁移虚拟机的热迁移启动时,确定存储有脏页索引初始数据的目标存储区域;当检测到实时脏页数据时,根据脏页索引初始数据以及实时脏页数据,得到脏页索引数据。
在一个实施例中,索引建立模块还用于基于实时脏页数据确定目标索引数据;当脏页索引初始数据中存在目标索引数据对应的索引记录时,以目标索引数据更新索引记录,得到脏页索引数据;当脏页索引初始数据中不存在目标索引数据对应的索引记录时,根据目标索引数据新增脏页索引初始数据的索引记录,得到脏页索引数据。
在一个实施例中,脏页获取模块还用于基于访问请求对应的脏页索引数据中的索引记录,确定内存页信息、内存页偏移信息和内存量;基于内存页信息、内存页偏移信息以及内存量,进行数据读取,并将读取到的脏页数据发送至目标节点。
在一个实施例中,以源节点104和目标节点106之间的交互为例进行说明,该实施例中的虚拟机热迁移装置包括:索引访问模块,用于目标节点响应虚拟机热迁移请求,向源节点发起脏页索引数据访问请求;脏页获取模块,用于源节点响应响应访问请求,读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点;索引处理模块,用于源节点在接收到目标节点反馈的脏页数据写入成功消息时,删除脏页索引数据中已读取的索引记录,得到脏页索引更新数据;以及数据迁入模块,用于源节点以脏页索引更新数据对脏页索引数据进行更新,重新读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点,直至脏页索引数据中索引记录对应的数据完成迁移。
在一个实施例中,虚拟机热迁移装置还包括数据写入模块,用于源节点基于已读取的索引记录确定脏页索引数据的访问起始位置;目标节点基于访问起始位置以及接收到的脏页数据,确定目标数据,并将目标数据写入目标节点对应的虚拟机。
在一个实施例中,数据写入模块还用于目标节点基于访问起始位置获取内存页信息和内存偏移信息;目标节点基于内存页信息和内存偏移信息,从接收到的脏页数据中获得目标数据,将目标数据写入目标节点对应的虚拟机。
在一个实施例中,数据迁入模块还用于源节点以脏页索引更新数据对脏页索引数据进行更新,重新读取并发送脏页索引数据中对应索引记录的脏页数据至目标节点;当脏页索引更新数据的实时数据量小于预设阈值时,源节点控制待迁移虚拟机暂停运行,直至脏页索引更新数据为空时,目标节点启动对应的虚拟机。
关于虚拟机热迁移装置的具体限定可以参见上文中对于虚拟机热迁移方法的限定,在此不再赘述。上述虚拟机热迁移装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储脏页索引数据、内存数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种虚拟机热迁移方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种虚拟机热迁移方法,其特征在于,所述方法包括:
接收目标节点发起的访问请求,所述访问请求用于访问预设的脏页索引数据,所述访问请求由所述目标节点在响应虚拟机热迁移请求时生成;
响应所述访问请求,读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点;
当接收到所述目标节点反馈的脏页数据写入成功消息时,删除所述脏页索引数据中已读取的索引记录,得到脏页索引更新数据;
以所述脏页索引更新数据对所述脏页索引数据进行更新,重新读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点,直至所述脏页索引数据中索引记录对应的数据完成迁移。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在待迁移虚拟机的热迁移启动时,确定存储有脏页索引初始数据的目标存储区域;
当检测到实时脏页数据时,根据所述脏页索引初始数据以及所述实时脏页数据,得到脏页索引数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述脏页索引初始数据以及所述实时脏页数据,得到脏页索引数据,包括:
基于所述实时脏页数据确定目标索引数据;
当所述脏页索引初始数据中存在所述目标索引数据对应的索引记录时,以所述目标索引数据更新所述索引记录,得到脏页索引数据;
当所述脏页索引初始数据中不存在所述目标索引数据对应的索引记录时,根据所述目标索引数据新增所述脏页索引初始数据的索引记录,得到脏页索引数据。
4.根据权利要求1所述的方法,其特征在于,所述读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点,包括:
基于所述访问请求对应的脏页索引数据中的索引记录,确定内存页信息、内存页偏移信息和内存量;
基于所述内存页信息、所述内存页偏移信息以及所述内存量,进行数据读取,并将读取到的脏页数据发送至所述目标节点。
5.一种虚拟机热迁移方法,其特征在于,所述方法包括:
目标节点响应虚拟机热迁移请求,向源节点发起脏页索引数据访问请求;
所述源节点响应响应所述访问请求,读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点;
所述源节点在接收到所述目标节点反馈的脏页数据写入成功消息时,删除所述脏页索引数据中已读取的索引记录,得到脏页索引更新数据;
所述源节点以所述脏页索引更新数据对所述脏页索引数据进行更新,重新读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点,直至所述脏页索引数据中索引记录对应的数据完成迁移。
6.根据权利要求5所述的方法,其特征在于,所述读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点之后,还包括:
所述源节点基于已读取的索引记录确定所述脏页索引数据的访问起始位置;
所述目标节点基于所述访问起始位置以及接收到的脏页数据,确定目标数据,并将所述目标数据写入所述目标节点对应的虚拟机。
7.根据权利要求6所述的方法,其特征在于,所述目标节点基于所述访问起始位置以及接收到的脏页数据,确定目标数据,并将所述目标数据写入所述目标节点对应的虚拟机,包括:
所述目标节点基于所述访问起始位置获取内存页信息和内存偏移信息;
所述目标节点基于所述内存页信息和内存偏移信息,从接收到的脏页数据中获得目标数据,将所述目标数据写入所述目标节点对应的虚拟机。
8.一种虚拟机热迁移装置,其特征在于,所述装置包括:
索引访问模块,用于接收目标节点发起的访问请求,所述访问请求用于访问预设的脏页索引数据,所述访问请求由所述目标节点在响应虚拟机热迁移请求时生成;
脏页获取模块,用于响应所述访问请求,读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点;
索引处理模块,用于当接收到所述目标节点反馈的脏页数据写入成功消息时,删除所述脏页索引数据中已读取的索引记录,得到脏页索引更新数据;
数据迁入模块,用于以所述脏页索引更新数据对所述脏页索引数据进行更新,重新读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点,直至所述脏页索引数据中索引记录对应的数据完成迁移。
9.一种虚拟机热迁移装置,其特征在于,所述系统包括:
索引访问模块,用于目标节点响应虚拟机热迁移请求,向源节点发起脏页索引数据访问请求;
脏页获取模块,用于所述源节点响应响应访问请求,读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点;
索引处理模块,用于所述源节点在接收到目标节点反馈的脏页数据写入成功消息时,删除所述脏页索引数据中已读取的索引记录,得到脏页索引更新数据;
数据迁入模块,用于所述源节点以所述脏页索引更新数据对脏页索引数据进行更新,重新读取并发送所述脏页索引数据中对应索引记录的脏页数据至所述目标节点,直至所述脏页索引数据中索引记录对应的数据完成迁移。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
CN202010876213.6A 2020-08-27 2020-08-27 虚拟机热迁移方法、装置和计算机设备 Pending CN112099908A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010876213.6A CN112099908A (zh) 2020-08-27 2020-08-27 虚拟机热迁移方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010876213.6A CN112099908A (zh) 2020-08-27 2020-08-27 虚拟机热迁移方法、装置和计算机设备

Publications (1)

Publication Number Publication Date
CN112099908A true CN112099908A (zh) 2020-12-18

Family

ID=73757955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010876213.6A Pending CN112099908A (zh) 2020-08-27 2020-08-27 虚拟机热迁移方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN112099908A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835528A (zh) * 2021-02-22 2021-05-25 北京金山云网络技术有限公司 脏页刷新方法和装置、电子设备和存储介质
CN115757438A (zh) * 2023-01-06 2023-03-07 本原数据(北京)信息技术有限公司 数据库的索引节点处理方法和装置、计算机设备及介质
CN116991546A (zh) * 2023-09-28 2023-11-03 杭州优云科技有限公司 一种跨平台存储热迁移方法及装置
CN117389685A (zh) * 2023-10-19 2024-01-12 北京云豹创芯智能科技有限公司 虚拟机热迁移标脏方法及其装置、后端设备、芯片

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835528A (zh) * 2021-02-22 2021-05-25 北京金山云网络技术有限公司 脏页刷新方法和装置、电子设备和存储介质
CN115757438A (zh) * 2023-01-06 2023-03-07 本原数据(北京)信息技术有限公司 数据库的索引节点处理方法和装置、计算机设备及介质
CN116991546A (zh) * 2023-09-28 2023-11-03 杭州优云科技有限公司 一种跨平台存储热迁移方法及装置
CN116991546B (zh) * 2023-09-28 2024-01-23 杭州优云科技有限公司 一种跨平台存储热迁移方法及装置
CN117389685A (zh) * 2023-10-19 2024-01-12 北京云豹创芯智能科技有限公司 虚拟机热迁移标脏方法及其装置、后端设备、芯片
CN117389685B (zh) * 2023-10-19 2024-03-19 北京云豹创芯智能科技有限公司 虚拟机热迁移标脏方法及其装置、后端设备、芯片

Similar Documents

Publication Publication Date Title
CN112099908A (zh) 虚拟机热迁移方法、装置和计算机设备
US11531482B2 (en) Data deduplication method and apparatus
CN113010818B (zh) 访问限流方法、装置、电子设备及存储介质
US10606806B2 (en) Method and apparatus for storing time series data
CN113296696A (zh) 一种数据的访问方法、计算设备及存储介质
CN104202375A (zh) 同步数据的方法及系统
CN107656695B (zh) 一种数据存储、删除方法、装置及分布式存储系统
KR20170123336A (ko) 파일 조작 방법 및 장치
WO2018054200A1 (zh) 文件读取方法和装置
CN111209090B (zh) 一种云平台中虚拟机的创建方法、组件及服务器
CN107580032B (zh) 数据处理方法、装置及设备
CN108881227B (zh) 远程白板系统的操作控制方法和装置、远程白板系统
CN113806300B (zh) 数据存储方法、系统、装置、设备及存储介质
CN106357703B (zh) 集群切换方法与设备
CN107577775B (zh) 一种读取数据方法、装置、电子设备及可读存储介质
CN113282580A (zh) 用于执行定时任务的方法、存储介质及服务器
CN113064553B (zh) 数据存储方法、装置、设备及介质
US10853892B2 (en) Social networking relationships processing method, system, and storage medium
CN108205559B (zh) 一种数据管理方法及其设备
CN112395220A (zh) 共享存储控制器的处理方法、装置、系统及存储控制器
CN111722909A (zh) 一种虚拟机迁移方法、系统、设备及存储介质
CN114928620B (zh) 用户信息同步方法、装置、设备、存储介质和程序产品
CN107577433B (zh) 一种存储介质和文件数据的迁移方法、装置及设备
CN113656496A (zh) 数据处理方法及系统
CN110825715B (zh) 基于Ceph对象存储的多对象数据秒合的实现方法

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
TA01 Transfer of patent application right

Effective date of registration: 20230927

Address after: 100089 Beijing Haidian District Zhichun Road 49 No. 3 West 309

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

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

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

TA01 Transfer of patent application right