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

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

Info

Publication number
CN106020926B
CN106020926B CN201610286786.7A CN201610286786A CN106020926B CN 106020926 B CN106020926 B CN 106020926B CN 201610286786 A CN201610286786 A CN 201610286786A CN 106020926 B CN106020926 B CN 106020926B
Authority
CN
China
Prior art keywords
request
user space
ovs
virtual machine
iscsi
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
CN201610286786.7A
Other languages
English (en)
Other versions
CN106020926A (zh
Inventor
张明
陆丽娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610286786.7A priority Critical patent/CN106020926B/zh
Publication of CN106020926A publication Critical patent/CN106020926A/zh
Priority to PCT/CN2017/081118 priority patent/WO2017186042A1/zh
Priority to EP17788694.2A priority patent/EP3441878B1/en
Priority to US16/170,602 priority patent/US10977203B2/en
Application granted granted Critical
Publication of CN106020926B publication Critical patent/CN106020926B/zh
Priority to US17/214,134 priority patent/US11556491B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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
    • 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

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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

一种用于虚拟交换机技术中数据传输的方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种虚拟交换机技术中数据传输方法及装置。
背景技术
虚拟交换机主要应用于服务器虚拟化场景,主要实现两个功能:功能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 ofService,QoS)控制,存储栈中存在QoS控制,同时用户态OVS也存在QoS控制能力。所以在一定程度上影响了虚拟机处理IO请求的性能。
基于上述原因,本发明实施例所提供的方案中,如果有需要通过用户态OVS发送到物理网卡的IO请求,则直接在用户态将该IO请求转换为可供用户态OVS处理的格式后发送到用户态OVS。这样避免了将IO请求从用户态切换到内核态,再由内核态切换到用户态的过程,从而也能避免上述几个问题,所以能够有效地提升虚拟机处理IO请求的性能。具体实现参照以下实例:
实施例一
本发明实施例中服务器虚拟化场景的实现系统的结构如图2所示。其中,用户态OVS实现虚拟机之间的网络互通,包括同主机上的虚拟机和跨主机的虚拟机之间。虚拟机的虚拟磁盘文件存储在网络之间互连的协议存储局域网络(Internet Protocol StorageArea 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 SystemInterface,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 SystemInterface,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命令发送到所述物理网卡,并通过所述物理网卡将所述ISCSI命令发送到协议存储局域网络IPSAN设备上,实现虚拟存储访问。
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请求转换为所述ISCSI报文后发送到所述用户态OVS,以通过所述用户态OVS将所述ISCSI报文发送到所述物理网卡的;
在用户态将所述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命令发送到所述物理网卡,并通过所述物理网卡将所述ISCSI命令发送到协议存储局域网络IPSAN设备上,实现虚拟存储访问。
7.如权利要求6所述的电子设备,其特征在于,所述确认模块具体用于确定所述IO请求所访问的磁盘或访问的文件所在磁盘的磁盘信息,根据所述磁盘信息判断所述IO请求所访问的磁盘是否为远端设备的磁盘,如果是,则确定所述IO请求需要通过所述用户态OVS发送到所述物理网卡。
8.如权利要求6或7所述的电子设备,其特征在于,所述转换模块具体用于将所述IO请求转换成小型计算机系统接口SCSI命令;在所述SCSI命令中增加网络小型计算机系统接口ISCSI头以获得所述ISCSI命令。
9.一种电子设备,其特征在于,包括:
接收模块,用于接收物理网卡针对IO请求响应的网络小型计算机系统接口ISCSI报文;其中,所述ISCSI报文需要通过用户态开放虚拟交换机OVS发送到发起所述IO请求的虚拟机,所述用户态OVS实现同主机上的虚拟机之间或跨主机的虚拟机之间的网络互通,所述ISCSI报文是在用户态将所述IO请求转换为所述ISCSI报文后发送到所述用户态OVS,以通过所述用户态OVS将所述ISCSI报文发送到所述物理网卡的;
转换模块,用于在用户态将所述ISCSI报文转换为IO响应后发送到所述发起所述IO请求的虚拟机。
10.如权利要求9所述的电子设备,其特征在于,所述转换模块具体用于将所述ISCSI报文转换成SCSI响应;将所述SCSI响应转换为IO响应,并将所述IO响应发送到发起所述IO请求的虚拟机。
CN201610286786.7A 2016-04-29 2016-04-29 一种用于虚拟交换机技术中数据传输的方法及装置 Active CN106020926B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201610286786.7A CN106020926B (zh) 2016-04-29 2016-04-29 一种用于虚拟交换机技术中数据传输的方法及装置
PCT/CN2017/081118 WO2017186042A1 (zh) 2016-04-29 2017-04-19 一种用于虚拟交换机技术中数据传输的方法及装置
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 (1)

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

Publications (2)

Publication Number Publication Date
CN106020926A CN106020926A (zh) 2016-10-12
CN106020926B true CN106020926B (zh) 2019-10-25

Family

ID=57081908

Family Applications (1)

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

Country Status (4)

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

Families Citing this family (9)

* 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的访问本机方法和装置
CN116366582B (zh) * 2023-06-01 2023-08-04 天翼云科技有限公司 一种基于ovs-dpdk的数据包处理方法、系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073556A (zh) * 2010-12-08 2011-05-25 北京航空航天大学 虚拟机的热备份和恢复方法、设备及系统
CN102497434A (zh) * 2011-12-16 2012-06-13 中国科学院计算技术研究所 内核态虚拟网络设备的建立方法、及其包发送和接收方法
CN102662910A (zh) * 2012-03-23 2012-09-12 浙江大学 基于嵌入式系统的网络交互体系及网络交互方法
CN104104705A (zh) * 2013-04-11 2014-10-15 阿里巴巴集团控股有限公司 分布式存储系统的接入方法和设备

Family Cites Families (27)

* 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 北京天科仁祥医药科技有限公司 一种治疗妇科疾病的中药组合及其制备工艺
CN101465863B (zh) * 2009-01-14 2012-09-26 北京航空航天大学 一种内核虚拟机环境下高效网络i/o的实现方法
CN101557420B (zh) * 2009-03-31 2012-07-25 北京航空航天大学 虚拟机监控器高效网络通信的实现方法
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 富士通株式会社 メモリアクセス制御プログラム、メモリアクセス制御方法、及び情報処理装置
US8601473B1 (en) * 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
ZA201201135B (en) 2012-02-16 2014-02-26 Genrh8 Ltd Synchronous electric machine
US10148544B2 (en) * 2013-04-06 2018-12-04 Citrix Systems, Inc. Systems and methods for cluster statistics aggregation
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
US9571426B2 (en) * 2013-08-26 2017-02-14 Vmware, Inc. Traffic and load aware dynamic queue management
EP3092560B1 (en) * 2014-01-06 2019-05-08 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
CN104601468B (zh) * 2015-01-13 2018-10-09 新华三技术有限公司 报文转发方法和设备
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
CN106020926B (zh) * 2016-04-29 2019-10-25 华为技术有限公司 一种用于虚拟交换机技术中数据传输的方法及装置
US10628196B2 (en) * 2016-11-12 2020-04-21 Vmware, Inc. Distributed iSCSI target for distributed hyper-converged storage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073556A (zh) * 2010-12-08 2011-05-25 北京航空航天大学 虚拟机的热备份和恢复方法、设备及系统
CN102497434A (zh) * 2011-12-16 2012-06-13 中国科学院计算技术研究所 内核态虚拟网络设备的建立方法、及其包发送和接收方法
CN102662910A (zh) * 2012-03-23 2012-09-12 浙江大学 基于嵌入式系统的网络交互体系及网络交互方法
CN104104705A (zh) * 2013-04-11 2014-10-15 阿里巴巴集团控股有限公司 分布式存储系统的接入方法和设备

Also Published As

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

Similar Documents

Publication Publication Date Title
CN106020926B (zh) 一种用于虚拟交换机技术中数据传输的方法及装置
CN103368768B (zh) 混合云环境中自动缩放网络覆盖的方法、装置及设备
CN105531970B (zh) 用于在网络中部署工作负荷的方法和系统
US10452316B2 (en) Switched direct attached shared storage architecture
US9237131B2 (en) Virtual private storage array service for cloud servers
CN100396065C (zh) 一种iSCSI存储系统的实现方法
CN104521198B (zh) 用于虚拟以太网接口绑定的系统和方法
US8571848B2 (en) System and method of network emlation for test of on-line server processing heavy traffic
CN106411767B (zh) 通过远程直接存储器访问的传输操作的方法、系统和介质
CN105159753B (zh) 加速器虚拟化的方法、装置及集中资源管理器
WO2018137217A1 (zh) 一种数据处理的系统、方法及对应装置
CN105103524B (zh) 用于实现网络中的高利用率的方法和系统
US9983813B2 (en) Maintenance of a fabric priority during synchronous copy operations
CN107707628A (zh) 用于传输数据处理请求的方法和装置
CN110022267A (zh) 网络数据包处理方法及装置
US10061519B2 (en) Storage system, method, and apparatus for processing multi-layer protocol encapsulation or decapsulation operation requests
CN109561054A (zh) 一种数据传输方法、控制器及接入设备
CN105900068A (zh) 路径管理的系统、装置和方法
JP2018029230A (ja) 空き帯域測定プログラム、空き帯域測定方法、および空き帯域測定装置
JP7098711B2 (ja) 遠隔ノード発見、ならびに通信チャネル確認および通信チャネル接続のためのプロセッサによって実施される方法、コンピュータ・システム、およびコンピュータ・プログラム
CN109417507A (zh) 部分延迟的报文访问
CN102111436A (zh) 一种通过iSCSI访问存储设备的方法和一种存储设备
WO2018181961A1 (ja) 仮想ネットワーク機能管理装置、仮想インフラストラクチャ管理装置、及び仮想ネットワーク機能構築方法
US11720413B2 (en) Systems and methods for virtualizing fabric-attached storage devices
CN102868684A (zh) 一种光纤通道目标器及光纤通道目标器实现方法

Legal Events

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