不间断运行的虚拟机迁移方法及装置的制作方法

文档序号:7653559阅读:125来源:国知局
专利名称:不间断运行的虚拟机迁移方法及装置的制作方法
技术领域
本发明涉及计算机的虚拟化技术领域,特指一种可保证不间断运行的虚拟机动态 迁移方法及装置。
背景技术
随着计算机硬件、网络和体系结构的飞速发展,虚拟化技术已经渗透到各个领域, 并呈现出新的发展趋势,从服务器虚拟化到存储虚拟化,甚至是应用虚拟化,虚拟化技术已 经成为新的研究热点。与此同时,虚拟化技术在管理、应用和安全等方面也面临新的挑战。 虚拟化技术在为我们节省了能耗的同时,也带来了一个主要的问题——单点设备故障,而 虚拟机动态迁移是解决虚拟机设备单点设备故障问题的有效方案。这种方案为每个计算 机节点(物理服务器)上创建多个虚拟机,当某个单点计算机节点出现故障或者用户启动 迁移命令时,则该计算机节点上的部分或全部虚拟机需要选择相应的目标节点进行动态迁 移,从而迁移到备用节点或者资源开销最少的正常节点上。如图1所示,传统的迁移节点Ml和目标节点M2之间必须共享一个分布式文件系 统,例如采用NFS(网络文件系统),迁移节点Ml和目标节点M2都可以直接访问NFS。虚拟 机在迁移节点Ml和目标节点M2之间进行动态迁移时,很多设备返回至虚拟机的返回状态 被滞留在迁移节点Ml的特权域中,因为虚拟机已经进行迁移到目标节点M2,这些返回状态 不能按原路返回给虚拟机。尤其是当迁移节点Ml的虚拟机被冻结时,虚拟机的设备驱动和 设备之间通信渠道被挂起,用户对I/O等设备进行存取或其他的操作请求时,这些操作请 求大部分被滞留在迁移节点Ml的特权域中或者丢失。正因为如此,在虚拟机动态迁移过程 中,虚拟机系统均有一个宕机时间,会造成虚拟机对外服务与设备访问的短暂中断,由此会 造成虚拟机丢失一些操作请求以及返回状态,降低了虚拟机的可用性和虚拟机的持续可访 问能力。在刀片服务器、数据中心等虚拟环境下,许多对高可用和服务不间断运行能力要求 极高的关键服务器应用中,这种情况无疑将无法满足需求。

发明内容
本发明要解决的技术问题是提供一种迁移快速可靠、适用范围广、可用性高、容 错能力强、通用性好的不间断运行的虚拟机迁移方法及装置。为了解决上述技术问题,本发明采用的技术方案为一种不间断运行的虚拟机迁移方法,其实施步骤如下1)将迁移节点和目标节点通过网络相连;2)缓存迁移节点中虚拟机对设备的操作请求及设备返回至虚拟机的返回状态,冻 结迁移节点的虚拟机;3)将迁移节点的虚拟机复制到目标节点,唤醒目标节点的新虚拟机;4)迁移节点将其缓存的操作请求及返回状态通过网络发送给目标节点;目标节 点将收到的操作请求以及新虚拟机的操作请求向设备进行发布、将收到的返回状态以及从设备得到的返回状态发送给目标节点的新虚拟机。作为本发明不间断运行的虚拟机迁移方法的进一步改进所述步骤4)中迁移节点将其缓存的操作请求及返回状态通过网络发送给目标节 点后对目标节点的设备类型进行判断,如果目标节点的设备并非与迁移节点共享的设备 时,则对目标节点的设备与迁移节点的设备是否相同进行判断,如果设备相同,则将目标节 点与迁移节点之间的设备进行状态同步;如果设备不相同,则目标节点通过网络远程访问 迁移节点的设备。所述设备进行状态同步时,所述迁移节点等待并缓存所有已发布操作请求的返回 状态,所述目标节点暂停向设备发送操作请求并缓存所有操作请求,当迁移节点缓存完成 所有已发布操作请求的返回状态后,迁移节点将设备状态信息发送给目标节点,目标节点 根据收到的设备状态信息对设备进行状态更新并恢复向设备发送操作请求。所述步骤4)中目标节点在收到操作请求后立即生成一个具有存在期限的操作副 本,听述目标节点在向设备发布任意操作请求前预先查找所有的操作副本,如果待执行操 作请求不存在匹配的操作副本则向设备发布该操作请求,如果待执行操作请求存在匹配的 操作副本则舍弃该操作请求。所述生成操作副本时一并根据操作请求的基本信息生成特征值,所述查找所有操 作副本时,首先根据待执行操作请求的基本信息生成特征值,然后将所有操作副本的特征 值逐个和待执行操作请求的特征值进行比较,如果不存在相同特征值则判定待执行操作请 求不存在匹配的操作副本;如果存在相同特征值则再根据操作请求的基本信息进行进一步 查找匹配,如果最终找到匹配的操作副本则判定待执行操作请求存在匹配的操作副本,如 果最终未找到匹配的操作副本则判定待执行操作请求不存在匹配的操作副本。所述进一步查找匹配时先将所有操作副本的长度逐一和待执行操作请求的长度 进行比较,如果所有操作副本比待执行操作请求短,则判定待执行操作请求不存在匹配的 操作副本;如果所有操作副本比待执行操作请求长则针对所有操作副本逐一进行判定待执 行操作请求是否为操作副本的子操作,当待执行操作请求为操作副本的子操作时判定待执 行操作请求存在匹配的操作副本,否则判定待执行操作请求不存在匹配的操作副本;如果 所有操作副本比待执行操作请求长度相同,则将每一项操作副本逐一与带执行操作请求针 对每一项基本信息进行比较,如果存在每一项基本信息相同的操作副本则判断为存在匹配 的操作副本。所述操作请求的向量表达式为I = (W1, W2,……,wn),所述特征值的表达式为 Γ =叫 vv2 W3…… %,其中Wn表示带有操作请求的一种基本信息的特征项,η表示操作 请求所包含的基本信息种类的数量。所述判定待执行操作请求是否为操作副本的子操作的详细步骤如下,(1)将待执行操作请求作为模式串,将当前的操作副本作为正文串;(2)将模式串和正文右对齐,从右至左在正文串中匹配模式串的每一个特征项;(3)如果某一个特征项不匹配,则正文串右移一位生成新的正文串,若新的正文串 小于模式串的长度则跳转执行步骤(5),否则继续返回执行步骤(3);(4)如果模式串的每一特征项均匹配成功,则判定待执行操作请求为操作副本的 子操作;
(5)如果模式串匹配失败,则判定待执行操作请求非操作副本的子操作。此外,本发明还提供一种不间断运行的虚拟机迁移装置,它包括设于迁移节点和 目标节点的特权域中的设备代理单元,所述设备代理单元包括用于缓存和收发操作请求和 返回状态、与节点中虚拟机进行交互以及控制节点对设备访问状态的设备访问控制模块, 所述迁移节点和目标节点中的设备访问控制模块通过网络相互连接,所述设备访问控制模 块在虚拟机迁移期间首先冻结迁移节点的虚拟机、缓存迁移节点的操作请求和返回状态, 将虚拟机复制到目标节点并激活后目标节点的新虚拟机,将缓存的操作请求和返回状态通 过网络发送给目标节点,所述目标节点的设备访问控制模块将收到的操作请求以及新虚拟 机的操作请求向设备进行发布、将收到的返回状态以及从设备得到的返回状态发送给目标 节点的新虚拟机。作为本发明不间断运行的虚拟机迁移装置的进一步改进所述设备代理单元还包 括用于提供设备远程访问的远程设备访问模块和用于在迁移过程中将目标节点与迁移节 点之间非共享的相同设备进行状态同步的设备状态交换模块,所述远程设备访问模块、设 备状态交换模块分别与设备访问控制模块相连,所述设备访问控制模块在目标节点没有与 迁移节点相同的设备时通过远程设备访问模块访问迁移节点的设备,所述目标节点的设备 访问控制模块在目标节点与迁移节点具有相同的设备时通过设备状态交换模块将目标节 点与迁移节点之间的设备进行状态同步。本发明不间断运行的虚拟机迁移方法具有下述优点1、本发明不间断运行的虚拟机迁移方法在冻结并复制迁移节点的原虚拟机后,立 即唤醒目标节点的新虚拟机,而且迁移节点将其缓存的操作请求及返回状态通过网络发送 给目标节点,可以在动态迁移期间持续处理操作请求并发送返回状态,使虚拟机在动态迁 移期间持续、不中断的访问设备,提高了虚拟机设备的高可用性和持续运行能力,而且不依 赖于网络文件系统,既可以适用于半虚拟软件环境,也可以适用于全虚拟软件环境,通用性 好、适用范围广。2、本发明进一步通过将目标节点与迁移节点之间的设备进行状态同步来提高虚 拟机迁移过程中对设备访问的可用性,当目标节点的设备并非与迁移节点共享的设备时如 果不存在相同的设备则目标节点通过网络远程访问迁移节点的设备,也可以在保证虚拟机 持续运行的情况下,将设备从迁移节点动态交换到目标节点上,可以处理多种情况的设备, 通用性好。3、本发明进一步通过生成操作副本来防止操作请求被重复执行,有效地避免重复 发布的错误,容错性能好,保证了虚拟机动态迁移后的可用性和持续运行能力。4、本发明进一步在查找操作副本的时候,首先通过特征值进行筛选查找,其平均 筛选过滤率为98%,可以有效过滤掉绝大部分操作请求,通过分为模糊匹配和精确匹配查 找两个阶段,极大地提高了操作副本的查找效率,缩短了虚拟机的迁移时间,迁移快速可 靠,增强了虚拟机的可用性。5、本发明进一步在根据操作请求的基本信息进行进一步查找匹配时,针对不同的 操作请求的长度进行不同的处理,可以有效提高精确查找匹配的效率和周期、增强虚拟机 的可用性。本发明的不间断运行的虚拟机迁移装置由于具有与上述本发明的不间断运行的虚拟机迁移方法向对应的结构,因此也具有上述本发明的不间断运行的虚拟机迁移方法相 对应的优点。


图1为现有技术的虚拟机迁移原理结构示意图;图2为本发明实施例方法的原理框架示意图;图3为本发明实施例装置的结构框架示意图;图4为本发明实施例进行状态同步的流程示意图;图5为本发明实施例进行查找匹配指令部分的流程示意图;图6为本发明实施例对操作副本进行匹配待执行操作请求的流程示意图。图例说明1、设备访问控制模块;2、远程设备访问模块;3、设备状态交换模块。
具体实施例方式如图2、图3和图4所示,本发明实施例的不间断运行的虚拟机迁移方法的实施步 骤如下1)将迁移节点和目标节点通过网络相连;2)缓存迁移节点中虚拟机对设备的操作请求及设备返回至虚拟机的返回状态,冻 结迁移节点的虚拟机;3)将迁移节点的虚拟机复制到目标节点,唤醒目标节点的新虚拟机;4)迁移节点将其缓存的操作请求及返回状态通过网络发送给目标节点;目标节 点将收到的操作请求以及新虚拟机的操作请求向设备进行发布、将收到的返回状态以及从 设备得到的返回状态发送给目标节点的新虚拟机。步骤4)中迁移节点将其缓存的操作请求及返回状态通过网络发送给目标节点后 对目标节点的设备类型进行判断,如果目标节点的设备并非与迁移节点共享的设备时,则 对目标节点的设备与迁移节点的设备是否相同进行判断,如果设备相同,则将目标节点与 迁移节点之间的设备进行状态同步;如果设备不相同,则目标节点通过网络远程访问迁移 节点的设备。设备进行状态同步时,所述迁移节点等待并缓存所有已发布操作请求的返回状 态,听述目标节点暂停向设备发送操作请求并缓存所有操作请求,当迁移节点缓存完成所 有已发布操作请求的返回状态后,迁移节点将设备状态信息发送给目标节点,目标节点根 据收到的设备状态信息对设备进行状态更新并恢复向设备发送操作请求。目标节点设备代理在处理未发布操作请求时,可能存在状态不一致性问题,从而 可能导致同一个操作请求被重复发布,本实施例中通过操作请求的操作副本来防止重复发 布操作请求,操作副本的存在有时间限制,从产生操作副本开始,只存在一段时间,当时间 到期后则作副本会自动删除。本实施例中,步骤4)中目标节点在收到操作请求后立即生成 一个具有存在期限的操作副本,所述目标节点在向设备发布任意操作请求前预先查找所有 的操作副本,如果待执行操作请求不存在匹配的操作副本则向设备发布该操作请求,如果 待执行操作请求存在匹配的操作副本则舍弃该操作请求。如图5所示,生成操作副本时一并根据操作请求的基本信息生成特征值,所述查找所有操作副本时,首先根据待执行操作请求的基本信息生成特征值,然后将所有操作副 本的特征值逐个和待执行操作请求的特征值进行比较,如果不存在相同特征值则判定待执 行操作请求不存在匹配的操作副本;如果存在相同特征值则再根据操作请求的基本信息进 行进一步查找匹配,如果最终找到匹配的操作副本则判定待执行操作请求存在匹配的操作 副本,如果最终未找到匹配的操作副本则判定待执行操作请求不存在匹配的操作副本。本 实施例在进一步查找匹配时先将所有操作副本的长度逐一和待执行操作请求的长度进行 比较,如果所有操作副本比待执行操作请求短,则判定待执行操作请求不存在匹配的操作 副本;如果所有操作副本比待执行操作请求长则针对所有操作副本逐一进行判定待执行操 作请求是否为操作副本的子操作,当待执行操作请求为操作副本的子操作时判定待执行操 作请求存在匹配的操作副本,否则判定待执行操作请求不存在匹配的操作副本;如果所有 操作副本比待执行操作请求长度相同,则将每一项操作副本逐一与带执行操作请求针对每 一项基本信息进行比较,如果存在每一项基本信息相同的操作副本则判断为存在匹配的操 作副本。通过特征值进行比较,可以过滤掉大部分未发布的操作请求,可以有效提高查找 操作副本的效率。本实施例中,操作请求的向量表达式为I = (wi; W2,……,wn),特征值的 表达式为τ = VV1 VV2 VV3…… VVn,其中Wn表示带有操作请求的一种基本信息的特征项,η 表示操作请求所包含的基本信息种类的数量。操作请求的基本信息包括读、写、地址或短语 基本组成单位等信息,每一种基本信息作为一个特征项构成操作请求的一个向量空间,每 个特征项表示操作请求向量表达式的一个维度,特征值的表达式通过对特征项异或求值法 计算,本实施例中共采用64个特征项,特征值的长度为64个比特。特征值计算中,按所有 特征项出现的概率相同计算,则向量中每个分量二进制“1”的个数为奇数和偶数的概率是 相同的,即一个特征项的过滤率为50%。各个分量的特征项之间相互独立,64个特征项的 过滤率为1-(1/2)32 = 99. 99%。也就是说,需要第二次匹配的可疑待决I/O操作是总量的 0.01%。实验结果表明,其平均过滤率为98%。在实际应用中,有些操作请求长度相同,有些操作请求可能长度不同,其中的一个 操作请求是另一个操作请求的子操作,而子操作也不应当被重复执行。因此本实施例中根 据操作请求的基本信息进行进一步查找匹配时根据操作请求的长度进行区别对待。如果待 执行操作请求比当前的操作副本短,则采用QBM(Quick Boyer-Moore)算法来比较待执行操 作请求和当前的操作副本,QBM算法主要处理长度不同的操作请求比较;如果待执行操作 请求和当前的操作副本长度相同,则采用SMT(State Main Tain)算法来比较待执行操作请 求和当前的操作副本,SMT算法主要处理长度相同的操作请求比较。本实施例中通过哈希 表来加快查询操作。哈希表能根据需要存放任意形式的数据,比如配置文件的读取、内存分 配中被分配内存的信息等。本实施例为了存储哈希表,相应地设计了哈希表对应的结构体, 结构体包括key和value两个域,其中key域用于存放未发布请求指令的特征值,value域 中存放实际存储未发布请求指令的内存地址。当需要从哈希表中提取一些数据时,可以通 过强制类型转换把void类型转换成为我们实际需要的数据类型。当设备代理收到查询未 发布请求指令时,首先执行语法检查,然后进入未发布请求指令的特征值队列,在哈希搜索 中,设备代理可以通过调用相应的hash函数去直接访问与相应键值相对应的存储区。如图6所示,判定待执行操作请求是否为操作副本的子操作时主体思想是采用模式串整体移动的方式进行匹配,其详细步骤如下(1)将待执行操作请求作为模式串,将当前的操作副本作为正文串;(2)将模式串和正文右对齐,从右至左在正文串中匹配模式串的每一个特征项;(3)如果某一个特征项不匹配,则正文串右移一位生成新的正文串,若新的正文串 小于模式串的长度则跳转执行步骤(5),否则继续返回执行步骤(3);(4)如果模式串的每一特征项均匹配成功,则判定待执行操作请求为操作副本的 子操作;(5)如果模式串匹配失败,则判定待执行操作请求非操作副本的子操作。图6中,T代表正文串,P代表模式串,i代表正文串当前扫描位置,j代表模式串 当前扫描位置,T[i]代表正文串当前位置值,P[j]代表模式串当前位置值,1代表正文串长 度,m代表模式串长度。如图3所示,本发明实施例的不间断运行的虚拟机迁移装置包括设于迁移节点和 目标节点的特权域中的设备代理单元,设备代理单元包括用于缓存和收发操作请求和返回 状态、与节点中虚拟机进行交互以及控制节点对设备访问状态的设备访问控制模块1,迁移 节点和目标节点中的设备访问控制模块1通过网络相互连接,设备访问控制模块1在虚拟 机迁移期间首先冻结迁移节点的虚拟机、缓存迁移节点的操作请求和返回状态,将虚拟机 复制到目标节点并激活后目标节点的新虚拟机,将缓存的操作请求和返回状态通过网络发 送给目标节点,目标节点的设备访问控制模块1将收到的操作请求以及新虚拟机的操作请 求向设备进行发布、将收到的返回状态以及从设备得到的返回状态发送给目标节点的新虚 拟机。本实施例中,设备代理单元还包括用于提供设备远程访问的远程设备访问模块2 和用于在迁移过程中将目标节点与迁移节点之间非共享的相同设备进行状态同步的设备 状态交换模块3,远程设备访问模块2、设备状态交换模块3分别与设备访问控制模块1相 连,设备访问控制模块1在目标节点没有与迁移节点相同的设备时通过远程设备访问模块 2访问迁移节点的设备,目标节点的设备访问控制模块1在目标节点与迁移节点具有相同 的设备时通过设备状态交换模块3将目标节点与迁移节点之间的设备进行状态同步。如图4所示,本实施例中设备代理单元的工作过程如下1、迁移节点运行本地的设备代理单元,并请求启动目标节点的设备代理单元;2、两个节点的设备代理单元都成功启动后,迁移节点开始进行迁移。2. 1、迁移节点的设备访问控制模块1冻结迁移节点的虚拟机,拷贝冻结虚拟机到 目标节点上;2. 2、迁移节点的设备访问控制模块1缓存虚拟机未发布的操作请求;2. 3、迁移节点的设备访问控制模块1缓存设备的返回状态;3、目标节点的设备访问控制模块1唤醒目标节点的新虚拟机,完成虚拟机的硬件 迁移;4、迁移节点的设备访问控制模块1将缓存的操作请求和返回状态转发给目标节 点的设备代理单元;5、针对目标节点的设备请求,迁移节点的设备访问控制模块1判断设备是否为与 迁移节点共享的设备,如果是则转入执行步骤6 ;如果不是共享的设备,则判断目标节点是否有相同设备,如果存在相同的设备,则设备访问控制模块1通过设备状态交换模块3将目 标节点与迁移节点之间的设备进行状态同步;如果不存在相同的设备,则目标节点的设备 访问控制模块1通过远程设备访问模块12迁移节点的设备。目标节点的设备访问控制模 块1通过远程设备访问模块12迁移节点的设备时,目标节点的设备代理单元把迁移后的操 作请求通过设备访问控制模块1转发给迁移节点的设备代理单元,由迁移节点将操作请求 发布给迁移节点的设备;迁移节点的设备访问控制模块1将设备的返回结果信息按原路返 回给目标节点的设备访问控制模块1,再由目标节点的设备访问控制模块1发送给目标节 点的虚拟机。6、退出;本实施例中,设备状态交换模块3的工作过程如下1、目标节点的设备访问控制模块1缓存从设备驱动发送给设备的所有操作请求, 暂停向设备发送操作请求,迁移节点的设备访问控制模块1等待已发布操作请求的所有返 回状态;2、当迁移节点的所有已发布操作请求的返回状态完成后,迁移节点的设备进入静 止状态,即没有新的操作请求发布到设备上,也没有返回状态输出,迁移节点的设备访问控 制模块1缓冲旧设备在静止期间所有设备状态;3、更新目标节点设备状态,使迁移节点、目标节点设备状态同步;4、迁移节点的返回状态将缓冲的操作请求转发给目标节点设备代理,再由其转发 到目标节点的设备,促使虚拟机访问新设备;5、迁移节点的设备访问控制模块1中断与设备的连接,完成设备的重定向;6、退出。本实施例基于Xen半虚拟化软件实现,实验结果表明本发明的方法及装置确实在 虚拟机迁移期间保证了设备的I/O不间断服务,可用性好。除Xen半虚拟化软件以外,本发 明同样也是用于其他的半虚拟化软件环境以及全虚拟化软件环境。在实际应用过程中,可 以在每一个计算机节点上设置设备代理单元,如果其中某个计算机节点由于发生节点故障 或者因为其他原因需要发生迁移,则将该计算机节点作为迁移节点,而虚拟机被复制到的 新计算机节点则为目标节点。以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例, 凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本发明所属技 术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和 润饰也应视为本发明的保护范围。
权利要求
1.一种不间断运行的虚拟机迁移方法,其特征在于其实施步骤如下1)将迁移节点和目标节点通过网络相连;2)缓存迁移节点中虚拟机对设备的操作请求及设备返回至虚拟机的返回状态,冻结迁 移节点的虚拟机;3)将迁移节点的虚拟机复制到目标节点,唤醒目标节点的新虚拟机;4)迁移节点将其缓存的操作请求及返回状态通过网络发送给目标节点;目标节点将 收到的操作请求以及新虚拟机的操作请求向设备进行发布、将收到的返回状态以及从设备 得到的返回状态发送给目标节点的新虚拟机。
2.根据权利要求1所述的不间断运行的虚拟机迁移方法,其特征在于所述步骤4)中 迁移节点将其缓存的操作请求及返回状态通过网络发送给目标节点后对目标节点的设备 类型进行判断,如果目标节点的设备并非与迁移节点共享的设备时,则对目标节点的设备 与迁移节点的设备是否相同进行判断,如果设备相同,则将目标节点与迁移节点之间的设 备进行状态同步;如果设备不相同,则目标节点通过网络远程访问迁移节点的设备。
3.根据权利要求2所述的不间断运行的虚拟机迁移方法,其特征在于所述设备进行 状态同步时,所述迁移节点等待并缓存所有已发布操作请求的返回状态,所述目标节点暂 停向设备发送操作请求并缓存所有操作请求,当迁移节点缓存完成所有已发布操作请求的 返回状态后,迁移节点将设备状态信息发送给目标节点,目标节点根据收到的设备状态信 息对设备进行状态更新并恢复向设备发送操作请求。
4.根据权利要求1或2或3所述的不间断运行的虚拟机迁移方法,其特征在于听述 步骤4)中目标节点在收到操作请求后立即生成一个具有存在期限的操作副本,所述目标 节点在向设备发布任意操作请求前预先查找所有的操作副本,如果待执行操作请求不存在 匹配的操作副本则向设备发布该操作请求,如果待执行操作请求存在匹配的操作副本则舍 弃该操作请求。
5.根据权利要求4所述的不间断运行的虚拟机迁移方法,其特征在于所述生成操作 副本时一并根据操作请求的基本信息生成特征值,所述查找所有操作副本时,首先根据待 执行操作请求的基本信息生成特征值,然后将所有操作副本的特征值逐个和待执行操作请 求的特征值进行比较,如果不存在相同特征值则判定待执行操作请求不存在匹配的操作副 本;如果存在相同特征值则再根据操作请求的基本信息进行进一步查找匹配,如果最终找 到匹配的操作副本则判定待执行操作请求存在匹配的操作副本,如果最终未找到匹配的操 作副本则判定待执行操作请求不存在匹配的操作副本。
6.根据权利要求5所述的不间断运行的虚拟机迁移方法,其特征在于所述进一步查 找匹配时先将所有操作副本的长度逐一和待执行操作请求的长度进行比较,如果所有操作 副本比待执行操作请求短,则判定待执行操作请求不存在匹配的操作副本;如果所有操作 副本比待执行操作请求长则针对所有操作副本逐一进行判定待执行操作请求是否为操作 副本的子操作,当待执行操作请求为操作副本的子操作时判定待执行操作请求存在匹配的 操作副本,否则判定待执行操作请求不存在匹配的操作副本;如果所有操作副本比待执行 操作请求长度相同,则将每一项操作副本逐一与带执行操作请求针对每一项基本信息进行 比较,如果存在每一项基本信息相同的操作副本则判断为存在匹配的操作副本。
7.根据权利要求6所述的不间断运行的虚拟机迁移方法,其特征在于所述操作请求的向量表达式为I= (wi; W2,……,wn),所述特征值的表达式为T =叫 % W3……€)义, 其中wn表示带有操作请求的一种基本信息的特征项,η表示操作请求所包含的基本信息种 类的数量。
8.根据权利要求7所述的不间断运行的虚拟机迁移方法,其特征在于所述判定待执行 操作请求是否为操作副本的子操作的详细步骤如下(1)将待执行操作请求作为模式串,将当前的操作副本作为正文串;(2)将模式串和正文串右对齐,从右至左在正文串中匹配模式串的每一个特征项;(3)如果某一个特征项不匹配,则正文串右移一位生成新的正文串,若新的正文串小于 模式串的长度则跳转执行步骤(5),否则继续返回执行步骤(3);(4)如果模式串的每一特征项均匹配成功,则判定待执行操作请求为操作副本的子操作;(5)如果模式串匹配失败,则判定待执行操作请求非操作副本的子操作。
9.一种不间断运行的虚拟机迁移装置,其特征在于它包括设于迁移节点和目标节点 的特权域中的设备代理单元,所述设备代理单元包括用于缓存和收发操作请求和返回状 态、与节点中虚拟机进行交互以及控制节点对设备访问状态的设备访问控制模块(1),所述 迁移节点和目标节点中的设备访问控制模块(1)通过网络相互连接,所述设备访问控制模 块(1)在虚拟机迁移期间首先冻结迁移节点的虚拟机、缓存迁移节点的操作请求和返回状 态,将虚拟机复制到目标节点并激活后目标节点的新虚拟机,将缓存的操作请求和返回状 态通过网络发送给目标节点,所述目标节点的设备访问控制模块(1)将收到的操作请求以 及新虚拟机的操作请求向设备进行发布、将收到的返回状态以及从设备得到的返回状态发 送给目标节点的新虚拟机。
10.根据权利要求9所述的不间断运行的虚拟机迁移装置,其特征在于所述设备代理 单元还包括用于提供设备远程访问的远程设备访问模块( 和用于在迁移过程中将目标 节点与迁移节点之间非共享的相同设备进行状态同步的设备状态交换模块(3),所述远程 设备访问模块O)、设备状态交换模块C3)分别与设备访问控制模块(1)相连,所述设备访 问控制模块(1)在目标节点没有与迁移节点相同的设备时通过远程设备访问模块( 访问 迁移节点的设备,所述目标节点的设备访问控制模块(1)在目标节点与迁移节点具有相同 的设备时通过设备状态交换模块C3)将目标节点与迁移节点之间的设备进行状态同步。
全文摘要
本发明公开了一种不间断运行的虚拟机迁移方法及装置,方法实施步骤如下1)将迁移节点和目标节点通过网络相连;2)缓存迁移节点中虚拟机的操作请求及设备的返回状态,冻结迁移节点的虚拟机;3)将迁移节点的虚拟机复制到目标节点,唤醒目标节点的新虚拟机;4)迁移节点将其缓存的操作请求及返回状态通过网络发送给目标节点;目标节点将收到的操作请求以及新虚拟机的操作请求向设备进行发布、将收到的返回状态以及从设备得到的返回状态发送给目标节点的新虚拟机。装置包括设于迁移节点和目标节点的特权域中并包括设备访问控制模块的设备代理单元。本发明具有迁移快速可靠、适用范围广、可用性高、容错能力强、通用性好的优点。
文档编号H04L29/06GK102137167SQ201110110228
公开日2011年7月27日 申请日期2011年4月29日 优先权日2011年4月29日
发明者刘晓建, 吴庆波, 戴华东, 易晓东, 李志伟, 王静, 董攀, 颜跃进 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1