CN112527461B - 一种面向飞腾平台的微虚拟机在线迁移方法及系统 - Google Patents
一种面向飞腾平台的微虚拟机在线迁移方法及系统 Download PDFInfo
- Publication number
- CN112527461B CN112527461B CN202011496285.4A CN202011496285A CN112527461B CN 112527461 B CN112527461 B CN 112527461B CN 202011496285 A CN202011496285 A CN 202011496285A CN 112527461 B CN112527461 B CN 112527461B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- micro
- des
- src
- target
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 142
- 230000005012 migration Effects 0.000 title claims abstract description 47
- 238000013508 migration Methods 0.000 title claims abstract description 47
- 230000008569 process Effects 0.000 claims abstract description 109
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 238000003860 storage Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 7
- 230000008014 freezing Effects 0.000 claims description 3
- 238000007710 freezing Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 7
- 238000002955 isolation Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012367 process mapping Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
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)
- Stored Programmes (AREA)
Abstract
本发明公开了一种面向飞腾平台的微虚拟机在线迁移方法及系统,本发明包括在目标物理节点node_des上初始化目标微虚拟机vm_des;在源物理节点node_src上保存源微虚拟机vm_src中的应用程序状态;将源物理节点node_src中保存源微虚拟机vm_src中的应用程序状态得到的指定目录下的进程状态文件同步传输至目标物理节点node_des上对应的指定目录下;在目标微虚拟机vm_des中预留进程状态文件中记录的应用程序原始进程号;在目标微虚拟机vm_des中恢复应用程序状态。本发明能够实现微虚拟机在线迁移功能,极大地提高了微虚拟机的使用场景,可降低网络传输开销,提高微虚拟机在线迁移效率。
Description
技术领域
本发明涉及计算机领域内云计算环境下微虚拟机的在线迁移技术,具体涉及一种面向飞腾平台的微虚拟机在线迁移方法及系统。
背景技术
随着云计算技术的日益发展成熟,云计算技术及其平台已在多个领域得到了广泛的运行,已成为数据中心进行资源管理的核心手段。云计算技术通过将数据中心基础设施资源的虚拟化,比如CPU虚拟化、内存虚拟化、网络虚拟化、存储虚拟化、加速部件虚拟化等,形成统一的虚拟化资源池,为用户提供按期、可靠、弹性的资源服务器。总的来说通过数据中心虚拟化可以为IT部门实现下列优势奠定基础:①降低总体拥有成本(TCO):数据中心虚拟化可以帮助IT部门提高设备利用率和能源利用的有效性,提升运营效率,以及降低投资开支。②提高永续性:数据中心虚拟化所提供的抽象能力有助于在不中断正常业务的情况下进行预先安排的停机维护,以及更加迅速地从意外断网事故中恢复。③提高灵活性:因为IT部门不会受到服务和物理硬件之间预定关系的限制,所以一个协调一致的虚拟化基础设施可以迅速地满足新的应用和服务需求。
目前KVM、Xen和Docker作为最常用的虚拟化技术,具有各自的优缺点和应用领域。KVM和Xen等作为内核虚拟化技术的代表,其优点在于单个物理机可运行不同的操作系统,安全隔离性强,缺点是虚拟化开销大、灵活性较差。Docker作为轻量级虚拟化技术,其优点在于不需要指令模拟或转换、虚拟化开销小、支持应用的快速部署等,缺点则是安全隔离性弱,和宿主机共享操作系统。随着云原生等计算模式的应用,Docker作为资源虚拟化方面优势显而易见,但是其隔离性差的不足显得更加明显,为此发明人提出了一种面向飞腾处理器平台的微虚拟机技术,该技术综合了KVM和Docker的优点,底层通过Qemu技术虚拟必要的硬件设备,并通过运行精简的guest kernel为Docker提供隔离的虚拟机环境,虚拟机内部通过代理为用户提供所有Docker管理接口。在此模式,通过微虚拟机解决方案,相当于将Docker容器运行在极简的Qemu模拟环境下,即兼顾了Docker提供平台服务的便捷性,又通过极简的Qemu在较少的性能损耗下提高了Docker运行环境的隔离性。
在线迁移作为虚拟化场景下核心技术之一,为用户提供业务不中断场景下的故障修复、负载均衡等技术保证。目前,KVM在X86和飞腾平台下均具有成熟的在线迁移方案,可以依托共享存储,通过内存脏页的增量迭代同步实现。Docker由于使用场景的关系,具备较为成熟的无状态迁移能力,为了提供在线迁移的支持,通过进程保存、恢复的方式实现。
但是在微虚拟机技术架构下,因微虚拟机采用极简Qemu定制策略,传统的KVM迁移方式由于缺乏相应的Qemu迁移接口,无法采用内存迁移方式完成在线迁移;同时由于Qemu对Docker运行环境的隔离,现有的针对Docker的在线迁移方法也无法实现针对微虚拟机的在线迁移。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种面向飞腾平台的微虚拟机在线迁移方法及系统,本发明通过对微虚拟机中Qemu模拟环境的整体迁移和Docker进程的动态迁移,实现微虚拟机的在线迁移,本发明通过分析微虚拟机中各个模块的运行特征,通过分层迁移的方式,实现飞腾处理器架构下用户无感知的微虚拟机在线迁移功能,极大地提高了微虚拟机的使用场景,可降低网络传输开销,提高微虚拟机在线迁移效率。
为了解决上述技术问题,本发明采用的技术方案为:
一种面向飞腾平台的微虚拟机在线迁移方法,包括:
1)在目标物理节点node_des上初始化目标微虚拟机vm_des;
2)在源物理节点node_src上保存源微虚拟机vm_src中的应用程序状态;
3)将源物理节点node_src中保存源微虚拟机vm_src中的应用程序状态得到的指定目录下的进程状态文件同步传输至目标物理节点node_des上对应的指定目录下;
4)在目标微虚拟机vm_des中预留进程状态文件中记录的应用程序原始进程号;
5)在目标微虚拟机vm_des中恢复应用程序状态。
可选地,步骤1)包括:在目标物理节点node_des上采用与源微虚拟机vm_src采用相同的镜像、相同方法创建新的微虚拟机作为目标微虚拟机vm_des。
可选地,步骤2)包括:
2.1)判断源物理节点node_src、目标物理节点node_des间的时间差是否超过预设阈值,若超过预设阈值则将源物理节点node_src、目标物理节点node_des进行时间同步;
2.2)将源微虚拟机vm_src与源物理节点node_src进行时间同步;
2.3)重新挂载目标微虚拟机vm_des的进程信息目录/proc/sys,将进程信息目录/proc/sys挂载为可读写目录;
2.4)从源物理节点node_src映射可读写的指定目录至源微虚拟机vm_src;
2.5)通过获取PID系统调用函数pidof获取应用程序在源微虚拟机vm_src内的进程号PID_of_App作为应用程序状态;
2.6)通过跟踪系统调用函数ptrace遍历进程号PID_of_App相关的所有线程tid,并进行冻结后保存资源,该资源包括文件描述号、maps文件、寄存器参数、内存页,将进程ID的相关状态信息作为进程状态文件保存至步骤2.4)创建的可读写的指定目录中。
可选地,步骤3)中同步传输至目标物理节点node_des上对应的目录下是指通过文件同步或者文件传输工具传输至目标物理节点node_des上对应的指定目录下。
可选地,步骤4)包括:
4.1)在目标微虚拟机vm_des中创建独立进程,该进程用于进行预先占用目标微虚拟机vm_des中的进程号PID_of_App;
4.2)创建新的shell进程,该shell进程用来执行步骤5)在目标微虚拟机vm_des中恢复应用程序状态的步骤。
可选地,步骤5)包括:
5.1)将目标微虚拟机vm_des、目标物理节点node_des进行时间同步;
5.2)重新挂载目标微虚拟机vm_des的进程信息目录/proc/sys,将进程信息目录/proc/sys挂载为可读写目录;
5.3)从源物理节点node_src映射指定目录至目标微虚拟机vm_des的对应目录,以读取指定目录下的进程状态文件中的备份的进程信息;
5.4)终止步骤4.1)中独立进程抢占的进程号PID_of_App,释放进程号;
5.5)目标微虚拟机vm_des读取指定目录下的所有进程状态信息,通过系统函数fork()一次或者多次重新创建所需进程,通过读取的进程状态信息恢复进程,包括准备namespaces、重新映射所有私有内存区域、创建sockets、调用chdir()和chroot(),恢复完成后切换到新进程的执行上下文;
5.6)重新挂载目标微虚拟机vm_des的进程信息目录/proc/sys,将进程信息目录/proc/sys挂载为只读目录。
可选地,步骤5)之后还包括删除源微虚拟机vm_src完成资源的释放的步骤。
可选地,所述指定目录是指/opt/share目录。
此外,本发明还提供一种面向飞腾平台的微虚拟机在线迁移系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行所述面向飞腾平台的微虚拟机在线迁移方法的步骤,或者所述存储器中存储有被编程或配置以执行所述面向飞腾平台的微虚拟机在线迁移方法的计算机程序。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行所述面向飞腾平台的微虚拟机在线迁移方法的计算机程序。
和现有技术相比,本发明具有下述优点:本发明通过对微虚拟机中Qemu底座的整体迁移和Docker进程的动态迁移,实现微虚拟机的在线迁移,本发明通过分析微虚拟机中各个模块的运行特征,通过分层迁移的方式,实现飞腾处理器架构下用户无感知的微虚拟机在线迁移功能,极大地提高了微虚拟机的使用场景,可降低网络传输开销,提高微虚拟机在线迁移效率。
附图说明
图1为本发明实施例方法的基本流程图。
具体实施方式
如图1所示,本实施例面向飞腾平台的微虚拟机在线迁移方法包括:
1)在目标物理节点node_des上初始化目标微虚拟机vm_des;
2)在源物理节点node_src上保存源微虚拟机vm_src中的应用程序状态;
3)将源物理节点node_src中保存源微虚拟机vm_src中的应用程序状态得到的指定目录下的进程状态文件同步传输至目标物理节点node_des上对应的指定目录下;
4)在目标微虚拟机vm_des中预留进程状态文件中记录的应用程序原始进程号;
5)在目标微虚拟机vm_des中恢复应用程序状态。
源微虚拟机vm_src在源物理节点node_src上创建时,由于微虚拟机采用Qemu来虚拟必要的硬件设备,并通过运行精简的guest kernel为Docker提供隔离的虚拟机环境,虚拟机内部通过代理为用户提供所有Docker管理接口,因此其创建过程与Docker的创建过程类似,可以采用docker run的方式进行微虚拟机的创建。创建源微虚拟机vm_src完成后,在源微虚拟机vm_src内部启动应用程序App_src,即相当于原始的应用程序App_src运行在源微虚拟机vm_src内部,应用程序App_src也是被迁移的重点关注对象。
本实施例中,步骤1)包括:在目标物理节点node_des上采用与源微虚拟机vm_src采用相同的镜像、相同方法创建新的微虚拟机作为目标微虚拟机vm_des。
步骤2)在源物理节点node_src上保存源微虚拟机vm_src中的应用程序状态,目标是保存源微虚拟机vm_src内部中应用程序App_src的状态。本实施例中,步骤2)包括:
2.1)判断源物理节点node_src、目标物理节点node_des间的时间差是否超过预设阈值,若超过预设阈值则将源物理节点node_src、目标物理节点node_des进行时间同步;
2.2)将源微虚拟机vm_src与源物理节点node_src进行时间同步;
2.3)重新挂载目标微虚拟机vm_des的进程信息目录/proc/sys,将进程信息目录/proc/sys挂载为可读写目录;
2.4)从源物理节点node_src映射可读写的指定目录至源微虚拟机vm_src;
2.5)通过获取PID系统调用函数pidof获取应用程序在源微虚拟机vm_src内的进程号PID_of_App作为应用程序状态,为后续进程保存提供必须的参数;
2.6)通过跟踪系统调用函数ptrace遍历进程号PID_of_App相关的所有线程tid,并进行冻结后保存资源,该资源包括文件描述号、maps文件(进程映射文件)、寄存器参数、内存页,将进程ID的相关状态信息作为进程状态文件保存至步骤2.4)创建的可读写的指定目录中。
因为Qemu的隔离特性带来读写权限问题,默认的联合挂载策略会导致后期进程信息无权限保存,本实施例中通过步骤2.3)可避免因为状态保存过程中无写权限造成状态保存失败,通过步骤2.4)可避免默认的联合挂载策略会导致后期进程信息无权限保存,从而有效地消除了Qemu的隔离特性带来读写权限问题。
作为一种可选的实施方式,本实施例中指定目录是指/opt/share目录。从源物理节点node_src映射可读写的指定目录为/opt/share,物理机和映射至微虚拟机的目录均为/opt/share。
本实施例中,步骤3)中同步传输至目标物理节点node_des上对应的目录下是指通过文件同步或者文件传输工具传输至目标物理节点node_des上对应的指定目录下。本实施例中,源物理节点node_src上保存的进程状态文件,位于/opt/share/目录下,通过文件同步或者其它文件传输工具,同步传输至目标物理节点node_des上对应的目录下。
在目标微虚拟机vm_des内预留应用程序App_src的原始进程号,避免因为进程号被占用而导致进程恢复出错。按照微虚拟机的使用场景,处于系统耦合度的考虑,每个微虚拟机内部均只运行单一应用程序,按照进程号分配的原则,如果采用默认的策略启动App_src恢复程序,则该恢复程序会占用进程号PID_of_App,从而造成后期App_src恢复过程中进程号冲突而导致恢复失败。为了解决上述技术问题,本实施例采用了步骤4)在目标微虚拟机vm_des中预留进程状态文件中记录的应用程序原始进程号。本实施例中,步骤4)包括:
4.1)在目标微虚拟机vm_des中创建独立进程,该进程用于进行预先占用目标微虚拟机vm_des中的进程号PID_of_App;因为微虚拟机相对物理机而言,具备独立的进程命名空间,因此通过此步骤创建的独立进程号,必然是PID_of_App;
4.2)创建新的shell进程,该shell进程用来执行步骤5)在目标微虚拟机vm_des中恢复应用程序状态的步骤。
本实施例中,步骤5)即为shell进程执行微虚拟机恢复程序的步骤。在微虚拟机vm_des内恢复步骤2.6)中保存的应用程序App_src的进程信息。步骤5)包括:
5.1)将目标微虚拟机vm_des、目标物理节点node_des进行时间同步;
5.2)重新挂载目标微虚拟机vm_des的进程信息目录/proc/sys,将进程信息目录/proc/sys挂载为可读写目录;
5.3)从源物理节点node_src映射指定目录至目标微虚拟机vm_des的对应目录,以读取指定目录下的进程状态文件中的备份的进程信息;
5.4)终止步骤4.1)中独立进程抢占的进程号PID_of_App,释放进程号;
5.5)目标微虚拟机vm_des读取指定目录下的所有进程状态信息,通过系统函数fork()一次或者多次重新创建所需进程,通过读取的进程状态信息恢复进程,包括准备namespaces、重新映射所有私有内存区域、创建sockets、调用chdir()和chroot(),恢复完成后切换到新进程的执行上下文;
5.6)重新挂载目标微虚拟机vm_des的进程信息目录/proc/sys,将进程信息目录/proc/sys挂载为只读目录。
本实施例中,步骤5)之后还包括删除源微虚拟机vm_src完成资源的释放的步骤。
综上所述,本实施例面向飞腾平台的微虚拟机在线迁移方法通过共享文件的方式建立/opt/share目录,这样可以进一步降低网络传输开销,提高微虚拟机在线迁移效率。
此外,本实施例还提供一种面向飞腾平台的微虚拟机在线迁移系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行前述面向飞腾平台的微虚拟机在线迁移方法的步骤,或者所述存储器中存储有被编程或配置以执行前述面向飞腾平台的微虚拟机在线迁移方法的计算机程序。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述面向飞腾平台的微虚拟机在线迁移方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种面向飞腾平台的微虚拟机在线迁移方法,其特征在于,包括:
1)在目标物理节点node_des上初始化目标微虚拟机vm_des;
2)在源物理节点node_src上保存源微虚拟机vm_src中的应用程序状态;
3)将源物理节点node_src中保存源微虚拟机vm_src中的应用程序状态得到的指定目录下的进程状态文件同步传输至目标物理节点node_des上对应的指定目录下;
4)在目标微虚拟机vm_des中预留进程状态文件中记录的应用程序原始进程号,包括:4.1)在目标微虚拟机vm_des中创建独立进程,该独立进程用于进行预先占用目标微虚拟机vm_des中的进程号PID_of_App;4.2)创建新的shell进程,该shell进程用来执行步骤5)在目标微虚拟机vm_des中恢复应用程序状态的步骤;
5)在目标微虚拟机vm_des中恢复应用程序状态,包括:5.1)将目标微虚拟机vm_des、目标物理节点node_des进行时间同步;5.2)重新挂载目标微虚拟机vm_des的进程信息目录/proc/sys,将进程信息目录/proc/sys挂载为可读写目录;5.3)从源物理节点node_src映射指定目录至目标微虚拟机vm_des的对应目录,以读取指定目录下的进程状态文件中的备份的进程信息;5.4)终止步骤4.1)中独立进程抢占的进程号PID_of_App,释放进程号;5.5)目标微虚拟机vm_des读取指定目录下的所有进程状态信息,通过系统函数fork()一次或者多次重新创建所需进程,通过读取的进程状态信息恢复进程,包括准备namespaces、重新映射所有私有内存区域、创建sockets、调用chdir()和chroot(),恢复完成后切换到新进程的执行上下文;5.6)重新挂载目标微虚拟机vm_des的进程信息目录/proc/sys,将进程信息目录/proc/sys挂载为只读目录。
2.根据权利要求1所述的面向飞腾平台的微虚拟机在线迁移方法,其特征在于,步骤1)包括:在目标物理节点node_des上采用与源微虚拟机vm_src采用相同的镜像、相同方法创建新的微虚拟机作为目标微虚拟机vm_des。
3.根据权利要求1所述的面向飞腾平台的微虚拟机在线迁移方法,其特征在于,步骤2)包括:
2.1)判断源物理节点node_src、目标物理节点node_des间的时间差是否超过预设阈值,若超过预设阈值则将源物理节点node_src、目标物理节点node_des进行时间同步;
2.2)将源微虚拟机vm_src与源物理节点node_src进行时间同步;
2.3)重新挂载目标微虚拟机vm_des的进程信息目录/proc/sys,将进程信息目录/proc/sys挂载为可读写目录;
2.4)从源物理节点node_src映射可读写的指定目录至源微虚拟机vm_src;
2.5)通过获取PID系统调用函数pidof获取应用程序在源微虚拟机vm_src内的进程号PID_of_App作为应用程序状态;
2.6)通过跟踪系统调用函数ptrace遍历进程号PID_of_App相关的所有线程tid,并进行冻结后保存资源,该资源包括文件描述号、maps文件、寄存器参数、内存页,将进程ID的相关状态信息作为进程状态文件保存至步骤2.4)创建的可读写的指定目录中。
4.根据权利要求1所述的面向飞腾平台的微虚拟机在线迁移方法,其特征在于,步骤3)中同步传输至目标物理节点node_des上对应的目录下是指通过文件同步或者文件传输工具传输至目标物理节点node_des上对应的指定目录下。
5.根据权利要求1所述的面向飞腾平台的微虚拟机在线迁移方法,其特征在于,步骤5)之后还包括删除源微虚拟机vm_src完成资源的释放的步骤。
6.根据权利要求1所述的面向飞腾平台的微虚拟机在线迁移方法,其特征在于,所述指定目录是指/opt/share目录。
7.一种面向飞腾平台的微虚拟机在线迁移系统,包括相互连接的微处理器和存储器,其特征在于,所述微处理器被编程或配置以执行权利要求1~6中任意一项所述面向飞腾平台的微虚拟机在线迁移方法的步骤,或者所述存储器中存储有被编程或配置以执行权利要求1~6中任意一项所述面向飞腾平台的微虚拟机在线迁移方法的计算机程序。
8.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有被编程或配置以执行权利要求1~6中任意一项所述面向飞腾平台的微虚拟机在线迁移方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011496285.4A CN112527461B (zh) | 2020-12-17 | 2020-12-17 | 一种面向飞腾平台的微虚拟机在线迁移方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011496285.4A CN112527461B (zh) | 2020-12-17 | 2020-12-17 | 一种面向飞腾平台的微虚拟机在线迁移方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527461A CN112527461A (zh) | 2021-03-19 |
CN112527461B true CN112527461B (zh) | 2024-01-09 |
Family
ID=75001023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011496285.4A Active CN112527461B (zh) | 2020-12-17 | 2020-12-17 | 一种面向飞腾平台的微虚拟机在线迁移方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527461B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377395A (zh) * | 2019-07-03 | 2019-10-25 | 无锡华云数据技术服务有限公司 | 一种Kubernetes集群中的Pod迁移方法 |
CN110737501A (zh) * | 2018-07-18 | 2020-01-31 | 中标软件有限公司 | Docker容器中检查点和恢复点的功能实现方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209741B (zh) * | 2015-05-06 | 2020-01-03 | 阿里巴巴集团控股有限公司 | 一种虚拟主机及隔离方法、资源访问请求处理方法及装置 |
-
2020
- 2020-12-17 CN CN202011496285.4A patent/CN112527461B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737501A (zh) * | 2018-07-18 | 2020-01-31 | 中标软件有限公司 | Docker容器中检查点和恢复点的功能实现方法及系统 |
CN110377395A (zh) * | 2019-07-03 | 2019-10-25 | 无锡华云数据技术服务有限公司 | 一种Kubernetes集群中的Pod迁移方法 |
Non-Patent Citations (3)
Title |
---|
Docker容器热迁移方案研究;鞠瑞;中国优秀硕士学位论文全文数据库 信息科技辑;全文 * |
Docker虚拟机实时迁移的研究与实现;余晨颖;中国优秀硕士学位论文全文数据库 信息科技辑;全文 * |
面向HPC的函数计算冷启动优化;李哲,谭郁松,李宝,余杰;计算机工程与科学;第42卷(第11期);1973-1980 * |
Also Published As
Publication number | Publication date |
---|---|
CN112527461A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102073462B (zh) | 虚拟存储迁移方法、系统和虚拟机监控器 | |
JP6607901B2 (ja) | スケーラブル分散ストレージアーキテクチャ | |
US9619270B2 (en) | Remote-direct-memory-access-based virtual machine live migration | |
US10509686B2 (en) | Distributable computational units in a continuous computing fabric environment | |
US8191063B2 (en) | Method for migrating a plurality of virtual machines by associating files and state information with a single logical container | |
CN102821158B (zh) | 一种实现虚拟机迁移的方法和云系统 | |
US7313793B2 (en) | Method for forking or migrating a virtual machine | |
US20180375936A1 (en) | Containerized high-performance network storage | |
US7383405B2 (en) | Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity | |
CN101765225B (zh) | 一种虚拟化的集群管理方法和集群节点 | |
US9135189B2 (en) | Delivering GPU resources across machine boundaries | |
US9413819B1 (en) | Operating system interface implementation using network-accessible services | |
US10057377B2 (en) | Dynamic resolution of servers in a distributed environment | |
CN107544864B (zh) | 一种虚拟机数据拷贝方法及虚拟机数据拷贝系统 | |
CN108804189B (zh) | 一种云桌面管理方法及系统 | |
JP2007508623A (ja) | 複数のノードにわたってシステムリソースを割り当てて管理する仮想データセンタ | |
CN102597958A (zh) | 虚拟机的对称实时迁移 | |
US10235473B2 (en) | Methods and systems to allocate logical disk costs to virtual machines in a virtual data center | |
CN105740052A (zh) | 非共享存储的虚拟机在线迁移的方法、装置及系统 | |
CN105468429A (zh) | 一种高效虚拟化集群管理方法和集群节点 | |
CN114089926A (zh) | 分布式存储空间的管理方法、计算设备及存储介质 | |
RU2543962C2 (ru) | Аппаратно-вычилистельный комплекс виртуализации и управления ресурсами в среде облачных вычислений | |
US20200159698A1 (en) | High performance space efficient distributed storage | |
CN112527461B (zh) | 一种面向飞腾平台的微虚拟机在线迁移方法及系统 | |
CN107704618B (zh) | 一种基于aufs文件系统的热迁徙方法和系统 |
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 |