WO2021022947A1 - 一种部署虚拟机的方法及相关装置 - Google Patents

一种部署虚拟机的方法及相关装置 Download PDF

Info

Publication number
WO2021022947A1
WO2021022947A1 PCT/CN2020/099296 CN2020099296W WO2021022947A1 WO 2021022947 A1 WO2021022947 A1 WO 2021022947A1 CN 2020099296 W CN2020099296 W CN 2020099296W WO 2021022947 A1 WO2021022947 A1 WO 2021022947A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual
virtual resource
identifier
template
resource template
Prior art date
Application number
PCT/CN2020/099296
Other languages
English (en)
French (fr)
Inventor
李世涛
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2021022947A1 publication Critical patent/WO2021022947A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Definitions

  • This application relates to the field of network function virtualization, and in particular, to a method and related devices for deploying virtual machines.
  • Network function virtualization (NFV) technology is the use of virtualization technology to virtualize the functions of special equipment in traditional networks into independent applications, which can be flexibly deployed on standard-based computing hardware, storage hardware, network hardware and other equipment Built on a unified infrastructure platform.
  • VNF virtual network function
  • the party that initiates the virtual network function (virtual network function, VNF) request can be referred to as the virtual service requester.
  • the party that receives the instantiation VNF request and deploys the VNF according to the instantiated VNF request may be referred to as the virtualization service provider.
  • the virtualization service provider After the virtualization service provider receives the VNF instantiation request, it also needs to obtain a VNF template (VNF descriptor, VNFD).
  • VNFD includes a virtual deployment unit (Virtualization Deployment Unit, VDU).
  • VDU includes a description of virtual resources required to deploy a virtual machine (VM).
  • VM virtual machine
  • the virtual resource description includes processor architecture, number of processors, and processor frequency.
  • This application provides a method and related device for deploying a virtual machine, which can effectively improve the success rate of deploying a virtual machine.
  • a method for deploying a virtual machine is provided, and the method can be applied to a network function virtualization orchestrator (NFV orchestrator, NFVO) device.
  • the method includes: NFVO receives a virtual resource authorization request, and obtains the remaining virtual resources of the first processor architecture and the remaining virtual resources of the second processor architecture in a virtualized infrastructure manager (VIM).
  • VIP virtualized infrastructure manager
  • the first virtual resource authorization response includes the identifier of the first virtual resource template and the address information of the first server, and the processor architecture of the first server is the same as the first processor architecture.
  • the NFVO determines that the remaining virtual resources of the second processor architecture meet the virtual resource requirements of the second virtual machine, send a second virtual resource authorization response to the VNFM to authorize the VNFM to deploy the virtual resources required by the second virtual machine,
  • the second virtual resource authorization response includes the identifier of the second virtual resource template and the address information of the second server, and the processor architecture of the second server is the same as the second processor architecture.
  • the virtual resource authorization request is used to request the authorization of the virtual resource required by the deployment of the first virtual machine or the virtual resource required by the second virtual machine.
  • the virtual resource authorization request includes the identification of the first virtual resource template and the identification of the second virtual resource template.
  • the first virtual resource template is used to describe the virtual resources required to deploy the first virtual machine, and the first virtual resource template includes the identifier of the first processor architecture.
  • the second virtual resource template is used to describe the virtual resources required to deploy the second virtual machine, and the second virtual resource template includes the identifier of the second processor architecture.
  • the first processor architecture is different from the second processor architecture.
  • NFVO can flexibly select remaining virtual resources from the remaining virtual resources of different processor architectures, and the remaining virtual resources meet the virtual resources required for deploying virtual machines. Subsequently, the NFVO sends the first virtual resource authorization response or the second virtual resource authorization response to the VNFM to authorize the VNFM to deploy the virtual resources required by the first virtual machine or the virtual resources required by the second virtual machine.
  • the VNFM can The first virtual machine or the second virtual machine is deployed on the server corresponding to the remaining virtual resources of the processor architecture.
  • the method further includes: NFVO first obtains the first virtual resource template according to the identifier of the first virtual resource template included in the virtual resource authorization request, and according to the virtual resource authorization request.
  • the identifier of the second virtual resource template included in the resource authorization request obtains the second virtual resource template, then obtains the virtual resource requirements of the first virtual machine from the first virtual resource template, and obtains the second virtual machine's information from the second virtual resource template.
  • Virtual resource requirements it is convenient for NFVO to determine whether the remaining virtual resources of the first processor architecture meet the virtual resource requirements of the first virtual machine, and NFVO to determine whether the remaining virtual resources of the second processor architecture meet the virtual resource requirements of the second virtual machine.
  • the method further includes: determining that the priority of the first processor architecture is higher than the priority of the second processor architecture, and sending the first virtual resource authorization response to the VNFM; or determining that the priority of the first processor architecture is lower than The priority of the second processor architecture sends the second virtual resource authorization response to the VNFM. Therefore, NFVO can flexibly select the remaining virtual resources from the remaining virtual resources of different processor architectures, and the remaining virtual resources meet the virtual resources required for deploying virtual machines.
  • the NFVO sends the first virtual resource authorization response or the second virtual resource authorization response to the VNFM to authorize the VNFM to deploy the virtual resources required by the first virtual machine or the virtual resources required by the second virtual machine.
  • the VNFM can The first virtual machine or the second virtual machine is deployed on the server corresponding to the remaining virtual resources of the processor architecture. Compared with the prior art that can only deploy virtual machines on the remaining virtual resources of one processor architecture, this application can effectively improve the success rate and efficiency of deploying virtual machines.
  • the virtual resource authorization request further includes the identifier of the VDU, so that the NFVO can determine that the first virtual resource template and the second virtual resource template are both associated with the VDU.
  • the VDU may include general parameters. For example: name (name), description (description), configurable properties (configurable_properties), VDU brief description (vdu_profile), etc.
  • VNFD can also include input parameters and so on. Therefore, the VNFM can deploy the VDU on the first virtual machine or the second virtual machine.
  • a method for deploying a virtual machine is provided, and the method can be applied to an application deployment server.
  • the application deployment server may be a VNFM device.
  • the method includes: after the VNFM receives the VNFD, sending a virtual resource authorization request to the NFVO, requesting for authorization of the virtual resource required by the deployment of the first virtual machine or the virtual resource required by the second virtual machine.
  • the VNFM deploys the first virtual machine on the first server according to the first virtual resource template indicated by the identifier of the first virtual resource template, and the first virtual resource authorization response includes the first virtual resource
  • the identifier of the template and the address information of the first server, the processor architecture of the first server is the same as the first processor architecture; or, after the VNFM receives the second virtual resource authorization response, the VNFM indicates according to the identifier of the second virtual resource template
  • the second virtual resource template deploys the second virtual machine on the second server, and the second virtual resource authorization response includes the identifier of the second virtual resource template and the address information of the second server, the processor architecture of the second server and the second processing The architecture is the same.
  • the VNFD includes a VDU, a first virtual resource template, and a second virtual resource template.
  • the first virtual resource template is used to describe the virtual resources required to deploy the first virtual machine, and the first virtual resource template includes the identifier of the first virtual resource template and the identifier of the first processor architecture.
  • the second virtual resource template is used to describe the virtual resources required to deploy the second virtual machine, and the second virtual resource template includes the identifier of the second virtual resource template and the identifier of the second processor architecture.
  • the first processor architecture is different from the second processor architecture.
  • the virtual resource authorization request includes the identifier of the first virtual resource template and the identifier of the second virtual resource template.
  • the virtual resource authorization request sent by the VNFM to NFVO is used to request virtual resource authorization for different processor architectures.
  • NFVO can flexibly select the remaining virtual resources from the remaining virtual resources of different processor architectures. Virtual resources, and the remaining virtual resources meet the virtual resources required to deploy the virtual machine.
  • the NFVO sends the first virtual resource authorization response or the second virtual resource authorization response to the VNFM to authorize the VNFM to deploy the virtual resources required by the first virtual machine or the virtual resources required by the second virtual machine.
  • the VNFM can The first virtual machine or the second virtual machine is deployed on the server corresponding to the remaining virtual resources of the processor architecture.
  • the first virtual resource template further includes a first instance number instruction, the first instance number instruction is used to indicate the number of deployed first virtual machines, and the second virtual resource template further includes a second instance number instruction, The second instance number instruction is used to indicate the number of second virtual machines to be deployed.
  • the value of the number of the first virtual machine and/or the value of the number of the second virtual machine may be carried in the VNF instantiation request and notified to the VNFM. Therefore, after one virtual machine fails, other virtual machines can continue to provide support for the operation of the software, which improves the reliability of the virtual machine.
  • the virtual resource authorization request also includes the identifier of the virtual deployment unit VDU.
  • the VDU includes a first deployment condition and a second deployment condition.
  • the first deployment condition indicates the correspondence between the VDU and the first virtual resource template. It is understandable that when the remaining resources of the server based on the first processor architecture meet the virtual resource requirements of the first virtual machine, the VNFM determines that the first deployment condition is met, and the VDU is associated with the first virtual resource template using the first deployment condition. Deploy the first virtual machine on the first server according to the first virtual resource template indicated by the identifier of the first virtual resource template.
  • the second deployment condition indicates the correspondence between the VDU and the second virtual resource template. It is understandable that when the remaining resources of the server based on the second processor architecture meet the virtual resource requirements of the second virtual machine, the VNFM determines that the second deployment condition is satisfied, and the second deployment condition is used to associate the VDU with the second virtual resource template. Deploy the second virtual machine on the second server according to the second virtual resource template indicated by the identifier of the second virtual resource template.
  • the VDU can be associated with the first virtual resource template by the first deployment condition, and the VDU can be associated with the second virtual resource template by the second deployment condition.
  • the VNFM deploys the first virtual machine on the first server according to the first virtual resource template indicated by the identifier of the first virtual resource template, including: when the VNFM determines that the first deployment condition is satisfied, the VNFM deploys the first virtual resource according to the first virtual resource
  • the first virtual resource template indicated by the template identifier deploys the first virtual machine on the first server, and the first deployment condition indicates the correspondence between the VDU and the first virtual resource template; or, the VNFM indicates according to the identifier of the second virtual resource template
  • the second virtual resource template deploying the second virtual machine on the second server includes: when the VNFM determines that the second deployment condition is satisfied, the VNFM deploys the second virtual resource template on the second server according to the second virtual resource template indicated by the identifier of the second virtual resource template Two virtual machines, the second deployment condition indicates the correspondence between the VDU and the second virtual resource template.
  • the VDU also includes operating instructions.
  • the operation instruction is used to instruct the deployment of the first virtual machine when the first deployment condition is met or the deployment of the second virtual machine when the second deployment condition is met, the first virtual machine being the virtual machine associated with the first virtual resource template indicated by the first deployment condition ,
  • the second virtual machine is a virtual machine associated with the second virtual resource template indicated by the second deployment condition.
  • the first virtual resource template further includes a first deployment instruction, the first deployment instruction is used to instruct the first virtual machine to be optionally deployed, and the second virtual resource template further includes a second deployment instruction, The second deployment instruction is used to indicate that the second virtual machine is optional for deployment.
  • the VNFM can deploy the first virtual machine or the second virtual machine on the server corresponding to the remaining virtual resources of the processor architecture. Compared with the prior art that can only deploy virtual machines on the remaining virtual resources of one processor architecture, this application can effectively improve the success rate and efficiency of deploying virtual machines.
  • a method for deploying a virtual machine includes: NFVO receives a virtual resource authorization request, and sends a virtual resource authorization response to the VNFM.
  • the virtual resource authorization response includes an identifier of a first virtual resource template, an identifier of a second virtual resource template, address information of a first server, and a second
  • the processor architecture of the first server is the same as the first processor architecture
  • the processor architecture of the second server is the same as the second processor architecture.
  • the virtual resource authorization request is used to request the authorization of the virtual resources required by the deployment of the first virtual machine and the virtual resources required by the second virtual machine.
  • the virtual resource authorization request includes the identification of the first virtual resource template and the identification of the second virtual resource template.
  • the first virtual resource template is used to describe the virtual resources required to deploy the first virtual machine, and the first virtual resource template includes the identifier of the first processor architecture.
  • the second virtual resource template is used to describe the virtual resources required to deploy the second virtual machine, and the second virtual resource template includes the identifier of the second processor architecture.
  • the first processor architecture is different from the second processor architecture.
  • NFVO In the method for deploying a virtual machine provided by the embodiment of the present application, NFVO authorizes the remaining virtual resources of different processor architectures, and the remaining virtual resources all meet the virtual resources required to deploy the virtual machine. Subsequently, the NFVO sends a first virtual resource authorization response to the VNFM to authorize the VNFM to deploy the virtual resources required for the first virtual machine and the virtual resources required for the second virtual machine. The VNFM can respond to the remaining processor architecture. The first virtual machine and the second virtual machine are deployed on the virtual resource server. Compared with the prior art that can only deploy virtual machines on the remaining virtual resources of one processor architecture, this application can effectively improve the success rate and efficiency of deploying virtual machines.
  • the virtual resource authorization request also includes the identifier of the VDU, so that the NFVO can determine that both the first virtual resource template and the second virtual resource template are associated with the VDU.
  • the VDU may include general parameters. For example: name, description, configurable attributes, VDU brief description, etc.
  • VNFD can also include input parameters and so on. Therefore, the VNFM can deploy the VDU on the first virtual machine or the second virtual machine.
  • a method for deploying a virtual machine is provided, and the method can be applied to an application deployment server.
  • the application deployment server may be a VNFM device.
  • the method includes: the VNFM receives the VNFD, and sends a virtual resource authorization request to the NFVO, requesting to authorize the virtual resources required by the deployment of the first virtual machine and the virtual resources required by the second virtual machine.
  • the VNFM deploys the first virtual machine on the first server according to the first virtual resource template indicated by the identifier of the first virtual resource template; the VNFM deploys the first virtual machine on the first server according to the identifier of the second virtual resource template.
  • the virtual resource template deploys the second virtual machine on the second server.
  • the VNFD includes a VDU, a first virtual resource template, and a second virtual resource template.
  • the first virtual resource template is used to describe the virtual resources required to deploy the first virtual machine, and the first virtual resource template includes the identifier of the first virtual resource template and the identifier of the first processor architecture.
  • the second virtual resource template is used to describe the virtual resources required to deploy the second virtual machine, and the second virtual resource template includes the identifier of the second virtual resource template and the identifier of the second processor architecture.
  • the first processor architecture is different from the second processor architecture.
  • the virtual resource authorization request includes the identifier of the first virtual resource template and the identifier of the second virtual resource template.
  • the virtual resource authorization response includes the identifier of the first virtual resource template, the identifier of the second virtual resource template, the address information of the first server, and the address information of the second server.
  • the processor architecture of the first server is the same as the first processor architecture
  • the processor architecture of the second server is the same as the second processor architecture.
  • the virtual resource authorization request sent by the VNFM to NFVO is used to request authorization of virtual resources of different processor architectures.
  • NFVO authorizes different remaining virtual resources, and the remaining virtual resources are all Meet the virtual resources required to deploy the virtual machine.
  • the NFVO sends the first virtual resource authorization response or the second virtual resource authorization response to the VNFM to authorize the VNFM to deploy the virtual resources required by the first virtual machine or the virtual resources required by the second virtual machine.
  • the VNFM can The first virtual machine or the second virtual machine is deployed on the server corresponding to the remaining virtual resources of the processor architecture.
  • the VDU includes node demand parameters
  • the first virtual resource template also includes node types
  • the second virtual resource template also includes node types.
  • the method further includes: the VNFM determines the node type of the first virtual resource template.
  • the value and the value of the node type of the second virtual resource template are both node demand parameters in the VDU; the VNFM deploys the VDU on the first virtual machine and the second virtual machine. Therefore, the VDU can be associated with the first virtual resource template and the second virtual resource template through the node type, and the VNFM deploys the VDU on the first virtual machine and the second virtual machine.
  • the first virtual resource template further includes a first instance number instruction, the first instance number instruction is used to indicate the number of deployed first virtual machines, and the second virtual resource template further includes a second instance number instruction , The second instance number instruction is used to indicate the number of second virtual machines to be deployed.
  • the value of the number of the first virtual machine and/or the value of the number of the second virtual machine may be carried in the VNF instantiation request and notified to the VNFM. Therefore, after one virtual machine fails, other virtual machines can continue to provide support for the operation of the software, which improves the reliability of the virtual machine.
  • a communication device for implementing the method described in the first or third aspect.
  • the communication device may be a network function virtualization orchestrator device.
  • the device includes: a receiving unit, a processing unit, and a sending unit.
  • the receiving unit is configured to receive a virtual resource authorization request, the virtual resource authorization request is used to request authorization of the virtual resource required for deploying the first virtual machine or the virtual resource required by the second virtual machine, and the virtual resource authorization request includes the first An identifier of a virtual resource template and an identifier of a second virtual resource template.
  • the processing unit is configured to determine that the remaining virtual resources of the first processor architecture in the VIM meet the virtual resource requirements of the first virtual machine, and the sending unit is configured to send the first virtual resource authorization response to the VNFM, and the first virtual The resource authorization response includes the identification of the first virtual resource template and the address information of the first server.
  • the processor architecture of the first server is the same as that of the first processor.
  • the first virtual resource authorization response includes the first The identifier of the virtual resource template, the identifier of the second virtual resource template, the address information of the first server, and the address information of the second server, the processor architecture of the first server is the same as the first processor architecture, and the processor architecture of the second server Same as the second processor architecture; or, the processing unit is configured to determine that the remaining virtual resources of the second processor architecture in the VIM meet the virtual resource requirements of the second virtual machine, and the sending unit is configured to send to the VNFM
  • the second virtual resource authorization response includes the identifier of the second virtual resource template and the address information of the second server, and the processor architecture of the second server is the same as the second processor architecture.
  • a communication device for implementing the method described in the second or fourth aspect.
  • the communication device is an application deployment server.
  • the communication device includes: a receiving unit, a sending unit, and a processing unit.
  • the receiving unit is configured to receive a VNFD.
  • the VNFD includes a meta-VDU, a first virtual resource template, and a second virtual resource template.
  • the first virtual resource template is used to describe the virtual resources required to deploy the first virtual machine.
  • the virtual resource template includes the identifier of the first virtual resource template and the identifier of the first processor architecture.
  • the second virtual resource template is used to describe the virtual resources required to deploy the second virtual machine.
  • the second virtual resource template includes the second virtual resource template.
  • the first processor architecture is different from the second processor architecture; the sending unit is used to send a virtual resource authorization request to NFVO, and the virtual resource authorization request is used to request the deployment of the first
  • the virtual resource required by the virtual machine or the virtual resource required by the second virtual machine is authorized, and the virtual resource authorization request includes the identifier of the first virtual resource template and the identifier of the second virtual resource template; the receiving unit is further configured to receive The first virtual resource authorization response.
  • the first virtual resource authorization response includes the identifier of the first virtual resource template and the address information of the first server.
  • the processor architecture of the first server is the same as the first processor architecture; the processing unit uses Deploying the first virtual machine on the first server according to the first virtual resource template indicated by the identifier of the first virtual resource template; or, the receiving unit is further configured to receive a second virtual resource authorization response, and the second virtual resource authorization The response includes the identifier of the second virtual resource template and the address information of the second server.
  • the processor architecture of the second server is the same as that of the second processor.
  • the processing unit is configured to perform according to the second virtual resource template's identifier.
  • the second virtual resource template deploys the second virtual machine on the second server; or, the first virtual resource authorization response includes the identifier of the first virtual resource template, the identifier of the second virtual resource template, the address information of the first server, and the first virtual resource template.
  • the address information of the second server, the processor architecture of the first server is the same as the first processor architecture, and the processor architecture of the second server is the same as the second processor architecture; the processing unit is used for processing according to the The first virtual resource template indicated by the identifier deploys the first virtual machine on the first server; the processing unit is further configured to deploy the second virtual resource template on the second server according to the second virtual resource template indicated by the identifier of the second virtual resource template virtual machine.
  • the functional modules of the fifth aspect and the sixth aspect described above can be implemented by hardware, or implemented by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above-mentioned functions.
  • the transceiver is used to complete the functions of the receiving unit and the transmitting unit
  • the processor is used to complete the function of the processing unit
  • the memory is used for the processor to process the program instructions of the method of this application.
  • the processor, the transceiver, and the memory are connected through a bus and communicate with each other.
  • the present application also provides a communication device for implementing the method described in the first aspect or the third aspect.
  • the communication device includes a chip system.
  • the communication device includes a processor, configured to implement the functions in the method described in the first aspect or the third aspect.
  • the communication device may also include a memory for storing program instructions and data.
  • the memory is coupled with the processor, and the processor can call and execute the program instructions stored in the memory to implement the functions in the method described in the first aspect or the third aspect.
  • the communication device may further include a communication interface, and the communication interface is used for the communication device to communicate with other devices.
  • the communication device is an NFVO device.
  • the communication interface may be a transceiver.
  • the transceiver is used to send virtual resource authorization requests and receive virtual resource authorization responses. For details, please refer to the descriptions of the above aspects, and will not repeat them.
  • the present application also provides a communication device for implementing the method described in the second or fourth aspect.
  • the communication device is an application deployment server.
  • the communication device includes a processor, configured to implement the functions in the method described in the second aspect or the fourth aspect.
  • the communication device may also include a memory for storing program instructions and data.
  • the memory is coupled with the processor, and the processor can call and execute program instructions stored in the memory to implement the functions in the method described in the second aspect or the fourth aspect.
  • the communication device may further include a communication interface, and the communication interface is used for the communication device to communicate with other devices. Exemplarily, if the communication device is an application deployment server, the other device is an NFVO device.
  • the communication interface may be a transceiver.
  • the processor is configured to deploy the first virtual machine on the first server according to the first virtual resource template indicated by the identifier of the first virtual resource template, or the second virtual resource template indicated by the identifier of the second virtual resource template in the first server The second virtual machine is deployed on the second server.
  • the present application also provides a computer-readable storage medium, including: computer software instructions; when the computer software instructions are executed in a communication device, the communication device is caused to execute any one of the first to fourth aspects above The method described.
  • the present application also provides a computer program product containing instructions, when the computer program product runs in a communication device, the communication device executes the method described in any one of the first to fourth aspects.
  • the present application provides a chip system that includes a processor and may also include a memory for implementing the functions of the application deployment server or NVFO device in the above method.
  • the chip system can be composed of chips, or can include chips and other discrete devices.
  • the present application also provides a communication system, the communication system includes the NFVO device described in the fifth aspect and the application deployment server described in the sixth aspect; or the communication system includes the NFVO device described in the seventh aspect , And the application deployment server described in the eighth aspect.
  • the VDU also includes link point information and virtual networks.
  • VNFD uses TOSCA model language to describe.
  • the virtual resource authorization request carries the identifier of the VDU.
  • the identifier of the VDU is associated with the first virtual resource template and the first virtual resource template.
  • FIG. 1 is an example diagram of an NFV system architecture provided by an embodiment of the application
  • FIG. 2A is a schematic structural diagram of a VNFD provided by this application.
  • FIG. 2B is a schematic diagram of the VNF structure obtained after the deployment of the above-mentioned VNFD;
  • FIG. 3 is a flowchart of a method for deploying a virtual machine provided by this application
  • FIG. 4A is a schematic structural diagram of another VNFD provided by this application.
  • FIG. 4B is a schematic diagram of the structure of a VNF obtained after deployment of the above-mentioned VNFD;
  • FIG. 5 is a flowchart of another method for deploying a virtual machine provided by this application.
  • FIG. 6 is a schematic diagram of the composition of a communication device provided by this application.
  • FIG. 7 is a schematic diagram of the composition of another communication device provided by this application.
  • words such as “exemplary” or “for example” are used as examples, illustrations, or illustrations. Any embodiment or design solution described as “exemplary” or “for example” in the embodiments of the present application should not be construed as being more preferable or advantageous than other embodiments or design solutions. To be precise, words such as “exemplary” or “for example” are used to present related concepts in a specific manner.
  • the traditional telecommunications system is composed of various dedicated hardware devices, and different hardware devices are used for different functions.
  • telecommunication systems are becoming more and more complex, which brings many challenges. For example, the development and launch of new services, system operation and maintenance, and resource utilization.
  • IT Internet
  • 13 major telecom operators around the world jointly released the network function virtualization (NFV) white paper and announced the The European Telecommunications Standards Institute (ETSI) established the NFV industry specific group (ISG) to formulate the requirements and technical framework of NFV and promote the development of NFV.
  • ISG European Telecommunications Standards Institute
  • NFV technology uses virtualization technology to pool and virtualize the resources of infrastructure hardware devices (such as computing devices, storage devices, and network devices), provide virtual resources for upper-layer applications, and realize software and hardware decoupling.
  • infrastructure hardware devices such as computing devices, storage devices, and network devices
  • VNF independent applications
  • NFV technology utilizes cloud computing technology to achieve elastic scaling of applications and match virtual resources with business loads. This not only improves the utilization efficiency of virtual resources, but also improves the response rate of the NFV system.
  • FIG. 1 is an example diagram of an NFV system architecture provided by an embodiment of the application.
  • the NFV system can be used in various networks, such as a data center network, operator network or local area network.
  • the NFV system includes a NFV management and orchestration system (NFV management and orchestration, NFV MANO) 101, NFV infrastructure layer (NFV infrastructure, NFVI) 102, multiple virtual network functions (Virtual Network Function, VNF) 103, multiple network elements Management (element management, EM) 104 and operation-support system/business support system (OSS/BSS) 105.
  • NFV management and orchestration NFV management and orchestration
  • NFV MANO NFV management and orchestration
  • NFV infrastructure layer NFV infrastructure layer
  • VNF Virtual Network Function
  • EM multiple network elements Management
  • OSS/BSS operation-support system/business support system
  • NFV MANO 101 is used to monitor and manage NFVI 102 and VNF 103.
  • the NFV management and orchestration system 101 includes an NFV orchestrator (NFVO) 1011, one or more VNF managers (VNFM) 1012, and a virtualized infrastructure manager (VIM) 1013.
  • NFVO NFV orchestrator
  • VNFM VNF managers
  • VIP virtualized infrastructure manager
  • NFVO 1011 is mainly responsible for handling the life cycle management of virtualized services, virtual infrastructure and the allocation and scheduling of virtual resources in NFVI.
  • NFVO 1011 can also execute resource-related requests from one or more VNFM 1012 (e.g. request to obtain VNFD), send configuration information (e.g. VNFD, VNF information modification request and VNF instantiation request) to VNFM 1012, and collect VNF 103 Status information.
  • VNFD can be stored on NFVO or in a database managed by NFVO, so that NFVO can obtain VNFD and feed back VNFD to VNFM, and VNFM deploys VNF according to VNFD.
  • NFVO can store VNFDs corresponding to VNFs with multiple functions.
  • NFVO 1011 can communicate with VIM 1013 to realize resource allocation and/or reservation and exchange configuration and status information of virtualized hardware resources.
  • VNFM 1012 is mainly responsible for the life cycle management of one or more VNF 103. For example, instantiating (instantiating), updating (updating), query, elastic scaling (scaling), terminating (terminating) VNF 103, etc.
  • the VNFM 1012 can communicate with the VNF 103 to complete the life cycle management of the VNF 103 and exchange configuration and status information.
  • the VIM 1013 can perform resource management functions, such as managing the allocation of infrastructure resources (such as adding resources to virtual containers) and operating functions (such as collecting NFVI fault information).
  • VNFM 1012 and VIM 1013 can communicate with each other for resource allocation and exchange configuration and status information of virtualized hardware resources. For example, it controls and manages the interaction of VNF 103 with computing hardware 1021, storage hardware 1022, network hardware 1023, virtual computing 1024, virtual storage 1025, and virtual network 1026.
  • NFVI 102 includes a hardware resource layer, a virtualization layer (virtualization layer), and a virtual resource layer.
  • NFVI 102 includes hardware resources, software resources, or a combination of both to complete the deployment of a virtualized environment.
  • the hardware resources and the virtualization layer are used to provide virtualized resources, for example, as virtual machines and other forms of virtual containers for the VNF 103.
  • the hardware resource layer includes computing hardware 1021, storage hardware 1022, and network hardware 1023.
  • the computing hardware 1021 may be off-the-shelf hardware on the market and/or user-customized hardware to provide processing and computing resources.
  • the storage hardware 1022 may be the storage capacity provided in the network or the storage capacity resident in the storage hardware 1022 itself (local storage in the server).
  • the resources of the computing hardware 1021 and the storage hardware 1022 may be centralized.
  • the network hardware 1023 may be a switch, a router, and/or any other network device configured to have a switching function.
  • the network hardware 1023 may span multiple domains, and may include multiple networks interconnected by one or more transmission networks.
  • the virtualization layer in NFVI 102 can abstract hardware resources from the physical layer and decouple the VNF 103, so as to provide virtualization resources to the VNF 103.
  • the virtual resource layer includes virtual computing 1024, virtual storage 1025, and virtual network 1026.
  • the virtual computing 1024 and the virtual storage 1025 may be provided to the VNF 103 in the form of a virtual machine and/or other virtual containers.
  • one or more VNFs 103 may be deployed on a virtual machine (virtual machine, VM).
  • the virtualization layer abstracts the network hardware 1023 to form a virtual network 1026.
  • the virtual network 1026 may include a virtual switch (virtual switch), and the virtual switch is used to provide connections between virtual machines and other virtual machines.
  • the transmission network in the network hardware 1023 can be virtualized using a centralized control plane and a separate forwarding plane (such as a software-defined network).
  • computing hardware 1021, storage hardware 1022, and network hardware 1023 may include multiple machine frames, or multiple racks, or even multiple computer rooms.
  • VNF 103 is an example of a virtualized network function.
  • the equipment management system (EM) 104 is a system used to configure and manage equipment in traditional networks. In the NFV system, EM 104 can also be used to configure and manage the VNF 103, and initiate a new VNF 103 to the VNFM 1012 Lifecycle management operations such as instantiation of
  • Operation Support System (Operations Support System and Business Support System, OSS/BSS) 105 supports various end-to-end telecommunication services.
  • the management functions supported by OSS include: network configuration, service provision, fault management, etc.
  • BSS handles orders, payments, income, etc., and supports product management, order management, revenue management and customer management.
  • the virtualized network service can be an IP multimedia subsystem (IMS) network service, or a next-generation mobile core network (Evolved Packet Core, EPC) network Service etc.
  • IMS IP multimedia subsystem
  • EPC Evolved Packet Core
  • One NS can contain several VNFs.
  • the virtualization service provider needs to obtain the description information of the service from the virtualization service requester, that is, the network service template (Network Service Descriptor, NSD).
  • NSD mainly describes the topological structure information of the service and the description information of each VNF contained, namely VNFD.
  • a virtual link descriptor (VLD) can be used to describe the connection between VNFs.
  • the virtualization service requester can be NFVO or sender.
  • the sender can be OSS/BSS.
  • FIG. 2A is a schematic structural diagram of a VNFD provided by this application.
  • Fig. 2B is a schematic diagram of the VNF structure obtained after the deployment of the above-mentioned VNFD.
  • the VNFD includes virtual deployment unit (Virtualization Deployment Unit, VDU) 1, VDU2, connection point (connection point, CP)_A, CP_B, virtual connection (virtual link, VL) and other information.
  • VDU represents the application software that needs to be deployed on the virtual machine.
  • CP stands for VNF connection information, for example, it can be virtual network card information, which can be represented by IP address or MAC address.
  • VL is a virtual connection connecting multiple VDUs within a VNF, which can be represented by information such as connection type and bandwidth.
  • the VNFM is deployed using the above-mentioned VNFD, and the VNF obtained after deployment includes virtualized network function component (VNFC) 1, VNFC2, CP_A instance, CP_B instance, and VL instance.
  • VNFC virtualized network function component
  • VDU1 in VNFD generates VNFC1 after deployment
  • VDU2 in VNFD generates VNFC2 after deployment.
  • VNFs the functions implemented by different VNFs are different.
  • VNFs with simple functions a VDU description can be used, and the VNF obtained after deployment includes a VNFC.
  • VNFs with complex functions more than two VDU descriptions can be used, and the VNF obtained after deployment includes more than two VNFCs. Therefore, one VNFD can include multiple VDUs.
  • TOSCA Topicology and Orchestration Specification for Cloud Applications
  • OASIS Advanced Open Standards for the Information Society
  • the information required to deploy an application may be described in the application deployment package.
  • the application deployment package contains at least one application deployment description file with the suffix yaml.
  • the application deployment description file of *.yaml can describe the deployment information of the application in YAML language.
  • the root element of the application deployment description file of *.yaml is the application template ( Service Template). That is to say, the application template can be used in the embodiment of the present application to completely describe the information of the application to be deployed.
  • the sub-elements of *.yaml application deployment description file include topology template (TopologyTemplate), node type (NodeType), node template (NodeTemplate), relationship type (RelationshipType), relationship template (RelationshipTemplate), boundary definitions (BoundaryDefinitions), etc.
  • VNFD defined by traditional technology
  • VNFD defines a deployment template of a vCPE service.
  • VDU_1 includes the description of the virtual resources required to deploy the virtual machine.
  • the processor architecture is x86
  • the number of processors is 2
  • the processor frequency is 1800MHz
  • the memory is 8192M.
  • the deployed software image is described in the artifact in VDU_1, that is, in the maria.db.image.v2.0.qcow2 file.
  • servers mainly include servers based on the x86 processor architecture and servers based on the Advanced RISC Machines (ARM) processor architecture.
  • Servers with different processor architectures differ in performance.
  • the performance of servers with different processor architectures is also different, so software developers generally need to develop different software for servers based on x86 processor architecture or servers based on ARM processor architecture version.
  • the same is true for virtual machines.
  • the performance of deployed virtual machines installed on x86 processor architecture servers and ARM processor architecture servers is also different. Therefore, the processor architecture of the virtual machine needs to be specified in the VDU.
  • a data center (such as VIM) manages the hardware resources of servers based on the x86 processor architecture and the hardware resources of servers based on the ARM processor architecture.
  • servers with two processor architectures do not always have free resources to allocate. Therefore, when deploying a virtual machine, a VNFD requires a certain VDU to be deployed on a server based on the x86 processor architecture.
  • the servers based on the x86 processor architecture in the center are busy, there are no idle resources that can be allocated to the VDU deployment, causing the deployment of the virtual machine to fail, or it takes a long time to wait until there are free resources to provide the virtual machine to be deployed.
  • there are servers based on the ARM processor architecture in the data center that can be used, and the virtual machine is deployed on the servers based on the ARM processor architecture, but the performance of the VNF may be affected.
  • An embodiment of the present application provides a method for deploying a virtual machine.
  • the method includes: setting at least two virtual resource templates in a VNFD, and each virtual resource template is used to describe the virtual resources required to deploy the virtual machine, wherein at least two The processor architecture of each virtual machine is different.
  • NFVO can choose between servers corresponding to at least two processor architectures.
  • the server with the processor architecture meet the virtual resources required to deploy a virtual machine with the corresponding processor architecture, the server with the processor architecture The remaining virtual resources are authorized, and the VNFM deploys the virtual machine on the server according to the virtual resource template indicated by the identifier of the virtual resource template, where the processor architecture of the server is the same as the processor architecture of the deployed virtual machine.
  • the virtual resource authorization request sent by the VNFM to NFVO is used to request virtual resource authorization for different processor architectures.
  • NFVO can flexibly select the remaining virtual resources from the remaining virtual resources of different processor architectures. Virtual resources, and the remaining virtual resources meet the virtual resources required to deploy the virtual machine.
  • the NFVO sends the first virtual resource authorization response or the second virtual resource authorization response to the VNFM to authorize the VNFM to deploy the virtual resources required by the first virtual machine or the virtual resources required by the second virtual machine.
  • the VNFM can The first virtual machine or the second virtual machine is deployed on the server corresponding to the remaining virtual resources of the processor architecture.
  • the virtualization service requester may be NFVO or sender.
  • the sender can be OSS/BSS.
  • the virtualization service provider may be an application deployment server.
  • the virtualization service provider may be a VNFM.
  • Fig. 3 is a flowchart of a method for deploying a virtual machine provided by an embodiment of the application. As shown in Figure 3, the method may include:
  • the VNFM obtains the VNFD.
  • the VNFM can receive the VNFD sent by the NFVO, parse the VNFD, and obtain the content of the VNFD.
  • the VNFD includes at least two virtual resource templates associated with the VDU and the VDU. For example, the first virtual resource template and the second virtual resource template.
  • the first virtual resource template is used to describe the virtual resources required to deploy the first virtual machine.
  • the first virtual resource template includes the identification of the first virtual resource template, the identification of the first processor architecture, the number of first processors, the frequency of the first processors, the number of memory, and the first software image information.
  • the identification of the first virtual resource template may be the identification of the first virtual machine.
  • the first software image information may include the location information of the software image required for VNF deployment.
  • the second virtual resource template is used to describe the virtual resources required to deploy the second virtual machine.
  • the second virtual resource template includes the identifier of the second virtual resource template, the identifier of the second processor architecture, the number of second processors, the frequency of the second processors, the number of memory, and second software image information.
  • the first processor architecture is different from the second processor architecture.
  • the first processor architecture may refer to the x86 processor architecture
  • the second processor architecture may refer to the ARM processor architecture.
  • the first processor architecture may refer to the ARM processor architecture
  • the second processor architecture may refer to the x86 processor architecture.
  • the VDU includes a first deployment condition and a second deployment condition.
  • the first deployment condition indicates the correspondence between the VDU and the first virtual resource template. It is understandable that when the remaining resources of the server based on the first processor architecture meet the virtual resource requirements of the first virtual machine, the VNFM determines that the first deployment condition is met, and the VDU is associated with the first virtual resource template using the first deployment condition. Deploy the first virtual machine on the first server according to the first virtual resource template indicated by the identifier of the first virtual resource template.
  • the second deployment condition indicates the correspondence between the VDU and the second virtual resource template. It is understandable that when the remaining resources of the server based on the second processor architecture meet the virtual resource requirements of the second virtual machine, the VNFM determines that the second deployment condition is satisfied, and the second deployment condition is used to associate the VDU with the second virtual resource template. Deploy the second virtual machine on the second server according to the second virtual resource template indicated by the identifier of the second virtual resource template.
  • VDU may also include general parameters. For example: name (name), description (description), configurable properties (configurable_properties), VDU brief description (vdu_profile), etc.
  • VNFD can also include input parameters and so on.
  • the VNFM may send a VNFD acquisition request to the NFVO, and the VNFD acquisition request includes the VNFD identifier.
  • the VNFD identifier is used to indicate the VNFD.
  • the VNFD identifier may be notified to the VNFM in advance by the NFVO.
  • the NFVO acquires the VNFD according to the VNFD identifier, and sends a VNFD response to the VNFM.
  • the VNFD response includes the VNFD.
  • the VNFM obtains the VNFD, it sends a reception response to NFVO to inform NFVO that the VNFD has been successfully received.
  • the VNFM sends a virtual resource authorization request to the NFVO.
  • VNFM After VNFM receives the VNFD sent by NFVO and parses the VNFD, it sends the identification of the first virtual resource template and the identification of the second virtual resource template to NFVO, requesting authorization for the virtual resources required to deploy the first virtual machine or request The virtual resources required to deploy the second virtual machine are authorized.
  • the virtual resource authorization request includes the identifier of the first virtual resource template and the identifier of the second virtual resource template.
  • the virtual resource authorization request further includes the identifier of the VDU, so that the NFVO can determine that both the first virtual resource template and the second virtual resource template are associated with the VDU, and the NFVO can select a virtual resource template from them.
  • the identifier of the VDU and the identifier of the first virtual resource template may be content defined by the first resource.
  • the identifier of the VDU and the identifier of the second virtual resource template may be content defined by the second resource.
  • Both the first virtual resource template and the second virtual resource template are nodes associated with VDU1, and NFVO can select a virtual resource template from them.
  • the virtual resource authorization request may not need to include the identifier of VDU1. At this time, it implicitly indicates that VM_1 and VM_2 are alternatives.
  • the NFVO receives the virtual resource authorization request sent by the VNFM.
  • the NFVO parses the virtual resource authorization request to obtain the identifier of the first virtual resource template and the identifier of the second virtual resource template.
  • NFVO can obtain the first virtual resource template according to the identifier of the first virtual resource template.
  • the first virtual resource template includes the identifier of the first processor architecture, the number of first processors, the frequency of the first processors, the amount of memory, and The first software image information; and, NFVO obtains the second virtual resource template according to the identifier of the second virtual resource template, the second virtual resource template includes the identifier of the second processor architecture, the number of second processors, and the second processor The frequency, the amount of memory and the second software image information.
  • the NFVO can determine the need to use the virtual resources of the first processor architecture or the virtual resources of the second processor architecture.
  • the NFVO may obtain the remaining virtual resource information of the server based on the first processor architecture and the remaining virtual resource information of the server based on the second processor architecture from the data center.
  • the data center may refer to VIM.
  • NFVO can obtain the first virtual resource template and the second virtual resource template locally.
  • NFVO After NFVO obtains the remaining virtual resource information of the first processor architecture, it determines whether the remaining virtual resources of the first processor architecture meets the virtual resource requirements of the first virtual machine, and determines whether the remaining virtual resources of the second processor architecture meet The virtual resource requirements of the second virtual machine.
  • NFVO may Freely choose the remaining virtual resources of one of the architectures to deploy the corresponding virtual machine.
  • the remaining virtual resources of the first processor architecture when the remaining virtual resources of the first processor architecture meet the virtual resource requirements of the first virtual machine, and the remaining virtual resources of the second processor architecture meet the virtual resource requirements of the second virtual machine, it may be based on The priority of the processor architecture authorizes virtual resources.
  • S304a-S306a are executed.
  • S304b-S306b executes S304b-S306b.
  • the priority of the first processor architecture is higher than the priority of the second processor architecture as an example for description.
  • the virtual resource authorization request further includes the identification of the VDU.
  • the NFVO may determine to select a virtual resource template from the two virtual resource templates according to the identifier of the VDU, and authorize the resource corresponding to the virtual resource template.
  • NFVO NFVO
  • the VNFM sends a virtual resource authorization failure response. At this time, it indicates that the VNFM fails to deploy the virtual machine.
  • the NFVO sends a first virtual resource authorization response to the VNFM.
  • the first virtual resource authorization response includes the identification of the first virtual resource template and the address information of the first server.
  • NFVO can obtain the address information of the first server in the data center.
  • the first virtual resource authorization response may also include the identifier of the VDU.
  • the VNFM knows that the first virtual resource authorization response is a feedback for the VDU, which authorizes the virtual resources required by the first virtual machine.
  • the VNFM may deploy the first virtual machine on the remaining virtual resources of the first server, and the processor architecture of the first server is the same as the first processor architecture.
  • resourceDefinition_1 #The identification of the first resource definition
  • the first virtual resource authorization response includes the identifier defined by the first resource and the address information of the first server.
  • the first resource definition includes the identifier of the VDU and the identifier of the first virtual resource template.
  • the VNFM receives the first virtual resource authorization response sent by the NFVO.
  • the VNFM deploys the first virtual machine on the first server according to the first virtual resource template indicated by the identifier of the first virtual resource template.
  • the VNFM may determine that the first virtual resource authorization response is a feedback for the VDU according to the identifier of the VDU, and determine to authorize the virtual resource corresponding to the first virtual resource template according to the identifier of the first virtual resource template.
  • the first deployment condition is that the architecture of the processor is the first processor architecture. Since the first deployment condition indicates the correspondence between the VDU and the first virtual resource template, the VNFM deploys the first virtual machine on the first server according to the first virtual resource template indicated by the identifier of the first virtual resource template.
  • the VNFM sends a virtual resource application request to the data center.
  • the virtual resource application request includes the address information of the first server, and the data center authorizes the resources of the first server.
  • the VNFM can be deployed on the first server according to the virtual resources described in the first virtual resource template. The first virtual machine. Subsequently, the VNFM can also deploy VDU general parameters, software images, etc. on the first virtual machine.
  • the specific deployment process can refer to related explanations in the prior art and will not be repeated.
  • the NFVO sends a second virtual resource authorization response to the VNFM.
  • the second virtual resource authorization response includes the identification of the second virtual resource template and the address information of the second server.
  • NFVO can obtain the address information of the second server in the data center.
  • the second virtual resource authorization response may also include the identifier of the VDU.
  • the VNFM knows that the second virtual resource authorization response is a feedback for the VDU, which authorizes the virtual resources required by the second virtual machine.
  • NFVO can deploy a second virtual machine on the remaining virtual resources of the second server, and the processor architecture of the second server is the same as the second processor architecture.
  • the second virtual resource authorization response includes the identifier defined by the second resource and the address information of the second server.
  • the second resource definition includes the identifier of the VDU and the identifier of the second virtual resource template.
  • the VNFM receives the second virtual resource authorization response sent by the NFVO.
  • the VNFM deploys the second virtual machine on the second server according to the second virtual resource template indicated by the identifier of the second virtual resource template.
  • the VNFM may determine that the second virtual resource authorization response is a feedback for the VDU according to the identifier of the VDU, and determine to authorize the virtual resource corresponding to the second virtual resource template according to the identifier of the second virtual resource template.
  • the second deployment condition is that the architecture of the processor is the second processor architecture. Since the second deployment condition indicates the correspondence between the VDU and the second virtual resource template, the VNFM deploys the second virtual machine on the second server according to the second virtual resource template indicated by the identifier of the second virtual resource template. Specifically, the VNFM sends a virtual resource application request to the data center.
  • the virtual resource application request includes the address information of the second server, and the data center authorizes the resources of the second server.
  • the VNFM can use the virtual resource described in the second virtual resource template to access the second server. Deploy the second virtual machine on the server. Subsequently, the VNFM can also deploy VDU general parameters, software images, etc. on the second virtual machine. For details, reference can be made to related explanations in the prior art and will not be repeated.
  • the VDU further includes an operation instruction for instructing to deploy the first virtual machine when the first deployment condition is met or to deploy the second virtual machine when the second deployment condition is met, the first virtual machine being the first deployment condition The indicated virtual machine associated with the first virtual resource template, and the second virtual machine is the virtual machine associated with the second virtual resource template indicated by the second deployment condition.
  • the first virtual resource authorization response includes the identifier of the first virtual resource template, indicating that the NFVO describes the virtual resource required for deploying the first virtual machine in the first virtual resource template.
  • the VNFM can deploy the first virtual machine on the first server according to the first virtual resource template indicated by the identifier of the first virtual resource template.
  • the operation instruction is used to instruct the deployment of the first virtual machine when the first deployment condition is met. .
  • the second virtual resource authorization response sent by the NFVO received by the VNFM includes the identifier of the second virtual resource template, indicating that the NFVO describes the virtual resources required for deploying the second virtual machine in the second virtual resource template.
  • the VNFM can deploy the second virtual machine on the second server according to the second virtual resource template indicated by the identifier of the second virtual resource template.
  • the operation instruction is used to instruct to deploy the second virtual machine when the second deployment condition is met. .
  • the first virtual resource template further includes a first deployment instruction, and the first deployment instruction is used to indicate that the first virtual machine is optional for deployment.
  • the second virtual resource template further includes a second deployment instruction, and the second deployment instruction is used to indicate that the second virtual machine is optional for deployment.
  • the first virtual resource template further includes a first instance number instruction, and the first instance number instruction is used to indicate the number of deployed first virtual machines.
  • the second virtual resource template also includes a second number of instances instruction, and the second number of instances instruction is used to indicate the number of deployed second virtual machines.
  • the VNFM may instruct to deploy multiple first virtual machines according to the first instance number, thereby improving the reliability of the first virtual machine.
  • the NFVO may notify the VNFM of the value of the number of first virtual machines through the VNF instantiation request.
  • the VNFM may instruct to deploy multiple second virtual machines according to the second instance number, thereby improving the reliability of the second virtual machine.
  • the NFVO may notify the VNFM of the value of the number of second virtual machines through the VNF instantiation request.
  • the virtual resource description of the virtual machine contained in the VDU is separated and described separately, that is, two virtual resource templates of different processor architectures are formulated in the VNFD.
  • the virtual resource authorization request sent by VNFM to NFVO is used to request the authorization of virtual resources for different processor architectures.
  • NFVO can flexibly select the remaining virtual resources from the remaining virtual resources of different processor architectures, and the remaining virtual resources meet the requirements of deploying virtual machines. Virtual resources required.
  • the NFVO sends the first virtual resource authorization response or the second virtual resource authorization response to the VNFM to authorize the VNFM to deploy the virtual resources required by the first virtual machine or the virtual resources required by the second virtual machine.
  • the VNFM can The first virtual machine or the second virtual machine is deployed on the server corresponding to the remaining virtual resources of the processor architecture. Compared with the prior art that can only deploy virtual machines on the remaining virtual resources of one processor architecture, this application can effectively improve the success rate and efficiency of deploying virtual machines.
  • VDU1 describes the demand for virtual resources based on the x86 processor architecture and the corresponding software image.
  • VM_2 describes the demand for virtual resources based on the ARM processor architecture and the corresponding software image.
  • the VDU1 node describes the general parameter information of the virtual deployment unit in this example. For example: name, minimum number of instantiations and maximum number of instantiations, etc.
  • VDU1 also uses requirements to describe the requirements for virtual resources.
  • the grammatical structure of requirement is the grammar supported by existing TOSCA. The requirement description is as follows:
  • node_filter is used to describe specific requirements for virtual resources.
  • the node_filter description is as follows:
  • the requirement corresponding to the first -and is "cpu_architecture:[equal:x86]", indicating that VDU1 has a corresponding relationship with a virtual resource template with a processor architecture of x86, that is, VDU1 has a corresponding relationship with VM_1.
  • VDU_architecture:[equal:x86] indicating that VDU1 has a corresponding relationship with a virtual resource template with a processor architecture of x86, that is, VDU1 has a corresponding relationship with VM_1.
  • the requirement corresponding to the second -and is "cpu_architecture:[equal:ARM]", indicating that VDU1 has a corresponding relationship with the virtual resource template whose processor architecture is ARM, that is, VDU1 has a corresponding relationship with VM_2.
  • VDU1 has a corresponding relationship with the virtual resource template whose processor architecture is ARM, that is, VDU1 has a corresponding relationship with VM_2.
  • action is used to describe a specific action, that is, when the first-and or second-and is satisfied.
  • the action is to execute the deployment operation, that is, deploy the VM_1 node or VM_2 node.
  • the value of directive is also set.
  • the value of directive is optional_deploy, which is used to indicate that the node is optional for deployment and will only be deployed when the conditions are met. In this example, only the VM nodes selected in the condition of VDU1 will be deployed.
  • the VDU may not include the first deployment condition and the second deployment condition.
  • the description of node_filter may not be included in the description of the requirement.
  • the first virtual resource template includes a first deployment instruction, and the first deployment instruction is used to indicate that the first virtual machine is optional for deployment.
  • the second virtual resource template includes a second deployment instruction, and the second deployment instruction is used to indicate that the second virtual machine is optional for deployment.
  • the VNFM may determine which virtual resource template to select to deploy the virtual machine according to the identifier of the virtual resource template included in the received virtual resource authorization response.
  • the first virtual resource authorization response received by the VNFM the first virtual resource authorization response includes the identifier of the first virtual resource template, and the VNFM deploys the first virtual machine according to the first virtual resource template.
  • the VNFM receives the second virtual resource authorization response, the second virtual resource authorization response includes the identifier of the second virtual resource template, and the VNFM deploys the second virtual machine according to the second virtual resource template.
  • two virtual resource templates are used as an example for description.
  • at least two (eg, three or more) virtual resource templates can be set, and at least two virtual resource templates can be set.
  • the processor architecture in the template is different.
  • deployment conditions are set for each virtual machine in the VDU, thereby further improving the success rate of deploying virtual machines.
  • a VNFD may include multiple VDUs, one VDU is used to describe part of the functions of a VNF, and the multiple VDUs included in the VNFD jointly implement a VNF.
  • the description of the virtual resources included in each VDU can be separated, at least two virtual resource templates are set, the virtual machines are deployed according to the method for deploying virtual machines provided in this application, and each VDU is associated with its corresponding virtual resource template. For details, reference may be made to the description of the above-mentioned embodiment, which will not be repeated.
  • Fig. 4A is a schematic structural diagram of another VNFD provided by this application.
  • Fig. 4B is a schematic diagram of the VNF structure obtained after the deployment of the above-mentioned VNFD.
  • the VNFD includes VDU1, VDU2, CP_A, CP_B, VL, a virtual resource template with a processor architecture of x86_A, a virtual resource template with a processor architecture of ARM_A, a virtual resource template with a processor architecture of x86_B, and
  • the processor architecture is a virtual resource template of ARM_B.
  • VDU1 is associated with the virtual resource template of the x86_A virtual machine and the virtual resource template of the ARM_A virtual machine.
  • VDU2 is associated with the virtual resource template of the x86_B virtual machine and the virtual resource template of the ARM_B virtual machine.
  • the VNFM is deployed using the above-mentioned VNFD, and the VNF obtained after deployment includes VNFC1, VNFC2, CP_A instance, CP_B instance, and VL instance.
  • VDU1 in VNFD generates VNFC1 after deployment, and VNFC1 is deployed on a virtual machine with a processor architecture of x86_A.
  • VDU2 in VNFD generates VNFC2 after deployment, and VNFC2 is deployed on a virtual machine with a processor architecture of ARM_B.
  • the virtualization service provider when the virtualization service provider knows the resource usage of the servers in the data center, it can specify to deploy virtual machines on two servers with different processor architectures, so as to realize the VDU is deployed on the server of the processor architecture to reduce the load of a single server and realize load sharing.
  • the number of deployed virtual machines can also be specified through the VNF instantiation request, thereby improving the reliability of the virtual machines.
  • FIG. 5 is a flowchart of a method for deploying a virtual machine provided by an embodiment of the application. As shown in FIG. 5, the method may include:
  • the VNFM obtains the VNFD.
  • the VNFM can receive the VNFD sent by the NFVO, parse the VNFD, and obtain the content of the VNFD.
  • the VNFD includes a first virtual resource template and a second virtual resource template.
  • the VDU also includes node demand parameters.
  • the first virtual resource template includes node types
  • the second virtual resource template includes node types.
  • the VNFM sends a virtual resource authorization request to the NFVO.
  • the NFVO receives the virtual resource authorization request sent by the VNFM.
  • the NFVO may obtain the first virtual machine's information according to the identifier of the first virtual resource template and the identifier of the second virtual resource template included in the virtual resource authorization request. Virtual resource requirements and virtual resource requirements of the second virtual machine.
  • NFVO can obtain the corresponding first virtual resource template according to the identifier of the first virtual resource template, and obtain the corresponding second virtual resource template according to the identifier of the second virtual resource template, and then obtain the corresponding second virtual resource template from the first virtual resource template. And the second virtual resource template to obtain the virtual resource demand of the first virtual machine and the virtual resource demand of the second virtual machine respectively.
  • Virtual resource requirements may also be referred to as virtual hardware requirements or resource requirements.
  • the virtual resource requirements include memory requirements and processor requirements.
  • the virtual resource requirements of the first virtual machine are:
  • the virtual resource requirements of the second virtual machine are:
  • the first virtual resource template and the second virtual resource template obtained locally by NFVO are consistent with the first virtual resource template and the second virtual resource template in the VDU received by the VNFM, so the virtual resource requirements of the first virtual machine obtained by NFVO
  • the virtual resource requirements of the second virtual machine and the resources requested by the VNFM are also consistent.
  • NFVO obtains the remaining virtual resource information of the server based on the first processor architecture and the remaining virtual resource information of the server based on the second processor architecture from the data center.
  • the data center can be referred to as VIM.
  • NFVO After NFVO obtains the remaining virtual resource information of the first processor architecture, it determines whether the remaining virtual resources of the first processor architecture meets the virtual resource requirements of the first virtual machine, and determines whether the remaining virtual resources of the second processor architecture meet The virtual resource requirements of the second virtual machine.
  • the NFVO sends a first virtual resource authorization response to the VNFM.
  • the first virtual resource authorization response includes the identification of the first virtual resource template, the identification of the second virtual resource template, the address information of the first server, and the address information of the second server.
  • NFVO can obtain the address information of the first server and the address information of the second server in the data center.
  • the first virtual resource authorization response may also include the identifier of the VDU.
  • the VNFM can know from the content contained in the first virtual resource authorization response that the first virtual resource authorization response is a feedback for the VDU, which authorizes the virtual resources required by the first virtual machine and the virtual resources required by the second virtual machine Give authorization.
  • the VNFM may deploy the first virtual machine on the remaining virtual resources of the first server, and deploy the second virtual machine on the remaining virtual resources of the second server.
  • the processor architecture of the first server is the same as the first processor architecture.
  • the processor architecture of the second server is the same as the second processor architecture.
  • the VNFM receives the first virtual resource authorization response sent by the NFVO.
  • the VNFM deploys the first virtual machine on the first server according to the first virtual resource template indicated by the identifier of the first virtual resource template.
  • the VNFM deploys the second virtual machine on the second server according to the second virtual resource template indicated by the identifier of the second virtual resource template.
  • the VNFM may determine that the first virtual resource authorization response is a feedback for the VDU according to the identifier of the VDU, and determine that the virtual resource corresponding to the first virtual resource template is authorized according to the identifier of the first virtual resource template.
  • the identifier of the second virtual resource template determines that the virtual resource corresponding to the second virtual resource template is authorized, and the VNFM deploys the first virtual machine according to the first virtual resource template, and deploys the second virtual machine according to the second virtual resource template.
  • the VNFM sends a virtual resource application request to the data center.
  • the virtual resource application request includes the address information of the first server and the address information of the second server.
  • the data center authorizes the resources of the first server and the resources of the second server, and the VNFM can
  • the first virtual machine is deployed on the first server according to the virtual resource described by the first virtual resource template
  • the second virtual machine is deployed on the second server according to the virtual resource described by the second virtual resource template.
  • the VNFM determines that the value of the node type of the first virtual resource template and the value of the node type of the second virtual resource template are the node requirement parameters in the VDU, and the VDU is deployed on the first virtual machine and the second virtual machine.
  • the VNFM determines that the value of the node type of the first virtual resource template and the value of the node type of the second virtual resource template are the node requirement parameters in the VDU, and the VDU is deployed on the first virtual machine and the second virtual machine.
  • the virtual resource description of the virtual machine contained in the VDU is separated and described separately, that is, two virtual resource templates of different processor architectures are formulated in the VNFD.
  • the virtual resource authorization request sent by the VNFM to the NFVO is used to request authorization for virtual resources of different processor architectures, and the NFVO authorizes different remaining virtual resources, and the remaining virtual resources all meet the virtual resources required to deploy the virtual machine.
  • the NFVO sends the first virtual resource authorization response or the second virtual resource authorization response to the VNFM to authorize the VNFM to deploy the virtual resources required by the first virtual machine or the virtual resources required by the second virtual machine.
  • the VNFM can The first virtual machine or the second virtual machine is deployed on the server corresponding to the remaining virtual resources of the processor architecture. Compared with the prior art that can only deploy virtual machines on the remaining virtual resources of one processor architecture, this application can effectively improve the success rate and efficiency of deploying virtual machines.
  • VNFD defined in the embodiment of this application.
  • the values of the node types in the template of VM_1 and the template of VM_2 are the node requirement parameters in VDU1, so that VDU1 can be deployed on VM_1 and VM_2.
  • the value of instance_count in the template of VM_1 and VM_2 comes from get_input, that is, the value is obtained from the VNF instantiation request.
  • the input x86_num is 0 and ARM_num is 10, it means that all 10 instances of VDU1 need to be deployed on the VM_2 node of the ARM-based server; if x86_num is 5 and ARM_num is 5, it means that the VDU is 5 One instance needs to be deployed on the VM_1 node of the x86-based server, and the other 5 instances need to be deployed on the VM_2 node of the ARM-based server.
  • VNFM nodes
  • NFVO nodes
  • the VNFM and NFVO include corresponding hardware structures and/or software modules for performing each function.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed by hardware or computer software-driven hardware depends on the specific application and design constraints of the technical solution.
  • the embodiment of the present application may divide the function modules of VNFM and NFVO according to the foregoing method examples.
  • each function module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or software functional modules. It should be noted that the division of modules in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
  • FIG. 6 shows a schematic diagram of a possible composition of the communication device involved in the foregoing and embodiments, and the communication device can execute the VNFM and NFVO in the method embodiments of this application. The steps performed.
  • the communication device may include: a receiving unit 601, a processing unit 602, and a sending unit 603.
  • the receiving unit 601 is configured to support the VNFM to execute the method described in the embodiment of the present application.
  • the receiving unit 601 is configured to perform or support the communication device to perform S301, S305a, and S305b in the method shown in FIG. 3, and S501 and S505 in the method shown in FIG.
  • the processing unit 602 is configured to execute or support the VNFM to execute S306a and S306b in the method shown in FIG. 3, and S506 and S507 in the method shown in FIG.
  • the sending unit 603 is configured to perform or support the VNFM to perform S302 in the method shown in FIG. 3 and S502 in the method shown in FIG. 5.
  • the receiving unit 601 When the communication device is NFVO, the receiving unit 601 is used to support NFVO to execute the method described in the embodiment of the present application.
  • the receiving unit 601 is configured to perform or support NFVO to perform S303 in the method shown in FIG. 3 and S503 in the method shown in FIG. 5.
  • the sending unit 603 is configured to execute or support NFVO to execute S304a and S304b in the method shown in FIG. 3, and S504 in the method shown in FIG. 5.
  • the communication device provided in the embodiment of the present application is used to execute the method of any of the foregoing embodiments, and therefore can achieve the same effect as the method of the foregoing embodiment.
  • a communication device 700 provided by an embodiment of the application is used to implement the function of the VNFM in the above method.
  • the communication device 700 may be a VNFM or a device in the VNFM.
  • the communication device 700 may be a chip system.
  • the chip system may be composed of chips, or may include chips and other discrete devices.
  • the communication device 700 is used to implement the function of NFVO in the foregoing method.
  • the communication device 700 may be NFVO or a device in NFVO. Wherein, the communication device 700 may be a chip system.
  • the communication device 700 includes at least one processor 701, configured to implement the function of the VNFM or NFVO in the method provided in the embodiment of the present application.
  • the processor 701 may be configured to deploy a virtual machine or the like according to a virtual resource template indicated by a deployment condition. For details, refer to the detailed description in the method example, which will not be repeated here.
  • the communication device 700 may also include at least one memory 702 for storing program instructions and/or data.
  • the memory 702 and the processor 701 are coupled.
  • the coupling in the embodiments of the present application is an indirect coupling or communication connection between devices, units, or modules, and may be in electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.
  • the processor 701 may cooperate with the memory 702 to operate.
  • the processor 701 may execute program instructions stored in the memory 702. At least one of the at least one memory may be included in the processor.
  • the processor 701 and the memory 702 may also be a virtualized processor and a virtualized memory.
  • the communication device 700 may further include a communication interface 703 for communicating with other devices through a transmission medium, so that the device used in the communication device 700 can communicate with other devices.
  • a communication interface 703 for communicating with other devices through a transmission medium, so that the device used in the communication device 700 can communicate with other devices.
  • the communication device is a VNFM
  • the other device is an NFVO device.
  • the communication device is NFVO equipment
  • the other equipment is VNFM equipment.
  • the processor 701 uses the communication interface 703 to send and receive data, and is used to implement the method executed by the VNFM or NFVO described in the embodiments corresponding to FIG. 3 and FIG. 5.
  • the aforementioned communication device 700 may also include a network interface for communicating with external devices.
  • the network interface is used to communicate with VIM and so on.
  • the embodiment of the present application does not limit the specific connection medium between the aforementioned communication interface 703, the processor 701, and the memory 702.
  • the communication interface 703, the processor 701, and the memory 702 are connected by a bus 704 in FIG. 7.
  • the bus is represented by a thick line in FIG. 7.
  • the connection mode between other components is only for schematic illustration. , Is not limited.
  • the bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one thick line is used in FIG. 7, but it does not mean that there is only one bus or one type of bus.
  • the processor may be a general-purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, and may implement or Perform the methods, steps, and logic block diagrams disclosed in the embodiments of the present application.
  • the general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed and completed by a hardware processor, or executed by a combination of hardware and software modules in the processor.
  • the memory may be a non-volatile memory, such as a hard disk drive (HDD) or a solid-state drive (SSD), etc., or a volatile memory (volatile memory), for example Random-access memory (random-access memory, RAM).
  • the memory is any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto.
  • the memory in the embodiments of the present application may also be a circuit or any other device capable of realizing a storage function, for storing program instructions and/or data.
  • the disclosed device and method may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the modules or units is only a logical function division.
  • there may be other division methods for example, multiple units or components may be It can be combined or integrated into another device, or some features can be omitted or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate parts may or may not be physically separate.
  • the parts displayed as units may be one physical unit or multiple physical units, that is, they may be located in one place, or they may be distributed to multiple different places. . Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • each unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the methods provided in the embodiments of the present application may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software When implemented by software, it can be implemented in the form of a computer program product in whole or in part.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, a network device, a terminal, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a digital video disc (DVD)), or a semiconductor medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种部署虚拟机的方法及相关装置,涉及网络功能虚拟化领域。该方法包括:在 VNFD 中设置至少两个虚拟资源模板。VNFM 向 NFVO 发送的虚拟资源授权请求用于请求对不同处理器架构的虚拟资源授权,NFVO 可以从不同处理器架构的剩余虚拟资源中灵活地选择剩余虚拟资源,且该剩余虚拟资源满足部署虚拟机所需的虚拟资源。随后,NFVO 向 VNFM 发送第一虚拟资源授权响应或第二虚拟资源授权响应,以授权所述 VNFM 部署第一虚拟机所需的虚拟资源或部署第二虚拟机所需的虚拟资源,VNFM 可以在对应该处理器架构的剩余虚拟资源的服务器上部署第一虚拟机或第二虚拟机。相对于现有技术中只能在一种处理器架构的剩余虚拟资源上部署虚拟机,该方法能够有效地提高部署虚拟机的成功率和效率

Description

一种部署虚拟机的方法及相关装置
本申请要求于2019年8月2日提交中国国家知识产权局、申请号为201910713371.7、发明名称为“一种部署虚拟机的方法及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及网络功能虚拟化领域,尤其涉及一种部署虚拟机的方法及相关装置。
背景技术
网络功能虚拟化(network function virtualization,NFV)技术是采用虚拟化技术将传统网络中专用设备的功能虚拟化为独立的应用,灵活地部署在基于标准的计算硬件、存储硬件和网络硬件等其他设备构建的统一基础设施平台上。在NFV系统中,发起实例化虚拟网络功能(virtual network function,VNF)请求的一方可以称为虚拟化业务请求方。接收实例化VNF请求,并根据实例化VNF请求部署VNF的一方可以称为虚拟化业务提供方。在虚拟化业务提供方接收到实例化VNF请求后,还需要获取VNF模板(VNF descriptor,VNFD)。其中,VNFD包括虚拟部署单元(Virtualisation Deployment Unit,VDU)。所述VDU包括了部署虚拟机(virtual machine,VM)所需的虚拟资源描述。例如,虚拟资源描述包括处理器架构、处理器数量和处理器频率等。
传统技术中,在数据中心中对应所述虚拟资源描述中的处理器架构的剩余虚拟资源无法满足部署该虚拟机所需的虚拟资源的情况下,造成部署虚拟机失败。
发明内容
本申请提供了一种部署虚拟机的方法及相关装置,能够有效地提高部署虚拟机的成功率。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供了一种部署虚拟机的方法,该方法可应用于网络功能虚拟化编排器(NFV orchestrator,NFVO)设备。所述方法包括:NFVO接收虚拟资源授权请求,获取虚拟化基础设施管理器(virtualized infrastructure manager,VIM)中的第一处理器架构的剩余虚拟资源和第二处理器架构的剩余虚拟资源,如果NFVO确定第一处理器架构的剩余虚拟资源满足第一虚拟机的虚拟资源需求,向VNF管理器(VNF manager,VNFM)发送第一虚拟资源授权响应,以授权所述VNFM部署所述第一虚拟机所需的虚拟资源,第一虚拟资源授权响应包括第一虚拟资源模板的标识和第一服务器的地址信息,第一服务器的处理器架构与第一处理器架构相同。如果NFVO确定第二处理器架构的剩余虚拟资源满足第二虚拟机的虚拟资源需求,向VNFM发送第二虚拟资源授权响应,以授权所述VNFM部署所述第二虚拟机所需的虚拟资源,第二虚拟资源授权响应包括第二虚拟资源模板的标识和 第二服务器的地址信息,第二服务器的处理器架构与第二处理器架构相同。
其中,虚拟资源授权请求用于请求对部署第一虚拟机所需的虚拟资源或第二虚拟机所需的虚拟资源进行授权。在一些实施例中,虚拟资源授权请求包括第一虚拟资源模板的标识和第二虚拟资源模板的标识。第一虚拟资源模板用于描述部署第一虚拟机所需的虚拟资源,第一虚拟资源模板包括第一处理器架构的标识。第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源,第二虚拟资源模板包括第二处理器架构的标识。第一处理器架构与第二处理器架构不同。
本申请实施例提供的部署虚拟机的方法,NFVO可以从不同处理器架构的剩余虚拟资源中灵活地选择剩余虚拟资源,且该剩余虚拟资源满足部署虚拟机所需的虚拟资源。随后,NFVO向VNFM发送第一虚拟资源授权响应或第二虚拟资源授权响应,以授权所述VNFM部署第一虚拟机所需的虚拟资源或部署第二虚拟机所需的虚拟资源,VNFM可以在对应该处理器架构的剩余虚拟资源的服务器上部署第一虚拟机或第二虚拟机。相对于现有技术中只能在一种处理器架构的剩余虚拟资源上部署虚拟机,本申请能够有效地提高部署虚拟机的成功率和效率。
在一种可能的设计中,在NFVO接收到虚拟资源授权请求之后,该方法还包括:NFVO先根据虚拟资源授权请求中包括的第一虚拟资源模板的标识获取第一虚拟资源模板,以及根据虚拟资源授权请求中包括的第二虚拟资源模板的标识获取第二虚拟资源模板,然后,从第一虚拟资源模板获取第一虚拟机的虚拟资源需求,从第二虚拟资源模板获取第二虚拟机的虚拟资源需求。从而,以便于NFVO确定第一处理器架构的剩余虚拟资源是否满足第一虚拟机的虚拟资源需求,以及NFVO确定第二处理器架构的剩余虚拟资源是否满足第二虚拟机的虚拟资源需求。
在另一种可能的设计中,当第一处理器架构的剩余虚拟资源满足第一虚拟机的虚拟资源需求,且第二处理器架构的剩余虚拟资源满足第二虚拟机的虚拟资源需求时,该方法还包括:确定第一处理器架构的优先级高于第二处理器架构的优先级,向VNFM发送所述第一虚拟资源授权响应;或,确定第一处理器架构的优先级低于第二处理器架构的优先级,向VNFM发送所述第二虚拟资源授权响应。从而,NFVO可以从不同处理器架构的剩余虚拟资源中灵活地选择剩余虚拟资源,且该剩余虚拟资源满足部署虚拟机所需的虚拟资源。随后,NFVO向VNFM发送第一虚拟资源授权响应或第二虚拟资源授权响应,以授权所述VNFM部署第一虚拟机所需的虚拟资源或部署第二虚拟机所需的虚拟资源,VNFM可以在对应该处理器架构的剩余虚拟资源的服务器上部署第一虚拟机或第二虚拟机。相对于现有技术中只能在一种处理器架构的剩余虚拟资源上部署虚拟机,本申请能够有效地提高部署虚拟机的成功率和效率。
在另一种可能的设计中,虚拟资源授权请求还包括VDU的标识,使得NFVO可以确定第一虚拟资源模板和第二虚拟资源模板均是与该VDU关联的。VDU可以包括通用参数。比如:名称(name)、描述(description)、可配置属性(configurable_properties)、VDU简述(vdu_profile)等。VNFD还可以包括输入参数等。从而,可以使VNFM可以将VDU部署在第一虚拟机或第二虚拟机上。
第二方面,提供了一种部署虚拟机的方法,该方法可应用于应用部署服务器。在一些 实施例中,该应用部署服务器可以是VNFM设备。所述方法包括:在VNFM接收到VNFD之后,向NFVO发送虚拟资源授权请求,请求对部署第一虚拟机所需的虚拟资源或第二虚拟机所需的虚拟资源进行授权。在VNFM接收到第一虚拟资源授权响应后,VNFM根据第一虚拟资源模板的标识指示的第一虚拟资源模板在第一服务器上部署第一虚拟机,第一虚拟资源授权响应包括第一虚拟资源模板的标识和第一服务器的地址信息,第一服务器的处理器架构与第一处理器架构相同;或者,在VNFM接收到第二虚拟资源授权响应后,VNFM根据第二虚拟资源模板的标识指示的第二虚拟资源模板在第二服务器上部署第二虚拟机,第二虚拟资源授权响应包括第二虚拟资源模板的标识和第二服务器的地址信息,第二服务器的处理器架构与第二处理器架构相同。
其中,VNFD包括VDU、第一虚拟资源模板和第二虚拟资源模板。第一虚拟资源模板用于描述部署第一虚拟机所需的虚拟资源,第一虚拟资源模板包括第一虚拟资源模板的标识和第一处理器架构的标识。第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源,第二虚拟资源模板包括第二虚拟资源模板的标识和第二处理器架构的标识。第一处理器架构与第二处理器架构不同。虚拟资源授权请求包括第一虚拟资源模板的标识和第二虚拟资源模板的标识。
本申请实施例提供的部署虚拟机的方法,VNFM向NFVO发送的虚拟资源授权请求用于请求对不同处理器架构的虚拟资源授权,NFVO可以从不同处理器架构的剩余虚拟资源中灵活地选择剩余虚拟资源,且该剩余虚拟资源满足部署虚拟机所需的虚拟资源。随后,NFVO向VNFM发送第一虚拟资源授权响应或第二虚拟资源授权响应,以授权所述VNFM部署第一虚拟机所需的虚拟资源或部署第二虚拟机所需的虚拟资源,VNFM可以在对应该处理器架构的剩余虚拟资源的服务器上部署第一虚拟机或第二虚拟机。相对于现有技术中只能在一种处理器架构的剩余虚拟资源上部署虚拟机,本申请能够有效地提高部署虚拟机的成功率和效率。
在一种可能的设计中,第一虚拟资源模板还包括第一实例数指令,第一实例数指令用于指示部署第一虚拟机的数量,第二虚拟资源模板还包括第二实例数指令,第二实例数指令用于指示部署第二虚拟机的数量。其中,第一虚拟机的数量的取值和/或第二虚拟机的数量的取值可以携带在VNF实例化请求中,通知给VNFM。从而,可以在一个虚拟机故障后,其他虚拟机可以继续为软件的运行提供支持,提高了虚拟机的可靠性。
在另一种可能的设计中,虚拟资源授权请求还包括虚拟部署单元VDU的标识。VDU包括第一部署条件和第二部署条件。
其中,第一部署条件指示VDU与第一虚拟资源模板的对应关系。可理解的,当基于第一处理器架构的服务器的剩余资源满足第一虚拟机的虚拟资源需求时,VNFM确定满足第一部署条件,利用第一部署条件将VDU与第一虚拟资源模板关联,根据第一虚拟资源模板的标识指示的第一虚拟资源模板在第一服务器上部署第一虚拟机。
第二部署条件指示VDU与第二虚拟资源模板的对应关系。可理解的,当基于第二处理器架构的服务器的剩余资源满足第二虚拟机的虚拟资源需求时,VNFM确定满足第二部署条件,利用第二部署条件将VDU与第二虚拟资源模板关联,根据第二虚拟资源模板的标识指示的第二虚拟资源模板在第二服务器上部署第二虚拟机。
从而,可以通过第一部署条件将VDU与第一虚拟资源模板关联,通过第二部署条件将VDU与第二虚拟资源模板关联。
在一些实施例中,VNFM根据第一虚拟资源模板的标识指示的第一虚拟资源模板在第一服务器上部署第一虚拟机,包括:当VNFM确定满足第一部署条件,VNFM根据第一虚拟资源模板的标识指示的第一虚拟资源模板在第一服务器上部署第一虚拟机,第一部署条件指示VDU与第一虚拟资源模板的对应关系;或者,VNFM根据第二虚拟资源模板的标识指示的第二虚拟资源模板在第二服务器上部署第二虚拟机,包括:当VNFM确定满足第二部署条件,VNFM根据第二虚拟资源模板的标识指示的第二虚拟资源模板在第二服务器上部署第二虚拟机,第二部署条件指示VDU与第二虚拟资源模板的对应关系。
在另一种可能的设计中,VDU还包括操作指令。操作指令用于指示满足第一部署条件时部署第一虚拟机或满足第二部署条件时部署第二虚拟机,第一虚拟机为第一部署条件指示的与第一虚拟资源模板关联的虚拟机,第二虚拟机为第二部署条件指示的与第二虚拟资源模板关联的虚拟机。
在另一种可能的设计中,第一虚拟资源模板还包括第一部署指令,第一部署指令用于指示第一虚拟机为可选部署的,第二虚拟资源模板还包括第二部署指令,第二部署指令用于指示第二虚拟机为可选部署的。
从而,VNFM可以在对应该处理器架构的剩余虚拟资源的服务器上部署第一虚拟机或第二虚拟机。相对于现有技术中只能在一种处理器架构的剩余虚拟资源上部署虚拟机,本申请能够有效地提高部署虚拟机的成功率和效率。
第三方面,提供了一种部署虚拟机的方法,该方法可应用于网络功能虚拟化编排器设备。所述方法包括:NFVO接收虚拟资源授权请求,向VNFM发送虚拟资源授权响应,虚拟资源授权响应包括第一虚拟资源模板的标识、第二虚拟资源模板的标识、第一服务器的地址信息和第二服务器的地址信息,第一服务器的处理器架构与第一处理器架构相同,第二服务器的处理器架构与第二处理器架构相同。
其中,虚拟资源授权请求用于请求对部署第一虚拟机所需的虚拟资源和第二虚拟机所需的虚拟资源进行授权。在一些实施例中,虚拟资源授权请求包括第一虚拟资源模板的标识和第二虚拟资源模板的标识。第一虚拟资源模板用于描述部署第一虚拟机所需的虚拟资源,第一虚拟资源模板包括第一处理器架构的标识。第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源,第二虚拟资源模板包括第二处理器架构的标识。第一处理器架构与第二处理器架构不同。
本申请实施例提供的部署虚拟机的方法中,NFVO对不同处理器架构的剩余虚拟资源进行授权,且剩余虚拟资源均满足部署该虚拟机所需的虚拟资源。随后,NFVO向VNFM发送第一虚拟资源授权响应,以授权所述VNFM部署第一虚拟机所需的虚拟资源和部署第二虚拟机所需的虚拟资源,VNFM可以在对应该处理器架构的剩余虚拟资源的服务器上部署第一虚拟机和第二虚拟机。相对于现有技术中只能在一种处理器架构的剩余虚拟资源上部署虚拟机,本申请能够有效地提高部署虚拟机的成功率和效率。
在一种可能的设计中,虚拟资源授权请求还包括VDU的标识,使得NFVO可以确定第一虚拟资源模板和第二虚拟资源模板均是与该VDU关联的。VDU可以包括通用参数。比如: 名称、描述、可配置属性、VDU简述等。VNFD还可以包括输入参数等。从而,可以使VNFM可以将VDU部署在第一虚拟机或第二虚拟机上。
第四方面,提供了一种部署虚拟机的方法,该方法可应用于应用部署服务器。在一些实施例中,该应用部署服务器可以是VNFM设备。所述方法包括:VNFM接收VNFD,向NFVO发送虚拟资源授权请求,请求对部署第一虚拟机所需的虚拟资源和第二虚拟机所需的虚拟资源进行授权。在VNFM接收到虚拟资源授权响应后,VNFM根据第一虚拟资源模板的标识指示的第一虚拟资源模板在第一服务器上部署第一虚拟机;VNFM根据第二虚拟资源模板的标识指示的第二虚拟资源模板在第二服务器上部署第二虚拟机。
其中,VNFD包括VDU、第一虚拟资源模板和第二虚拟资源模板。第一虚拟资源模板用于描述部署第一虚拟机所需的虚拟资源,第一虚拟资源模板包括第一虚拟资源模板的标识和第一处理器架构的标识。第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源,第二虚拟资源模板包括第二虚拟资源模板的标识和第二处理器架构的标识。第一处理器架构与第二处理器架构不同。虚拟资源授权请求包括第一虚拟资源模板的标识和第二虚拟资源模板的标识。虚拟资源授权响应包括第一虚拟资源模板的标识、第二虚拟资源模板的标识、第一服务器的地址信息和第二服务器的地址信息,第一服务器的处理器架构与第一处理器架构相同,第二服务器的处理器架构与第二处理器架构相同。
本申请实施例提供的部署虚拟机的方法,VNFM向NFVO发送的虚拟资源授权请求用于请求对不同处理器架构的虚拟资源进行授权,NFVO对不同剩余虚拟资源进行授权,且该剩余虚拟资源均满足部署该虚拟机所需的虚拟资源。随后,NFVO向VNFM发送第一虚拟资源授权响应或第二虚拟资源授权响应,以授权所述VNFM部署第一虚拟机所需的虚拟资源或部署第二虚拟机所需的虚拟资源,VNFM可以在对应该处理器架构的剩余虚拟资源的服务器上部署第一虚拟机或第二虚拟机。相对于现有技术中只能在一种处理器架构的剩余虚拟资源上部署虚拟机,本申请能够有效地提高部署虚拟机的成功率和效率。
在一种可能的设计中,VDU包括节点需求参数,第一虚拟资源模板还包括节点类型,第二虚拟资源模板还包括节点类型,方法还包括:VNFM确定第一虚拟资源模板的节点类型的取值和第二虚拟资源模板的节点类型的取值均为VDU中的节点需求参数;VNFM将VDU部署在第一虚拟机和第二虚拟机上。从而,可以通过节点类型将VDU与第一虚拟资源模板和第二虚拟资源模板关联,VNFM将VDU部署在第一虚拟机和第二虚拟机上。
在另一种可能的设计中,第一虚拟资源模板还包括第一实例数指令,第一实例数指令用于指示部署第一虚拟机的数量,第二虚拟资源模板还包括第二实例数指令,第二实例数指令用于指示部署第二虚拟机的数量。其中,第一虚拟机的数量的取值和/或第二虚拟机的数量的取值可以携带在VNF实例化请求中,通知给VNFM。从而,可以在一个虚拟机故障后,其他虚拟机可以继续为软件的运行提供支持,提高了虚拟机的可靠性。
第五方面,提供了一种通信装置,用于实现上述第一方面或第三方面描述的方法。通信装置可以为网络功能虚拟化编排器设备。例如,装置包括:接收单元、处理单元和发送单元。所述接收单元,用于接收虚拟资源授权请求,虚拟资源授权请求用于请求对部署第一虚拟机所需的虚拟资源或第二虚拟机所需的虚拟资源进行授权,虚拟资源授权请求包括第一虚拟资源模板的标识和第二虚拟资源模板的标识。所述处理单元,用于确定VIM中的 第一处理器架构的剩余虚拟资源满足第一虚拟机的虚拟资源需求,所述发送单元,用于向VNFM发送第一虚拟资源授权响应,第一虚拟资源授权响应包括第一虚拟资源模板的标识和第一服务器的地址信息,第一服务器的处理器架构与第一处理器架构相同;在另一些实施例中,第一虚拟资源授权响应包括第一虚拟资源模板的标识、第二虚拟资源模板的标识、第一服务器的地址信息和第二服务器的地址信息,第一服务器的处理器架构与第一处理器架构相同,第二服务器的处理器架构与第二处理器架构相同;或者,所述处理单元,用于确定VIM中的第二处理器架构的剩余虚拟资源满足第二虚拟机的虚拟资源需求,所述发送单元,用于向VNFM发送第二虚拟资源授权响应,第二虚拟资源授权响应包括第二虚拟资源模板的标识和第二服务器的地址信息,第二服务器的处理器架构与第二处理器架构相同。
关于部署虚拟机的方法的具体实现方式可以参考上述第一方面或第三方面的阐述,不予赘述。
第六方面,提供了一种通信装置,用于实现上述第二方面或第四方面描述的方法。通信装置为应用部署服务器。例如,该通信装置包括:接收单元、发送单元和处理单元。所述接收单元,用于接收VNFD,VNFD包括元VDU、第一虚拟资源模板和第二虚拟资源模板,其中,第一虚拟资源模板用于描述部署第一虚拟机所需的虚拟资源,第一虚拟资源模板包括第一虚拟资源模板的标识和第一处理器架构的标识,第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源,第二虚拟资源模板包括第二虚拟资源模板的标识和第二处理器架构的标识,第一处理器架构与第二处理器架构不同;所述发送单元,用于向NFVO发送虚拟资源授权请求,虚拟资源授权请求用于请求对部署第一虚拟机所需的虚拟资源或第二虚拟机所需的虚拟资源进行授权,虚拟资源授权请求包括第一虚拟资源模板的标识和第二虚拟资源模板的标识;所述接收单元,还用于接收第一虚拟资源授权响应,第一虚拟资源授权响应包括第一虚拟资源模板的标识和第一服务器的地址信息,第一服务器的处理器架构与第一处理器架构相同;所述处理单元,用于根据第一虚拟资源模板的标识指示的第一虚拟资源模板在第一服务器上部署第一虚拟机;或者,所述接收单元,还用于接收第二虚拟资源授权响应,第二虚拟资源授权响应包括第二虚拟资源模板的标识和第二服务器的地址信息,第二服务器的处理器架构与第二处理器架构相同;所述处理单元,用于根据第二虚拟资源模板的标识指示的第二虚拟资源模板在第二服务器上部署第二虚拟机;或者,所述第一虚拟资源授权响应包括第一虚拟资源模板的标识、第二虚拟资源模板的标识、第一服务器的地址信息和第二服务器的地址信息,第一服务器的处理器架构与第一处理器架构相同,第二服务器的处理器架构与第二处理器架构相同;所述处理单元,用于根据第一虚拟资源模板的标识指示的第一虚拟资源模板在第一服务器上部署第一虚拟机;所述处理单元,还用于根据第二虚拟资源模板的标识指示的第二虚拟资源模板在第二服务器上部署第二虚拟机。
关于部署虚拟机的方法的具体实现方式可以参考上述第二方面或第四方面的阐述,不予赘述。
需要说明的是,上述第五方面和第六方面的功能模块可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。例如,收发器,用于完成接收单元和发送单元的功能,处理器,用于完成处理单元的功能,存储 器,用于处理器处理本申请的方法的程序指令。处理器、收发器和存储器通过总线连接并完成相互间的通信。具体的,可以参考第一方面所述的方法至第四方面所述的方法中的应用部署服务器或NFVO设备的行为的功能。
第七方面,本申请还提供了一种通信装置,用于实现上述第一方面或第三方面描述的方法。该通信装置包括芯片系统。例如所述通信装置包括处理器,用于实现上述第一方面或第三方面描述的方法中的功能。所述通信装置还可以包括存储器,用于存储程序指令和数据。所述存储器与所述处理器耦合,所述处理器可以调用并执行所述存储器中存储的程序指令,用于实现上述第一方面或第三方面描述的方法中的功能。所述通信装置还可以包括通信接口,所述通信接口用于该通信装置与其它设备进行通信。示例性地,所述通信装置为NFVO设备。
在一种可能的设备中,该通信接口可以是收发器。收发器,用于发送虚拟资源授权请求和接收虚拟资源授权响应。具体的可以参考上述各方面的阐述,不予赘述。
第八方面,本申请还提供了一种通信装置,用于实现上述第二方面或第四方面描述的方法。所述通信装置为应用部署服务器。例如所述通信装置包括处理器,用于实现上述第二方面或第四方面描述的方法中的功能。所述通信装置还可以包括存储器,用于存储程序指令和数据。所述存储器与所述处理器耦合,所述处理器可以调用并执行所述存储器中存储的程序指令,用于实现上述第二方面或第四方面描述的方法中的功能。所述通信装置还可以包括通信接口,所述通信接口用于该通信装置与其它设备进行通信。示例性地,若所述通信装置为应用部署服务器,该其它设备为NFVO设备。
在一种可能的设备中,该通信接口可以是收发器。处理器,用于根据第一虚拟资源模板的标识指示的第一虚拟资源模板在第一服务器上部署第一虚拟机,或者,根据第二虚拟资源模板的标识指示的第二虚拟资源模板在第二服务器上部署第二虚拟机。
第九方面,本申请还提供了一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在通信装置中运行时,使得通信装置执行上述第一方面至第四方面中任一方面所述的方法。
第十方面,本申请还提供了一种包含指令的计算机程序产品,当计算机程序产品在通信装置中运行时,使得通信装置执行上述第一方面至第四方面中任一方面所述的方法。
第十一方面,本申请提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述方法中应用部署服务器或NVFO设备的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
第十二方面,本申请还提供了一种通信系统,所述通信系统包括第五方面描述的NFVO设备以及第六方面描述的应用部署服务器;或所述通信系统包括第七方面描述的NFVO设备,以及第八方面描述的应用部署服务器。
另外,上述任意方面的设计方式所带来的技术效果可参见第一方面和第四方面中不同设计方式所带来的技术效果,此处不再赘述。
在以上任一方面的技术方案中,VDU中还包括链接点信息和虚拟网络。
在以上任一方面的技术方案中,VNFD使用TOSCA模型语言描述。
在以上任一方面的技术方案中,所述虚拟资源授权请求中携带VDU的标识。所述VDU 的标识与所述第一虚拟资源模板、第一虚拟资源模板关联。
附图说明
图1为本申请实施例提供的一种NFV系统架构示例图;
图2A为本申请提供的一种VNFD的结构示意图;
图2B为根据上述VNFD部署后得到的VNF的结构示意图;
图3为本申请提供的一种部署虚拟机的方法的流程图;
图4A为本申请提供的另一种VNFD的结构示意图;
图4B为根据上述VNFD部署后得到的VNF的结构示意图;
图5为本申请提供的另一种部署虚拟机的方法的流程图;
图6为本申请提供的一种通信装置的组成示意图;
图7为本申请提供的另一种通信装置的组成示意图。
具体实施方式
本申请说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍:
传统的电信系统是通过各种专用的硬件设备组成,不同的功能采用不同的硬件设备。随着网络规模的增长,电信系统越来越复杂,带来了诸多的挑战。例如,新增业务的开发上线、系统的运维和资源利用率等。为了应对这些挑战及利用互联网(internet technology,IT)业界的虚拟化技术及云计算技术,全球主要的13个电信运营商联合发布了网络功能虚拟化(network function virtualization,NFV)白皮书,并宣布在欧洲电信标准协会(europe telecommunications standards institute,ETSI)成立NFV行业规范组(industry specific group,ISG),制定NFV的需求及技术框架,推动NFV的发展。
NFV技术利用虚拟化技术对基础设施硬件设备(如计算设备、存储设备、网络设备)资源池化及虚拟化,对上层应用提供虚拟资源,实现软件和硬件解耦。开发新业务时,不需要单独部署硬件设备,只需要采用虚拟化技术将业务虚拟化为独立的应用(如VNF),从而,大大缩短新业务上线时间,且使得虚拟资源供给速度大大增加。
NFV技术利用云计算技术,可以实现应用的弹性伸缩,实现虚拟资源与业务负荷相匹配,不仅提升了虚拟资源的利用效率,而且改善了NFV系统的响应速率。
图1为本申请实施例提供的一种NFV系统架构示例图。NFV系统可以在各种网络中使用,例如在一个数据中心网络、运营商网络或局域网来实现。NFV系统包括一个NFV管理和编排系统(NFV management and orchestration,NFV MANO)101、NFV基础设施层(NFV  infrastructure,NFVI)102、多个虚拟网络功能(Virtual Network Function,VNF)103、多个网元管理(element management,EM)104和运营支持系统/业务支持系统(operation-support system/business support system,OSS/BSS)105。
其中,NFV MANO 101用于执行对NFVI 102和VNF 103的监视和管理。NFV管理和编排系统101包括NFV编排器(NFV orchestrator,NFVO)1011,一个或多个VNF管理器(VNF manager,VNFM)1012和虚拟化基础设施管理器(virtualized infrastructure manager,VIM)1013。
NFVO 1011主要负责处理虚拟化业务的生命周期管理、虚拟基础设施及NFVI中虚拟资源的分配和调度等。NFVO 1011也可以执行来自一个或多个VNFM 1012的资源相关请求(如:请求获取VNFD),发送配置信息(如:VNFD、修改VNF信息请求和VNF实例化请求)到VNFM 1012,并收集VNF 103的状态信息。VNFD可以存储在NFVO上,也可以存储在NFVO所管理的数据库,以便NFVO可以获取到VNFD,将VNFD反馈给VNFM,VNFM根据VNFD部署VNF。NFVO可以存储多种功能的VNF对应的VNFD。另外,NFVO 1011可以与VIM 1013通信,以实现资源的分配和/或预留以及交换虚拟化硬件资源的配置和状态信息。
VNFM 1012主要负责一个或多个VNF 103的生命周期管理。比如,实例化(instantiating),更新(updating),查询,弹性伸缩(scaling),终止(terminating)VNF 103等。VNFM 1012可以与VNF 103通信以完成VNF 103生命周期管理及交换配置和状态信息。在NFV系统中VNFM 1012可以有多个,负责对不同类型的VNF进行生命周期管理。
VIM 1013可以执行资源管理的功能,例如管理基础设施资源的分配(例如增加资源到虚拟容器)和操作功能(如收集NFVI故障信息)。VNFM 1012和VIM 1013可以相互通信进行资源分配和交换虚拟化硬件资源的配置和状态信息。例如,控制和管理VNF 103与计算硬件1021,存储硬件1022,网络硬件1023,虚拟计算(virtual computing)1024,虚拟存储1025,虚拟网络1026的交互。
NFVI 102包括硬件资源层、虚拟化层(virtualization layer)和虚拟资源层。NFVI 102包括的硬件资源、软件资源或两者的组合来完成虚拟化环境的部署。换句话说,硬件资源和虚拟化层用于提供虚拟化的资源,例如作为虚拟机和其它形式的虚拟容器,用于VNF 103。硬件资源层包括计算硬件1021、存储硬件1022和网络硬件1023。计算硬件1021可以是市场上现成的硬件和/或用户定制的硬件,用来提供处理和计算资源。存储硬件1022可以是网络内提供的存储容量或驻留在存储硬件1022本身的存储容量(位于服务器内的本地存储器)。在一个实现方案中,计算硬件1021和存储硬件1022的资源可以被集中在一起。网络硬件1023可以是交换机、路由器和/或配置成具有交换功能的任何其他网络设备。网络硬件1023可以横跨多个域,并且可以包括多个由一个或一个以上传输网络互连的网络。NFVI 102里面的虚拟化层可以从物理层抽象硬件资源和解耦VNF 103,以便向VNF 103提供虚拟化资源。虚拟资源层包括虚拟计算1024、虚拟存储1025和虚拟网络1026。虚拟计算1024和虚拟存储1025可以以虚拟机、和/或其他虚拟容器的形式提供给VNF 103。例如,一个或一个以上的VNF 103可以部署在一个虚拟机(virtual machine,VM)上。虚拟化层抽象网络硬件1023,从而形成虚拟网络1026,虚拟网络1026可以包括虚拟交换机(virtual switch),虚拟交换机用来提供虚拟机和其他虚拟机之间的连接。此外,网 络硬件1023中的传输网络,可以采用集中式控制平面和一个单独的转发平面(如软件定义网络)虚拟化。
硬件上,计算硬件1021、存储硬件1022和网络硬件1023可能包含多个机框,或多个机架,甚至多个机房。软件上,可能存在一个VIM 1013,也可能存在多个VIM,分别管理不同的硬件资源。
VNF 103为虚拟化的网络功能实例。
设备管理系统(EM)104是传统网络中用于对设备进行配置,管理的系统,在NFV系统中,EM 104也可以用于对VNF 103进行配置和管理,以及向VNFM 1012发起新的VNF 103的实例化等生命周期管理操作。
运营支持系统和业务支持系统(Operations Support System and Business Support System,OSS/BSS)105,支持各种端到端电信业务。OSS支持的管理功能包括:网络配置,业务提供,故障管理等。BSS处理订单,付费,收入等,支持产品管理,订单管理,收益管理及客户管理。
在NFV系统中,虚拟化的网络服务(Network Service,NS)可以是一个IP多媒体子系统(IP multimedia subsystem,IMS)网络服务,或者,是一个下一代移动核心网络(Evolved Packet Core,EPC)网络服务等。一个NS中可以包含若干个VNF。在对一个NS进行虚拟化部署时,虚拟化业务提供方需要从虚拟化业务请求方获取该业务的描述信息,即网络服务模板(Network Service descriptor,NSD)。NSD主要描述了该业务的拓扑结构信息以及包含的每个VNF的描述信息,即VNFD。在拓扑结构信息中,可以使用虚拟化连接模板(virtual link descriptor,VLD)来描述VNF之间的连接。虚拟化业务请求方可以为NFVO或发送者(sender)。发送者具体可以为OSS/BSS。
图2A为本申请提供的一种VNFD的结构示意图。图2B是根据上述VNFD部署后得到的VNF的结构示意图。
如图2A所示,VNFD包含虚拟部署单元(Virtualisation Deployment Unit,VDU)1、VDU2、连接点(connection point,CP)_A、CP_B、虚拟连接(virtual link,VL)等信息。VDU代表需要部署到虚拟机上的应用软件。CP代表VNF的连接信息,比如可以是虚拟网卡信息,可以采用IP地址或MAC地址来表示。VL是VNF内连接多个VDU的虚拟连接,可以用连接类型,带宽等信息来表示。
如图2B所示,VNFM使用上述VNFD进行部署,部署后得到的VNF包括虚拟化网络功能组件(virtualized network function component,VNFC)1、VNFC2、CP_A实例、CP_B实例和VL实例。其中,VNFD中的VDU1部署后生成VNFC1,VNFD中的VDU2部署后生成VNFC2。
需要说明的是,由于不同的VNF实现的功能不同的。对于功能简单的VNF,可以使用一个VDU描述,部署后得到的VNF包括一个VNFC。对于功能复杂的VNF,可以使用两个以上的VDU描述,部署后得到的VNF包括两个以上的VNFC。因此,一个VNFD中可以包括多个VDU。
在本申请中,可以采用云计算应用的拓扑和运维流程(Topology and Orchestration Specification for Cloud Applications,TOSCA)描述VNFD。TOSCA是开源标准组织(Advancing Open Standards for the Information Society,OASIS)制定的描述规范。
在一些实施例中,部署一个应用所需的信息可以在应用部署包中描述。应用部署包至少包含一个后缀为yaml的应用部署描述文件,该*.yaml的应用部署描述文件可以用YAML语言描述应用的部署信息,该*.yaml的应用部署描述文件的根元素为应用模板(Service Template)。也就是说本申请实施例中可以用应用模板来完整描述需部署的应用的信息。*.yaml的应用部署描述文件的子元素包括拓扑模板(TopologyTemplate)、节点类型(NodeType)、节点模板(NodeTemplate)、关系类型(RelationshipType)、关系模板(RelationshipTemplate)、边界定义(BoundaryDefinitions)等。
示例的,传统技术定义的VNFD的一个示例如下:
Figure PCTCN2020099296-appb-000001
上述VNFD定义了一个vCPE业务的部署模板。其中,VDU_1包括了部署虚拟机所需的虚拟资源描述。如:处理器架构为x86、处理器数量为2、处理器频率为1800MHz,内存为8192M。部署的软件镜像在VDU_1中的artifact中描述,即在maria.db.image.v2.0.qcow2文件中。
目前,服务器主要包括基于x86处理器架构的服务器和基于高级精简指令集处理器(Advanced RISC Machines,ARM)处理器架构的服务器。不同的处理器架构的服务器在性能上有差异的。对于同一个应用软件,在不同处理器架构的服务器上表现的性能也有差异,所以对于软件开发者来说一般都需要针对基于x86处理器架构的服务器或者基于ARM 处理器架构的服务器开发不同的软件版本。对于虚拟机也是一样,针对VNFD中的同一个VDU,部署的虚拟机安装在x86处理器架构的服务器上和安装在ARM处理器架构的服务器上表现的性能也有差异。因此,在VDU中需要指明虚拟机的处理器架构。
通常,由数据中心(如:VIM)管理基于x86处理器架构的服务器的硬件资源和基于ARM处理器架构的服务器的硬件资源。但是,两种处理器架构的服务器并不是总有空闲资源可以分配,所以有可能出现当部署一个虚拟机时,VNFD中要求某个VDU部署在基于x86处理器架构的服务器上,可此时数据中心中基于x86处理器架构的服务器都处于忙时,没有空闲资源可以分配给该VDU部署,导致部署虚拟机失败,或者,需要等待较长时间直到有空闲资源可以提供再部署虚拟机。或者,数据中心中还有基于ARM处理器架构的服务器可以使用,在基于ARM处理器架构的服务器上部署该虚拟机,但可能会影响VNF的性能。
本申请实施例提供一种部署虚拟机的方法,该方法包括:在VNFD中,设置至少两个虚拟资源模板,每个虚拟资源模板用于描述部署虚拟机所需的虚拟资源,其中,至少两个虚拟机的处理器架构不同。NFVO可以在对应至少两个处理器架构的服务器间选择,当存在一个处理器架构的服务器的剩余虚拟资源满足部署对应处理器架构的虚拟机所需的虚拟资源时,对该处理器架构的服务器的剩余虚拟资源授权,VNFM根据虚拟资源模板的标识指示的虚拟资源模板在该服务器上部署虚拟机,其中,服务器的处理器架构与部署的虚拟机的处理器架构相同。
本申请实施例提供的部署虚拟机的方法,VNFM向NFVO发送的虚拟资源授权请求用于请求对不同处理器架构的虚拟资源授权,NFVO可以从不同处理器架构的剩余虚拟资源中灵活地选择剩余虚拟资源,且该剩余虚拟资源满足部署虚拟机所需的虚拟资源。随后,NFVO向VNFM发送第一虚拟资源授权响应或第二虚拟资源授权响应,以授权所述VNFM部署第一虚拟机所需的虚拟资源或部署第二虚拟机所需的虚拟资源,VNFM可以在对应该处理器架构的剩余虚拟资源的服务器上部署第一虚拟机或第二虚拟机。相对于现有技术中只能在一种处理器架构的剩余虚拟资源上部署虚拟机,本申请能够有效地提高部署虚拟机的成功率和效率。
在本申请中,虚拟化业务请求方可以为NFVO或发送者(sender)。发送者具体可以为OSS/BSS。虚拟化业务提供方可以是应用部署服务器。例如,虚拟化业务提供方可以为VNFM。
下面以虚拟化业务请求方为NFVO,虚拟化业务提供方为VNFM为例,结合附图对本申请实施例的实施方式进行详细描述。
图3为本申请实施例提供的一种部署虚拟机的方法的流程图。如图3所示,该方法可以包括:
S301、VNFM获取VNFD。
VNFM可以接收NFVO发送的VNFD,解析VNFD,获取VNFD的内容。在一些实施例中,VNFD中包括VDU和VDU关联的至少两个虚拟资源模板。例如,第一虚拟资源模板和第二虚拟资源模板。
其中,第一虚拟资源模板用于描述部署第一虚拟机所需的虚拟资源。例如,第一虚拟资源模板包括第一虚拟资源模板的标识、第一处理器架构的标识、第一处理器的数量、第一处理器的频率、内存的数量和第一软件镜像信息。在一些实施例中,第一虚拟资源模板 的标识可以是第一虚拟机的标识。第一软件镜像信息可以包括VNF部署所需的软件镜像的位置信息。
第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源。例如,第二虚拟资源模板包括第二虚拟资源模板的标识、第二处理器架构的标识、第二处理器的数量、第二处理器的频率、内存的数量和第二软件镜像信息。
在本申请实施例中,第一处理器架构与第二处理器架构不同。例如,第一处理器架构可以是指x86处理器架构,第二处理器架构可以是指ARM处理器架构。或者,第一处理器架构可以是指ARM处理器架构,第二处理器架构可以是指x86处理器架构。
VDU包括第一部署条件和第二部署条件。
第一部署条件指示VDU与第一虚拟资源模板的对应关系。可理解的,当基于第一处理器架构的服务器的剩余资源满足第一虚拟机的虚拟资源需求时,VNFM确定满足第一部署条件,利用第一部署条件将VDU与第一虚拟资源模板关联,根据第一虚拟资源模板的标识指示的第一虚拟资源模板在第一服务器上部署第一虚拟机。
第二部署条件指示VDU与第二虚拟资源模板的对应关系。可理解的,当基于第二处理器架构的服务器的剩余资源满足第二虚拟机的虚拟资源需求时,VNFM确定满足第二部署条件,利用第二部署条件将VDU与第二虚拟资源模板关联,根据第二虚拟资源模板的标识指示的第二虚拟资源模板在第二服务器上部署第二虚拟机。
需要说明的是,VDU还可以包括通用参数。比如:名称(name)、描述(description)、可配置属性(configurable_properties)、VDU简述(vdu_profile)等。VNFD还可以包括输入参数等。
在一些实施例中,在VNFM接收到NFVO发送的VNF实例化请求之后,VNFM可以向NFVO发送VNFD获取请求,VNFD获取请求包括VNFD的标识。VNFD的标识用于指示VNFD。VNFD的标识可以是NFVO预先告知VNFM的。NFVO接收到VNFD获取请求后,NFVO根据VNFD的标识获取VNFD,并向VNFM发送VNFD响应,该VNFD响应包括VNFD。VNFM获取到VNFD之后,向NFVO发送一个接收响应,以便于告知NFVO已成功接收到VNFD。
S302、VNFM向NFVO发送虚拟资源授权请求。
VNFM接收到NFVO发送的VNFD,并解析VNFD之后,将第一虚拟资源模板的标识和第二虚拟资源模板的标识发送给NFVO,请求对部署第一虚拟机所需的虚拟资源进行授权或请求对部署第二虚拟机所需的虚拟资源进行授权。
其中,虚拟资源授权请求包括第一虚拟资源模板的标识和第二虚拟资源模板的标识。
在一些实施例中,虚拟资源授权请求还包括VDU的标识,使得NFVO可以确定第一虚拟资源模板和第二虚拟资源模板均是与该VDU关联的,且NFVO可以从中选择一个虚拟资源模板。
示例的,如下所示为虚拟资源授权请求的程序示例:
Figure PCTCN2020099296-appb-000002
Figure PCTCN2020099296-appb-000003
从该示例可知,VDU的标识和第一虚拟资源模板的标识可以是第一资源定义的内容。VDU的标识和第二虚拟资源模板的标识可以是第二资源定义的内容。第一虚拟资源模板和第二虚拟资源模板均是与VDU1关联的节点,且NFVO可以从中选择一个虚拟资源模板。
在另一些实施例中,虚拟资源授权请求也可以无需包含VDU1的标识。此时,隐含表明VM_1和VM_2是二选一的。
S303、NFVO接收VNFM发送的虚拟资源授权请求。
NFVO接收到虚拟资源授权请求之后,解析虚拟资源授权请求,得到第一虚拟资源模板的标识和第二虚拟资源模板的标识。NFVO可以根据第一虚拟资源模板的标识获取第一虚拟资源模板,第一虚拟资源模板中包括第一处理器架构的标识、第一处理器的数量、第一处理器的频率、内存的数量和第一软件镜像信息;以及,NFVO根据第二虚拟资源模板的标识获取第二虚拟资源模板,第二虚拟资源模板中包括第二处理器架构的标识、第二处理器的数量、第二处理器的频率、内存的数量和第二软件镜像信息。NFVO可以确定需要使用第一处理器架构的虚拟资源或第二处理器架构的虚拟资源。在一些实施例中,NFVO可以从数据中心获取基于第一处理器架构的服务器的剩余虚拟资源信息和基于第二处理器架构的服务器的剩余虚拟资源信息。在本文中,数据中心可以是指VIM。NFVO可以从本地获取第一虚拟资源模板和第二虚拟资源模板。
在NFVO获取到第一处理器架构的剩余虚拟资源信息之后,判断第一处理器架构的剩余虚拟资源是否满足第一虚拟机的虚拟资源需求,以及判断第二处理器架构的剩余虚拟资源是否满足第二虚拟机的虚拟资源需求。
需要说明的是,“第一处理器架构的剩余虚拟资源是否满足第一虚拟机的虚拟资源需求”也可以替换描述为“基于第一处理器架构的服务器的剩余虚拟资源是否满足第一虚拟机的虚拟资源需求”。第二处理器架构的剩余虚拟资源是否满足第二虚拟机的虚拟资源需求”也可以替换描述为“基于第二处理器架构的服务器的剩余虚拟资源是否满足第二虚拟机的虚拟资源需求”。
当第一处理器架构的剩余虚拟资源满足第一虚拟机的虚拟资源需求,以及第二处理器架构的剩余虚拟资源不满足第二虚拟机的虚拟资源需求,执行S304a-S306a。
当第一处理器架构的剩余虚拟资源不满足第一虚拟机的虚拟资源需求,以及第二处理器架构的剩余虚拟资源满足第二虚拟机的虚拟资源需求,执行S304b-S306b。
在另一些实施例中,当第一处理器架构的剩余虚拟资源满足第一虚拟机的虚拟资源需求,第二处理器架构的剩余虚拟资源也满足第二虚拟机的虚拟资源需求时,NFVO可以自由选择其中一个架构的剩余虚拟资源来部署对应的虚拟机。
在另一些实施例中,当第一处理器架构的剩余虚拟资源满足第一虚拟机的虚拟资源需求,以及第二处理器架构的剩余虚拟资源满足第二虚拟机的虚拟资源需求时,可以根据处理器架构的优先级对虚拟资源进行授权。当NFVO确定第一处理器架构的优先级高于第二处理器架构的优先级,执行S304a-S306a。当NFVO确定第一处理器架构的优先级低于第二 处理器架构的优先级,执行S304b-S306b。
在本申请实施例中,以第一处理器架构的优先级高于第二处理器架构的优先级为例进行说明。
在一些实施例中,虚拟资源授权请求还包括VDU的标识。NFVO可以根据VDU的标识确定从两个虚拟资源模板中选择一个虚拟资源模板,对该虚拟资源模板对应的资源进行授权。
需要说明的是,当第一处理器架构的剩余虚拟资源不满足第一虚拟机的虚拟资源需求,以及第二处理器架构的剩余虚拟资源不满足第二虚拟机的虚拟资源需求时,NFVO向VNFM发送虚拟资源授权失败响应,此时,表明VNFM部署虚拟机失败。
S304a、NFVO向VNFM发送第一虚拟资源授权响应。
在一些实施例中,第一虚拟资源授权响应包括第一虚拟资源模板的标识和第一服务器的地址信息。其中,NFVO可以获取数据中心中的第一服务器的地址信息。第一虚拟资源授权响应还可以包括VDU的标识。VNFM根据第一虚拟资源授权响应包含的内容可知,该第一虚拟资源授权响应是针对VDU的反馈,对第一虚拟机所需的虚拟资源给予授权。VNFM可以在第一服务器的剩余虚拟资源上部署第一虚拟机,第一服务器的处理器架构与第一处理器架构相同。
示例的,如下所示为第一虚拟资源授权响应的程序示例:
response:
addResource:
resourceDefinition_1    #第一资源定义的标识
vimConnectionId:10.12.13.00    #第一服务器的地址信息
从该示例可知,第一虚拟资源授权响应包括第一资源定义的标识和第一服务器的地址信息。第一资源定义包括VDU的标识和第一虚拟资源模板的标识。
S305a、VNFM接收NFVO发送的第一虚拟资源授权响应。
S306a、VNFM根据第一虚拟资源模板的标识指示的第一虚拟资源模板在第一服务器上部署第一虚拟机。
在一些实施例中,VNFM可以根据VDU的标识确定该第一虚拟资源授权响应是针对VDU的反馈,以及根据第一虚拟资源模板的标识确定对第一虚拟资源模板对应的虚拟资源给予授权。例如,第一部署条件是处理器的架构为第一处理器架构。由于第一部署条件指示了VDU与第一虚拟资源模板的对应关系,则VNFM根据第一虚拟资源模板的标识指示的第一虚拟资源模板在第一服务器上部署第一虚拟机。
VNFM向数据中心发送虚拟资源申请请求,虚拟资源申请请求包括第一服务器的地址信息,数据中心对第一服务器的资源授权,VNFM可以根据第一虚拟资源模板描述的虚拟资源在第一服务器上部署第一虚拟机。随后,VNFM还可以在第一虚拟机上部署VDU的通用参数、软件镜像等,具体的部署过程可以参考现有技术的相关解释,不予赘述。
S304b、NFVO向VNFM发送第二虚拟资源授权响应。
在一些实施例中,第二虚拟资源授权响应包括第二虚拟资源模板的标识和第二服务器的地址信息。其中,NFVO可以获取数据中心中的第二服务器的地址信息。第二虚拟资源授权响应还可以包括VDU的标识。VNFM根据第二虚拟资源授权响应包含的内容可知,该第二 虚拟资源授权响应是针对VDU的反馈,对第二虚拟机所需的虚拟资源给予授权。NFVO可以在第二服务器的剩余虚拟资源上部署第二虚拟机,第二服务器的处理器架构与第二处理器架构相同。
示例的,如下所示为第二虚拟资源授权响应的程序示例:
response:
addResource:
resourceDefinition_2    #第二资源定义的标识
vimConnectionId:10.11.12.00    #第二服务器的地址信息
从该示例可知,第二虚拟资源授权响应包括第二资源定义的标识和第二服务器的地址信息。第二资源定义包括VDU的标识和第二虚拟资源模板的标识。
S305b、VNFM接收NFVO发送的第二虚拟资源授权响应。
S306b、VNFM根据第二虚拟资源模板的标识指示的第二虚拟资源模板在第二服务器上部署第二虚拟机。
在一些实施例中,VNFM可以根据VDU的标识确定该第二虚拟资源授权响应是针对VDU的反馈,以及根据第二虚拟资源模板的标识确定对第二虚拟资源模板对应的虚拟资源给予授权。例如,第二部署条件是处理器的架构为第二处理器架构。由于第二部署条件指示了VDU与第二虚拟资源模板的对应关系,则VNFM根据第二虚拟资源模板的标识指示的第二虚拟资源模板在第二服务器上部署第二虚拟机。具体的,VNFM向数据中心发送虚拟资源申请请求,虚拟资源申请请求包括第二服务器的地址信息,数据中心对第二服务器的资源授权,VNFM可以根据第二虚拟资源模板描述的虚拟资源在第二服务器上部署第二虚拟机。随后,VNFM还可以在第二虚拟机上部署VDU的通用参数、软件镜像等,具体的可以参考现有技术的相关解释,不予赘述。
在一些实施例中,VDU还包括操作指令,操作指令用于指示满足第一部署条件时部署第一虚拟机或满足第二部署条件时部署第二虚拟机,第一虚拟机为第一部署条件指示的与第一虚拟资源模板关联的虚拟机,第二虚拟机为第二部署条件指示的与第二虚拟资源模板关联的虚拟机。
在VNFM接收到NFVO发送的第一虚拟资源授权响应中,第一虚拟资源授权响应包括第一虚拟资源模板的标识,表明NFVO对第一虚拟资源模板描述的部署第一虚拟机所需的虚拟资源给予授权,VNFM可以根据第一虚拟资源模板的标识指示的第一虚拟资源模板在第一服务器上部署第一虚拟机,此时,操作指令用于指示满足第一部署条件时部署第一虚拟机。
在VNFM接收到NFVO发送的第二虚拟资源授权响应中,第二虚拟资源授权响应包括第二虚拟资源模板的标识,表明NFVO对第二虚拟资源模板描述的部署第二虚拟机所需的虚拟资源给予授权,VNFM可以根据第二虚拟资源模板的标识指示的第二虚拟资源模板在第二服务器上部署第二虚拟机,此时,操作指令用于指示满足第二部署条件时部署第二虚拟机。
在另一些实施例中,第一虚拟资源模板还包括第一部署指令,第一部署指令用于指示第一虚拟机为可选部署的。第二虚拟资源模板还包括第二部署指令,第二部署指令用于指示第二虚拟机为可选部署的。在VNFM部署第一虚拟机时,可以无需部署第二虚拟机。在VNFM部署第二虚拟机时,可以无需部署第一虚拟机。
在另一些实施例中,第一虚拟资源模板还包括第一实例数指令,第一实例数指令用于指示部署第一虚拟机的数量。第二虚拟资源模板还包括第二实例数指令,第二实例数指令用于指示部署第二虚拟机的数量。
在部署第一虚拟机时,VNFM可以根据第一实例数指令部署多个第一虚拟机,从而,提高第一虚拟机的可靠性。NFVO可以通过VNF实例化请求将第一虚拟机的数量的取值通知给VNFM。
在部署第二虚拟机时,VNFM可以根据第二实例数指令部署多个第二虚拟机,从而,提高第二虚拟机的可靠性。NFVO可以通过VNF实例化请求将第二虚拟机的数量的取值通知给VNFM。
本申请实施例提供的部署虚拟机的方法,将VDU包含的虚拟机的虚拟资源描述分离出来单独描述,即在VNFD中制定两个不同的处理器架构的虚拟资源模板。VNFM向NFVO发送的虚拟资源授权请求用于请求对不同处理器架构的虚拟资源授权,NFVO可以从不同处理器架构的剩余虚拟资源中灵活地选择剩余虚拟资源,且该剩余虚拟资源满足部署虚拟机所需的虚拟资源。随后,NFVO向VNFM发送第一虚拟资源授权响应或第二虚拟资源授权响应,以授权所述VNFM部署第一虚拟机所需的虚拟资源或部署第二虚拟机所需的虚拟资源,VNFM可以在对应该处理器架构的剩余虚拟资源的服务器上部署第一虚拟机或第二虚拟机。相对于现有技术中只能在一种处理器架构的剩余虚拟资源上部署虚拟机,本申请能够有效地提高部署虚拟机的成功率和效率。
示例的,本申请实施例定义的VNFD中的拓扑模板的一个示例:
Figure PCTCN2020099296-appb-000004
Figure PCTCN2020099296-appb-000005
Figure PCTCN2020099296-appb-000006
从上述示例可知,将VDU1节点的虚拟资源的描述分离出来作为新的虚拟机节点单独描述(如:VM_1和VM_2)。其中,VM_1描述了基于x86处理器架构的虚拟资源的需求,以及对应的软件镜像。VM_2描述了基于ARM处理器架构的虚拟资源的需求,以及对应的软件镜像。VDU1节点在本例中描述了该虚拟部署单元的通用参数的信息。比如:名称,最小实例化数量和最多实例化数量等。VDU1中还采用了要求(requirement)来描述对虚拟资源的需求。requirement的语法结构都是现有TOSCA支持的语法。requirement描述如下所示:
Figure PCTCN2020099296-appb-000007
其中,node用来描述该VDU1需要部署在类型(type)为tosca.node.nfv.virtualComputeDesc的节点上。node_filter用来描述具体的对虚拟资源的需求。node_filter描述如下所示:
Figure PCTCN2020099296-appb-000008
其中,采用condition和or用来描述可选的需求,下面两个-and分别表示不同的需求信息。比如第一个-and对应的需求是“cpu_architecture:[equal:x86]”,表明VDU1与处理器架构为x86的虚拟资源模板具有对应关系,即VDU1与VM_1具有对应关系。当基于x86处理器架构的服务器的剩余资源满足部署VM_1所需的虚拟资源时,根据第一个-and指示的需求部署VM_1。
第二个-and对应的需求是“cpu_architecture:[equal:ARM]”,表明VDU1与处理器架构为ARM的虚拟资源模板具有对应关系,即VDU1与VM_2具有对应关系。当基于ARM处理器架构的服务器的剩余资源满足部署VM_2所需的虚拟资源时,根据第二个-and指示的需求部署VM_2。
另外,action用来描述具体的动作,即当其中第一个-and或第二个-and满足后的动作。在本例中action即为执行部署操作,即部署VM_1节点或VM_2节点。
在VM_1节点和VM_2节点中,还设置了directive的取值,directive的取值为optional_deploy,用来说明该节点是可选部署的,只有满足条件才会被部署。在本例中,即只有VDU1的condition条件中选中的VM节点才会被部署。
在另一些实施例中,VDU也可以不包括第一部署条件和第二部署条件。例如,requirement描述中也可以不包括node_filter描述。第一虚拟资源模板包括第一部署指令,第一部署指令用于指示第一虚拟机为可选部署的。第二虚拟资源模板包括第二部署指令,第二部署指令用于指示第二虚拟机为可选部署的。VNFM可以根据接收到的虚拟资源授权响应包括的虚拟资源模板的标识,确定选取哪个虚拟资源模板部署虚拟机。例如,若VNFM接收到的第一虚拟资源授权响应,第一虚拟资源授权响应包括第一虚拟资源模板的标识,VNFM根据第一虚拟资源模板部署第一虚拟机。若VNFM接收到的第二虚拟资源授权响应,第二虚拟资源授权响应包括第二虚拟资源模板的标识,VNFM根据第二虚拟资源模板部署第二虚拟机。其他相关解释可以参考上述实施例的阐述,不予赘述。
上述实施例中是以两个虚拟资源模板为例进行说明的,在一些实施例中,可以设置至少两个以上(如:三个或三个以上)的虚拟资源模板,其中至少两个虚拟资源模板中的处理器架构不同,同时,在VDU中针对为每个虚拟机设置部署条件,从而,进一步提高部署虚拟机的成功率。
在一些实施例中,由于VNF实现的功能较复杂,需要多个VDU描述。因此,一个VNFD中可以包括多个VDU,一个VDU用于描述一个VNF的部分功能,VNFD包括的多个VDU共同实现一个VNF。对于每个VDU包括的虚拟资源描述均可以分离出来,设置至少两个虚拟资源模板,根据本申请提供的部署虚拟机的方法部署虚拟机,将每个VDU与其对应的虚拟资源模板关联。具体的可以参考上述实施例的阐述,不予赘述。
图4A为本申请提供的另一种VNFD的结构示意图。图4B是根据上述VNFD部署后得到的VNF的结构示意图。
如图4A所示,该VNFD中包括VDU1、VDU2、CP_A、CP_B、VL、处理器架构为x86_A的虚拟资源模板、处理器架构为ARM_A的虚拟资源模板、处理器架构为x86_B的虚拟资源模板和处理器架构为ARM_B的虚拟资源模板。VDU1与x86_A的虚拟机的虚拟资源模板和ARM_A的虚拟机的虚拟资源模板关联。VDU2与x86_B的虚拟机的虚拟资源模板和ARM_B的虚拟机的虚拟资源模板关联。
如图4B所示,VNFM使用上述VNFD进行部署,部署后得到的VNF包括VNFC1、VNFC2、CP_A实例、CP_B实例和VL实例。其中,VNFD中的VDU1部署后生成VNFC1,VNFC1部署在处理器架构为x86_A的虚拟机上。VNFD中的VDU2部署后生成VNFC2,VNFC2部署在处理器架构为ARM_B的虚拟机上。
在一些实施例中,当虚拟化业务提供方已知数据中心中服务器的资源使用的情况时,可以指定在两个不同的处理器架构的服务器上分别部署虚拟机,从而实现在两个不同的处理器架构的服务器上部署VDU,降低单个服务器的负载,实现负荷分担。另外,也可以通过VNF实例化请求指定部署的虚拟机的个数,从而,提高虚拟机的可靠性。
图5为本申请实施例提供的一种部署虚拟机的方法的流程图,如图5所示,该方法可以包括:
S501、VNFM获取VNFD。
VNFM可以接收NFVO发送的VNFD,解析VNFD,获取VNFD的内容。在一些实施例中,VNFD包括第一虚拟资源模板和第二虚拟资源模板。其中,VDU还包括节点需求参数。第一虚拟资源模板包括节点类型,第二虚拟资源模包括节点类型。在VNFM确定第一虚拟资源模板的节点类型的取值和第二虚拟资源模板的节点类型的取值均为VDU中的节点需求参数时,VNFM将VDU部署在第一虚拟机和第二虚拟机上。
关于第一虚拟资源模板、第二虚拟资源模板和VDU的其他解释可以参考S301的阐述,不予赘述。
S502、VNFM向NFVO发送虚拟资源授权请求。
S503、NFVO接收VNFM发送的虚拟资源授权请求。
在一些实施例中,NFVO接收到VNFM发送的虚拟资源授权请求之后,可以根据虚拟资源授权请求中包括的第一虚拟资源模板的标识和第二虚拟资源模板的标识获取所述第一虚拟机的虚拟资源需求和所述第二虚拟机的虚拟资源需求。
在本实施例中,NFVO可以根据第一虚拟资源模板的标识获取对应的第一虚拟资源模板,以及根据第二虚拟资源模板的标识获取对应的第二虚拟资源模板,然后从第一虚拟资源模板和第二虚拟资源模板中分别获取第一虚拟机的虚拟资源需求和第二虚拟机的虚拟资源需求。虚拟资源需求也可以称为虚拟硬件需求或资源需求。虚拟资源需求中包括内存需求和处理器需求。
例如,第一虚拟机的虚拟资源需求为:
Figure PCTCN2020099296-appb-000009
第二虚拟机的虚拟资源需求为:
Figure PCTCN2020099296-appb-000010
NFVO本地获取的第一虚拟资源模板和第二虚拟资源模板与VNFM接收到的VDU中的第一虚拟资源模板和第二虚拟资源模板是一致的,因而NFVO获取的第一虚拟机的虚拟资源需求和第二虚拟机的虚拟资源需求和VNFM请求的资源也是一致的。
随后,NFVO从数据中心获取基于第一处理器架构的服务器的剩余虚拟资源信息和基于第二处理器架构的服务器的剩余虚拟资源信息。数据中心可以是指VIM。
在NFVO获取到第一处理器架构的剩余虚拟资源信息之后,判断第一处理器架构的剩 余虚拟资源是否满足第一虚拟机的虚拟资源需求,以及判断第二处理器架构的剩余虚拟资源是否满足第二虚拟机的虚拟资源需求。
当NFVO确定第一处理器架构的剩余虚拟资源满足第一虚拟机的虚拟资源需求,且第二处理器架构的剩余虚拟资源满足第二虚拟机的虚拟资源需求,执行S504。
关于S502和S503的其他解释可以参考S302-S303的阐述,不予赘述。
S504、NFVO向VNFM发送第一虚拟资源授权响应。
在一些实施例中,第一虚拟资源授权响应包括第一虚拟资源模板的标识、第二虚拟资源模板的标识、第一服务器的地址信息和第二服务器的地址信息。其中,NFVO可以获取数据中心中的第一服务器的地址信息和第二服务器的地址信息。第一虚拟资源授权响应还可以包括VDU的标识。VNFM可以根据第一虚拟资源授权响应包含的内容可知,该第一虚拟资源授权响应是针对VDU的反馈,对第一虚拟机所需的虚拟资源给予授权,对第二虚拟机所需的虚拟资源给予授权。VNFM可以在第一服务器的剩余虚拟资源上部署第一虚拟机,在第二服务器的剩余虚拟资源上部署第二虚拟机。第一服务器的处理器架构与第一处理器架构相同。第二服务器的处理器架构与第二处理器架构相同。
S505、VNFM接收NFVO发送的第一虚拟资源授权响应。
S506、VNFM根据第一虚拟资源模板的标识指示的第一虚拟资源模板在第一服务器上部署第一虚拟机。
S507、VNFM根据第二虚拟资源模板的标识指示的第二虚拟资源模板在第二服务器上部署第二虚拟机。
在一些实施例中,VNFM可以根据VDU的标识确定该第一虚拟资源授权响应是针对VDU的反馈,以及根据第一虚拟资源模板的标识确定对第一虚拟资源模板对应的虚拟资源给予授权,根据第二虚拟资源模板的标识确定对第二虚拟资源模板对应的虚拟资源给予授权,则VNFM根据第一虚拟资源模板部署第一虚拟机,根据第二虚拟资源模板部署第二虚拟机。
具体的,VNFM向数据中心发送虚拟资源申请请求,虚拟资源申请请求包括第一服务器的地址信息和第二服务器的地址信息,数据中心对第一服务器的资源和第二服务器的资源授权,VNFM可以根据第一虚拟资源模板描述的虚拟资源在第一服务器上部署第一虚拟机,根据第二虚拟资源模板描述的虚拟资源在第二服务器上部署第二虚拟机。随后,VNFM确定第一虚拟资源模板的节点类型的取值和第二虚拟资源模板的节点类型的取值均为VDU中的节点需求参数,在第一虚拟机和第二虚拟机上部署VDU的通用参数和软件镜像等,具体的可以参考现有技术的相关解释,不予赘述。
本申请实施例提供的部署虚拟机的方法,将VDU包含的虚拟机的虚拟资源描述分离出来单独描述,即在VNFD中制定两个不同的处理器架构的虚拟资源模板。VNFM向NFVO发送的虚拟资源授权请求用于请求对不同处理器架构的虚拟资源进行授权,NFVO对不同剩余虚拟资源进行授权,且该剩余虚拟资源均满足部署该虚拟机所需的虚拟资源。随后,NFVO向VNFM发送第一虚拟资源授权响应或第二虚拟资源授权响应,以授权所述VNFM部署第一虚拟机所需的虚拟资源或部署第二虚拟机所需的虚拟资源,VNFM可以在对应该处理器架构的剩余虚拟资源的服务器上部署第一虚拟机或第二虚拟机。相对于现有技术中只能在一种处理器架构的剩余虚拟资源上部署虚拟机,本申请能够有效地提高部署虚拟机的成功率和效 率。
示例的,本申请实施例定义的VNFD的一个示例如下:
Figure PCTCN2020099296-appb-000011
Figure PCTCN2020099296-appb-000012
从上述示例可知,VM_1的模板和VM_2的模板中的节点类型的取值均为VDU1中的节点需求参数,从而,可以将VDU1部署在VM_1和VM_2上。另外,VM_1的模板和VM_2的模板中的instance_count取值来自get_input,即从VNF实例化请求中获取取值。
在该例中,如果输入的x86_num为0,ARM_num为10,说明该VDU1的10个实例均需要部署在基于ARM的服务器的VM_2节点上;如果x86_num为5,ARM_num为5,说明该VDU的5个实例需要部署在基于x86的服务器的VM_1节点中,另外5个实例需要部署在基于ARM的服务器的VM_2节点上。
上述本申请提供的实施例中,分别从节点(VNFM、NFVO)之间交互的角度对本申请实施例提供的方法进行了介绍。可以理解的是,各个网元,例如VNFM、NFVO为了实现上述本申请实施例提供的方法中的各功能,VNFM、NFVO包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。
本申请实施例可以根据上述方法示例对VNFM、NFVO进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图6示出了上述和实施例中涉及的通信装置的一种可能的组成示意图,该通信装置能执行本申请各方法实施例中VNFM、NFVO 所执行的步骤。该通信装置可以包括:接收单元601、处理单元602、发送单元603。
当所述通信装置为VNFM时,接收单元601用于支持VNFM执行本申请实施例中描述的方法。例如,接收单元601,用于执行或用于支持通信装置执行图3所示的方法中的S301、S305a和S305b,图5所示的方法中的S501和S505。
处理单元602,用于执行或用于支持VNFM执行图3所示的方法中的S306a和S306b,图5所示的方法中的S506和S507。
发送单元603,用于执行或用于支持VNFM执行图3所示的方法中的S302,图5所示的方法中的S502。
当所述通信装置为NFVO时,接收单元601用于支持NFVO执行本申请实施例中描述的方法。例如,接收单元601,用于执行或用于支持NFVO执行图3所示的方法中的S303,图5所示的方法中的S503。
发送单元603,用于执行或用于支持NFVO执行图3所示的方法中的S304a和S304b,图5所示的方法中的S504。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以对应到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的通信装置,用于执行上述任意实施例的方法,因此可以达到与上述实施例的方法相同的效果。
如图7所示为本申请实施例提供的通信装置700,用于实现上述方法中VNFM的功能。该通信装置700可以是VNFM,也可以是VNFM中的装置。此外,该通信装置700可以为芯片系统。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。或者,通信装置700用于实现上述方法中NFVO的功能。该通信装置700可以是NFVO,也可以是NFVO中的装置。其中,该通信装置700可以为芯片系统。
通信装置700包括至少一个处理器701,用于实现本申请实施例提供的方法中VNFM或NFVO的功能。示例性地,处理器701可以用于根据部署条件指示的虚拟资源模板部署虚拟机等等,具体参见方法示例中的详细描述,此处不做赘述。
通信装置700还可以包括至少一个存储器702,用于存储程序指令和/或数据。存储器702和处理器701耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器701可能和存储器702协同操作。处理器701可能执行存储器702中存储的程序指令。所述至少一个存储器中的至少一个可以包括于处理器中。
其中,处理器701和存储器702也可以为虚拟化的处理器和虚拟化的存储器。
通信装置700还可以包括通信接口703,用于通过传输介质和其它设备进行通信,从而用于通信装置700中的装置可以和其它设备进行通信。示例性地,若通信装置为VNFM,该其它设备为NFVO设备。若通信装置为NFVO设备,该其它设备为VNFM设备。处理器701利用通信接口703收发数据,并用于实现图3、图5对应的实施例中所述的VNFM或NFVO所执行的方法。
此外,上述通信装置700中还可以包括网络接口,用于与外部设备进行通信。例如,网络接口用于和VIM等进行通信。
本申请实施例中不限定上述通信接口703、处理器701以及存储器702之间的具体连接介质。本申请实施例在图7中以通信接口703、处理器701以及存储器702之间通过总线704连接,总线在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、终端或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质 传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质等。

Claims (27)

  1. 一种部署虚拟机的方法,其特征在于,包括:
    网络功能虚拟化编排器NFVO设备接收虚拟资源授权请求,所述虚拟资源授权请求用于请求对部署第一虚拟机所需的虚拟资源或第二虚拟机所需的虚拟资源进行授权,所述虚拟资源授权请求包括第一虚拟资源模板的标识和第二虚拟资源模板的标识,所述第一虚拟资源模板用于描述部署第一虚拟机所需的虚拟资源,所述第一虚拟资源模板包括第一处理器架构的标识,所述第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源,所述第二虚拟资源模板包括第二处理器架构的标识,所述第一处理器架构与所述第二处理器架构不同;
    所述NFVO设备确定虚拟化基础设施管理器VIM中的所述第一处理器架构的剩余虚拟资源满足所述第一虚拟机的虚拟资源需求,向虚拟网络功能管理VNFM设备发送第一虚拟资源授权响应,以授权所述VNFM部署所述第一虚拟机所需的虚拟资源,所述第一虚拟资源授权响应包括所述第一虚拟资源模板的标识和第一服务器的地址信息,所述第一服务器的处理器架构与所述第一处理器架构相同;或者,
    所述NFVO设备确定所述VIM中的所述第二处理器架构的剩余虚拟资源满足所述第二虚拟机的虚拟资源需求,向所述VNFM设备发送第二虚拟资源授权响应,以授权所述VNFM部署所述第二虚拟机所需的虚拟资源,所述第二虚拟资源授权响应包括所述第二虚拟资源模板的标识和第二服务器的地址信息,所述第二服务器的处理器架构与所述第二处理器架构相同。
  2. 根据权利要求1所述的方法,其特征在于,当所述NFVO设备确定所述第一处理器架构的剩余虚拟资源满足所述第一虚拟机的虚拟资源需求,且所述第二处理器架构的剩余虚拟资源满足所述第二虚拟机的虚拟资源需求时,所述方法还包括:
    确定所述第一处理器架构的优先级高于所述第二处理器架构的优先级,向所述VNFM设备发送所述第一虚拟资源授权响应;或
    确定所述第一处理器架构的优先级低于所述第二处理器架构的优先级,向所述VNFM设备发送所述第二虚拟资源授权响应。
  3. 根据权利要求1或2所述的方法,其特征在于,所述虚拟资源授权请求还包括虚拟部署单元VDU的标识。
  4. 一种部署虚拟机的方法,其特征在于,包括:
    虚拟网络功能管理VNFM设备接收虚拟网络功能模板VNFD,所述VNFD包括虚拟部署单元VDU、第一虚拟资源模板和第二虚拟资源模板,其中,所述第一虚拟资源模板用于描述部署第一虚拟机所需的虚拟资源,所述第一虚拟资源模板包括所述第一虚拟资源模板的标识和第一处理器架构的标识,所述第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源,第二虚拟资源模板包括所述第二虚拟资源模板的标识和第二处理器架构的标识,所述第一处理器架构与所述第二处理器架构不同;
    所述VNFM设备向网络功能虚拟化编排器NFVO设备发送虚拟资源授权请求,以请求对 部署所述第一虚拟机所需的虚拟资源或所述第二虚拟机所需的虚拟资源进行授权,所述虚拟资源授权请求包括所述第一虚拟资源模板的标识和所述第二虚拟资源模板的标识;
    所述VNFM设备接收第一虚拟资源授权响应,所述第一虚拟资源授权响应包括所述第一虚拟资源模板的标识和第一服务器的地址信息,所述第一服务器的处理器架构与所述第一处理器架构相同;所述VNFM根据所述第一虚拟资源模板的标识指示的所述第一虚拟资源模板在所述第一服务器上部署所述第一虚拟机;或者,
    所述VNFM设备接收第二虚拟资源授权响应,所述第二虚拟资源授权响应包括所述第二虚拟资源模板的标识和第二服务器的地址信息,所述第二服务器的处理器架构与所述第二处理器架构相同;所述VNFM设备根据所述第二虚拟资源模板的标识指示的所述第二虚拟资源模板在所述第二服务器上部署所述第二虚拟机。
  5. 根据权利要求4所述的方法,其特征在于,所述第一虚拟资源模板还包括第一实例数指令,所述第一实例数指令用于指示部署所述第一虚拟机的数量,所述第二虚拟资源模板还包括第二实例数指令,所述第二实例数指令用于指示部署所述第二虚拟机的数量。
  6. 根据权利要求5所述的方法,其特征在于,所述方法还包括:
    所述VNFM设备接收VNF实例化请求,所述VNF实例化请求包括所述第一虚拟机的数量的取值和/或所述第二虚拟机的数量的取值。
  7. 一种部署虚拟机的方法,其特征在于,包括:
    网络功能虚拟化编排器NFVO设备接收虚拟资源授权请求,所述虚拟资源授权请求用于请求对部署第一虚拟机所需的虚拟资源和第二虚拟机所需的虚拟资源进行授权,所述虚拟资源授权请求包括第一虚拟资源模板的标识和第二虚拟资源模板的标识,所述第一虚拟资源模板用于描述部署第一虚拟机所需的虚拟资源,所述第一虚拟资源模板包括第一处理器架构的标识,所述第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源,所述第二虚拟资源模板包括第二处理器架构的标识,所述第一处理器架构与所述第二处理器架构不同;
    所述NFVO设备向虚拟网络功能管理VNFM设备发送虚拟资源授权响应,以授权所述VNFM部署所述第一虚拟机所需的虚拟资源和部署所述第二虚拟机所需的虚拟资源,所述虚拟资源授权响应包括所述第一虚拟资源模板的标识、所述第二虚拟资源模板的标识、第一服务器的地址信息和第二服务器的地址信息,所述第一服务器的处理器架构与所述第一处理器架构相同,所述第二服务器的处理器架构与所述第二处理器架构相同。
  8. 根据权利要求7所述的方法,其特征在于,所述虚拟资源授权请求还包括虚拟部署单元VDU的标识。
  9. 一种部署虚拟机的方法,其特征在于,包括:
    虚拟网络功能管理VNFM设备接收虚拟网络功能模板VNFD,所述VNFD包括虚拟部署单元VDU、第一虚拟资源模板、第二虚拟资源模板,其中,所述第一虚拟资源模板用于描述部署第一虚拟机所需的虚拟资源,所述第一虚拟资源模板包括所述第一虚拟资源模板的标识和第一处理器架构的标识,所述第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源,第二虚拟资源模板包括所述第二虚拟资源模板的标识和第二处理器架构的标识,所述第一处理器架构与所述第二处理器架构不同;
    所述VNFM设备向网络功能虚拟化编排器NFVO设备发送虚拟资源授权请求,以请求对部署所述第一虚拟机所需的虚拟资源和所述第二虚拟机所需的虚拟资源进行授权,所述虚拟资源授权请求包括所述第一虚拟资源模板的标识和所述第二虚拟资源模板的标识;
    所述VNFM设备接收虚拟资源授权响应,所述虚拟资源授权响应包括所述第一虚拟资源模板的标识、所述第二虚拟资源模板的标识、第一服务器的地址信息和第二服务器的地址信息,所述第一服务器的处理器架构与所述第一处理器架构相同,所述第二服务器的处理器架构与所述第二处理器架构相同;
    所述VNFM设备根据所述第一虚拟资源模板的标识指示的所述第一虚拟资源模板在所述第一服务器上部署所述第一虚拟机;所述VNFM设备根据所述第二虚拟资源模板的标识指示的所述第二虚拟资源模板在所述第二服务器上部署所述第二虚拟机。
  10. 根据权利要求9所述的方法,其特征在于,所述VDU包括节点需求参数,所述第一虚拟资源模板还包括节点类型,所述第二虚拟资源模板还包括所述节点类型,所述方法还包括:
    所述VNFM设备确定所述第一虚拟资源模板的节点类型的取值和所述第二虚拟资源模板的节点类型的取值均为所述VDU中的节点需求参数;
    所述VNFM设备将VDU部署在所述第一虚拟机和所述第二虚拟机上。
  11. 根据权利要求10所述的方法,其特征在于,所述第一虚拟资源模板还包括第一实例数指令,所述第一实例数指令用于指示部署所述第一虚拟机的数量,所述第二虚拟资源模板还包括第二实例数指令,所述第二实例数指令用于指示部署所述第二虚拟机的数量。
  12. 根据权利要求11所述的方法,其特征在于,所述方法还包括:
    所述VNFM设备接收VNF实例化请求,所述VNF实例化请求包括所述第一虚拟机的数量的取值和/或所述第二虚拟机的数量的取值。
  13. 一种通信装置,其特征在于,包括:
    接收单元,用于接收虚拟资源授权请求,所述虚拟资源授权请求用于请求对部署第一虚拟机所需的虚拟资源或第二虚拟机所需的虚拟资源进行授权,所述虚拟资源授权请求包括第一虚拟资源模板的标识和第二虚拟资源模板的标识,所述第一虚拟资源模板用于描述部署第一虚拟机所需的虚拟资源,所述第一虚拟资源模板包括第一处理器架构的标识,所述第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源,所述第二虚拟资源模板包括第二处理器架构的标识,所述第一处理器架构与所述第二处理器架构不同;
    处理单元,用于确定虚拟化基础设施管理器VIM中的所述第一处理器架构的剩余虚拟资源满足所述第一虚拟机的虚拟资源需求,发送单元,用于向虚拟网络功能管理VNFM设备发送第一虚拟资源授权响应,所述第一虚拟资源授权响应包括所述第一虚拟资源模板的标识和第一服务器的地址信息,所述第一服务器的处理器架构与所述第一处理器架构相同;或者,
    所述处理单元,用于确定所述VIM中的所述第二处理器架构的剩余虚拟资源满足所述第二虚拟机的虚拟资源需求,所述发送单元,用于向所述VNFM设备发送第二虚拟资源授权响应,所述第二虚拟资源授权响应包括所述第二虚拟资源模板的标识和第二服务器的地址信息,所述第二服务器的处理器架构与所述第二处理器架构相同。
  14. 根据权利要求13所述的装置,其特征在于,当所述第一处理器架构的剩余虚拟资源满足所述第一虚拟机的虚拟资源需求,且所述第二处理器架构的剩余虚拟资源满足所述第二虚拟机的虚拟资源需求时,
    所述处理单元,还用于确定所述第一处理器架构的优先级高于所述第二处理器架构的优先级,所述发送单元,用于向所述VNFM设备发送所述第一虚拟资源授权响应;或
    所述处理单元,还用于确定所述第一处理器架构的优先级低于所述第二处理器架构的优先级,所述发送单元,用于向所述VNFM设备发送所述第二虚拟资源授权响应。
  15. 根据权利要求13或14所述的装置,其特征在于,所述虚拟资源授权请求还包括虚拟部署单元VDU的标识。
  16. 一种通信装置,其特征在于,包括:
    接收单元,用于接收虚拟网络功能模板VNFD,所述VNFD包括虚拟部署单元VDU、第一虚拟资源模板和第二虚拟资源模板,其中,所述第一虚拟资源模板用于描述部署第一虚拟机所需的虚拟资源,所述第一虚拟资源模板包括所述第一虚拟资源模板的标识和第一处理器架构的标识,所述第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源,第二虚拟资源模板包括所述第二虚拟资源模板的标识和第二处理器架构的标识,所述第一处理器架构与所述第二处理器架构不同;
    发送单元,用于向网络功能虚拟化编排器NFVO设备发送虚拟资源授权请求,所述虚拟资源授权请求用于请求对部署所述第一虚拟机所需的虚拟资源或所述第二虚拟机所需的虚拟资源进行授权,所述虚拟资源授权请求包括所述第一虚拟资源模板的标识和所述第二虚拟资源模板的标识;
    所述接收单元,还用于接收第一虚拟资源授权响应,所述第一虚拟资源授权响应包括所述第一虚拟资源模板的标识和第一服务器的地址信息,所述第一服务器的处理器架构与所述第一处理器架构相同;处理单元,用于根据所述第一虚拟资源模板的标识指示的所述第一虚拟资源模板在所述第一服务器上部署所述第一虚拟机;或者,
    所述接收单元,还用于接收第二虚拟资源授权响应,所述第二虚拟资源授权响应包括所述第二虚拟资源模板的标识和第二服务器的地址信息,所述第二服务器的处理器架构与所述第二处理器架构相同;所述处理单元,用于根据所述第二虚拟资源模板的标识指示的所述第二虚拟资源模板在所述第二服务器上部署所述第二虚拟机。
  17. 根据权利要求16所述的装置,其特征在于,所述第一虚拟资源模板还包括第一实例数指令,所述第一实例数指令用于指示部署所述第一虚拟机的数量,所述第二虚拟资源模板还包括第二实例数指令,所述第二实例数指令用于指示部署所述第二虚拟机的数量。
  18. 根据权利要求17所述的装置,其特征在于,
    所述接收单元,还用于接收VNF实例化请求,所述VNF实例化请求包括所述第一虚拟机的数量的取值和/或所述第二虚拟机的数量的取值。
  19. 一种通信装置,其特征在于,包括:
    接收单元,用于接收虚拟资源授权请求,所述虚拟资源授权请求用于请求对部署第一虚拟机所需的虚拟资源和第二虚拟机所需的虚拟资源进行授权,所述虚拟资源授权请求包括第一虚拟资源模板的标识和第二虚拟资源模板的标识,所述第一虚拟资源模板用于描述 部署第一虚拟机所需的虚拟资源,所述第一虚拟资源模板包括第一处理器架构的标识,所述第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源,所述第二虚拟资源模板包括第二处理器架构的标识,所述第一处理器架构与所述第二处理器架构不同;
    发送单元,用于向虚拟网络功能管理VNFM设备发送虚拟资源授权响应,所述虚拟资源授权响应包括所述第一虚拟资源模板的标识、所述第二虚拟资源模板的标识、第一服务器的地址信息和第二服务器的地址信息,所述第一服务器的处理器架构与所述第一处理器架构相同,所述第二服务器的处理器架构与所述第二处理器架构相同。
  20. 根据权利要求19所述的装置,其特征在于,所述虚拟资源授权请求还包括虚拟部署单元VDU的标识。
  21. 一种通信装置,其特征在于,包括:
    接收单元,用于接收虚拟网络功能模板VNFD,所述VNFD包括虚拟部署单元VDU、第一虚拟资源模板、第二虚拟资源模板,其中,所述第一虚拟资源模板用于描述部署第一虚拟机所需的虚拟资源,所述第一虚拟资源模板包括所述第一虚拟资源模板的标识和第一处理器架构的标识,所述第二虚拟资源模板用于描述部署第二虚拟机所需的虚拟资源,第二虚拟资源模板包括所述第二虚拟资源模板的标识和第二处理器架构的标识,所述第一处理器架构与所述第二处理器架构不同;
    发送单元,用于向网络功能虚拟化编排器NFVO设备发送虚拟资源授权请求,所述虚拟资源授权请求用于请求对部署所述第一虚拟机所需的虚拟资源和所述第二虚拟机所需的虚拟资源进行授权,所述虚拟资源授权请求包括所述第一虚拟资源模板的标识和所述第二虚拟资源模板的标识;
    所述接收单元,还用于接收虚拟资源授权响应,所述虚拟资源授权响应包括所述第一虚拟资源模板的标识、所述第二虚拟资源模板的标识、第一服务器的地址信息和第二服务器的地址信息,所述第一服务器的处理器架构与所述第一处理器架构相同,所述第二服务器的处理器架构与所述第二处理器架构相同;
    处理单元,用于根据所述第一虚拟资源模板的标识指示的所述第一虚拟资源模板在所述第一服务器上部署所述第一虚拟机;所述处理单元,还用于根据所述第二虚拟资源模板的标识指示的所述第二虚拟资源模板在所述第二服务器上部署所述第二虚拟机。
  22. 根据权利要求21所述的装置,其特征在于,所述VDU包括节点需求参数,所述第一虚拟资源模板还包括节点类型,所述第二虚拟资源模板还包括所述节点类型,
    所述处理单元,还用于确定所述第一虚拟资源模板的节点类型的取值和所述第二虚拟资源模板的节点类型的取值均为所述VDU中的节点需求参数;
    所述处理单元,还用于将VDU部署在所述第一虚拟机和所述第二虚拟机上。
  23. 根据权利要求22所述的装置,其特征在于,所述第一虚拟资源模板还包括第一实例数指令,所述第一实例数指令用于指示部署所述第一虚拟机的数量,所述第二虚拟资源模板还包括第二实例数指令,所述第二实例数指令用于指示部署所述第二虚拟机的数量。
  24. 根据权利要求23所述的装置,其特征在于,
    所述接收单元,还用于接收VNF实例化请求,所述VNF实例化请求包括所述第一虚拟机的数量的取值和/或所述第二虚拟机的数量的取值。
  25. 一种通信装置,其特征在于,包括:至少一个处理器、存储器、总线和收发器,其中,所述存储器用于存储计算机程序,使得所述计算机程序被所述至少一个处理器执行时实现如权利要求1至3中任一项所述的方法,或者实现如权利要求7至8中任一项所述的方法。
  26. 一种应用部署服务器,其特征在于,包括:至少一个处理器、存储器、总线和收发器,其中,所述存储器用于存储计算机程序,使得所述计算机程序被所述至少一个处理器执行时实现如权利要求4至6中任一项所述的方法,或者实现如权利要求9至12中任一项所述的方法。
  27. 一种计算机可读存储介质,其特征在于,包括:计算机软件指令;
    当所述计算机软件指令在通信装置或内置在通信装置的芯片中运行时,使得所述通信装置设备执行如权利要求1至12中任一项所述的方法。
PCT/CN2020/099296 2019-08-02 2020-06-30 一种部署虚拟机的方法及相关装置 WO2021022947A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910713371.7 2019-08-02
CN201910713371.7A CN112306625B (zh) 2019-08-02 2019-08-02 一种部署虚拟机的方法及相关装置

Publications (1)

Publication Number Publication Date
WO2021022947A1 true WO2021022947A1 (zh) 2021-02-11

Family

ID=74485990

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/099296 WO2021022947A1 (zh) 2019-08-02 2020-06-30 一种部署虚拟机的方法及相关装置

Country Status (2)

Country Link
CN (1) CN112306625B (zh)
WO (1) WO2021022947A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259447A (zh) * 2021-05-26 2021-08-13 中国电子信息产业集团有限公司第六研究所 云平台部署方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170111207A1 (en) * 2015-10-14 2017-04-20 Electronics And Telecommunications Research Institute Nfv system and method for linking vnfm
CN106921977A (zh) * 2015-12-26 2017-07-04 华为技术有限公司 一种基于业务流的服务质量规划方法、装置及系统
CN108605032A (zh) * 2015-06-01 2018-09-28 华为技术有限公司 用于针对无线通信网络进行客户服务管理的方法和设备
CN109189553A (zh) * 2018-08-17 2019-01-11 烽火通信科技股份有限公司 网络服务与虚拟资源多目标匹配方法及系统
US20190073269A1 (en) * 2015-11-02 2019-03-07 Intel IP Corporation Restoring virtual network function (vnf) performance via vnf reset of lifecycle management

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885814B (zh) * 2014-03-20 2017-05-17 百度在线网络技术(北京)有限公司 在x86架构上运行ARM APK的模拟器装置和方法
US20180113748A1 (en) * 2016-10-21 2018-04-26 Hewlett Packard Enterprise Development Lp Automated configuration of virtual infrastructure

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108605032A (zh) * 2015-06-01 2018-09-28 华为技术有限公司 用于针对无线通信网络进行客户服务管理的方法和设备
US20170111207A1 (en) * 2015-10-14 2017-04-20 Electronics And Telecommunications Research Institute Nfv system and method for linking vnfm
US20190073269A1 (en) * 2015-11-02 2019-03-07 Intel IP Corporation Restoring virtual network function (vnf) performance via vnf reset of lifecycle management
CN106921977A (zh) * 2015-12-26 2017-07-04 华为技术有限公司 一种基于业务流的服务质量规划方法、装置及系统
CN109189553A (zh) * 2018-08-17 2019-01-11 烽火通信科技股份有限公司 网络服务与虚拟资源多目标匹配方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259447A (zh) * 2021-05-26 2021-08-13 中国电子信息产业集团有限公司第六研究所 云平台部署方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112306625B (zh) 2023-02-03
CN112306625A (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US11928522B2 (en) Containerized VNF deployment method and related device
WO2020186911A1 (zh) 一种容器化虚拟网络功能vnf的资源管理方法及装置
US11301284B2 (en) Method for managing VNF instantiation and device
WO2019100266A1 (zh) 移动边缘主机服务通知方法和装置
WO2021185083A1 (zh) Vnf实例化方法及装置
US12056094B2 (en) Method and apparatus for deploying virtualised network function
US20220350637A1 (en) Virtual machine deployment method and related apparatus
WO2018153355A1 (zh) 控制信息传递方法、服务器和系统
US11683222B2 (en) Virtual network function VNF deployment method and apparatus
WO2021175105A1 (zh) 连接方法、装置、设备和存储介质
WO2021022947A1 (zh) 一种部署虚拟机的方法及相关装置
WO2021129520A1 (zh) 网络业务的生命周期管理的授权方法及装置
WO2022183796A1 (zh) 一种创建网络服务ns的方法及相关装置
WO2023035777A1 (zh) 网络配置方法、代理组件、控制器、电子设备和存储介质
US20230105269A1 (en) Virtualized network service deployment method and apparatus
WO2024114645A1 (zh) 一种虚拟化网络功能vnf的实例化方法及装置
US12028225B2 (en) Scaling method and apparatus
CN117041147B (zh) 智能网卡设备、主机设备和方法及系统
US20230327959A1 (en) Method for establishing network connection and apparatus
WO2021129868A1 (zh) 网络服务实例化的方法及网络功能虚拟化编排器

Legal Events

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

Ref document number: 20849989

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20849989

Country of ref document: EP

Kind code of ref document: A1