CN108111571A - 一种基于iSCSI协议的存储QoS方法 - Google Patents
一种基于iSCSI协议的存储QoS方法 Download PDFInfo
- Publication number
- CN108111571A CN108111571A CN201711126435.0A CN201711126435A CN108111571A CN 108111571 A CN108111571 A CN 108111571A CN 201711126435 A CN201711126435 A CN 201711126435A CN 108111571 A CN108111571 A CN 108111571A
- Authority
- CN
- China
- Prior art keywords
- task
- virtual machine
- qos
- storage
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种基于iSCSI协议的存储QoS方法,包括了区分来自不同虚拟机的任务Task的过程:步骤A:QoS模块从任务Task上提取出Initiator Task Tag字段;步骤B:QoS模块再将Initiator Task Tag字段划分成虚拟机标识(VM ID)和虚拟机请求任务ID(VM Task Tag)两个部分;步骤C:虚拟机标识(VM ID)标记虚拟机,根据虚拟机标识(VM ID)区分出任务Task所属的虚拟机,虚拟机请求任务ID(VM Task Tag)标记虚拟机的请求回话任务;步骤D:根据虚拟机请求任务ID(VM Task Tag)统计出不同虚拟机的QoS数并对iSCSI数据包进行存储。本发明利用iSCSI协议,在TCP存储连接里区分出来自不同虚拟机的存储服务请求,然后通过网络QoS的手段为不同的虚拟机提供存储的QoS服务。
Description
技术领域
本发明涉及通讯存储技术领域,尤其涉及一种基于iSCSI协议的存储QoS方法。
背景技术
目前流行的存储设备都支持并推荐使用iSCSI作为存储对外的服务接口,iSCSI是一种可以在IP协议上运行的SCSI指令集协议,使存储服务可以在普通的TCP/IP协议上运行,主要功能是在TCP/IP网络上的主机和存储设备之间进行数据的封装和可靠传输。在云计算IaaS服务架构中,存储作为虚拟机的存储载体,为虚拟机提供的是虚拟磁盘的服务,虚拟机的实力载体物理机通过iSCSI协议跟存储设备进行对接传输。
QoS服务在IaaS服务里面尤其重要,因为云提供商需要为不同的虚拟机做合理的资源调度,以保证有限的资源被合理地分配到不同的虚拟机实例上,iSCSI协议本身没有专门针对QoS的实现,往往是一个TCP存储连接里面包含了多个虚拟机的存储请求任务Task,因此目前iSCSI协议并不能很好的区分一个TCP链接里面来自不同虚拟机的请求,更加不能针对不同的虚拟机做QoS服务。
发明内容
本发明的目的在于提出一种基于iSCSI协议的存储QoS方法,利用iSCSI协议,在TCP存储连接里区分出来自不同虚拟机的存储服务请求,然后通过网络QoS的手段为不同的虚拟机提供存储的QoS服务。
为达此目的,本发明采用以下技术方案:
一种基于iSCSI协议的存储QoS方法,所述iSCSI数据包使用TCP协议作为传输数据,所述TCP协议携带有iSCSI数据报文PDU,所述PDU上传输有多个虚拟机的存储请求,即任务Task,所述任务Task上有一个长度为4字节的Initiator Task Tag字段,所述InitiatorTask Tag字段用来区分不同的所述任务Task,包括了区分来自不同虚拟机的任务Task的过程:
步骤A:QoS模块从所述任务Task上提取出所述Initiator Task Tag字段;
步骤B:所述QoS模块再将所述Initiator Task Tag字段划分成虚拟机标识(VMID)和虚拟机请求任务ID(VM Task Tag)两个部分,;
步骤C:所述虚拟机标识(VM ID)标记虚拟机,根据所述虚拟机标识(VM ID)区分出所述任务Task所属的虚拟机,所述虚拟机请求任务ID(VM Task Tag)标记虚拟机的请求回话任务;
步骤D:根据所述虚拟机请求任务ID(VM Task Tag)统计出不同虚拟机的QoS数并对所述iSCSI数据包进行存储。
优选的,虚拟机设定有阈值,所述阈值为虚拟机的存储请求数和存储传输量,对QoS数超出所述阈值的虚拟机实施请求数和传输量限制。
通过设定阈值,对虚拟机的任务Task数量进行限制,对于超出阈值的部分进行处理,更好的利用资源,方便资源的调度。
优选的,虚拟机对超出所述阈值的QoS数进行丢弃或者缓存处理。
优选的,包括统计不同虚拟机QoS数的过程:
步骤C1:每台虚拟机限制在统一周期内接受一定数量的QoS数;
步骤C2:在统一周期内,所述QoS模块统计不同的虚拟机的QoS数,并与限制的QoS数进行比较,若统计的QoS数超出限制的QoS数,则对超出的QoS数进行丢弃处理或者缓存处理,然后对下一个统一周期内的QoS进行统计。
优选的,所述虚拟机标识(VM ID)和虚拟机请求任务ID(VM Task Tag)的总长度为4个字节。
附图说明
图1是本发明的来自不同虚拟机的任务Task的流程图;
图2是本发明的举例说明解释图。
其中:QoS模组1、任务Task2、Initiator Task Tag字段3、虚拟机标识(VM ID)4、虚拟机请求任务ID(VM Task Tag)5、iSCSI数据包6、。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
本实施例的一种基于iSCSI协议的存储QoS方法,iSCSI数据包6使用TCP协议作为传输数据,所述TCP协议携带有iSCSI数据报文PDU,所述PDU上传输有多个虚拟机的存储请求,即任务Task2,所述任务Task2上有一个长度为4字节的Initiator Task Tag字段3,所述Initiator Task Tag字段3用来区分不同的所述任务Task2,如图1所示,包括了区分来自不同虚拟机的任务Task2的过程:
步骤A:QoS模块1从所述任务Task2上提取出所述Initiator Task Tag字段3;
步骤B:所述QoS模块1再将所述Initiator Task Tag字段3划分成虚拟机标识(VMID)4和虚拟机请求任务ID(VM Task Tag)5两个部分,;
步骤C:所述虚拟机标识(VM ID)4标记虚拟机,根据所述虚拟机标识(VM ID)4区分出所述任务Task2所属的虚拟机,所述虚拟机请求任务ID(VM Task Tag)5标记虚拟机的请求回话任务;
步骤D:根据所述虚拟机请求任务ID(VM Task Tag)5统计出不同虚拟机的QoS数并对所述iSCSI数据包6进行存储。
iSCSI传输使用的是TCP连接,在实际应用中,因为考虑到性能的要求,所以往往是一个TCP连接上传输了许多虚拟机的存储请求,也就是所述任务Task2(也可称为回话),不同的任务Task2是根据任务Task2的Tag来区分的,也就是所述Initiator Task Tag字段3,所述Initiator Task Tag字段3是由iSCSI请求端负责生成的一个唯一的标识,用来区分不同的所述任务Task2,通过复用这个Initiator Task Tag字段3,将它分成两个部分,即所述虚拟机标识(VM ID)4和虚拟机请求任务ID(VM Task Tag)5,第一部分用来标记虚拟机,第二部分用来标记虚拟机的请求回话任务Task2,这样就可以从本质上区分出不同虚拟机所对应的任务Task2,而区分清楚虚拟机和所对应的任务Task2后,就可以根据虚拟机来进行存储服务的QoS,通过在iSCSI网络传输层进行网络数据包的过滤,统计出不同的虚拟机在指定时间内的的存储请求数和存储传输量,并对请求数和传输量进行限制。举例说明,如图2所示,一共有3台虚拟机没分别是虚拟机-1、虚拟机-2和虚拟机-3,在传输iSCSI协议报文里面,传输经过一个QoS模块1时,该模块线提取所述Initiator Task Tag字段3,然后将所述Initiator Task Tag字段3分为两个部分,分别是虚拟机的标识(VM ID)和虚拟机的请求任务ID(VM Task Tag),VMID-1、VMID-2和VMID-3分别对应虚拟机-1、虚拟机-2和虚拟机-3,这样虚拟机就被区分出来,可以看到虚拟机-1上有3个任务请求,分别是VM Task Tag-x1、VM Task Tag-x2和VM Task Tag-x3,虚拟机-2和-3同上,若限制每台虚拟机在制定时间内只能有2个任务请求,这样虚拟机-1就超过了,对超过的任务请求进行丢弃或者缓存处理。
在不改动现有iSCSI协议的基础上,可以区分去不同虚拟机所对应的存储请求,并可以对指定的虚拟机的任务Task2数量进行限制,从而帮助云提供商更好的调度存储服务资源。
优选的,虚拟机设定有阈值,所述阈值为虚拟机的存储请求数和存储传输量,对QoS数超出所述阈值的虚拟机实施请求数和传输量限制。
通过设定阈值,对虚拟机的任务Task2数量进行限制,对于超出阈值的部分进行处理,更好的利用资源,方便资源的调度。
优选的,虚拟机对超出所述阈值的QoS数进行丢弃或者缓存处理。
缓存即先保存起来不发送,等下一个时间再发送,减缓频率。
优选的,包括统计不同虚拟机QoS数的过程:
步骤C1:每台虚拟机限制在统一周期内接受一定数量的QoS数;
步骤C2:在统一周期内,所述QoS模块1统计不同的虚拟机的QoS数,并与限制的QoS数进行比较,若统计的QoS数超出限制的QoS数,则对超出的QoS数进行丢弃处理或者缓存处理,然后对下一个统一周期内的QoS进行统计。
举例说明,比如限制每台虚拟机1秒钟只能有10个请求,这样QoS模块1就以1秒钟为统计周期,统计1秒钟内不同虚拟机的请求数,如果发现超过了,进行丢弃或者缓存处理,下一个1秒钟周期又重新计算,如此类推。
优选的,所述虚拟机标识(VM ID)4和虚拟机的请求任务ID(VM Task Tag)的总长度为4个字节。
虚拟机标识(VM ID)4和虚拟机的请求任务ID(VM Task Tag)总长度不便,即不会改变原有iSCSI协议,同时也能保证Initiator Task Tag的唯一性,不影响iSCSI服务。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。
Claims (5)
1.一种基于iSCSI协议的存储QoS方法,其特征在于:所述iSCSI数据包使用TCP协议作为传输数据,所述TCP协议携带有iSCSI数据报文PDU,所述PDU上传输有多个虚拟机的存储请求,即任务Task,所述任务Task上有一个长度为4字节的Initiator Task Tag字段,所述Initiator Task Tag字段用来区分不同的所述任务Task,包括了区分来自不同虚拟机的任务Task的过程:
步骤A:QoS模块从所述任务Task上提取出所述Initiator Task Tag字段;
步骤B:所述QoS模块再将所述Initiator Task Tag字段划分成虚拟机标识(VM ID)和虚拟机请求任务ID(VM Task Tag)两个部分;
步骤C:所述虚拟机标识(VM ID)标记虚拟机,根据所述虚拟机标识(VM ID)区分出所述任务Task所属的虚拟机,所述虚拟机请求任务ID(VM Task Tag)标记虚拟机的请求回话任务;
步骤D:根据所述虚拟机请求任务ID(VM Task Tag)统计出不同虚拟机的QoS数并对所述iSCSI数据包进行存储。
2.根据权利要求1所述一种基于iSCSI协议的存储QoS方法,其特征在于:虚拟机设定有阈值,所述阈值为虚拟机的存储请求数和存储传输量,对QoS数超出所述阈值的虚拟机实施请求数和传输量限制。
3.根据权利要求1所述一种基于iSCSI协议的存储QoS方法,其特征在于:虚拟机对超出所述阈值的QoS数进行丢弃或者缓存处理。
4.根据权利要求1所述一种基于iSCSI协议的存储QoS方法,其特征在于:包括统计不同虚拟机QoS数的过程:
步骤C1:每台虚拟机限制在统一周期内接受一定数量的QoS数;
步骤C2:在统一周期内,所述QoS模块统计不同的虚拟机的QoS数,并与限制的QoS数进行比较,若统计的QoS数超出限制的QoS数,则对超出的QoS数进行丢弃处理或者缓存处理,然后对下一个统一周期内的QoS进行统计。
5.根据权利要求1所述一种基于iSCSI协议的存储QoS方法,其特征在于:所述虚拟机标识(VM ID)和虚拟机请求任务ID(VM Task Tag)的总长度为4个字节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711126435.0A CN108111571B (zh) | 2017-11-15 | 2017-11-15 | 一种基于iSCSI协议的存储QoS方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711126435.0A CN108111571B (zh) | 2017-11-15 | 2017-11-15 | 一种基于iSCSI协议的存储QoS方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108111571A true CN108111571A (zh) | 2018-06-01 |
CN108111571B CN108111571B (zh) | 2021-05-04 |
Family
ID=62206422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711126435.0A Active CN108111571B (zh) | 2017-11-15 | 2017-11-15 | 一种基于iSCSI协议的存储QoS方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108111571B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1732664A (zh) * | 2002-12-31 | 2006-02-08 | 国际商业机器公司 | iSCSI的服务质量 |
CN101202741A (zh) * | 2006-12-14 | 2008-06-18 | 英业达股份有限公司 | 动态调整任务请求数的方法 |
US20110173609A1 (en) * | 2009-07-23 | 2011-07-14 | Brocade Communications Systems, Inc. | Method and Apparatus for Determining the Identity of a Virtual Machine |
CN103365803A (zh) * | 2012-03-29 | 2013-10-23 | 富士通株式会社 | 访问控制方法、服务器装置和存储装置 |
CN105407059A (zh) * | 2015-10-21 | 2016-03-16 | 浪潮(北京)电子信息产业有限公司 | 一种应用于SCSI目标器的QoS调度器及调度方法 |
CN105511798A (zh) * | 2014-09-24 | 2016-04-20 | 中国电信股份有限公司 | 虚拟机缓存资源管理方法和系统 |
-
2017
- 2017-11-15 CN CN201711126435.0A patent/CN108111571B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1732664A (zh) * | 2002-12-31 | 2006-02-08 | 国际商业机器公司 | iSCSI的服务质量 |
CN101202741A (zh) * | 2006-12-14 | 2008-06-18 | 英业达股份有限公司 | 动态调整任务请求数的方法 |
US20110173609A1 (en) * | 2009-07-23 | 2011-07-14 | Brocade Communications Systems, Inc. | Method and Apparatus for Determining the Identity of a Virtual Machine |
CN103365803A (zh) * | 2012-03-29 | 2013-10-23 | 富士通株式会社 | 访问控制方法、服务器装置和存储装置 |
CN105511798A (zh) * | 2014-09-24 | 2016-04-20 | 中国电信股份有限公司 | 虚拟机缓存资源管理方法和系统 |
CN105407059A (zh) * | 2015-10-21 | 2016-03-16 | 浪潮(北京)电子信息产业有限公司 | 一种应用于SCSI目标器的QoS调度器及调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108111571B (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536543B (zh) | 具有基于跨步的数据分散的接收队列 | |
US9674090B2 (en) | In-line network accelerator | |
EP3314827B1 (en) | Method and system for managing data traffic in a computing network | |
CN100520758C (zh) | 提高tcp重发处理速度 | |
EP1399849B1 (en) | Arrangement for creating multiple virtual queue pairs from a compressed queue pair based on shared attributes | |
CN103141058A (zh) | 用于虚拟分布式业务的网络接口控制器 | |
CN102790776A (zh) | 心跳连接归一处理方法、终端、服务器及通信系统 | |
CN109684269A (zh) | 一种pcie交换芯片内核及工作方法 | |
CN105391648A (zh) | 使网络流对准处理资源的技术 | |
CN106487896A (zh) | 用于处理远程直接内存访问请求的方法和装置 | |
CN112838992B (zh) | 报文调度方法及网络设备 | |
US9584446B2 (en) | Memory buffer management method and system having multiple receive ring buffers | |
CN109286564B (zh) | 一种报文转发方法及装置 | |
KR102280343B1 (ko) | 복수의 이더넷 포트를 가지는 사물인터넷 디바이스 | |
US6834307B2 (en) | Event-based application layer switching for high-speed protocol processing | |
CN108111571A (zh) | 一种基于iSCSI协议的存储QoS方法 | |
CN108293006B (zh) | 用于跟踪无序网络分组的技术 | |
CN105897601A (zh) | 业务请求的处理方法及装置 | |
US8914550B2 (en) | System and method for transferring data between components of a data processor | |
KR101794200B1 (ko) | 리눅스 기반 패킷 프로세서를 이용하는 분산 패킷 전송 네트워크의 프로토콜 패킷 송수신 방법 | |
CN117014967A (zh) | 移动通信系统、方法和用户面节点 | |
CN115080771A (zh) | 基于人工智能的数据处理方法及装置、介质、网关设备 | |
TWI714969B (zh) | 封包轉送方法與裝置 | |
CN110300060B (zh) | 用于软件定义网络的通信方法和装置 | |
CN102316022B (zh) | 一种协议报文转发方法和通信设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |