WO2017186042A1 - 一种用于虚拟交换机技术中数据传输的方法及装置 - Google Patents

一种用于虚拟交换机技术中数据传输的方法及装置 Download PDF

Info

Publication number
WO2017186042A1
WO2017186042A1 PCT/CN2017/081118 CN2017081118W WO2017186042A1 WO 2017186042 A1 WO2017186042 A1 WO 2017186042A1 CN 2017081118 W CN2017081118 W CN 2017081118W WO 2017186042 A1 WO2017186042 A1 WO 2017186042A1
Authority
WO
WIPO (PCT)
Prior art keywords
request
ovs
user state
virtual machine
sent
Prior art date
Application number
PCT/CN2017/081118
Other languages
English (en)
French (fr)
Inventor
张明
陆丽娜
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP17788694.2A priority Critical patent/EP3441878B1/en
Publication of WO2017186042A1 publication Critical patent/WO2017186042A1/zh
Priority to US16/170,602 priority patent/US10977203B2/en
Priority to US17/214,134 priority patent/US11556491B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0036Small computer system interface [SCSI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a data transmission method and apparatus for use in a virtual switch technology.
  • the virtual switch is mainly used in the server virtualization scenario. It mainly implements two functions: function 1, which delivers network traffic between virtual machines (VMs); and function 2, which implements communication between the VM and the external network.
  • function 1 which delivers network traffic between virtual machines (VMs);
  • function 2 which implements communication between the VM and the external network.
  • the running space is divided into two parts: user mode and kernel mode.
  • the Open VSwitch OVS means that the data plane forwarding function of the switch is completed in the Linux user mode, and the user mode OVS uses the Data Plane Development Kit (DPDK) as the data channel.
  • DPDK Data Plane Development Kit
  • the management platform of the user state OVS is shared with the kernel state OVS.
  • the user mode OVS sets the limited speed function to limit the speed of the network card, thereby providing a high performance virtual switch solution for the virtualization scenario.
  • the DPDK is a collection of libraries and drivers for a set of fast packets.
  • the Linux kernel interrupt mechanism running in the Linux user space cannot meet the performance requirements of large-throughput NICs (such as 40GE).
  • the NIC After adopting DPDK, the NIC can be speed-limited.
  • the path of the virtual machine processing the IO request is as shown in FIG. 1.
  • the virtual disk service process receives the IO request sent by the virtual machine, and puts the IO request into the storage stack; the storage stack converts the IO request.
  • the IO protocol stack After the IO message is submitted to the IO protocol stack, the IO protocol stack then passes the IO message to the user state OVS through the socket mechanism. Finally, the user state OVS sends the message through the physical network card through the DPDK.
  • the IO packets need to be switched from the user state OVS to the kernel state, and then switched from the kernel state to the user state; therefore, context switching is required; and IO packets are forwarded from the user state.
  • the kernel state storage stack is used, the IO message needs to be copied. Therefore, in the prior art, the virtual machine of the user state OVS has a low performance of processing the IO request.
  • the embodiments of the present invention provide a method and an apparatus for data transmission in a virtual switch technology.
  • the method and apparatus provided by the present invention solve the problem of low performance of processing a IO request by a virtual machine having a user state OVS in the prior art.
  • a method for data transmission in a virtual switch technology comprising: receiving an IO request sent by a virtual machine VM, determining whether the IO request needs to be sent to a physical network card through a user mode open virtual switch OVS Wherein the user state OVS implements network interworking between virtual machines on the host or virtual machines across the host;
  • the user state OVS If it is determined that the IO request needs to be sent to the physical network card by using the user state OVS, after the user state converts the IO request into a network small computer system interface ISCSI command, it is sent to the user state OVS to pass The user mode OVS sends the ISCSI command to the physical network card.
  • the virtual machine when the virtual machine performs the processing of the IO request, by determining whether the IO request is forwarded by the user state OVS, if the virtual machine directly converts the IO request into a format that the user state OVS can process in the user state, then Send to user mode OVS for processing.
  • the context switching in the prior art when the IO request is forwarded can be avoided, so that the capability of the virtual machine to process the IO request can be effectively improved.
  • converting the IO request to a network small computer system interface ISCSI command includes converting the IO request to a small computer system interface SCSI command; adding a network to the SCSI command The small computer system interface ISCSI header obtains the ISCSI command.
  • the IO request that needs to be sent by the user state OVS is separated, and the determining whether to send the IO request to the physical network card by using the user state OVS includes:
  • a method for data transmission in a virtual switch technology is provided, where the method implements a response processing of an IO request, and the method specifically includes: receiving a physical network card The network small computer system interface ISCSI message for the IO request response; wherein the ISCSI message needs to be sent to the virtual machine that initiates the IO request through the user state open virtual switch OVS, and the user state OVS is implemented on the same host Network interworking between virtual machines or between virtual machines across hosts;
  • the user state After the user state converts the ISCSI message into an IO response, it sends the virtual machine to the virtual machine that initiated the IO request.
  • the virtual machine sent to the initiating the IO request after the user state converts the ISCSI packet into an IO response includes:
  • the SCSI response is converted to an IO response and the IO response is sent to the virtual machine that initiated the IO request.
  • the method provided by the first aspect is the initiation process of the IO request
  • the method provided by the second aspect is the response processing process of the IO request, so the specific effect of the method provided by the second aspect in the specific implementation is the same as the method of the first aspect.
  • an electronic device comprising:
  • An acknowledgment module configured to receive an IO request sent by the virtual machine VM, to determine whether the IO request needs to be sent to the physical NIC through the user mode open virtual switch OVS; wherein the user state OVS is implemented between the virtual machine on the host or Network interworking between virtual machines across hosts;
  • a conversion module if it is determined that the IO request needs to be sent to the physical network card by using the user state OVS, and then sent to the user after the user state converts the IO request into a network small computer system interface ISCSI command State OVS to send the ISCSI command to the physical NIC through the user mode OVS.
  • the confirmation module is specifically configured to determine disk information of a disk accessed by the IO request or a file accessed by the IO request, and determine, according to the disk information, that the IO request is accessed. Whether the disk is a disk of the remote device, and if so, it is determined that the IO request needs to be sent to the physical network card through the user state OVS.
  • the conversion module is specifically configured to convert the IO request into a small computer system interface SCSI command; adding a network small computer system interface ISCSI header to obtain the location in the SCSI command Describe the ISCSI command.
  • an electronic device including:
  • a receiving module configured to receive a network small computer system interface ISCSI report response of the physical network card to the IO request
  • the ISCSI message needs to be sent to the virtual machine that initiates the IO request through the user mode open virtual switch OVS, and the user state OVS is implemented between the virtual machine on the host or the virtual machine across the host.
  • a conversion module configured to send, after the user state converts the ISCSI message to an IO response, to the virtual machine that initiates the IO request.
  • the conversion module is specifically configured to convert the ISCSI message into a SCSI response; convert the SCSI response into an IO response, and send the IO response to the virtual device that initiates the IO request machine.
  • a fifth aspect a computer readable storage medium storing program code for implementing the method for data transmission in a virtual switch technology described in the first aspect, the program code comprising running first Aspects of the execution instructions for a method of data transfer in virtual switch technology.
  • a sixth aspect a computer readable storage medium storing program code for implementing the method for data transmission in a virtual switch technology described in the second aspect, the program code comprising running a second Aspects of the execution instructions for a method of data transfer in virtual switch technology.
  • an embodiment of the present invention provides a computer storage medium for storing computer software instructions used by the base station, including a program designed to perform the above aspects.
  • an electronic device including a virtual machine, a virtual machine monitor, and a hardware layer, where the network interface device may be a physical network card.
  • the virtual machine monitor can run in two states: user mode and kernel mode.
  • the virtual machine monitor in order to improve the ability of the virtual machine to process IO requests, is specifically used for:
  • Receiving an IO request sent by the virtual machine VM determining whether the IO request needs to be sent to the physical network card through the user mode open virtual switch OVS; wherein the user state OVS implements a virtual machine between the virtual machine on the host or the host Interworking between the networks; if it is determined that the IO request needs to be sent to the physical network card through the user mode OVS, then the user state sends the IO request to the network small computer system interface ISCSI command and then sends the User mode OVS to send the ISCSI command to the physical NIC through the user mode OVS.
  • the virtual machine monitor is configured to determine disk information of a disk accessed by the IO request or a file accessed by the IO request, and determine, according to the disk information, whether the disk accessed by the IO request is The disk of the remote device, if yes, determines that the IO request needs to be sent to the physical network card through the user state OVS.
  • the virtual machine monitor is configured to convert the IO request into a small computer system interface SCSI command; adding a network small computer system interface ISCSI header to the SCSI command to obtain the ISCSI command .
  • the network small computer system interface ISCSI message for the IO request response; and after the user state converts the ISCSI message into an IO response, and sends the ISCSI message to the virtual machine that initiates the IO request; wherein the ISCSI message needs
  • the user mode open OVS is sent to the virtual machine that initiates the IO request, and the user state OVS implements network interworking between the virtual machine on the host or the virtual machine across the host.
  • the virtual machine monitor is configured to convert the ISCSI message to a SCSI response; convert the SCSI response to an IO response, and send the IO response to initiate the IO request Virtual machine.
  • the method and apparatus provided by the embodiments of the present invention need to send an IO request to a physical network card through a user state OVS.
  • the IO request is converted to a format that can be processed by the user state OVS, and then sent to the user state OVS. This avoids the process of switching the IO request from the user state to the kernel state and then switching from the kernel state to the user state, so that the performance of the virtual machine processing the IO request can be effectively improved.
  • FIG. 1 is a schematic diagram of a path for a virtual machine to process an IO request in an existing user state OVS scheme
  • FIG. 2 is a schematic structural diagram of a system for implementing a server virtualization scenario according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure.
  • FIG. 4 is a schematic structural diagram of another electronic device according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of another electronic device according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of another electronic device according to an embodiment of the present invention.
  • FIG. 7 is a flowchart of a method for data transmission in a virtual switch technology according to an embodiment of the present invention.
  • FIG. 8 is a schematic flowchart diagram of a method for data transmission in a virtual switch technology according to an embodiment of the present invention.
  • FIG. 9 is a schematic flowchart of another method for data transmission in a virtual switch technology according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of a path of a virtual machine processing an IO request according to an embodiment of the present invention.
  • the performance of the virtual machine processing IO request is relatively low.
  • the main reasons are: A. After the IO request is sent from the virtual disk service process (tapdisk2), there are two context switches (ie, user state to kernel). State, then switch from kernel mode to user state); B, IO request forwarding process from the storage stack to the user state OVS has the behavior of splitting the message; C, and the virtual machine IO request processing exists through the flow shown in Figure 1.
  • QoS Quality of service
  • the IO request is directly converted into a format that can be processed by the user state OVS after the user state is sent.
  • the process of switching the IO request from the user state to the kernel state and then switching from the kernel state to the user state is avoided, thereby avoiding the above problems, so that the performance of the virtual machine processing the IO request can be effectively improved.
  • the specific implementation refers to the following examples:
  • the structure of the server virtualization scenario implementation system in the embodiment of the present invention is as shown in FIG. 2 .
  • the user state OVS implements network interworking between virtual machines, including virtual machines on the same host and virtual machines across hosts.
  • the virtual disk file of the virtual machine is stored on a protocol storage area network (IPSAN) device interconnected between the networks, and the virtual machine processes the IO request to be sent to the IPSAN device through the user state OVS to implement virtual storage access.
  • IPSAN protocol storage area network
  • an embodiment of the present invention provides an electronic device, and the specific implementation of the electronic device may be:
  • an embodiment of the present invention provides an electronic device including a virtual machine 310, a virtual machine monitor 320, and a hardware layer 330.
  • the virtual machine 310 is built based on the hardware layer 330, and the virtual machine monitor 320 implements data monitoring and transmission between the virtual machine 310 and the hardware layer 330.
  • the hardware layer 330 includes a processor 331, a physical memory 332, a hard disk 333, a network interface device 334, and the like.
  • the network interface device 334 may specifically be a physical network card.
  • the virtual machine monitor 320 can operate in two states: user mode and kernel mode. In this embodiment, in order to improve the ability of the virtual machine to process IO requests, the virtual machine monitor 320 is specifically configured to:
  • the physical network card may be in the network interface device 334 in FIG.
  • the user state OVS implements network interworking with a virtual machine on a host or a virtual machine across a host; if it is determined that the IO request needs to be sent to the The physical network card is sent to the user state OVS after the user state converts the IO request into an Internet Small Computer System Interface (ISCSI) command to use the ISCSI command by the user state OVS. Sent to the physical NIC.
  • ISCSI Internet Small Computer System Interface
  • the specific implementation for the virtual machine monitor 320 to determine whether to send the IO request to the physical network card through the user state OVS is:
  • the ISCSI command includes:
  • a network small computer system interface ISCSI header is added to the SCSI command to obtain the ISCSI command.
  • the IO request is the same as the electronic device structure of the above example, only the virtual machine monitor 320 handles the response of the physical network card feedback differently, so based on the structure shown in FIG. 3, the IO request
  • the specific implementation of the response can be:
  • a virtual machine monitor 320 configured to receive a network small computer system interface ISCSI message that is responded to by the physical network card for the IO request; and send the ISCSI message to the IO response after the user state converts the ISCSI message to the IO request.
  • a virtual machine where the ISCSI message needs to be sent to the virtual machine that initiates the IO request through the user mode open virtual switch OVS, and the user state OVS is implemented between the virtual machine on the host or the virtual machine across the host. Network interoperability.
  • the virtual machine monitor 320 sends the virtual machine to the virtual machine that initiates the IO request after the user state converts the ISCSI packet into an IO response, and the specific implementation includes:
  • the SCSI response is converted to an IO response and the IO response is sent to the virtual machine that initiated the IO request.
  • the IO request is directly converted into a format that can be processed by the user state OVS in the user state, and then sent to the user state OVS.
  • the process of switching the IO request from the user state to the kernel state and then switching from the kernel state to the user state is avoided, thereby avoiding the problem that the performance of the virtual machine handling the IO request of the user state OVS in the prior art is relatively low, so Effectively improve the performance of virtual machines processing IO requests.
  • an embodiment of the present invention provides an electronic device, where the electronic device may specifically include:
  • the confirmation module 401 is configured to receive an IO request sent by the virtual machine VM, and determine whether the IO request needs to be sent to the physical network card by using the user mode open virtual switch OVS; wherein the user state OVS is implemented by the virtual machine on the host Network interworking between virtual machines across or across hosts;
  • the confirmation module 401 determines whether the IO request is sent to the physical network card through the user state OVS, and the specific implementation may be:
  • the confirmation module 401 is specifically configured to determine the disk information of the disk where the IO request is accessed or the file accessed by the IO request, and determine, according to the disk information, whether the disk accessed by the IO request is a disk of the remote device, and if And determining that the IO request needs to be sent to the physical network card by using the user state OVS.
  • the converting module 402 is configured to, if it is determined that the IO request is sent to the physical network card by using the user state OVS, send the IO request to a network small computer system interface ISCSI command after the user state converts the IO request to the network User mode OVS to send the ISCSI command to the physical NIC through the user mode OVS.
  • the conversion module 402 is specifically configured to convert the IO request into a small computer system interface SCSI command; and add a network small computer system interface ISCSI header to the SCSI command to obtain the ISCSI command.
  • an embodiment of the present invention provides an electronic device, where the specific implementation of the electronic device may include:
  • the receiving module 501 is configured to receive a network small computer system interface ISCSI message that is sent by the physical network card for the IO request, where the ISCSI message needs to be sent to the virtual machine that initiates the IO request by using the user state open virtual switch OVS.
  • the user state OVS implements network interworking between virtual machines on the host or virtual machines across the host;
  • the converting module 502 is configured to send, after the user state converts the ISCSI packet to an IO response, to the virtual machine that initiates the IO request.
  • the specific implementation of converting the ISCSI packet into an IO response may be:
  • the conversion module 502 is specifically configured to convert the ISCSI message into a SCSI response; convert the SCSI response into an IO response, and send the IO response to a virtual machine that initiates the IO request.
  • the present invention further provides another electronic device for performing the method of data transmission in the virtual switch technology in the foregoing various embodiments, the electronic device including at least one processor 601 (for example, a CPU), at least one Network interface 602 or other communication interface, memory 603, and at least one communication bus 604 are used to effect connection communication between these devices.
  • the processor 601 is configured to execute an executable module, such as a computer program, stored in the memory 603.
  • the memory 603 may include a high speed random access memory (RAM), and may also include a non-volatile memory such as at least one disk memory.
  • the communication connection between the system gateway and at least one other network element is implemented by at least one network interface 602 (which may be wired or wireless), and may use an Internet, a wide area network, a local network, a metropolitan area network, or the like.
  • the memory stores a program 6031, and the program can be executed by the processor, the program comprising:
  • the user state OVS If it is determined that the IO request needs to be sent to the physical network card by using the user state OVS, after the user state converts the IO request into a network small computer system interface ISCSI command, it is sent to the user state OVS to pass The ISCSI command is sent to the physical network card via the user mode OVS.
  • the determining whether to send the IO request to the physical network card by using the user state OVS includes:
  • the converting the IO request into a network small computer system interface ISCSI command includes:
  • a network small computer system interface ISCSI header is added to the SCSI command to obtain the ISCSI command.
  • the program 6031 corresponding to the memory storage further includes:
  • the user state After the user state converts the ISCSI message into an IO response, it sends the virtual machine to the virtual machine that initiated the IO request.
  • the virtual machine that is sent to the initiating the IO request after the user state converts the ISCSI packet into an IO response includes:
  • the SCSI response is converted to an IO response and the IO response is sent to the virtual machine that initiated the IO request.
  • the embodiment of the present invention provides a method for data transmission in a virtual switch technology, where the method specifically includes the following steps (the implementation process is as shown in FIG. 7):
  • the method provided by the embodiment of the present invention may be implemented based on the device structure shown in FIG. 3, FIG. 4 and FIG. 6, wherein the specific functional modules of the method according to the embodiment of the present invention are different according to different devices, and the present invention is specifically implemented.
  • a functional module of the method reference may be made to the specific description of the different devices in the first embodiment to the fourth embodiment.
  • a method for data transmission in a virtual switch technology provided by an embodiment of the present invention is described in detail below with reference to Embodiment 3:
  • Step 701 The virtual machine monitor receives the IO request sent by the virtual machine VM, and determines whether the IO request needs to be sent to the physical network card by using the user state open virtual switch OVS; wherein the user state OVS implements the virtual machine on the same host Network interworking between virtual machines or between hosts;
  • the determining whether to send the IO request to the physical network card by using the user state OVS includes:
  • the remote device may be a device connected to an electronic device implementing the method of the embodiment of the present invention through a switch.
  • the IO request is forwarded directly to the physical network card through the kernel mode.
  • Step 702 If it is determined that the IO request is sent to the physical network card by using the user state OVS, the virtual machine monitor sends the IO request to the user state OVS after the user state converts the IO request to an ISCSI command.
  • the ISCSI command is sent to the physical network card by the user mode OVS.
  • the IO request In order to ensure that IO requests can be transmitted over the network, when IO requests cross the host, the IO request needs to be converted to an ISCSI command, and then to the target server, the message is converted to an IO request.
  • the IO request in order to convert the IO request issued by tapdisk2 into an ISCSI command that can be recognized by the user state OVS, in the solution provided by this embodiment, the IO request can be converted in the user mode.
  • A1. Convert the IO request into a Small Computer System Interface (SCSI) command.
  • SCSI Small Computer System Interface
  • the primary and secondary device numbers corresponding to the IO request are obtained from the IO request (including the storage block device ID that initiates the access and the storage block device ID that the IO request needs to access), the starting sector, the request size, and the request is read. Still write;
  • the specific implementation of converting the IO request into a SCSI command may be: converting the ID of the storage block device that the IO request needs to access to the destination host logical unit number (LUN) in the corresponding SCSI command, the starting sector. It needs to be converted to a physical disk address. The read or write needs to be converted to the SCSI operation direction. After the above conversion, the converted content is assembled into a SCSI command.
  • LUN logical unit number
  • A2 convert SCSI commands to ISCSI commands.
  • the specific implementation is:
  • the ISCSI header is added to the SCSI command.
  • the ISCSI header is assembled according to the ISCSI protocol.
  • the ISCSI header includes a Basic Header Segment (BHS), an Additional Header Segment (AHS), and a header header (Header-Digest). ) and data summary (Data-Digest) and so on.
  • the IO request sent by the virtual disk service can be directly sent to the user state OVS in the user mode, as shown in FIG. 8 .
  • an IO request that needs to be sent to the physical network card through the user state OVS is directly sent to the user state OVS after the user state converts the IO request into a format that can be processed by the user state OVS. This avoids the process of switching the IO request from the user state to the kernel state and then switching from the kernel state to the user state, so that the performance of the virtual machine processing the IO request can be effectively improved.
  • the embodiment of the present invention further provides a method for data transmission in a virtual switch technology, where the method specifically includes the following steps:
  • the method provided by the embodiment of the present invention may be implemented based on the device structure shown in FIG. 3, FIG. 5, and FIG. 6, wherein the specific functional modules of the method according to the embodiment of the present invention are different according to different devices, and the method of the present invention is specifically implemented.
  • the functional modules reference may be made to the specific descriptions of the different devices in the first embodiment to the fourth embodiment.
  • a method for data transmission in a virtual switch technology provided by an embodiment of the present invention is described in detail below with reference to Embodiment 3:
  • Step 901 The virtual machine monitor receives the ISCSI message that the physical network card responds to the IO request, where the ISCSI message needs to be sent to the virtual machine that initiates the IO request by using the user mode open virtual switch OVS, the user state OVS Implement network interworking between virtual machines on the host or virtual machines across hosts;
  • Step 902 After the user state converts the ISCSI packet into an IO response, the method sends the ISCSI message to the virtual machine that initiates the IO request.
  • the virtual machine sent to the initiating the IO request after the user state converts the ISCSI packet into an IO response includes:
  • the SCSI response is converted to an IO response and the IO response is sent to the virtual machine that initiated the IO request.
  • the method provided by this embodiment is a response flow for an IO request, and the solution of the embodiment can be implemented independently.
  • the method of the first embodiment can be combined with the method provided by the first embodiment.
  • the complete process of the IO request and the request response can be implemented.
  • the response of the electronic device in processing the IO request may be specifically shown in FIG. 10 .
  • the electronic device when processing the response of the IO request, does not directly process and convert the response message in the user state by using the context switch, thereby shortening the processing process of the response and effectively improving the virtual machine processing.
  • the performance of the IO request when processing the response of the IO request, the electronic device does not directly process and convert the response message in the user state by using the context switch, thereby shortening the processing process of the response and effectively improving the virtual machine processing. The performance of the IO request.
  • the IO request is directly converted into a format that can be processed by the user state OVS in the user state, and then sent to the user state OVS.
  • the process of switching the IO request from the user state to the kernel state and then switching from the kernel state to the user state is avoided, thereby avoiding the problem that the performance of the virtual machine handling the IO request of the user state OVS in the prior art is relatively low, so Effectively improve the performance of virtual machines processing IO requests.
  • the various embodiments in the specification are described in a progressive manner, and the same or similar parts between the various embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments.
  • the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
  • the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, ie may be located A place, or it can be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment. Those of ordinary skill in the art can understand and implement without any creative effort.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the function can be stored if it is implemented in the form of a software functional unit and sold or used as a standalone product.
  • a computer readable storage medium Based on such understanding, the technical solution of the present invention, which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including The instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于虚拟交换机技术中数据传输的方法及装置,该方法包括:接收虚拟机VM访问文件或者磁盘的IO请求,确定是否通过用户态开放虚拟交换机OVS将所述IO请求发送到物理网卡;其中,所述用户态OVS实现同主机上的虚拟机以及跨主机的虚拟机之间的网络互通;如果确定通过用户态OVS将所述IO请求发送到所述物理网卡,则在用户态将所述IO请求转换为网络小型计算机***接口ISCSI命令后发送到所述用户态OVS;所述用户态OVS将所述ISCSI命令发送到所述物理网卡。本发明公开的方法及装置解决现有技术中用户态OVS的虚拟机处理IO请求的性能比较低的问题。

Description

一种用于虚拟交换机技术中数据传输的方法及装置
本申请要求于2016年04月29日提交中国专利局、申请号为201610286786.7、发明名称为“一种用于虚拟交换机技术中数据传输的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术领域,尤其涉及一种用于虚拟交换机技术中数据传输方法及装置。
背景技术
虚拟交换机主要应用于服务器虚拟化场景,主要实现两个功能:功能1,传递虚拟机(Virtual Machine,VM)之间的网络流量;功能2,实现VM与外界网络的通信。
Linux实现中把运行空间分成两部分:用户态和内核态。其中,用户态开放虚拟交换机(Open vSwitch,OVS)是指该交换机的数据面转发功能在Linux的用户态完成,并且该用户态OVS采用数据平面开发套件(Data Plane Development Kit,DPDK)作为数据通道与物理网卡连接;另外,该用户态OVS的管理平台与内核态OVS共用,该用户态OVS设置有限速功能能够实现对网卡限速,从而为虚拟化场景提供高性能的虚拟交换机方案。
DPDK是一组快速包处理的库和驱动程序的集合。运行在Linux用户空间的Linux内核中断机制无法满足大吞吐量网卡(例如40GE)性能要求,Intel提出DPDK就是为了解决该问题,采用DPDK后可以达到网卡限速。
现有用户态OVS方案中,虚拟机处理IO请求的路径如图1所示,虚拟磁盘服务进程接收虚拟机发送的IO请求,并将该IO请求放到存储栈;存储栈将该IO请求转换为IO报文后提交给IO协议栈;然后IO协议栈再通过socket机制将该IO报文传递给用户态OVS,最后由用户态OVS通过DPDK将报文通过物理网卡发送出去。
通过用户态OVS实现IO报文转发的过程中,IO报文需要从用户态OVS切换到内核态,再由内核态切换到用户态;所以需要经过上下文切换;同时将IO报文从用户态转发到内核态的存储栈时,需要对IO报文进行拷贝,所以现有技术中存在用户态OVS的虚拟机处理IO请求的性能比较低的问题。
发明内容
本发明实施例提供一种用于虚拟交换机技术中数据传输的方法及装置,本发明所提供的方法及装置解决现有技术中存在用户态OVS的虚拟机处理IO请求的性能比较低的问题。
第一方面,提供一种用于虚拟交换机技术中数据传输的方法,该方法包括:接收虚拟机VM发送的IO请求,确定是否需要通过用户态开放虚拟交换机OVS将所述IO请求发送到物理网卡;其中,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
如果确定需要通过所述用户态OVS将所述IO请求发送到所述物理网卡,则在用户态将所述IO请求转换为网络小型计算机***接口ISCSI命令后发送到所述用户态OVS,以通过所述用户态OVS将所述ISCSI命令发送到所述物理网卡。
在该实施例中,虚拟机进行IO请求的处理时,通过判断IO请求是否为通过用户态OVS转发的,如果虚拟机则直接在用户态将IO请求转化为用户态OVS能够处理的格式,然后发送到用户态OVS进行处理。能够避免现有技术中IO请求转发时的上下文切换,从而能够有效的提高虚拟机处理IO请求的能力。
结合第一方面,在一个可能的设计中,将所述IO请求转换为网络小型计算机***接口ISCSI命令包括:将所述IO请求转换成小型计算机***接口SCSI命令;在所述SCSI命令中增加网络小型计算机***接口ISCSI头以获得所述ISCSI命令。
可选的,为了实现对IO请求的分类,将IO请求中需要通过用户态OVS发送的IO请求分离出来,则所述确定是否通过用户态OVS将所述IO请求发送到物理网卡包括:
确定所述IO请求所访问的磁盘或访问的文件所在磁盘的磁盘信息,根据所述磁盘信息判断所述IO请求所访问的磁盘是否为远端设备的磁盘,如果是,则确定所述IO请求需要通过所述用户态OVS发送到所述物理网卡。
第二方面,基于第一方面中IO请求的发送过程,在第二方面提供一种用于虚拟交换机技术中数据传输的方法,该方法实现IO请求的响应处理,该方法具体包括:接收物理网卡针对IO请求响应的网络小型计算机***接口ISCSI报文;其中,所述ISCSI报文需要通过用户态开放虚拟交换机OVS发送到发起所述IO请求的虚拟机,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机。
结合第二方面,在一个可能的设计中,所述在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机包括:
将所述ISCSI报文转换成SCSI响应;
将所述SCSI响应转换为IO响应,并将所述IO响应发送到发起所述IO请求的虚拟机。
第一方面提供的方法是IO请求的发起过程,第二方面所提供方法是IO请求的响应处理过程,所以在具体实现时第二方面所提供方法的具体效果与第一方面方法相同。
第三方面,提供一种电子设备,该电子设备包括:
确认模块,用于接收虚拟机VM发送的IO请求,确定是否需要通过用户态开放虚拟交换机OVS将所述IO请求发送到物理网卡;其中,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
转换模块,用于如果确定需要通过所述用户态OVS将所述IO请求发送到所述物理网卡,则在用户态将所述IO请求转换为网络小型计算机***接口ISCSI命令后发送到所述用户态OVS,以通过所述用户态OVS将所述ISCSI命令发送到所述物理网卡。
结合第三方面,在一个可能的设计中,所述确认模块具体用于确定所述IO请求所访问的磁盘或访问的文件所在磁盘的磁盘信息,根据所述磁盘信息判断所述IO请求所访问的磁盘是否为远端设备的磁盘,如果是,则确定所述IO请求需要通过所述用户态OVS发送到所述物理网卡。
结合第三方面,在一个可能的设计中,所述转换模块具体用于将所述IO请求转换成小型计算机***接口SCSI命令;在所述SCSI命令中增加网络小型计算机***接口ISCSI头以获得所述ISCSI命令。
第四方面,提供一种电子设备,包括:
接收模块,用于接收物理网卡针对IO请求响应的网络小型计算机***接口ISCSI报 文;其中,所述ISCSI报文需要通过用户态开放虚拟交换机OVS发送到发起所述IO请求的虚拟机,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
转换模块,用于在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机。
在一个可能的设计中,所述转换模块具体用于将所述ISCSI报文转换成SCSI响应;将所述SCSI响应转换为IO响应,并将所述IO响应发送到发起所述IO请求的虚拟机。
第五方面,提供了一种计算机可读存储介质,所述可读存储介质上存储有实现第一方面描述的用于虚拟交换机技术中数据传输的方法的程序代码,该程序代码包含运行第一方面描述的用于虚拟交换机技术中数据传输的方法的执行指令。
第六方面,提供了一种计算机可读存储介质,所述可读存储介质上存储有实现第二方面描述的用于虚拟交换机技术中数据传输的方法的程序代码,该程序代码包含运行第二方面描述的用于虚拟交换机技术中数据传输的方法的执行指令。
第七方面,本发明实施例提供了一种计算机存储介质,用于储存为上述基站所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
第八方面,提供一种电子设备,该电子设备包括虚拟机、虚拟机监视器和硬件层,其中网络接口设备具体可以为物理网卡。
该虚拟机监视器可以运行在两个状态:用户态和内核态,在该实施例中,为了提高虚拟机处理IO请求的能力,在该虚拟机监视器具体用于:
接收虚拟机VM发送的IO请求,确定是否需要通过用户态开放虚拟交换机OVS将所述IO请求发送到物理网卡;其中,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;如果确定需要通过所述用户态OVS将所述IO请求发送到所述物理网卡,则在用户态将所述IO请求转换为网络小型计算机***接口ISCSI命令后发送到所述用户态OVS,以通过所述用户态OVS将所述ISCSI命令发送到所述物理网卡。
第八方面的另外一种设计中,该虚拟机监视器用于确定所述IO请求所访问的磁盘或访问的文件所在磁盘的磁盘信息,根据所述磁盘信息判断所述IO请求所访问的磁盘是否为远端设备的磁盘,如果是,则确定所述IO请求需要通过所述用户态OVS发送到所述物理网卡。
第八方面的另外一种设计中,该虚拟机监视器用于将所述IO请求转换成小型计算机***接口SCSI命令;在所述SCSI命令中增加网络小型计算机***接口ISCSI头以获得所述ISCSI命令。
因为IO请求的响应的具体实现是和上述实例的电子设备结构是一样的,只是虚拟机监视器320在处理物理网卡反馈的响应时的处理方式不同,该虚拟机监视器,用于接收物理网卡针对IO请求响应的网络小型计算机***接口ISCSI报文;并在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机;其中,所述ISCSI报文需要通过用户态开放虚拟交换机OVS发送到发起所述IO请求的虚拟机,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通。
第八方面的另外一种设计中,该虚拟机监视器用于将所述ISCSI报文转换成SCSI响应;将所述SCSI响应转换为IO响应,并将所述IO响应发送到发起所述IO请求的虚拟机。
上述技术方案中的一个或两个,至少具有如下技术效果:
本发明实施例提供的方法和装置,将需要通过用户态OVS发送到物理网卡的IO请求, 直接在用户态将该IO请求转换为用户态OVS可以处理的格式后,发送到用户态OVS。这样避免了将IO请求从用户态切换到内核态,再由内核态切换到用户态的过程,所以能够有效地提升虚拟机处理IO请求的性能。
附图说明
图1为现有用户态OVS方案中虚拟机处理IO请求的路径示意图;
图2为本发明实施例所实用的服务器虚拟化场景的实现***结构示意图;
图3为本发明实施例提供的一种电子设备的结构示意图;
图4为本发明实施例另外一种电子设备的结构示意图;
图5为本发明实施例提供另外一种电子设备的结构示意图;
图6为本发明实施例提供另外一种电子设备的结构示意图;
图7为本发明实施例提供一种用于虚拟交换机技术中数据传输的方法的流程图;
图8本发明实施例中用于虚拟交换机技术中数据传输的方法的流程示意图;
图9为本发明实施例提供的另外一种用于虚拟交换机技术中数据传输的方法流程示意图;
图10为本发明实施例提供的虚拟机处理IO请求的路径示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有用户态OVS方案中,虚拟机处理IO请求的性能比较低问题,主要的原因包括:A,IO请求从虚拟磁盘服务进程(tapdisk2)发出后,存在两次上下文切换(即用户态到内核态,再由内核态切换到用户态);B,IO请求转发过程中从存储栈到用户态OVS存在拆报文的行为;C,而且通过图1所示的流程进行虚拟机IO请求处理存在两次服务质量(Quality of Service,QoS)控制,存储栈中存在QoS控制,同时用户态OVS也存在QoS控制能力。所以在一定程度上影响了虚拟机处理IO请求的性能。
基于上述原因,本发明实施例所提供的方案中,如果有需要通过用户态OVS发送到物理网卡的IO请求,则直接在用户态将该IO请求转换为可供用户态OVS处理的格式后发送到用户态OVS。这样避免了将IO请求从用户态切换到内核态,再由内核态切换到用户态的过程,从而也能避免上述几个问题,所以能够有效地提升虚拟机处理IO请求的性能。具体实现参照以下实例:
实施例一
本发明实施例中服务器虚拟化场景的实现***的结构如图2所示。其中,用户态OVS实现虚拟机之间的网络互通,包括同主机上的虚拟机和跨主机的虚拟机之间。虚拟机的虚拟磁盘文件存储在网络之间互连的协议存储局域网络(Internet Protocol Storage Area Network,IPSAN)设备上,虚拟机处理IO请求通过用户态OVS被发送到IPSAN设备上,实现虚拟存储访问。基于图2所示的***结构,本发明实施例提供一种电子设备,该电子设备具体实现可以是:
如图3所示,本发明实施例提供一种电子设备,该电子设备包括虚拟机310、虚拟机监视器320和硬件层330。该虚拟机310是基于硬件层330构建的,并且虚拟机监视器320实现虚拟机310和硬件层330之间的数据监控和传输。硬件层330包括处理器331、物理内存332、硬盘333和网络接口设备334等,其中网络接口设备334具体可以为物理网卡。
该虚拟机监视器320可以运行在两个状态:用户态和内核态,在该实施例中,为了提高虚拟机处理IO请求的能力,在该虚拟机监视器320具体用于:
接收虚拟机VM发送的IO请求,确定是否需要通过用户态开放虚拟交换机OVS将所述IO请求发送到物理网卡;(在该实施例中,该物理网卡可以是图3中的网络接口设备334中的一种);其中,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;如果确定需要通过所述用户态OVS将所述IO请求发送到所述物理网卡,则在用户态将所述IO请求转换为网络小型计算机***接口(Internet Small Computer System Interface,ISCSI)命令后发送到所述用户态OVS,以通过所述用户态OVS将所述ISCSI命令发送到所述物理网卡。
可选的,为了该虚拟机监视器320确定是否通过用户态OVS将所述IO请求发送到物理网卡的具体实现为:
确定所述IO请求所访问的磁盘或访问的文件所在磁盘的磁盘信息,根据所述磁盘信息判断所述IO请求所访问的磁盘是否为远端设备的磁盘,如果是,则确定所述IO请求需要通过所述用户态OVS发送到所述物理网卡。
可选的,为了该虚拟机监视器320将所述IO请求转换为网络小型计算机***接口ISCSI命令包括:
将所述IO请求转换成小型计算机***接口SCSI命令;
在所述SCSI命令中增加网络小型计算机***接口ISCSI头以获得所述ISCSI命令。
因为IO请求的响应的具体实现是和上述实例的电子设备结构是一样的,只是虚拟机监视器320在处理物理网卡反馈的响应时的处理方式不同,所以基于图3所示的结构,IO请求的响应的具体实现可以是:
虚拟机监视器320,用于接收物理网卡针对IO请求响应的网络小型计算机***接口ISCSI报文;并在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机;其中,所述ISCSI报文需要通过用户态开放虚拟交换机OVS发送到发起所述IO请求的虚拟机,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通。
可选的,虚拟机监视器320在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机具体实现包括:
将所述ISCSI报文转换成SCSI响应;
将所述SCSI响应转换为IO响应,并将所述IO响应发送到发起所述IO请求的虚拟机。
本发明实施例提供的方案中,如果有需要通过用户态OVS发送到物理网卡的IO请求,则直接在用户态将该IO请求转换为可供用户态OVS处理的格式后发送到用户态OVS。这样避免了将IO请求从用户态切换到内核态,再由内核态切换到用户态的过程,从而避免现有技术中存在用户态OVS的虚拟机处理IO请求的性能比较低的问题,所以能够有效地提升虚拟机处理IO请求的性能。
实施例二
如图4所示,本发明实施例提供一种电子设备,该电子设备具体可以包括:
确认模块401,用于接收虚拟机VM发送的IO请求,确定是否需要通过用户态开放虚拟交换机OVS将所述IO请求发送到物理网卡;其中,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
可选的,该确认模块401确定IO请求是否为需要通过用户态OVS发送到物理网卡时,具体实现可以是:
该确认模块401具体用于确定所述IO请求所访问的磁盘或访问的文件所在磁盘的磁盘信息,根据所述磁盘信息判断所述IO请求所访问的磁盘是否为远端设备的磁盘,如果是,则确定所述IO请求需要通过所述用户态OVS发送到所述物理网卡。
转换模块402,用于如果确定需要通过所述用户态OVS将所述IO请求发送到所述物理网卡,则在用户态将所述IO请求转换为网络小型计算机***接口ISCSI命令后发送到所述用户态OVS,以通过所述用户态OVS将所述ISCSI命令发送到所述物理网卡。
可选的,该转换模块402具体用于将所述IO请求转换成小型计算机***接口SCSI命令;在所述SCSI命令中增加网络小型计算机***接口ISCSI头以获得所述ISCSI命令。
实施例三
如图5所示,本发明实施例提供一种电子设备,该电子设备具体实现可以包括:
接收模块501,用于接收物理网卡针对IO请求响应的网络小型计算机***接口ISCSI报文;其中,所述ISCSI报文需要通过用户态开放虚拟交换机OVS发送到发起所述IO请求的虚拟机,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
转换模块502,用于在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机。
可选的,将ISCSI报文转换为IO响应的具体实现可以是:
该转换模块502具体用于将所述ISCSI报文转换成SCSI响应;将所述SCSI响应转换为IO响应,并将所述IO响应发送到发起所述IO请求的虚拟机。
实施例四
如图6所示,本发明还提供另一种电子设备,用于执行前述各个实施例中的虚拟交换机技术中数据传输的方法,该电子设备包括至少一个处理器601(例如CPU),至少一个网络接口602或者其他通信接口,存储器603,和至少一个通信总线604,用于实现这些装置之间的连接通信。处理器601用于执行存储器603中存储的可执行模块,例如计算机程序。存储器603可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口602(可以是有线或者无线)实现该***网关与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
在一些实施方式中,存储器存储了程序6031,程序可以被处理器执行,这个程序包括:
接收虚拟机VM发送的IO请求,确定是否需要通过用户态开放虚拟交换机OVS将所述IO请求发送到物理网卡;其中,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
如果确定需要通过所述用户态OVS将所述IO请求发送到所述物理网卡,则在用户态将所述IO请求转换为网络小型计算机***接口ISCSI命令后发送到所述用户态OVS,以通 过所述用户态OVS将所述ISCSI命令发送到所述物理网卡。
可选的,所述确定是否通过用户态OVS将所述IO请求发送到物理网卡包括:
确定所述IO请求所访问的磁盘或访问的文件所在磁盘的磁盘信息,根据所述磁盘信息判断所述IO请求所访问的磁盘是否为远端设备的磁盘,如果是,则确定所述IO请求需要通过所述用户态OVS发送到所述物理网卡。
可选的,所述将所述IO请求转换为网络小型计算机***接口ISCSI命令包括:
将所述IO请求转换成小型计算机***接口SCSI命令;
在所述SCSI命令中增加网络小型计算机***接口ISCSI头以获得所述ISCSI命令。
基于图6所示的结构,为了处理物理网卡返回的IO请求的响应,对应存储器存储的程序6031还包括:
接收物理网卡针对IO请求响应的网络小型计算机***接口ISCSI报文;其中,所述ISCSI报文需要通过用户态开放虚拟交换机OVS发送到发起所述IO请求的虚拟机,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机。
可选的,所述在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机包括:
将所述ISCSI报文转换成SCSI响应;
将所述SCSI响应转换为IO响应,并将所述IO响应发送到发起所述IO请求的虚拟机。
实施例五
基于上述实施例所提供的装置结构,本发明实施例提供一种用于虚拟交换机技术中数据传输的方法,该方法具体包括以下步骤(实现流程如图7所示):
在本发明实施例所提供的方法可基于图3、图4和图6所示装置结构实现,其中,基于不同的装置执行本发明实施例所述方法的具体功能模块不同相同,具体实现本发明方法的功能模块可以参见上述实施例一到实施例四中不同装置的具体描述。为了方便描述以下结合实施例三对本发明实施例提供的一种用于虚拟交换机技术中数据传输的方法进行详细的描述:
步骤701,虚拟机监视器接收虚拟机VM发送的IO请求,确定是否需要通过用户态开放虚拟交换机OVS将所述IO请求发送到物理网卡;其中,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
可选的,所述确定是否通过用户态OVS将所述IO请求发送到物理网卡包括:
确定所述IO请求所访问的磁盘或访问的文件所在磁盘的磁盘信息,根据所述磁盘信息判断所述IO请求所访问的磁盘是否为远端设备的磁盘,如果是,则确定所述IO请求需要通过所述用户态OVS发送到所述物理网卡。
基于图2所示的***结构,该远端设备可以是通过交换机与实现本发明实施例方法的电子设备连接的设备。
在该实施例中,如果通过磁盘信息确定IO请求是访问设备本地磁盘,则直接通过内核态将IO请求转发到物理网卡。
步骤702,虚拟机监视器如果确定需要通过所述用户态OVS将所述IO请求发送到所述物理网卡,则在用户态将所述IO请求转换为ISCSI命令后发送到所述用户态OVS,以通过所述用户态OVS将所述ISCSI命令发送到所述物理网卡。
为了保证IO请求能在网络上传输,IO请求跨主机的时候,需要把IO请求转换为ISCSI命令,然后到目标服务器的时候,再把报文转换为IO请求。在该实施例中,为了将tapdisk2发出的IO请求,转换为用户态OVS能够识别的ISCSI命令,在该实施例所提供的方案中,可以在用户态对该IO请求进行转换。
a1,将所述IO请求转换成小型计算机***接口(Small Computer System Interface,SCSI)命令。
具体的,从该IO请求中获取该IO请求对应的主次设备号(包括发起访问的存储块设备ID和IO请求需要访问的存储块设备ID)、起始扇区、请求大小、请求是读还是写;
将该IO请求转换为SCSI命令的具体实现可以是,将IO请求需要访问的存储块设备的ID转换为对应的SCSI命令中的目的主机逻辑单元号(Logical Unit Number,LUN),起始扇区需要转换为物理磁盘地址,读或写需要转为SCSI操作方向,实现上述转换后,将转换后的内容组装成SCSI命令。
a2,将SCSI命令转换为ISCSI命令。具体实现为:
在SCSI命令中增加ISCSI头,ISCSI头是根据ISCSI协议组装的,ISCSI头包括基本头段(Basic Header Segment,BHS)、附加标题段(Additional Header Segment,AHS)、报文头摘要(Header-Digest)和数据摘要(Data-Digest)等。
区别于图1所示的IO请求发送路径,本发明实施例所提供的方法中,虚拟磁盘服务发出的IO请求可以在用户态直接发送到用户态OVS,具体示意可以如图8所示。
通过本发明实施例提供的方法,将需要通过用户态OVS发送到物理网卡的IO请求,直接在用户态将该IO请求转换为用户态OVS可以处理的格式后,发送到用户态OVS。这样避免了将IO请求从用户态切换到内核态,再由内核态切换到用户态的过程,所以能够有效地提升虚拟机处理IO请求的性能。
实施例六
如图9所示,本发明实施例还提供一种用于虚拟交换机技术中数据传输的方法,该方法具体包括以下步骤:
本发明实施例所提供的方法可基于图3、图5和图6所示装置结构实现,其中,基于不同的装置执行本发明实施例所述方法的具体功能模块不相同,具体实现本发明方法的功能模块可以参见上述实施例一到实施例四中不同装置的具体描述。为了方便描述以下结合实施例三对本发明实施例提供的一种用于虚拟交换机技术中数据传输的方法进行详细的描述:
步骤901,虚拟机监视器接收物理网卡针对IO请求响应的ISCSI报文;其中,所述ISCSI报文需要通过用户态开放虚拟交换机OVS发送到发起所述IO请求的虚拟机,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
步骤902,在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机。
该实施例中,所述在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机包括:
将所述ISCSI报文转换成SCSI响应;
将所述SCSI响应转换为IO响应,并将所述IO响应发送到发起所述IO请求的虚拟机。
该实施例所提供的方法是针对IO请求的响应流程,该实施例的方案可以独立实现也 可以和实施例一所提供的方法进行结合,当该实施例方法与实施例一方法结合时候可以实现IO请求和请求响应的完整过程。
区别于图8所示的IO请求发送路径,本发明实施例所提供的方法中,电子设备在处理IO请求的响应,具体示意可以如图10所示。
本发明实施例提供的方法中,电子设备在处理IO请求的响应时,不通过上下文切换直接在用户态对响应的报文进行处理转换,从而可以缩短响应的处理流程,有效地提升虚拟机处理IO请求的性能。
本申请实施例中的上述一个或多个技术方案,至少具有如下的技术效果:
本发明实施例提供的方案中,如果有需要通过用户态OVS发送到物理网卡的IO请求,则直接在用户态将该IO请求转换为可供用户态OVS处理的格式后发送到用户态OVS。这样避免了将IO请求从用户态切换到内核态,再由内核态切换到用户态的过程,从而避免现有技术中存在用户态OVS的虚拟机处理IO请求的性能比较低的问题,所以能够有效地提升虚拟机处理IO请求的性能。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储 在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

  1. 一种用于虚拟交换机技术中数据传输的方法,其特征在于,所述该方法包括:
    接收虚拟机VM发送的IO请求,确定是否需要通过用户态开放虚拟交换机OVS将所述IO请求发送到物理网卡;其中,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
    如果确定需要通过所述用户态OVS将所述IO请求发送到所述物理网卡,则在用户态将所述IO请求转换为网络小型计算机***接口ISCSI命令后发送到所述用户态OVS,以通过所述用户态OVS将所述ISCSI命令发送到所述物理网卡。
  2. 如权利要求1所述的方法,其特征在于,所述确定是否通过用户态OVS将所述IO请求发送到物理网卡包括:
    确定所述IO请求所访问的磁盘或访问的文件所在磁盘的磁盘信息,根据所述磁盘信息判断所述IO请求所访问的磁盘是否为远端设备的磁盘,如果是,则确定所述IO请求需要通过所述用户态OVS发送到所述物理网卡。
  3. 如权利要求1或2所述的方法,其特征在于,所述将所述IO请求转换为网络小型计算机***接口ISCSI命令包括:
    将所述IO请求转换成小型计算机***接口SCSI命令;
    在所述SCSI命令中增加网络小型计算机***接口ISCSI头以获得所述ISCSI命令。
  4. 一种用于虚拟交换机技术中数据传输的方法,其特征在于,所述方法包括:
    接收物理网卡针对IO请求响应的网络小型计算机***接口ISCSI报文;其中,所述ISCSI报文需要通过用户态开放虚拟交换机OVS发送到发起所述IO请求的虚拟机,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
    在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机。
  5. 如权利要求4所述的方法,其特征在于,所述在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机包括:
    将所述ISCSI报文转换成SCSI响应;
    将所述SCSI响应转换为IO响应,并将所述IO响应发送到发起所述IO请求的虚拟机。
  6. 一种电子设备,其特征在于,所述电子设备包括:
    确认模块,用于接收虚拟机VM发送的IO请求,确定是否需要通过用户态开放虚拟交换机OVS将所述IO请求发送到物理网卡;其中,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
    转换模块,用于如果确定需要通过所述用户态OVS将所述IO请求发送到所述物理网卡,则在用户态将所述IO请求转换为网络小型计算机***接口ISCSI命令后发送到所述用户态OVS,以通过所述用户态OVS将所述ISCSI命令发送到所述物理网卡。
  7. 如权利要求6所述的电子设备,其特征在于,所述确认模块具体用于确定所述IO请求所访问的磁盘或访问的文件所在磁盘的磁盘信息,根据所述磁盘信息判断所述IO请求所访问的磁盘是否为远端设备的磁盘,如果是,则确定所述IO请求需要通过所述用户态OVS发送到所述物理网卡。
  8. 如权利要求6或7所述的电子设备,其特征在于,所述转换模块具体用于将所述IO请求转换成小型计算机***接口SCSI命令;在所述SCSI命令中增加网络小型计算机系 统接口ISCSI头以获得所述ISCSI命令。
  9. 一种电子设备,其特征在于,包括:
    接收模块,用于接收物理网卡针对IO请求响应的网络小型计算机***接口ISCSI报文;其中,所述ISCSI报文需要通过用户态开放虚拟交换机OVS发送到发起所述IO请求的虚拟机,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通;
    转换模块,用于在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机。
  10. 如权利要求9所述的电子设备,其特征在于,所述转换模块具体用于将所述ISCSI报文转换成SCSI响应;将所述SCSI响应转换为IO响应,并将所述IO响应发送到发起所述IO请求的虚拟机。
PCT/CN2017/081118 2016-04-29 2017-04-19 一种用于虚拟交换机技术中数据传输的方法及装置 WO2017186042A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP17788694.2A EP3441878B1 (en) 2016-04-29 2017-04-19 Method and device for data transmission in virtual switch technique
US16/170,602 US10977203B2 (en) 2016-04-29 2018-10-25 Data transmission method and apparatus used in virtual switch technology
US17/214,134 US11556491B2 (en) 2016-04-29 2021-03-26 Data transmission method and apparatus used in virtual switch technology

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610286786.7 2016-04-29
CN201610286786.7A CN106020926B (zh) 2016-04-29 2016-04-29 一种用于虚拟交换机技术中数据传输的方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/170,602 Continuation US10977203B2 (en) 2016-04-29 2018-10-25 Data transmission method and apparatus used in virtual switch technology

Publications (1)

Publication Number Publication Date
WO2017186042A1 true WO2017186042A1 (zh) 2017-11-02

Family

ID=57081908

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/081118 WO2017186042A1 (zh) 2016-04-29 2017-04-19 一种用于虚拟交换机技术中数据传输的方法及装置

Country Status (4)

Country Link
US (2) US10977203B2 (zh)
EP (1) EP3441878B1 (zh)
CN (1) CN106020926B (zh)
WO (1) WO2017186042A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116366582A (zh) * 2023-06-01 2023-06-30 天翼云科技有限公司 一种基于ovs-dpdk的数据包处理方法、***

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020926B (zh) 2016-04-29 2019-10-25 华为技术有限公司 一种用于虚拟交换机技术中数据传输的方法及装置
CN108063737B (zh) * 2017-11-23 2020-09-08 华中科技大学 一种FCoE存储区域网读请求处理方法及***
CN111934894B (zh) * 2019-05-13 2022-08-12 烽火通信科技股份有限公司 基于dpdk管理无线网络接口的方法及***
CN112506674B (zh) * 2019-09-16 2024-02-02 北京华耀科技有限公司 Linux***下用户态TCP/IP协议栈与本地应用通信的***及方法
CN113127139B (zh) * 2019-12-31 2023-12-26 阿里巴巴集团控股有限公司 一种基于数据面开发套件dpdk的内存分配方法和装置
CN113098780B (zh) * 2021-02-22 2023-04-28 网宿科技股份有限公司 虚拟网络的报文处理方法、电子设备及存储介质
US20220391348A1 (en) * 2021-06-04 2022-12-08 Microsoft Technology Licensing, Llc Userspace networking with remote direct memory access
CN115242895B (zh) * 2022-07-19 2023-04-18 杭州迪普科技股份有限公司 基于dpdk的访问本机方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101465863A (zh) * 2009-01-14 2009-06-24 北京航空航天大学 一种内核虚拟机环境下高效网络i/o的实现方法
CN101557420A (zh) * 2009-03-31 2009-10-14 北京航空航天大学 虚拟机监控器高效网络通信的实现方法
US20140304402A1 (en) * 2013-04-06 2014-10-09 Citrix Systems, Inc. Systems and methods for cluster statistics aggregation
CN104104705A (zh) * 2013-04-11 2014-10-15 阿里巴巴集团控股有限公司 分布式存储***的接入方法和设备
CN104601468A (zh) * 2015-01-13 2015-05-06 杭州华三通信技术有限公司 报文转发方法和设备
CN106020926A (zh) * 2016-04-29 2016-10-12 华为技术有限公司 一种用于虚拟交换机技术中数据传输的方法及装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664883B2 (en) * 1998-08-28 2010-02-16 Alacritech, Inc. Network interface device that fast-path processes solicited session layer read commands
US7089587B2 (en) * 2002-04-04 2006-08-08 International Business Machines Corporation ISCSI target offload administrator
US7577735B1 (en) * 2002-11-27 2009-08-18 Cisco Technology, Inc. Transparent mode
US7921240B2 (en) * 2004-03-10 2011-04-05 Broadcom Corporation Method and system for supporting hardware acceleration for iSCSI read and write operations and iSCSI chimney
US20050281261A1 (en) * 2004-06-17 2005-12-22 Zur Uri E Method and system for supporting write operations for iSCSI and iSCSI chimney
US20080104589A1 (en) * 2006-11-01 2008-05-01 Mccrory Dave Dennis Adaptive, Scalable I/O Request Handling Architecture in Virtualized Computer Systems and Networks
TWI348850B (en) * 2007-12-18 2011-09-11 Ind Tech Res Inst Packet forwarding apparatus and method for virtualization switch
CN101485863A (zh) 2008-01-16 2009-07-22 北京天科仁祥医药科技有限公司 一种治疗妇科疾病的中药组合及其制备工艺
US8719817B2 (en) * 2010-03-25 2014-05-06 Vmware, Inc. Virtualization intermediary/virtual machine guest operating system collaborative SCSI path management
US8166211B2 (en) * 2010-06-07 2012-04-24 Vmware, Inc. Safely sharing USB devices
JP5541036B2 (ja) * 2010-09-21 2014-07-09 富士通株式会社 メモリアクセス制御プログラム、メモリアクセス制御方法、及び情報処理装置
CN102073556B (zh) * 2010-12-08 2012-11-28 北京航空航天大学 虚拟机的热备份和恢复方法、设备及***
US8601473B1 (en) * 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
CN102497434B (zh) * 2011-12-16 2014-11-05 中国科学院计算技术研究所 内核态虚拟网络设备的建立方法、及其包发送和接收方法
ZA201201135B (en) 2012-02-16 2014-02-26 Genrh8 Ltd Synchronous electric machine
CN102662910B (zh) * 2012-03-23 2014-10-15 浙江大学 基于嵌入式***的网络交互体系及网络交互方法
US9235450B2 (en) * 2013-06-26 2016-01-12 Emc Corporation Method and apparatus for reducing slow or stuck SCSI commands in a multi-service environment at a SCSI target
US9390034B1 (en) * 2013-06-27 2016-07-12 Emc Corporation Unified SCSI target management for performing a delayed shutdown of a service daemon in a deduplication appliance
US9223706B2 (en) * 2013-07-02 2015-12-29 Infinidat Ltd. System, method and a non-transitory computer readable medium for a pre-fetch operation
US10027605B2 (en) * 2013-08-26 2018-07-17 Vmware, Inc. Traffic and load aware dynamic queue management
WO2015103374A1 (en) * 2014-01-06 2015-07-09 Johnson Controls Technology Company Vehicle with multiple user interface operating domains
US9742881B2 (en) * 2014-06-30 2017-08-22 Nicira, Inc. Network virtualization using just-in-time distributed capability for classification encoding
US10270712B1 (en) * 2015-03-31 2019-04-23 EMC IP Holding Company LLC Virtual storage network connectivity service
US10127055B2 (en) * 2015-10-16 2018-11-13 Quanta Computer Inc. iSCSI based bare metal OS image deployment and diskless boot
US10628196B2 (en) * 2016-11-12 2020-04-21 Vmware, Inc. Distributed iSCSI target for distributed hyper-converged storage

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101465863A (zh) * 2009-01-14 2009-06-24 北京航空航天大学 一种内核虚拟机环境下高效网络i/o的实现方法
CN101557420A (zh) * 2009-03-31 2009-10-14 北京航空航天大学 虚拟机监控器高效网络通信的实现方法
US20140304402A1 (en) * 2013-04-06 2014-10-09 Citrix Systems, Inc. Systems and methods for cluster statistics aggregation
CN104104705A (zh) * 2013-04-11 2014-10-15 阿里巴巴集团控股有限公司 分布式存储***的接入方法和设备
CN104601468A (zh) * 2015-01-13 2015-05-06 杭州华三通信技术有限公司 报文转发方法和设备
CN106020926A (zh) * 2016-04-29 2016-10-12 华为技术有限公司 一种用于虚拟交换机技术中数据传输的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3441878A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116366582A (zh) * 2023-06-01 2023-06-30 天翼云科技有限公司 一种基于ovs-dpdk的数据包处理方法、***
CN116366582B (zh) * 2023-06-01 2023-08-04 天翼云科技有限公司 一种基于ovs-dpdk的数据包处理方法、***

Also Published As

Publication number Publication date
US10977203B2 (en) 2021-04-13
US11556491B2 (en) 2023-01-17
CN106020926A (zh) 2016-10-12
US20190065429A1 (en) 2019-02-28
CN106020926B (zh) 2019-10-25
EP3441878A4 (en) 2019-04-03
EP3441878A1 (en) 2019-02-13
US20210216488A1 (en) 2021-07-15
EP3441878B1 (en) 2024-01-24

Similar Documents

Publication Publication Date Title
WO2017186042A1 (zh) 一种用于虚拟交换机技术中数据传输的方法及装置
US10868767B2 (en) Data transmission method and apparatus in optoelectronic hybrid network
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US20180302327A1 (en) Load balancing for a virtual networking system
US8549098B2 (en) Method and system for protocol offload and direct I/O with I/O sharing in a virtualized network environment
US10313247B2 (en) System, method, and device for network load balance processing
EP2835953B1 (en) System for live migration of virtual machine
JP6055310B2 (ja) 仮想記憶ターゲットオフロード技術
CA2657827C (en) Method and apparatus for distributing usb hub functions across a network
US9031081B2 (en) Method and system for switching in a virtualized platform
EP3660686B1 (en) Method and device for transmitting data processing request
US20180027074A1 (en) System and method for storage access input/output operations in a virtualized environment
WO2023005747A1 (zh) 数据传输方法、装置及分布式存储***
WO2014186940A1 (zh) 一种硬盘和数据处理方法
US20220222016A1 (en) Method for accessing solid state disk and storage device
EP2905948B1 (en) Message traffic control method and related device, and calculation node
TW201911942A (zh) 資料發送、資料重發、資料處理方法與裝置
US10700978B2 (en) Offloading at a virtual switch in a load-balanced group
US9921867B2 (en) Negotiation between virtual machine and host to determine executor of packet flow control policy with reduced address space
CN109873769A (zh) 一种基于5g通信的智能路由器
US10146499B2 (en) System and method to redirect display-port audio playback devices in a remote desktop protocol session
KR102237991B1 (ko) Pci 익스프레스 전용 통신 모듈을 이용한 통신 방법과 이를 포함하는 네트워크 장치
TWI534623B (zh) 在單機中實現多人操作的控制系統與方法
CN115529348A (zh) 一种数据传输方法、***、设备及计算机可读存储介质

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2017788694

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017788694

Country of ref document: EP

Effective date: 20181108

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

Ref document number: 17788694

Country of ref document: EP

Kind code of ref document: A1