一种iSCSI服务异常IO处理方法、系统、装置及存储介质制造方法及图纸

技术编号:36807759 阅读:11 留言:0更新日期:2023-03-09 00:25
本发明专利技术涉及一种iSCSI服务异常IO处理方法、系统、装置及存储介质。本申请iSCSI客户端根据任一IO请求超时发送放弃指令给存储侧iSCSI服务,其中,放弃指令包含该IO请求的标记,存储侧iSCSI服务对标记进行记录并将放弃指令发送给ceph服务,ceph服务利用标记定位对应该IO请求的ceph服务IO,并使ceph服务IO从ceph缓存队列中出队;当ceph服务IO携带标记返回给存储侧iSCSI服务以经存储侧iSCSI服务返回iSCSI客户端时,存储侧iSCSI服务将ceph服务IO绑定的标记与其所记录全部标记进行匹配,若匹配则释放该ceph服务IO的返回结果,而不返回给iSCSI客户端,以避免IO异常导致ceph服务和iSCSI服务卡死,保证发生IO异常时存储系统的iSCSI服务和ceph服务能够正常工作。iSCSI服务和ceph服务能够正常工作。iSCSI服务和ceph服务能够正常工作。

【技术实现步骤摘要】
一种iSCSI服务异常IO处理方法、系统、装置及存储介质


[0001]本专利技术涉及iSCSI服务异常IO处理
,尤其涉及一种iSCSI服务异常IO处理方法、系统、装置及存储介质。

技术介绍

[0002]iSCSI(Internet Small Computer System Interface),因特网小型计算机系统接口,是一种基于因特网及SCSI

3协议的存储技术,iSCSI利用了TCP/IP的860和3260端口作为两计算机之间交换SCSI命令渠道,通过高速的局域网集线将iSCSI客户端和存储节点形成存储局域网,通过iSCSI服务将存储节点模拟成为iSCSI客户端的本地的储存装置。
[0003]如图1所示,在Ceph和iSCSI框架的分布式存储系统中,iSCSI客户端的网卡通过iSCSI网关与Ceph存储节点网卡连接,iSCSI客户端和存储节点之间的网络提供iSCSI服务,iSCSI客户端将存储节点模拟成为本地的储存装置。iSCSI客户端对已打开卷部分操作会等待IO下刷到存储侧磁盘后才能进行操作,目前,存储侧iSCSI服务对超时并且未返回的IO会一直等待,若部分IO在存储侧存在异常情况下无法返回iSCSI客户端时,那么操作会被卡住导致操作异常。

技术实现思路

[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本专利技术提供一种iSCSI服务异常IO处理方法、系统、装置及存储介质。
[0005]第一方面,本专利技术提供一种iSCSI服务异常IO处理方法,包括:
[0006]iSCSI客户端根据任一IO请求超时发送放弃指令给存储侧iSCSI服务,其中,所述放弃指令包含该IO请求的标记,存储侧iSCSI服务对所述标记进行记录并将放弃指令发送给ceph服务,ceph服务利用所述标记定位对应该IO请求的ceph服务IO,并使ceph服务IO从ceph缓存队列中出队;当ceph服务IO携带所述标记返回给存储侧iSCSI服务时,存储侧iSCSI服务将ceph服务IO绑定的标记与其所记录全部标记进行匹配,若匹配则释放该ceph服务IO的返回结果,而不返回给iSCSI客户端,以避免IO异常导致ceph服务和iSCSI服务卡死。
[0007]更进一步地,对于iSCSI服务中形成IO请求的SCSI指令,通过所述标记进行标识,不同IO请求的所述标记不同。
[0008]更进一步地,在存储侧iSCSI服务将来自iSCSI客户端的IO请求提交给ceph服务时,同时将所述IO请求的所述标记传入到ceph服务,ceph服务将所述标记与ceph服务针对IO请求生成的ceph服务IO进行绑定以便于通过针对超时IO请求的放弃指令中所述标记定位对应超时IO请求的ceph服务IO;将与ceph服务IO绑定的所述标记放置到ceph缓存队列中,以实现对ceph服务IO的队列控制。
[0009]更进一步地,预设可配置的超时阈值,iSCSI客户端统计每个IO请求的结果返回时间,若任一IO请求的返回时间超过所述超时阈值,则iSCSI客户端发送针对该IO请求的放弃
指令给存储侧iSCSI服务。
[0010]更进一步地,超时IO请求未返回iSCSI客户端时,则iSCSI客户端重建该IO请求并配置新标记,新标记与重建前IO请求的标记不同以避免存储侧iSCSI服务释放掉重建的IO请求。
[0011]更进一步地,iSCSI客户端配置放置IO请求的请求队列,通过请求队列控制IO请求发送给存储侧iSCSI服务。
[0012]更进一步地,存储侧iSCSI服务通过标记列表记录其所接收到的全部所述放弃指令中包含的标记,当ceph服务IO的标记与所述标记列表中的标记存在匹配时,将标记列表中与ceph服务IO的标记匹配的标记删除。
[0013]第二方面,本专利技术提供一种iSCSI服务异常IO处理系统,其特征在于,包括:指令生成模块,所述指令生成模块用于生成IO请求和放弃指令;
[0014]请求标记模块,所述请求标记模块用于为生成的IO请求配置具有标识作用的标记;
[0015]超时检测模块,所述超时检测模块检测超时的IO请求,并在IO请求超时的情况下所述指令生成模块生成携带超时IO请求的标记的放弃指令并向存储侧iSCSI服务发送放弃指令;
[0016]标记记录模块,所述标记记录模块用于记录放弃指令中的标记;
[0017]ceph缓存队列控制模块,所述ceph缓存队列控制模块利用放弃指令中的所述标记定位对应该IO请求的ceph服务IO,并使ceph服务IO从ceph缓存队列中出队;
[0018]IO释放模块,所述IO释放模块将ceph服务IO绑定的标记与记录的标记进行匹配,若ceph服务IO所绑定的标记与记录的标记匹配则释放该ceph服务IO的返回结果,而不返回给iSCSI客户端,若ceph服务IO所绑定的标记与标记列表中的标记不匹配,则存储侧iSCSI服务将ceph服务IO的返回结果传给iSCSI客户端。
[0019]第三方面,本专利技术提供一种iSCSI服务异常IO处理装置,包括:iSCSI客户端,与iSCSI客户端通过网络提供的iSCSI服务连接的存储侧;
[0020]其中,所述iSCSI客户端包括至少一第一处理单元、第一存储单元、第一网卡和第一总线单元,所述第一总线单元连接所述第一处理单元、第一网卡和第一存储单元;
[0021]所述存储侧包括至少一第二处理单元、第二存储单元、第二网卡和第二总线单元,所述第二总线单元连接所述第二处理单元、第二网卡和第二存储单元;
[0022]所述第一存储单元和第二存储单元计算机程序,第一存储单元的计算机程序被第一处理单元执行,第二存储单元的计算机程序被第二处理单元执行时实现所述的iSCSI服务异常IO处理方法。
[0023]第四方面,本专利技术提供一种实现iSCSI服务异常IO处理方法的存储介质,所述存储介质存储计算机程序,所述计算机程序被处理器执行时实现所述的iSCSI服务异常IO处理方法。
[0024]本专利技术实施例提供的上述技术方案与现有技术相比具有如下优点:
[0025]本专利技术中iSCSI客户端根据任一IO请求超时发送放弃指令给存储侧iSCSI服务,其中,所述放弃指令包含该IO请求的标记,存储侧iSCSI服务对所述标记进行记录并将放弃指令发送给ceph服务,ceph服务利用所述标记定位对应该IO请求的ceph服务IO,并使ceph服
务IO从ceph缓存队列中出队;当ceph服务IO携带所述标记返回给存储侧iSCSI服务时,存储侧iSCSI服务将ceph服务IO绑定的标记与其所记录全部标记进行匹配,若匹配则释放该ceph服务IO的返回结果,而不返回给iSCSI客户端,以避免IO异常导致ceph服务和iSCSI服务卡死,保证发生IO异常时存储系统的iSCSI服务和ceph服务能够正常工作。
[0026]本专利技术中,超时IO请求未返回iSCSI客户端时,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种iSCSI服务异常IO处理方法,其特征在于,包括:iSCSI客户端根据任一IO请求超时发送放弃指令给存储侧iSCSI服务,其中,所述放弃指令包含该IO请求的标记,存储侧iSCSI服务对所述标记进行记录并将放弃指令发送给ceph服务,ceph服务利用所述标记定位对应该IO请求的ceph服务IO,并使ceph服务IO从ceph缓存队列中出队;当ceph服务IO携带所述标记返回给存储侧iSCSI服务时,存储侧iSCSI服务将ceph服务IO绑定的标记与其所记录全部标记进行匹配,若匹配则释放该ceph服务IO的返回结果,而不返回给iSCSI客户端,以避免IO异常导致ceph服务和iSCSI服务卡死。2.根据权利要求1所述的iSCSI服务异常IO处理方法,其特征在于,对于iSCSI服务中形成IO请求的SCSI指令,通过所述标记进行标识,不同IO请求的所述标记不同。3.根据权利要求2所述的iSCSI服务异常IO处理方法,其特征在于,在存储侧iSCSI服务将来自iSCSI客户端的IO请求提交给ceph服务时,同时将所述IO请求的所述标记传入到ceph服务,ceph服务将所述标记与ceph服务针对IO请求生成的ceph服务IO进行绑定以便于通过针对超时IO请求的放弃指令中所述标记定位对应超时IO请求的ceph服务IO;将与ceph服务IO绑定的所述标记放置到ceph缓存队列中,以实现对ceph服务IO的队列控制。4.根据权利要求1所述的iSCSI服务异常IO处理方法,其特征在于,预设可配置的超时阈值,iSCSI客户端统计每个IO请求的结果返回时间,若任一IO请求的返回时间超过所述超时阈值,则iSCSI客户端发送针对该IO请求的放弃指令给存储侧iSCSI服务。5.根据权利要求1所述的iSCSI服务异常IO处理方法,其特征在于,超时IO请求未返回iSCSI客户端时,则iSCSI客户端重建该IO请求并配置新标记,新标记与重建前IO请求的标记不同以避免存储侧iSCSI服务释放掉重建的IO请求。6.根据权利要求1所述的iSCSI服务异常IO处理方法,其特征在于,iSCSI客户端配置放置IO请求的请求队列,通过请求队列控制IO请求发送给存储侧iSCSI服务。7.根据权利要求1所述的iSCSI服务异常IO处理方法,其特征在于,存储侧iS...

【专利技术属性】
技术研发人员:李梦龙穆向东
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1