CN111771190B - 探测虚拟机状态的方法和设备 - Google Patents

探测虚拟机状态的方法和设备 Download PDF

Info

Publication number
CN111771190B
CN111771190B CN201880089686.2A CN201880089686A CN111771190B CN 111771190 B CN111771190 B CN 111771190B CN 201880089686 A CN201880089686 A CN 201880089686A CN 111771190 B CN111771190 B CN 111771190B
Authority
CN
China
Prior art keywords
virtual machine
detection
message
source device
destination device
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
Application number
CN201880089686.2A
Other languages
English (en)
Other versions
CN111771190A (zh
Inventor
李晓文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Publication of CN111771190A publication Critical patent/CN111771190A/zh
Application granted granted Critical
Publication of CN111771190B publication Critical patent/CN111771190B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/14Arrangements for monitoring or testing data switching networks using software, i.e. software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种探测虚拟机状态的方法和设备,提高了探测该源设备上的虚拟机是否故障的可靠性,有效避免了虚拟机脑裂的发生。该方法包括:获取调用消息,该调用消息用于对该第一虚拟机进行探测;获取该第一虚拟机的标识;根据该调用消息,调用探测脚本,将该第一虚拟机的标识传递给该探测脚本;运行该探测脚本,发送探测报文,该探测报文用于探测该第一虚拟机在该源设备上的状态,该探测报文包括该第一虚拟机的标识;接收该源设备发送的反馈信息,该反馈信息用于指示该第一虚拟机的状态;根据该反馈信息,确定是否在该目的设备上重建该第一虚拟机。

Description

探测虚拟机状态的方法和设备
技术领域
本申请涉及虚拟机领域,并且更具体地,涉及一种探测虚拟机状态的方法和设备。
背景技术
在高可用(High Availability,HA)虚拟机***中,允许在虚拟机***中资源许可的情况下,触发HA流程将源设备上故障的虚拟机在异地重建,进而恢复相应业务。但是在虚拟机HA过程中,必须确保源设备上的虚拟机故障,否则,如果误认为该虚拟机故障,实际上该虚拟机正常运行,那么在异地重建该虚拟机后,***中就会出现两台使用相同IP,操作相同卷的虚拟机,即所谓的脑裂虚拟机。脑裂虚拟机由于同时操作相同存储资源,会导致不可预期的异常。现有技术中通常采用两种方式判断源设备上的虚拟机是否故障,检测管理节点到虚拟机所在的服务器的网络是否正常,或者针对集群中的虚拟机使用共享存储,通过存储面探测虚拟机是否故障,但是两种方式都可能出现误判断或者失效。
因此,如何提高探测该源设备上的虚拟机是否故障的可靠性是一项亟待解决的问题。
发明内容
本申请提供一种探测虚拟机状态的方法和设备,提高了探测该源设备上的虚拟机状态的可靠性,有效避免了虚拟机脑裂的发生。
第一方面,提供了一种探测虚拟机状态的方法,该方法用于在第一虚拟机的高可靠性流程被触发时,确定是否在目的设备上重建该第一虚拟机,该方法由目的设备执行,包括:获取调用消息,该调用消息用于对该第一虚拟机进行探测;获取该第一虚拟机的标识;根据该调用消息,调用探测脚本,将该第一虚拟机的标识传递给该探测脚本;运行该探测脚本,发送探测报文,该探测报文用于探测该第一虚拟机在该源设备上的状态,该探测报文包括该第一虚拟机的标识;接收该源设备发送的反馈信息,该反馈信息用于指示该第一虚拟机的状态;根据该反馈信息,确定是否在该目的设备上重建该第一虚拟机。
因此,在虚拟机高可靠性流程触发时,需要重新建立第一虚拟机的目的设备通过向该第一虚拟机所在的源设备发送探测报文,该探测报文用于探测该第一虚拟机是否运行于源设备上;该目的设备根据该源设备发送的反馈信息,确定是否在该目的设备上配置该第一虚拟机。提高了探测该源设备上的虚拟机是否故障的可靠性,有效避免了虚拟机脑裂的发生。
结合第一方面,在第一方面的某些实现方式中,当所述源设备的探测端口和所述目的设备的探测端口位于同一虚拟局域网时,所述探测报文为广播报文,所述探测报文包括所述第一虚拟机所在的业务平面的探测虚拟局域网VLAN标识。
结合第一方面,在第一方面的某些实现方式中,接收管理设备发送的所述第一虚拟机所在的第一业务平面的所述探测虚拟局域网VLAN标识;在所述第一业务平面上配置所述探测端口,并将所述探测虚拟局域网VLAN标识配给所述探测端口;
所述运行所述探测脚本,发送探测报文,包括:通过所述探测端口,发送所述探测报文。
结合第一方面,在第一方面的某些实现方式中,当所述源设备和所述目的设备通过重叠网络overlay network进行通信时,所述探测报文为单播报文,所述探测报文包括源设备的隧道端口标识。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:根据所述第一虚拟机的标识,从管理设备获取所述源设备对应的隧道端口的标识;所述运行所述探测脚本,发送探测报文,包括:通过所述目的设备的隧道端口,发送所述探测报文。
结合第一方面,在第一方面的某些实现方式中,在所述获取调用消息之前,所述方法还包括:向服务器发送第一消息,所述第一消息用于请求所述第一虚拟机在所述服务器上的磁盘存储信息,用于通过对所述第一虚拟机的存储面进行检测来确定所述第一虚拟机的状态;在预定时间段内,没有收到所述服务器的反馈消息。
此时,在虚拟机高可靠性流程触发时,如果该虚拟机所在***支持存储面探测,可以先进行存储面探测,如果存储面探测失效时,该需要重新建立第一虚拟机的目的设备可以再通过向该第一虚拟机所在的源设备发送探测报文,来探测该第一虚拟机是否正常运行在该源设备上,因此如果存储面探测虚拟机是否故障出现误判断或者失效时,再根据通过向该第一虚拟机所在的源设备发送探测报文,来探测该第一虚拟机是否正常运行在该源设备上,提高了探测该源设备上的虚拟机是否故障的可靠性,有效避免了虚拟机脑裂的发生。
结合第一方面,在第一方面的某些实现方式中,该根据该反馈信息,确定是否在该目的设备上重建该第一虚拟机,包括:
当该反馈信息指示该第一虚拟机在该源设备上的状态正常时,确定不在该目的设备上重建该第一虚拟机;或
当该反馈信息指示该第一虚拟机在该源设备上的状态故障时,确定在该目的设备上重建该第一虚拟机。
第二方面,提供了一种探测虚拟机状态的方法,该方法用于在第一虚拟机高可靠性流程触发时,确定是否在该目的设备上重建该第一虚拟机,该方法由源设备执行,包括:接收目的设备发送的探测报文,该探测报文用于探测该第一虚拟机在该源设备上的状态,该探测报文包括该第一虚拟机的标识;根据该探测报文,查询该第一虚拟机的状态;向该目的设备发送反馈信息,该反馈信息用于指示该第一虚拟机在该源设备上的状态。
结合第二方面,在第二方面的某些实现方式中,当所述源设备的探测端口和所述目的设备的探测端口位于同一虚拟局域网时,所述探测报文为广播报文,所述探测报文包括所述第一虚拟机所在的业务平面的探测虚拟局域网VLAN标识。
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:接收管理设备发送的所述第一虚拟机所在的第一业务平面的所述探测虚拟局域网VLAN标识;在所述第一业务平面上配置所述探测端口,并将所述探测虚拟局域网VLAN标识配给所述探测端口;所述接收目的设备发送的探测报文,包括:通过所述探测端口,接收目的设备发送的探测报文。
结合第二方面,在第二方面的某些实现方式中,当所述源设备和所述目的设备通过重叠网络overlay network进行通信时,所述探测报文为单播报文,所述探测报文包括源设备的隧道端口标识。
结合第二方面,在第二方面的某些实现方式中,所述接收目的设备发送的探测报文,包括:通过所述源设备的隧道端口,接收所述探测报文。
第三方面,提供了一种***,该***包括目的设备和源设备,包括:
在第一虚拟机的高可靠性流程被触发时,该目的设备获取调用信息,该调用信息用于对该第一虚拟机进行探测;
该目的设备获取该第一虚拟机的标识;
该目的设备根据该调用消息,调用探测脚本,将该第一虚拟机的标识传递给该探测脚本;
该目的设备运行该探测脚本,发送探测报文,该探测报文用于探测该第一虚拟机在该源设备上的状态,该探测报文包括该第一虚拟机的标识;
该源设备接收该目的设备发送的探测报文;
该源设备根据该探测报文,查询该第一虚拟机的状态;
该源设备向该目的设备发送反馈信息,该反馈信息用于指示该第一虚拟机在该源设备上的状态;
该目的设备接收该源设备发送的反馈信息;
该目的设备根据该反馈信息,确定是否在该目的设备上重建该第一虚拟机。
因此,在虚拟机高可靠性流程触发时,需要重新建立第一虚拟机的目的设备通过向该第一虚拟机所在的源设备发送探测报文,该探测报文用于探测该第一虚拟机是否运行于源设备上;该目的设备根据该源设备发送的反馈信息,确定是否在该目的设备上配置该第一虚拟机。提高了探测该源设备上的虚拟机是否故障的可靠性,有效避免了虚拟机脑裂的发生。
结合第三方面,在第三方面的某些实现方式中,当该源设备的探测端口和该目的设备的探测端口位于同一虚拟局域网时,该探测报文为广播报文,该探测报文包括该第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识。
结合第三方面,在第三方面的某些实现方式中,该***还包括管理设备,该管理设备接收该第一业务平面的探测虚拟局域网VLAN标识,并将该探测虚拟局域网VLAN标识发送给该源设备和该目的设备。
结合第三方面,在第三方面的某些实现方式中,该目的设备接收该探测虚拟局域网VLAN标识;该目的设备在该第一业务平面上配置该探测端口,并将该探测虚拟局域网VLAN标识配给该探测端口;该目的设备运行该探测脚本,发送探测报文,包括:该目的设备通过该探测端口,发送该探测报文。
结合第三方面,在第三方面的某些实现方式中,该源设备接收管理设备发送的该探测虚拟局域网VLAN标识;该源设备在该第一业务平面上配置该探测端口,并将该探测虚拟局域网VLAN标识配给该探测端口;该源设备接收该目的设备发送的探测报文,包括:通过该探测端口,接收目的设备发送的探测报文。
结合第三方面,在第三方面的某些实现方式中,该***还包括交换机,该控制器向该交换机发送该第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识,该交换机接收该控制器发送该第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识;该交换机关联该VLAN标识与重叠网络overlay network标识;该交换机根据关联的该VLAN标识与重叠网络overlay network标识,将该交换机接收的包括该VLAN标识的报文转换为overlay形式的报文发送。
结合第三方面,在第三方面的某些实现方式中,当该源设备和该目的设备通过重叠网络overlay network进行通信时,该探测报文为单播报文,该探测报文包括源设备的隧道端口标识。
结合第三方面,在第三方面的某些实现方式中,该***还包括管理设备,该目的设备根据该第一虚拟机的标识,从管理设备获取该源设备对应的隧道端口的标识;该目的设备运行该探测脚本,发送探测报文,包括:通过该目的设备的隧道端口,发送该探测报文。
结合第三方面,在第三方面的某些实现方式中,该源设备接收该目的设备发送的探测报文,包括:通过该源设备的隧道端口,接收该探测报文。
结合第三方面,在第三方面的某些实现方式中,在该目的设备获取调用消息之前,还包括:该目的设备向服务器发送第一消息,该第一消息用于请求该第一虚拟机在该服务器上的磁盘存储信息,用于通过对该第一虚拟机的存储面进行检测来确定该第一虚拟机的状态;在预定时间段内,该目的设备没有收到该服务器的反馈消息。
结合第三方面,在第三方面的某些实现方式中,该目的设备根据该反馈信息,确定是否在该目的设备上重建该第一虚拟机,包括:当该反馈信息指示该第一虚拟机在该源设备上的状态正常时,确定不在该目的设备上重建该第一虚拟机;或当该反馈信息指示该第一虚拟机在该源设备上的状态故障时,确定在该目的设备上重建该第一虚拟机。
第四方面,提供了一种探测虚拟机故障的方法,其特征在于,该方法用于在第一虚拟机高可靠性流程触发时,确定是否在该目的设备上重建该第一虚拟机,该方法由交换机执行,包括:
接收控制器发送的将该第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识;
关联该VLAN标识与重叠网络overlay network标识;
根据关联的该VLAN标识与重叠网络overlay network标识,将该交换机接收的包括该VLAN标识的报文转换为overlay形式的报文发送。
第五方面,提供了一种目的设备,该目的设备包括:获取模块,用于获取调用消息,该调用消息用于对该第一虚拟机进行探测;该获取模块还用于获取该第一虚拟机的标识;调用模块,用于根据该调用消息,调用探测脚本,将该第一虚拟机的标识传递给该探测脚本;发送模块,用于运行该探测脚本,发送探测报文,该探测报文用于探测该第一虚拟机在该源设备上的状态,该探测报文包括该第一虚拟机的标识;接收模块,用于接收该源设备发送的反馈信息,该反馈信息用于指示该第一虚拟机的状态;确定模块,用于根据该反馈信息,确定是否在该目的设备上重建该第一虚拟机。
结合第五方面,在第五方面的某些实现方式中,当该源设备的探测端口和该目的设备的探测端口位于同一虚拟局域网时,该探测报文为广播报文,该探测报文包括该第一虚拟机所在的业务平面的探测虚拟局域网VLAN标识。
结合第五方面,在第五方面的某些实现方式中,该接收模块还用于接收管理设备发送的该第一虚拟机所在的第一业务平面的该探测虚拟局域网VLAN标识;该目的设备还包括配置模块,用于在该第一业务平面上配置该探测端口,并将该探测虚拟局域网VLAN标识配给该探测端口;
该发送模块具体用于:通过该探测端口,发送该探测报文。
结合第五方面,在第五方面的某些实现方式中,当该源设备和该目的设备通过重叠网络overlay network进行通信时,该探测报文为单播报文,该探测报文包括源设备的隧道端口标识。
结合第五方面,在第五方面的某些实现方式中,该获取模块还用于根据该第一虚拟机的标识,从管理设备获取该源设备对应的隧道端口的标识;
该发送模块具体用于:通过该目的设备的隧道端口,发送该探测报文。
结合第五方面,在第五方面的某些实现方式中,该发送模块还用于向服务器发送第一消息,该第一消息用于请求该第一虚拟机在该服务器上的磁盘存储信息,用于通过对该第一虚拟机的存储面进行检测来确定该第一虚拟机的状态;该接收模块还用于在预定时间段内,没有收到该服务器的反馈消息。
结合第五方面,在第五方面的某些实现方式中,该确定模块具体用于:当该反馈信息指示该第一虚拟机在该源设备上的状态正常时,确定不在该目的设备上重建该第一虚拟机;或当该反馈信息指示该第一虚拟机在该源设备上的状态故障时,确定在该目的设备上重建该第一虚拟机。
第六方面,提供了一种源设备,该源设备包括:接收模块,用于接收目的设备发送的探测报文,所述探测报文用于探测所述第一虚拟机在所述源设备上的状态,所述探测报文包括所述第一虚拟机的标识;查询模块,用于根据所述探测报文,查询所述第一虚拟机的状态;发送模块,用于向所述目的设备发送反馈信息,所述反馈信息用于指示所述第一虚拟机在所述源设备上的状态。
结合第六方面,在第六方面的某些实现方式中,当所述源设备的探测端口和所述目的设备的探测端口位于同一虚拟局域网时,所述探测报文为广播报文,所述探测报文包括所述第一虚拟机所在的业务平面的探测虚拟局域网VLAN标识。
结合第六方面,在第六方面的某些实现方式中,所述接收模块还用于接收管理设备发送的所述第一虚拟机所在的第一业务平面的所述探测虚拟局域网VLAN标识;所述源设备还包括配置模块,用于在所述第一业务平面上配置所述探测端口,并将所述探测虚拟局域网VLAN标识配给所述探测端口;
所述接收模块具体用于:通过所述探测端口,接收目的设备发送的探测报文。
结合第六方面,在第六方面的某些实现方式中,当所述源设备和所述目的设备通过重叠网络overlay network进行通信时,所述探测报文为单播报文,所述探测报文包括源设备的隧道端口标识。
结合第六方面,在第六方面的某些实现方式中,所述接收模块具体用于:通过所述源设备的隧道端口,接收所述探测报文。
第七方面,提供了一种目的设备,包括至少一个处理器、存储器和接口,所述接口用于与源设备通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,所述存储的指令被所述至少一个处理器直接或间接的执行,使得所述目的设备可以执行第一方面或第一方面的任一可选的实现方式中的方法。
第八方面,提供了一种源设备,包括至少一个处理器、存储器和接口,所述接口用于与目的设备通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述至少一个处理器执行所述指令时,所述源设备执行第二方面或第二方面的任一可选的实现方式中的方法。
第九方面,提供了一种芯片***,包括:至少一个处理器,所述至少一个处理器用于执行存储的指令,以使得目的设备可以执行第一方面或第一方面的任一可选的实现方式中的方法。
第十方面,提供了一种芯片***,包括:至少一个处理器,所述至少一个处理器用于执行存储的指令,以使得源设备可以执行第二方面或第二方面的任一可选的实现方式中的方法。
第十一方面,提供了一种计算机程序产品,所述计算机程序产品包括指令,当所述指令被执行时,使得目的设备可以执行第一方面或第一方面的任一可选的实现方式中的方法。
第十二方面,提供了一种计算机程序产品,所述计算机程序产品包括指令,当所述指令被执行时,使得源设备可以执行第二方面或第二方面的任一可选的实现方式中的方法。
第十三方面,提供了一种计算机存储介质,该计算机存储介质存储有程序指令,当所述指令被执行时,所述目的设备可以执行第一方面或第一方面的任一可选的实现方式中的方法。
第十四方面,提供了一种计算机存储介质,该计算机存储介质存储有程序指令,当所述指令被执行时,所述源可以执行第二方面或第二方面的任一可选的实现方式中的方法。
附图说明
图1是是根据本申请的一种探测虚拟机状态的方法和设备的***架构的示意性框图。
图2是根据本申请的一种物理主机的示意性框图。
图3是根据本申请的一种探测虚拟机状态的方法的示意性流程图。
图4是根据本申请的一种探测虚拟机状态的方法应用场景的示意性框图。
图5是根据本申请的一种探测虚拟机状态的方法应用场景的示意性框图。
图6是根据本申请的一种探测虚拟机状态的方法应用场景的示意性框图。
图7是根据本申请的一种探测虚拟机状态的方法应用场景的示意性框图。
图8是根据本申请的VLAN报文格式。
图9根据本申请的VxLAN报文格式。
图10是根据本申请的目的设备的示意性框图。
图11是根据本申请的源设备的示意性框图。
图12是根据本申请的设备的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种通信***,例如:全球移动通讯(GlobalSystem of Mobile communication,GSM)***、码分多址(Code Division MultipleAccess,CDMA)***、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)***、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(Long TermEvolution,LTE)***、LTE频分双工(Frequency Division Duplex,FDD)***、LTE时分双工(Time Division Duplex,TDD)、通用移动通信***(Universal MobileTelecommunication System,UMTS)、全球互联微波接入(Worldwide Interoperabilityfor Microwave Access,WiMAX)通信***、未来的第五代(5th Generation,5G)***或新无线(New Radio,NR)等。
本申请实施例中的目的设备、源设备可以指用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(Session InitiationProtocol,SIP)电话、无线本地环路(Wireless Local Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(Public Land Mobile Network,PLMN)中的终端设备等,本申请实施例对此并不限定。
图1是是根据本申请的一种探测虚拟机状态的方法和设备的***100架构的示意性框图。如图1所示,该***100架构包括,管理设备110、目的设备120以及源设备130。该目的设备120和该源设备130上可以创建不同的虚拟机,该管理设备110用于对目的设备120和源设备130进行管理,例如,向该目的设备120和该源设备130发送一些用于创建配置虚拟机的配置信息等。
需要说明的是,图1仅为示例性架构图,除图1中所示功能单元之外,该***架构还可以包括其他多个物理设备,本申请实施例对此不进行限定。
本申请提供的探测虚拟机状态的方法,可以应用于目的设备、源设备。所述目的设备、源设备包括硬件层、运行在硬件层之上的操作***层,以及运行在操作***层上的应用层。所述硬件层包括中央处理器(central processing unit,CPU)、内存管理模块(memorymanagement unit,MMU)和内存(也称为主存)等硬件。所述操作***可以是任意一种或多种通过进程(Process)实现业务处理的计算机操作***,例如,Linux操作***、Unix操作***、Android操作***、iOS操作***或windows操作***等。所述应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。
此外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,能够存储、包含和/或承载指令和/或数据的各种介质。
图2是根据本申请的一种物理主机的示意性框图。以该物理主机为目的设备120为例,进行说明,该物理主机120中包括硬件层121,运行在硬件层121之上的虚拟机监视器(Virtual Machine Monitor,VMM)122,以及运行在VMM122上的一个或多个虚拟机(VirtualMachine,VM)123。硬件层121可以包括处理器1211、物理内存1212、硬盘1213以及网络接口设备1214,其中处理器1211可以是一个,也可以是多个;网络接口设备1214可以是网络适配器或网卡,用于跟任何可连接的网络做连接,例如互联网(Internet)、企业网等。VM123可以包括虚拟处理器1231、虚拟内存1232、虚拟硬盘1233以及客户操作***(Guest OperationSystem,Guest OS)1234,其中Guest OS 1234是运行在虚拟处理器1231、虚拟内存1232、虚拟硬盘1233等虚拟设备之上的操作***。
应理解,图2所示的物理主机局仅仅是示例性的,不应对本申请实施例构成特别的限定。图2所示的物理主机可以是本申请中的目的设备或源设备,该目的设备也可以称作目的设备,该源设备也可以称作源设备。
下面结合图3详细说明本申请提供的一种探测虚拟机状态的方法,图3是本申请一个实施例的一种探测虚拟机状态的方法200的示意性流程图,该方法300可以应用在图1所示的***中,当然也可以应用在其他***中,本申请实施例在此不作限制。
如图3所示,该方法300包括以下内容。
在210中,在第一虚拟机的高可靠性流程触发时,该目的设备获取调用信息,该调用信息用于对该第一虚拟机进行探测。
在220中,该目的设备该目的设备获取该第一虚拟机的标识。
在230中,该目的设备根据该调用消息,调用探测脚本,将该第一虚拟机的标识传递给该探测脚本。
在240中,该目的设备运行该探测脚本,向源设备发送探测报文,该探测报文用于探测该第一虚拟机在该源设备上的状态,该探测报文包括该第一虚拟机的标识。
在250中,该源设备接收该目的设备发送的探测报文。
在260中,该源设备根据该探测报文,查询该第一虚拟机的状态。
在270中,该源设备向该目的设备发送反馈信息,该反馈信息用于指示该第一虚拟机在该源设备上的状态。
在280中,该目的设备接收该源设备发送的反馈信息。
在290中,该目的设备根据该反馈信息,确定是否在该目的设备上重建该第一虚拟机。
因此,在本申请实施例中,如果HA***在目的设备上触发创建虚拟机流程,需要重新建立第一虚拟机的目的设备通过向该第一虚拟机所在的源设备发送探测报文,该探测报文用于探测该第一虚拟机是否运行于源设备上;该目的设备根据该源设备发送的反馈信息,确定是否在该目的设备上配置该第一虚拟机。提高了探测该源设备上的虚拟机是否故障的可靠性,有效避免了虚拟机脑裂的发生。
应理解,该探测虚拟机状态是指探测该虚拟机在所述源设备上的运行状态,即所述虚拟机是否发生故障,不能在该源设备上正常运行。
可选地,当该源设备的探测端口和该目的设备的探测端口位于同一虚拟局域网时,该探测报文为广播报文,该探测报文包括该第一虚拟机所在的第一业务平面的探测虚拟局域网(Virtual Local Area Network,VLAN)标识。
可选地,该目的设备接收该探测虚拟局域网VLAN标识;该目的设备在该第一业务平面上配置该探测端口,并将该探测虚拟局域网VLAN标识配给该探测端口;该目的设备运行该探测脚本,发送探测报文,包括:该目的设备通过该探测端口,发送该探测报文。
可选地,该源设备接收管理设备发送的该探测虚拟局域网VLAN标识;该源设备在该第一业务平面上配置该探测端口,并将该探测虚拟局域网VLAN标识配给该探测端口;该源设备接收该目的设备发送的探测报文,包括:通过该探测端口,接收目的设备发送的探测报文。
可选地,当该源设备和该目的设备通过重叠网络overlay network进行通信时,该探测报文为单播报文,该探测报文包括源设备的隧道端口标识。
可选地,该***还包括管理设备,该目的设备根据该第一虚拟机的标识,从管理设备获取该源设备对应的隧道端口的标识;该目的设备运行该探测脚本,发送探测报文,包括:通过该目的设备的隧道端口,发送该探测报文。
可选地,该源设备接收该目的设备发送的探测报文,包括:通过该源设备的隧道端口,接收该探测报文。
可选地,在该目的设备获取调用消息之前,还包括:该目的设备向服务器发送第一消息,该第一消息用于请求该第一虚拟机在该服务器上的磁盘存储信息,用于通过对该第一虚拟机的存储面进行检测来确定该第一虚拟机的状态;在预定时间段内,该目的设备没有收到该服务器的反馈消息。
此时,在虚拟机高可靠性流程触发时,如果该虚拟机所在***支持存储面探测,可以先进行存储面探测,如果存储面探测失效时,该需要重新建立第一虚拟机的目的设备可以再通过向该第一虚拟机所在的源设备发送探测报文,来探测该第一虚拟机是否正常运行在该源设备上,因此如果存储面探测虚拟机是否故障出现误判断或者失效时,再根据通过向该第一虚拟机所在的源设备发送探测报文,来探测该第一虚拟机是否正常运行在该源设备上,提高了探测该源设备上的虚拟机是否故障的可靠性,有效避免了虚拟机脑裂的发生。
可选地,该目的设备根据该反馈信息,确定是否在该目的设备上重建该第一虚拟机,包括:当该反馈信息指示该第一虚拟机在该源设备上的状态正常时,确定不在该目的设备上重建该第一虚拟机;或当该反馈信息指示该第一虚拟机在该源设备上的状态故障时,确定在该目的设备上重建该第一虚拟机。
为了更清楚地理解本申请,下面从不同的应用场景,如VLAN场景,overlay场景,以及与第三方软件定义网络(Software Defined Network,SDN)控制器对接等场景对方法200进行详细描述。
图4是根据本申请的一种探测虚拟机状态的方法应用场景的300的示意性框图。该应用场景300为虚拟局域网(Virtual Local Area Network,VLAN)。VLAN是一种将局域网从逻辑上划分成一个个网段,VLAN字段(VLAN ID,VID)用于标识一个VLAN,该VID长度为12bit,取值范围是0-4095,其中0和4095是保留值,不能给用户使用,因此一个以太网最多可以划分为4094个VLAN。该应用场景300包括管理界面310、管理节点320、源设备330和目的设备340。
该管理界面310为界面化安装部署工具,管理员通过该管理界面310配置虚拟机的物理平面、配置物理平面的探测标识(该探测标识还可以称作探测VLAN)。
该管理节点320包括管理配置服务模块,该模块主要用于接收管理员通过管理界面310下发的配置信息,并且根据该配置信息触发相应主机上的客户端实施配置或者修改相应的配置。该管理节点320负责监视各个主机上虚拟机的运行状态,当发现某个主机的虚拟机故障时,可以触发HA流程,重新在另一个主机上配置该虚拟机。
该源设备330上配置了第一虚拟机(Virtual Machine1,VM1),该源设备还包括探测模块331、客户端332和探测端口333。该探测模块331可以提供发送自定义广播探测报文的能力,以及接收探测报文进行虚拟机是否存活的探测。该客户端332用于接收该管理节点320发送的配置信息,并执行相关操作完成配置变更。该探测端口333为对应的物理平面的探测端口,该探测模块331通过该探测端口333发送和接收报文。
该目的设备340包括探测模块341、客户端342、探测端口343和管理模块344。该探测模块341、客户端342和探测端口343可以参考源设备330中的相应描述,此处不再赘述。该管理模块344负责计算虚拟化管理,用于创建和管理该目的设备上部署的虚拟机。
应理解,图4所示的应用场景仅仅为了更加清楚地理解本申请,不应对本申请实施例构成特别的限定。例如,除了源设备330和目的设备340,管理节点还可以管理其他主机,且应用场景300中还可以包括其他管理节点。该源设备330和该目的设备340上还可能配置了其它虚拟机。该源设备330和该目的设备340上配置的模块化单元应该一致,该源设备330也可是目的设备,该目的设备340也可以是源设备,例如,如果该目的设备340上配置了VM2,如果HA应用场景需要在该源设备330上配置该VM2,那么该目的设备340可以称作源设备,该源设备330可以称作目的设备。
为了更清楚地理解本申请,下面对本申请的具体流程进行详细描述。
1.管理员通过管理界面310,配置业务平面physnet2(这里假设VM1对应的物理平面为physnet2,用户在创建虚拟机时,需要指定虚拟机用于业务通信的网络VLAN,该网络会映射到对应的物理平面,该网络与物理平面的映射关系会保存在管理节点320上,虚拟机最终通过物理平面进行通信,该物理平面也被称作业务平面)的探测标识,将该业务平面physnet2的探测标识发送给管理节点320。
2.管理节点320接收该业务平面physnet2的探测标识,并将该业务平面physnet2的探测标识发送给该管理节点下的各个主机,如图3中所示的源设备330和目的设备340。
3.各个主机的客户端在该业务平面physnet2上创建探测标识的对应的探测端口,该探测端口可以以该探测标识作为标记。如图3中所示的源设备的探测端口333为该业务平面physnet2的探测端口,该探测端口333的标记为该业务平面physnet2的探测标识,该目的设备的探测端口343为该业务平面physnet2的探测端口,该探测端口343的标记为该业务平面physnet2的探测标识。
可选地,各个主机还可以采用自定义脚本等方式,在该业务平面physnet2上创建探测标识的对应的探测端口,对于该主机在该业务平面上创建探测端口的具体方法,本申请并不限定。
4.集群内的虚拟机上的探测模块监听该业务平面physnet2的探测端口。该步骤没有在图3中画出。
5.当管理节点320中的管理配置服务模块检测到源设备330上的VM1故障,触发HA流程,并确定在目的设备340上配置VM1时,目的设备340中的管理模块344发送调用消息到探测模块341,该调用消息用于触发该探测模块341执行探测脚本,该调用消息包括了该VM1的标识和该VM1所在的业务面标识。
该VM1所在的业务面标识是通过该管理模块344获取该VM1用于通信的网络,根据该网络和物理平面的映射关系来确定的。
可选地,该调用消息可以是一种应用程序接口(application programinterface,api),该应用程序接口触发该探测模块341执行探测脚本。
可选地,在该目的设备340中的管理模块344发送调用消息到探测模块341之前,该目的设备340触发了针对VM1的存储面探测,但是在规定时间内并没有收到存储服务器350的反馈信息,进而管理模块344发送调用消息到探测模块341,在业务面对虚拟机进行探测。
下面结合图5对目的设备340如何进行存储面探测进行说明。如图5所示,该应用场景300还可以包括服务器350,该服务器350为应用场景300的共享存储单元,应用场景300内的每个虚拟机都使用共享存储,每个虚拟机会在该服务器350上分配一个存储空间,并且该虚拟机正常运行时,该虚拟机对应的存储空间被锁定,只有在该虚拟机异常时,该虚拟机对应的存储空间不会被锁定。如在t1时刻源设备330上创建了VM1,该VM1在服务器350上获得的存储空间1,该存储空间1在t1时刻被锁定。如果非虚拟机故障导致HA应用场景在目的设备340上确定配置该VM1时,目的设备340在创建该VM1时会向服务器350获取存储空间1,而该存储空间1被锁定,因此该目的设备340不再创建该VM1,可以避免虚拟机脑裂发生。
但是该存储面探测依赖于共享存储,如果该虚拟机使用的是本地存储,则存储面探测无法进行;并且如果该提供共享存储的服务器出现故障,或者该共享存的软件应用场景出现故障,都有可能使得存储面的探测受到影响。因此,当该存储面探测异常,或者虚拟机所在的应用场景不支持存储面探测时,可以通过虚拟机所在的业务面进行虚拟机运行状态的探测,即如上所述的当HA应用场景确定在目的设备340上配置VM1时,目的设备340中的管理模块344发送调用消息到探测模块341,该调用消息用于触发该探测模块341执行探测脚本,该调用消息包括了该VM1的标识和该VM1所在的业务面标识。因此如果存储面探测虚拟机是否故障出现误判断或者失效时,再根据通过向该第一虚拟机所在的源设备发送探测报文,来探测该第一虚拟机是否正常运行在该源设备上,提高了探测该源设备上的虚拟机是否故障的可靠性,有效避免了虚拟机脑裂的发生。
可选地,该VM1的标识可以是该VM1的IP地址,也可以是该VM1的标签Lab1e,或者是某种标记信息。在本申请实施例中,以该VM1的标识是该VM1的IP地址为例进行说明。
6.目的设备340中的探测模块341发送探测报文到探测端口343。该探测报文为广播报文,该探测报文包括了该VM1的标识和该VM1所在的业务面标识。
可选地,该探测报文的目的MAC地址为“ff:ff:ff:ff:ff:ff”,表示该探测报文为广播报文。
7.该源设备330中的该业务平面physnet2的探测端口333接收该探测报文。
8.该源设备330中的该业务平面physnet2的探测端口333在收到目的设备340发送的探测报文后,将该探测报文发送到探测模块331,该探测模块331获取该探测报文中携带的VM1的标识,通过libvirt接口查询对应VM1是否正常运行,并将查询结果反馈给目的设备340。该反馈信息的传递与该探测报文的传递路径相反,即该反馈信息经探测模块331发给探测端口333,该目的设备340的探测端口343接收到该反馈信息,将该反馈信息通过探测模块341传递给管理模块344。
可选地,该通过libvirt接口查询对应VM1是否正常运行的命令可以是:
(libvirt.open(″qemu:///system″).lookupByUUIDString(vm_uuid).isActive())。
该VM1在收到该命令时,根据VM1的运行状态将反馈信息发送给探测模块331,该反馈信息可以是true或者false,true表示该虚拟机VM1正常运行,false表示该虚拟机VM1故障。
9.该目的设备340中的管理模块344根据该源设备330反馈的该VM1是否正常运行,确定是否在该目的设备340上配置该虚拟机VM1。
当该反馈信息指示该VM1运行于所述源设备330上时,确定不在所述目的设备340上配置该VM1;或
当该反馈信息指示该VM1没有运行于所述源设备330上,确定在所述目的设备340上配置该VM1。
因此,在本申请实施例中,如果HA应用场景在目的设备上触发创建虚拟机流程,需要重新建立第一虚拟机的目的设备通过向该第一虚拟机所在的源设备发送探测报文,该探测报文用于探测该第一虚拟机是否运行于源设备上;该目的设备根据该源设备发送的反馈信息,确定是否在该目的设备上配置该第一虚拟机。提高了探测该源设备上的虚拟机是否故障的可靠性,有效避免了虚拟机脑裂的发生。
图6是根据本申请的一种探测虚拟机状态的方法的应用场景400示意性框图。该应用场景400为overlay网络,现有的overlay网络主要有虚拟可扩展局域网(virtualExtensible LAN,VxLAN)、通用路由封装的网络虚拟化(Network Virtualization usingGeneric Routing Encapsulation,NVGRE)、无状态传输隧道(Stateless TransportTunneling,STT)。该应用场景400包括管理界管理节点410、源设备420和目的设备430。
该管理节点410包括网络管理服务模块,该网络管理服务模块主要用于创建管理相关网络资源。
该源设备420上配置了第一虚拟机(Virtual Machine1,VM1),该源设备还包括探测模块421和隧道422(该隧道422还可以称作数据网络平面接口)。该探测模块421可以提供发送自定义广播探测报文的能力,以及接收探测报文进行虚拟机是否存活的探测。该隧道422用于发送和接收报文。
该目的设备430包括探测模块431、隧道432和管理模块433。该探测模块431、和隧道432可以参考源设备420中的相应描述,此处不再赘述。该管理模块433负责计算虚拟化管理,用于创建和管理该目的设备上部署的虚拟机。
应理解,图6所示的应用场景仅仅为了更加清楚地理解本申请,不应对本申请实施例构成特别的限定。例如,除了源设备420和目的设备430,管理节点还可以管理其他主机,且应用场景400中还可以包括其他管理节点。该源设备420和该目的设备430上还可能配置了其它虚拟机。该源设备420和该目的设备430上配置的模块化单元应该一致,该源设备420也可是目的设备,该目的设备430也可以是源设备,例如,如果该目的设备430上配置了VM2,如果HA应用场景需要在该源设备420上配置该VM2,那么该目的设备430可以称作源设备,该源设备420可以称作目的设备。
为了更清楚地理解本申请,下面对本申请的具体流程进行详细描述。
1.虚拟机应用场景中各个主机启动探测模块,该每个主机上的探测模块监听隧道,以便于识别探测报文。
2.当HA应用场景确定在目的设备430上配置VM1时,目的设备430中的管理模块433从管理节点410中的网络管理服务模块获取该VM1所在源设备420的隧道标识。
可选地,目的设备430中的管理模块433可以根据该管理节点410提供的api获取该VM1所在源设备420的隧道标识。
可选地,该隧道标识可以是该隧道的IP地址,也可以是该隧道的标签Lable,或者是某种标记信息。在本申请实施例中,以该隧道的标识是该隧道的IP地址为例进行说明。
可选地,在该目的设备430中的管理模块433从管理节点410中的网络管理服务模块获取该VM1所在源设备420的隧道标识之前,该目的设备430触发了针对VM1的存储面探测,但是在规定时间内并没有收到存储服务器的反馈信息,进而管理模块433从管理节点410中的网络管理服务模块获取该VM1所在源设备420的隧道标识。
该目的设备430触发了针对VM1的存储面探测的具体过程可以参考图4的相关描述,为了避免重复,此处不再赘述。
3.该目的设备430中的管理模块433向探测模块431发送调用消息,该调用消息用于触发该探测模块431发送探测报文,该调用消息包括了该VM1的标识和该VM1所在源设备420的隧道标识。
可选地,该调用消息可以是一种应用程序接口(application programinterface,api),该应用程序接口触发该探测模块431执行探测脚本。
可选地,该VM1的标识可以是该VM1的IP地址,也可以是该VM1的标签Lable,或者是某种标记信息。在本申请实施例中,以该VM1的标识是该VM1的IP地址为例进行说明。
4.该目的设备430中的探测模块431发送探测报文,该探测报文为单播探测报文,该探测报文的目的地址为源设备420的IP地址,并且该探测报文还包括了该虚拟机的标识。
5.该源设备420中的隧道422接收到该探测报文。
6.该源设备420中的隧道422将该探测报文发送到探测模块421。
7.该探测模块421获取该探测报文中携带的VM1的标识,通过libvirt接口查询对应VM1是否正常运行,并将查询结果反馈给目的设备430。该反馈信息的传递与该探测报文的传递路径相反,即该反馈信息经探测模块421发给隧道422,该目的设备430的隧道432接收到该反馈信息,将该反馈信息通过探测模块431传递给管理模块433。
可选地,该通过libvirt接口查询对应VM1是否正常运行的命令可以是:
(libvirt.open(″qemu:///system″).lookupByUUIDString(vm_uuid).isActive())。
该VM1在收到该命令时,根据VM1的运行状态将反馈信息发送给探测模块421,该反馈信息可以是true或者false,true表示该虚拟机VM1正常运行,false表示该虚拟机VM1故障。
8.该目的设备430中的管理模块433根据该源设备420反馈的该VM1是否正常运行的信息,确定是否在该目的设备430上配置该虚拟机VM1。
当该反馈信息指示该VM1运行于所述源设备420上时,确定不在所述目的设备430上配置该VM1;或
当该反馈信息指示该VM1没有运行于所述源设备420上,确定在所述目的设备430上配置该VM1。
因此,在本申请实施例中,如果HA应用场景在目的设备上触发创建虚拟机流程,需要重新建立第一虚拟机的目的设备通过向该第一虚拟机所在的源设备发送探测报文,该探测报文用于探测该第一虚拟机是否运行于源设备上;该目的设备根据该源设备发送的反馈信息,确定是否在该目的设备上配置该第一虚拟机。提高了探测该源设备上的虚拟机是否故障的可靠性,有效避免了虚拟机脑裂的发生。
图7是根据本申请的一种探测虚拟机状态的方法和设备的应用场景500示意性框图。该应用场景500为虚拟化对接第三方软件定义网络(Software Defined Network,SDN)可扩展局域网(virtual Extensible LAN,VxLAN)。该应用场景500包括管理节点510、配置界面520、管理界面530、源设备550、目的设备550、交换机560、交换机570和第三方控制器580。在该应用场景下,VxLAN网络被映射为VLAN网络。应理解,VxLAN网络只是overlay网络的一种形式,在本申请中,还可以将其他overlay映射为VLAN网络,将其他overlay映射为VLAN网络的具体实现方式可以参考将VxLAN网络被映射为VLAN网络的过程,此处不再赘述。
该管理节点510包括网络管理服务模块511和管理配置服务模块512,该网络管理服务模块511主要用于创建管理相关网络资源。该管理配置服务模块512,该模块主要用于接收管理员通过管理界面530下发的配置信息,并且根据该配置信息触发相应主机上的客户端实施配置或者修改相应的配置。在创建虚拟机时,管理员在指定该虚拟机业务网络为VxLAN网络时,网络管理服务模块511将该VxLAN网络通过层次化绑定映射为VLAN网络,可以实现虚拟机的报文按照VLAN网络的方式进行报文转发,而在报文发送至交换机时按照VxLAN网络转发报文的方式转发报文。
该配置界面520,管理员可以通过该配置界面520进行第三方SDN控制器与VxLAN的对接配置,管理员通过该配置界面520,将VxLAN网络映射的业务面的标识发送给该管理节点510中的网络管理服务模块511,该网络管理服务模块511保存该VxLAN网络映射的业务面的映射关系。
该管理界面530为界面化安装部署工具,管理员通过该管理界面,将VxLAN网络映射的业务面的标识发送给目的设备550,目的设备550中的管理模块554记录该该VxLAN网络映射的业务面的映射关系。管理员通过该管理界面530配置虚拟机的物理平面、配置物理平面的探测标识(该探测标识还可以称作探测VLAN)。
该源设备540上配置了第一虚拟机(Virtual Machine1,VM1),该源设备还包括探测模块541、客户端542和探测端口543。该探测模块541可以提供发送自定义广播探测报文的能力,以及接收探测报文进行虚拟机是否存活的探测。该客户端542用于接收该管理节点510发送的配置信息,并执行相关操作完成配置变更。该探测端口543为对应的物理平面的探测端口,该探测模块541通过该探测端口543发送和接收报文。
该目的设备550包括探测模块551、客户端552、探测端口553和管理模块554。该探测模块551、客户端552和探测端口553可以参考源设备540中的相应描述,此处不再赘述。该管理模块544负责计算虚拟化管理,用于创建和管理该目的设备上部署的虚拟机。
交换机560、交换机570用于传送报文。
第三方控制器580,可以实现配置交换机560和交换机570。
应理解,图7所示的应用场景仅仅为了更加清楚地理解本申请,不应对本申请实施例构成特别的限定。例如,除了源设备540和目的设备550,管理节点还可以管理其他主机,且应用场景500中还可以包括其他管理节点。该源设备540和该目的设备550上还可能配置了其它虚拟机。该源设备540和该目的设备550上配置的模块化单元应该一致,该源设备540也可是目的设备,该目的设备550也可以是源设备。
为了更清楚地理解本申请,下面对本申请的具体流程进行详细描述。
1.管理员可以通过该配置界面520进行第三方SDN控制器与VxLAN的对接配置,管理员通过该配置界面520,将VxLAN网络映射的业务面的标识发送给该管理节点510中的网络管理服务模块511(这里假设业务平面为physnet2),该网络管理服务模块511保存该VxLAN网络映射的业务面的映射关系。
2.该管理节点510中的网络管理服务模块511将该VxLAN网络通过层次化绑定映射为VLAN网络。
3.管理员通过该管理界面530,将VxLAN网络映射的业务面的标识发送给目的设备550,目的设备550中的管理模块554记录该VxLAN网络映射的业务面的映射关系。
4.管理员在SDN控制器上通过配置二层网桥(Lay2bridge,L2BR),(该L2BR用于实现VxLAN和VLAN服务器之间的二层互通),将探测标识接入VNI,L2BR根据控制器预定义的VLAN-VNI的映射将报文封装为VXLAN报文,并查找目的设备的vxlan流表.将报文转发往目的虚拟隧道端点(Virtual Tunnel End Points,VTEP)。
5.管理员通过管理界面530,配置业务平面physnet2的探测标识,将该业务平面physnet2的探测标识发送给管理节点510。
6.管理节点510中的管理配置服务模块512接收该业务平面physnet2的探测标识,并将该业务平面physnet2的探测标识发送给该管理节点下的各个主机,如图5中所示的源设备540和目的设备550。
7.各个主机的客户端在该业务平面physnet2上创建探测标识的对应的探测端口,该探测端口可以以该探测标识作为标记。如图6中所示的源设备的探测端口543为该业务平面physnet2的探测端口,该探测端口543的标记为该业务平面physnet2的探测标识,该目的设备的探测端口553为该业务平面physnet2的探测端口,该探测端口553的标记为该业务平面physnet2的探测标识。
可选地,各个主机还可以采用自定义脚本等方式,在该业务平面physnet2上创建探测标识的对应的探测端口,对于该主机在该业务平面上创建探测端口的具体方法,本申请并不限定。
8.集群内的虚拟机上的探测模块监听该业务平面physnet2的探测端口。该步骤没有在图6中画出。
9.当HA应用场景确定在目的设备550上配置VM1时,目的设备550中的管理模块554发送调用消息到探测模块551,该调用消息用于触发该探测模块551执行探测脚本,该调用消息包括了该VM1的标识和该VM1所在的业务面标识。
可选地,该调用消息可以是一种应用程序接口(application programinterface,api),该应用程序接口触发该探测模块551执行探测脚本。
该VM1所在的业务面标识是通过该管理模块454获取该VM1用于通信的网络,根据该网络和物理平面的映射关系来确定的。
可选地,在该目的设备550中的管理模块554发送调用消息到探测模块551之前,该目的设备550触发了针对VM1的存储面探测,但是在规定时间内并没有收到存储服务器的反馈信息,进而管理模块554发送调用消息到探测模块551,在业务面对虚拟机进行探测。
该目的设备550触发了针对VM1的存储面探测的具体流程可以参考图4的相关描述,此处不再赘述。
10.目的设备550中的探测模块551发送探测报文到探测端口553。该探测报文为广播报文,该探测报文包括了该VM1的标识和该VM1所在的业务面标识。
11.该探测端口553发送的广播报文传递到交换机560,交换机560根据该探测报文携带的VLAN探测标识,识别该探测报文,并将该探测报文由原来的VLAN网络报文格式封装为VxLAN网络报文格式,该封装后的报文发送给交换机570。
具体而言,VLAN探测报文的报文格式如图8所示,该报文格式由802.1Q标准所定义,该VLAN报文包括目的MAC地址,源MAC地址,802.10tag,类型,数据,检验位FCS,802.1Q标准所定义以太网帧格式在基于传统以太网帧格式中增加了802.1Q字段,该字段包含了Type、PRI、CFI和VID 4个部分,各个部分的含义如下:
类型Type:长度为2bytes,表示帧类型,802.1Q tag帧中Type字段取固定值0x8100,如果不支持802.1Q的设备收到802.1Q帧,则将其丢弃。
优先级(priority,PRI)字段,长度为3bit,表示以太网帧的优先级,取值范围是0~7,数值越大,优先级越高。当交换机/路由器发生传输拥塞时,优先发送优先级高的数据帧。
标准格式指示位(Canonical Format Indicator,CFI),长度为1bit,表示MAC地址是否是经典格式。CFI为0说明是经典格式,CFI为1表示为非经典格式。该字段用于区分以太网帧、FDDI帧和令牌环网帧,在以太网帧中,CFI取值为0。
虚拟局域网ID(VLAN ID,VID),长度为12bit,取值范围是0~4095,其中0和4095是保留值,不能使用。该字段唯一标识了一个VLAN,12bit长度的VID可以表示4096个不同的值,除去两个保留值,一个以太网最多可以划分为4094个VLAN。
VxLAN通过将逻辑网络中通信的数据帧封装在物理网络中进行传输,封装和解封装的过程由交换机560完成。VxLAN将逻辑网络中的数据帧添加VxLAN首部后,封装在物理网络中的UDP报文中传送,VxLAN首部的格式如图9所示,VxLAN首部由8个字节组成,第1个字节为标志位,其中标志位I设为1表示是一个合法的VxLAN首部,其余标志则保留,在传输过程中必须置为0;第2-4字节为保留部分,第5-7字节为VXLAN标识符,用来表示唯一的一个逻辑网络;第8个字节同样为保留字段,暂未使用。
交换机560将逻辑链路网络的数据帧添加VxLAN首部后,依次添加用户协议数据报文(UserDatagramProtocol,UDP)首部,IP首部,以太网帧首部后,送给交换机570。
应理解,如果该管理节点下有多个主机,每个主机都对应相应的交换机,那么封装后的报文会发送给该多个交换机。
12.交换机560将该封装后的报文发送给交换机570。
13.该交换机570向该源设备的540发送该探测报文。
14.该源设备540中的该业务平面physnet2的探测端口543接收该探测报文。
15.该源设备540中的该业务平面physnet2的探测端口543在收到目的设备550发送的探测报文后,将该探测报文发送到探测模块541,该探测模块541获取该探测报文中携带的VM1的标识,通过libvirt接口查询对应VM1是否正常运行,并将查询结果反馈给目的设备550。该反馈信息的传递与该探测报文的传递路径相反,即该反馈信息经探测模块541发给探测端口543,再由交换机570、交换机560至该目的设备550的探测端口553接收到该反馈信息,将该反馈信息通过探测模块551传递给管理模块554。
可选地,该通过libvirt接口查询对应VM1是否正常运行的命令可以是:
(libvirt.open(″qemu:///system″).lookupByUUIDString(vm_uuid).isActive())。
该VM1在收到该命令时,根据VM1的运行状态将反馈信息发送给探测模块541,该反馈信息可以是true或者false,true表示该虚拟机VM1正常运行,false表示该虚拟机VM1故障。
16.该目的设备550中的管理模块554根据该源设备540反馈的该VM1是否正常运行,确定是否在该目的设备550上配置该虚拟机VM1。
因此,在本申请实施例中,如果HA应用场景在目的设备上触发创建虚拟机流程,需要重新建立第一虚拟机的目的设备通过向该第一虚拟机所在的源设备发送探测报文,该探测报文用于探测该第一虚拟机是否运行于源设备上;该目的设备根据该源设备发送的反馈信息,确定是否在该目的设备上配置该第一虚拟机。提高了探测该源设备上的虚拟机是否故障的可靠性,有效避免了虚拟机脑裂的发生。
本申请还提供了一种***,该***包括目的设备和源设备,包括:
在第一虚拟机的高可靠性流程被触发时,该目的设备获取调用信息,该调用信息用于对该第一虚拟机进行探测;该目的设备获取该第一虚拟机的标识;该目的设备根据该调用消息,调用探测脚本,将该第一虚拟机的标识传递给该探测脚本;该目的设备运行该探测脚本,发送探测报文,该探测报文用于探测该第一虚拟机在该源设备上的状态,该探测报文包括该第一虚拟机的标识;该源设备接收该目的设备发送的探测报文;该源设备根据该探测报文,查询该第一虚拟机的状态;该源设备向该目的设备发送反馈信息,该反馈信息用于指示该第一虚拟机在该源设备上的状态;该目的设备接收该源设备发送的反馈信息;该目的设备根据该反馈信息,确定是否在该目的设备上重建该第一虚拟机。
可选地,当该源设备的探测端口和该目的设备的探测端口位于同一虚拟局域网时,该探测报文为广播报文,该探测报文包括该第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识。
可选地,该***还包括管理设备,该管理设备接收该第一业务平面的探测虚拟局域网VLAN标识,并将该探测虚拟局域网VLAN标识发送给该源设备和该目的设备。
可选地,该目的设备接收该探测虚拟局域网VLAN标识;
该目的设备在该第一业务平面上配置该探测端口,并将该探测虚拟局域网VLAN标识配给该探测端口;该目的设备运行该探测脚本,发送探测报文,包括:该目的设备通过该探测端口,发送该探测报文。
可选地,该源设备接收管理设备发送的该探测虚拟局域网VLAN标识;该源设备在该第一业务平面上配置该探测端口,并将该探测虚拟局域网VLAN标识配给该探测端口;该源设备接收该目的设备发送的探测报文,包括:通过该探测端口,接收目的设备发送的探测报文。
可选地,该***还包括交换机,该控制器向该交换机发送该第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识,该交换机接收该控制器发送该第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识;关联该VLAN标识与重叠网络overlay network标识;根据关联的该VLAN标识与重叠网络overlay network标识,将该交换机接收的包括该VLAN标识的报文转换为overlay形式的报文发送。
可选地,当该源设备和该目的设备通过重叠网络overlay network进行通信时,该探测报文为单播报文,该探测报文包括源设备的隧道端口标识。
可选地,该***还包括管理设备,该目的设备根据该第一虚拟机的标识,从管理设备获取该源设备对应的隧道端口的标识;该目的设备运行该探测脚本,发送探测报文,包括:通过该目的设备的隧道端口,发送该探测报文。
可选地,该源设备接收该目的设备发送的探测报文,包括:通过该源设备的隧道端口,接收该探测报文。
可选地,在该目的设备获取调用消息之前,还包括:该目的设备向服务器发送第一消息,该第一消息用于请求该第一虚拟机在该服务器上的磁盘存储信息,用于通过对该第一虚拟机的存储面进行检测来确定该第一虚拟机的状态;在预定时间段内,没有收到该服务器的反馈消息。
可选地,该目的设备根据该反馈信息,确定是否在该目的设备上重建该第一虚拟机,包括:当该反馈信息指示该第一虚拟机在该源设备上的状态正常时,确定不在该目的设备上重建该第一虚拟机;或当该反馈信息指示该第一虚拟机在该源设备上的状态故障时,确定在该目的设备上重建该第一虚拟机。
应理解,在该***中源设备和目的设备可以参考上述实施例中的描述进行理解,为了避免重复,此处不再赘述。
图10是根据本申请的目的设备600的示意性框图。如图10所示,该目的设备包括以下模块。
获取模块610,用于获取调用消息,所述调用消息用于对所述第一虚拟机进行探测。
该获取模块610获取模块还用于获取所述第一虚拟机的标识。
调用模块620,用于根据所述调用消息,调用探测脚本,将所述第一虚拟机的标识传递给所述探测脚本.
发送模块630,用于运行所述探测脚本,发送探测报文,所述探测报文用于探测所述第一虚拟机在所述源设备上的状态,所述探测报文包括所述第一虚拟机的标识.
接收模块640,用于接收所述源设备发送的反馈信息,所述反馈信息用于指示所述第一虚拟机的状态.
确定模块650,用于根据所述反馈信息,确定是否在所述目的设备上重建所述第一虚拟机。
可选地,所述获取模块610、调用模块620、所述发送模块630、所述接收模块640和所述确定模块650用于执行本申请的一种探测虚拟机故障的方法200的各个操作,为了简洁,在此不再赘述。
图11是根据本申请的源设备700的示意性框图。如图11所示,该源设备包括以下模块。
接收模块710,用于接收目的设备发送的探测报文,所述探测报文用于探测所述第一虚拟机在所述源设备上的状态,所述探测报文包括所述第一虚拟机的标识。
查询模块720,用于根据所述探测报文,查询所述第一虚拟机的状态。
发送模块730,用于向所述目的设备发送反馈信息,所述反馈信息用于指示所述第一虚拟机在所述源设备上的状态。
可选地,所述接收模块710、所述查询模块720和所述发送模块730用于执行本申请的一种探测虚拟机故障的方法200的各个操作,为了简洁,在此不再赘述。
上述目的设备及源设备与方法实施例中的目的设备及源设备完全对应,由相应的模块执行相应的步骤,具体可以参考相应的方法实施例。
图12示出了本申请提供的设备800的示意性框图,所述设备800包括:
存储器810、处理器820、输入/输出接口830。其中,存储器810、处理器820和输入/输出接口830通过内部连接通路相连,该存储器810用于存储程序指令,该处理器820用于执行该存储器810存储的程序指令,以控制输入/输出接口830接收输入的数据和信息,输出操作结果等数据。
可选地,当所述代码被执行时,所述处理器820可以实现方法200的各个操作,为了简洁,在此不再赘述。输入/输出接口830用于在处理器820的驱动下执行具体的信号收发。
所述设备800可以为上述源设备或目的设备,执行确定模块、查询模块、调用模块的操作,输入/输出接口830分别执行发送模块及接收模块相应的步骤。
应理解,在本申请实施例中,该处理器730可以是中央处理单元(CentralProcessing Unit,简称为“CPU”),该处理器730还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种探测虚拟机状态的方法,其特征在于,所述方法应用于包括源设备、目的设备和管理设备的***,所述源设备的探测端口和所述目的设备的探测端口位于同一虚拟局域网,所述方法由所述目的设备执行,包括:
从所述管理设备接收所述源设备的第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识,在所述第一业务平面上配置所述目的设备的探测端口,并将所述探测VLAN标识配给所述目的设备的探测端口;
在所述第一虚拟机的高可靠性流程被触发时,从所述管理设备获取调用消息,所述调用消息用于对所述第一虚拟机进行探测,所述调用信息包括所述第一虚拟机的标识和所述第一虚拟机所在的第一业务平面的探测VLAN标识;
通过所述目的设备的探测端口向所述源设备发送探测报文,所述探测报文用于探测所述第一虚拟机在所述源设备上的状态,所述探测报文为广播报文,所述探测报文包括所述第一虚拟机的标识和所述第一业务平面的探测VLAN标识;
接收所述源设备发送的反馈信息,所述反馈信息用于指示所述第一虚拟机的状态;
根据所述反馈信息,确定是否在所述目的设备上重建所述第一虚拟机。
2.根据权利要求1所述的方法,其特征在于,在所述获取调用消息之前,所述方法还包括:
向服务器发送第一消息,所述第一消息用于请求所述第一虚拟机在所述服务器上的磁盘存储信息,用于通过对所述第一虚拟机的存储面进行检测来确定所述第一虚拟机的状态;
在预定时间段内,没有收到所述服务器的反馈消息。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述反馈信息,确定是否在所述目的设备上重建所述第一虚拟机,包括:
当所述反馈信息指示所述第一虚拟机在所述源设备上的状态正常时,确定不在所述目的设备上重建所述第一虚拟机;或
当所述反馈信息指示所述第一虚拟机在所述源设备上的状态故障时,确定在所述目的设备上重建所述第一虚拟机。
4.一种探测虚拟机状态的方法,其特征在于,所述方法应用于包括源设备、目的设备和管理设备的***,所述源设备的探测端口和所述目的设备的探测端口位于同一虚拟局域网,所述方法由所述源设备执行,包括:
从所述管理设备接收所述源设备的第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识,在所述第一业务平面上配置所述源设备的探测端口,并将所述探测VLAN标识配给所述源设备的探测端口;
在所述第一虚拟机的高可靠性流程被触发时,接收所述目的设备发送的探测报文,所述探测报文用于探测所述第一虚拟机在所述源设备上的状态,所述探测报文为广播报文,所述探测报文包括所述第一虚拟机的标识和所述第一业务平面的探测VLAN标识;
根据所述探测报文,查询所述第一虚拟机的状态;
通过所述源设备的探测端口向所述目的设备发送反馈信息,所述反馈信息用于指示所述第一虚拟机在所述源设备上的状态。
5.一种探测虚拟机状态的***,其特征在于,所述***包括目的设备、源设备和管理设备,所述源设备的探测端口和所述目的设备的探测端口位于同一虚拟局域网;
所述目的设备用于:从所述管理设备接收所述源设备的第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识,在所述第一业务平面上配置所述目的设备的探测端口,并将所述探测VLAN标识配给所述目的设备的探测端口;
所述源设备用于:从所述管理设备接收所述第一业务平面的探测VLAN标识,在所述第一业务平面上配置所述源设备的探测端口,并将所述探测VLAN标识配给所述源设备的探测端口;
所述目的设备还用于:在所述第一虚拟机的高可靠性流程被触发时,从所述管理设备获取调用信息,所述调用信息用于对所述第一虚拟机进行探测,所述调用信息包括所述第一虚拟机的标识和所述第一虚拟机所在的第一业务平面的探测VLAN标识;通过所述目的设备的探测端口向所述源设备发送探测报文,所述探测报文用于探测所述第一虚拟机在所述源设备上的状态,所述探测报文为广播报文,所述探测报文包括所述第一虚拟机的标识和所述第一业务平面的探测VLAN标识;
所述源设备还用于:接收所述目的设备发送的所述探测报文;根据所述探测报文,查询所述第一虚拟机的状态;通过所述源设备的探测端口向所述目的设备发送反馈信息,所述反馈信息用于指示所述第一虚拟机在所述源设备上的状态;
所述目的设备还用于:接收所述源设备发送的所述反馈信息;根据所述反馈信息,确定是否在所述目的设备上重建所述第一虚拟机。
6.根据权利要求5所述的***,其特征在于,
所述管理设备用于:接收所述第一业务平面的探测VLAN标识,并将所述探测VLAN标识发送给所述源设备和所述目的设备。
7.根据权利要求5或6所述的***,其特征在于,
所述目的设备还用于:在所述目的设备获取调用消息之前,向服务器发送第一消息,所述第一消息用于请求所述第一虚拟机在所述服务器上的磁盘存储信息,用于通过对所述第一虚拟机的存储面进行检测来确定所述第一虚拟机的状态;在预定时间段内,没有收到所述服务器的反馈消息。
8.根据权利要求5或6所述的***,其特征在于,
所述目的设备具体用于:当所述反馈信息指示所述第一虚拟机在所述源设备上的状态正常时,确定不在所述目的设备上重建所述第一虚拟机;或当所述反馈信息指示所述第一虚拟机在所述源设备上的状态故障时,确定在所述目的设备上重建所述第一虚拟机。
9.一种探测虚拟机状态的目的设备,其特征在于,属于包括源设备、所述目的设备和管理设备的***,所述源设备的探测端口和所述目的设备的探测端口位于同一虚拟局域网,所述目的设备包括:
接收模块,用于从所述管理设备接收所述源设备的第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识;
配置模块,用于在所述第一业务平面上配置所述目的设备的探测端口,并将所述探测VLAN标识配给所述目的设备的探测端口;
获取模块,用于在所述第一虚拟机的高可靠性流程被触发时,从所述管理设备获取调用消息,所述调用消息用于对所述第一虚拟机进行探测,所述调用信息包括所述第一虚拟机的标识和所述第一虚拟机所在的第一业务平面的探测VLAN标识;
发送模块,用于通过所述目的设备的探测端口向所述源设备发送探测报文,所述探测报文用于探测所述第一虚拟机在所述源设备上的状态,所述探测报文为广播报文,所述探测报文包括所述第一虚拟机的标识和所述第一业务平面的探测VLAN标识;
所述接收模块,还用于接收所述源设备发送的反馈信息,所述反馈信息用于指示所述第一虚拟机的状态;
确定模块,用于根据所述反馈信息,确定是否在所述目的设备上重建所述第一虚拟机。
10.根据权利要求9所述的目的设备,其特征在于,
所述发送模块,还用于向服务器发送第一消息,所述第一消息用于请求所述第一虚拟机在所述服务器上的磁盘存储信息,用于通过对所述第一虚拟机的存储面进行检测来确定所述第一虚拟机的状态;
所述接收模块,还用于在预定时间段内,没有收到所述服务器的反馈消息。
11.根据权利要求9或10所述的目的设备,其特征在于,所述确定模块具体用于:
当所述反馈信息指示所述第一虚拟机在所述源设备上的状态正常时,确定不在所述目的设备上重建所述第一虚拟机;或
当所述反馈信息指示所述第一虚拟机在所述源设备上的状态故障时,确定在所述目的设备上重建所述第一虚拟机。
12.一种探测虚拟机状态的源设备,其特征在于,属于包括所述源设备、目的设备和管理设备的***,所述源设备的探测端口和所述目的设备的探测端口位于同一虚拟局域网,所述源设备包括:
接收模块,用于从所述管理设备接收所述源设备的第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识;
配置模块,用于,在所述第一业务平面上配置所述源设备的探测端口,并将所述探测VLAN标识配给所述源设备的探测端口;
所述接收模块还,用于在所述第一虚拟机的高可靠性流程被触发时,接收所述目的设备发送的探测报文,所述探测报文用于探测所述第一虚拟机在所述源设备上的状态,所述探测报文为广播报文,所述探测报文包括所述第一虚拟机的标识和所述第一业务平面的探测VLAN标识;
查询模块,用于根据所述探测报文,查询所述第一虚拟机的状态;
发送模块,用于通过所述源设备的探测端口向所述目的设备发送反馈信息,所述反馈信息用于指示所述第一虚拟机在所述源设备上的状态。
13.一种芯片***,其特征在于,包括:至少一个处理器,所述至少一个处理器用于执行存储的指令,当所述指令被目的设备执行时,实现如权利要求1至3中任一项所述的方法,当所述指令被源设备执行时,实现如权利要求4所述的方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有程序指令,当所述指令被目的设备执行时,实现如权利要求1至3中任一项所述的方法,当所述指令被源设备执行时,实现如权利要求4所述的方法。
CN201880089686.2A 2018-04-12 2018-04-12 探测虚拟机状态的方法和设备 Active CN111771190B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/082852 WO2019196062A1 (zh) 2018-04-12 2018-04-12 探测虚拟机状态的方法和设备

Publications (2)

Publication Number Publication Date
CN111771190A CN111771190A (zh) 2020-10-13
CN111771190B true CN111771190B (zh) 2024-04-09

Family

ID=68163690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880089686.2A Active CN111771190B (zh) 2018-04-12 2018-04-12 探测虚拟机状态的方法和设备

Country Status (4)

Country Link
US (1) US11777830B2 (zh)
EP (1) EP3764226A4 (zh)
CN (1) CN111771190B (zh)
WO (1) WO2019196062A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405299B2 (en) * 2020-06-03 2022-08-02 Cisco Technology, Inc. Determining node behavior in deterministic networks
US11310117B2 (en) * 2020-06-24 2022-04-19 Red Hat, Inc. Pairing of a probe entity with another entity in a cloud computing environment
CN115941625B (zh) * 2022-12-27 2024-04-26 天翼云科技有限公司 一种用于云网络的流表数据修正方法与***

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904776A (zh) * 2012-10-11 2013-01-30 华为技术有限公司 一种虚拟局域网中的探测方法、装置和设备
CN103365700A (zh) * 2013-06-28 2013-10-23 福建师范大学 一种面向云计算虚拟化环境的资源监测和调整***
CN103618627A (zh) * 2013-11-27 2014-03-05 华为技术有限公司 一种管理虚拟机的方法、装置及***
CN106452846A (zh) * 2016-09-22 2017-02-22 华为技术有限公司 故障处理方法、虚拟架构管理***和业务管理***
CN106612211A (zh) * 2015-10-23 2017-05-03 华为技术有限公司 VxLAN中的路径探测方法,控制器和网络设备
CN107526653A (zh) * 2017-07-31 2017-12-29 华为技术有限公司 一种虚拟机的管理方法和服务器
CN107733746A (zh) * 2016-08-11 2018-02-23 中兴通讯股份有限公司 一种混合云平台的组网方法及混合云平台***

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383688B (zh) * 2007-09-06 2013-12-04 艾优克服务有限公司 数据通信装置及保持数据通信装置高可用性的方法
KR102043071B1 (ko) 2012-05-15 2019-11-11 텔레폰악티에볼라겟엘엠에릭슨(펍) 링크 에그리게이션 그룹 내의 분할 브레인 이슈를 검출 및 핸들링하기 위한 방법 및 장치
US9397912B2 (en) * 2013-03-13 2016-07-19 Arista Networks, Inc. Method and system for active fabric management using unicast reachability monitoring
CN104572243B (zh) * 2013-10-25 2017-09-29 国际商业机器公司 用于共享Java虚拟机的方法和***
CN105357038B (zh) * 2015-10-26 2019-05-07 北京百度网讯科技有限公司 监控虚拟机集群的方法和***
US10228962B2 (en) * 2015-12-09 2019-03-12 Commvault Systems, Inc. Live synchronization and management of virtual machines across computing and virtualization platforms and using live synchronization to support disaster recovery
CN106980528A (zh) * 2016-01-18 2017-07-25 中兴通讯股份有限公司 一种恢复虚拟机的方法和装置
US10721144B2 (en) * 2017-12-22 2020-07-21 At&T Intellectual Property I, L.P. Virtualized intelligent and integrated network monitoring as a service

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904776A (zh) * 2012-10-11 2013-01-30 华为技术有限公司 一种虚拟局域网中的探测方法、装置和设备
CN103365700A (zh) * 2013-06-28 2013-10-23 福建师范大学 一种面向云计算虚拟化环境的资源监测和调整***
CN103618627A (zh) * 2013-11-27 2014-03-05 华为技术有限公司 一种管理虚拟机的方法、装置及***
CN106612211A (zh) * 2015-10-23 2017-05-03 华为技术有限公司 VxLAN中的路径探测方法,控制器和网络设备
CN107733746A (zh) * 2016-08-11 2018-02-23 中兴通讯股份有限公司 一种混合云平台的组网方法及混合云平台***
CN106452846A (zh) * 2016-09-22 2017-02-22 华为技术有限公司 故障处理方法、虚拟架构管理***和业务管理***
CN107526653A (zh) * 2017-07-31 2017-12-29 华为技术有限公司 一种虚拟机的管理方法和服务器

Also Published As

Publication number Publication date
US11777830B2 (en) 2023-10-03
EP3764226A4 (en) 2021-03-10
CN111771190A (zh) 2020-10-13
EP3764226A1 (en) 2021-01-13
US20210029012A1 (en) 2021-01-28
WO2019196062A1 (zh) 2019-10-17

Similar Documents

Publication Publication Date Title
US10778532B2 (en) Overlay network movement operations
US20190020627A1 (en) Flow table processing method and apparatus
CN107113240B (zh) 可扩展虚拟局域网报文发送方法、计算机设备和可读介质
CN112702252B (zh) 一种报文处理方法、***及相关设备
TWI744359B (zh) 一種資料傳輸的方法及網路設備
CN107070691B (zh) Docker容器的跨主机通信方法和***
CN105915427B (zh) 一种报文发送、接收方法及设备
US11941423B2 (en) Data processing method and related device
US11777830B2 (en) Virtual machine status probe method, and device
CN107426077B (zh) 用于实现物理网络和虚拟网络互通的方法和设备
CN108566445B (zh) 一种报文传输方法及装置
WO2018023498A1 (zh) 网络接口卡、计算设备以及数据包处理方法
EP2922251A1 (en) Packet forwarding method, device and data center network
CN109617995B (zh) 对租户集群vpc内部容器的管理***、方法及电子设备
CN110999265A (zh) 管理云计算服务端点和虚拟机之间的网络连接性
WO2017113300A1 (zh) 路由确定方法、网络配置方法以及相关装置
CN113132202B (zh) 一种报文传输方法及相关设备
WO2022063170A1 (zh) 一种公有云的网络配置方法及相关设备
US11695665B2 (en) Cross-cloud connectivity checks
CN113765762A (zh) 数据传输方法及装置
US10931523B2 (en) Configuration change monitoring in software-defined networking environments
CN113709016B (zh) 通信***以及通信方法、装置、设备和存储介质
US10917502B2 (en) Method for using metadata in internet protocol packets
WO2022001666A1 (zh) 建立vxlan隧道的方法及相关设备
CN115913819A (zh) 一种通信方法以及相关装置

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220208

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant