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

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

Info

Publication number
WO2019196062A1
WO2019196062A1 PCT/CN2018/082852 CN2018082852W WO2019196062A1 WO 2019196062 A1 WO2019196062 A1 WO 2019196062A1 CN 2018082852 W CN2018082852 W CN 2018082852W WO 2019196062 A1 WO2019196062 A1 WO 2019196062A1
Authority
WO
WIPO (PCT)
Prior art keywords
probe
virtual machine
destination device
source device
packet
Prior art date
Application number
PCT/CN2018/082852
Other languages
English (en)
French (fr)
Inventor
李晓文
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP18914676.4A priority Critical patent/EP3764226A4/en
Priority to PCT/CN2018/082852 priority patent/WO2019196062A1/zh
Priority to CN201880089686.2A priority patent/CN111771190B/zh
Publication of WO2019196062A1 publication Critical patent/WO2019196062A1/zh
Priority to US17/068,325 priority patent/US11777830B2/en

Links

Images

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

Definitions

  • the present application relates to the field of virtual machines and, more particularly, to a method and apparatus for detecting the state of a virtual machine.
  • a high availability (HA) virtual machine system the HA process is triggered to rebuild the failed virtual machine on the source device in the case of resource permission in the virtual machine system, thereby restoring the corresponding service.
  • two methods are generally used to determine whether the virtual machine on the source device is faulty, whether the network of the server where the management node is located to the virtual machine is normal, or the shared storage is used for the virtual machine in the cluster, and the virtual machine is detected through the storage surface. Whether it is a malfunction, but both methods may be misjudged or invalid.
  • the present application provides a method and device for detecting the state of a virtual machine, which improves the reliability of detecting the state of the virtual machine on the source device, and effectively avoids the occurrence of virtual machine brain splitting.
  • the first aspect provides a method for detecting a virtual machine state, where the method is used to determine whether to rebuild the first virtual machine on a destination device when a high reliability process of the first virtual machine is triggered, Execution of the device includes: acquiring an invocation message, where the initiating message is used to detect the first virtual machine; acquiring an identifier of the first virtual machine; and invoking the detection script according to the invoking message, transmitting the identifier of the first virtual machine
  • the probe file is sent to the probe file, and the probe packet is sent to detect the state of the first virtual machine on the source device, where the probe packet includes the identifier of the first virtual machine;
  • the feedback information sent by the source device is used to indicate the status of the first virtual machine. According to the feedback information, it is determined whether the first virtual machine is rebuilt on the destination device.
  • the destination device that needs to re-establish the first virtual machine sends a probe packet to the source device where the first virtual machine is located, and the probe packet is used to detect the first virtual machine.
  • the destination device determines, according to the feedback information sent by the source device, whether the first virtual machine is configured on the destination device. Improves the reliability of detecting the failure of the virtual machine on the source device, and effectively avoids the occurrence of virtual machine brain splitting.
  • the probe packet when the probe port of the source device and the probe port of the destination device are in the same virtual local area network, the probe packet is a broadcast packet,
  • the probe packet includes the probe virtual local area network (VLAN) VLAN identifier of the service plane where the first virtual machine is located.
  • VLAN virtual local area network
  • VLAN virtual local area network
  • the sending the probe script and sending the probe packet includes: sending, by using the probe port, the probe packet.
  • the probe packet when the source device and the destination device communicate by using an overlay network overlay network, the probe packet is a unicast packet, and the probe packet is Includes the tunnel port ID of the source device.
  • the method further includes: acquiring, according to the identifier of the first virtual machine, an identifier of a tunnel port corresponding to the source device from the management device;
  • the detecting script sends a probe packet, including: sending the probe packet by using a tunnel port of the destination device.
  • the method before the acquiring the invocation message, further includes: sending a first message to the server, the first message being used to request the first virtual Disk storage information on the server, configured to determine a state of the first virtual machine by detecting a storage surface of the first virtual machine; and not receiving the server in a predetermined time period Feedback message.
  • the storage surface detection may be performed first. If the storage surface detection fails, the destination device of the first virtual machine may be re-established. And detecting whether the first virtual machine runs normally on the source device by sending a probe packet to the source device where the first virtual machine is located. Therefore, if the storage surface detects whether the virtual machine is faulty or fails, Detecting whether the first virtual machine runs normally on the source device by sending a probe packet to the source device where the first virtual machine is located, which improves the reliability of detecting whether the virtual machine on the source device is faulty, and is effective. Avoid the occurrence of virtual machine brain splitting.
  • determining, according to the feedback information, whether to reconstruct the first virtual machine on the destination device includes:
  • the feedback information indicates that the state of the first virtual machine on the source device is normal, determining that the first virtual machine is not reconstructed on the destination device;
  • the feedback information indicates that the first virtual machine is in a state failure on the source device, it is determined that the first virtual machine is rebuilt on the destination device.
  • a second aspect provides a method for detecting a state of a virtual machine, where the method is used to determine whether to rebuild the first virtual machine on the destination device when the first virtual machine high reliability process is triggered, and the method is performed by the source device.
  • the method includes: receiving, by the destination device, a probe packet, where the probe packet is used to detect a state of the first virtual machine on the source device, where the probe packet includes an identifier of the first virtual machine; And querying the state of the first virtual machine; sending feedback information to the destination device, where the feedback information is used to indicate a state of the first virtual machine on the source device.
  • the probe packet when the probe port of the source device and the probe port of the destination device are in the same virtual local area network, the probe packet is a broadcast packet,
  • the probe packet includes the probe virtual local area network (VLAN) VLAN identifier of the service plane where the first virtual machine is located.
  • VLAN virtual local area network
  • the method further includes: receiving, by the management device, the probe virtual local area network (VLAN) VLAN identifier of the first service plane where the first virtual machine is located; Configuring the probe port on the first service plane, and assigning the probe virtual network VLAN ID to the probe port; the probe packet sent by the destination device includes: sending, by the probe port, a destination device to send Probe message.
  • VLAN virtual local area network
  • the probe packet when the source device and the destination device communicate by using an overlay network overlay network, the probe packet is a unicast packet, and the probe packet is Includes the tunnel port ID of the source device.
  • the receiving, by the destination device, the detection packet includes: receiving, by the tunnel port of the source device, the detection packet.
  • a destination device comprising a destination device and a source device, including:
  • the destination device acquires call information, where the call information is used to detect the first virtual machine;
  • the destination device acquires an identifier of the first virtual machine.
  • the destination device invokes a probe script according to the call message, and passes the identifier of the first virtual machine to the probe script.
  • the destination device runs the probe script and sends a probe packet, where the probe packet is used to detect the state of the first virtual machine on the source device, where the probe packet includes an identifier of the first virtual machine.
  • the source device receives the probe packet sent by the destination device
  • the source device queries the state of the first virtual machine according to the probe packet.
  • the source device sends feedback information to the destination device, where the feedback information is used to indicate a state of the first virtual machine on the source device;
  • the destination device receives the feedback information sent by the source device
  • the destination device determines, according to the feedback information, whether to reconstruct the first virtual machine on the destination device.
  • the destination device that needs to re-establish the first virtual machine sends a probe packet to the source device where the first virtual machine is located, and the probe packet is used to detect the first virtual machine.
  • the destination device determines, according to the feedback information sent by the source device, whether the first virtual machine is configured on the destination device. Improves the reliability of detecting the failure of the virtual machine on the source device, and effectively avoids the occurrence of virtual machine brain splitting.
  • the probe packet when the probe port of the source device and the probe port of the destination device are in the same virtual local area network, the probe packet is a broadcast packet, and the probe packet includes The detected virtual local area network (VLAN) VLAN identifier of the first service plane where the first virtual machine is located.
  • VLAN virtual local area network
  • the system further includes a management device, the management device receives the probe virtual local area network VLAN identifier of the first service plane, and sends the probe virtual local area network VLAN identifier to the Source device and the destination device.
  • the destination device receives the probe virtual local area network (VLAN) VLAN identifier; the destination device configures the probe port on the first service plane, and identifies the probed virtual local area network (VLAN) VLAN
  • the probe device is configured to send the probe packet to the destination device, and the destination device sends the probe packet through the probe port.
  • the source device receives the probe virtual local area network (VLAN) VLAN identifier sent by the management device; the source device configures the probe port on the first service plane, and the probe is configured The virtual local area network (VLAN) VLAN identifier is allocated to the probe port.
  • the source device receives the probe packet sent by the destination device, and includes: receiving, by using the probe port, the probe packet sent by the destination device.
  • the system further includes a switch, the controller sends, to the switch, a probe virtual local area network (VLAN) VLAN identifier of the first service plane where the first virtual machine is located, the switch receives The controller sends a probe virtual local area network (VLAN) identifier of the first service plane where the first virtual machine is located; the switch associates the VLAN identifier with an overlay network overlay network identifier; the switch is configured according to the associated VLAN identifier and the overlay network overlay network identifier.
  • the packet received by the switch, including the VLAN identifier is translated into an overlay.
  • the probe packet when the source device and the destination device communicate by using an overlay network overlay network, the probe packet is a unicast packet, and the probe packet includes a source device. Tunnel port ID.
  • the system further includes a management device, where the destination device obtains, according to the identifier of the first virtual machine, an identifier of a tunnel port corresponding to the source device from the management device;
  • the destination device runs the probe script and sends the probe packet, including: sending the probe packet through the tunnel port of the destination device.
  • the source device receives the probe packet sent by the destination device, including: receiving the probe packet by using a tunnel port of the source device.
  • the method before the destination device obtains the invocation message, the method further includes: the destination device sending a first message to the server, where the first message is used to request the first virtual machine
  • the disk storage information on the server is used to determine the state of the first virtual machine by detecting the storage surface of the first virtual machine; the destination device does not receive the feedback message of the server during the predetermined time period .
  • the destination device determines, according to the feedback information, whether to rebuild the first virtual machine on the destination device, including: when the feedback information indicates the first virtual machine Determining that the first virtual machine is not rebuilt on the destination device when the state on the source device is normal; or determining that the first virtual machine is in the destination device when the feedback information indicates that the first virtual machine is in a state failure on the source device Rebuild the first virtual machine.
  • the fourth aspect provides a method for detecting a fault of a virtual machine, where the method is used to determine whether to reconstruct the first virtual machine on the destination device when the first virtual machine high reliability process is triggered.
  • the method is performed by the switch and includes:
  • the fifth aspect provides a destination device, where the destination device includes: an obtaining module, configured to acquire a call message, where the call message is used to detect the first virtual machine; and the acquiring module is further configured to acquire the first virtual
  • the calling module is configured to: according to the calling message, invoke a probe script, and send the identifier of the first virtual machine to the probe script; the sending module is configured to run the probe script and send a probe packet, the probe report
  • the method is configured to detect a state of the first virtual machine on the source device, where the detection packet includes an identifier of the first virtual machine, and a receiving module is configured to receive feedback information sent by the source device, where the feedback information is used to indicate And a determining module, configured to determine, according to the feedback information, whether to reconstruct the first virtual machine on the destination device.
  • the detection packet when the detection port of the source device and the detection port of the destination device are in the same virtual local area network, the detection packet is a broadcast packet, and the detection packet includes The detected virtual local area network VLAN identifier of the service plane where the first virtual machine is located.
  • the receiving module is further configured to receive, by the management device, the probe virtual local area network (VLAN) VLAN identifier of the first service plane where the first virtual machine is located;
  • the configuration module is configured to configure the probe port on the first service plane, and allocate the probe virtual network VLAN identifier to the probe port.
  • VLAN virtual local area network
  • the sending module is specifically configured to: send the probe packet by using the probe port.
  • the probe packet is a unicast packet, and the probe packet includes a source device. Tunnel port ID.
  • the acquiring module is further configured to: obtain, according to the identifier of the first virtual machine, the identifier of the tunnel port corresponding to the source device from the management device;
  • the sending module is specifically configured to: send the probe packet by using a tunnel port of the destination device.
  • the sending module is further configured to send a first message to the server, where the first message is used to request the first virtual machine to store information on the disk on the server, And determining, by detecting the storage surface of the first virtual machine, a state of the first virtual machine; the receiving module is further configured to receive no feedback message of the server within a predetermined time period.
  • the determining module is specifically configured to: when the feedback information indicates that the state of the first virtual machine on the source device is normal, determine that the target device is not reconstructed The first virtual machine; or when the feedback information indicates that the first virtual machine is in a state failure on the source device, determining to reconstruct the first virtual machine on the destination device.
  • the sixth aspect provides a source device, where the source device includes: a receiving module, configured to receive a probe packet sent by the destination device, where the probe packet is used to detect that the first virtual machine is on the source device a state, the detection packet includes an identifier of the first virtual machine, a querying module, configured to query a state of the first virtual machine according to the detection packet, and a sending module, configured to send to the destination device Sending feedback information, the feedback information is used to indicate a status of the first virtual machine on the source device.
  • a receiving module configured to receive a probe packet sent by the destination device, where the probe packet is used to detect that the first virtual machine is on the source device a state
  • the detection packet includes an identifier of the first virtual machine
  • a querying module configured to query a state of the first virtual machine according to the detection packet
  • a sending module configured to send to the destination device Sending feedback information, the feedback information is used to indicate a status of the first virtual machine on the source device.
  • the probe packet when the probe port of the source device and the probe port of the destination device are in the same virtual local area network, the probe packet is a broadcast packet,
  • the probe packet includes the probe virtual local area network (VLAN) VLAN identifier of the service plane where the first virtual machine is located.
  • VLAN virtual local area network
  • the receiving module is further configured to receive, by the management device, the probe virtual local area network (VLAN) VLAN identifier of the first service plane where the first virtual machine is located;
  • the source device further includes a configuration module, configured to configure the probe port on the first service plane, and allocate the probe virtual local area network VLAN identifier to the probe port;
  • the receiving module is specifically configured to: receive, by using the detecting port, a probe packet sent by the destination device.
  • the probe packet is a unicast packet, and the probe packet is Includes the tunnel port ID of the source device.
  • the receiving module is configured to: receive the detection packet by using a tunnel port of the source device.
  • a destination device comprising at least one processor, a memory and an interface, the interface for communicating with a source device, the memory for storing computer program code, the computer program code comprising instructions, The stored instructions are executed directly or indirectly by the at least one processor such that the destination device can perform the method of the first aspect or any alternative implementation of the first aspect.
  • a source device comprising at least one processor, a memory and an interface for communicating with a destination device, the memory for storing computer program code, the computer program code comprising instructions
  • the at least one processor executes the instructions, the source device performs the method of any of the alternative implementations of the second aspect or the second aspect.
  • a chip system comprising: at least one processor, the at least one processor for executing stored instructions to enable a destination device to perform the first aspect or any optional implementation of the first aspect The method in the way.
  • a chip system comprising: at least one processor, the at least one processor for executing stored instructions to enable a source device to perform any of the optional implementations of the second aspect or the second aspect The method in the way.
  • a computer program product comprising instructions that, when executed, cause a destination device to perform the first aspect or any of the alternative implementations of the first aspect Methods.
  • a computer program product comprising instructions, when the instructions are executed, such that the source device can perform the second aspect or any of the alternative implementations of the second aspect Methods.
  • a computer storage medium in a thirteenth aspect, a computer storage medium is provided, the computer storage medium storing program instructions, and when the instructions are executed, the destination device can perform the first aspect or any optional implementation of the first aspect The method in the way.
  • a computer storage medium in a fourteenth aspect, a computer storage medium is provided, the computer storage medium storing program instructions, and when the instructions are executed, the source can perform any of the optional implementations of the second aspect or the second aspect The method in .
  • FIG. 1 is a schematic block diagram of a system architecture of a method and apparatus for detecting a virtual machine state in accordance with the present application.
  • FIG. 2 is a schematic block diagram of a physical host in accordance with the present application.
  • FIG. 3 is a schematic flowchart of a method for detecting a state of a virtual machine according to the present application.
  • FIG. 4 is a schematic block diagram of a method application scenario of detecting a virtual machine state according to the present application.
  • FIG. 5 is a schematic block diagram of a method application scenario for detecting a virtual machine state according to the present application.
  • FIG. 6 is a schematic block diagram of a method application scenario for detecting a virtual machine state according to the present application.
  • FIG. 7 is a schematic block diagram of a method application scenario for detecting a virtual machine state according to the present application.
  • FIG. 8 is a VLAN message format in accordance with the present application.
  • FIG. 9 illustrates a VxLAN message format in accordance with the present application.
  • Figure 10 is a schematic block diagram of a device in accordance with the purpose of the present application.
  • FIG. 11 is a schematic block diagram of a source device in accordance with the present application.
  • Figure 12 is a schematic block diagram of an apparatus in accordance with the present application.
  • GSM Global System of Mobile communication
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • GPRS General Packet Radio Service
  • LTE Long Term Evolution
  • FDD Frequency Division Duplex
  • TDD Time Division Duplex
  • UMTS Universal Mobile Telecommunication System
  • WiMAX Worldwide Interoperability for Microwave Access
  • the destination device and the source device in the embodiment of the present application may refer to a user equipment, an access terminal, a subscriber unit, a subscriber station, a mobile station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a terminal, a wireless communication device, User agent or user device.
  • the terminal device may also be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA), with wireless communication.
  • SIP Session Initiation Protocol
  • WLL Wireless Local Loop
  • PDA Personal Digital Assistant
  • the system 100 architecture includes a management device 110, a destination device 120, and a source device 130.
  • a different virtual machine may be created on the destination device 120 and the source device 130.
  • the management device 110 is configured to manage the destination device 120 and the source device 130, for example, send the destination device 120 and the source device 130 some Create configuration information for configuring virtual machines, and so on.
  • FIG. 1 is only an exemplary architecture diagram.
  • the system architecture may include other physical devices in addition to the functional units shown in FIG. 1 , which is not limited in this embodiment of the present application.
  • the method for detecting the state of a virtual machine provided by the present application can be applied to a destination device and a source device.
  • the destination device and the source device include a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer.
  • the hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and a memory (also referred to as main memory).
  • the operating system may be any one or more computer operating systems that implement business processing through a process, such as a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system, or a Windows operating system.
  • the application layer includes applications such as a browser, an address book, word processing software, and instant messaging software.
  • a computer readable medium may include, but is not limited to, a magnetic storage device (eg, a hard disk, a floppy disk, or a magnetic tape, etc.), such as a compact disc (CD), a digital versatile disc (DVD). Etc.), smart cards and flash memory devices (eg, erasable programmable read-only memory (EPROM), cards, sticks or key drivers, etc.).
  • a magnetic storage device eg, a hard disk, a floppy disk, or a magnetic tape, etc.
  • CD compact disc
  • DVD digital versatile disc
  • Etc. smart cards and flash memory devices (eg, erasable programmable read-only memory (EPROM), cards, sticks or key drivers, etc.).
  • various storage media described herein can represent one or more devices and/or other machine-readable media for storing information.
  • the term "machine-readable medium” may include, but is not limited to, a variety of media capable of storing, containing, and/or carrying instructions and/or data.
  • the physical host 120 is taken as an example.
  • the physical host 120 includes a hardware layer 121, a virtual machine monitor (VMM) 122 running on the hardware layer 121, and running on the VMM 122.
  • VMM virtual machine monitor
  • the hardware layer 121 may include a processor 1211, a physical memory 1212, a hard disk 1213, and a network interface device 1214.
  • the processor 1211 may be one or more.
  • the network interface device 1214 may be a network adapter or a network card, and may be used for any A connectable network can be connected, such as the Internet (Internet), a corporate network, and the like.
  • the VM 123 may include a virtual processor 1231, a virtual memory 1232, a virtual hard disk 1233, and a guest operating system (Guest OS) 1234.
  • the guest OS 1234 is a virtual device running on the virtual processor 1231, the virtual memory 1232, the virtual hard disk 1233, and the like. Above the operating system.
  • the physical host office shown in FIG. 2 is merely exemplary, and the embodiment of the present application should not be specifically limited.
  • the physical host shown in FIG. 2 may be the destination device or the source device in the present application.
  • the destination device may also be referred to as a destination device, and the source device may also be referred to as a source device.
  • FIG. 3 is a schematic flowchart of a method 200 for detecting the state of a virtual machine according to an embodiment of the present application.
  • the method 300 can be applied to the figure.
  • the system shown in FIG. 1 can of course be applied to other systems, and the embodiment of the present application is not limited herein.
  • the method 300 includes the following.
  • the destination device acquires call information, where the call information is used to detect the first virtual machine.
  • the destination device acquires the identifier of the first virtual machine.
  • the destination device invokes a probe script according to the invocation message, and passes the identifier of the first virtual machine to the probe script.
  • the destination device runs the probe script, and sends a probe packet to the source device, where the probe packet is used to detect the state of the first virtual machine on the source device, where the probe packet includes the first virtual machine. logo.
  • the source device receives the probe packet sent by the destination device.
  • the source device queries the status of the first virtual machine according to the probe packet.
  • the source device sends feedback information to the destination device, where the feedback information is used to indicate a state of the first virtual machine on the source device.
  • the destination device receives feedback information sent by the source device.
  • the destination device determines, according to the feedback information, whether to reconstruct the first virtual machine on the destination device.
  • the destination device that needs to re-establish the first virtual machine sends a probe packet to the source device where the first virtual machine is located.
  • the packet is used to detect whether the first virtual machine is running on the source device.
  • the destination device determines whether the first virtual machine is configured on the destination device according to the feedback information sent by the source device. Improves the reliability of detecting the failure of the virtual machine on the source device, and effectively avoids the occurrence of virtual machine brain splitting.
  • the detecting virtual machine state refers to detecting the running state of the virtual machine on the source device, that is, whether the virtual machine fails and cannot operate normally on the source device.
  • the probe packet is a broadcast packet, where the probe packet includes the first service plane where the first virtual machine is located. Detects the virtual local area network (VLAN) identifier.
  • VLAN virtual local area network
  • the destination device receives the probe virtual network VLAN identifier; the destination device configures the probe port on the first service plane, and assigns the probe virtual local area network VLAN identifier to the probe port; the destination device runs the probe script And sending the probe packet, where the destination device sends the probe packet through the probe port.
  • the source device receives the probe virtual network VLAN identifier sent by the management device; the source device configures the probe port on the first service plane, and assigns the probe virtual local area network VLAN identifier to the probe port; the source device Receiving the probe packet sent by the destination device, including: receiving the probe packet sent by the destination device by using the probe port.
  • the probe packet is a unicast packet, and the probe packet includes a tunnel port identifier of the source device.
  • the system further includes a management device, where the destination device obtains an identifier of the tunnel port corresponding to the source device from the management device according to the identifier of the first virtual machine, and the destination device runs the detection script to send a probe packet.
  • the method includes: sending the probe packet by using a tunnel port of the destination device.
  • the source device receives the probe packet sent by the destination device, including: receiving the probe packet by using a tunnel port of the source device.
  • the method further includes: the destination device sends a first message to the server, where the first message is used to request the first virtual machine to store information on the disk on the server, The storage surface of the first virtual machine is detected to determine the state of the first virtual machine; the target device does not receive the feedback message of the server within a predetermined time period.
  • the storage surface detection may be performed first. If the storage surface detection fails, the destination device of the first virtual machine may be re-established. And detecting whether the first virtual machine runs normally on the source device by sending a probe packet to the source device where the first virtual machine is located. Therefore, if the storage surface detects whether the virtual machine is faulty or fails, Detecting whether the first virtual machine runs normally on the source device by sending a probe packet to the source device where the first virtual machine is located, which improves the reliability of detecting whether the virtual machine on the source device is faulty, and is effective. Avoid the occurrence of virtual machine brain splitting.
  • the destination device determines, according to the feedback information, whether to rebuild the first virtual machine on the destination device, including: when the feedback information indicates that the state of the first virtual machine on the source device is normal, determining that the Reestablishing the first virtual machine on the destination device; or determining that the first virtual machine is rebuilt on the destination device when the feedback information indicates that the first virtual machine is in a state failure on the source device.
  • the method 200 is described in detail from different application scenarios, such as a VLAN scenario, an overlay scenario, and a third-party software defined network (SDN) controller.
  • VLAN scenario a VLAN scenario
  • overlay scenario a third-party software defined network (SDN) controller.
  • SDN software defined network
  • the application scenario 300 is a virtual local area network (VLAN).
  • VLAN is a network segment that is logically divided into network segments.
  • the VLAN field (VLAN ID, VID) is used to identify a VLAN.
  • the VID is 12 bits long. The value ranges from 0 to 4095, where 0 and 4095 are reserved. The value cannot be used by the user, so an Ethernet can be divided into up to 4094 VLANs.
  • the application scenario 300 includes a management interface 310, a management node 320, a source device 330, and a destination device 340.
  • the management interface 310 is an interface installation deployment tool, and the administrator configures a physical plane of the virtual machine and a detection identifier of the physical plane (the probe identifier may also be referred to as a probe VLAN).
  • the management node 320 includes a management configuration service module, which is used to receive configuration information delivered by the administrator through the management interface 310, and triggers the client on the corresponding host to implement configuration or modify the corresponding configuration according to the configuration information.
  • the management node 320 is responsible for monitoring the running status of the virtual machine on each host. When the virtual machine of a host is found to be faulty, the HA process can be triggered and the virtual machine can be reconfigured on another host.
  • the source device 330 is configured with a first virtual machine (Virtual Machine 1, VM1), and the source device further includes a detecting module 331, a client 332, and a detecting port 333.
  • the detecting module 331 can provide the capability of sending a customized broadcast probe message and detecting whether the probe message is alive or not.
  • the client 332 is configured to receive the configuration information sent by the management node 320 and perform related operations to complete the configuration change.
  • the detection port 333 is a detection port of a corresponding physical plane, and the detection module 331 sends and receives a message through the detection port 333.
  • the destination device 340 includes a detection module 341, a client 342, a probe port 343, and a management module 344.
  • the detection module 341, the client 342, and the detection port 343 can refer to corresponding descriptions in the source device 330, and details are not described herein again.
  • the management module 344 is responsible for computing virtualization management for creating and managing virtual machines deployed on the destination device.
  • the management node may also manage other hosts, and the application scenario 300 may further include other management nodes.
  • Other virtual machines may also be configured on the source device 330 and the destination device 340.
  • the source device 330 and the modular unit configured on the destination device 340 should be identical.
  • the source device 330 can also be a destination device.
  • the destination device 340 can also be a source device.
  • the target device 340 is configured with VM2, The HA application scenario needs to configure the VM2 on the source device 330.
  • the destination device 340 may be referred to as a source device, and the source device 330 may be referred to as a destination device.
  • the administrator configures the service plane physnet2 through the management interface 310. (This assumes that the physical plane corresponding to VM1 is physnet2.
  • the user needs to specify the network VLAN used by the virtual machine for service communication.
  • the network maps to the corresponding network.
  • the mapping between the network and the physical plane is stored on the management node 320.
  • the virtual machine finally communicates through the physical plane.
  • the physical plane is also called the service plane.
  • the detection identifier of the service plane physnet2. Send to management node 320.
  • the management node 320 receives the detection identifier of the service plane physnet2, and sends the detection identifier of the service plane physnet2 to each host under the management node, such as the source device 330 and the destination device 340 shown in FIG.
  • the client of each host creates a corresponding probe port of the probe identifier on the service plane physnet2, and the probe port can be marked by the probe identifier.
  • the probe port 333 of the source device is the probe port of the service plane physnet2, and the probe port 333 is labeled as the probe identifier of the service plane physnet2, and the probe port 343 of the destination device is the service plane physnet2.
  • the probe port is marked with the probe identifier of the service plane physnet2.
  • each host may also use a custom script to create a corresponding probe port of the probe identifier on the service plane physnet2, and the method for creating a probe port on the service plane is not limited by the host. .
  • the probe module on the virtual machine in the cluster listens to the probe port of the service plane physnet2. This step is not drawn in Figure 3.
  • the management configuration service module in the management node 320 detects a VM1 failure on the source device 330, triggers the HA process, and determines that VM1 is configured on the destination device 340, the management module 344 in the destination device 340 sends a call message to the probe.
  • the module 341 is configured to trigger the detection module 341 to execute a probe script, where the call message includes an identifier of the VM1 and a service plane identifier of the VM1.
  • the service plane identifier of the VM1 is obtained by the management module 344 to obtain the network used by the VM1 for communication, and is determined according to the mapping relationship between the network and the physical plane.
  • the call message may be an application program interface (api), and the application program interface triggers the probe module 341 to execute the probe script.
  • api application program interface
  • the destination device 340 triggers storage surface detection for VM1, but does not receive feedback from the storage server 350 within a specified time.
  • the information, and in turn, the management module 344 sends a call message to the detection module 341 to detect the virtual machine in the service.
  • the application scenario 300 may further include a server 350, which is a shared storage unit of the application scenario 300.
  • a server 350 which is a shared storage unit of the application scenario 300.
  • Each virtual machine in the application scenario 300 uses shared storage, and each virtual opportunity is in the server 350.
  • the storage space corresponding to the virtual machine is locked. Only when the virtual machine is abnormal, the storage space corresponding to the virtual machine is not locked.
  • the time t 1 source device 330 is created VM1, the VM1 obtained on a storage server 350, the storage space is locked in a time t 1.
  • the destination device 340 acquires the storage space 1 from the server 350 when the VM1 is created, and the storage space 1 is locked, so the destination device 340 This VM1 is no longer created and can avoid virtual machine brain splitting.
  • the storage surface detection depends on the shared storage. If the virtual machine uses local storage, the storage surface detection cannot be performed; and if the server providing the shared storage fails, or the shared software application scenario fails, It is possible to make the detection of the storage surface affected. Therefore, when the storage surface is detected abnormally, or the application scenario in which the virtual machine is located does not support the storage surface detection, the virtual machine running state may be detected through the service plane where the virtual machine is located, that is, when the HA application scenario is determined as described above, When the VM1 is configured on the destination device 340, the management module 344 in the destination device 340 sends a call message to the detection module 341, and the call message is used to trigger the detection module 341 to execute a probe script, where the call message includes the identifier of the VM1 and the VM1.
  • the business face identifier of the business Therefore, if the storage plane detects whether the virtual machine is faulty or fails, the probe detects whether the first virtual machine is running normally on the source device according to the sending of the probe packet to the source device where the first virtual machine is located. Improves the reliability of detecting the failure of the virtual machine on the source device, and effectively avoids the occurrence of virtual machine brain splitting.
  • the identifier of the VM1 may be an IP address of the VM1, or may be a label Lable of the VM1, or some kind of tag information.
  • the description is made by taking the identifier of the VM1 as the IP address of the VM1 as an example.
  • the probe module 341 in the destination device 340 sends a probe message to the probe port 343.
  • the probe packet is a broadcast packet, and the probe packet includes an identifier of the VM1 and a service plane identifier of the VM1.
  • the destination MAC address of the probe packet is ff: ff: ff: ff: ff: ff: ff, indicating that the probe packet is a broadcast packet.
  • the probe port 333 of the service plane physnet2 in the source device 330 receives the probe packet.
  • the probe port 333 of the service plane physnet2 in the source device 330 sends the probe packet to the probe module 331.
  • the probe module 331 obtains the probe packet.
  • the identifier of the carried VM1 is used to query whether the corresponding VM1 is running normally through the libvirt interface, and the query result is fed back to the destination device 340.
  • the feedback information is sent to the detection port 333 via the detection module 331.
  • the detection port 343 of the destination device 340 receives the feedback information, and the feedback information is passed through the detection module. 341 is passed to management module 344.
  • the command for querying whether the corresponding VM1 is running normally through the libvirt interface may be:
  • the VM1 When receiving the command, the VM1 sends feedback information to the detection module 331 according to the running status of the VM1.
  • the feedback information may be true or false. True indicates that the virtual machine VM1 is running normally, and false indicates that the virtual machine VM1 is faulty.
  • the management module 344 in the destination device 340 determines whether the virtual machine VM1 is configured on the destination device 340 according to whether the VM1 fed back by the source device 330 is operating normally.
  • the feedback information indicates that the VM1 is running on the source device 330, determining that the VM1 is not configured on the destination device 340; or
  • the feedback information indicates that the VM1 is not running on the source device 330, it is determined that the VM1 is configured on the destination device 340.
  • the destination device that needs to re-establish the first virtual machine sends a probe packet to the source device where the first virtual machine is located.
  • the probe packet is used to detect whether the first virtual machine is running on the source device.
  • the destination device determines whether the first virtual machine is configured on the destination device according to the feedback information sent by the source device. Improves the reliability of detecting the failure of the virtual machine on the source device, and effectively avoids the occurrence of virtual machine brain splitting.
  • FIG. 6 is a schematic block diagram of an application scenario 400 of a method for detecting a virtual machine state according to the present application.
  • the application scenario 400 is an overlay network.
  • the existing overlay network mainly includes a virtual extensible LAN (VxLAN), a network virtualization using Generic Routing Encapsulation (NVGRE), and a stateless transmission tunnel ( Stateless Transport Tunneling, STT).
  • the application scenario 400 includes a management boundary management node 410, a source device 420, and a destination device 430.
  • the management node 410 includes a network management service module, which is mainly used to create management related network resources.
  • the source device 420 is configured with a first virtual machine (Virtual Machine 1, VM1), and the source device further includes a detection module 421 and a tunnel 422 (the tunnel 422 may also be referred to as a data network plane interface).
  • the detecting module 421 can provide the capability of sending a customized broadcast probe message and detecting whether the probe message is alive or not.
  • the tunnel 422 is used to send and receive messages.
  • the destination device 430 includes a detection module 431, a tunnel 432, and a management module 433.
  • the detection module 431, and the tunnel 432 can refer to corresponding descriptions in the source device 420, and details are not described herein again.
  • the management module 433 is responsible for computing virtualization management for creating and managing virtual machines deployed on the destination device.
  • the management node may also manage other hosts, and the application scenario 400 may also include other management nodes.
  • Other virtual machines may also be configured on the source device 420 and the destination device 430.
  • the source device 420 and the modular unit configured on the destination device 430 should be identical.
  • the source device 420 can also be a destination device.
  • the destination device 430 can also be a source device, for example, if the target device 430 is configured with VM2, if The HA application scenario needs to configure the VM2 on the source device 420.
  • the destination device 430 can be referred to as a source device, and the source device 420 can be referred to as a destination device.
  • each host starts a detection module, and the detection module on each host listens to the tunnel to identify the detection packet.
  • the management module 433 in the destination device 430 obtains the tunnel identifier of the source device 420 where the VM1 is located from the network management service module in the management node 410.
  • the management module 433 in the destination device 430 can obtain the tunnel identifier of the source device 420 where the VM1 is located according to the api provided by the management node 410.
  • the tunnel identifier may be an IP address of the tunnel, or a label Lable of the tunnel, or some kind of tag information.
  • the identifier of the tunnel is an IP address of the tunnel as an example.
  • the management module 433 in the destination device 430 acquires the tunnel identifier of the source device 420 where the VM1 is located from the network management service module in the management node 410
  • the destination device 430 triggers storage surface detection for VM1, but The feedback information of the storage server is not received within the specified time, and the management module 433 obtains the tunnel identifier of the source device 420 where the VM1 is located from the network management service module in the management node 410.
  • the specific process of the destination device 430 triggering the storage surface detection of the VM1 may refer to the related description of FIG. 4, and details are not described herein again to avoid repetition.
  • the management module 433 of the destination device 430 sends a call message to the detection module 431, and the call message is used to trigger the detection module 431 to send a probe message, where the call message includes the identifier of the VM1 and the source device 420 where the VM1 is located. Tunnel identification.
  • the calling message may be an application program interface (api), and the application program interface triggers the detecting module 431 to execute the probe script.
  • api application program interface
  • the identifier of the VM1 may be an IP address of the VM1, or may be a label Lable of the VM1, or some kind of tag information.
  • the description is made by taking the identifier of the VM1 as the IP address of the VM1 as an example.
  • the detection module 431 of the destination device 430 sends a probe packet, the probe packet is a unicast probe packet, and the destination address of the probe packet is an IP address of the source device 420, and the probe packet further includes The ID of the virtual machine.
  • the tunnel 422 in the source device 420 receives the probe message.
  • the tunnel 422 in the source device 420 sends the probe message to the probe module 421.
  • the detection module 421 obtains the identifier of the VM1 carried in the probe packet, and queries whether the corresponding VM1 runs normally through the libvirt interface, and feeds back the query result to the destination device 430.
  • the feedback information is sent to the tunnel 422 via the detecting module 421.
  • the tunnel 432 of the destination device 430 receives the feedback information, and the feedback information is transmitted through the detecting module 431. To the management module 433.
  • the command for querying whether the corresponding VM1 is running normally through the libvirt interface may be:
  • the VM1 When receiving the command, the VM1 sends feedback information to the detection module 421 according to the running status of the VM1.
  • the feedback information may be true or false. True indicates that the virtual machine VM1 is running normally, and false indicates that the virtual machine VM1 is faulty.
  • the management module 433 of the destination device 430 determines whether the virtual machine VM1 is configured on the destination device 430 according to the information about whether the VM1 is normally operated by the source device 420.
  • the feedback information indicates that the VM1 is running on the source device 420, determining that the VM1 is not configured on the destination device 430; or
  • the feedback information indicates that the VM1 is not running on the source device 420, it is determined that the VM1 is configured on the destination device 430.
  • the destination device that needs to re-establish the first virtual machine sends a probe packet to the source device where the first virtual machine is located.
  • the probe packet is used to detect whether the first virtual machine is running on the source device.
  • the destination device determines whether the first virtual machine is configured on the destination device according to the feedback information sent by the source device. Improves the reliability of detecting the failure of the virtual machine on the source device, and effectively avoids the occurrence of virtual machine brain splitting.
  • FIG. 7 is a schematic block diagram of an application scenario 500 of a method and device for detecting a virtual machine state according to the present application.
  • the application scenario 500 is a virtualized docking third party software defined network (SDN) scalable external network (VxLAN).
  • the application scenario 500 includes a management node 510, a configuration interface 520, a management interface 530, a source device 550, a destination device 550, a switch 560, a switch 570, and a third party controller 580.
  • the VxLAN network is mapped to a VLAN network. It should be understood that the VxLAN network is only one form of the overlay network. In this application, other overlays can also be mapped to a VLAN network.
  • the specific implementation of mapping other overlays into a VLAN network can refer to mapping a VxLAN network to a VLAN network. The process is not repeated here.
  • the management node 510 includes a network management service module 511 and a management configuration service module 512, which is mainly used to create management related network resources.
  • the management configuration service module 512 is configured to receive configuration information delivered by the administrator through the management interface 530, and trigger the client on the corresponding host to implement configuration or modify the corresponding configuration according to the configuration information.
  • the network management service module 511 maps the VxLAN network to a VLAN network through hierarchical bonding, and the packets of the virtual machine can be configured according to the VLAN network.
  • the packet is forwarded in the mode, and the packet is forwarded according to the VxLAN network forwarding packet when the packet is sent to the switch.
  • the configuration interface 520 the administrator can perform the docking configuration of the third-party SDN controller and the VxLAN through the configuration interface 520, and the administrator sends the identifier of the service plane mapped by the VxLAN network to the management node 510 through the configuration interface 520.
  • the network management service module 511 stores the mapping relationship of the service plane of the VxLAN network mapping.
  • the management interface 530 is an interface installation deployment tool.
  • the administrator sends an identifier of the service plane mapped by the VxLAN network to the destination device 550.
  • the management module 554 in the destination device 550 records the service plane of the VxLAN network mapping. Mapping relationship.
  • the administrator configures the physical plane of the virtual machine and the probe identifier of the physical plane through the management interface 530.
  • the probe identifier can also be called a probe VLAN.
  • the source device 540 is configured with a first virtual machine (Virtual Machine 1, VM1), and the source device further includes a detecting module 541, a client 542, and a detecting port 543.
  • the detecting module 541 can provide the capability of sending a customized broadcast probe message and detecting whether the probe message is alive or not.
  • the client 542 is configured to receive configuration information sent by the management node 510 and perform related operations to complete configuration changes.
  • the detection port 543 is a detection port of a corresponding physical plane, and the detection module 541 sends and receives a message through the detection port 543.
  • the destination device 550 includes a probe module 551, a client 552, a probe port 553, and a management module 554.
  • the detection module 551, the client 552, and the detection port 553 can refer to corresponding descriptions in the source device 540, and details are not described herein again.
  • the management module 544 is responsible for computing virtualization management for creating and managing virtual machines deployed on the destination device.
  • the switch 560 and the switch 570 are configured to transmit messages.
  • the third party controller 580 can implement the configuration switch 560 and the switch 570.
  • the management node may also manage other hosts, and the application scenario 500 may also include other management nodes.
  • Other virtual machines may also be configured on the source device 540 and the destination device 550.
  • the source device 540 and the modular unit configured on the destination device 550 should be identical.
  • the source device 540 can also be a destination device, and the destination device 550 can also be a source device.
  • the administrator can perform the interface configuration of the third-party SDN controller and the VxLAN through the configuration interface 520.
  • the administrator sends the identifier of the service plane mapped by the VxLAN network to the network management service in the management node 510 through the configuration interface 520.
  • Module 511 here, the service plane is physnet2
  • the network management service module 511 holds the mapping relationship of the service plane of the VxLAN network map.
  • the network management service module 511 in the management node 510 maps the VxLAN network to a VLAN network through hierarchical binding.
  • the administrator sends the identifier of the service plane mapped by the VxLAN network to the destination device 550 through the management interface 530.
  • the management module 554 in the destination device 550 records the mapping relationship of the service plane mapped by the VxLAN network.
  • the administrator configures a Layer 2 bridge (Lay2bridge, L2BR) on the SDN controller.
  • the L2BR is used to implement Layer 2 interworking between the VxLAN and the VLAN server.
  • the probe ID is connected to the VNI.
  • the L2BR is based on the controller.
  • the mapping of the predefined VLAN-VNI encapsulates the packet into a VXLAN packet and searches the vxlan flow table of the destination device.
  • the packet is forwarded to the virtual tunnel end point (VTEP).
  • VTEP virtual tunnel end point
  • the administrator sends the probe identifier of the service plane physnet2 to the management node 510 through the management interface 530.
  • the management configuration service module 512 of the management node 510 receives the detection identifier of the service plane physnet2, and sends the detection identifier of the service plane physnet2 to each host under the management node, such as the source device 540 shown in FIG. And destination device 550.
  • the client of each host creates a corresponding probe port of the probe identifier on the service plane physnet2, and the probe port can be marked by the probe identifier.
  • the probe port 543 of the source device is the probe port of the service plane physnet2, and the probe port 543 is marked with the probe identifier of the service plane physnet2, and the probe port 553 of the destination device is the service plane physnet2.
  • the probe port is marked with the probe identifier of the service plane physnet2.
  • each host may also use a custom script to create a corresponding probe port of the probe identifier on the service plane physnet2, and the method for creating a probe port on the service plane is not limited by the host. .
  • the probe module on the virtual machine in the cluster listens to the probe port of the service plane physnet2. This step is not drawn in Figure 6.
  • the management module 554 in the destination device 550 sends an invocation message to the detection module 551, which is used to trigger the detection module 551 to execute a probe script, the call message includes The identifier of the VM1 and the business plane identifier of the VM1.
  • the invocation message may be an application program interface (api) that triggers the probing module 551 to execute the probing script.
  • api application program interface
  • the service plane identifier of the VM1 is obtained by the management module 454 to obtain the network used by the VM1 for communication, and is determined according to the mapping relationship between the network and the physical plane.
  • the destination device 550 triggers the storage surface detection for the VM1, but does not receive the feedback information of the storage server within the specified time. Then, the management module 554 sends a call message to the detection module 551 to detect the virtual machine in the service.
  • the specific process of the destination device 550 triggering the storage surface detection of the VM1 may refer to the related description of FIG. 4, and details are not described herein again.
  • the probe module 551 in the destination device 550 sends a probe message to the probe port 553.
  • the probe packet is a broadcast packet, and the probe packet includes an identifier of the VM1 and a service plane identifier of the VM1.
  • the broadcast packet sent by the probe port 553 is sent to the switch 560.
  • the switch 560 identifies the probe packet according to the VLAN detection identifier carried in the probe packet, and encapsulates the probe packet in the original VLAN network packet format.
  • the encapsulated packet is sent to the switch 570 for the VxLAN network packet format.
  • the format of the packet of the VLAN detection packet is as shown in Figure 8.
  • the format of the packet is defined by the 802.1Q standard.
  • the VLAN packet includes the destination MAC address, source MAC address, 802.10tag, type, data, and checksum.
  • the FCS, 802.1Q standard defined Ethernet frame format adds 802.1Q field based on the traditional Ethernet frame format. This field contains 4 parts of Type, PRI, CFI and VID. The meanings of each part are as follows:
  • Type Length is 2 bytes, indicating the frame type.
  • the Type field in the 802.1Q tag frame takes a fixed value of 0x8100. If the device that does not support 802.1Q receives the 802.1Q frame, it discards it.
  • the priority (PRI) field which is 3 bits long, indicates the priority of the Ethernet frame. The value ranges from 0 to 7. The larger the value, the higher the priority.
  • the Canonical Format Indicator has a length of 1 bit, indicating whether the MAC address is a classic format.
  • a CFI of 0 indicates a classic format, and a CFI of 1 indicates a non-classical format. This field is used to distinguish between Ethernet frames, FDDI frames, and Token Ring frames. In an Ethernet frame, the CFI value is 0.
  • VLAN ID The virtual local area network ID (VLAN ID, VID) is 12 bits in length and ranges from 0 to 4095. 0 and 4095 are reserved values and cannot be used. This field uniquely identifies a VLAN. A 12-bit VID can represent 4096 different values. With the exception of two reserved values, an Ethernet can be divided into up to 4094 VLANs.
  • the VxLAN is transmitted by encapsulating data frames communicated in the logical network in a physical network, and the process of encapsulation and decapsulation is performed by the switch 560. After VxLAN adds the data frame in the logical network to the VxLAN header, it is encapsulated in the UDP packet in the physical network.
  • the format of the VxLAN header is shown in Figure 9.
  • the VxLAN header consists of 8 bytes.
  • the first byte is Flag bit, where flag bit I is set to 1 to indicate a legal VxLAN header, the remaining flags are reserved, must be set to 0 during transmission; 2-4 bytes are reserved, and 5-7 bytes are VXLAN Identifier, used to represent a unique logical network; the 8th byte is also a reserved field, not yet used.
  • the switch 560 adds the User Datagram Protocol (UDP) header, the IP header, and the Ethernet frame header to the switch 570.
  • UDP User Datagram Protocol
  • the switch 560 sends the encapsulated message to the switch 570.
  • the switch 570 sends the probe message to the source device 540.
  • the probe port 543 of the service plane physnet2 in the source device 540 receives the probe packet.
  • the probe port 543 of the service plane physnet2 in the source device 540 after receiving the probe packet sent by the destination device 550, sends the probe packet to the detection module 541, and the detection module 541 obtains the probe packet.
  • the identifier of the carried VM1 is used to query whether the corresponding VM1 is running normally through the libvirt interface, and the query result is fed back to the destination device 550.
  • the feedback information is sent to the detection port 543 via the detection module 541, and the feedback information is received by the switch 570 and the switch 560 to the detection port 553 of the destination device 550.
  • the feedback information is passed to the management module 554 through the detection module 551.
  • the command for querying whether the corresponding VM1 is running normally through the libvirt interface may be:
  • the VM1 When receiving the command, the VM1 sends feedback information to the detection module 541 according to the running status of the VM1.
  • the feedback information may be true or false, true indicates that the virtual machine VM1 is operating normally, and false indicates that the virtual machine VM1 is faulty.
  • the management module 554 of the destination device 550 determines whether the virtual machine VM1 is configured on the destination device 550 according to whether the VM1 fed back by the source device 540 is operating normally.
  • the destination device that needs to re-establish the first virtual machine sends a probe packet to the source device where the first virtual machine is located.
  • the probe packet is used to detect whether the first virtual machine is running on the source device.
  • the destination device determines whether the first virtual machine is configured on the destination device according to the feedback information sent by the source device. Improves the reliability of detecting the failure of the virtual machine on the source device, and effectively avoids the occurrence of virtual machine brain splitting.
  • the application also provides a system, including a destination device and a source device, including:
  • the destination device When the high-reliability process of the first virtual machine is triggered, the destination device acquires the call information, where the call information is used to detect the first virtual machine; the destination device acquires the identifier of the first virtual machine; And the probe file is sent to the probe script, and the identifier of the first virtual machine is sent to the probe script.
  • the destination device runs the probe script to send a probe packet, where the probe packet is used to detect that the first virtual machine is in the The status of the first virtual machine is detected by the source device, and the source device receives the probe packet sent by the destination device.
  • the source device queries the state of the first virtual machine according to the probe packet.
  • the source device sends feedback information to the destination device, where the feedback information is used to indicate the state of the first virtual machine on the source device; the destination device receives feedback information sent by the source device; and the destination device receives the feedback information according to the feedback information. Determining whether to rebuild the first virtual machine on the destination device.
  • the probe packet is a broadcast packet, where the probe packet includes the first service plane where the first virtual machine is located. Probe the virtual LAN VLAN ID.
  • the system further includes a management device, where the management device receives the probe virtual local area network (VLAN) VLAN identifier of the first service plane, and sends the probe virtual local area network (VLAN) VLAN identifier to the source device and the destination device.
  • VLAN virtual local area network
  • the destination device receives the probe virtual local area network VLAN identifier
  • the destination device configures the probe port on the first service plane, and assigns the probe virtual network VLAN ID to the probe port.
  • the destination device runs the probe script to send a probe packet, including: the destination device passes the probe port. Send the probe packet.
  • the source device receives the probe virtual network VLAN identifier sent by the management device; the source device configures the probe port on the first service plane, and assigns the probe virtual local area network VLAN identifier to the probe port; the source device Receiving the probe packet sent by the destination device, including: receiving the probe packet sent by the destination device by using the probe port.
  • the system further includes a switch, the controller sends, to the switch, a probe virtual local area network (VLAN) VLAN identifier of the first service plane where the first virtual machine is located, where the switch receives the first virtual machine where the controller sends the first virtual machine.
  • a service plane detects a virtual local area network (VLAN) identifier; associates the VLAN identifier with an overlay network overlay network identifier; and converts the packet including the VLAN identifier received by the switch into an overlay form according to the associated VLAN identifier and the overlay network overlay network identifier. The message is sent.
  • VLAN virtual local area network
  • the probe packet is a unicast packet, and the probe packet includes a tunnel port identifier of the source device.
  • the system further includes a management device, where the destination device obtains an identifier of the tunnel port corresponding to the source device from the management device according to the identifier of the first virtual machine, and the destination device runs the detection script to send a probe packet.
  • the method includes: sending the probe packet by using a tunnel port of the destination device.
  • the source device receives the probe packet sent by the destination device, including: receiving the probe packet by using a tunnel port of the source device.
  • the method further includes: the destination device sends a first message to the server, where the first message is used to request the first virtual machine to store information on the disk on the server, The storage surface of the first virtual machine is detected to determine the state of the first virtual machine; during the predetermined time period, the feedback message of the server is not received.
  • the destination device determines, according to the feedback information, whether to rebuild the first virtual machine on the destination device, including: when the feedback information indicates that the state of the first virtual machine on the source device is normal, determining that the Reestablishing the first virtual machine on the destination device; or determining that the first virtual machine is rebuilt on the destination device when the feedback information indicates that the first virtual machine is in a state failure on the source device.
  • FIG. 10 is a schematic block diagram of a destination device 600 in accordance with the present application. As shown in FIG. 10, the destination device includes the following modules.
  • the obtaining module 610 is configured to obtain an invocation message, where the initiating message is used to detect the first virtual machine.
  • the obtaining module 610 is further configured to acquire an identifier of the first virtual machine.
  • the calling module 620 is configured to invoke a probe script according to the call message, and pass the identifier of the first virtual machine to the probe script.
  • the sending module 630 is configured to run the probe script, and send a probe packet, where the probe packet is used to detect a state of the first virtual machine on the source device, where the probe packet includes the first The identity of the virtual machine.
  • the receiving module 640 is configured to receive feedback information sent by the source device, where the feedback information is used to indicate a status of the first virtual machine.
  • the determining module 650 is configured to determine, according to the feedback information, whether to reconstruct the first virtual machine on the destination device.
  • the obtaining module 610, the calling module 620, the sending module 630, the receiving module 640, and the determining module 650 are configured to perform various operations of the method 200 for detecting a virtual machine fault of the present application. For the sake of brevity, it will not be repeated here.
  • FIG. 11 is a schematic block diagram of a source device 700 in accordance with the present application. As shown in Figure 11, the source device includes the following modules.
  • the receiving module 710 is configured to receive a probe packet sent by the destination device, where the probe packet is used to detect a state of the first virtual machine on the source device, where the probe packet includes the first virtual machine Logo.
  • the querying module 720 is configured to query the status of the first virtual machine according to the detection packet.
  • the sending module 730 is configured to send feedback information to the destination device, where the feedback information is used to indicate a status of the first virtual machine on the source device.
  • the receiving module 710, the querying module 720, and the sending module 730 are used to perform various operations of the method 200 for detecting a virtual machine fault of the present application.
  • the receiving module 710, the querying module 720, and the sending module 730 are used to perform various operations of the method 200 for detecting a virtual machine fault of the present application.
  • the sending module 730 are used to perform various operations of the method 200 for detecting a virtual machine fault of the present application.
  • the destination device and the source device are completely corresponding to the destination device and the source device in the method embodiment, and the corresponding steps are performed by the corresponding module.
  • the corresponding module For details, refer to the corresponding method embodiment.
  • FIG. 12 shows a schematic block diagram of a device 800 provided by the present application, the device 800 comprising:
  • the memory 810, the processor 820, and the input/output interface 830 are connected by an internal connection path for storing program instructions, and the processor 820 is configured to execute program instructions stored by the memory 810 to control the input/output interface.
  • the 830 receives the input data and information, and outputs data such as the operation result.
  • the processor 820 can implement various operations of the method 200.
  • the input/output interface 830 is for performing specific signal transceiving under the driving of the processor 820.
  • the device 800 may be the source device or the destination device, perform the operations of the determining module, the query module, and the calling module, and the input/output interface 830 respectively performs the corresponding steps of the sending module and the receiving module.
  • the processor 730 may be a central processing unit (“CPU"), and the processor 730 may also be other general-purpose processors, digital signal processors (DSPs). , an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, and the like.
  • CPU central processing unit
  • DSP digital signal processors
  • ASIC application specific integrated circuit
  • FPGA off-the-shelf programmable gate array
  • FPGA off-the-shelf programmable gate array
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
  • the technical solution of the present application which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .

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是根据本申请的设备的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(Global  System of Mobile communication,GSM)系统、码分多址(Code Division Multiple Access,CDMA)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(Long Term Evolution,LTE)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal Mobile Telecommunication System,UMTS)、全球互联微波接入(Worldwide Interoperability for Microwave Access,WiMAX)通信系统、未来的第五代(5th Generation,5G)系统或新无线(New Radio,NR)等。
本申请实施例中的目的设备、源设备可以指用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,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)、内存管理模块(memory management unit,MMU)和内存(也称为主存)等硬件。所述操作系统可以是任意一种或多种通过进程(Process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。所述应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。
此外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmable read-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,能够存储、包含和/或承载指令和/或数据的各种介质。
图2是根据本申请的一种物理主机的示意性框图。以该物理主机为目的设备120为例,进行说明,该物理主机120中包括硬件层121,运行在硬件层121之上的虚拟机监视器 (Virtual Machine Monitor,VMM)122,以及运行在VMM122上的一个或多个虚拟机(Virtual Machine,VM)123。硬件层121可以包括处理器1211、物理内存1212、硬盘1213以及网络接口设备1214,其中处理器1211可以是一个,也可以是多个;网络接口设备1214可以是网络适配器或网卡,用于跟任何可连接的网络做连接,例如互联网(Internet)、企业网等。VM123可以包括虚拟处理器1231、虚拟内存1232、虚拟硬盘1233以及客户操作系统(Guest Operation System,Guest OS)1234,其中Guest OS1234是运行在虚拟处理器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 program interface,api),该应用程序接口触发该探测模块341执行探测脚本。
可选地,在该目的设备340中的管理模块344发送调用消息到探测模块341之前,该目的设备340触发了针对VM1的存储面探测,但是在规定时间内并没有收到存储服务器350的反馈信息,进而管理模块344发送调用消息到探测模块341,在业务面对虚拟机进行探测。
下面结合图5对目的设备340如何进行存储面探测进行说明。如图5所示,该应用场景300还可以包括服务器350,该服务器350为应用场景300的共享存储单元,应用场景300内的每个虚拟机都使用共享存储,每个虚拟机会在该服务器350上分配一个存储空间,并且该虚拟机正常运行时,该虚拟机对应的存储空间被锁定,只有在该虚拟机异常时,该虚拟机对应的存储空间不会被锁定。如在t 1时刻源设备330上创建了VM1,该VM1在服务器350上获得的存储空间1,该存储空间1在t 1时刻被锁定。如果非虚拟机故障导致HA应用场景在目的设备340上确定配置该VM1时,目的设备340在创建该VM1时会向服务器350获取存储空间1,而该存储空间1被锁定,因此该目的设备340不再创建该VM1,可以避免虚拟机脑裂发生。
但是该存储面探测依赖于共享存储,如果该虚拟机使用的是本地存储,则存储面探测无法进行;并且如果该提供共享存储的服务器出现故障,或者该共享存的软件应用场景出现故障,都有可能使得存储面的探测受到影响。因此,当该存储面探测异常,或者虚拟机所在的应用场景不支持存储面探测时,可以通过虚拟机所在的业务面进行虚拟机运行状态的探测,即如上所述的当HA应用场景确定在目的设备340上配置VM1时,目的设备340中的管理模块344发送调用消息到探测模块341,该调用消息用于触发该探测模块341执行探测脚本,该调用消息包括了该VM1的标识和该VM1所在的业务面标识。因此如果存储面探测虚拟机是否故障出现误判断或者失效时,再根据通过向该第一虚拟机所在的源设备发送探测报文,来探测该第一虚拟机是否正常运行在该源设备上,提高了探测该源设备上的虚拟机是否故障的可靠性,有效避免了虚拟机脑裂的发生。
可选地,该VM1的标识可以是该VM1的IP地址,也可以是该VM1的标签Lable,或者是某种标记信息。在本申请实施例中,以该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网络主要有虚拟可扩展局域网(virtual Extensible LAN,VxLAN)、通用路由封装的网络虚拟化(Network Virtualization using Generic Routing Encapsulation,NVGRE)、无状态传输隧道(Stateless Transport Tunneling,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 program interface,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 program interface,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首部后,依次添加用户协议数据报文(User Datagram Protocol,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可以是中央处理单元(Central Processing Unit,简称为“CPU”),该处理器730还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (31)

  1. 一种探测虚拟机状态的方法,其特征在于,所述方法用于在第一虚拟机的高可靠性流程被触发时,确定是否在目的设备上重建所述第一虚拟机,所述方法由目的设备执行,包括:
    获取调用消息,所述调用消息用于对所述第一虚拟机进行探测;
    获取所述第一虚拟机的标识;
    根据所述调用消息,调用探测脚本,将所述第一虚拟机的标识传递给所述探测脚本;
    运行所述探测脚本,发送探测报文,所述探测报文用于探测所述第一虚拟机在所述源设备上的状态,所述探测报文包括所述第一虚拟机的标识;
    接收所述源设备发送的反馈信息,所述反馈信息用于指示所述第一虚拟机的状态;
    根据所述反馈信息,确定是否在所述目的设备上重建所述第一虚拟机。
  2. 根据权利要求1所述的方法,其特征在于,当所述源设备的探测端口和所述目的设备的探测端口位于同一虚拟局域网时,所述探测报文为广播报文,所述探测报文包括所述第一虚拟机所在的业务平面的探测虚拟局域网VLAN标识。
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括:
    接收管理设备发送的所述第一虚拟机所在的第一业务平面的所述探测虚拟局域网VLAN标识;
    在所述第一业务平面上配置所述探测端口,并将所述探测虚拟局域网VLAN标识配给所述探测端口;
    所述运行所述探测脚本,发送探测报文,包括:
    通过所述探测端口,发送所述探测报文。
  4. 根据权利要求1所述的方法,其特征在于,当所述源设备和所述目的设备通过重叠网络overlay network进行通信时,所述探测报文为单播报文,所述探测报文包括源设备的隧道端口标识。
  5. 根据权利要求4所述的方法,其特征在于,所述方法还包括:
    根据所述第一虚拟机的标识,从管理设备获取所述源设备对应的隧道端口的标识;
    所述运行所述探测脚本,发送探测报文,包括:
    通过所述目的设备的隧道端口,发送所述探测报文。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,在所述获取调用消息之前,所述方法还包括:
    向服务器发送第一消息,所述第一消息用于请求所述第一虚拟机在所述服务器上的磁盘存储信息,用于通过对所述第一虚拟机的存储面进行检测来确定所述第一虚拟机的状态;
    在预定时间段内,没有收到所述服务器的反馈消息。
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述根据所述反馈信息,确定是否在所述目的设备上重建所述第一虚拟机,包括:
    当所述反馈信息指示所述第一虚拟机在所述源设备上的状态正常时,确定不在所述目 的设备上重建所述第一虚拟机;或
    当所述反馈信息指示所述第一虚拟机在所述源设备上的状态故障时,确定在所述目的设备上重建所述第一虚拟机。
  8. 一种探测虚拟机故障的方法,其特征在于,所述方法用于在第一虚拟机高可靠性流程触发时,确定是否在所述目的设备上重建所述第一虚拟机,所述方法由源设备执行,包括:
    接收目的设备发送的探测报文,所述探测报文用于探测所述第一虚拟机在所述源设备上的状态,所述探测报文包括所述第一虚拟机的标识;
    根据所述探测报文,查询所述第一虚拟机的状态;
    向所述目的设备发送反馈信息,所述反馈信息用于指示所述第一虚拟机在所述源设备上的状态。
  9. 根据权利要求8所述的方法,其特征在于,当所述源设备的探测端口和所述目的设备的探测端口位于同一虚拟局域网时,所述探测报文为广播报文,所述探测报文包括所述第一虚拟机所在的业务平面的探测虚拟局域网VLAN标识。
  10. 根据权利要求9所述的方法,其特征在于,所述方法还包括:
    接收管理设备发送的所述第一虚拟机所在的第一业务平面的所述探测虚拟局域网VLAN标识;
    在所述第一业务平面上配置所述探测端口,并将所述探测虚拟局域网VLAN标识配给所述探测端口;
    所述接收目的设备发送的探测报文,包括:
    通过所述探测端口,接收目的设备发送的探测报文。
  11. 一种系统,其特征在于,所述系统包括目的设备和源设备,包括:
    在第一虚拟机的高可靠性流程被触发时,所述目的设备获取调用信息,所述调用信息用于对所述第一虚拟机进行探测;
    所述目的设备获取所述第一虚拟机的标识;
    所述目的设备根据所述调用消息,调用探测脚本,将所述第一虚拟机的标识传递给所述探测脚本;
    所述目的设备运行所述探测脚本,发送探测报文,所述探测报文用于探测所述第一虚拟机在所述源设备上的状态,所述探测报文包括所述第一虚拟机的标识;
    所述源设备接收所述目的设备发送的探测报文;
    所述源设备根据所述探测报文,查询所述第一虚拟机的状态;
    所述源设备向所述目的设备发送反馈信息,所述反馈信息用于指示所述第一虚拟机在所述源设备上的状态;
    所述目的设备接收所述源设备发送的反馈信息;
    所述目的设备根据所述反馈信息,确定是否在所述目的设备上重建所述第一虚拟机。
  12. 根据权利要求11所述的系统,其特征在于,当所述源设备的探测端口和所述目的设备的探测端口位于同一虚拟局域网时,所述探测报文为广播报文,所述探测报文包括所述第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识。
  13. 根据权利要求12所述的系统,其特征在于,所述系统还包括管理设备,所述管 理设备接收所述第一业务平面的探测虚拟局域网VLAN标识,并将所述探测虚拟局域网VLAN标识发送给所述源设备和所述目的设备。
  14. 根据权利要求13所述的系统,其特征在于,
    所述目的设备接收所述探测虚拟局域网VLAN标识;
    所述目的设备在所述第一业务平面上配置所述探测端口,并将所述探测虚拟局域网VLAN标识配给所述探测端口;
    所述目的设备运行所述探测脚本,发送探测报文,包括:
    所述目的设备通过所述探测端口,发送所述探测报文。
  15. 根据权利要求13或14所述的系统,其特征在于,
    所述源设备接收管理设备发送的所述探测虚拟局域网VLAN标识;
    所述源设备在所述第一业务平面上配置所述探测端口,并将所述探测虚拟局域网VLAN标识配给所述探测端口;
    所述源设备接收所述目的设备发送的探测报文,包括:
    通过所述探测端口,接收目的设备发送的探测报文。
  16. 根据权利要求13至15中任一项所述的系统,其特征在于,所述系统还包括交换机,
    所述控制器向所述交换机发送所述第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识,
    所述交换机接收所述控制器发送所述第一虚拟机所在的第一业务平面的探测虚拟局域网VLAN标识;
    关联所述VLAN标识与重叠网络overlay network标识;
    根据关联的所述VLAN标识与重叠网络overlay network标识,将所述交换机接收的包括所述VLAN标识的报文转换为overlay形式的报文发送。
  17. 根据权利要求11所述的系统,其特征在于,当所述源设备和所述目的设备通过重叠网络overlay network进行通信时,所述探测报文为单播报文,所述探测报文包括源设备的隧道端口标识。
  18. 根据权利要求17所述的系统,其特征在于,所述系统还包括管理设备,
    所述目的设备根据所述第一虚拟机的标识,从管理设备获取所述源设备对应的隧道端口的标识;
    所述目的设备运行所述探测脚本,发送探测报文,包括:
    通过所述目的设备的隧道端口,发送所述探测报文。
  19. 根据权利要求17或18所述的系统,其特征在于,所述源设备接收所述目的设备发送的探测报文,包括:
    通过所述源设备的隧道端口,接收所述探测报文。
  20. 根据权利要求11至19中任一项所述的系统,其特征在于,在所述目的设备获取调用消息之前,还包括:
    所述目的设备向服务器发送第一消息,所述第一消息用于请求所述第一虚拟机在所述服务器上的磁盘存储信息,用于通过对所述第一虚拟机的存储面进行检测来确定所述第一虚拟机的状态;
    在预定时间段内,没有收到所述服务器的反馈消息。
  21. 根据权利要求11至20中任一项所述的系统,其特征在于,所述目的设备根据所述反馈信息,确定是否在所述目的设备上重建所述第一虚拟机,包括:
    当所述反馈信息指示所述第一虚拟机在所述源设备上的状态正常时,确定不在所述目的设备上重建所述第一虚拟机;或
    当所述反馈信息指示所述第一虚拟机在所述源设备上的状态故障时,确定在所述目的设备上重建所述第一虚拟机。
  22. 一种目的设备,其特征在于,包括:
    获取模块,用于获取调用消息,所述调用消息用于对所述第一虚拟机进行探测;
    所述获取模块还用于获取所述第一虚拟机的标识;
    调用模块,用于根据所述调用消息,调用探测脚本,将所述第一虚拟机的标识传递给所述探测脚本;
    发送模块,用于运行所述探测脚本,发送探测报文,所述探测报文用于探测所述第一虚拟机在所述源设备上的状态,所述探测报文包括所述第一虚拟机的标识;
    接收模块,用于接收所述源设备发送的反馈信息,所述反馈信息用于指示所述第一虚拟机的状态;
    确定模块,用于根据所述反馈信息,确定是否在所述目的设备上重建所述第一虚拟机。
  23. 根据权利要求22所述的目的设备,其特征在于,当所述源设备的探测端口和所述目的设备的探测端口位于同一虚拟局域网时,所述探测报文为广播报文,所述探测报文包括所述第一虚拟机所在的业务平面的探测虚拟局域网VLAN标识。
  24. 根据权利要求23所述的目的设备,其特征在于,
    所述接收模块还用于接收管理设备发送的所述第一虚拟机所在的第一业务平面的所述探测虚拟局域网VLAN标识;
    所述目的设备还包括配置模块,用于在所述第一业务平面上配置所述探测端口,并将所述探测虚拟局域网VLAN标识配给所述探测端口;
    所述发送模块具体用于:
    通过所述探测端口,发送所述探测报文。
  25. 根据权利要求22所述的目的设备,其特征在于,当所述源设备和所述目的设备通过重叠网络overlay network进行通信时,所述探测报文为单播报文,所述探测报文包括源设备的隧道端口标识。
  26. 根据权利要求25所述的目的设备,其特征在于,
    所述获取模块还用于根据所述第一虚拟机的标识,从管理设备获取所述源设备对应的隧道端口的标识;
    所述发送模块具体用于:
    通过所述目的设备的隧道端口,发送所述探测报文。
  27. 根据权利要求22至26中任一项所述的目的设备,其特征在于,所述发送模块还用于向服务器发送第一消息,所述第一消息用于请求所述第一虚拟机在所述服务器上的磁盘存储信息,用于通过对所述第一虚拟机的存储面进行检测来确定所述第一虚拟机的状态;
    所述接收模块还用于在预定时间段内,没有收到所述服务器的反馈消息。
  28. 根据权利要求22至27中任一项所述的目的设备,其特征在于,所述确定模块具体用于:
    当所述反馈信息指示所述第一虚拟机在所述源设备上的状态正常时,确定不在所述目的设备上重建所述第一虚拟机;或
    当所述反馈信息指示所述第一虚拟机在所述源设备上的状态故障时,确定在所述目的设备上重建所述第一虚拟机。
  29. 一种源设备,其特征在于,包括:
    接收模块,用于接收目的设备发送的探测报文,所述探测报文用于探测所述第一虚拟机在所述源设备上的状态,所述探测报文包括所述第一虚拟机的标识;
    查询模块,用于根据所述探测报文,查询所述第一虚拟机的状态;
    发送模块,用于向所述目的设备发送反馈信息,所述反馈信息用于指示所述第一虚拟机在所述源设备上的状态。
  30. 根据权利要求29所述的源设备,其特征在于,当所述源设备的探测端口和所述目的设备的探测端口位于同一虚拟局域网时,所述探测报文为广播报文,所述探测报文包括所述第一虚拟机所在的业务平面的探测虚拟局域网VLAN标识。
  31. 根据权利要求30所述的源设备,其特征在于,
    所述接收模块还用于接收管理设备发送的所述第一虚拟机所在的第一业务平面的所述探测虚拟局域网VLAN标识;
    所述源设备还包括配置模块,用于在所述第一业务平面上配置所述探测端口,并将所述探测虚拟局域网VLAN标识配给所述探测端口;
    所述接收模块具体用于:
    通过所述探测端口,接收目的设备发送的探测报文。
PCT/CN2018/082852 2018-04-12 2018-04-12 探测虚拟机状态的方法和设备 WO2019196062A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP18914676.4A EP3764226A4 (en) 2018-04-12 2018-04-12 VIRTUAL MACHINE STATUS DETECTION METHOD AND DEVICE
PCT/CN2018/082852 WO2019196062A1 (zh) 2018-04-12 2018-04-12 探测虚拟机状态的方法和设备
CN201880089686.2A CN111771190B (zh) 2018-04-12 2018-04-12 探测虚拟机状态的方法和设备
US17/068,325 US11777830B2 (en) 2018-04-12 2020-10-12 Virtual machine status probe method, and device

Applications Claiming Priority (1)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/068,325 Continuation US11777830B2 (en) 2018-04-12 2020-10-12 Virtual machine status probe method, and device

Publications (1)

Publication Number Publication Date
WO2019196062A1 true WO2019196062A1 (zh) 2019-10-17

Family

ID=68163690

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/082852 WO2019196062A1 (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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383688A (zh) * 2007-09-06 2009-03-11 凹凸科技(中国)有限公司 数据通信装置及保持数据通信装置高可用性的方法
WO2013171552A1 (en) * 2012-05-15 2013-11-21 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatus for detecting and handling split brain issues in a link aggregation group
CN105357038A (zh) * 2015-10-26 2016-02-24 北京百度网讯科技有限公司 监控虚拟机集群的方法和系统
CN106980528A (zh) * 2016-01-18 2017-07-25 中兴通讯股份有限公司 一种恢复虚拟机的方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904776B (zh) * 2012-10-11 2016-03-30 华为技术有限公司 一种虚拟局域网中的探测方法、装置和设备
US9397912B2 (en) * 2013-03-13 2016-07-19 Arista Networks, Inc. Method and system for active fabric management using unicast reachability monitoring
CN103365700B (zh) * 2013-06-28 2016-01-06 福建师范大学 一种面向云计算虚拟化环境的资源监测和调整系统
CN104572243B (zh) * 2013-10-25 2017-09-29 国际商业机器公司 用于共享Java虚拟机的方法和系统
CN103618627B (zh) * 2013-11-27 2017-01-04 华为技术有限公司 一种管理虚拟机的方法、装置及系统
CN106612211B (zh) 2015-10-23 2020-02-21 华为技术有限公司 VxLAN中的路径探测方法,控制器和网络设备
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
CN107733746B (zh) * 2016-08-11 2021-06-15 中兴通讯股份有限公司 一种混合云平台的组网方法及混合云平台系统
CN106452846A (zh) * 2016-09-22 2017-02-22 华为技术有限公司 故障处理方法、虚拟架构管理系统和业务管理系统
CN107526653B (zh) * 2017-07-31 2021-02-26 华为技术有限公司 一种虚拟机的管理方法和服务器
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383688A (zh) * 2007-09-06 2009-03-11 凹凸科技(中国)有限公司 数据通信装置及保持数据通信装置高可用性的方法
WO2013171552A1 (en) * 2012-05-15 2013-11-21 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatus for detecting and handling split brain issues in a link aggregation group
CN105357038A (zh) * 2015-10-26 2016-02-24 北京百度网讯科技有限公司 监控虚拟机集群的方法和系统
CN106980528A (zh) * 2016-01-18 2017-07-25 中兴通讯股份有限公司 一种恢复虚拟机的方法和装置

Also Published As

Publication number Publication date
US11777830B2 (en) 2023-10-03
CN111771190B (zh) 2024-04-09
EP3764226A4 (en) 2021-03-10
CN111771190A (zh) 2020-10-13
EP3764226A1 (en) 2021-01-13
US20210029012A1 (en) 2021-01-28

Similar Documents

Publication Publication Date Title
US11075774B2 (en) VXLAN packet processing method, device, and system
US10778532B2 (en) Overlay network movement operations
CN112702252B (zh) 一种报文处理方法、系统及相关设备
TWI744359B (zh) 一種資料傳輸的方法及網路設備
US11502865B2 (en) Multicast traffic in a virtual extensible local area network (VXLAN)
CN105612719B (zh) 使用封装头部中的元数据的高级网络虚拟化
WO2018023499A1 (zh) 网络接口卡、计算设备以及数据包处理方法
CN107426077B (zh) 用于实现物理网络和虚拟网络互通的方法和设备
US8665747B2 (en) Preventing loops on network topologies built with virtual switches and VMS
US10205657B2 (en) Packet forwarding in data center network
US11941423B2 (en) Data processing method and related device
WO2018023498A1 (zh) 网络接口卡、计算设备以及数据包处理方法
US11777830B2 (en) Virtual machine status probe method, and device
WO2017113306A1 (zh) 可扩展虚拟局域网报文发送方法、计算机设备和可读介质
WO2018137369A1 (zh) 混合云管理方法、装置和计算设备
US10536362B2 (en) Configuring traffic flow monitoring in virtualized computing environments
WO2017113300A1 (zh) 路由确定方法、网络配置方法以及相关装置
WO2014086047A1 (zh) 一种转发报文的方法、装置和数据中心网络
WO2022063170A1 (zh) 一种公有云的网络配置方法及相关设备
WO2018103043A1 (zh) 云计算系统中的报文处理方法及设备
US20150188778A1 (en) Normalized management network
US11695665B2 (en) Cross-cloud connectivity checks
CN113709016B (zh) 通信系统以及通信方法、装置、设备和存储介质
WO2019056239A1 (zh) 报文同步方法和装置
US10931523B2 (en) Configuration change monitoring in software-defined networking environments

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18914676

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018914676

Country of ref document: EP

Effective date: 20201009