CN105119993A - Virtual machine deployment method and apparatus - Google Patents

Virtual machine deployment method and apparatus Download PDF

Info

Publication number
CN105119993A
CN105119993A CN201510524417.2A CN201510524417A CN105119993A CN 105119993 A CN105119993 A CN 105119993A CN 201510524417 A CN201510524417 A CN 201510524417A CN 105119993 A CN105119993 A CN 105119993A
Authority
CN
China
Prior art keywords
server
virtual machine
communication
abnormal
manager module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510524417.2A
Other languages
Chinese (zh)
Other versions
CN105119993B (en
Inventor
余庆华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510524417.2A priority Critical patent/CN105119993B/en
Publication of CN105119993A publication Critical patent/CN105119993A/en
Priority to PCT/CN2016/094414 priority patent/WO2017032223A1/en
Application granted granted Critical
Publication of CN105119993B publication Critical patent/CN105119993B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Abstract

The invention discloses a virtual machine deployment method and an apparatus, and belongs to the field of communication. The method includes: checking an opposite terminal virtual machine having communication service with a target virtual machine, wherein the target virtual machine referring to a to-be-transferred virtual machine or a to-be-deployed virtual machine; determining a server deployed with the opposite terminal virtual machine; obtaining a target server from a preset communication matrix; and deploying the target virtual machine in the target server. The communication state between the target server and the server deployed with the opposite terminal virtual machine is the normal state, the communication state between any two servers is recorded in the communication matrix, and the communication state comprises the normal state and the abnormal state. According to the method and the apparatus, the target server of the target virtual machine is selected and deployed via the check of the communication matrix, and the communication reliability between the virtual machines is improved.

Description

Virtual machine deployment method and device
Technical field
The present invention relates to communication field, particularly a kind of virtual machine deployment method and device.
Background technology
Telecommunications network cloud refers to the telecommunication node of traditional physically based deformation equipment and applies with virtual machine (English: VirtualMachine; Be called for short: mode VM) is deployed on the server of data center, this deployment way is in the industry cycle called that network function is virtual (English: NetworkFunctionsVirtualization; Be called for short: NFV).The telecommunications network of a cloud can comprise multiple data center, and in the data at heart, between telecommunication node and telecommunication node, and the communication between the different business process of same telecommunication node inside can show as the communication between VM.
In correlation technique, data center can according to the automatic dilatation of traffic load and capacity reducing, and the Virtual Machine Manager module of data center can according to traffic load by each server of the VM flexible deployment heart in the data; The VM disposed in this server according to the operating state of each server, when exception appears in server or need to safeguard, can also migrate on other servers by the administration module of data center.Virtual Machine Manager module is when disposing and move VM, normally (English: CentralProcessingUnit according to the central processing unit of each server of data center; Be called for short: the CPU) size of resource, the destination server that the size of storage resources and the size of network interface bandwidth select suitable server to dispose as VM and move.
But, Virtual Machine Manager module dispose according to the cpu resource of each server, storage resources and network interface bandwidth selection VM and the destination server of migration time, the communication state of this destination server and other servers may be abnormality, therefore, after Virtual Machine Manager module is disposed VM and moved, the communication reliability between VM is lower.
Summary of the invention
In order to solve the problem of prior art, the invention provides a kind of virtual machine deployment method and device.Described technical scheme is as follows:
First aspect, provides a kind of virtual machine deployment method, and described method comprises:
There is the opposite end virtual machine of communication traffic in inquiry and object virtual machine, described object virtual machine is virtual machine to be migrated or waits to dispose virtual machine;
Determine to dispose the server stating opposite end virtual machine to some extent;
Destination server is obtained from the communication matrix preset, described destination server and the described communication state being deployed with the server of described opposite end virtual machine are normal condition, have recorded the communication state between any two servers in described communication matrix, described communication state comprises normal condition or abnormality;
By described object deploying virtual machine in described destination server.
In conjunction with first aspect, can in implementation in the first of first aspect, described object virtual machine is virtual machine to be migrated, and there is the opposite end virtual machine of communication traffic in described inquiry and object virtual machine before, described method also comprises:
The described abnormal virtual machine of instruction that reception abnormal virtual machine sends and other virtual machine communication states are the communication abnormality information of abnormality;
According to described communication abnormality information, determine to dispose the abnormal server stating abnormal virtual machine to some extent;
The number of the abnormal server in the server of statistics Virtual Machine Manager module management;
If the number of the abnormal server in the server of described Virtual Machine Manager module management equals 1, described abnormal virtual machine is defined as described object virtual machine;
If the number of the abnormal server in the server of described Virtual Machine Manager module management is greater than 1, inquire about described communication matrix, the communication state adding up each described abnormal server and other abnormal server is the number of times of abnormality;
Be that the server that the number of times of abnormality is maximum is defined as destination server by communication state;
The abnormal virtual machine of disposing in described destination server is defined as described object virtual machine.
In conjunction with first aspect, can in implementation at the second of first aspect, there is the opposite end virtual machine of communication traffic in described inquiry and object virtual machine before, described method also comprises:
Receive the communication quality information that first server sends, described communication quality information comprises the communication quality of the mark of first server, the mark of second server and described first server and described second server, and described first server and described second server are any two servers in the server of Virtual Machine Manager module management;
Judge that whether described communication quality is higher than predetermined quality threshold;
If described communication quality is higher than predetermined quality threshold, the communication state recording described first server and described second server in described communication matrix is normal condition;
If described communication quality is not higher than predetermined quality threshold, the communication state recording described first server and described second server in described communication matrix is abnormality.
The second in conjunction with first aspect can implementation, can in implementation at the third of first aspect, described communication quality information is that the virtual machine disposed in the virtual machine and described second server disposed in described first server sends when performing communication traffic;
Or described communication quality information is that described first server sends detection packet to described second server, and after receiving the probe response packets of described second server transmission, generate according to described detection packet and described probe response packets.
In conjunction with first aspect, can in implementation at the 4th kind of first aspect, described by described object deploying virtual machine in described destination server, comprising:
Determine the number of described destination server;
If the number of described destination server equals 1, by described object deploying virtual machine in described destination server;
If the number of described destination server is greater than 1, from the set of described destination server, select deployment server according to preset rules;
By described object deploying virtual machine in described deployment server.
Can implementation in conjunction with the 4th kind of first aspect, can in implementation at the 5th kind of first aspect, describedly from the set of described destination server, select deployment server according to preset rules, comprising:
From the server of described Virtual Machine Manager module management, screening meets the alternate servers set of the standard of parameter preset, and described parameter preset comprises at least one in cpu resource, storage resources and network interface bandwidth;
Screen server identical with the set of described destination server in described alternate servers set and obtain alternative deployment server set;
From described alternative deployment server set, deployment server is selected according to compatibility algorithm.
Second aspect, provide a kind of deploying virtual machine device, described device comprises:
Query unit, for inquiring about the opposite end virtual machine that there is communication traffic with object virtual machine, described object virtual machine is virtual machine to be migrated or waits to dispose virtual machine;
First determining unit, for determining to dispose the server stating opposite end virtual machine to some extent;
Acquiring unit, for obtaining destination server from the communication matrix preset, described destination server and the described communication state being deployed with the server of described opposite end virtual machine are normal condition, have recorded the communication state between any two servers in described communication matrix, described communication state comprises normal condition or abnormality;
Deployment unit, for by described object deploying virtual machine in described destination server.
In conjunction with second aspect, can in implementation in the first of second aspect, described object virtual machine is virtual machine to be migrated, and described device also comprises:
First receiving element, for receiving the described abnormal virtual machine of instruction that abnormal virtual machine sends and other virtual machine communication states are the communication abnormality information of abnormality;
Second determining unit, for according to described communication abnormality information, determines to dispose the abnormal server stating abnormal virtual machine to some extent;
First statistic unit, for adding up the number of the abnormal server in the server of Virtual Machine Manager module management;
3rd determining unit, when the number for the abnormal server in the server of described Virtual Machine Manager module management equals 1, is defined as described object virtual machine by described abnormal virtual machine;
Second statistic unit, when number for the abnormal server in the server of described Virtual Machine Manager module management is greater than 1, inquire about described communication matrix, the communication state adding up each described abnormal server and other abnormal server is the number of times of abnormality;
4th determining unit, the server that the number of times for by communication state being abnormality is maximum is defined as destination server;
5th determining unit, for being defined as described object virtual machine by the abnormal virtual machine of disposing in described destination server.
In conjunction with second aspect, can in implementation at the second of second aspect, described device also comprises:
Second receiving element, for receiving the communication quality information that first server sends, described communication quality information comprises the communication quality of the mark of first server, the mark of second server and described first server and described second server, and described first server and described second server are any two servers in the server of Virtual Machine Manager module management;
Judging unit, for judging that whether described communication quality is higher than predetermined quality threshold;
First record cell, for when described communication quality is higher than predetermined quality threshold, the communication state recording described first server and described second server in described communication matrix is normal condition;
Second record cell, for when described communication quality is not higher than predetermined quality threshold, the communication state recording described first server and described second server in described communication matrix is abnormality.
The second in conjunction with second aspect can implementation, can in implementation at the third of second aspect, described communication quality information is that the virtual machine disposed in the virtual machine and described second server disposed in described first server sends when performing communication traffic;
Or described communication quality information is that described first server sends detection packet to described second server, and after receiving the probe response packets of described second server transmission, generate according to described detection packet and described probe response packets.
In conjunction with second aspect, can in implementation at the 4th kind of second aspect, described deployment unit, comprising:
Determine subelement, for determining the number of described destination server;
First disposes subelement, for when the number of described destination server equals 1, by described object deploying virtual machine in described destination server;
Chooser unit, for when the number of described destination server is greater than 1, selects deployment server according to preset rules from the set of described destination server;
Second dispose subelement, for by described object deploying virtual machine in described deployment server.
Can implementation in conjunction with the 4th kind of second aspect, can in implementation at the 5th kind of second aspect, described second disposes subelement, also for:
From the server of described Virtual Machine Manager module management, screening meets the alternate servers set of the standard of parameter preset, and described parameter preset comprises at least one in cpu resource, storage resources and network interface bandwidth;
Screen server identical with the set of described destination server in described alternate servers set and obtain alternative deployment server set;
From described alternative deployment server set, deployment server is selected according to compatibility algorithm.
The beneficial effect that the technical scheme that the embodiment of the present invention provides is brought is:
A kind of virtual machine deployment method that the embodiment of the present invention provides and device, Virtual Machine Manager module is when disposing object virtual machine, the opposite end virtual machine that there is communication traffic with object virtual machine can be inquired about, determine the server being deployed with this opposite end virtual machine, and can according to the communication matrix preset, obtain destination server, this destination server and this communication state being deployed with the server of this opposite end virtual machine are normal condition, therefore, after this object deploying virtual machine to this destination server, can ensure that the communication traffic between this object virtual machine and opposite end virtual machine can normally perform, improve the reliability of communication between virtual machine.
Accompanying drawing explanation
In order to be illustrated more clearly in the technical scheme in the embodiment of the present invention, below the accompanying drawing used required in describing embodiment is briefly described, apparently, accompanying drawing in the following describes is only some embodiments of the present invention, for those of ordinary skill in the art, under the prerequisite not paying creative work, other accompanying drawing can also be obtained according to these accompanying drawings.
Fig. 1 is a kind of cloud network architecture diagram that the embodiment of the present invention provides;
Fig. 2 is a kind of deploying virtual machine apparatus structure schematic diagram that the embodiment of the present invention provides;
Fig. 3 is the flow chart of a kind of virtual machine deployment method that the embodiment of the present invention provides;
Fig. 4-1 is the flow chart of the another kind of virtual machine deployment method that the embodiment of the present invention provides;
Fig. 4-2 is the network topology structure figure of a kind of data center that the embodiment of the present invention provides;
Fig. 4-3 is a kind of method flow diagrams determining object virtual machine from abnormal virtual machine that the embodiment of the present invention provides;
Fig. 4-4 is a kind of method flow diagrams selecting deployment server from the set of destination server that the embodiment of the present invention provides;
Fig. 5-1 is the another kind of deploying virtual machine apparatus structure schematic diagram that the embodiment of the present invention provides;
Fig. 5-2 is another deploying virtual machine apparatus structure schematic diagram that the embodiment of the present invention provides;
Fig. 5-3 is the structural representations of a kind of deployment unit that the embodiment of the present invention provides.
Embodiment
For making the object, technical solutions and advantages of the present invention clearly, below in conjunction with accompanying drawing, embodiment of the present invention is described further in detail.
Fig. 1 is a kind of cloud network architecture diagram that the embodiment of the present invention provides, as shown in Figure 1, data center's internal network of this cloud telecommunications network comprises multiple server, multiple virtual machine can be disposed on a different server, such as virtual machine VM1, VM2, VM3 and VM4 dispose on a different server.By the core layer switch of data center, convergence-level switch (English: EndOfRow between the server of data center; EOR) and access-layer switch be called for short:, change planes also referred to as frame topcross (English: TopOfRack; TOR) etc. be called for short: the switch of different levels is interconnected provides communication channel for the communication between virtual machine.Double-head arrow solid line in Fig. 1 represents the communication between different VM.According to the feature of data center's cloud computing, Virtual Machine Manager module can be disposed arbitrarily the VM of data center and move, also the difference of the communication traffic between VM according to VM deployed position is just meaned, flow is likely through TOR, EOR and core switch (communication such as between virtual machine VM1 and virtual machine VM4), also may only through TOR and EOR, or only through TOR, or flow is only in server internal (communication such as between virtual machine VM2 and VM3).
Embodiments provide a kind of deploying virtual machine device, as shown in Figure 2, this deploying virtual machine device comprises: processor 201, memory 202 and bus 203.This bus 203 is for connection handling device 201 and memory 202, and processor 201 is for the program 2021 of storage in execute store 202;
Processor 201, for inquiring about the opposite end virtual machine that there is communication traffic with object virtual machine, this object virtual machine is virtual machine to be migrated or waits to dispose virtual machine.
Processor 201, also for determining the server being deployed with this opposite end virtual machine.
Processor 201, also for obtaining destination server from the communication matrix preset, this destination server and this communication state being deployed with the server of this opposite end virtual machine are normal condition, have recorded the communication state between any two servers in this communication matrix, this communication state comprises normal condition or abnormality.
Processor 201, also for by this object deploying virtual machine in this destination server.
Optionally, this object virtual machine is virtual machine to be migrated, this processor 201, also for:
This abnormal virtual machine of instruction that reception abnormal virtual machine sends and other virtual machine communication states are the communication abnormality information of abnormality;
According to this communication abnormality information, determine the abnormal server being deployed with this abnormal virtual machine;
The number of the abnormal server in the server of statistics Virtual Machine Manager module management;
When the number of the abnormal server in the server of this Virtual Machine Manager module management equals 1, this abnormal virtual machine is defined as this object virtual machine;
When the number of the abnormal server in the server of this Virtual Machine Manager module management is greater than 1, inquire about this communication matrix, the communication state adding up this abnormal server each and other abnormal server is the number of times of abnormality;
Be that the server that the number of times of abnormality is maximum is defined as destination server by communication state;
The abnormal virtual machine of disposing in this destination server is defined as this object virtual machine.
Optionally, this processor 201, also for:
Receive the communication quality information that first server sends, this communication quality information comprises the communication quality of the mark of first server, the mark of second server and this first server and this second server, and this first server and this second server are any two servers in the server of Virtual Machine Manager module management;
Judge that whether this communication quality is higher than predetermined quality threshold;
When this communication quality is higher than predetermined quality threshold, the communication state recording this first server and this second server in this communication matrix is normal condition;
When this communication quality is not higher than predetermined quality threshold, the communication state recording this first server and this second server in this communication matrix is abnormality.
Optionally, this communication quality information is that the virtual machine disposed in the virtual machine and this second server disposed in this first server sends when performing communication traffic;
Or this communication quality information is that this first server sends detection packet to this second server, and after receiving the probe response packets of this second server transmission, generate according to this detection packet and this probe response packets.
Optionally, this processor 201, also for:
Determine the number of this destination server;
When the number of this destination server equals 1, by this object deploying virtual machine in this destination server;
When the number of this destination server is greater than 1, from the set of this destination server, select deployment server according to preset rules;
By this object deploying virtual machine in this deployment server.
Optionally, this processor 201, also for:
From the server of this Virtual Machine Manager module management, screening meets the alternate servers set of the standard of parameter preset, and this parameter preset comprises at least one in cpu resource, storage resources and network interface bandwidth;
Screen server identical with the set of this destination server in this alternate servers set and obtain alternative deployment server set;
From this alternative deployment server set, deployment server is selected according to compatibility algorithm.
In sum, a kind of deploying virtual machine device that the embodiment of the present invention provides, Virtual Machine Manager module is when disposing object virtual machine, the opposite end virtual machine that there is communication traffic with object virtual machine can be inquired about, determine the server being deployed with this opposite end virtual machine, and can according to the communication matrix preset, obtain destination server, this destination server and this communication state being deployed with the server of this opposite end virtual machine are normal condition, therefore, after this object deploying virtual machine to this destination server, can ensure that the communication traffic between this object virtual machine and opposite end virtual machine can normally perform, improve the reliability of communication between virtual machine.
Embodiments provide a kind of virtual machine deployment method, the method can be applied in the Virtual Machine Manager module shown in Fig. 1, and see Fig. 3, the method comprises:
There is the opposite end virtual machine of communication traffic in step 301, inquiry and object virtual machine, this object virtual machine is virtual machine to be migrated or waits to dispose virtual machine.
Step 302, determine the server being deployed with this opposite end virtual machine.
Step 303, from preset communication matrix obtain destination server, this destination server and this communication state being deployed with the server of this opposite end virtual machine are normal condition, have recorded the communication state between any two servers in this communication matrix, this communication state comprises normal condition or abnormality.
Step 304, by this object deploying virtual machine in this destination server.
In sum, a kind of virtual machine deployment method that the embodiment of the present invention provides, Virtual Machine Manager module is when disposing object virtual machine, the opposite end virtual machine that there is communication traffic with object virtual machine can be inquired about, determine the server being deployed with this opposite end virtual machine, and can according to the communication matrix preset, obtain destination server, this destination server and this communication state being deployed with the server of this opposite end virtual machine are normal condition, therefore, after this object deploying virtual machine to this destination server, can ensure that the communication traffic between this object virtual machine and opposite end virtual machine can normally perform, improve the reliability of communication between virtual machine.
Optionally, this object virtual machine is virtual machine to be migrated, and there is the opposite end virtual machine of communication traffic in this inquiry and object virtual machine before, the method also comprises:
This abnormal virtual machine of instruction that reception abnormal virtual machine sends and other virtual machine communication states are the communication abnormality information of abnormality;
According to this communication abnormality information, determine the abnormal server being deployed with this abnormal virtual machine;
The number of the abnormal server in the server of statistics Virtual Machine Manager module management;
If the number of the abnormal server in the server of this Virtual Machine Manager module management equals 1, this abnormal virtual machine is defined as this object virtual machine;
If the number of the abnormal server in the server of this Virtual Machine Manager module management is greater than 1, inquire about this communication matrix, the communication state adding up this abnormal server each and other abnormal server is the number of times of abnormality;
Be that the server that the number of times of abnormality is maximum is defined as destination server by communication state;
The abnormal virtual machine of disposing in this destination server is defined as this object virtual machine.
Optionally, before inquiry exists the opposite end virtual machine of communication traffic with object virtual machine, the method also comprises:
Receive the communication quality information that first server sends, this communication quality information comprises the communication quality of the mark of first server, the mark of second server and this first server and this second server, and this first server and this second server are any two servers in the server of Virtual Machine Manager module management;
Judge that whether this communication quality is higher than predetermined quality threshold;
If this communication quality is higher than predetermined quality threshold, the communication state recording this first server and this second server in this communication matrix is normal condition;
If this communication quality is not higher than predetermined quality threshold, the communication state recording this first server and this second server in this communication matrix is abnormality.
Optionally, this communication quality information is that the virtual machine disposed in the virtual machine and this second server disposed in this first server sends when performing communication traffic;
Or this communication quality information is that this first server sends detection packet to this second server, and after receiving the probe response packets of this second server transmission, generate according to this detection packet and this probe response packets.
Optionally, by this object deploying virtual machine in this destination server, comprising:
Determine the number of this destination server;
If the number of this destination server equals 1, by this object deploying virtual machine in this destination server;
If the number of this destination server is greater than 1, from the set of this destination server, select deployment server according to preset rules;
By this object deploying virtual machine in this deployment server.
Optionally, from the set of this destination server, select deployment server according to preset rules, comprising:
From the server of this Virtual Machine Manager module management, screening meets the alternate servers set of the standard of parameter preset, and this parameter preset comprises at least one in cpu resource, storage resources and network interface bandwidth;
Screen server identical with the set of this destination server in this alternate servers set and obtain alternative deployment server set;
From this alternative deployment server set, deployment server is selected according to compatibility algorithm.
In sum, a kind of virtual machine deployment method that the embodiment of the present invention provides, Virtual Machine Manager module is when disposing object virtual machine, the opposite end virtual machine that there is communication traffic with object virtual machine can be inquired about, determine the server being deployed with this opposite end virtual machine, and can according to the communication matrix preset, obtain destination server, this destination server and this communication state being deployed with the server of this opposite end virtual machine are normal condition, therefore, after this object deploying virtual machine to this destination server, can ensure that the communication traffic between this object virtual machine and opposite end virtual machine can normally perform, improve the reliability of communication between virtual machine.
Fig. 4-1 is the another kind of virtual machine deployment method flow chart that the embodiment of the present invention provides, and the method can be applied in the Virtual Machine Manager module shown in Fig. 1, and as shown in Fig. 4-1, the method comprises:
The communication quality information that step 401, reception first server send.Perform step 402.
This communication quality information comprises the communication quality of the mark of first server, the mark of second server and this first server and this second server, and this first server and this second server are any two servers in the server of Virtual Machine Manager module management.
In embodiments of the present invention, the mark of this first server can be the media interviews control (English: MediaAccessControl of this first server; Being called for short: MAC) address, also can be that the Internet protocol of this first server is (English: InternetProtocol; Be called for short: IP) address.This communication quality can comprise time delay, the parameter such as shake and packet loss when this first server and second server send packet.
On the one hand, this communication quality information can be that the virtual machine disposed in the virtual machine and this second server disposed in this first server sends when performing communication traffic.In embodiments of the present invention, multiple virtual machine can be deployed with in each server of Virtual Machine Manager module management, each virtual machine in the plurality of virtual machine can when the execution communication traffic with opposite end virtual machine, detect the communication quality with opposite end virtual machine, and this communication quality is sent to Virtual Machine Manager module.Example, suppose to there is communication traffic between the virtual machine VM1 that is deployed in first server A and the virtual machine VM2 be deployed in second server B, and the MAC Address of this first server A and second server B is respectively: 12-3e-d4-55-c6-f7,12-3e-d4-55-c6-f8.Then VM1 can when performing communication traffic with VM2, detect the communication quality between VM1 and VM2, if VM1 is to the time delay of VM2 transmission packet, shake and packet loss etc., suppose that the time delay that VM1 sends packet to VM2 is 30 milliseconds (ms), be dithered as 3ms, packet loss is 0.005, then VM1 can by this communication quality: time delay: 30ms, shake: 3ms, packet loss: 0.005, and be deployed with the mark of first server A of VM1: 12-3e-d4-55-c6-f7 and be deployed with the mark of second server B of VM2: 12-3e-d4-55-c6-f8 is sent to Virtual Machine Manager module.
On the other hand, this communication quality information can be that this first server sends detection packet to this second server, and after receiving the probe response packets of this second server transmission, generates according to this detection packet and this probe response packets.In embodiments of the present invention, communication detection module can also be provided with in each server of this Virtual Machine Manager module management, communication detection module in each server can send detection packet to the communication detection module in other servers, and after receiving the transmission of the communication detecting module in other servers probe response packets, generate communication quality information.Example, suppose that the communication detection module B1 that the communication detection modules A 1 arranged in first server A is arranged in second server B have sent detection packet, and according to receiving the probe response packets of B1 transmission, the time delay getting the detection packet that communication detection modules A 1 sends to communication detection module B1 is 30ms, be dithered as 3ms, packet loss is 0.005, then the communication quality information that first server A generates can comprise: the mark of first server A: 12-3e-d4-55-c6-f7; The mark of second server B: 12-3e-d4-55-c6-f8; Communication quality: time delay: 30ms, shake: 3ms, packet loss: 0.005.
It should be noted that, in actual applications, this Virtual Machine Manager module can be that virtual network function administration module is (English: VirtualNetworkFeatureManager; Being called for short: VNFM), also can be that virtual machine manager is (English: VMManager) etc., the embodiment of the present invention does not limit.
Step 402, judge that whether communication quality is higher than predetermined quality threshold.
If this communication quality is higher than predetermined quality threshold, perform step 403; If this communication quality is not higher than predetermined quality threshold, perform step 404.
Step 403, the communication state recording this first server and this second server in communication matrix are normal condition.Perform step 405.
In embodiments of the present invention, this communication matrix for record Virtual Machine Manager module management server in communication state between any two servers.Predetermined quality threshold can be stored in this Virtual Machine Manager module, when the communication quality in the communication quality information that first server sends is higher than this predetermined quality threshold, the communication state that Virtual Machine Manager module can record this first server and this second server in communication matrix is normal condition.Example, suppose that this predetermined quality threshold is: time delay: 50ms, shake: 5ms, packet loss: 0.01, and when first server A send with the time delay in the communication quality of second server B, shake and packet loss less, Virtual Machine Manager module determines that the communication quality of this first server A and second server B is higher, namely the communication quality sent as first server A is: time delay: 30ms, shake: 3ms, packet loss: when 0.005, time delay due in this communication quality: 30ms is less than the time delay in quality threshold: 50ms, shake in communication quality: 3ms is less than the shake in quality threshold: 5ms, packet loss in communication quality: 0.005 is less than the packet loss 0.01 in quality threshold, then Virtual Machine Manager module can determine that this communication quality is higher than this predetermined quality threshold, and the communication state recording this first server A and this second server B in communication matrix is normal condition.
Step 404, the communication state recording this first server and this second server in communication matrix are abnormality.Perform step 405.
When the communication quality in the communication quality information that first server sends is not higher than this predetermined quality threshold, the communication state that Virtual Machine Manager module can record this first server and this second server in communication matrix is abnormality.Example, suppose that this predetermined quality threshold is: time delay: 50ms, shake: 5ms, packet loss: 0.01, the communication quality sent as first server A is: time delay: 60ms, shake: 7ms, packet loss: when 0.015, time delay due in this communication quality: 60ms is greater than the time delay in quality threshold: 50ms, shake in communication quality: 7ms is greater than the shake in quality threshold: 5ms, packet loss in communication quality: 0.015 is greater than the packet loss 0.01 in quality threshold, then Virtual Machine Manager module can determine this communication quality not higher than this predetermined quality threshold, and the communication state recording this first server A and this second server B in communication matrix is abnormality.
In embodiments of the present invention, the server of the Virtual Machine Manager module management at tentation data center comprises server A-H, the network topology structure figure of the data center at this server A-H place can be as shown in the Fig. 4-2, in the network topology structure figure shown in Fig. 4-2, comprise core layer switch 01, convergence-level switch 02 and access-layer switch 03, the interconnected of switch of these different levels can set up multiple communication channel, can meet the communication between any two servers in server A-H.Suppose in the network topology structure shown in Fig. 4-2, switch X breaks down, the communication traffic of all this switches of process is caused all to be affected, now Virtual Machine Manager module is according to the communication quality information of the server A-H transmission received, the communication matrix generated can be as shown in table 1, communication state between any two servers in the server A-H of Virtual Machine Manager module management has been shown in table 1, wherein √ represents that between two servers, communication state is normal condition, × represent that the communication state between two servers is abnormality.Example, as shown in table 1, the communication state of server A and server B is normal condition, and the communication state of server A and server C-H is abnormality; The communication state of server H and server A-D is abnormality, and the communication state of server H and server E-G is normal condition.
Table 1
A B C D E F G H
A × × × × × ×
B × × × × × ×
C × × × × × ×
D × × × × × ×
E × × × ×
F × × × ×
G × × × ×
H × × × ×
It should be noted that, in actual applications, due to multiple virtual machine can be deployed with in a server, all communication traffic is there is between the multiple virtual machines disposed in two servers, and when the plurality of virtual machine all have sent the communication quality information between the virtual machine of opposite end to Virtual Machine Manager module, as long as then Virtual Machine Manager module judge that arbitrary virtual machine sends with the communication quality of virtual machine disposed in the server of opposite end higher than quality threshold time, just can determine that the communication state between these two servers is normal condition.Example, suppose that the virtual machine disposed in server A comprises VM1 and VM3, the virtual machine disposed in server B comprises VM2 and VM4, wherein there is communication traffic between VM1 and VM2, communication traffic is there is between VM3 and VM4, and VM1 have sent the communication quality information S1 with VM2 to Virtual Machine Manager module, VM3 have sent the communication quality information S2 with VM4 to Virtual Machine Manager module, then the server identification that S1 and S2 comprises is: the mark of server A and the mark of server B.If Virtual Machine Manager module judges that communication quality that communication quality information S1 comprises is higher than quality threshold, but the communication quality that communication quality information S2 comprises is not higher than quality threshold, then Virtual Machine Manager module can determine that the communication state between server A and server B is normal condition, as long as namely there are any two virtual machines can normal communication in server A and server B, can determine that the communication link between these two servers is normal condition, and for two virtual machine VM3 and VM4 of communication quality lower than quality threshold, generally Virtual Machine Manager module determines that communication failure has appearred in these two virtual machines self.
Also it should be noted that, the communication quality information that Virtual Machine Manager module can send according to the server received, real-time renewal and maintenance are carried out to communication quality matrix, to improve the reliability of this communication matrix, and then ensure that the virtual machine carrying out disposing and moving according to this communication matrix can carry out normal communication with the opposite end virtual machine that there is communication traffic.
There is the opposite end virtual machine of communication traffic in step 405, inquiry and object virtual machine.Perform step 406.
This object virtual machine is virtual machine to be migrated or waits to dispose virtual machine.In embodiments of the present invention, when data center determines to need dilatation according to traffic load, can dispose new virtual machine in the server of Virtual Machine Manager module management, this new virtual machine is to be waited to dispose virtual machine; Under certain server of data center occurs that exception, data center network fault or certain server need the situations such as active maintenance, need on the virtual machine (vm) migration occurring disposing in abnormal server to other server, the virtual machine disposed in this abnormal server is virtual machine to be migrated.When after Virtual Machine Manager module determination object virtual machine, the opposite end virtual machine that there is communication traffic with this object virtual machine can be inquired about in a database.Example, hypothesis goal virtual machine disposes virtual machine VM7 for waiting, then Virtual Machine Manager module polls to treat to dispose with this opposite end virtual machine that virtual machine VM7 exists communication traffic can be VM8 and VM9.
It should be noted that, when certain switching node of data center breaks down, the communication between multiple VM of this switching node can be caused all to receive impact, now Virtual Machine Manager module needs affected abnormal virtual machine to move in other servers, in abnormal virtual machine transition process, excessive for avoiding data center's impact, abnormal virtual machine to be migrated to be reduced as far as possible, therefore, in Virtual Machine Manager module before inquiry exists the opposite end virtual machine of communication traffic with object virtual machine, also need to determine object virtual machine from abnormal virtual machine, namely abnormal virtual machine to be migrated.Fig. 4-3 is a kind of method flow diagrams determining object virtual machine from abnormal virtual machine that the embodiment of the present invention provides, and as shown in Fig. 4-3, the method comprises:
Step 4051, this abnormal virtual machine of instruction receiving abnormal virtual machine transmission and other virtual machine communication states are the communication abnormality information of abnormality.Perform step 4052.
In embodiments of the present invention, when the communication state that virtual machine detects between other virtual machines is abnormality, communication abnormality information can be sent to Virtual Machine Manager module.Example, when supposing that the communication state that virtual machine VM1 detects between virtual machine VM2 is abnormality, VM1 can send communication abnormality information to Virtual Machine Manager module.
Step 4052, according to this communication abnormality information, determine the abnormal server being deployed with this abnormal virtual machine.Perform step 4053.
Example, Virtual Machine Manager module according to the communication abnormality information received, can determine that the abnormal server being deployed with this abnormal virtual machine VM1 is: server A.
The number of the abnormal server in the server of step 4053, statistics Virtual Machine Manager module management.
If the number of the abnormal server in the server of this Virtual Machine Manager module management equals 1, perform step 4054; If the number of the abnormal server in the server of this Virtual Machine Manager module management is greater than 1, perform step 4055.Example, Virtual Machine Manager module is determining that the abnormal server being deployed with abnormal virtual machine VM1 is: after server A, the number can adding up the abnormal server in the server of this Virtual Machine Manager module management is 1, and performs step 4054.
Step 4054, this abnormal virtual machine is defined as this object virtual machine.
If the number of the abnormal server in the server of this Virtual Machine Manager module management equals 1, then this abnormal virtual machine is defined as this object virtual machine.Example, suppose that the abnormal server that Virtual Machine Manager module is determined is: server A, then because the number of this abnormal server is 1, then abnormal virtual machine VM1 can be defined as object virtual machine by Virtual Machine Manager module.
Step 4055, inquiry communication matrix, the communication state adding up each abnormal server and other abnormal server is the number of times of abnormality.Perform step 4056.
If the number of the abnormal server in the server of this Virtual Machine Manager module management is greater than 1, then Virtual Machine Manager module can inquire about communication matrix, and the communication state adding up each abnormal server and other abnormal server is the number of times of abnormality.Example, suppose virtual machine VM1, VM2 and VM5 have sent communication abnormality information to Virtual Machine Manager module, Virtual Machine Manager module determines that the abnormal server being deployed with abnormal virtual machine VM1 is: server A, the abnormal server being deployed with abnormal virtual machine VM2 is: server B, the abnormal server being deployed with abnormal virtual machine VM5 is: server C, then because the number of this abnormal server is 3, be greater than 1, therefore Virtual Machine Manager module can inquire about communication matrix, the communication state adding up abnormal server A-C and other abnormal server is respectively the number of times of abnormality.As can be seen from the communication matrix shown in table 1, the communication state of abnormal server A and abnormal server B is normal condition, be abnormality with the communication state of abnormal server C, then Virtual Machine Manager module can determine that the communication state of abnormal server A and other abnormal server B and C be the number of times of abnormality is 1; In like manner, it be the number of times of abnormality is 1 that Virtual Machine Manager module can also add up the communication state obtaining abnormal server B and other abnormal server, and the communication state of abnormal server C and other abnormal server is the number of times of abnormality is 2.
Step 4056, be that the server that the number of times of abnormality is maximum is defined as destination server by communication state.Perform step 4057.
Example, due in abnormal server A-C, the communication state of abnormal server C and other abnormal server is the number of times of abnormality is 2, and communication state is that the number of times of abnormality is maximum, then this abnormal server C can be defined as destination server by Virtual Machine Manager module.
Step 4057, the abnormal virtual machine of disposing in this destination server is defined as this object virtual machine.
In embodiments of the present invention, if be also deployed with other virtual machines in this destination server, but other virtual machines do not send anomalous communication information to Virtual Machine Manager module, namely these other virtual machines are not abnormal virtual machine, then these other virtual machines can not be also defined as object virtual machine by Virtual Machine Manager module.Example, the abnormal virtual machine VM5 disposed in destination server C can be defined as object virtual machine by Virtual Machine Manager module, i.e. virtual machine to be migrated.If also deploy virtual machine VM6 in destination server C, but VM6 normally can perform communication traffic with the opposite end virtual machine that there is communication traffic, then VM6 need not be defined as virtual machine to be migrated by Virtual Machine Manager module.
Step 406, determine the server being deployed with this opposite end virtual machine.Perform step 407.
The virtual machine disposed in each server can be recorded in the database of Virtual Machine Manager module, therefore after Virtual Machine Manager module determines the opposite end virtual machine that there is communication traffic with object virtual machine, the virtual machine disposed in each server can be inquired about, determine the server being deployed with opposite end virtual machine.Example, suppose Virtual Machine Manager module polls to be VM8 and VM9 with the opposite end virtual machine waiting to dispose virtual machine VM7 and exist communication traffic, then Virtual Machine Manager module can determine that the server being deployed with virtual machine VM8 is server G, and the server being deployed with virtual machine VM9 is server H.
Step 407, from preset communication matrix obtain destination server, this destination server and this communication state being deployed with the server of this opposite end virtual machine are normal condition.Perform step 408.
In embodiments of the present invention, have recorded the communication state between any two servers in this communication matrix, this communication state comprises normal condition or abnormality.If the server being deployed with opposite end virtual machine comprises multiple server, then the communication state between this destination server and the plurality of server should be normal condition.Example, for the server G and the server H that are deployed with virtual machine VM8 and VM9, known by the communication matrix shown in question blank 1, the server being normal condition with the communication state of this server G and server H comprises: server E, server F, server G and server H, then server E-H can be defined as destination server by Virtual Machine Manager module.If the communication state that Virtual Machine Manager module does not get the server being deployed with opposite end virtual machine with this from the communication matrix preset is the destination server of normal condition, then can according to the size of the cpu resource of managed each server, the destination server that the size of storage resources and the size of network interface bandwidth select suitable server to dispose as VM and move.
It should be noted that, if this object virtual machine is virtual machine to be migrated, after Virtual Machine Manager module obtains destination server from the communication matrix preset, also need from this destination server, the source server being deployed with this virtual machine to be migrated to be deleted, and using the server except this source server as object service.Example, suppose that server E breaks down to need to safeguard, Virtual Machine Manager module needs the virtual machine VM0 disposed in this server E to migrate to other servers, the virtual machine that there is communication traffic with this virtual machine VM0 is: virtual machine VM8 and VM9, the server being wherein deployed with virtual machine VM8 is server G, the server being deployed with VM9 is server H, known by the communication matrix shown in question blank 1, the server being normal condition with the communication state of server G and server H comprises: server E, server F, server G and server H, then server E-H can be defined as destination server by Virtual Machine Manager module, because the server E in destination server is for being deployed with virtual machine to be migrated: the source server of VM0, therefore Virtual Machine Manager module need from destination server by this source server: server E deletes, now, destination server after renewal is: server F, server G and server H.
Step 408, add up the number of this destination server.
If the number of this destination server equals 1, perform step 409; If the number of this destination server is greater than 1, perform step 410; If the number of this destination server is less than 1, then Virtual Machine Manager module can determine that the communication state not getting the server being deployed with opposite end virtual machine with this from the communication matrix preset is the destination server of normal condition, then can according to the size of the cpu resource of managed each server, the destination server that the size of storage resources and the size of network interface bandwidth select suitable server to dispose as VM and move.Example, suppose that the destination server that Virtual Machine Manager module obtains is: server E, server F, server G and server H, then Virtual Machine Manager module can add up the number obtaining this destination server is 4, is greater than 1, therefore performs step 410.
Step 409, by this object deploying virtual machine in this destination server.
If the number of this destination server equals 1, then Virtual Machine Manager module can directly by this object deploying virtual machine in this destination server.
Step 410, from the set of this destination server, select deployment server according to preset rules.Perform step 411.
If the number of this destination server is greater than 1, then Virtual Machine Manager module can select deployment server according to preset rules from the set of this destination server.Example, Virtual Machine Manager module can from the set of destination server, { server E, server F, server G, select deployment server in server H} according to preset rules.
Fig. 4-4 is a kind of method flow diagrams selecting deployment server from the set of destination server that the embodiment of the present invention provides, and as shown in Fig. 4-4, the method comprises:
Step 4101, from the server of Virtual Machine Manager module management screening meet the alternate servers set of the standard of parameter preset.
This parameter preset comprises at least one in cpu resource, storage resources and network interface bandwidth.In embodiments of the present invention, Virtual Machine Manager module can according to parameters such as the CUP of object virtual machine and internal memories, and in the server of Virtual Machine Manager module management, screening meets the alternate servers set of the standard of parameter preset.Example, hypothesis goal virtual machine disposes virtual machine VM7 for waiting, parameter preset is cpu resource, storage resources and network interface bandwidth, Virtual Machine Manager module according to the standard of the parameter preset that the CPU of virtual machine VM7 and internal memory set is: the dominant frequency of CPU is more than 4 GHzs (GHz), storage resources is more than 8 GB (GB), network interface bandwidth is more than 10 MBPSs (Mbps), the alternate servers set meeting the standard of above-mentioned parameter preset that then Virtual Machine Manager module is screened from the server of this Virtual Machine Manager module management can be { server A, server E, server F, server G}.
Step 4102, screen server identical with the set of this destination server in this alternate servers set and obtain alternative deployment server set.
Virtual Machine Manager module can get common factor to the set of alternate servers set and destination server, obtains alternative deployment server set.Example, the set of hypothesis goal server is { server E, server F, server G, server H}, the alternate servers set of Virtual Machine Manager module screening is { server A, server E, server F, server G}, then Virtual Machine Manager module is occured simultaneously to these two server set conjunction, screens the alternative deployment server set obtained can be: { server E, server F, server G}.
Step 4103, from this alternative deployment server set, select deployment server according to compatibility algorithm.
Compatibility algorithm refers to from alternative deployment server set, and the server that between the server selecting and be deployed with opposite end virtual machine, communication path is the shortest is as deployment server.Example, suppose that the opposite end virtual machine that there is communication traffic with object virtual machine VM7 is VM8 and VM9, the server being deployed with VM8 is server G, the server being deployed with VM9 is server H, then as can be seen from the network topology structure shown in Fig. 4-2, alternative deployment server set { server E, server F, in server G}, and the server that between server G, communication path is the shortest is server G, and the server that between server H, communication path is the shortest is also server G, then server G can be chosen as deployment server by Virtual Machine Manager module.
It should be noted that, except compatibility algorithm, Virtual Machine Manager module can also from alternative deployment server set Stochastic choice server as deployment server.
Step 411, by this object deploying virtual machine in this deployment server.
Example, object virtual machine VM7 can be deployed in deployment server by Virtual Machine Manager module: in server G.
It should be noted that, the sequencing of the step of the virtual machine deployment method that the embodiment of the present invention provides can suitably adjust, and step also according to circumstances can carry out corresponding increase and decrease.Example, step 401 can perform with step 405 to step 404 simultaneously, also can perform after step 405.Anyly be familiar with those skilled in the art in the technical scope that the present invention discloses, the method changed can be expected easily, all should be encompassed within protection scope of the present invention, therefore repeat no more.
Also it should be noted that, the virtual machine deployment method that the embodiment of the present invention provides, except being applied in the application scenarios of the data center inside shown in Fig. 1, can also be applied to cloud telecommunications network across in the application scenarios of data center.Across in the scene of data center, virtual machine deployment method can be performed by the Virtual Machine Manager module of arbitrary data center, this Virtual Machine Manager module can comprise VMManager, and it is (English: NFVManagementandOrchestration that VNFM and NFV manages composer; Be called for short: NFVMANO) etc., the embodiment of the present invention does not limit.
In sum, a kind of virtual machine deployment method that the embodiment of the present invention provides, Virtual Machine Manager module is when disposing object virtual machine, the opposite end virtual machine that there is communication traffic with object virtual machine can be inquired about, determine the server being deployed with this opposite end virtual machine, and can according to the communication matrix preset, obtain destination server, this destination server and this communication state being deployed with the server of this opposite end virtual machine are normal condition, therefore, after this object deploying virtual machine to this destination server, can ensure that the communication traffic between this object virtual machine and opposite end virtual machine can normally perform, improve the reliability of communication between virtual machine.
Embodiments provide a kind of deploying virtual machine device, as shown in fig. 5-1, this deploying virtual machine device 500 comprises: query unit 501, the first determining unit 502, acquiring unit 503 and deployment unit 504,
Query unit 501, for inquiring about the opposite end virtual machine that there is communication traffic with object virtual machine, this object virtual machine is virtual machine to be migrated or waits to dispose virtual machine.
First determining unit 502, for determining the server being deployed with this opposite end virtual machine.
Acquiring unit 503, for obtaining destination server from the communication matrix preset, this destination server and this communication state being deployed with the server of this opposite end virtual machine are normal condition, have recorded the communication state between any two servers in this communication matrix, this communication state comprises normal condition or abnormality.
Deployment unit 504, for by this object deploying virtual machine in this destination server.
In sum, a kind of deploying virtual machine device that the embodiment of the present invention provides, Virtual Machine Manager module is when disposing object virtual machine, the opposite end virtual machine that there is communication traffic with object virtual machine can be inquired about, determine the server being deployed with this opposite end virtual machine, and can according to the communication matrix preset, obtain destination server, this destination server and this communication state being deployed with the server of this opposite end virtual machine are normal condition, therefore, after this object deploying virtual machine to this destination server, can ensure that the communication traffic between this object virtual machine and opposite end virtual machine can normally perform, improve the reliability of communication between virtual machine.
Embodiments provide another kind of deploying virtual machine device, as shown in Fig. 5-2, this deploying virtual machine device 500 comprises:
Query unit 501, for inquiring about the opposite end virtual machine that there is communication traffic with object virtual machine, this object virtual machine is virtual machine to be migrated or waits to dispose virtual machine.
First determining unit 502, for determining the server being deployed with this opposite end virtual machine.
Acquiring unit 503, for obtaining destination server from the communication matrix preset, this destination server and this communication state being deployed with the server of this opposite end virtual machine are normal condition, have recorded the communication state between any two servers in this communication matrix, this communication state comprises normal condition or abnormality.
Deployment unit 504, for by this object deploying virtual machine in this destination server.
First receiving element 505, for receiving this abnormal virtual machine of instruction that abnormal virtual machine sends and other virtual machine communication states are the communication abnormality information of abnormality.
Second determining unit 506, for according to this communication abnormality information, determines the abnormal server being deployed with this abnormal virtual machine.
First statistic unit 507, for adding up the number of the abnormal server in the server of Virtual Machine Manager module management.
3rd determining unit 508, when the number for the abnormal server in the server of this Virtual Machine Manager module management equals 1, is defined as this object virtual machine by this abnormal virtual machine.
Second statistic unit 509, when the number for the abnormal server in the server of this Virtual Machine Manager module management is greater than 1, inquires about this communication matrix, and the communication state adding up this abnormal server each and other abnormal server is the number of times of abnormality.
4th determining unit 510, the server that the number of times for by communication state being abnormality is maximum is defined as destination server.
5th determining unit 511, for being defined as this object virtual machine by the abnormal virtual machine of disposing in this destination server.
Second receiving element 512, for receiving the communication quality information that first server sends, this communication quality information comprises the communication quality of the mark of first server, the mark of second server and this first server and this second server, and this first server and this second server are any two servers in the server of Virtual Machine Manager module management.
Judging unit 513, for judging that whether this communication quality is higher than predetermined quality threshold.
First record cell 514, for when this communication quality is higher than predetermined quality threshold, the communication state recording this first server and this second server in this communication matrix is normal condition;
Second record cell 515, for when this communication quality is not higher than predetermined quality threshold, the communication state recording this first server and this second server in this communication matrix is abnormality.
Optionally, this communication quality information is that the virtual machine disposed in the virtual machine and this second server disposed in this first server sends when performing communication traffic;
Or this communication quality information is that this first server sends detection packet to this second server, and after receiving the probe response packets of this second server transmission, generate according to this detection packet and this probe response packets.
Fig. 5-3 is the structural representations of a kind of deployment unit 504 that the embodiment of the present invention provides, and as shown in Fig. 5-3, this deployment unit 504 comprises:
Determine subelement 5041, for determining the number of this destination server.
First disposes subelement 5042, for when the number of this destination server equals 1, by this object deploying virtual machine in this destination server.
Chooser unit 5043, for when the number of this destination server is greater than 1, selects deployment server according to preset rules from the set of this destination server.
Second dispose subelement 5044, for by this object deploying virtual machine in this deployment server.
Optionally, this second dispose subelement 5044, also for:
From the server of this Virtual Machine Manager module management, screening meets the alternate servers set of the standard of parameter preset, and this parameter preset comprises at least one in cpu resource, storage resources and network interface bandwidth;
Screen server identical with the set of this destination server in this alternate servers set and obtain alternative deployment server set;
From this alternative deployment server set, deployment server is selected according to compatibility algorithm.
In sum, a kind of deploying virtual machine device that the embodiment of the present invention provides, Virtual Machine Manager module is when disposing object virtual machine, the opposite end virtual machine that there is communication traffic with object virtual machine can be inquired about, determine the server being deployed with this opposite end virtual machine, and can according to the communication matrix preset, obtain destination server, this destination server and this communication state being deployed with the server of this opposite end virtual machine are normal condition, therefore, after this object deploying virtual machine to this destination server, can ensure that the communication traffic between this object virtual machine and opposite end virtual machine can normally perform, improve the reliability of communication between virtual machine.
Those skilled in the art can be well understood to, and for convenience and simplicity of description, the device of foregoing description and the specific works process of unit, with reference to the corresponding process in preceding method embodiment, can not repeat them here.
The foregoing is only preferred embodiment of the present invention, not in order to limit the present invention, within the spirit and principles in the present invention all, any amendment done, equivalent replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (12)

1. a virtual machine deployment method, is characterized in that, described method comprises:
There is the opposite end virtual machine of communication traffic in inquiry and object virtual machine, described object virtual machine is virtual machine to be migrated or waits to dispose virtual machine;
Determine to dispose the server stating opposite end virtual machine to some extent;
Destination server is obtained from the communication matrix preset, described destination server and the described communication state being deployed with the server of described opposite end virtual machine are normal condition, have recorded the communication state between any two servers in described communication matrix, described communication state comprises normal condition or abnormality;
By described object deploying virtual machine in described destination server.
2. method according to claim 1, is characterized in that, described object virtual machine is virtual machine to be migrated, and there is the opposite end virtual machine of communication traffic in described inquiry and object virtual machine before, described method also comprises:
The described abnormal virtual machine of instruction that reception abnormal virtual machine sends and other virtual machine communication states are the communication abnormality information of abnormality;
According to described communication abnormality information, determine to dispose the abnormal server stating abnormal virtual machine to some extent;
The number of the abnormal server in the server of statistics Virtual Machine Manager module management;
If the number of the abnormal server in the server of described Virtual Machine Manager module management equals 1, described abnormal virtual machine is defined as described object virtual machine;
If the number of the abnormal server in the server of described Virtual Machine Manager module management is greater than 1, inquire about described communication matrix, the communication state adding up each described abnormal server and other abnormal server is the number of times of abnormality;
Be that the server that the number of times of abnormality is maximum is defined as destination server by communication state;
The abnormal virtual machine of disposing in described destination server is defined as described object virtual machine.
3. method according to claim 1, is characterized in that, there is the opposite end virtual machine of communication traffic in described inquiry and object virtual machine before, described method also comprises:
Receive the communication quality information that first server sends, described communication quality information comprises the communication quality of the mark of first server, the mark of second server and described first server and described second server, and described first server and described second server are any two servers in the server of Virtual Machine Manager module management;
Judge that whether described communication quality is higher than predetermined quality threshold;
If described communication quality is higher than predetermined quality threshold, the communication state recording described first server and described second server in described communication matrix is normal condition;
If described communication quality is not higher than predetermined quality threshold, the communication state recording described first server and described second server in described communication matrix is abnormality.
4. method according to claim 3, is characterized in that,
Described communication quality information is that the virtual machine disposed in the virtual machine and described second server disposed in described first server sends when performing communication traffic;
Or described communication quality information is that described first server sends detection packet to described second server, and after receiving the probe response packets of described second server transmission, generate according to described detection packet and described probe response packets.
5. method according to claim 1, is characterized in that, described by described object deploying virtual machine in described destination server, comprising:
Determine the number of described destination server;
If the number of described destination server equals 1, by described object deploying virtual machine in described destination server;
If the number of described destination server is greater than 1, from the set of described destination server, select deployment server according to preset rules;
By described object deploying virtual machine in described deployment server.
6. method according to claim 5, is characterized in that, describedly from the set of described destination server, selects deployment server according to preset rules, comprising:
From the server of described Virtual Machine Manager module management, screening meets the alternate servers set of the standard of parameter preset, and described parameter preset comprises at least one in cpu resource, storage resources and network interface bandwidth;
Screen server identical with the set of described destination server in described alternate servers set and obtain alternative deployment server set;
From described alternative deployment server set, deployment server is selected according to compatibility algorithm.
7. a deploying virtual machine device, is characterized in that, described device comprises:
Query unit, for inquiring about the opposite end virtual machine that there is communication traffic with object virtual machine, described object virtual machine is virtual machine to be migrated or waits to dispose virtual machine;
First determining unit, for determining to dispose the server stating opposite end virtual machine to some extent;
Acquiring unit, for obtaining destination server from the communication matrix preset, described destination server and the described communication state being deployed with the server of described opposite end virtual machine are normal condition, have recorded the communication state between any two servers in described communication matrix, described communication state comprises normal condition or abnormality;
Deployment unit, for by described object deploying virtual machine in described destination server.
8. device according to claim 7, is characterized in that, described object virtual machine is virtual machine to be migrated, and described device also comprises:
First receiving element, for receiving the described abnormal virtual machine of instruction that abnormal virtual machine sends and other virtual machine communication states are the communication abnormality information of abnormality;
Second determining unit, for according to described communication abnormality information, determines to dispose the abnormal server stating abnormal virtual machine to some extent;
First statistic unit, for adding up the number of the abnormal server in the server of Virtual Machine Manager module management;
3rd determining unit, when the number for the abnormal server in the server of described Virtual Machine Manager module management equals 1, is defined as described object virtual machine by described abnormal virtual machine;
Second statistic unit, when number for the abnormal server in the server of described Virtual Machine Manager module management is greater than 1, inquire about described communication matrix, the communication state adding up each described abnormal server and other abnormal server is the number of times of abnormality;
4th determining unit, the server that the number of times for by communication state being abnormality is maximum is defined as destination server;
5th determining unit, for being defined as described object virtual machine by the abnormal virtual machine of disposing in described destination server.
9. device according to claim 7, is characterized in that, described device also comprises:
Second receiving element, for receiving the communication quality information that first server sends, described communication quality information comprises the communication quality of the mark of first server, the mark of second server and described first server and described second server, and described first server and described second server are any two servers in the server of Virtual Machine Manager module management;
Judging unit, for judging that whether described communication quality is higher than predetermined quality threshold;
First record cell, for when described communication quality is higher than predetermined quality threshold, the communication state recording described first server and described second server in described communication matrix is normal condition;
Second record cell, for when described communication quality is not higher than predetermined quality threshold, the communication state recording described first server and described second server in described communication matrix is abnormality.
10. device according to claim 9, is characterized in that,
Described communication quality information is that the virtual machine disposed in the virtual machine and described second server disposed in described first server sends when performing communication traffic;
Or described communication quality information is that described first server sends detection packet to described second server, and after receiving the probe response packets of described second server transmission, generate according to described detection packet and described probe response packets.
11. devices according to claim 7, is characterized in that, described deployment unit, comprising:
Determine subelement, for determining the number of described destination server;
First disposes subelement, for when the number of described destination server equals 1, by described object deploying virtual machine in described destination server;
Chooser unit, for when the number of described destination server is greater than 1, selects deployment server according to preset rules from the set of described destination server;
Second dispose subelement, for by described object deploying virtual machine in described deployment server.
12. devices according to claim 11, is characterized in that, described second dispose subelement, also for:
From the server of described Virtual Machine Manager module management, screening meets the alternate servers set of the standard of parameter preset, and described parameter preset comprises at least one in cpu resource, storage resources and network interface bandwidth;
Screen server identical with the set of described destination server in described alternate servers set and obtain alternative deployment server set;
From described alternative deployment server set, deployment server is selected according to compatibility algorithm.
CN201510524417.2A 2015-08-24 2015-08-24 Virtual machine deployment method and device Active CN105119993B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510524417.2A CN105119993B (en) 2015-08-24 2015-08-24 Virtual machine deployment method and device
PCT/CN2016/094414 WO2017032223A1 (en) 2015-08-24 2016-08-10 Virtual machine deployment method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510524417.2A CN105119993B (en) 2015-08-24 2015-08-24 Virtual machine deployment method and device

Publications (2)

Publication Number Publication Date
CN105119993A true CN105119993A (en) 2015-12-02
CN105119993B CN105119993B (en) 2019-02-26

Family

ID=54667876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510524417.2A Active CN105119993B (en) 2015-08-24 2015-08-24 Virtual machine deployment method and device

Country Status (2)

Country Link
CN (1) CN105119993B (en)
WO (1) WO2017032223A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017032223A1 (en) * 2015-08-24 2017-03-02 华为技术有限公司 Virtual machine deployment method and apparatus
CN106502760A (en) * 2016-09-21 2017-03-15 华为技术有限公司 A kind of virtual machine compatibility strategy visualization method and device
CN106921977A (en) * 2015-12-26 2017-07-04 华为技术有限公司 A kind of service quality planing method, apparatus and system based on Business Stream
CN106998560A (en) * 2016-01-25 2017-08-01 中兴通讯股份有限公司 A kind of management method, the network equipment and system for virtualizing network function
CN113282366A (en) * 2021-04-02 2021-08-20 中国船舶重工集团公司第七研究院 Static virtual machine placement method oriented to embedded virtualization environment
CN116866154A (en) * 2023-09-05 2023-10-10 湖北华中电力科技开发有限责任公司 Intelligent dispatching management system for power distribution network communication service based on virtual machine cluster

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116566805B (en) * 2023-07-10 2023-09-26 中国人民解放军国防科技大学 System disaster-tolerant and anti-destruction oriented node cross-domain scheduling method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2618535A1 (en) * 2010-10-19 2013-07-24 ZTE Corporation Method and system for realizing virtual machine mobility
CN103605562A (en) * 2013-12-10 2014-02-26 浪潮电子信息产业股份有限公司 Method for migrating kernel-based virtual machine (KVM) between physical hosts
CN104008002A (en) * 2014-06-17 2014-08-27 电子科技大学 Target host selection method for deploying virtual machine under cloud platform environment
CN104657215A (en) * 2013-11-19 2015-05-27 南京鼎盟科技有限公司 Virtualization energy-saving system in Cloud computing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101859263B (en) * 2010-06-12 2012-07-25 中国人民解放军国防科学技术大学 Quick communication method between virtual machines supporting online migration
US20120102190A1 (en) * 2010-10-26 2012-04-26 International Business Machines Corporation Inter-virtual machine communication
CN102082692B (en) * 2011-01-24 2012-10-17 华为技术有限公司 Method and equipment for migrating virtual machines based on network data flow direction, and cluster system
CN105119993B (en) * 2015-08-24 2019-02-26 华为技术有限公司 Virtual machine deployment method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2618535A1 (en) * 2010-10-19 2013-07-24 ZTE Corporation Method and system for realizing virtual machine mobility
CN104657215A (en) * 2013-11-19 2015-05-27 南京鼎盟科技有限公司 Virtualization energy-saving system in Cloud computing
CN103605562A (en) * 2013-12-10 2014-02-26 浪潮电子信息产业股份有限公司 Method for migrating kernel-based virtual machine (KVM) between physical hosts
CN104008002A (en) * 2014-06-17 2014-08-27 电子科技大学 Target host selection method for deploying virtual machine under cloud platform environment

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017032223A1 (en) * 2015-08-24 2017-03-02 华为技术有限公司 Virtual machine deployment method and apparatus
CN106921977A (en) * 2015-12-26 2017-07-04 华为技术有限公司 A kind of service quality planing method, apparatus and system based on Business Stream
CN106921977B (en) * 2015-12-26 2020-11-06 华为技术有限公司 Service quality planning method, device and system based on service flow
CN106998560A (en) * 2016-01-25 2017-08-01 中兴通讯股份有限公司 A kind of management method, the network equipment and system for virtualizing network function
CN106502760A (en) * 2016-09-21 2017-03-15 华为技术有限公司 A kind of virtual machine compatibility strategy visualization method and device
CN106502760B (en) * 2016-09-21 2019-06-21 华为技术有限公司 A kind of virtual machine compatibility strategy visualization method and device
CN113282366A (en) * 2021-04-02 2021-08-20 中国船舶重工集团公司第七研究院 Static virtual machine placement method oriented to embedded virtualization environment
CN116866154A (en) * 2023-09-05 2023-10-10 湖北华中电力科技开发有限责任公司 Intelligent dispatching management system for power distribution network communication service based on virtual machine cluster
CN116866154B (en) * 2023-09-05 2023-11-28 湖北华中电力科技开发有限责任公司 Intelligent dispatching management system for power distribution network communication service based on virtual machine cluster

Also Published As

Publication number Publication date
CN105119993B (en) 2019-02-26
WO2017032223A1 (en) 2017-03-02

Similar Documents

Publication Publication Date Title
CN105119993A (en) Virtual machine deployment method and apparatus
US11677622B2 (en) Modifying resource allocation or policy responsive to control information from a virtual network function
US10452422B2 (en) Method and apparatus for deploying virtual machine instance, and device
US10601728B2 (en) Software-defined data center and service cluster scheduling and traffic monitoring method therefor
US20180295029A1 (en) Managing groups of servers
US20130074181A1 (en) Auto Migration of Services Within a Virtual Data Center
CN108306777B (en) SDN controller-based virtual gateway active/standby switching method and device
CN103582512A (en) Feature extraction device and network flow identification method, device and system
CN104468181A (en) Detection and handling of virtual network appliance failures
CN103248521A (en) Business strategy rule configuring method and device, as well as communication system
CN110493069A (en) Fault detection method, device, SDN controller and forwarding device
CN113992569A (en) Multi-path service convergence method and device in SDN network and storage medium
CN105450540A (en) Load balancing method and device as well as DHCP (dynamic host configuration protocol) server
CN109246136B (en) Message control method and device
CN108235800A (en) A kind of network failure probing method and control centre's equipment
CN106453118B (en) Flow control method and flow control system
CN112994942B (en) SDN control method and device
CN112332956B (en) Information sharing method and device in redundant network and computer storage medium
US10785103B2 (en) Method and system for managing control connections with a distributed control plane
CN109039680B (en) Method and system for switching main Broadband Network Gateway (BNG) and standby BNG and BNG
CN109450794A (en) A kind of communication means and equipment based on SDN network
CN113612648B (en) Network element re-reproduction method, computer apparatus and storage medium
CN113067818B (en) Probe distribution method and device based on network asset checking
WO2023188186A1 (en) Communication path determining system and communication path determining method
CN107104837A (en) The method and control device of path detection

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant