CN103609077B - Method, apparatus and system for data transmission, and physical adapter - Google Patents

Method, apparatus and system for data transmission, and physical adapter Download PDF

Info

Publication number
CN103609077B
CN103609077B CN201380000801.1A CN201380000801A CN103609077B CN 103609077 B CN103609077 B CN 103609077B CN 201380000801 A CN201380000801 A CN 201380000801A CN 103609077 B CN103609077 B CN 103609077B
Authority
CN
China
Prior art keywords
module
group
physical network
main
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380000801.1A
Other languages
Chinese (zh)
Other versions
CN103609077A (en
Inventor
赵晓雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN103609077A publication Critical patent/CN103609077A/en
Application granted granted Critical
Publication of CN103609077B publication Critical patent/CN103609077B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

Embodiments of the present invention provide a method, apparatus and system for data transmission, and a physical adapter. The method comprises determining a main physical function (PF) module, which includes at least two PF modules, in a physical function module group; determining a target virtual function (VF) module cluster managed by the main PF module based on the VF module groups corresponding to the PF modules in the PF module group; allocating the VF modules in the target VF module cluster to at least one virtual machine for realizing data transmission. The method, apparatus and system for data transmission in the embodiments can help the system from having failures and help to reduce a waste of resources.

Description

Methods, devices and systems for data transfer and physical network card
Technical field
The present invention relates to the communications field, and more particularly, to a kind of methods, devices and systems for data transfer And physical network card.
Background technology
As the fast-developing basis of cloud computing, Intel Virtualization Technology is at aspects such as calculating, storage, network and cluster managements Gradually ripe, promote cloud computing in the application of every field.
With CPU(Center Processing Unit, CPU)The development of chip technology, single physical CPU ability is more and more stronger, using the teaching of the invention it is possible to provide virtual machine number get more and more, simultaneously higher to the performance requirement of physical network card, The Microsoft Loopback Adapter quantity asking offer gets more and more, and to meet the requirement of more users, improves the utilization rate of cloud resource.Empty in network In planization, network interface card virtualization, as the key technology solving virtualization last one kilometer, experienced software simulation, virtual machine facility Queue(Virtual Machine Device Queue, VMDq), single I/O virtualization(Single-Root I/O Virtualization, SR-IOV)After the development of three phases, SR-IOV technology has become as solution virtualization last one kilometer Ideal equipment, SR-IOV is used for a high speed peripheral component interlinkage standard(Peripheral Component Interconnect Express, PCIe)Network card equipment invents at least two PCIe network card equipments, each Virtual PC Ie network interface card Equipment provides service to virtual machine upper layer software (applications) as physics PCIe network card equipment.
SR-IOV is a kind of technical standard of I/O virtualization it is allowed at least two Microsoft Loopback Adapters supported by a physical equipment. SR-IOV introduces two kinds of new function types, i.e. physical function(Physical Function, PF)Module and virtual functions (Virtual Function, VF)Module.Wherein, PF module has whole PCIe functions of SR-IOV, can carry out SR-IOV Functional configuration and management, VF module has the PCIe function of lightweight, comprises resource necessary to data transfer and a small amount of joining Put resource.VF module, can be via Virtual Machine Manager layer used as a single PCIe device(Virtual Machine Management, VMM)Distribute to virtual machine(Virtual Machine, VM)Use.
However, PF module is as the key node of system, once break down, it will cause the system failure and resource wave Take.
Content of the invention
The embodiment of the present invention provides a kind of methods, devices and systems for data transfer and physical network card, can keep away Exempt from system malfunctions, and reduce the wasting of resources.
A kind of first aspect, there is provided method for data transfer, including:Physical function PF from the first physical network card In module group, determine main PF module, this PF module group includes at least two PF modules, in this PF module group, each PF module corresponds to Different virtual functions VF module groups;Based on each PF module corresponding VF module group in this PF module group, determine this main PF mould The target VF module cluster of block management, wherein, the VF module in this target VF module cluster is used for distributing at least one virtual machine VM, So that this at least one VM realizes data transfer.
In conjunction with a first aspect, in the first possible implementation of first aspect, being somebody's turn to do the PF from the first physical network card In module group, determine main PF module, including:Based on the basic parameter of each of this PF module group PF module, determine this main PF Module, wherein, the basic parameter of this PF module includes PF module failure number of times, VF module in PF module corresponding VF module group At least one in number, PF module static bandwidth and PF module static bandwidth.
In conjunction with the first possible implementation of first aspect or first aspect, possible in the second of first aspect In implementation, the mesh of this main PF module management should be determined based on each PF module corresponding VF module group in this PF module group Mark VF module cluster, including:Select at least one VF module from each of this PF module group PF module corresponding VF module group, Form this target VF module cluster.
In conjunction with a first aspect, the first possible implementation of first aspect or the possible reality of the second of first aspect In existing mode, in the third possible implementation of first aspect, the method also includes:Determine that a PF module makes again Energy or fault recovery, a PF module is defined as the PF module in this PF module group;Based on a PF module, setting up should First PF module corresponding VF module group.
In conjunction with a first aspect, or first aspect the first in the third any one possible implementation, first In 4th kind of possible implementation of aspect, the method also includes:Determine the 2nd PF module being somebody's turn to do from this first physical network card Delete in PF module group;Discharge the 2nd PF module corresponding VF module group.
In conjunction with a first aspect, or first aspect the first in the 4th kind any one possible implementation, first In 5th kind of possible implementation of aspect, the method also includes:Determine that the 3rd PF module of this first physical network card occurs During fault, determine whether the VF module in the 3rd PF module corresponding VF module group can use;Corresponding in the 3rd PF module When at least one of VF module group VF module can use, by corresponding for PF module VF module group available this at least One VF module is defined as continuing can use.
In conjunction with a first aspect, or first aspect the first in the 5th kind any one possible implementation, first In 6th kind of possible implementation of aspect, the method also includes:Determine distribute in this target VF module cluster this at least one The first VF module of the VM in individual VM breaks down;In each PF module corresponding VF module group from this PF module group, It is selected differently from the 2nd VF module of a VF module;Update this target VF module cluster.
In conjunction with a first aspect, or first aspect the first in the 6th kind any one possible implementation, first In 7th kind of possible implementation of aspect, this first physical network card takies at least two high speed peripheral component interlinkage standards PCIe bus, the method also includes:Determine need by this target VF module cluster with this at least two PCIe bus in first PCIe bus connect VF module data is activation in this target VF module cluster with this at least two PCIe bus in second The VF module that PCIe bus connects;The data of the VF module that this is connected with a PCIe bus passes through this first physical network card Switch is sent to the VF module that this is connected with the 2nd PCIe bus.
In conjunction with a first aspect, or first aspect the first in the 7th kind any one possible implementation, first In 8th kind of possible implementation of aspect, the method also includes:Determine that this main PF module breaks down;From this PF module group In, PF module in addition to this main PF module for the selection is as new main PF module;Based on each PF module pair in this PF module group The VF module group answered, determines the new target VF module cluster of this new main PF module management, wherein, this new target VF module cluster In VF module be used for distributing at least one virtual machine VM, so that this at least one VM realizes data transfer.
A kind of second aspect, there is provided device for data transfer, including:First determining unit, for from the first thing In the physical function PF module group of reason network interface card, determine main PF module, this PF module group includes at least two PF modules, this PF module The different virtual functions VF module group of each PF module correspondence in group;Second determining unit, for based on each in this PF module group Individual PF module corresponding virtual functions VF module group, determines the target VF module cluster of this main PF module management, wherein, this target VF VF module in module cluster is used for distributing at least one virtual machine VM, so that this at least one VM realizes data transfer.
In conjunction with second aspect, in the first possible implementation of second aspect, this first determining unit is specifically used In:Based on the basic parameter of each of this PF module group PF module, determine this main PF module, wherein, the benchmark of this PF module Parameter includes PF module failure number of times, the number of VF module, PF module static bandwidth and PF in PF module corresponding VF module group At least one in module static bandwidth.
In conjunction with the first possible implementation of second aspect or second aspect, possible in the second of second aspect In implementation, this second determining unit specifically for:From each of this PF module group PF module corresponding VF module group Select at least one VF module, form this target VF module cluster.
In conjunction with second aspect, the first possible implementation of second aspect or the possible reality of the second of second aspect In existing mode, in the third possible implementation of second aspect, this device also includes:4th determining unit, for true A fixed PF module enables or fault recovery again, and a PF module is defined as the PF module in this PF module group;Set up Unit, for based on a PF module, setting up a PF module corresponding VF module group.
In conjunction with second aspect, or the first of second aspect any one possible implementation in the third, second In 4th kind of possible implementation of aspect, this device also includes:5th determining unit, for determining the 2nd PF module from this Delete in this PF module group of first physical network card;Releasing unit, for discharging the 2nd PF module corresponding VF module group.
In conjunction with second aspect, or the first of second aspect any one possible implementation in the 4th kind, second In 5th kind of possible implementation of aspect, this device also includes:6th determining unit, for determining this first physical network card The 3rd PF module when breaking down, determine whether the VF in the 3rd PF module corresponding VF module group can use;Holding unit, For at least one of the 3rd PF module corresponding VF module group VF module can use when, will be corresponding for the 3rd PF module This at least one VF module in VF module group is defined as continuing can use.
In conjunction with second aspect, or the first of second aspect any one possible implementation in the 5th kind, second In 6th kind of possible implementation of aspect, this device also includes:7th determining unit, for determining this target VF module cluster In distribute to the VF module of the VM in this at least one VM and break down;Select unit, for from this PF module group In in each PF module corresponding VF module group, be selected differently from the 2nd VF module of a VF module;Updating block, is used for Update this target VF module cluster, and the 2nd VF module assignment is given a VM.
In conjunction with second aspect, or the first of second aspect any one possible implementation in the 6th kind, second In 7th kind of possible implementation of aspect, this first physical network card takies at least two high speed peripheral component interlinkage standards PCIe bus, this device also includes:8th determining unit, for determine need by this target VF module cluster with this at least two In PCIe bus the first PCIe bus connect VF module data is activation in this target VF module cluster with this at least two The VF module that in PCIe bus, the 2nd PCIe bus connects;Transmitting element, for the VF mould being connected this with a PCIe bus The data of block is sent to, by the switch of this first physical network card, the VF module that this is connected with the 2nd PCIe bus.
In conjunction with second aspect, or the first of second aspect any one possible implementation in the 7th kind, second In 8th kind of possible implementation of aspect, this device also includes the 3rd determining unit, for determining this main PF module appearance Fault;This first determining unit is additionally operable to:From this PF module group, PF module in addition to this main PF module for the selection is as new Main PF module;This second determining unit is additionally operable to:Based on each PF module corresponding VF module group in this PF module group, determining should The new target VF module cluster of new main PF module management, wherein, the VF module in this new target VF module cluster is used for distributing To at least one virtual machine VM, so that this at least one VM realizes data transfer.
A kind of third aspect, there is provided device for data transfer, including processor and memorizer;Wherein, this storage Device store program codes, this processor is used for calling this program code of storage in this memorizer, and execution is following to be operated:From first In the physical function PF module group of physical network card, determine main PF module, this PF module group includes at least two PF modules, this PF mould The different virtual functions VF module group of each PF module correspondence in block group;Based on each corresponding void of PF module in this PF module group Intend function VF module group, determine the target VF module cluster of this main PF module management, wherein, VF module in this target VF module cluster For distributing at least one virtual machine VM, so that this at least one VM realizes data transfer.
In conjunction with the third aspect, in the first possible implementation of the third aspect, this processor is used for calling this to deposit This program code of storage in reservoir, concrete execution is following to be operated:Benchmark ginseng based on each of this PF module group PF module Number, determines this main PF module, wherein, the basic parameter of this PF module includes PF module failure number of times, PF module corresponding VF mould At least one in the number of VF module, PF module static bandwidth and PF module static bandwidth in block group.
In conjunction with the first possible implementation of the third aspect or the third aspect, possible in the second of the third aspect In implementation, this processor is used for calling this program code of storage in this memorizer, and concrete execution is following to be operated:From this PF Select at least one VF module in each of module group PF module corresponding VF module group, form this target VF module cluster.
In conjunction with the third aspect, the first possible implementation of the third aspect or the possible reality of the second of the third aspect In existing mode, in the third possible implementation of the third aspect, this processor is used for calling storage in this memorizer This program code, also executes following operation:Determine that a PF module enables or fault recovery again, a PF module is determined For the PF module in this PF module group;Based on a PF module, set up a PF module corresponding VF module group.
In conjunction with the third aspect, or the first of the third aspect any one possible implementation in the third, the 3rd In 4th kind of possible implementation of aspect, this processor is used for calling this program code of storage in this memorizer, also holds Row is following to be operated:Determine that the 2nd PF module is deleted from this PF module group of this first physical network card;Discharge the 2nd PF module Corresponding VF module group.
In conjunction with the third aspect, or the first of the third aspect any one possible implementation in the 4th kind, the 3rd In 5th kind of possible implementation of aspect, this processor is used for calling this program code of storage in this memorizer, also holds Row is following to be operated:When determining that the 3rd PF module of this first physical network card breaks down, determine the corresponding VF of the 3rd PF module Whether the VF module in module group can use;Can use at least one of the 3rd PF module corresponding VF module group VF module When, this at least one the VF module available in corresponding for PF module VF module group is defined as continuing can use.
In conjunction with the third aspect, or the first of the third aspect any one possible implementation in the 5th kind, the 3rd In 6th kind of possible implementation of aspect, this processor is used for calling this program code of storage in this memorizer, also holds Row is following to be operated:Determine that event in a VF module of the VM distributing in this target VF module cluster in this at least one VM Barrier;In each PF module corresponding VF module group from this PF module group, it is selected differently from the 2nd VF mould of a VF module Block;Update this target VF module cluster, and the 2nd VF module assignment is given a VM.
In conjunction with the third aspect, or the first of the third aspect any one possible implementation in the 6th kind, the 3rd In 7th kind of possible implementation of aspect, this first physical network card takies at least two high speed peripheral component interlinkage standards PCIe bus, this processor is used for calling this program code of storage in this memorizer, also executes following operation:Determine need by The data is activation of the VF module being connected with a PCIe bus in this at least two PCIe bus in this target VF module cluster is to this The VF module being connected with the 2nd PCIe bus in this at least two PCIe bus in target VF module cluster;Should be total with a PCIe The data of the VF module that line connects is sent to, by the switch of this first physical network card, the VF that this is connected with the 2nd PCIe bus Module.
In conjunction with the third aspect, or the first of the third aspect any one possible implementation in the 7th kind, the 3rd In 8th kind of possible implementation of aspect, this processor is used for calling this program code of storage in this memorizer, also holds Row is following to be operated:Determine that this main PF module breaks down;From this PF module group, select the PF module in addition to this main PF module As new main PF module;Based on each PF module corresponding VF module group in this PF module group, determine this new main PF module The new target VF module cluster of management, wherein, the VF module in this new target VF module cluster is used for distributing at least one void Plan machine VM, so that this at least one VM realizes data transfer.
A kind of fourth aspect, there is provided physical network card, including:The PF module group being made up of at least two PF modules, and At least two VF module groups;Wherein, one of this at least two PF module PF module corresponds to this at least two VF module group One of VF module group, the arbitrary PF module in this at least two PF module can manage it after PF module based on being determined VF module in the VF module group that his PF module connects.
In conjunction with fourth aspect, in the first possible implementation of fourth aspect, described at least two VF module groups In VF module in each VF module group include two space-like resources;Wherein, the space-like money in described two space-like resources Source is used for before described main PF module is determined, and the VF module group belonging to the VF module belonging to described two space-like resources corresponds to PF module conduct interviews;Another kind of space resources in described two space-like resources is used for being determined in described main PF module Afterwards, set up to be connected with described main PF module and conducted interviews by described main PF module.
In conjunction with the first possible implementation of fourth aspect or fourth aspect, possible in the second of fourth aspect In implementation, described physical network card takies at least two high speed peripheral component interlinkage standard PCIe buses, described physical network card Also include built-in switch;Wherein, described built-in switch be used for by with described at least two PCIe buses in a PCIe The data of the VF module that bus connects is passed through to be sent to be connected with the 2nd PCIe bus in described at least two PCIe buses VF module.
In conjunction with fourth aspect, the first possible implementation of fourth aspect or the possible reality of the second of fourth aspect Existing mode, in the third possible implementation of fourth aspect, described physical network card passes through at least two ports and outside Switch connects;Described physical network card is additionally operable to the data flow that the device of receiving data transmission is sent by aggregated links, and leads to Cross equilibrium described data of transmission in each port in described at least two ports and flow to described external switch.
A kind of 5th aspect, there is provided system for data transfer, including arbitrary in second aspect or second aspect The device for data transfer in the possible implementation of kind and any one possible realization of fourth aspect or fourth aspect Physical network card in mode, or include in any one the possible implementation in the third aspect or the third aspect for counting According to the physical network card in the device of transmission and any one possible implementation of fourth aspect or fourth aspect;Wherein, second First physical network card of indication or the third aspect or third party in any one possible implementation in aspect or second aspect In any one possible implementation in face, the first physical network card of indication is that any one of fourth aspect or fourth aspect can The physical network card of indication in the implementation of energy.
Therefore, in embodiments of the present invention, because a physical network card has the PF module of at least two PF module compositions Group, and a PF module can be selected as main PF module at least two PF modules from this PF module group, thus due to The chance selecting is more, can avoid system malfunctions, and reduce the wasting of resources.
Brief description
In order to be illustrated more clearly that the technical scheme of the embodiment of the present invention, below will be in embodiment or description of the prior art The accompanying drawing of required use be briefly described it should be apparent that, drawings in the following description be only the present invention some are real Apply example, for those of ordinary skill in the art, on the premise of not paying creative work, can also be according to these accompanying drawings Obtain other accompanying drawings.
Fig. 1 is the indicative flowchart of the method for data transfer according to embodiments of the present invention.
Fig. 2 is the indicative flowchart of the method for data transfer according to another embodiment of the present invention.
Fig. 3 is the schematic block diagram of the device for data transfer according to another embodiment of the present invention.
Fig. 4 is the schematic block diagram of the device for data transfer according to another embodiment of the present invention.
Fig. 5 is the schematic block diagram of the device for data transfer according to another embodiment of the present invention.
Fig. 6 is the schematic block diagram of physical network card according to another embodiment of the present invention.
Fig. 7 is the schematic block diagram of the system for data transfer according to another embodiment of the present invention.
Specific embodiment
Below in conjunction with the accompanying drawing in the embodiment of the present invention, the technical scheme in the embodiment of the present invention is carried out clear, complete Site preparation description is it is clear that described embodiment a part of embodiment that is the present invention, rather than whole embodiments.Based on this Embodiment in bright, the every other enforcement that those of ordinary skill in the art are obtained under the premise of not making creative work Example, broadly falls into the scope of protection of the invention.
Fig. 1 is a kind of method for data transfer according to embodiments of the present invention.As shown in figure 1, the method 100 is wrapped Include:
S110, from a PF module group of the first physical network card, determines main PF module, a PF module group is included at least Two PF modules, the different VF module group of each PF module correspondence in a PF module group.
S120, based on each PF module corresponding VF module group in this PF module group, determines the mesh of this main PF module management Mark VF module cluster, wherein, the VF module in the target VF module cluster of main PF module management is assigned at least one virtual machine, with Just this at least one virtual machine realizes data transfer.
For the device of data transfer, for example, possess the device of at least one processor of data-transformation facility, for example may be used Being main frame, or the host groups being made up of at least two main frames, can be from the inclusion at least two PF mould of the first physical network card In the PF module group of block, determine main PF module;Then, in each PF module corresponding VF module group from this PF module group, determine Need the target VF module cluster of this main PF module management, wherein and then can be by by the VF module in this target VF module cluster Distribute at least one virtual machine, thus each virtual machine can realize data transfer by VF module.
Therefore, in embodiments of the present invention, form a PF mould because a physical network card has at least two PF modules Block group, and a PF module can be selected at least two PF modules from a PF module group as main PF module, due to Have that at least two PF modules are available, increased the reliability of main PF module, such that it is able to decrease system malfunctions Probability, and decrease the wasting of resources causing because of the system failure.
The physical network card mentioned in the embodiment of the present invention can also be referred to as SR-IOV network interface card, and it can include two kinds of work( Energy module, PF module and VF module, it will be appreciated by those skilled in the art that also referred to as PF and VF.Wherein, PF module is supported The PCIe function of SR-IOV expanded function, is used for configuring and manages SR-IOV functional characteristic;VF module realizes the PCIe simplifying Function.Determine from PF module group main PF module and determine main PF module management target VF module cluster after, virtual Machine management level(Virtual Machine Management, VMM)Each of target VF module cluster VF module can be divided Do not give virtual machine as a PCIe device(Virtual Machine, VM).VM is controlled face to allocated VF module During access, request, main PF module and VMM respond request are initiated by VM, and returns results in VM.VM is from VF module transceiving data During message, in conjunction with the input and output MMU memory management unit of CPU offer(Input/output memory management unit, IOMMU)Technology, realizes transmitting-receiving and is completely independent it is not necessary to main PF module and VMM participate in.
In embodiments of the present invention, in PF module group there is corresponding relation in each PF module and VF module group, is not selecting Before selecting main PF module, each PF module can be used for managing all VF modules in its corresponding VF module group, that is, Say the VF module hanging with each PF module in its corresponding VF module group.And after have selected main PF module, main PF mould Block is capable of dividing for the unified management of the VF module in the corresponding VF module group of PF modules all in PF module group and resource Join, it is thus possible to select all or part of VF module composition target VF module from all PF modules corresponding VF module group Group, by VMM by the VF module assignment in target VF module cluster to virtual machine.
In the embodiment of the present invention, VF module can include two space-like resources, and first kind space resources is directly to be corresponded to PF module control, be actually determined in main PF module, directly corresponding PF module pass through access first kind space resources pair This VF module is managed;After Equations of The Second Kind space resources main PF module in Systematic selection, be remapped based on PF module Visible region(Set up the connection of second space resource and this main PF module), can be by main PF module directly to this Equations of The Second Kind Space resources conducts interviews to realize this VF module is managed, and is not controlled by directly corresponding PF module.
In embodiments of the present invention, in S110 from the PF module group of the first physical network card, determine main PF module, can wrap Include:Based on the basic parameter of each of this PF module group PF module, determine this main PF module, wherein, this basic parameter is permissible Including the number of VF module, PF module static bandwidth and PF mould in the number of stoppages of PF module, PF module corresponding VF module group At least one in block dynamic bandwidth.
Specifically, when needing to determine main PF module from the PF module group of the first physical network card, for data transfer Device can basic parameter based on each of this PF module group PF module, determine each of this PF module group PF module Performance number, and the performance number based on each PF module it may be determined that in this PF module group PF module prioritization, so After can be based on prioritization, determine main PF module from PF module group.In embodiments of the present invention, each PF module Basic parameter can be worth to according to different reference performances with respect to this PF module.For example, if the basic parameter of PF module is The number of VF module in PF module failure number of times and PF module corresponding VF module group, can arrange the benchmark that primary fault occurs Performance number is -10, and the reference performance value of a VF module is 5, if the number of stoppages of PF module 0 is 2 and corresponding VF module In group, the number of VF module is 6, the number 5 of VF module in the number of stoppages 3 of PF module 1 and corresponding VF module group, The performance number that PF module 0 then can be calculated is 10, and the performance number of PF module 1 is -5, then the performance number of PF module 0 is more than The performance number of PF module 1, thus, the priority of PF module 0 is higher than PF module 1, then can select PF module 0 as main PF mould Block.It should be understood that above-mentioned is a citing, the embodiment of the present invention is not construed as limiting to this.
In embodiments of the present invention, can have following principle for how determining main PF module:If basic parameter is PF module failure number of times, then the number of times that breaks down is fewer, then the priority of PF module is higher, more may be determined based on PF mould Block;If basic parameter is the number of VF module in PF module corresponding VF module group, in PF module corresponding VF module group The number of VF module is more, then the priority of this PF module is higher, more may be determined based on PF module;If basic parameter is The static bandwidth of PF module, then the static bandwidth of PF module is bigger, then the priority of this PF module is higher, more may be confirmed as Main PF module;If basic parameter is the dynamic bandwidth of PF module, the dynamic bandwidth of PF module is bigger, then priority is higher, PF module based on more may being determined;If basic parameter is PF module failure number of times, VF mould in PF module corresponding VF module group In the number of block, PF module dynamic bandwidth and PF module static bandwidth at least two, then can consider two kinds of factors and enter Row major level sorts, to determine main PF module.
In embodiments of the present invention, it is based on each PF module corresponding VF module group in this PF module group in S120, determine The target VF module cluster of this main PF module management, can include:From each of PF module group PF module corresponding VF mould Select at least one VF module in block group, form this target VF module cluster.
For example, it is desired at least two VF modules realize link aggregation function(Can certainly be under other scenes)When, After determining main PF module, can be elected to respectively from each of PF module group PF module corresponding VF module group A few VF module, forms this target VF module cluster.In the embodiment of the present invention, if a certain PF module failure, do not interfere with The normal work of the VF module in other PF modules corresponding VF module group, such that it is able to realize the VF module of different VF module groups Mutually isolated, thus the embodiment of the present invention is from different PF module corresponding VF module groups, select VF module, can improve The reliability and stability of system, thereby may be ensured that system bandwidth.
In embodiments of the present invention, needing to send aggregated links data flow(Aggregated links data flow refers to by least two Individual VF module combines the data flow of transmission, that is, the passage of at least two VF module transceiving datas can form aggregated links) When, can be by the multiple ports on physical network card(port)Send aggregated links data flow to external switch, at this point it is possible to The flow of each port of real-time monitoring, for example, this physical network card has two ports to be connected with external switch, in certain a period of time Interior, the transmission scheduler module in this physical network card monitors that the flow of port 0 is 0.2G, and the flow of port 1 is 1G, then for reality Existing link bandwidth equilibrium, then can reduce the flow of the aggregated links being dealt into port 1, increase to the stream of the aggregated links of port 0 Amount, for example, it is possible to the flow of port 0 and port 1 is all adjusted to 0.6G.
It should be understood that for non-polymeric link data stream it is also possible to this data flow is sent to external switch by multiport, And with the flow of real-time monitoring port, and can be adjusted.
It should be understood that in embodiments of the present invention, it is also possible to directly correspond to main PF module after determining main PF module VF module group be defined as the target VF module cluster of this main PF module management, or will be corresponding for other one or more PF modules VF module group is defined as the target VF module cluster of this main PF module management.Concrete how from PF module group each PF module correspond to VF module group in, determine target VF module cluster, the present invention is simultaneously not construed as limiting.
In embodiments of the present invention, the method 100 can also include:Determine that a PF module enables again or fault is extensive Multiple, a PF module is defined as the PF module in a PF module group;Based on a PF module, set up a PF mould Block corresponding VF module group.Or, the method 100 can also include:Determine the 2nd PF module from this first physical network card Delete in one PF module group;Discharge the 2nd PF module corresponding VF module group.
Specifically, the device for data transfer can monitor all VF modules of the first physical network card, and VF mould Block carries out grouping management.For example, it is possible to the VF module of 0 time extension of PF module is formed VF module group 0, i.e. VF module 0, VF module 1 ... VF module 127 forms VF module group 0, the VF module composition VF module group 1 of 1 time extension of PF module, i.e. VF module 128, VF module 129th, VF module 130 ... VF module 255 composition VF module group 1.A PF module in the first physical network card again enable or After person's fault recovery, the device for data transfer can be based on the VF mould hung under a PF module and a PF module Block, sets up a PF module corresponding VF module group.The 2nd PF module in the PF module group of this first physical network card by from When deleting in system(For example, delete because the 2nd PF module breaks down or user actively deletes), foundation can be discharged 2nd PF module corresponding VF module group.
Therefore, in embodiments of the present invention, PF module again enable or fault recovery after, can set up this makes again Energy or the PF module corresponding VF module group of fault recovery, or after deleting PF module, discharge this deleted PF module pair The VF module group answered, such that it is able to the dynamic VF module that can be used in physical network card that adjusts so that system is more flexible.
In embodiments of the present invention, the method 100 can also include:Determine that the 3rd PF module of this first physical network card is sent out During raw fault, determine whether the VF module in the 3rd PF module corresponding VF module group can use;Correspond in the 3rd PF module At least one of VF module group VF module when can use, by corresponding for PF module VF module group available at least One VF is defined as continuing can use.
Specifically, in embodiments of the present invention, when a certain PF module of a certain physical network card breaks down, can not Directly discharge this PF module corresponding VF module group, may further determine that the state of the VF module under this PF module, if should All VF modules under PF module break down, then can directly discharge this PF module corresponding VF module group, if this PF mould Part VF module under block breaks down, then only need to reject the VF breaking down module from this VF module group.Therefore, at this In inventive embodiments, when PF module breaks down, if the VF module hung under this PF module can use, the PF that this is broken down The available VF module hung under module is defined as continuing can use, and can avoid the wasting of resources.
It should be understood that the PF module mentioned in the embodiment of the present invention, the 2nd PF module and the 3rd PF module can be phases Same PF module or different PF modules.
In embodiments of the present invention, the method 100 can also include:Determine in this target VF module cluster and distribute to this at least The first VF module of the VM in one VM breaks down;Each PF module corresponding VF module group from this PF module group In, determine the 2nd VF module, the VF module that the 2nd VF module includes different from this target VF module cluster;Update this target VF mould Block group, and the 2nd VF module assignment is given a VM.
Specifically, when allocated VF module in a certain VM breaks down, can be from the PF module group of physical network card In in each PF module corresponding VF module group, reselect a new VF module, the VF module that this reselects is different from The VF module that original target VF module cluster includes;Then, update this target VF module cluster, will this VF module of reselecting As the member of this target VF module cluster, and the VF module assignment that this is reselected is to this VM.
In embodiments of the present invention, the method 100 can also include:Determine need by this target VF module cluster with first The VF module that the data is activation of the VF module that PCIe bus connects is connected with the 2nd PCIe bus in this target VF module cluster;Will The data of VF module should being connected with a PCIe bus is sent to this with second by the switch of this first physical network card The VF module that PCIe bus connects.
That is, the first physical network card can take at least two PCIe buses, if some the VF mould in a PCIe bus Block number, according to needing another VF module of being sent in same PCIe bus, can pass through the internal switch of this physical network card Realize the transmission of this data.If the VF module data needs being connected with some PCIe bus are sent to and another PCIe bus The VF module connecting it is also possible to realize the transmission of this data by the internal switch of this physical network card.
Therefore, in embodiments of the present invention, between the VF module connecting from different PCIe buses in Same Physical network interface card Data exchange, or in Same Physical network interface card with identical PCIe bus connect VF module between data exchange, Ke Yitong Cross built-in switch in this physical network card to realize, such that it is able to save the network bandwidth, reduce data transmit-receive time delay.
In embodiments of the present invention, the method 100 can also include:Determine that this main PF module breaks down;From this PF mould In block group, PF module in addition to this main PF module for the selection is as new main PF module;Based on each PF mould in this PF module group Block corresponding VF module group, determines the new target VF module cluster of this new main PF module management;By this new target VF module VF module in group, distributes at least one virtual machine, so that this at least one virtual machine realizes data transfer.
Specifically, in the running of system, can be supervised with the concrete operations information of real-time tracking record main PF module Control the state of main PF module.If main PF module breaks down, gravity treatment a PF module can be selected to make from PF module group For new main PF module, and the operation information of record is updated new main PF module, and be that this new main PF module is true again Fixed new target VF module cluster, and by the VF module in this new target VF module cluster, distribute at least one virtual machine, so that This at least one virtual machine realizes data transfer.
Therefore, in embodiments of the present invention, when former main PF module breaks down, can be from having at least two PF modules PF module group in reselect a new main PF module, can avoid further system malfunctions and reduce resource wave Take.
It should be understood that the present invention can also be combined that is to say, that can also exist in network interface card with software simulation virtual technology 2nd PF module group, the PF module in the 2nd PF module group can fictionalize at least two vNIC by way of software is simulated, For tradition(legacy)Virtual machine uses.
In order to be more clearly understood from the present invention, below with reference to Fig. 2 describe according to embodiments of the present invention for data The method of transmission.
First scene illustrated in fig. 2 is briefly described.Under this scene, PF module group 1 includes PF module 0;PF Module group 2 includes PF module 1 and PF module 2, hangs with VF module 1 and VF module 2, hang with VF module under PF module 2 under PF module 1 3 and VF modules 4.Wherein, in figure PF module 0, PF module 1 and PF module 2 are shown as PF0, PF1 and PF2;VF module 1, VF Module 2, VF module 3 and VF module 4 are shown as VF1, VF2, VF3 and VF4.VF DD shown in Fig. 2 refers to VF module Drive(Device Driver), PF DD refers to the driving of PF module.VMM can be run by main frame, for the establishment of VM, deletion, The management of hardware resource, distribution of VM resource etc..Specifically describe method according to embodiments of the present invention below with reference to Fig. 2.
VMM can be from physical network card(NIC)In PF module group 2 in select PF module as main PF module, specifically Ground, VMM can be according to the number of VF module, PF module static bandwidth in the number of stoppages of each PF module, corresponding VF module group Determine main PF module with least one in PF module dynamic bandwidth, for example, it is possible to as shown in Figure 2, PF module 1 is defined as Main PF module.After determining main PF module, VMM can determine that this main PF module needs the VF module of management, wherein, if Need to realize link aggregation function, in the VF module that can hang from different PF modules, select VF module, composition needs main PF VF module 2, VF module 3 and VF module 4 for example, as shown in Figure 2, can be defined as by the target VF module cluster of module management Target VF module cluster.Then, VMM can by each VF module assignment in the target VF module cluster needing main PF module management to Each VM, for each VM subsequent data transmission, such as, as shown in Fig. 2 VF module 2 is distributed to VM2, VF module 3 is distributed to VM3, and VF module 4 is distributed to VM4.When the main PF module selecting breaks down, VMM can from PF module group again Select a PF module as main PF module it is possible to be this main PF module selection target VF module cluster again.Real in the present invention Apply in example, VMM can also fictionalize one or at least two vNIC based on the mode of software simulation by PF module, such as schemed Shown in 2, vNIC1 and vNIC2 is fictionalized by PF module 0, respectively tradition(Legacy)VM1 and tradition(Legacy)VM2 Service.After being assigned with VF module or vNIC for VM, each VM can realize the transmission of data.Four kinds described below main Data transfer path implementation:
Data flow is 1.:Data exchange between Legacy VM is the virtual software switch built-in by VMM(Virtual SW switch)Realize.
Data flow is 2.:In Legacy VM Microsoft Loopback Adapter transmitting-receiving data channel be:External switch → internal switch →MAC→PF→VMM→VM;VM → VMM → PF → MAC → internal switch → external switch.
Data flow is 3.:It is to be realized by built-in switch in NIC using the data exchange between the VM of VF module, no By the connection of VF module is identical PCIe or different PCIe, all can be realized by the built-in switch of NIC.
Data flow is 4.:VM data transmit-receive passage using VF module is:External switch → internal switch → medium is visited Ask control(Media Access Control, MAC)→VF;VF → MAC → internal switch → external switch.
Data flow is 5.:Main PF carries out resource management to VF and the passage of control is:VM → VMM → main PF → VF;VF → master PF→VMM→VM.
Therefore, in embodiments of the present invention, because a physical network card has the PF module of at least two PF module compositions Group, and a PF module can be selected as main PF module at least two PF modules from this PF module group, thus due to The chance selecting is more, can avoid system malfunctions, and reduce the wasting of resources.
Fig. 3 is the schematic block diagram being used for the device 200 of data transfer according to embodiments of the present invention.As shown in figure 3, this dress Put 200 and include the first determining unit 210 and the second determining unit 220.First determining unit 210 is used for from the first physical network card In physical function PF module group, determine main PF module, this PF module group includes at least two PF modules, in this PF module group each The different VF module group of PF module correspondence;Second determining unit 220 is used for corresponding based on each PF module in this PF module group Virtual functions VF module group, determines the target VF module cluster of this main PF module management, wherein, VF mould in this target VF module cluster Block is used for distributing at least one virtual machine VM, so that this at least one VM realizes data transfer.
Alternatively, this first determining unit 210 specifically for:Benchmark ginseng based on each of this PF module group PF module Number, determines this main PF module, wherein, the basic parameter of this PF module includes PF module failure number of times, PF module corresponding VF mould At least one in block number, PF module static bandwidth, PF module static bandwidth.
Alternatively, this second determining unit 220 specifically for:From each of this PF module group PF module corresponding VF mould Select at least one VF module in block group, form this target VF module cluster.
As shown in figure 4, this device 200 also includes the 4th determining unit 252 and sets up unit 254.4th determining unit 252 Again enable or fault recovery for determination the first PF module, a described PF module is defined as the PF in described PF module group Module;Set up unit 254 for based on a described PF module, setting up the corresponding VF module group of a described PF module.
Alternatively, as shown in figure 4, this device 200 also includes the 5th determining unit 256 and releasing unit 258.5th determination Unit 256 is used for determining that the 2nd PF module is deleted from the described PF module group of described first physical network card;Releasing unit 258 is used In the release corresponding VF module group of described 2nd PF module.
Alternatively, as shown in figure 4, this device 200 also includes the 6th determining unit 262, holding unit 264 and holding unit 264.When 6th determining unit 262 is used for determining that the 3rd PF module of described first physical network card breaks down, determine described the Whether the VF in three PF modules corresponding VF module group can use;Holding unit 264 is used in the corresponding VF of described 3rd PF module When at least one of module group VF module can use, by described in corresponding for described 3rd PF module VF module group at least one VF module is defined as continuing can use.
Alternatively, as shown in figure 4, this device 200 also includes the 7th determining unit 272, select unit 274 and updating block 276.7th determining unit 272 is used for determining the first of the VM distributing in this target VF module cluster in this at least one VM VF module breaks down;Select unit 274 is used in each PF module corresponding VF module group from this PF module group, selects not It is same as the 2nd VF module of a VF module;Updating block 276 is used for updating this target VF module cluster.
Alternatively, described first physical network card takies at least two high speed peripheral component interlinkage standard PCIe buses, such as Fig. 4 Shown, this device 200 also includes:8th determining unit 282, for determine need by described target VF module cluster with described extremely In few two PCIe buses the data is activation of the VF module that a PCIe bus connects in described target VF module cluster with described The VF module that at least two PCIe buses, the 2nd PCIe bus connects;Transmitting element 284, for should be with a PCIe bus The data of the VF module connecting is sent to, by the switch of this first physical network card, the VF mould that this is connected with the 2nd PCIe bus Block.
Alternatively, as shown in figure 4, this device 200 also includes the 3rd determining unit 240.3rd determining unit 240 is used for Determine that described main PF module breaks down;This first determining unit 210 is additionally operable to:From this PF module group, select to remove this main PF PF module outside module is as new main PF module;This second determining unit 220 is additionally operable to:Based in this PF module group each PF module corresponding VF module group, determines the new target VF module cluster of this new main PF module management, wherein, this new target VF module in VF module cluster is used for distributing at least one virtual machine VM, so that this at least one VM realizes data transfer.
Therefore, in embodiments of the present invention, because a physical network card has the PF module of at least two PF module compositions Group, and a PF module can be selected as main PF module at least two PF modules from this PF module group, thus due to The chance selecting is more, can avoid system malfunctions, and reduce the wasting of resources.
Fig. 5 is the schematic block diagram of the device 300 for data transfer according to embodiments of the present invention.As shown in figure 5, should Device 300 includes:Processor 310310 and memorizer 320320;Wherein, this memorizer 320 store program codes, this processor 310 are used for calling this program code of storage in this memorizer 320, and execution is following to be operated:Physics work(from the first physical network card In energy PF module group, determine main PF module, this PF module group includes at least two PF modules, each PF module in this PF module group The different virtual functions VF module group of correspondence;Based on each PF module corresponding virtual functions VF module group in this PF module group, Determine the target VF module cluster of this main PF module management, wherein, the VF module in this target VF module cluster is used for distributing at least One virtual machine VM, so that this at least one VM realizes data transfer.
Alternatively, this processor 310 is used for calling this program code of storage in this memorizer 320, and concrete execution is following Operation:Based on the basic parameter of each of this PF module group PF module, determine this main PF module, wherein, the base of this PF module Quasi- parameter includes PF module failure number of times, PF module corresponding VF number of modules, PF module static bandwidth and PF module static straps At least one of alleviating distention in middle-JIAO.
Alternatively, this processor 310 is used for calling this program code of storage in this memorizer 320, and concrete execution is following Operation:Select at least one VF module from each of this PF module group PF module corresponding VF module group, form this target VF module cluster.
Alternatively, this processor 310 is used for calling this program code of storage in this memorizer 320, also executes following behaviour Make:Determine that a PF module enables or fault recovery again, a PF module is defined as the PF module in this PF module group; Based on a PF module, set up a PF module corresponding VF module group.
Alternatively, this processor 310 is used for calling this program code of storage in this memorizer 320, also executes following behaviour Make:Determine that the 2nd PF module is deleted from this PF module group of this first physical network card;Discharge the corresponding VF of the 2nd PF module Module group.
Alternatively, this processor 310 is used for calling this program code of storage in this memorizer 320, also executes following behaviour Make:When determining that the 3rd PF module of this first physical network card breaks down, determine in the 3rd PF module corresponding VF module group VF module whether can use;When at least one of the 3rd PF module corresponding VF module group VF module can use, by this This at least one VF module available in one PF module corresponding VF module group is defined as continuing can use.
Alternatively, this processor 310 is used for calling this program code of storage in this memorizer 320, also executes following behaviour Make:Determine that the VF module distributing to the VM in this at least one VM in this target VF module cluster breaks down;From this In each PF module corresponding VF module group in PF module group, it is selected differently from the 2nd VF module of a VF module;Update This target VF module cluster.
Alternatively, this first physical network card takies at least two high speed peripheral component interlinkage standard PCIe buses, this process Device 310 is used for calling this program code of storage in this memorizer 320, also executes following operation:Determining needs this target VF The data is activation of the VF module being connected with a PCIe bus in this at least two PCIe bus in module cluster is to this target VF mould The VF module being connected with the 2nd PCIe bus in this at least two PCIe bus in block group;This is connected with a PCIe bus The data of VF module is sent to, by the switch of this first physical network card, the VF module that this is connected with the 2nd PCIe bus.
Alternatively, this processor 310 is used for calling this program code of storage in this memorizer 320, also executes following behaviour Make:Determine that this main PF module breaks down;From this PF module group, PF module in addition to this main PF module for the selection is as new Main PF module;Based on each PF module corresponding VF module group in this PF module group, determine the new of this new main PF module management Target VF module cluster, wherein, the VF module in this new target VF module cluster is used for distributing at least one virtual machine VM, with Just this at least one VM realizes data transfer.
Therefore, in embodiments of the present invention, because a physical network card has the PF module of at least two PF module compositions Group, and a PF module can be selected as main PF module at least two PF modules from this PF module group, thus due to The chance selecting is more, can avoid system malfunctions, and reduce the wasting of resources.
Fig. 6 is the schematic block diagram of physical network card according to embodiments of the present invention.As shown in fig. 6, this physical network card 400 wraps Include:The PF module group 410 being made up of at least two PF modules 411, and at least two VF module groups 420;Wherein, described at least One of two PF modules 411 PF module 411 corresponds to one of described at least two VF module groups 420 VF module group 420, the arbitrary PF module 411 in described at least two PF modules 411 can manage other PF after PF module based on being determined VF module 421 in the VF module group 420 that module 411 connects.
Alternatively, each PF module 411 in described PF module group 410 is connected with each other, appointing in described PF module group 410 One PF module 411 can manage the VF in the VF module group 420 that other PF modules 411 described connect by other PF modules 411 Module 421.
Alternatively, the VF module 421 in each VF module group 420 in described at least two VF module groups 420 includes two classes Space resources;Wherein, the space-like resource in described two space-like resources is used for before described main PF module is determined, by institute State the corresponding PF module 411 of VF module group 420 belonging to VF module 421 belonging to two space-like resources to conduct interviews;Described two Another kind of space resources in the resource of space-like is used for, after described main PF module is determined, setting up with described main PF module and being connected Conducted interviews by described main PF module.
Alternatively, described physical network card 400 takies at least two high speed peripheral component interlinkage standard PCIe buses, described thing Reason network interface card 400 also includes built-in switch;Wherein, described built-in switch be used for by with described at least two PCIe buses in The data of the VF module that the first PCIe bus connects is total with the 2nd PCIe in described at least two PCIe buses by being sent to The VF module that line connects.
Alternatively, described physical network card is connected with external switch by least two ports;Described physical network card is also used The data flow being sent by aggregated links in the device of receiving data transmission, and by each port in described at least two ports Equilibrium sends described data and flow to described external switch.
Therefore, in embodiments of the present invention, because a physical network card has the PF module of at least two PF module compositions Group, and a PF module can be selected as main PF module at least two PF modules from this PF module group, thus due to The chance selecting is more, can avoid system malfunctions, and reduce the wasting of resources.
Fig. 7 is the schematic block diagram of the system 500 for data transfer according to embodiments of the present invention.As shown in fig. 7, should System 400 includes device 410 and physical network card 420 for data transfer;The device 510 being wherein used for data transfer can correspond to The device 200 or 300 for data transfer in the embodiment of the present invention, physical network card 520 may correspond to physical network card 400, The first physical network card for mentioning in the device 200 or 300 of data transfer is physical network card 400.For sake of simplicity, here is not Repeat again.
Therefore, in embodiments of the present invention, because a physical network card has the PF module of at least two PF module compositions Group, and a PF module can be selected as main PF module at least two PF modules from this PF module group, thus due to The chance selecting is more, can avoid system malfunctions, and reduce the wasting of resources.
Those of ordinary skill in the art are it is to be appreciated that combine the list of each example of the embodiments described herein description Unit and algorithm steps, being capable of being implemented in combination in electronic hardware or computer software and electronic hardware.These functions are actually To be executed with hardware or software mode, the application-specific depending on technical scheme and design constraint.Professional and technical personnel Each specific application can be used different methods to realize described function, but this realization is it is not considered that exceed The scope of the present invention.
Those skilled in the art can be understood that, for convenience and simplicity of description, the system of foregoing description, Device and the specific work process of unit, may be referred to the corresponding process in preceding method embodiment, will not be described here.
It should be understood that disclosed system, apparatus and method in several embodiments provided herein, permissible Realize by another way.For example, device embodiment described above is only schematically, for example, described unit Divide, only a kind of division of logic function, actual can have other dividing mode when realizing, for example multiple units or assembly Can in conjunction with or be desirably integrated into another system, or some features can be ignored, or does not execute.Another, shown or The coupling each other discussing or direct-coupling or communication connection can be by some interfaces, the indirect coupling of device or unit Close or communicate to connect, can be electrical, mechanical or other forms.
The described unit illustrating as separating component can be or may not be physically separate, show as unit The part showing can be or may not be physical location, you can with positioned at a place, or can also be distributed to multiple On NE.The mesh to realize this embodiment scheme for some or all of unit therein can be selected according to the actual needs 's.
In addition, can be integrated in a processing unit in each functional unit in each embodiment of the present invention it is also possible to It is that unit is individually physically present it is also possible to two or more units are integrated in a unit.
If described function realized using in the form of SFU software functional unit and as independent production marketing or use when, permissible It is stored in a computer read/write memory medium.Based on such understanding, technical scheme is substantially in other words Partly being embodied in the form of software product of part that prior art is contributed or this technical scheme, this meter Calculation machine software product is stored in a storage medium, including some instructions with so that a computer equipment(Can be individual People's computer, server, or network equipment etc.)The all or part of step of execution each embodiment methods described of the present invention. And aforesaid storage medium includes:USB flash disk, portable hard drive, read only memory(ROM, Read-Only Memory), random access memory deposits Reservoir(RAM, Random Access Memory), magnetic disc or CD etc. are various can be with the medium of store program codes.
The above, the only specific embodiment of the present invention, but protection scope of the present invention is not limited thereto, and any Those familiar with the art the invention discloses technical scope in, change or replacement can be readily occurred in, all should contain Cover within protection scope of the present invention.Therefore, protection scope of the present invention should described be defined by scope of the claims.

Claims (21)

1. a kind of method for data transfer is it is characterised in that include:
From the physical function PF module group of the first physical network card, determine main PF module, described PF module group includes at least two PF module, the different virtual functions VF module group of each PF module correspondence in described PF module group;
Based on each PF module corresponding VF module group in described PF module group, determine the target VF mould of described main PF module management Block group, wherein, the VF module in described target VF module cluster is used for distributing at least one virtual machine VM, so that described at least one Individual VM realizes data transfer;
Wherein, described based on each PF module corresponding VF module group in described PF module group, determine described main PF module management Target VF module cluster, including:
Select at least one VF module from each of described PF module group PF module corresponding VF module group, form described mesh Mark VF module cluster.
2. method according to claim 1 it is characterised in that described from the PF module group of the first physical network card, determine Main PF module, including:
Based on the basic parameter of each of described PF module group PF module, determine described main PF module, wherein, described PF module Basic parameter include PF module failure number of times, the number of VF module, PF module static straps in PF module corresponding VF module group At least one in width and PF module dynamic bandwidth.
3. method according to claim 1 and 2 is it is characterised in that methods described also includes:
Determine that a PF module enables or fault recovery again, a described PF module is defined as the PF in described PF module group Module;
Based on a described PF module, set up the corresponding VF module group of a described PF module.
4. method according to claim 1 and 2 is it is characterised in that methods described also includes:
Determine that the 2nd PF module is deleted from the described PF module group of described first physical network card;
Discharge the corresponding VF module group of described 2nd PF module.
5. method according to claim 1 and 2 is it is characterised in that methods described also includes:
When determining that the 3rd PF module of described first physical network card breaks down, determine the corresponding VF module of described 3rd PF module Whether the VF module in group can use;
When at least one of the corresponding VF module group of described 3rd PF module VF module can use, by described 3rd PF module pair At least one VF module available described in the VF module group answered is defined as continuing can use.
6. method according to claim 1 and 2 is it is characterised in that methods described also includes:
Determine that the VF module distributing to the VM at least one VM described in described target VF module cluster breaks down;
In each PF module corresponding VF module group from described PF module group, it is selected differently from the second of a described VF module VF module;
Update described target VF module cluster.
7. method according to claim 1 and 2 is it is characterised in that described first physical network card takies at least two at a high speed Peripheral Component Interconnect standard PCIe bus, methods described also includes:
Determine the VF needing will to be connected with a PCIe bus in described at least two PCIe buses in described target VF module cluster The data is activation of module is connected with the 2nd PCIe bus in described at least two PCIe buses in described target VF module cluster VF module;
The data of the described VF module being connected with a PCIe bus is sent to by the switch of described first physical network card The described VF module being connected with the 2nd PCIe bus.
8. method according to claim 1 and 2 is it is characterised in that methods described also includes:
Determine that described main PF module breaks down;
From described PF module group, PF module in addition to described main PF module for the selection is as new main PF module;
Based on each PF module corresponding VF module group in described PF module group, determine the new of described new main PF module management Target VF module cluster, wherein, the VF module in described new target VF module cluster is used for distributing at least one virtual machine VM, with Toilet is stated at least one VM and is realized data transfer.
9. a kind of device for data transfer is it is characterised in that include:
First determining unit, for, from the physical function PF module group of the first physical network card, determining main PF module, described PF mould Block group includes at least two PF modules, the different virtual functions VF module group of each PF module correspondence in described PF module group;
Second determining unit, for based on each PF module corresponding virtual functions VF module group in described PF module group, determining The target VF module cluster of described main PF module management, wherein, the VF module in described target VF module cluster is used for distributing at least One virtual machine VM, so that at least one VM described realizes data transfer;
Wherein, described second determining unit specifically for:
Select at least one VF module from each of described PF module group PF module corresponding VF module group, form described mesh Mark VF module cluster.
10. device according to claim 9 it is characterised in that described first determining unit specifically for:
Based on the basic parameter of each of described PF module group PF module, determine described main PF module, wherein, described PF module Basic parameter to include PF module failure number of times, the number of VF module in PF module corresponding VF module group, PF module static At least one in bandwidth and PF module dynamic bandwidth.
11. devices according to claim 9 or 10 are it is characterised in that described device also includes:
4th determining unit, again enables or fault recovery for determination the first PF module, a described PF module is defined as PF module in described PF module group;
Set up unit, for based on a described PF module, setting up the corresponding VF module group of a described PF module.
12. devices according to claim 9 or 10 are it is characterised in that described device also includes:
5th determining unit, deletes from the described PF module group of described first physical network card for determination the 2nd PF module;
Releasing unit, for discharging the corresponding VF module group of described 2nd PF module.
13. devices according to claim 9 or 10 are it is characterised in that described device also includes:
6th determining unit, when the 3rd PF module for determining described first physical network card breaks down, determines the described 3rd Whether the VF in PF module corresponding VF module group can use;
Holding unit, for when at least one of the corresponding VF module group of described 3rd PF module VF module can use, by institute State at least one the VF module described in the 3rd PF module corresponding VF module group to be defined as continuing can use.
14. devices according to claim 9 or 10 are it is characterised in that described device also includes:
7th determining unit, for determining the of the VM distributing in described target VF module cluster at least one VM described One VF module breaks down;
Select unit, in each PF module corresponding VF module group from described PF module group, being selected differently from described 2nd VF module of one VF module;
Updating block, for updating described target VF module cluster.
15. devices according to claim 9 or 10 are it is characterised in that described first physical network card takies at least two height Fast Peripheral Component Interconnect standard PCIe bus, described device also includes:
8th determining unit, for determine need by described target VF module cluster with described at least two PCIe buses in first The data is activation of the VF module that PCIe bus connects in described target VF module cluster with described at least two PCIe buses in the The VF module that two PCIe buses connect;
Transmitting element, for passing through described first physical network card by the data of the described VF module being connected with a PCIe bus Switch is sent to the described VF module being connected with the 2nd PCIe bus.
16. devices according to claim 9 or 10, it is characterised in that described device also includes the 3rd determining unit, are used for Determine that described main PF module breaks down;
Described first determining unit is additionally operable to:From described PF module group, the PF module in addition to described main PF module is selected to make For new main PF module;
Described second determining unit is additionally operable to:Based on each PF module corresponding VF module group in described PF module group, determine institute State the new target VF module cluster of new main PF module management, wherein, the VF module in described new target VF module cluster is used for Distribute at least one virtual machine VM, so that at least one VM described realizes data transfer.
A kind of 17. physical network cards are it is characterised in that include:The PF module group being made up of at least two PF modules, and at least two Individual VF module group;Wherein, one of described at least two PF modules PF module corresponds in described at least two VF module groups A VF module group, the arbitrary PF module in described at least two PF modules can manage it after PF module based on being determined VF module in the VF module group that his PF module connects, the target VF module cluster of described main PF module management is by from described PF module At least one VF module composition is selected in each of group PF module corresponding VF module group.
18. physical network cards according to claim 17 are it is characterised in that each VF mould in described at least two VF module groups VF module in block group includes two space-like resources;Wherein,
A space-like resource in described two space-like resources is used for before described main PF module is determined, by described two space-likes The corresponding PF module of VF module group belonging to VF module belonging to resource conducts interviews;
Another kind of space resources in described two space-like resources is used for after described main PF module is determined, with described main PF mould Block is set up to connect and is conducted interviews by described main PF module.
19. physical network cards according to claim 17 are it is characterised in that described physical network card takies outside at least two high speeds If component connection standard PCIe bus, described physical network card also includes built-in switch;Wherein, described built-in switch is used for inciting somebody to action The data is activation of the VF module being connected with the PCIe bus in described at least two PCIe buses is to described at least two The VF module that the 2nd PCIe bus in PCIe bus connects.
20. physical network cards according to any one of claim 17 to 19 are it is characterised in that described physical network card passes through extremely Few two ports are connected with external switch;The device that described physical network card is additionally operable to receiving data transmission is sent out by aggregated links The data flow sent, and described outside exchange is flow to by equilibrium described data of transmission in each port in described at least two ports Machine.
A kind of 21. systems for data transfer are it is characterised in that include according to any one of claim 9 to 16 Physical network card any one of device for data transfer and claim 17 to 20;Wherein, in claim 9 to 16 In any one claim, the first physical network card of indication is the physical network card any one of claim 17 to 20.
CN201380000801.1A 2013-06-18 2013-06-18 Method, apparatus and system for data transmission, and physical adapter Active CN103609077B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/077412 WO2014201623A1 (en) 2013-06-18 2013-06-18 Method, apparatus and system for data transmission, and physical network card

Publications (2)

Publication Number Publication Date
CN103609077A CN103609077A (en) 2014-02-26
CN103609077B true CN103609077B (en) 2017-02-22

Family

ID=50126079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380000801.1A Active CN103609077B (en) 2013-06-18 2013-06-18 Method, apparatus and system for data transmission, and physical adapter

Country Status (2)

Country Link
CN (1) CN103609077B (en)
WO (1) WO2014201623A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105591780B (en) * 2014-10-24 2019-01-29 新华三技术有限公司 Cluster monitoring method and equipment
CN104486234B (en) * 2014-11-21 2018-10-30 华为技术有限公司 A kind of method and server that service switch is unloaded to physical network card
US9588791B2 (en) 2015-04-27 2017-03-07 Altera Corporation Flexible physical function and virtual function mapping
CN106664242B (en) 2015-07-03 2019-09-03 华为技术有限公司 A kind of configuration method of network, network system and equipment
CN106484492A (en) * 2015-08-28 2017-03-08 杭州华为数字技术有限公司 The method and system of configuration interface
CN106656539A (en) * 2015-11-04 2017-05-10 中兴通讯股份有限公司 Internet access state detection and synchronization method and apparatus
CN107181679A (en) * 2016-03-09 2017-09-19 中兴通讯股份有限公司 A kind of port binding implementation method and device
JP6605713B2 (en) * 2016-11-09 2019-11-13 華為技術有限公司 Packet processing method, host and system in cloud computing system
AU2016414391B2 (en) 2016-11-09 2019-01-17 Huawei Technologies Co., Ltd. Packet processing method in cloud computing system, host, and system
CN107643938A (en) * 2017-08-24 2018-01-30 中国科学院计算机网络信息中心 Data transmission method, device and storage medium
CN113132200B (en) * 2019-12-30 2024-01-19 中兴通讯股份有限公司 Data forwarding method, repeater, system, server and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206587A (en) * 2006-12-19 2008-06-25 国际商业机器公司 System and method for migration of single root stateless virtual functions
CN101436165A (en) * 2007-11-15 2009-05-20 国际商业机器公司 System and method for management of an IOV adapter
EP2423826A2 (en) * 2010-08-27 2012-02-29 Hitachi Ltd. Computer system, i/o device control method, and i/o drawer
US8271707B2 (en) * 2010-02-17 2012-09-18 Broadcom Corporation Method and system for PCI hybrid function
CN102841760A (en) * 2008-10-30 2012-12-26 株式会社日立制作所 Storage device, and data path failover method of internal network of storage controller
CN102946366A (en) * 2012-11-12 2013-02-27 杭州华为数字技术有限公司 In-band management method and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645605B2 (en) * 2010-12-28 2014-02-04 Plx Technology, Inc. Sharing multiple virtual functions to a host using a pseudo physical function

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206587A (en) * 2006-12-19 2008-06-25 国际商业机器公司 System and method for migration of single root stateless virtual functions
CN101436165A (en) * 2007-11-15 2009-05-20 国际商业机器公司 System and method for management of an IOV adapter
CN102841760A (en) * 2008-10-30 2012-12-26 株式会社日立制作所 Storage device, and data path failover method of internal network of storage controller
US8271707B2 (en) * 2010-02-17 2012-09-18 Broadcom Corporation Method and system for PCI hybrid function
EP2423826A2 (en) * 2010-08-27 2012-02-29 Hitachi Ltd. Computer system, i/o device control method, and i/o drawer
CN102946366A (en) * 2012-11-12 2013-02-27 杭州华为数字技术有限公司 In-band management method and system

Also Published As

Publication number Publication date
WO2014201623A1 (en) 2014-12-24
CN103609077A (en) 2014-02-26

Similar Documents

Publication Publication Date Title
CN103609077B (en) Method, apparatus and system for data transmission, and physical adapter
CN104657316B (en) Server
CN107278362B (en) The method of Message processing, host and system in cloud computing system
EP2867772B1 (en) Dynamic resource allocation for virtual machines
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
US9866450B2 (en) Methods and apparatus related to management of unit-based virtual resources within a data center environment
CN106385329B (en) Processing method, device and the equipment of resource pool
AU2012273370B2 (en) Native cloud computing via network segmentation
CN103501242B (en) Method for managing resource and multiple-node cluster device
CN103763130B (en) Management method, the device and system of large-scale cluster
CN110809760B (en) Resource pool management method and device, resource pool control unit and communication equipment
US20160019078A1 (en) Implementing dynamic adjustment of i/o bandwidth for virtual machines using a single root i/o virtualization (sriov) adapter
CN111903109A (en) Overbookable resource allocation
CN102088404B (en) Method for limiting speed of network card in Xen virtual machine
EP3959604A1 (en) Machine templates for predetermined compute units
CN102082692A (en) Method and equipment for migrating virtual machines based on network data flow direction, and cluster system
CN105024842A (en) Method and device for capacity expansion of server
WO2014026374A1 (en) Server system, management method, and device
CN105874432A (en) Resource management method, host, and endpoint
CN112637304B (en) Cross-cloud resource processing system and resource management method
CN110389843A (en) A kind of business scheduling method, device, equipment and readable storage medium storing program for executing
CN108897601A (en) A kind of FPGA application method, system and relevant apparatus based on virtualization
CN108304044A (en) A kind of setting method and system of NVME hard disk hot-plugs
CN103577247A (en) Virtual machine calculation and storage cluster based on Rocks cluster technology and building method thereof
CN109471725A (en) Resource allocation methods, device and server

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant