CN116755835B - 迁移虚拟机的方法、装置、计算机设备、介质和程序产品 - Google Patents

迁移虚拟机的方法、装置、计算机设备、介质和程序产品 Download PDF

Info

Publication number
CN116755835B
CN116755835B CN202310660803.9A CN202310660803A CN116755835B CN 116755835 B CN116755835 B CN 116755835B CN 202310660803 A CN202310660803 A CN 202310660803A CN 116755835 B CN116755835 B CN 116755835B
Authority
CN
China
Prior art keywords
virtual machine
disk
data storage
parent
nfs
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.)
Active
Application number
CN202310660803.9A
Other languages
English (en)
Other versions
CN116755835A (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.)
Guangzhou Dingjia Computer Technology Co ltd
Original Assignee
Guangzhou Dingjia Computer Technology 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 Guangzhou Dingjia Computer Technology Co ltd filed Critical Guangzhou Dingjia Computer Technology Co ltd
Priority to CN202310660803.9A priority Critical patent/CN116755835B/zh
Publication of CN116755835A publication Critical patent/CN116755835A/zh
Application granted granted Critical
Publication of CN116755835B publication Critical patent/CN116755835B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

本申请涉及一种迁移虚拟机的方法、装置、计算机设备、存储介质和计算机程序产品。本申请能够实现虚拟机的秒级迁移,提高了用户使用虚拟机的业务连续性。该方法包括:在接收到虚拟机迁移指令的情况下,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘;将NFS数据存储挂载到目标宿主机上;虚拟机的磁盘文件位于NFS数据存储上;编辑子磁盘,以使父磁盘的索引更改为目标宿主机的本地数据存储的父磁盘;在目标宿主机上,用NFS数据存储的子磁盘启动新虚拟机;在新虚拟机上,将NFS数据存储的子磁盘的数据整合到本地数据存储的父磁盘中。

Description

迁移虚拟机的方法、装置、计算机设备、介质和程序产品
技术领域
本申请涉及计算机技术领域,特别是涉及一种迁移虚拟机的方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机软件技术的发展,出现了拥有虚拟机环境的计算机,用户可以在宿主机上安装多个虚拟机,每个虚拟机都有独立的操作系统及软硬件环境,各个虚拟机之间的相互访问性也会被有效控制。
传统技术中,在进行虚拟机迁移的过程中,需要关闭虚拟机;然而,在网络条件不好或者虚拟机业务量较大的情况下,会造成虚拟机的停机时间过长,导致目前技术中用户使用虚拟机的业务连续性较差。
发明内容
基于此,有必要针对上述技术问题,提供一种迁移虚拟机的方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种迁移虚拟机的方法。所述方法包括:
在接收到虚拟机迁移指令的情况下,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘;
将NFS数据存储挂载到目标宿主机上;所述虚拟机的磁盘文件位于所述NFS数据存储上;
编辑所述子磁盘,以使所述父磁盘的索引更改为所述目标宿主机的本地数据存储的父磁盘;
在所述目标宿主机上,用所述NFS数据存储的子磁盘启动新虚拟机;
在所述新虚拟机上,将所述NFS数据存储的子磁盘的数据整合到所述本地数据存储的父磁盘中。
在其中一个实施例中,所述为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘,包括:
在所述源宿主机的所述NFS数据存储上创建所述虚拟机,并为所述虚拟机创建快照;在所述NFS数据存储中生成所述子磁盘和父磁盘;所述子磁盘用于进行所述虚拟机后续的读写操作,所述父磁盘变为只读状态。
在其中一个实施例中,在将NFS数据存储挂载到目标宿主机上之后,还包括:
将所述父磁盘中的数据拷贝到所述目标宿主机的本地数据存储中;在所述父磁盘中的数据成功拷贝到所述目标宿主机的本地数据存储的情况下,关闭所述虚拟机。
在其中一个实施例中,所述编辑所述子磁盘,以使所述父磁盘的索引更改为所述目标宿主机的本地数据存储的父磁盘,包括:
在所述子磁盘查询并获取所述父磁盘的第一索引,得到所述父磁盘的第一索引文件存放路径;获取第二索引文件存放路径;所述第二索引文件存放路径与所述目标宿主机的本地数据存储的父磁盘对应;根据所述第二索引文件存放路径,将所述第一索引更改为所述目标宿主机的本地数据存储的父磁盘。
在其中一个实施例中,所述在所述新虚拟机上,将所述NFS数据存储的子磁盘的数据整合到所述本地数据存储的父磁盘中,包括:
在所述新虚拟机上,获取所述NFS数据存储的子磁盘中的数据;对所述NFS数据存储的子磁盘中的数据进行预处理,得到预处理后的数据;触发所述新虚拟机的磁盘整合功能,以使所述预处理后的数据整合到所述本地数据存储的父磁盘中。
在其中一个实施例中,所述方法还包括:
在所述源宿主机中存在多个虚拟机的情况下,根据所述虚拟机迁移指令,识别出需要执行虚拟机迁移操作的至少一个目标虚拟机;针对每个目标虚拟机,独立执行所述虚拟机迁移操作;在识别到任一目标虚拟机完成虚拟机迁移操作的情况下,在所述源宿主机中关闭该目标虚拟机。
第二方面,本申请还提供了一种迁移虚拟机的装置。所述装置包括:
快照创建模块,用于在接收到虚拟机迁移指令的情况下,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘;
存储挂载模块,用于将NFS数据存储挂载到目标宿主机上;所述虚拟机的磁盘文件位于NFS数据存储上;
磁盘编辑模块,用于编辑所述子磁盘,以使所述父磁盘的索引更改为所述目标宿主机的本地数据存储的父磁盘;
新机启动模块,用于在所述目标宿主机上,用所述NFS数据存储的子磁盘启动新虚拟机;
数据整合模块,用于在所述新虚拟机上,将所述NFS数据存储的子磁盘的数据整合到所述本地数据存储的父磁盘中。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在接收到虚拟机迁移指令的情况下,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘;将NFS数据存储挂载到目标宿主机上;所述虚拟机的磁盘文件位于NFS数据存储上;编辑所述子磁盘,以使所述父磁盘的索引更改为所述目标宿主机的本地数据存储的父磁盘;在所述目标宿主机上,用所述NFS数据存储的子磁盘启动新虚拟机;在所述新虚拟机上,将所述NFS数据存储的子磁盘的数据整合到所述本地数据存储的父磁盘中。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
在接收到虚拟机迁移指令的情况下,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘;将NFS数据存储挂载到目标宿主机上;所述虚拟机的磁盘文件位于NFS数据存储上;编辑所述子磁盘,以使所述父磁盘的索引更改为所述目标宿主机的本地数据存储的父磁盘;在所述目标宿主机上,用所述NFS数据存储的子磁盘启动新虚拟机;在所述新虚拟机上,将所述NFS数据存储的子磁盘的数据整合到所述本地数据存储的父磁盘中。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
在接收到虚拟机迁移指令的情况下,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘;将NFS数据存储挂载到目标宿主机上;所述虚拟机的磁盘文件位于NFS数据存储上;编辑所述子磁盘,以使所述父磁盘的索引更改为所述目标宿主机的本地数据存储的父磁盘;在所述目标宿主机上,用所述NFS数据存储的子磁盘启动新虚拟机;在所述新虚拟机上,将所述NFS数据存储的子磁盘的数据整合到所述本地数据存储的父磁盘中。
上述迁移虚拟机的方法、装置、计算机设备、存储介质和计算机程序产品,在接收到虚拟机迁移指令的情况下,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘;将NFS数据存储挂载到目标宿主机上;虚拟机的磁盘文件位于NFS数据存储上;编辑子磁盘,以使父磁盘的索引更改为目标宿主机的本地数据存储的父磁盘;在目标宿主机上,用NFS数据存储的子磁盘启动新虚拟机;在新虚拟机上,将NFS数据存储的子磁盘的数据整合到本地数据存储的父磁盘中。综上整个虚拟机迁移的过程,通过将NFS数据存储的虚拟机迁移到其他宿主机的本地数据存储,有效避免了网络条件和虚拟机业务量等因素对虚拟机停机时间的影响,可以保证虚拟机迁移过程中的停机时间固定在几秒钟之内,从而实现虚拟机的秒级迁移,进而提高了用户使用虚拟机的业务连续性。
附图说明
图1为一个实施例中迁移虚拟机的方法的应用环境图;
图2为一个实施例中迁移虚拟机的方法的流程示意图;
图3为一个实施例中编辑子磁盘步骤的流程示意图;
图4为另一个实施例中迁移虚拟机的方法的流程示意图;
图5为又一个实施例中迁移虚拟机的方法的流程示意图;
图6为一个实施例中迁移虚拟机的装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的迁移虚拟机的方法,可以应用于如图1所示的应用环境中。其中,客户端101分别与源宿主机102和目标宿主机103通信连接,源宿主机102与目标宿主机103通信连接。具体的,参考图1,客户端101发送虚拟机迁移指令至源宿主机102;源宿主机102在接收到虚拟机迁移指令的情况下,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘;将NFS数据存储挂载到目标宿主机上;虚拟机的磁盘文件位于NFS数据存储上;编辑子磁盘,以使父磁盘的索引更改为目标宿主机的本地数据存储的父磁盘;源宿主机102在目标宿主机103上,用NFS数据存储的子磁盘启动新虚拟机;在新虚拟机上,将NFS数据存储的子磁盘的数据整合到本地数据存储的父磁盘中。
其中,客户端101可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备;源宿主机102和目标宿主机103均为拥有虚拟机环境的计算机,用户可以在宿主机上安装多个虚拟机,每个虚拟机都可以独立运作。
在一个实施例中,如图2所示,提供了一种迁移虚拟机的方法,以该方法应用于图1中的源宿主机102为例进行说明,包括以下步骤:
步骤S201,在接收到虚拟机迁移指令的情况下,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘。
其中,虚拟机迁移指令指的是通过客户端101发送给源宿主机102的指令,源宿主机102接收到指令后执行指令要求的虚拟机迁移操作,且该虚拟机迁移指令里面所指定的迁移对象以及数量是由人为选择控制的。
其中,虚拟机是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统;宿主机是指拥有虚拟机环境的计算机。
其中,快照是指在某一时刻保存系统的状态的过程,快照的状态是在一定时间点前的系统状态,它可以将数据存储到某一特定的硬盘分区,并提供一个恢复点;虚拟机创建快照后,会生成一个子磁盘,原来的磁盘称为父磁盘,父磁盘变成只读状态,后续的虚拟机写数据都落到子磁盘上;当虚拟机删除快照时,子磁盘数据会自动整合到父磁盘中,然后子磁盘会自动被删除。
具体地,客户端101响应于用户的虚拟机迁移需求,生成对应的虚拟机迁移指令并发送至源宿主机102;源宿主机102在接收到虚拟机迁移指令的情况下,为源宿主机102中的虚拟机创建快照,得到子磁盘和父磁盘。
步骤S202,将NFS数据存储挂载到目标宿主机上;虚拟机的磁盘文件位于NFS数据存储上。
其中,ESXi是专为运行虚拟机、最大限度降低配置要求和简化部署而设计的,可以引申为“宿主机”;NFS是一种通用的网络协议;NFS数据存储是ESXi的一种存储类型,其原理是将外部服务器的一个目录,通过NFS协议挂载到ESXi上,作为NFS数据存储,ESXi可以在NFS数据存储上创建虚拟机使用。
具体地,源宿主机102获取目标宿主机的索引文件存放路径,并将NFS数据存储挂载到目标宿主机上。
步骤S203,编辑子磁盘,以使父磁盘的索引更改为目标宿主机的本地数据存储的父磁盘。
其中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单;索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
具体地,源宿主机102识别出父磁盘的索引,对子磁盘进行编辑,以使父磁盘的索引更改为目标宿主机的本地数据存储的父磁盘。
步骤S204,在目标宿主机上,用NFS数据存储的子磁盘启动新虚拟机。
具体地,源宿主机102在目标宿主机103上,用NFS数据存储的子磁盘启动一个新虚拟机。
步骤S205,在新虚拟机上,将NFS数据存储的子磁盘的数据整合到本地数据存储的父磁盘中。
其中,在NFS数据存储的子磁盘的数据被整合到本地数据存储的父磁盘之后,NFS数据存储的子磁盘会被自动删除。
具体地,源宿主机102在新虚拟机上,触发新虚拟机的磁盘整合功能,以使NFS数据存储的子磁盘的数据整合到本地数据存储的父磁盘中。
上述迁移虚拟机的方法中,在接收到虚拟机迁移指令的情况下,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘;将NFS数据存储挂载到目标宿主机上;虚拟机的磁盘文件位于NFS数据存储上;编辑子磁盘,以使父磁盘的索引更改为目标宿主机的本地数据存储的父磁盘;在目标宿主机上,用NFS数据存储的子磁盘启动新虚拟机;在新虚拟机上,将NFS数据存储的子磁盘的数据整合到本地数据存储的父磁盘中。综上整个虚拟机迁移的过程,通过将NFS数据存储的虚拟机迁移到其他宿主机的本地数据存储,有效避免了网络条件和虚拟机业务量等因素对虚拟机停机时间的影响,可以保证虚拟机迁移过程中的停机时间固定在几秒钟之内,从而实现虚拟机的秒级迁移,进而提高了用户使用虚拟机的业务连续性。
在其中一个实施例中,上述步骤S201中,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘,具体包括如下步骤:在源宿主机的NFS数据存储上创建虚拟机,并为虚拟机创建快照;在NFS数据存储中生成子磁盘和父磁盘;子磁盘用于进行虚拟机后续的读写操作,父磁盘变为只读状态。
具体地,源宿主机102在NFS数据存储上创建虚拟机,并在虚拟机中创建快照;在NFS数据存储中生成子磁盘和父磁盘;子磁盘用于进行虚拟机后续的读写操作,父磁盘变为只读状态。
本实施例中,通过为虚拟机创建快照,得到子磁盘和父磁盘;从而有效地减少了重新部署的时间和成本。
在其中一个实施例中,在将NFS数据存储挂载到目标宿主机上之后,还包括如下步骤:将父磁盘中的数据拷贝到目标宿主机的本地数据存储中;在父磁盘中的数据成功拷贝到目标宿主机的本地数据存储的情况下,关闭虚拟机。
具体地,源宿主机102将父磁盘中的数据拷贝到目标宿主机的本地数据存储中;实时监测父磁盘的数据拷贝情况,在监测到父磁盘中的数据成功拷贝到目标宿主机的本地数据存储的情况,关闭虚拟机。
本实施例中,通过实时监测父磁盘的数据拷贝情况,在监测到父磁盘中的数据成功拷贝到目标宿主机的本地数据存储的情况,关闭虚拟机;从而极大地缩短了虚拟机的停机时间。
在其中一个实施例中,如图3所示,上述步骤S203中,编辑子磁盘,以使父磁盘的索引更改为目标宿主机的本地数据存储的父磁盘,具体包括如下步骤:
步骤S301,在子磁盘查询并获取父磁盘的第一索引,得到父磁盘的第一索引文件存放路径。
步骤S302,获取第二索引文件存放路径;第二索引文件存放路径与目标宿主机的本地数据存储的父磁盘对应。
步骤S303,根据第二索引文件存放路径,将第一索引更改为目标宿主机的本地数据存储的父磁盘。
其中,索引文件存放路径简单地说就是文件的存放位置,它包含具体的盘符号,也就是位于电脑上哪个磁盘分区、哪个文件夹(目录)和最终这个文件的名称+文件类型扩展名。
具体地,源宿主机102在子磁盘查询并获取父磁盘的第一索引,得到父磁盘的第一索引文件存放路径;获取与目标宿主机的本地数据存储的父磁盘对应的第二索引文件存放路径;根据第二索引文件存放路径,将第一索引更改为目标宿主机的本地数据存储的父磁盘。
本实施例中,通过编辑子磁盘,将父磁盘的索引更改为目标宿主机的本地数据存储的父磁盘;从而利用子磁盘与父磁盘之间的关联,有效地更改了父磁盘的索引。
在其中一个实施例中,上述步骤S205中,在新虚拟机上,将NFS数据存储的子磁盘的数据整合到本地数据存储的父磁盘中,具体包括如下步骤:在新虚拟机上,获取NFS数据存储的子磁盘中的数据;对NFS数据存储的子磁盘中的数据进行预处理,得到预处理后的数据;触发新虚拟机的磁盘整合功能,以使预处理后的数据整合到本地数据存储的父磁盘中。
其中,预处理是指对所收集数据进行分类或分组前所做的审核、筛选、排序等必要的处理。
具体地,源宿主机102在新虚拟机上,获取NFS数据存储的子磁盘中的数据;对NFS数据存储的子磁盘中的数据进行预处理,得到预处理后的数据;利用新虚拟机的磁盘整合功能,将预处理后的数据整合到本地数据存储的父磁盘中。
举例说明,源宿主机102在新虚拟机上,获取NFS数据存储的子磁盘中的数据;对NFS数据存储的子磁盘中的数据进行审核、筛选和排序的操作,得到预处理后的数据;对新虚拟机创建快照,然后删除新虚拟机的所有快照,以触发新虚拟机的磁盘整合功能,将预处理后的数据整合到本地数据存储的父磁盘中。
本实施例中,通过将NFS数据存储的子磁盘的数据整合到本地数据存储的父磁盘中,从而保证了数据的完整性,并实现了虚拟机的迁移。
在其中一个实施例中,还包括如下步骤:
在源宿主机中存在多个虚拟机的情况下,根据虚拟机迁移指令,识别出需要执行虚拟机迁移操作的至少一个目标虚拟机;针对每个目标虚拟机,独立执行虚拟机迁移操作;在识别到任一目标虚拟机完成虚拟机迁移操作的情况下,在源宿主机中关闭该目标虚拟机。
具体地,在源宿主机102中存在多个虚拟机的情况下,源宿主机102根据虚拟机迁移指令,识别出需要执行虚拟机迁移操作的至少一个目标虚拟机;针对每个目标虚拟机,独立执行虚拟机迁移操作;实时监测每个目标虚拟机的迁移情况,在监测到任一目标虚拟机完成虚拟机迁移操作的情况下,在源宿主机中关闭该目标虚拟机。
本实施例中,通过在源宿主机中存在多个虚拟机的情况下,根据虚拟机迁移指令,识别出需要执行虚拟机迁移操作的至少一个目标虚拟机;针对每个目标虚拟机,独立执行虚拟机迁移操作;从而有效地提高了虚拟机迁移的工作和管理效率,并有利于提高用户使用虚拟机的业务连续性。
在一个实施例中,如图4所示,还提供了一种迁移虚拟机的方法,具体包括以下步骤:
步骤S401,在接收到虚拟机迁移指令的情况下,源宿主机在NFS数据存储上创建虚拟机,并为虚拟机创建快照;在NFS数据存储中生成子磁盘和父磁盘;子磁盘用于进行虚拟机后续的读写操作,父磁盘变为只读状态。
步骤S402,将NFS数据存储挂载到目标宿主机上;虚拟机的磁盘文件位于NFS数据存储上。
步骤S403,将父磁盘中的数据拷贝到目标宿主机的本地数据存储中;在父磁盘中的数据成功拷贝到目标宿主机的本地数据存储的情况下,关闭虚拟机。
步骤S404,在子磁盘查询并获取父磁盘的第一索引,得到父磁盘的第一索引文件存放路径;获取第二索引文件存放路径;第二索引文件存放路径与目标宿主机的本地数据存储的父磁盘对应;根据第二索引文件存放路径,将第一索引更改为目标宿主机的本地数据存储的父磁盘。
步骤S405,在目标宿主机上,用NFS数据存储的子磁盘启动新虚拟机。
步骤S406,在新虚拟机上,获取NFS数据存储的子磁盘中的数据;对NFS数据存储的子磁盘中的数据进行预处理,得到预处理后的数据;触发新虚拟机的磁盘整合功能,以使预处理后的数据整合到本地数据存储的父磁盘中。
步骤S407,在源宿主机中存在多个虚拟机的情况下,根据虚拟机迁移指令,识别出需要执行虚拟机迁移操作的至少一个目标虚拟机;针对每个目标虚拟机,独立执行虚拟机迁移操作;在识别到任一目标虚拟机完成虚拟机迁移操作的情况下,在源宿主机中关闭该目标虚拟机。
本实施例的迁移虚拟机的方法,通过将NFS数据存储的虚拟机迁移到其他宿主机的本地数据存储,有效避免了网络条件和虚拟机业务量等因素对虚拟机停机时间的影响,可以保证虚拟机迁移过程中的停机时间固定在几秒钟之内,从而实现虚拟机的秒级迁移,进而提高了用户使用虚拟机的业务连续性。
为了更清晰阐明本申请实施例提供的迁移虚拟机的方法,以下以一个具体的实施例对该迁移虚拟机的方法进行具体说明。在一个实施例中,如图5所示,本申请还提供了一种迁移虚拟机的方法,具体包括以下步骤:
步骤S501,为源宿主机的即时恢复中的虚拟机创建快照。
其中,即时恢复是指将虚拟机备份集瞬间恢复到用户指定的宿主机上,原理是将虚拟机备份集的磁盘文件拷贝到某个目录,然后将该目录通过NFS协议挂载到宿主机上,然后在宿主机上用NFS数据存储的磁盘文件创建虚拟机来使用。
步骤S502,将NFS数据存储挂载到目标宿主机上,并将父磁盘中的数据拷贝到目标宿主机的本地数据存储中。
步骤S503,关闭该虚拟机。
步骤S504,编辑子磁盘,将父磁盘的索引更改为目标宿主机的本地数据存储的父磁盘。
步骤S505,在目标宿主机上,用NFS数据存储的子磁盘启动一新虚拟机。
步骤S506,在新虚拟机上,触发磁盘整合,将子磁盘的数据自动整合到本地数据存储的父磁盘中。
上述实施例带来的有益效果如下:本申请在迁移虚拟机的过程中,因为不需要拷贝子磁盘,而是关闭虚拟机后,直接编辑子磁盘文件,更改其中的父磁盘索引路径,就能立刻重新启动虚拟机,使虚拟机的停机时间仅仅为几秒钟,保证了用户虚拟机业务的连续性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的迁移虚拟机的方法的迁移虚拟机的装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个迁移虚拟机的装置实施例中的具体限定可以参见上文中对于迁移虚拟机的方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种迁移虚拟机的装置,包括:
快照创建模块601,用于在接收到虚拟机迁移指令的情况下,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘。
存储挂载模块602,用于将NFS数据存储挂载到目标宿主机上;虚拟机的磁盘文件位于NFS数据存储上。
磁盘编辑模块603,用于编辑子磁盘,以使父磁盘的索引更改为目标宿主机的本地数据存储的父磁盘。
新机启动模块604,用于在目标宿主机上,用NFS数据存储的子磁盘启动新虚拟机。
数据整合模块605,用于在新虚拟机上,将NFS数据存储的子磁盘的数据整合到本地数据存储的父磁盘中。
在一个实施例中,快照创建模块601,还用于在源宿主机的NFS数据存储上创建虚拟机,并为虚拟机创建快照;在NFS数据存储中生成子磁盘和父磁盘;子磁盘用于进行虚拟机后续的读写操作,父磁盘变为只读状态。
在一个实施例中,迁移虚拟机的装置还包括数据拷贝模块,用于将父磁盘中的数据拷贝到目标宿主机的本地数据存储中;在父磁盘中的数据成功拷贝到目标宿主机的本地数据存储的情况下,关闭虚拟机。
在一个实施例中,磁盘编辑模块603,还用于在子磁盘查询并获取父磁盘的第一索引,得到父磁盘的第一索引文件存放路径;获取第二索引文件存放路径;第二索引文件存放路径与目标宿主机的本地数据存储的父磁盘对应;根据第二索引文件存放路径,将第一索引更改为目标宿主机的本地数据存储的父磁盘。
在一个实施例中,数据整合模块605,还用于在新虚拟机上,获取NFS数据存储的子磁盘中的数据;对NFS数据存储的子磁盘中的数据进行预处理,得到预处理后的数据;触发新虚拟机的磁盘整合功能,以使预处理后的数据整合到本地数据存储的父磁盘中。
在一个实施例中,迁移虚拟机的装置还包括指令识别模块,用于在源宿主机中存在多个虚拟机的情况下,根据虚拟机迁移指令,识别出需要执行虚拟机迁移操作的至少一个目标虚拟机;针对每个目标虚拟机,独立执行虚拟机迁移操作;在识别到任一目标虚拟机完成虚拟机迁移操作的情况下,在源宿主机中关闭该目标虚拟机。
上述迁移虚拟机的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种迁移虚拟机的方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (9)

1.一种迁移虚拟机的方法,其特征在于,所述方法包括:
在接收到虚拟机迁移指令的情况下,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘;
将NFS数据存储挂载到目标宿主机上;所述虚拟机的磁盘文件位于所述NFS数据存储上;
在所述子磁盘查询并获取所述父磁盘的第一索引,得到所述父磁盘的第一索引文件存放路径;获取第二索引文件存放路径;所述第二索引文件存放路径与所述目标宿主机的本地数据存储的父磁盘对应;根据所述第二索引文件存放路径,将所述第一索引更改为所述目标宿主机的本地数据存储的父磁盘;
在所述目标宿主机上,用所述NFS数据存储的子磁盘启动新虚拟机;
在所述新虚拟机上,将所述NFS数据存储的子磁盘的数据整合到所述本地数据存储的父磁盘中。
2.根据权利要求1所述的方法,其特征在于,所述为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘,包括:
在所述源宿主机的所述NFS数据存储上创建所述虚拟机,并为所述虚拟机创建快照;
在所述NFS数据存储中生成所述子磁盘和父磁盘;所述子磁盘用于进行所述虚拟机后续的读写操作,所述父磁盘变为只读状态。
3.根据权利要求1所述的方法,其特征在于,在将NFS数据存储挂载到目标宿主机上之后,还包括:
将所述父磁盘中的数据拷贝到所述目标宿主机的本地数据存储中;
在所述父磁盘中的数据成功拷贝到所述目标宿主机的本地数据存储的情况下,关闭所述虚拟机。
4.根据权利要求1所述的方法,其特征在于,所述在所述新虚拟机上,将所述NFS数据存储的子磁盘的数据整合到所述本地数据存储的父磁盘中,包括:
在所述新虚拟机上,获取所述NFS数据存储的子磁盘中的数据;
对所述NFS数据存储的子磁盘中的数据进行预处理,得到预处理后的数据;
触发所述新虚拟机的磁盘整合功能,以使所述预处理后的数据整合到所述本地数据存储的父磁盘中。
5.根据权利要求1至3任意一项所述的方法,其特征在于,所述方法还包括:
在所述源宿主机中存在多个虚拟机的情况下,根据所述虚拟机迁移指令,识别出需要执行虚拟机迁移操作的至少一个目标虚拟机;
针对每个目标虚拟机,独立执行所述虚拟机迁移操作;
在识别到任一目标虚拟机完成虚拟机迁移操作的情况下,在所述源宿主机中关闭该目标虚拟机。
6.一种迁移虚拟机的装置,其特征在于,所述装置包括:
快照创建模块,用于在接收到虚拟机迁移指令的情况下,为源宿主机中的虚拟机创建快照,得到子磁盘和父磁盘;
存储挂载模块,用于将NFS数据存储挂载到目标宿主机上;所述虚拟机的磁盘文件位于NFS数据存储上;
磁盘编辑模块,用于在所述子磁盘查询并获取所述父磁盘的第一索引,得到所述父磁盘的第一索引文件存放路径;获取第二索引文件存放路径;所述第二索引文件存放路径与所述目标宿主机的本地数据存储的父磁盘对应;根据所述第二索引文件存放路径,将所述第一索引更改为所述目标宿主机的本地数据存储的父磁盘;
新机启动模块,用于在所述目标宿主机上,用所述NFS数据存储的子磁盘启动新虚拟机;
数据整合模块,用于在所述新虚拟机上,将所述NFS数据存储的子磁盘的数据整合到所述本地数据存储的父磁盘中。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
9.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN202310660803.9A 2023-06-05 2023-06-05 迁移虚拟机的方法、装置、计算机设备、介质和程序产品 Active CN116755835B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310660803.9A CN116755835B (zh) 2023-06-05 2023-06-05 迁移虚拟机的方法、装置、计算机设备、介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310660803.9A CN116755835B (zh) 2023-06-05 2023-06-05 迁移虚拟机的方法、装置、计算机设备、介质和程序产品

Publications (2)

Publication Number Publication Date
CN116755835A CN116755835A (zh) 2023-09-15
CN116755835B true CN116755835B (zh) 2024-05-14

Family

ID=87954509

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310660803.9A Active CN116755835B (zh) 2023-06-05 2023-06-05 迁移虚拟机的方法、装置、计算机设备、介质和程序产品

Country Status (1)

Country Link
CN (1) CN116755835B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737512A (zh) * 2019-10-25 2020-01-31 北京浪潮数据技术有限公司 跨平台虚拟机在线迁移方法及相关组件
CN111352647A (zh) * 2020-02-26 2020-06-30 平安科技(深圳)有限公司 虚拟机升级方法、装置、设备及存储介质
CN115390991A (zh) * 2022-08-29 2022-11-25 江苏安超云软件有限公司 虚拟机的导入导出方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220245100A1 (en) * 2021-01-29 2022-08-04 Rubrik, Inc. Cross-platform database migration management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737512A (zh) * 2019-10-25 2020-01-31 北京浪潮数据技术有限公司 跨平台虚拟机在线迁移方法及相关组件
CN111352647A (zh) * 2020-02-26 2020-06-30 平安科技(深圳)有限公司 虚拟机升级方法、装置、设备及存储介质
CN115390991A (zh) * 2022-08-29 2022-11-25 江苏安超云软件有限公司 虚拟机的导入导出方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN116755835A (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
US10503604B2 (en) Virtual machine data protection
US9558072B1 (en) Block-level incremental recovery of a storage volume
US9411821B1 (en) Block-based backups for sub-file modifications
US11461270B2 (en) Shard splitting
US9424137B1 (en) Block-level backup of selected files
US7774316B2 (en) Filesystem snapshot enhancement to improve system performance
CN109542682B (zh) 一种数据备份方法、装置、设备和存储介质
US10146637B1 (en) Intelligent snapshot rollbacks
CN111078667B (zh) 一种数据迁移的方法以及相关装置
JP2015503168A (ja) アプリケーションデータを復元するためのシステム及び方法
US11210319B2 (en) Replication progress for UPIT snapshots
CN109144416B (zh) 查询数据的方法和装置
CN104077380A (zh) 一种重复数据删除方法、装置及系统
JP2016045869A (ja) データの復旧方法、プログラムおよびデータ処理システム
CN104216801A (zh) 一种面向虚拟化环境的数据复制方法及系统
JP2003330782A (ja) 計算機システム
US8843450B1 (en) Write capable exchange granular level recoveries
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
US9251020B1 (en) Systems and methods for file-level replication
US11144233B1 (en) Efficiently managing point-in-time copies of data within a primary storage system
US11003543B2 (en) Generic metadata tags with namespace-specific semantics in a storage appliance
CN107544865A (zh) 一种备份数据快速可用的方法和装置
JP2017167811A (ja) バックアップ制御装置、バックアップ制御方法及びプログラム
US11514002B2 (en) Indexing splitter for any pit replication
CN116755835B (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
GR01 Patent grant
GR01 Patent grant