虚拟机部署方法及装置的制造方法_3

文档序号:9399352阅读:来源:国知局
业务时发送的。在本发明实施例中,虚拟机管理模块管理的 每个服务器中可以部署有多个虚拟机,该多个虚拟机中的每一个虚拟机都可以在与对端 虚拟机的执行通讯业务时,检测与对端虚拟机的通讯质量,并将该通讯质量发送至虚拟机 管理模块。示例的,假设部署在第一服务器A中的虚拟机VMl与部署在第二服务器B中 的虚拟机VM2之间存在通讯业务,并且该第一服务器A和第二服务器B的MAC地址分别 为:12-3e-d4-55-c6-f7,12-3e-d4-55-c6-f8。则VMl可以在与VM2执行通讯业务时,检测 VMl与VM2之间的通讯质量,如VMl向VM2发送数据包的时延、抖动和丢包率等,假设VMl 向VM2发送数据包的时延为30毫秒(ms),抖动为3ms,丢包率为0. 005,则VMl可以将该 通讯质量:时延:30ms,抖动:3ms,丢包率:0. 005,以及部署有VMl的第一服务器A的标识: 12-3e-d4-55-c6-f7和部署有VM2的第二服务器B的标识:12-3e-d4-55-c6-f8发送至虚拟 机管理模块。
[0145] 另一方面,该通讯质量信息可以是该第一服务器向该第二服务器发送探测包,并 收到该第二服务器发送的探测响应包后,根据该探测包和该探测响应包生成的。在本发明 实施例中,该虚拟机管理模块管理的每个服务器中还可以设置有通讯检测模块,每个服务 器中的通讯检测模块可以向其他服务器中的通讯检测模块发送探测包,并在接收到其他服 务器中的通讯探测模块发送探测响应包后,生成通讯质量信息。示例的,假设第一服务器A 中设置的通讯检测模块Al向第二服务器B中设置的通讯检测模块Bl发送了探测包,并根 据接收到Bl发送的探测响应包,获取到通讯检测模块Al向通讯检测模块Bl发送的探测包 的时延为30ms,抖动为3ms,丢包率为0. 005,则第一服务器A生成的通讯质量信息可以包 括:第一服务器A的标识:12-3e-d4-55-c6-f7 ;第二服务器B的标识:12-3e-d4-55-c6-f8 ; 通讯质量:时延:30ms,抖动:3ms,丢包率:0. 005。
[0146] 需要说明的是,在实际应用中,该虚拟机管理模块可以为虚拟网络功能管理模块 (英文:Virtual NetworkFeature Manager ;简称:VNFM),也可以为虚拟机管理器(英文:VM Manager)等,本发明实施例不做限定。
[0147] 步骤402、判断通讯质量是否高于预设质量阈值。
[0148] 若该通讯质量高于预设质量阈值,执行步骤403 ;若该通讯质量不高于预设质量 阈值,执行步骤404。
[0149] 步骤403、在通讯矩阵中记录该第一服务器与该第二服务器的通讯状态为正常状 态。执行步骤405。
[0150] 在本发明实施例中,该通讯矩阵用于记录虚拟机管理模块管理的服务器中任意两 个服务器之间的通讯状态。该虚拟机管理模块中可以存储有预设质量阈值,当第一服务器 发送的通讯质量信息中的通讯质量高于该预设质量阈值时,虚拟机管理模块可以在通讯矩 阵中记录该第一服务器与该第二服务器的通讯状态为正常状态。示例的,假设该预设质量 阈值为:时延:50ms,抖动:5ms,丢包率:0. 01,并且当第一服务器A发送的与第二服务器B 的通讯质量中的时延、抖动和丢包率越小,虚拟机管理模块确定该第一服务器A与第二服 务器B的通讯质量越高,即当第一服务器A发送的通讯质量为:时延:30ms,抖动:3ms,丢包 率:0. 005时,由于该通讯质量中的时延:30ms小于质量阈值中的时延:50ms,通讯质量中的 抖动:3ms小于质量阈值中的抖动:5ms,通讯质量中的丢包率:0. 005小于质量阈值中的丢 包率〇. 01,则虚拟机管理模块可以确定该通讯质量高于该预设质量阈值,并在通讯矩阵中 记录该第一服务器A与该第二服务器B的通讯状态为正常状态。
[0151] 步骤404、在通讯矩阵中记录该第一服务器与该第二服务器的通讯状态为异常状 态。执行步骤405。
[0152] 当第一服务器发送的通讯质量信息中的通讯质量不高于该预设质量阈值时,虚 拟机管理模块可以在通讯矩阵中记录该第一服务器与该第二服务器的通讯状态为异常状 态。示例的,假设该预设质量阈值为:时延:50ms,抖动:5ms,丢包率:0. 01,当第一服务器 A发送的通讯质量为:时延:60ms,抖动:7ms,丢包率:0. 015时,由于该通讯质量中的时延: 60ms大于质量阈值中的时延:50ms,通讯质量中的抖动:7ms大于质量阈值中的抖动:5ms, 通讯质量中的丢包率:〇. 015大于质量阈值中的丢包率0. 01,则虚拟机管理模块可以确定 该通讯质量不高于该预设质量阈值,并在通讯矩阵中记录该第一服务器A与该第二服务器 B的通讯状态为异常状态。
[0153] 在本发明实施例中,假设数据中心的虚拟机管理模块管理的服务器包括服务器 A-H,该服务器A-H所在的数据中心的网络拓扑结构图可以如图4-2所示,在图4-2所示的 网络拓扑结构图中,包括核心层交换机01,汇聚层交换机02和接入层交换机03,该不同层 次的交换机的互联可以建立起多种通讯通道,能够满足服务器A-H中任意两个服务器之间 的通讯。假设在图4-2所示的网络拓扑结构中,交换机X发生故障,导致所有经过该交换机 的通讯业务都受到影响,此时虚拟机管理模块根据接收到的服务器A-H发送的通讯质量信 息,生成的通讯矩阵可以如表1所示,表1中示出了虚拟机管理模块管理的服务器A-H中任 意两个服务器之间的通讯状态,其中V表示两个服务器之间通讯状态为正常状态,X表示 两个服务器之间的通讯状态为异常状态。示例的,如表1所示,服务器A与服务器B的通讯 状态为正常状态,服务器A与服务器C-H的通讯状态均为异常状态;服务器H与服务器A-D 的通讯状态均为异常状态,服务器H与服务器E-G的通讯状态均为正常状态。
[0154] 表 1
[0155]
[0156] 需要说明的是,在实际应用中,由于一个服务器中可以部署有多个虚拟机,当两个 服务器中部署的多个虚拟机之间都存在通讯业务,并且该多个虚拟机都向虚拟机管理模块 发送了与对端虚拟机之间的通讯质量信息时,则虚拟机管理模块只要判断出任一虚拟机发 送的与对端服务器中部署的虚拟机的通讯质量高于质量阈值时,就可以确定该两个服务器 之间的通讯状态为正常状态。示例的,假设服务器A中部署的虚拟机包括VMl和VM3,服务 器B中部署的虚拟机包括VM2和VM4,其中VMl与VM2之间存在通讯业务,VM3与VM4之间 存在通讯业务,并且VMl向虚拟机管理模块发送了与VM2的通讯质量信息SI,VM3向虚拟机 管理模块发送了与VM4的通讯质量信息S2,则Sl和S2中包括的服务器标识均为:服务器A 的标识和服务器B的标识。如果虚拟机管理模块判断通讯质量信息Sl中包括的通讯质量 高于质量阈值,但通讯质量信息S2中包括的通讯质量不高于质量阈值,则虚拟机管理模块 可以确定服务器A与服务器B之间的通讯状态为正常状态,即服务器A与服务器B中只要 有任意两个虚拟机可以正常通讯,即可确定该两个服务器之间的通讯链路为正常状态,而 对于通讯质量低于质量阈值的两个虚拟机VM3和VM4, 一般情况下虚拟机管理模块确定是 该两个虚拟机自身出现了通讯故障。
[0157] 还需要说明的是,虚拟机管理模块可以根据接收到的服务器发送的通讯质量信 息,对通讯质量矩阵进行实时的更新和维护,以提高该通讯矩阵的可靠性,进而保证根据该 通讯矩阵进行部署和迀移的虚拟机能够与存在通讯业务的对端虚拟机进行正常通讯。
[0158] 步骤405、查询与目的虚拟机存在通讯业务的对端虚拟机。执行步骤406。
[0159] 该目的虚拟机为待迀移虚拟机或者待部署虚拟机。在本发明实施例中,当数据中 心根据业务负荷确定需要扩容时,可以在虚拟机管理模块管理的服务器中部署新的虚拟 机,该新的虚拟机即为待部署虚拟机;当数据中心的某个服务器出现异常、数据中心网络故 障或者某个服务器需要主动维护等情况下,需要把出现异常的服务器中部署的虚拟机迀移 到其他的服务器上,该异常服务器中部署的虚拟机即为待迀移虚拟机。当虚拟机管理模块 确定目的虚拟机后,可以在数据库中查询与该目的虚拟机存在通讯业务的对端虚拟机。示 例的,假设目的虚拟机为待部署虚拟机VM7,则虚拟机管理模块查询到的与该待部署虚拟机 VM7存在通讯业务的对端虚拟机可以为VM8和VM9。
[0160] 需要说明的是,当数据中心的某个交换节点出现故障时,会导致经过该交换节点 的多个VM之间的通讯都收到影响,此时虚拟机管理模块需要将受到影响的异常虚拟机迀 移到其他服务器中,在异常虚拟机迀移过程中,为避免对数据中心影响过大,要尽可能减少 待迀移的异常虚拟机,因此,在虚拟机管理模块在查询与目的虚拟机存在通讯业务的对端 虚拟机之前,还需要从异常虚拟机中确定目的虚拟机,即待迀移的异常虚拟机。图4-3是本 发明实施例提供的一种从异常虚拟机中确定目的虚拟机的方法流程图,如图4-3所示,该 方法包括:
[0161] 步骤4051、接收异常虚拟机发送的指示该异常虚拟机与其他虚拟机通讯状态为异 常状态的通讯异常信息。执行步骤4052。
[0162] 在本发明实施例中,当虚拟机检测到在与其他虚拟机之间的通讯状态为异常状态 时,可以向虚拟机管理模块发送通讯异常信息。示例的,假设虚拟机VMl检测到与虚拟机 VM2之间的通讯状态为异常状态时,VMl可以向虚拟机管理模块发送通讯异常信息。
[0163] 步骤4052、根据该通讯异常信息,确定部署有该异常虚拟机的异常服务器。执行步 骤 4053。
[0164] 示例的,虚拟机管理模块可以根据接收到的通讯异常信息,确定部署有该异常虚 拟机VMl的异常服务器为:服务器A。
[0165] 步骤4053、统计虚拟机管理模块管理的服务器中的异常服务器的个数。
[0166] 若该虚拟机管理模块管理的服务器中的异常服务器的个数等于1,执行步骤 4054 ;若该虚拟机管理模块管理的服务器中的异常服务器的个数大于1,执行步骤4055。示 例的,虚拟机管理模块在确定部署有异常虚拟机VMl的异常服务器为:服务器A之后,可以 统计该虚拟机管理模块管理的服务器中的异常服务器的个数为1,并执行步骤4054。
[0167] 步骤4054、将该异常虚拟机确定为该目的虚拟机。
[0168] 若该虚拟机管理模块管理的服务器中的异常服务器的个数等于1,则将该异常虚 拟机确定为该目的虚拟机。示例的,假设虚拟机管理模块确定的异常服务器为:服务器A, 则由于该异常服务器的个数为1,则虚拟机管理模块可以将异常虚拟机VMl确定为目的虚 拟机。
[0169] 步骤4055、查询通讯矩阵,统计每个异常服务器与其他异常服务器的通讯状态为 异常状态的次数。执行步骤4056。
[0170] 若该虚拟机管理模块管理的服务器中的异常服务器的个数大于1,则虚拟机管理 模块可以查询通讯矩阵,统计每个异常服务器与其他异常服务器的通讯状态为异常状态的 次数。示例的,假设虚拟机VM1、VM2和VM5向虚拟机管理模块发送了通讯异常信息,虚拟机 管理模块确定部署有异常虚拟机VMl的异常服务器为:服务器A,部署有异常虚拟机VM2的 异常服务器为:服务器B,部署有异常虚拟机VM5的异常服务器为:服务器C,则由于该异常 服务器的个数为3,大于1,因此虚拟机管理模块可以查询通讯矩阵,分别统计异常服务器 A-C与其他异常服务器的通讯状态为异常状态的次数。从表1所示的通讯矩阵中可以看出, 异常服务器A与异常服务器B的通讯状态为正常状态,与异常服务器C的通讯状态为异常 状态,则虚拟机管理模块可以确定异常服务器A与其他异常
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1