专利名称:保持虚拟机器的远程操作不中断的方法
技术领域:
一种虚拟机器的管理方法,特别是有关于一种保持虚拟机器的远程操作不中断的 方法。
背景技术:
随着集成电路快速发展,连带的让中央处理单元的运算能力的提高。因此单一台 服务器可以同时运行多台虚拟机器(Virtual Machine),借以提供给每一使用者独立的运 作环境。每一台虚拟机器可以视为各自独立的计算机。在虚拟机器中亦具有内存、储存空 间、运算能力与网络连结功能,所以在虚拟机器中可以运行独自的操作系统,也可以通过虚 拟机器连接因特网。因此,为了能降低计算机硬件成本的开销,已经有许多公司在单一服务器上运行 多台虚拟机器的方式提供给各种不同需求的运作环境给员工进行工作。一般而言,为能确 保每一个虚拟机器的运作能力,所以会限定单一服务器中所运行虚拟机器的数量。当服务 器所能分享的运算能力下降时,则需将部分虚拟机器搬迁至另一服务器中运行。请参考图1所示,其为公知虚拟机器迁移示意图。由于将虚拟机器110搬移时,在 不同服务器上的虚拟机器110的媒体存取控制地址(Media AccessControl address,简称 MAC)会保持不变。但是不同服务器连接到交换机时会被分配到不同的通讯端口(port)。而且在交换 器中具有一个MAC表(MAC Table),MAC表用来表示来源MAC和交换器的通讯端口的对应关 系。换言之,就是从哪个通讯端口接收封包,封包的来源MAC和该通讯端口就会建立一种对 应关系。交换器就是根据该对应关系来进行封包的转发,对新接收到的封包,如果封包中的 目标MAC在MAC表里有通讯端口对应,则只将该封包转发给对应通讯端口。如果没有,才广 播给所有通讯端口。但这个映射关系并不是一直存在的。当该通讯端口一段时间内都没有 再接收进来对应来源MAC的封包,该映射关系就会被清除。除此之外,当虚拟机器110从旧服务器迁移至新服务器时,虚拟机器110并不会得 知提供服务的机器已经异动。因此,虚拟机器110会通过新服务器连接至交换器。这时候, 新服务器在交换器上所占用的通讯端口将与旧服务器所占用的通讯端口不同。所以,当交 换器欲发送封包至虚拟机器110时,则会按照旧有的路线将封包发送给旧的服务器。如此 一来,虚拟机器110就无法再顺利接收到封包。由于虚拟机器110在从旧服务器搬迁到新的服务器,所耗费的时间可能超过映像 关系的保存时间,进而导致交换器将该笔映射删除掉。这样一来,虚拟机器110需要重新建 立映像关系,将会浪费许多时间在网络连通上。
发明内容
鉴于以上的问题,本发明的主要目的在于提供一种保持虚拟机器的远程操作不中 断的方法,保持虚拟机器的远程操作不中断的方法。
为达上述目的,本发明所揭露的保持虚拟机器的远程操作不中断的方法包括以下 步骤步骤a.对第一计算机的虚拟机器进行快照程序,并产生快照副本;步骤b.将快照副本复制至第二计算机;步骤c.根据快照副本在第二计算机中产生新的虚拟机器,但不启动第二计算机 中的虚拟机器;步骤d.获取虚拟机器的虚拟网络卡的媒体存取控制地址;步骤e.产生相应虚拟网络卡的地址解析协议封包;步骤f.通过第二计算机的实体网络卡广播虚拟机器的地址解析协议封包至交换 器;步骤g.暂停第一计算机中所运行的虚拟机器;步骤h.在步骤a 步骤g之间第一计算机的虚拟机器所产生的异动复制到第二 计算机的虚拟机器;步骤i.启动第二计算机中所运行的虚拟机器;以及步骤j.关闭第一计算机的虚拟机器。上述的保持虚拟机器的远程操作不中断的方法,其中,该快照副本包括该第一计 算机的一内存信息、一周边装置信息与该虚拟网络卡的硬件信息。上述的保持虚拟机器的远程操作不中断的方法,其中,在该步骤e中更包括将该 虚拟网络卡的媒体存取控制地址写入该地址解析协议封包中的一来源字段。上述的保持虚拟机器的远程操作不中断的方法,其中,步骤f 后更包括在步骤 a 步骤g之间该第一计算机的该虚拟机器所产生的异动复制到该第二计算机的该虚拟机
o上述的保持虚拟机器的远程操作不中断的方法,其中,根据该来源字段所记录的 该媒体存取控制地址,用以在该交换器中更新该第二计算机的该虚拟机器的该媒体存取控 制地址对该交换器的通讯端口的对应关系。本发明提供一种在虚拟机器迁移至新的实体计算机时仍能保持操作不中断的处 理方法,换言之就是使用者对虚拟机器的操作不会因为实体计算机的异动而受到中断。本 发明在虚拟机器从第一计算机中搬移前进行快照程序,并依据上述步骤进行搬移,使得虚 拟机器可以实现无缝的搬移。如此一来,在虚拟机器搬移完成后,即立刻自动在交换机上重 新建立了对虚拟机器网卡和交换机通讯端口的映像关系,无需等待旧的映射关系失效后再 由交换机建立该映射关系,否则,这个等待期间外界对虚拟机器的访问就会中断了。以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
图1为公知虚拟机器迁移示意图;图2为本发明的架构示意图;图3为本发明的运作流程示意图;图4A为本发明运作示意图;图4B为本发明运作示意图4C为本发明运作示意图;图4D为本发明运作示意图。其中,附图标记110-虚拟机器120-交换器210-虚拟机器220-交换器230-第一计算机240-第二计算机
具体实施例方式下面结合附图和具体实施例对本发明技术方案进行详细的描述,以更进一步了解 本发明的目的、方案及功效,但并非作为本发明所附权利要求保护范围的限制。本发明可应用在具有提供虚拟机器服务的计算机(例如服务器、个人计算机或 笔记型计算机等)。为能清楚说明本发明的整体架构还请参考图2所示,其为本发明的架构 示意图。在图2中包括交换器220、第一计算机230与第二计算机240。第一计算机230与 第二计算机240均能运行虚拟机器210的服务。本发明对于虚拟机器210运行的操作系统 与虚拟的硬件环境并不限定。首先,在第一计算机230中运行虚拟机器210,并将虚拟机器210从第一计算机 230迁移到第二计算机240。接下来,请参考图3所示,其为本发明的运作流程示意图。步骤a.由第一计算机该虚拟机器进行快照程序,并产生快照副本;步骤b.将快照副本复制至第二计算机;步骤c.根据快照副本在第二计算机中产生新的虚拟机器,且不启动第二计算机 中的虚拟机器;步骤d.获取在第二计算机上的虚拟机器的虚拟网络卡的媒体存取控制地址;步骤e.产生相应虚拟网络卡的地址解析协议封包;步骤f.通过第二计算机的实体网络卡发送虚拟机器的地址解析协议封包至交换 器;步骤g.暂停第一计算机中所运行的虚拟机器;步骤h.在步骤a 步骤g之间第一计算机的虚拟机器所产生的异动复制到第二 计算机的虚拟机器;步骤i.启动第二计算机中所运行的虚拟机器;以及步骤j.关闭第一计算机的虚拟机器。为能清楚说明本发明运作流程,还请同时配合图4A、 图4D所示。在第一计算机 230上对虚拟机器210进行快照程序(snapshot),快照程序用以对虚拟机器210的环境信 息(例如虚拟的中央处理器、内存大小、储存空间或相关硬件信息)进行备份复制(如图 4A的第二计算机240中以虚线表示的虚拟机器210)。在完成快照程序后,第一计算机230 会将快照数据传送到第二计算机240。当第二计算机240在完成虚拟机器210的快照数据 接收后,第二计算机240根据快照数据创建相同虚拟硬件环境的虚拟机器210(对应步骤
5a 步骤c)。但值得注意的是,这时候在第二计算机240上的虚拟机器210是尚未被启动 的。第二计算机240在创建虚拟机器210的过程中,第二计算机会根据从第一计算机 传递过来的虚拟机器的配置信息创建出虚拟机器的各种设备,包括虚拟网卡,且虚拟网卡 的MAC和在第一计算机上的虚拟机器210是绝对保持一致不变的,所以在本发明中在第二 计算机240创建好虚拟机器并获取虚拟机器MAC地址后,第二计算机240会通过虚拟网络 卡发出地址解析协议封包(Address Resolution Protocol简称ARP)。在此一 ARP封包中, 会将虚拟网络卡的媒体存取控制地址写入地址解析协议封包中的来源字段里(对应步骤 d 步骤f),但不需对ARP封包的内容写入任何数据或随意写入一些不影响网络的虚假数 据。由于第二计算机240可以得知虚拟机器210的MAC地址(虚拟机器的MAC在不同 服务器上都保持不变,这是由虚拟机器的配置信息决定的),所以可以由第二计算机240代 替虚拟机器210发送ARP封包给交换器220。而此一步骤的主要目的是要将虚拟机器210 的MAC地址广播给交换器220,因此不需对ARP封包的内容作任何添加。接着,在运行步骤a 步骤f的期间,对于第一计算机230的虚拟机器210所产生 的异动进行备份,并将异动部分复制到第二机器的虚拟机器210中。由于在此期间,第一计 算机230的虚拟机器210并未停止运作,因此可能会有部分异动的数据。为确保虚拟机器 210在搬移前后的数据一致性,所以在第一计算机230的虚拟机器210停止前,将有异动的 数据复制到第二计算机240的虚拟机器210中(对应步骤g 步骤h)。当把异动的数据复制到第二计算机240的虚拟机器210后,随即启动第二计算机 240中所运行的虚拟机器210。并通过第二计算机240的实体网络卡发送虚拟机器210的 ARP封包。在网络解析封包中已加入虚拟机器210的MAC地址(换言之,虚拟机器的MAC位 址地址保持不变)。当交换器220接收到此一封包时,交换器220会向各层级的网络设备进 行更新数据的动作。换言之,借助第二计算机240发送代表虚拟机器210的ARP封包给交 换器220,借以更新各网络设备的MAC表格。最后,将第一计算机230中的虚拟机器210关 闭(如图4D第一计算机中以虚线表示的虚拟机器210)。如此一来,就可以达到无缝迁移的 目的(对应步骤i 步骤j)。本发明提供一种在虚拟机器210迁移至新计算机时保持网络连通的处理方法。本 发明在虚拟机器210从第一计算机230中搬移前进行快照程序,并依据上述步骤进行搬移, 使得虚拟机器210可以无缝的搬移。如此一来,即可在搬移虚拟机器210后立即自动在交 换器220上重新建立对虚拟机器210的映射关系。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟 悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变 形都应属于本发明所附的权利要求的保护范围。
权利要求
一种保持虚拟机器的远程操作不中断的方法,当运行一虚拟机器的实体设备变动时仍可保持该虚拟机器的远程操作不中断,其特征在于,该保持虚拟机器的远程操作不中断的方法包括以下步骤步骤a.对一第一计算机该虚拟机器进行一快照程序,并产生一快照副本;步骤b.将该快照副本复制至一第二计算机;步骤c.根据该快照副本在该第二计算机中产生新的该虚拟机器,且不启动该第二计算机中的该虚拟机器;步骤d.获取该虚拟机器的一虚拟网络卡的媒体存取控制地址;步骤e.产生相应该虚拟网络卡的一地址解析协议封包;步骤f.通过该第二计算机的一实体网络卡发送该虚拟机器的该地址解析协议封包至一交换器;步骤g.暂停该第一计算机中所运行的该虚拟机器;步骤h.启动该第二计算机中所运行的该虚拟机器;以及步骤i.关闭该第一计算机的该虚拟机器。
2.如权利要求1所述的保持虚拟机器的远程操作不中断的方法,其特征在于,该快照 副本包括该第一计算机的一内存信息、一周边装置信息与该虚拟网络卡的硬件信息。
3.如权利要求1所述的保持虚拟机器的远程操作不中断的方法,其特征在于,在该步 骤e中更包括将该虚拟网络卡的媒体存取控制地址写入该地址解析协议封包中的一来源字段。
4.如权利要求1所述的保持虚拟机器的远程操作不中断的方法,其特征在于,步骤f后 更包括在步骤a 步骤g之间该第一计算机的该虚拟机器所产生的异动复制到该第二计 算机的该虚拟机器。
5.如权利要求1所述的保持虚拟机器的远程操作不中断的方法,其特征在于,根据该 来源字段所记录的该媒体存取控制地址,用以在该交换器中更新该第二计算机的该虚拟机 器的该媒体存取控制地址对该交换器的通讯端口的对应关系。
全文摘要
一种保持虚拟机器的远程操作不中断的方法,当运行虚拟机器的实体设备变动时仍可保持虚拟机器的远程操作不中断。包括对第一计算机的虚拟机器进行快照程序;将快照结果传送至第二计算机,并根据快照结果创建相同的虚拟机器;获取新创建的虚拟机器的虚拟网络卡的媒体存取控制地址;由第二计算机以广播(broadcast)方式向交换器发送新创建的虚拟机器的地址解析协议封包;停止第一计算机中的虚拟机器的运作,并运行第二计算机中的虚拟机器。采用本发明的方法,使用者对虚拟机器的操作不会因为实体计算机的异动而受到中断。
文档编号H04L29/06GK101876883SQ20091025330
公开日2010年11月3日 申请日期2009年11月30日 优先权日2009年11月30日
发明者张洪素, 陈玄同 申请人:英业达股份有限公司