虚拟机迁移方法、系统及电子设备技术方案

技术编号:29936619 阅读:22 留言:0更新日期:2021-09-04 19:14
本发明专利技术提供了一种虚拟机迁移方法、系统及电子设备,涉及虚拟机技术领域,该方法首先与接收端建立连接并向接收端发送第一报文;其中,第一报文包含待拷贝文件的属性信息;然后确定待拷贝文件的空洞区域及其位置信息;其中,空洞区域为待拷贝文件中连续存储二进制数值为0的存储块;再根据空洞区域及其位置信息确定待拷贝文件的非空洞区域及其偏移量;待非空洞区域及其偏移量传输完毕后向接收端发送第二报文并对待拷贝文件完整性进行校验的校验信息。该方法在报文中可使用文件空洞块的偏移量数据来代替文件空洞块的传输,进而提高迁移速度;并通过直写磁盘方式降低页缓存的占有率,提高了读写效率,有利于提升超大磁盘文件的传输速率。的传输速率。的传输速率。

【技术实现步骤摘要】
虚拟机迁移方法、系统及电子设备


[0001]本专利技术涉及虚拟机
,尤其是涉及一种虚拟机迁移方法、系统及电子设备。

技术介绍

[0002]现有虚拟机在迁移过程中,在静态迁移时会在源宿主机中首先创建系统的磁盘镜像文件(简称磁盘文件),然后将磁盘文件拷贝至目的宿主机上。具体的说,在源宿主机上的拷贝过程为:(1)打开待迁移的磁盘文件;(2)读取文件内容到缓存;(3)通过TCP/UCP将读取的文件内容发送到新的宿主机;(4)循环(2)

(3)直至文件发送完毕。在目的宿主上的拷贝过程为:(1)创建新文件并打开;(2)读取对端通过TCP/UDP传输过来的磁盘内容;(3)将读取的内容写入至(1)中创建的文件;(4)循环(2)

(3)直至文件接收完毕。
[0003]由于虚拟机运行产生的磁盘文件与普通文件不同,通常会存在较多的“空洞”数据。“空洞”数据是连续存储二进制为0的文件部分,一般来说虚拟机中的空洞占据磁盘总体空间的三分之一左右。不同格式的磁盘随着使用,其空洞变化也是不同的。以qcow2和raw格式的磁盘为例,一般来说,raw格式的磁盘中的空洞占比会随着使用而减少;qcow2格式的磁盘中的空洞占比会随着使用而增多。在虚拟机迁移过程中,这些空洞数据的传输会浪费带宽,降低传输效率。
[0004]同时,使用缓存I/O在虚拟机迁移过程中最大的问题是对页缓存的消耗。在虚拟机迁移过程中,涉及大量、频繁的文件读写操作,数据从应用程序的地址空间和页缓存之间,页缓存和磁盘之间进行大量的数据拷贝操作,这些数据拷贝操作所带来的CPU及内存开销是非常大的。若迁移的磁盘文件较大,或同时存在多个虚拟机文件进行迁移的时候,迁移效率会变低。
[0005]综上所述,目前的虚拟机迁移方案中存在着“空洞”数据造成浪费传输带宽的问题;并在读写文件过程中占用页缓存,导致读写效率低,且不利于超大磁盘文件的传输。

技术实现思路

[0006]有鉴于此,本专利技术的目的在于提供一种虚拟机迁移方法、系统及电子设备,在报文中可使用文件空洞块的偏移量数据来代替文件空洞块的传输,进而提高迁移速度;并通过直写磁盘方式降低页缓存的占有率,提高了读写效率,有利于提升超大磁盘文件的传输速率。
[0007]第一方面,本专利技术实施例提供了一种虚拟机迁移方法,该方法应用于发送端,包括:
[0008]与接收端建立连接,并向接收端发送第一报文;其中,第一报文包含待拷贝文件的属性信息;
[0009]确定待拷贝文件的空洞区域及其位置信息;其中,空洞区域为待拷贝文件中连续存储二进制数值为0的存储块;
[0010]根据空洞区域及其位置信息,确定待拷贝文件的非空洞区域及其偏移量,并将非
空洞区域及其偏移量依次从发送端的地址空间传输至接收端的磁盘中;
[0011]待非空洞区域及其偏移量传输完毕后向接收端发送第二报文;其中,第二报文包含对待拷贝文件完整性进行校验的校验信息。
[0012]在一些实施方式中,与接收端建立连接,并向接收端发送第一报文的步骤,包括:
[0013]发送端与接收端建立长连接,并初始化第一报文中的请求报文以及头消息报文;其中,请求报文用于通知接收端执行拷贝过程;头消息报文用于向接收端告知待拷贝文件的属性信息;
[0014]向接收端发送请求报文;
[0015]当接收到请求报文的响应报文后,向接收端发送头消息报文。
[0016]在一些实施方式中,确定待拷贝文件的空洞区域及其位置信息的步骤,包括:
[0017]按照预设的分片策略对待拷贝文件进行扫描,判断拷贝文件的分片是否为连续二进制数值为0的存储块;
[0018]如果是,则获取空洞区域所在拷贝文件的位置信息,并将存储块确定为空洞区域。
[0019]在一些实施方式中,将非空洞区域及其偏移量依次从发送端的地址空间传输至接收端的磁盘中,包括:
[0020]获取非空洞区域的数据流,将数据流从发送端的地址空间传输至应用缓冲区;
[0021]控制应用缓冲区的数据流,绕过虚拟机的系统内核缓冲区,直接传输至接收端的磁盘中。
[0022]第二方面,本专利技术实施例提供了一种虚拟机迁移方法,该方法应用于接收端,包括:
[0023]接收发送端建立连接后,接收发送端发来的第一报文;其中,第一报文包含待拷贝文件的属性信息;
[0024]根据第一报文中包含的待拷贝文件的属性信息,在接收端的磁盘中建立与待拷贝文件相映射的临时文件;
[0025]接收来自发送端的数据流及其偏移量,根据偏移量数据将数据流保存至临时文件中;
[0026]待数据流保存完毕时,接收来自发送端的第二报文,并利用第二报文中包含的校验信息对临时文件的完整性进行校验。
[0027]在一些实施方式中,根据第一报文中包含的待拷贝文件的属性信息,在接收端的磁盘中建立与待拷贝文件相映射的临时文件,包括:
[0028]接收来自发送端的请求报文;其中,请求报文用于通知接收端执行拷贝过程;
[0029]接收端响应请求报文,并将响应报文传输至发送端;
[0030]接收来自发送端的头消息报文;其中,头消息报文用于获取待拷贝文件的属性信息;
[0031]根据头消息报文中包含的待拷贝文件的属性信息,建立与拷贝文件相映射的临时文件。
[0032]第三方面,本专利技术实施例提供了一种虚拟机迁移系统,该系统应用于发送端,包括:
[0033]第一报文发送模块,用于与接收端建立连接,并向接收端发送第一报文;其中,第
一报文包含待拷贝文件的属性信息;
[0034]空洞区域确定模块,用于确定待拷贝文件的空洞区域及其位置信息;其中,空洞区域为待拷贝文件中连续存储二进制数值为0的存储块;
[0035]数据发送模块,用于根据空洞区域及其位置信息,确定待拷贝文件的非空洞区域及其偏移量,并将非空洞区域及其偏移量依次从发送端的地址空间传输至接收端的磁盘中;
[0036]第二报文发送模块,用于待非空洞区域及其偏移量传输完毕后向接收端发送第二报文;其中,第二报文包含对待拷贝文件完整性进行校验的校验信息。
[0037]第四方面,本专利技术实施例提供了一种虚拟机迁移系统,该系统应用于接收端,包括:
[0038]第一报文接收模块,用于接收发送端建立连接后,接收发送端发来的第一报文;其中,第一报文包含待拷贝文件的属性信息;
[0039]临时文件生成模块,用于根据第一报文中包含的待拷贝文件的属性信息,在接收端的磁盘中建立与待拷贝文件相映射的临时文件;
[0040]数据接收模块,用于接收来自发送端的数据流及其偏移量,根据偏移量数据将数据流保存至临时文件中;
[0041]数据校验模块,用于待数据流保存完毕时,接收来自发送端的第二报文,并利用第二报文中包含的校验信息对临时文件的完整性进行校验。
[0042]第五方面,本专利技术实施例还提供一种电子设备,包括存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟机迁移方法,其特征在于,所述方法应用于发送端,包括:与接收端建立连接,并向所述接收端发送第一报文;其中,所述第一报文包含待拷贝文件的属性信息;确定所述待拷贝文件的空洞区域及其位置信息;其中,所述空洞区域为所述待拷贝文件中连续存储二进制数值为0的存储块;根据所述空洞区域及其位置信息,确定所述待拷贝文件的非空洞区域及其偏移量,并将所述非空洞区域及其偏移量依次从所述发送端的地址空间传输至所述接收端的磁盘中;待所述非空洞区域及其偏移量传输完毕后向所述接收端发送第二报文;其中,所述第二报文包含对所述待拷贝文件完整性进行校验的校验信息。2.根据权利要求1所述的虚拟机迁移方法,其特征在于,与接收端建立连接,并向所述接收端发送第一报文的步骤,包括:所述发送端与所述接收端建立长连接,并初始化所述第一报文中的请求报文以及头消息报文;其中,所述请求报文用于通知所述接收端执行拷贝过程;所述头消息报文用于向所述接收端告知所述待拷贝文件的属性信息;向所述接收端发送所述请求报文;当接收到所述请求报文的响应报文后,向所述接收端发送所述头消息报文。3.根据权利要求1所述的虚拟机迁移方法,其特征在于,确定所述待拷贝文件的空洞区域及其位置信息的步骤,包括:按照预设的分片策略对所述待拷贝文件进行扫描,判断所述拷贝文件的分片是否为连续二进制数值为0的存储块;如果是,则获取所述空洞区域所在所述拷贝文件的位置信息,并将所述存储块确定为所述空洞区域。4.根据权利要求1所述的虚拟机迁移方法,其特征在于,将所述非空洞区域及其偏移量依次从所述发送端的地址空间传输至所述接收端的磁盘中,包括:获取所述非空洞区域的数据流,将所述数据流从所述发送端的地址空间传输至应用缓冲区;控制所述应用缓冲区的所述数据流,绕过所述虚拟机的系统内核缓冲区,直接传输至所述接收端的磁盘中。5.一种虚拟机迁移方法,其特征在于,所述方法应用于接收端,包括:接收发送端建立连接后,接收所述发送端发来的第一报文;其中,所述第一报文包含待拷贝文件的属性信息;根据所述第一报文中包含的所述待拷贝文件的属性信息,在所述接收端的磁盘中建立与所述待拷贝文件相映射的临时文件;接收来自所述发送端的数据流及其偏移量,根据所述偏移量数据将所述数据流保存至所述临时文件中;待所述数据流保存完毕时,接收来自所述发送端的第二报文,并利用所述第二报文中包含的校验信息对所述临时文件的完整性进行校验。6....

【专利技术属性】
技术研发人员:孟亮何继文潘宗辉金博玉黄学军刘蜀东穆森朱玥刘辉军邱桂苹杨硕俞坚华董全
申请(专利权)人:航天云网科技发展有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1