《当侦测到退化网络链路操作时在网络服务器之间迁移虚拟机.pdf》由会员分享,可在线阅读,更多相关《当侦测到退化网络链路操作时在网络服务器之间迁移虚拟机.pdf(25页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102934087 A (43)申请公布日 2013.02.13 CN 102934087 A *CN102934087A* (21)申请号 201180024157.2 (22)申请日 2011.05.17 12/784,061 2010.05.20 US G06F 9/50(2006.01) H04L 29/08(2006.01) G06F 11/16(2006.01) (71)申请人 国际商业机器公司 地址 美国纽约 (72)发明人 NP汉松 BA史密斯 ES苏弗恩 JL伍德里奇 (74)专利代理机构 北京市中咨律师事务所 11247 代理人 张亚非 于静 (5。
2、4) 发明名称 当侦测到退化网络链路操作时在网络服务器 之间迁移虚拟机 (57) 摘要 在网络服务器之间迁移虚拟机, 这些服务 器与包括网络设备的数据通信网络耦接以进行 数据通信, 其中迁移包括 : 由虚拟机管理模块 (“VMMM” ) 在特定服务器上建立一个或多个虚拟 机 ; 由该 VMMM 向该网络设备查询将该网络设备耦 接至该特定服务器以进行数据通信的链路的链路 统计数据 ; 由该 VMMM 根据所述链路统计数据判定 将该网络设备耦接至该特定服务器的该链路是否 正在退化 ; 以及在将该网络设备耦接至该特定服 务器的该链路正在退化的情况下, 将执行于该特 定服务器上的虚拟机迁移至目的地服务。
3、器。在一 些实施例中, 仅在有非退化链路可用的情况下才 实行迁移。 如果无非退化链路可用, 则该网络设备 ( 而非该链路 )) 可能正变得失败。 (30)优先权数据 (85)PCT申请进入国家阶段日 2012.11.15 (86)PCT申请的申请数据 PCT/EP2011/057998 2011.05.17 (87)PCT申请的公布数据 WO2011/144633 EN 2011.11.24 (51)Int.Cl. 权利要求书 3 页 说明书 13 页 附图 8 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 13 页 附图 8 页 1/3 页 2 。
4、1. 一种在网络服务器之间迁移虚拟机的方法, 这些服务器与数据通信网络耦接以进行 数据通信, 该网络包含网络设备, 该方法包括 : 由虚拟机管理模块 (“VMMM” ) 在特定服务器上建立一个或多个虚拟机 ; 由该 VMMM 向该网络设备查询将该网络设备耦接至该特定服务器以进行数据通信的链 路的链路统计数据 ; 由该 VMMM 根据所述链路统计数据判定将该网络设备耦接至该特定服务器的该链路是 否正在退化 ; 以及 如果将该网络设备耦接至该特定服务器的该链路正在退化, 则将执行于该特定服务器 上的虚拟机迁移至目的地服务器。 2. 如权利要求 1 的方法, 其中将执行于该特定服务器上的虚拟机迁移至。
5、目的地服务器 进一步包括 : 向该网络设备查询将该网络设备耦接至其它服务器的链路的链路统计数据 ; 根据这些链路统计数据识别非退化链路 ; 以及 将经由该非退化链路耦接至该网络设备的服务器选定为用于执行于该特定服务器上 的该虚拟机的该目的地服务器。 3. 如权利要求 1 或权利要求 2 的方法, 其中迁移虚拟机进一步包括仅在有非退化链路 可用的情况下才迁移该虚拟机, 该仅在有非退化链路可用的情况下才迁移该虚拟机包括 : 向该网络设备查询将该网络设备耦接至其它服务器的链路的链路统计数据 ; 根据将该网络设备耦接至其它服务器的链路的链路统计数据判定该网络设备正变得 失败 ; 选择失败转接网络设备以。
6、用于这些网络服务器之间的数据通信 ; 以及 不迁移该特定服务器上的该虚拟机。 4. 如权利要求 1 至 3 中的任何一个的方法, 其中所述链路统计数据包括多个加上时间 戳的项, 这些加上时间戳的项表示在将该网络设备耦接至该特定服务器的该链路上接收的 错误字节, 且判定将该网络设备耦接至该特定服务器的该链路是否正在退化进一步包括 : 自表示错误字节的所述加上时间戳的项计算位错误率 ; 判定该计算的位错误率是否大于预定阈值 ; 以及 如果该计算的位错误率大于该预定阈值, 则判定将该网络设备耦接至该特定服务器的 该链路正在退化。 5. 如前述任何一个权利要求的方法, 其中所述链路统计数据包括描述在将。
7、该网络设备 耦接至该特定服务器的该链路上接收的测试数据的符号错误的信息, 且判定将该网络设备 耦接至该特定服务器的该链路是否正在退化进一步包括 : 根据描述符号错误的该信息计算符号错误的频率 ; 根据描述符号错误的该信息判定在将该网络设备耦接至该特定服务器的该链路上的 符号错误的频率是否大于预定阈值 ; 以及 如果符号错误的该频率大于该预定阈值, 则判定将该网络设备耦接至该特定服务器的 该链路正在退化。 6. 如前述任何一个权利要求的方法, 其进一步包括 : 由该网络设备监视在这些服务器之间沿着将这些服务器耦接至彼此及该网络设备的 权 利 要 求 书 CN 102934087 A 2 2/3 。
8、页 3 链路传递的数据通信 ; 以及 将链路统计数据存储于一管理信息库 ( “MIB” ) 中, 所述链路统计数据描述在这些服务 器之间沿着将这些服务器耦接至彼此及该网络设备的链路传递的数据通信。 7. 一种用于在网络服务器之间迁移虚拟机的装置, 这些服务器与数据通信网络耦接以 进行数据通信, 该网络具有网络设备, 该装置具有计算机处理器和操作地耦接至该计算机 处理器的计算机存储器, 且该装置包括 : 用于由虚拟机管理模块 (“VMMM” ) 在特定服务器上建立一个或多个虚拟机的装置 ; 用于由该 VMMM 向该网络设备查询将该网络设备耦接至该特定服务器以进行数据通信 的链路的链路统计数据的装。
9、置 ; 用于由该 VMMM 根据所述链路统计数据判定将该网络设备耦接至该特定服务器的该链 路是否正在退化的装置 ; 以及 用于如果将该网络设备耦接至该特定服务器的该链路正在退化, 则将执行于该特定服 务器上的虚拟机迁移至目的地服务器的装置。 8. 如权利要求 7 的装置, 其中用于将执行于该特定服务器上的虚拟机迁移至目的地服 务器的装置进一步包括 : 用于向该网络设备查询将该网络设备耦接至其它服务器的链路的链路统计数据的装 置 ; 用于根据所述链路统计数据识别非退化链路的装置 ; 以及 用于将经由该非退化链路耦接至该网络设备的服务器选定为用于执行于该特定服务 器上的该虚拟机的该目的地服务器的装。
10、置。 9. 如权利要求 7 或权利要求 8 的装置, 其中用于迁移虚拟机的装置进一步包括用于仅 在有非退化链路可用的情况下才迁移该虚拟机的装置, 该用于仅在有非退化链路可用的情 况下才迁移该虚拟机的装置包括 : 用于向该网络设备查询将该网络设备耦接至其它服务器的链路的链路统计数据的装 置 ; 用于根据将该网络设备耦接至其它服务器的链路的所述链路统计数据判定该网络设 备正变得失败的装置 ; 用于选择失败转接网络设备以用于这些网络服务器之间的数据通信的装置 ; 以及 用于不迁移该特定服务器上的该虚拟机的装置。 10.如权利要求7至9中的任何一个的装置, 其中所述链路统计数据包括多个加上时间 戳的项。
11、, 这些加上时间戳的项表示在将该网络设备耦接至该特定服务器的该链路上接收的 错误字节, 且所述用于判定将该网络设备耦接至该特定服务器的该链路是否正在退化的装 置进一步包括 : 用于自表示错误字节的所述加上时间戳的项计算位错误率的装置 ; 用于判定该计算的位错误率是否大于预定阈值的装置 ; 以及 用于如果该计算的位错误率大于该预定阈值, 则判定将该网络设备耦接至该特定服务 器的该链路正在退化的装置。 11. 如权利要求 7 至 10 中的任何一个的装置, 其中所述链路统计数据包括描述在将该 网络设备耦接至该特定服务器的该链路上接收的测试数据的符号错误的信息, 且所述用于 权 利 要 求 书 CN。
12、 102934087 A 3 3/3 页 4 判定将该网络设备耦接至该特定服务器的该链路是否正在退化的装置进一步包括 : 用于根据描述符号错误的该信息计算这些符号错误的频率的装置 ; 用于根据描述符号错误的该信息判定在将该网络设备耦接至该特定服务器的该链路 上的符号错误的频率是否大于预定阈值的装置 ; 以及 用于如果符号错误的该频率大于该预定阈值, 则判定将该网络设备耦接至该特定服务 器的该链路正在退化的装置。 12. 如权利要求 7 至 11 中的任何一个的装置, 其进一步包括用于执行如下操作的装 置 : 由该网络设备监视在这些服务器之间沿着将这些服务器耦接至彼此及该网络设备的 链路传递的数。
13、据通信 ; 以及 将链路统计数据存储于管理信息库 ( “MIB” ) 中, 所述链路统计数据描述在这些服务器 之间沿着将这些服务器耦接至彼此及该网络设备的链路传递的数据通信。 13. 一种包括存储在计算机可读介质上的计算机程序代码的计算机程序, 当所述计算 机程序代码被加载到计算机系统中并在其上执行时, 使得所述计算机系统执行根据权利要 求 1 至 6 中任一项的方法的所有步骤。 权 利 要 求 书 CN 102934087 A 4 1/13 页 5 当侦测到退化网络链路操作时在网络服务器之间迁移虚拟 机 技术领域 0001 本发明的领域为数据处理, 或更具体言之, 为用于在侦测到退化网络链路。
14、操作时 在网络服务器 (networked server) 之间迁移虚拟机的方法、 装置及产品。 背景技术 0002 1948 年对 EDVAC 计算机系统的开发常被称为计算机时代的开始。自那时起, 计算 机系统已演进为极其复杂的设备。现今的计算机远比诸如 EDVAC 的早期系统先进。计算机 系统通常包括硬件与软件组件、 应用程序、 操作系统、 处理器、 总线、 存储器、 输入 / 输出设 备等的组合。随着半导体处理及计算机架构的进展推动计算机性能变得愈来愈高, 更先进 的计算机软件已演进以利用较高的硬件性能, 从而导致现今的计算机系统远比仅仅几年前 的计算机系统强大。 0003 现今的计算机。
15、系统常常连网以用于数据通信, 且常常通过使用虚拟机 ( 仿真硬件 的软件 ) 来同时执行数个操作系统。耦接计算机系统的网络设备 (network device) 及数 据通信链路可不时地开始失败。 现今维持虚拟机与运行虚拟机的计算机系统之间的数据通 信的方法通常等到完全通信失败发生之后才采取校正动作或向运行虚拟机的计算机要求 大量处理功率。因此, 希望解决现有技术中的这些缺点。 发明内容 0004 相应地, 在第一个方面, 本发明提供了一种用于在网络服务器之间迁移虚拟机的 方法, 这些服务器与数据通信网络耦接以进行数据通信, 该网络包含网络设备, 该方法包 括 : 由虚拟机管理模块 (“VMM。
16、M” ) 在特定服务器上建立一个或多个虚拟机 ; 由该 VMMM 向该 网络设备查询将该网络设备耦接至该特定服务器以进行数据通信的链路的链路统计数据 ; 由该 VMMM 根据所述链路统计数据判定将该网络设备耦接至该特定服务器的该链路是否正 在退化 ; 以及如果将该网络设备耦接至该特定服务器的该链路正在退化, 则将执行于该特 定服务器上的虚拟机迁移至目的地服务器。 0005 优选地, 将执行于该特定服务器上的虚拟机迁移至目的地服务器进一步包括 : 向 该网络设备查询将该网络设备耦接至其它服务器的链路的链路统计数据 ; 根据这些链路统 计数据识别非退化链路 ; 以及将经由该非退化链路耦接至该网络设。
17、备的服务器选定为用于 执行于该特定服务器上的该虚拟机的该目的地服务器。 0006 优选地, 迁移虚拟机进一步包括仅在有非退化链路可用的情况下才迁移该虚拟 机, 该仅在有非退化链路可用的情况下才迁移该虚拟机包括 : 向该网络设备查询将该网络 设备耦接至其它服务器的链路的链路统计数据 ; 根据将该网络设备耦接至其它服务器的链 路的链路统计数据判定该网络设备正变得失败 ; 选择失败转接 (failover) 网络设备以用 于这些网络服务器之间的数据通信 ; 以及不迁移该特定服务器上的该虚拟机。优选地, 所 述链路统计数据包括多个加上时间戳的项, 这些加上时间戳的项表示在将该网络设备耦接 说 明 书 。
18、CN 102934087 A 5 2/13 页 6 至该特定服务器的该链路上接收的错误字节, 且判定将该网络设备耦接至该特定服务器的 该链路是否正在退化进一步包括 : 自表示错误字节的所述加上时间戳的项计算位错误率 ; 判定该计算的位错误率是否大于预定阈值 ; 以及如果该计算的位错误率大于该预定阈值, 则判定将该网络设备耦接至该特定服务器的该链路正在退化。优选地, 所述链路统计数据 包括描述在将该网络设备耦接至该特定服务器的该链路上接收的测试数据的符号错误的 信息, 且判定将该网络设备耦接至该特定服务器的该链路是否正在退化进一步包括 : 根据 描述符号错误的该信息计算符号错误的频率 ; 根据描。
19、述符号错误的该信息判定在将该网络 设备耦接至该特定服务器的该链路上的符号错误的频率是否大于预定阈值 ; 以及如果符号 错误的该频率大于该预定阈值, 则判定将该网络设备耦接至该特定服务器的该链路正在退 化。该方法可进一步包括 : 由该网络设备监视在这些服务器之间沿着将这些服务器耦接 至彼此及该网络设备的链路传递的数据通信 ; 以及将链路统计数据存储于一管理信息库 (“MIB” ) 中, 所述链路统计数据描述在这些服务器之间沿着将这些服务器耦接至彼此及该 网络设备的链路传递的数据通信。 0007 在第二个方面, 本发明提供了一种用于在网络服务器之间迁移虚拟机的装置, 这 些服务器与数据通信网络耦接。
20、以进行数据通信, 该网络具有网络设备, 该装置具有计算机 处理器和操作地耦接至该计算机处理器的计算机存储器, 且该装置包括 : 用于由虚拟机管 理模块 (“VMMM” ) 在特定服务器上建立一个或多个虚拟机的装置 ; 用于由该 VMMM 向该网 络设备查询将该网络设备耦接至该特定服务器以进行数据通信的链路的链路统计数据的 装置 ; 用于由该 VMMM 根据所述链路统计数据判定将该网络设备耦接至该特定服务器的该 链路是否正在退化的装置 ; 以及用于如果将该网络设备耦接至该特定服务器的该链路正在 退化, 则将执行于该特定服务器上的虚拟机迁移至目的地服务器的装置。 0008 该第二个方面的装置可进一。
21、步包括被适配为执行第一个方面的优选步骤的装置。 0009 在第三个方面, 提供了一种包括存储在计算机可读介质上的计算机程序代码的计 算机程序, 当所述计算机程序代码被加载到计算机系统中并在其上执行时, 使得所述计算 机系统执行根据第一个方面的方法的所有步骤。 0010 因此, 描述了在网络服务器之间迁移虚拟机的方法、 装置及产品。 在本发明的实施 例中, 这些服务器与包括网络设备的数据通信网络耦接以进行数据通信。根据本发明的实 施例的迁移虚拟机包括 : 由虚拟机管理模块 (“VMMM” ) 在特定服务器上建立一个或多个虚 拟机 ; 由该 VMMM 向该网络设备查询将该网络设备耦接至该特定服务器。
22、以进行数据通信的 链路的链路统计数据 ; 以及由该 VMMM 根据所述链路统计数据判定将网络设备耦接至该特 定服务器的链路是否正在退化。如果将该网络设备耦接至该特定服务器的链路正在退化, 则将执行于该特定服务器上的虚拟机迁移至目的地服务器。 附图说明 0011 现在将参照附图仅作为示例描述本发明优选实施例, 在附图中 : 0012 图 1 给出在其中根据本发明的实施例在网络服务器之间迁移虚拟机的示例性数 据中心的线图 ; 0013 图 2 给出根据本发明的实施例的用于在网络服务器之间迁移虚拟机的示例性系 统的网络图 ; 说 明 书 CN 102934087 A 6 3/13 页 7 0014 。
23、图 3 给出示出了根据本发明的实施例的用于在网络服务器之间迁移虚拟机的示 例性方法的流程图 ; 0015 图 4 给出示出了根据本发明的实施例的用于在网络服务器之间迁移虚拟机的另 一示例性方法的流程图 ; 0016 图 5 给出示出了根据本发明的实施例的用于在网络服务器之间迁移虚拟机的另 一示例性方法的流程图 ; 0017 图 6 给出示出了根据本发明的实施例的用于在网络服务器之间迁移虚拟机的另 一示例性方法的流程图 ; 0018 图 7 给出示出了根据本发明的实施例的用于由 VMMM 根据链路统计数据判定将网 络设备耦接至特定服务器的链路是否正在退化的示例性方法的流程图 ; 以及 0019 。
24、图 8 给出说明了根据本发明的实施例的用于由 VMMM 根据链路统计数据判定将网 络设备耦接至特定服务器的链路是否正在退化的另一示例性方法的流程图。 具体实施方式 0020 参考自图 1 开始的附图描述根据本发明的用于在网络服务器之间迁移虚拟机的 示例性方法、 装置及产品。图 1 给出在其中根据本发明的实施例的在网络服务器之间迁移 虚拟机的示例性数据中心的线图。数据中心 (120) 为用于容纳对任务关键的计算机系统及 相关联的组件的设施。此类数据中心可包括环境控制 ( 空气调节、 火灾扑灭等 )、 冗余 / 备 用电源、 冗余数据通信连接及由对该设施内间隔化 (compartmentalize。
25、d) 的安全区域的生 物测量访问控制所突出显示的高安全性。数据中心也可容纳大量电子设备, 典型的为计算 机及通信设备。数据中心可由组织维护以用于处理其操作所必需的数据的目的。举例而 言, 银行可具有数据中心, 在该数据中心中维护有银行客户的账户信息, 且执行涉及这些账 户的事务 (transaction) 。事实上, 每一个中型或更大的公司具有某一类型的数据中心, 且 较大的公司常常具有数十个数据中心。 0021 作为术语用于本说明书中的虚拟机 ( “VM” ) 指机器 ( 诸如, 计算机 ) 的软件实现。 虚拟机使得能够在不同虚拟机之间共享基础物理机器资源, 这些虚拟机中的每一个可运行 其自。
26、身的操作系统。提供虚拟化的软件层被称为虚拟机监视器或管理程序。管理程序为自 动化计算机器的模块, 其执行软件及硬件平台虚拟化以便使多个操作系统能够在单独虚拟 机中同时执行于主机计算机上。 管理程序直接执行于主机的硬件上以控制硬件访问及监视 客户 (gues t) 操作系统。客户操作系统执行于高于管理程序的层级上。由管理程序提供 的平台虚拟化在本说明书中被称为虚拟化环境。 虚拟化环境为自操作系统及其它软件应用 的角度来看计算平台的物理特性 ( 计算机处理器、 计算机存储器、 I/O 适配器等 ) 被抽象化 的环境。 0022 VM 提供许多益处, 包括例如 : 0023 多个 OS 环境可以彼此。
27、充分隔离的方式共存于相同的物理计算机硬件资源上 ; 0024 有些不同于基础物理计算机硬件资源的指令集架构 (ISA) 的指令集架构 ; 0025 应用供应、 维护、 高可用性及灾难恢复 ; 以及 0026 如本领域技术人员将想到的其它益处。 0027 图 1 的系统一般能够在服务器之间进行 VM 迁移。作为术语在本说明书中使用的 说 明 书 CN 102934087 A 7 4/13 页 8 “迁移” 为虚拟机自一个物理服务器至另一个物理服务器的有效移动。本文根据 VM 自一个 服务器至另一个服务器的 “有效” 移动来描述迁移, 因为迁移并非指移动的手段而是指移动 的最终结果。也就是说, 迁。
28、移描述两个状态, 在一个状态中特定 VM 执行于特定服务器上, 且 在另一个状态中, 该特定 VM 不再执行于该特定服务器上而改为执行于另一服务器上。因 此, 自第一状态至第二状态, 可将该特定 VM 描述为已自该特定服务器移动至另一服务器。 然而, 在本发明的范畴内, 借以实行这种 VM“移动” 的手段可极大地改变。将 VM 自特定服 务器迁移至另一服务器可包括例如 : 将表示执行于该特定服务器上的 VM 的数据自该特定 服务器的存储器复制至另一服务器的存储器 ; 将先前建立的执行于该特定服务器上的 VM 的映像上载至另一服务器且在该另一服务器上执行, 及终止执行执行于该特定服务器上的 VM。
29、 ; 在另一服务器中建立虚拟机的默认映像, 且在该 VM 的该默认映像中执行执行于该特定 服务器的 VM 中的相同用户级应用的实例等。 0028 图 1 的示例中的示例性数据中心 (120) 包括 blade centerTM( 刀片中心 )(100), blade centerTM(100) 为一类型的服务器机箱 (chassis) , 其特别被配置为容纳若干刀片服 务器。作为术语在本说明书中使用的服务器一般指经由网络连接提供服务 ( 例如, 数据库 访问、 文件传送、 远程访问 ) 或资源 ( 例如, 文件空间 ) 的多用户计算机。如上下文所要求, 术语 “服务器” 包括性地指服务器的计算。
30、机硬件以及运行于该服务器上的任何服务器应用 软件或操作系统软件。 服务器应用为接受连接以便通过发回响应来服务于来自用户的请求 的应用程序。服务器应用可执行于与使用其的客户端应用相同的计算机上, 或服务器应用 可经由计算机网络接受连接。 服务器应用的示例包括文件服务器、 数据库服务器、 备份服务 器、 打印服务器、 邮件服务器、 web 服务器、 FTP 服务器、 应用服务器、 VPN 服务器、 DHCP 服务 器、 DNS 服务器、 WINS 服务器、 登录服务器、 安全服务器、 域控制器、 备份域控制器、 代理服务 器、 防火墙等。 0029 刀片服务器为具有被优化以最小化物理空间及能量的使。
31、用的模块化设计的服务 器计算机。尽管标准机架安装的服务器可以至少一电源线及网络缆线来运行, 刀片服务器 使许多组件被移除以节省空间、 最小化功率消耗及其它考虑, 而仍具有所有功能性组件以 被视作计算机。刀片中心可持有多个刀片服务器, 提供诸如供电、 冷却、 连网、 各种互连及 管理的服务, 尽管不同刀片提供者围绕将什么包括于刀片自身中 ( 且有时完全包括于外壳 中 ) 具有不同原则。 0030 在图 1 的示例中, 刀片中心 (100) 包括两个机柜插槽 (cabinet bay) (104、 106), 该两个机柜插槽中的每一个包括若干组件。机柜插槽 (104) 含有若干刀片服务器 (108。
32、), 这些刀片服务器 (108) 中的每一个由电源 (132) 供电。机柜插槽 (106) 含有用于刀片中心 (100)的电源(132)、 数据通信网络路由器(130)、 网络交换器(134)及下文中更详细描述的 虚拟机管理模块 (“VMMM” )(102)。机柜插槽 (106) 也含有独立磁盘冗余阵列 (“RAID” ) (136) 及电源板 (power strip)(138)。 0031 在图 1 中, 为了解释清晰起见而以展开形式示出了刀片中心 (100) 中的刀片服务 器(108)中的两个 : 刀片服务器(152)及刀片服务器(128)。 然而, 本领域技术人员将理解, 刀片中心 (。
33、100) 的刀片服务器 (108) 中的每一个可包括与服务器 (152、 128) 类似的组件, 且当根据本发明的实施例参与 VM 迁移时以类似方式操作。作为可在根据本发明的实施例 实行 VM 迁移的系统中使用的服务器的一示例, 考虑服务器 (152)。服务器 (152) 包括至少 说 明 书 CN 102934087 A 8 5/13 页 9 一个计算机处理器 (156) 或 “CPU” 以及经由高速存储器总线 (166) 及总线适配器 (158) 连 接至处理器 (156) 及服务器 (152) 的其它组件的随机存取存储器 (168)(“RAM” )。 0032 管理程序 (140) 存储。
34、于服务器 (152) 的 RAM(168) 中, 其使两个虚拟机 (114、 116) 能够执行于服务器 (152) 的基础硬件上且能够利用服务器 (152) 的硬件资源。操作系统 (154) 及两个用户级应用 (122、 123) 运行于虚拟机 (114) 内 ( 或换言之, 运行于虚拟机 (114)上)。 可在根据本发明的实施例参与VM迁移的服务器中使用的操作系统包括UNIXTM、 LinuxTM、 Microsoft XPTM、 AIXTM、 IBM 的 i5/OSTM, 及本领域技术人员将想到的其它操作系统。 操作系统(154)及两个用户级应用(124、 125)运行于虚拟机(116)。
35、内。 运行于虚拟机(116) 内的操作系统 (154) 可为执行于虚拟机 (114) 中的相同操作系统 (154) 的单独实例, 或可 完全为另一类型的操作系统(154)。 也就是说, 服务器(152)中的两个操作系统可相同(诸 如, UnixTM), 或两个操作系统可不同 ( 诸如, UnixTM与 Microsoft XPTM)。 0033 图1的示例中的管理程序(140)、 操作系统(154)及用户级应用(122-125)被示出 在 RAM(168) 中, 但这种软件的许多组件通常也存储于非易失性存储器中, 诸如存储于盘驱 动器 (170) 上。 0034 图 1 的服务器 (152) 。
36、包括经由扩展总线 (160) 及总线适配器 (158) 耦接至处理器 (156) 及服务器 (152) 的其它组件的盘驱动器适配器 (172)。盘驱动器适配器 (172) 将非 易失性数据存储设备以盘驱动器 (170) 的形式连接至服务器 (152)。可在根据本发明的实 施例参与虚拟机在网络服务器之间的迁移的服务器中使用的盘驱动器适配器包括集成驱 动电子设备 (“IDE” ) 适配器、 小型计算机系统接口 (“SCSI” ) 适配器及本领域技术人员 将想到的其它适配器。如本领域技术人员将想到的, 非易失性计算机存储器也可实现为光 盘驱动器、 电可擦除可编程只读存储器 ( 所谓的 “EEPROM。
37、” 或 “快闪” 存储器 )、 RAM 驱动器 等。 0035 图 1 的示例服务器 (152) 包括一个或多个输入 / 输出 (“I/O” ) 适配器 (178)。 I/O 适配器经由例如软件驱动器及计算机硬件实施面向用户的输入 / 输出, 以用于控制到 显示设备 ( 诸如, 计算机显示屏幕 ) 的输出, 以及来自用户输入设备 (181)( 诸如, 键盘及鼠 标 ) 的用户输入。图 1 的示例服务器 (152) 包括一视频适配器 (209), 视频适配器 (209) 为 被特别设计以用于到显示设备 (180)( 诸如, 显示屏幕或计算机监视器 ) 的图形输出的 I/O 适配器的示例。 视频适。
38、配器(209)经由高速视频总线(164)、 总线适配器(158)及前侧总线 (162)(也为高速总线) 连接至处理器 (156)。 0036 图1的示例性服务器(152)包括用于与其它计算机进行数据通信及用于与数据通 信网络 ( 图 1 中未示出 ) 进行数据通信的通信适配器 (167)。这种数据通信可经由 RS-232 连接、 经由外部总线 ( 诸如, 通用串行总线 ( “USB” )、 经由数据通信网络 ( 诸如, IP 数据通 信网络 ) 及以本领域技术人员将想到的其它方式串行地进行。通信适配器实施硬件级的数 据通信, 通过该硬件级的数据通信, 一个计算机直接地或经由数据通信网络将数据通。
39、信发 送至另一个计算机。可在根据本发明的实施例参与 VM 迁移的服务器中使用的通信适配器 的示例包括用于有线拨号通信的调制解调器、 用于有线数据通信网络通信的以太网 (IEEE 802.3) 适配器、 及用于无线数据通信网络通信的 802.11 适配器。 0037 尽管仅将服务器(152)描述为包括处理器(156)、 RAM(168)、 总线适配器(158)、 通 信适配器 (167) 等, 但本领域技术人员将认识到, 图 1 的示例中的刀片服务器 (108) 中的任 说 明 书 CN 102934087 A 9 6/13 页 10 一个 ( 以及更具体而言, 服务器 (128) 也可包括类似。
40、组件。 0038 图 1 的刀片中心 (100) 的交换器 (134) 为网络设备的一示例, 网络设备为在计算 机网络中传递数据的单元。网络设备也可称为网络装置 (network equipment) 、 中间系统 (Intermediate System,IS) 或互通单元 (InterWorking Unit,IWU)。作为最后接收者或产 生数据的单元被称为主机或数据终端设备。 0039 网络设备的示例包括 : 0040 网关 : 使用不同协议在网络节点处与另一网络介接 (interface) 的设备。在开放 系统互连 (“OSI” ) 的第 4 至 7 层上操作。 0041 路由器 : 。
41、判定向着数据包的目的地将该数据包转递至的下一网络点的专用网络设 备。通常在 OSI 的第 3 层上操作。 0042 桥接器 : 沿着数据链路层连接多个网络区段 (segment) 的设备。在 OSI 的第 2 层 上操作。 0043 交换器 : 将来自一个网络区段的通信流分配至某些线路或 “链路” ( 预期的目的地 或将该区段连接至另一网络区段的目的地 ) 的设备。与集线器不同, 交换器拆分网络通信 流且将其发送至不同目的地, 而非发送至网络上的所有系统。在 OSI 的第 2 层上操作。 0044 多层交换器 : 除在OSI的第2层上进行交换外也在更高协议层提供功能的交换器。 0045 集线器。
42、 : 将多个区段连接在一起且如同这些区段为单一区段般操作这些区段的设 备。当使用集线器时, 每一附接的设备共享相同广播域及相同冲突域。因此, 每次仅一个连 接至该集线器的计算机能够传输。取决于网络拓扑, 集线器在网络对象 ( 工作站、 服务器 等 ) 之间提供第 1 级 OSI 模型连接。与在个别节点之间提供专用连接的交换器相比, 集线 器也可提供在所有对象之间共享的带宽。在 OSI 的第 1 层上操作。 0046 中继器 : 在将来自网络的一部分的数字信号放置到另一部分中时放大或重新产生 所接收的数字信号的设备。在 OSI 的第 1 层上操作。 0047 协议转换器 : 在两个不同类型的传输。
43、(诸如, 异步传输与同步传输)之间转换的硬 件设备。 0048 桥接式路由器 (bridge router) : 以路由器与桥接器的功能的组合的方式操作的 设备。在 OSI 第 2 层及 OSI 第 3 层两者上操作。 0049 数字媒体接收器 : 将计算机网络连接至家庭剧院的设备。 0050 图1的示例中的交换器(134)将刀片服务器(108, 包括158及128)彼此耦接以用 于彼此之间及与路由器 (130) 及 VMMM(102) 的数据通信。 0051 图 1 的虚拟机管理模块 (102) ( “VMMM” ) 为包含计算机硬件及软件的聚集的自动化 计算机器的模块, 其被配置为在图 1。
44、 的示例中的网络服务器 (108, 包括 152 及 128) 之间实 行虚拟机迁移。不管迁移技术为何, VMMM 也可负责其它虚拟机管理。也说是说, VMMM(102) 也可在服务器之间以平衡工作负荷、 冗余或可用性的方式管理 VM 的分配。VMMM(102) 可通 过管理资源分配或与另一管理模块合作以控制操作特性 ( 节流服务器等 ) 来管理 VM 的操 作。VMMM(102) 也可管理虚拟机的解除分配, 从而选择是否将虚拟机置于等待 (standby) 模 式中, 而非完全关闭电源等。这些仅为根据本发明的实施例 VMMM 操作以用于 VM 迁移的许 多任务中的少数几个。 0052 图 1。
45、 的示例中的 VMMM(102) 可通过首先在特定服务器上建立一个或多个 VM 来根 说 明 书 CN 102934087 A 10 7/13 页 11 据本发明的实施例在图 1 的刀片中心 (100) 中的刀片服务器 (108) 之间迁移 VM。出于解 释的目的考虑图 1 的示例中的 VMMM(102) 在服务器 (152) 上建立虚拟机 (114) 及虚拟机 (116)。 VMMM可接着向网络设备(交换器(134)查询将该网络设备耦接至该特定服务器以 进行数据通信的链路的链路统计数据(112)。 如上下文所要求的, 本文所描述的作为术语的 链路指用以支持设备之间的数据通信的两个设备之间的物。
46、理或逻辑耦接。 链路统计数据描 述沿着将服务器 (108、 152、 128) 耦接至彼此及交换器 (134) 的链路传递的数据通信。 0053 VMMM(102) 可接着根据链路统计数据 (112) 判定将网络设备耦接至该特定服务器 的链路是否正在退化, 且在将网络设备耦接至该特定服务器的该链路正在退化的情况下, VMMM 可将执行于该特定服务器 (152) 上的虚拟机 ( 诸如, VM(114) 迁移至目的地服务器 ( 诸如, 服务器 (128)。 0054 作为VMMM(102)在图1的数据中心(120)中实行VM迁移的一示例, 考虑VMMM(102) 首先在服务器 (152) 上建立 。
47、VM(114) 及 VM(116) 且未在服务器 (128) 上建立 VM。当服 务器 (108)( 包括服务器 (152) 及服务器 (128) 经由网络交换器 (134) 在彼此之间传递 数据通信消息时, 该网络交换器 (134) 监视这些数据通信且将链路统计数据存储在可由 VMMM(102) 经由查询访问的预定义存储器区域中。不时地, VMMM(102) 向交换器 (134) 查询 链路统计数据 (112), 且判定耦接服务器 (152) 与交换器 (134) 的链路是否正在退化。如 果链路正在退化, 则 VMMM(102) 将 VM(114) 及 VM(116) 迁移至服务器 (128。
48、)( 此处被示为 VM(118) 及 VM(119)。如果当前没有管理程序运行于服务器 (128) 中, 则 VMMM 也可在建立 VM(118、 119) 之前首先启动服务器 (128) 中的管理程序 (142)。除 VM 之外, VMMM(102) 也 可将执行于服务器 (152) 的 VM(114、 116) 中的用户级应用 (122-125) 迁移至服务器 (128) 的 VM(118、 119)。在图 1 的示例中, 用户级应用 (122-125) 已被迁移且被示为用户级应用 (126、 127、 129 及 131)。 0055 本文用以描述通信链路的术语 “退化” 指可在低于标准。
49、水平执行且可能接近失败 的链路。本文中, 术语 “退化” 用以指示 VM 迁移是以前瞻性 ( 聚焦于减轻的 ) 方式而非反 应性方式实行的。也就是说, 不同于在链路失败之后迁移 VM, 图 1 的示例中的 VMMM 在完全 失败之前迁移 VM, 从而减轻在链路完全失败的情况下原本可能出现的数据通信、 产能等的 损失。以此方式, 服务器及 VM 的可用性增加了。本领域技术人员也将了解, 监视数据通信 及判定链路是否正在退化并非由支持且使能 VM 的管理程序实行, 而是由网络设备及 VMMM 实行。以此方式, 管理程序及因此管理程序操作于其上的服务器不承受监视数据通信及判 定数据通信链路是否正在退化的负荷, 从而增加了服务器的操作效率且减少了操作开销。 0056 链路可能由于多种原因而退化, 包括例如由于将导致循环冗余检查 (CRC) 错误的 信号错误引入数据通信包中的电磁干扰、 由于使链路间符号信号不匹配交换器硬件至电缆 特性的老化物理电缆。这些原因仅为链路退化的许多可能因素中的少数几个示例原因, 且 这些原因中的每一个完全在本发明的。