CN117215494A - 存储多路径选路方法及装置 - Google Patents

存储多路径选路方法及装置 Download PDF

Info

Publication number
CN117215494A
CN117215494A CN202311265138.XA CN202311265138A CN117215494A CN 117215494 A CN117215494 A CN 117215494A CN 202311265138 A CN202311265138 A CN 202311265138A CN 117215494 A CN117215494 A CN 117215494A
Authority
CN
China
Prior art keywords
path quality
physical link
quality weight
path
failure
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.)
Pending
Application number
CN202311265138.XA
Other languages
English (en)
Inventor
陈东河
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology 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 Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311265138.XA priority Critical patent/CN117215494A/zh
Publication of CN117215494A publication Critical patent/CN117215494A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及计算机存储技术领域,提供一种存储多路径选路方法及装置,应用于包含主机和存储系统的网络,所述主机和存储系统之间设有多条物理链路,该方法包括:基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,所述故障次数越多,所述路径质量权重越小;选择当前最大的路径质量权重对应的所述物理链路作为目标路径;将主机当前待处理的I/O通过所述目标路径下发至所述存储系统。本发明选择故障较少甚至无故障的路径下发待处理的I/O,从而减少甚至避免由于路径故障较多导致频繁发生路径切换,使得I/O阻塞的问题。

Description

存储多路径选路方法及装置
技术领域
本发明涉及计算机存储技术领域,尤其涉及一种存储多路径选路方法及装置。
背景技术
随着互联网和云计算等技术的发展,全天候数据访问的需求成为常态,在这样的技术背景下,存储系统I/O处理速度及可靠性成为了存储厂商关注的重点,而存储I/O多路径作为同时解决负载均衡和路径可靠性的一种方式,也成为了各存储厂商的一个研究方向。
通常,存储I/O多路径主要有路径冗余和负载均衡两方面作用,路径冗余用于提高路径可靠性,防止单路径故障造成的I/O读写失败而影响主机业务应用;负载均衡可提高客户端主机I/O下发量,不受单路径链路带宽限制。
目前,Windows操作系统MPIO(Multipath I/O)框架默认已支持的存储I/O多路径选路方法包括:故障切换模式(Failover Only)、轮询模式(Round Robin)、最小队列深度模式(Least Queue Depth)和最小I/O块大小模式(Least Blocks)。但上述方法都是在路径链路质量正常的情况下,基于某一个假设前提或基于某一个维度来评估每条I/O路径的预期I/O处理能力,未考虑实际生产环境中可能出现的链路质量问题。例如:主机与存储系统之间链路质量差或接触不良时,导致I/O时断时续,具体原因为:某一链路断开时多路径软件切换I/O到其它路径,该链路恢复后切换I/O回到该路径。虽然在链路故障导致I/O失败后,多路径软件能够切换路径保证I/O不中断,但这一切换路径过程需要一定时间,对外表现为I/O会阻塞一段时间,如此反复、频繁发生路径切换,会导致I/O阻塞,上层业务性能下降,甚至可能导致对I/O延时敏感的上层业务失败。
发明内容
本发明提供一种存储多路径选路方法及装置,用以解决现有技术的路径选路方法中由于频繁发生路径切换导致I/O阻塞的问题。
本发明提供一种存储多路径选路方法,应用于包含主机和存储系统的网络,所述主机和存储系统之间设有多条物理链路,所述方法包括:
基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,所述故障次数越多,所述路径质量权重越小;
选择当前最大的路径质量权重对应的所述物理链路作为目标路径;
将主机当前待处理的I/O通过所述目标路径下发至所述存储系统。
根据本发明提供的一种存储多路径选路方法,基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,包括:
所述物理链路在所述预设时间段内的故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重降为最小值,且使所述物理链路进入故障修复状态;
基于所述物理链路每次故障的故障时刻、故障次数及路径质量权重的恢复时长,确定所述物理链路的路径质量权重,其中,所述路径质量权重的恢复时长由路径质量权重被降为最小值时开始计时。
根据本发明提供的一种存储多路径选路方法,基于所述物理链路每次故障的故障时刻、故障次数及路径质量权重的恢复时长,确定所述物理链路的路径质量权重,包括:
在所述物理链路发生故障时,记录所述物理链路发生故障的故障次数和对应的故障时刻;
对每个故障时刻对应的故障次数按所述故障时刻进行线性拟合,将所述线性拟合得到的直线的斜率作为故障频率;
基于所述故障频率、路径质量权重的恢复时长以及预先拟合的路径质量权重公式,计算所述物理链路的路径质量权重;
其中,所述预先拟合的路径质量权重公式基于预设的最大故障频率、最长期望恢复时长、最小故障频率和最短期望恢复时长确定,且使得在相同的恢复时长下,故障频率越高的物理链路,其恢复的路径质量权重越小。
根据本发明提供的一种存储多路径选路方法,所述路径质量权重公式拟合方式如下:
以故障频率倒数为横坐标,路径质量权重的恢复时长为纵坐标,构建拟合坐标系;
以最大故障频率时,路径质量权重的恢复时长为最长期望恢复时长,最小故障频率时,路径质量权重的恢复时长为最短期望恢复时长,基于所述拟合坐标系拟合出所述故障频率倒数与路径质量权重的恢复时长的线性关系;
基于所述线性关系和路径质量权重的恢复时长确定所述路径质量权重公式如下:
其中,w为路径质量权重,t为当前时刻,tn为所述物理链路发生故障的次数达到预设的次数阈值n的时刻,k为所述故障频率,a和b为拟合系数。
根据本发明提供的一种存储多路径选路方法,所述物理链路在所述预设时间段内的故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重降为最小值,包括:
所述物理链路在所述预设时间段内的故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重从最大值直接降为最小值,
或者,在所述预设时间段内,随所述物理链路的故障次数的增加,按预设权重梯度减小所述物理链路对应的路径质量权重,在故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重降为最小值,并将所述物理链路的状态标记为恢复状态。
根据本发明提供的一种存储多路径选路方法,在发生故障的物理链路的路径质量权重恢复到最大值之前,还包括:
按预设例测周期对发生故障的物理链路进行I/O下发例测,在所述I/O下发例测失败时,将所述路径质量权重的恢复时长的开始计时时刻重新确定为当前时刻。
根据本发明提供的一种存储多路径选路方法,基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,包括:
在所述预设时间段内,随所述物理链路的故障次数的增加,按预设权重梯度减小所述物理链路对应的路径质量权重。
根据本发明提供的一种存储多路径选路方法,选择当前最大的路径质量权重对应的所述物理链路作为目标路径,包括:
在当前存在多个最大的路径质量权重的情况下,采用轮询方式从多个最大的路径质量权重对应的所述物理链路选择一个作为所述目标路径。
本发明还提供一种存储多路径选路装置,应用于包含主机和存储系统的网络,所述主机和存储系统之间设有多条物理链路,所述装置包括:
权重确定模块,用于基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,所述故障次数越多,所述路径质量权重越小;
目标路径选择模块,用于选择当前最大的路径质量权重对应的所述物理链路作为目标路径;
I/O下发模块,用于将主机当前待处理的I/O通过所述目标路径下发至所述存储系统。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的存储多路径选路方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的存储多路径选路方法。
本发明提供的存储多路径选路方法及装置,应用于包含主机和存储系统的网络,所述主机和存储系统之间设有多条物理链路,通过基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,所述故障次数越多,所述路径质量权重越小;选择当前最大的路径质量权重对应的所述物理链路作为目标路径;将主机当前待处理的I/O通过所述目标路径下发至所述存储系统,即选择故障较少甚至无故障的路径下发待处理的I/O,从而减少甚至避免由于路径故障较多导致频繁发生路径切换,使得I/O阻塞的问题。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的存储多路径选路方法对应的网络存储系统架构图;
图2是本发明提供的存储多路径选路方法的流程示意图之一;
图3是本发明提供的存储多路径选路方法的流程示意图之二;
图4是本发明提供的存储多路径选路方法中设定的最大故障频率下故障次数与故障时刻的线性拟合关系图;
图5是本发明提供的存储多路径选路方法中设定的最小故障频率下故障次数与故障时刻的线性拟合关系图;
图6是本发明提供的存储多路径选路方法中故障频率倒数与路径质量权重的恢复时长的线性拟合关系图;
图7是本发明提供的存储多路径选路方法中第一实时故障频率下故障次数与故障时刻的线性拟合关系图;
图8是本发明提供的存储多路径选路方法中第二实时故障频率下故障次数与故障时刻的线性拟合关系图;
图9是本发明提供的存储多路径选路装置的结构示意图;
图10是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了方便理解,首先对本申请所适用的系统进行描述。本申请提供的一种存储多路径选路方法,可以应用于如图1所示的网络存储系统架构中。该网络存储系统架构包括:主机、交换机和存储系统,在FC网络环境中,主机和存储系统在进行通信时需要用到光纤通道主机适配器(Fibre Channel Host Bus Adapter,FC HBA,主机需要和FC网络、FC存储系统连接时需要使用一种接口卡,即FC HBA),且主机侧与存储侧均可支持多个FC HBA,每个FC HBA支持多个端口,进而实现主机侧和存储系统侧物理链路的冗余,解决主机侧或存储系统侧的某个FC HBA或端口故障而导致对存储系统中硬盘无法访问的问题。同时在主机和存储器之间增加交换机冗余,实现不会因为单个交换机故障而导致主机对存储系统中硬盘无法访问的问题。图1中以两个主机、两个交换机和一个存储系统为例,主机A和主机B均包括一个FC HBA,存储系统包含两个FC HBA,每个FC HBA包含均两个Port端口,则主机A或者主机B均可以通过16(2×2×4)条物理链路来实现对存储系统中硬盘的访问。
本发明实施例的存储多路径选路方法,应用于包含主机和存储系统的网络,所述主机和存储系统之间设有多条物理链路,即应用于上述网络存储系统架构,该方法流程如图2所示,包括:
步骤S210:基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,所述故障次数越多,所述路径质量权重越小。其中,预设时间段可根据实际情况设定,对于实时性要求较高的网络存储系统,可以设置较短的预设时间段,反之设置较长的预设时间段,例如:可设置为1600秒至2000秒。路径质量权重可以是[0,1]之间的值,无故障时路径质量权重为最大值1,0为路径权重最小值,由于故障次数越多,说明路径质量越差,I/O下发失败的几率就越高,从而导致频繁的I/O切换,因此,对于预设时间段内故障次数越多的物理链路,其路径质量权重会由最大值逐渐下降,即路径质量权重越小。若降到最小值0,则该物理链路不在进行I/O下发,对应的物理链路需要进行故障自修复,当然,防止故障无限制累积,在预设时间段内未降为最小值,则在下一个预设时间段内,重新统计故障次数。
步骤S220:选择当前最大的路径质量权重对应的所述物理链路作为目标路径。具体地,在有新的I/O需要下发或是I/O切换时,选择当前最大的路径质量权重对应的所述物理链路作为目标路径,例如:若存在未发生故障的物理链路,其路径质量权重为1,优先选择路径质量权重为1的物理链路为目标路径。
步骤S230:将主机当前待处理的I/O通过所述目标路径下发至所述存储系统。
本实施例的存储多路径选路方法中,对每条物理链路设有相应的路径质量权重,且路径质量权重是基于物理链路在预设时间段内的故障次数确定的,所述故障次数越多,说明路径质量越差,I/O下发失败的几率就越高,从而导致频繁的I/O切换,因此,对应的路径质量权重越小。在选择I/O的下发路径时,选择当前最大的路径质量权重对应的所述物理链路作为目标路径;将主机当前待处理的I/O通过所述目标路径下发至所述存储系统,即选择故障较少甚至无故障的路径下发待处理的I/O,从而减少甚至避免由于路径故障较多导致频繁发生路径切换,使得I/O阻塞的问题。
由于故障越多,路径质量权重越小,会存在降到最小值(如:0)的情况,对于路径质量权重降到最小值的物理链路,系统会自动进行故障修复,随故障修复,需要对该物理链路恢复路径质量权重。因此,在一些实施例中,步骤S210包括:
所述物理链路在所述预设时间段内的故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重降为最小值,且使所述物理链路进入故障修复状态。
基于所述物理链路每次故障的故障时刻、故障次数及路径质量权重的恢复时长,确定所述物理链路的路径质量权重,其中,所述路径质量权重的恢复时长由路径质量权重被降为最小值时开始计时。具体地,路径质量权重降为最小值的物理链路自动启动权重恢复机制,恢复速率与在预设时间段内的路径故障发生次数有关,次数越多,代表路径质量问题越大,因此恢复速率越慢。
其中,预设的次数阈值可根据实际情况设定,对于实时性要求较高的网络存储系统,可以设置较小的次数阈值,反之设置较大的次数阈值。而且,预设的次数阈值不宜设置太大,优选为2~5次,以防止较多的物理链路的路径质量权重较低,且无法及时修复故障,从而影响系统整体的I/O下发效率。
在一些实施例中,基于所述物理链路每次故障的故障时刻、故障次数及路径质量权重的恢复时长,确定所述物理链路的路径质量权重的步骤如图3所示,包括:
步骤S310:在所述物理链路发生故障时,记录所述物理链路发生故障的故障次数和对应的故障时刻。具体地,物理链路发生故障时,会导致I/O切换,对外表现为I/O会阻塞,此时记录所述物理链路发生故障的故障次数和对应的故障时刻。由于是在预设时间段内故障次数达到次数阈值时,路径质量权重才会降为最小值并开始恢复,此时的故障次数即为次数阈值。
步骤S320:对每个故障时刻对应的故障次数按所述故障时刻进行线性拟合,将所述线性拟合得到的直线的斜率作为故障频率。物理链路的故障次数若在较快的时间内达到次数阈值,则说明故障频率越高,路径质量越差,相应地,拟合得到的直线的斜率越大,因此,可以用拟合直线的斜率来表示故障频率。
步骤S330:基于所述故障频率、路径质量权重的恢复时长以及预先拟合的路径质量权重公式,计算所述物理链路的路径质量权重。
其中,所述预先拟合的路径质量权重公式基于预设的最大故障频率、最长期望恢复时长、最小故障频率和最短期望恢复时长确定。由于故障频率越高,路径质量越差,故障自修复的速度也会越慢,因此,只要预先拟合的路径质量权重公式满足故障频率越高,路径质量权重的恢复时长越长的条件即可,也即在相同的恢复时长下,故障频率越高的物理链路,其恢复的路径质量权重越小。
具体地,所述路径质量权重公式拟合方式如下:
以故障频率倒数为横坐标,路径质量权重的恢复时长为纵坐标,构建拟合坐标系。按照故障频率越大,代表路径质量越差,物理链路故障自修复时间越长,路径质量权重的恢复时间越长的原则,路径质量权重恢复速率应与故障频率成反比,因此,使用故障频率倒数作为路径质量权重恢复速率的自变量,即横坐标,路径质量权重的恢复时长为纵坐标构建拟合坐标系。
以最大故障频率时,路径质量权重的恢复时长为最长期望恢复时长,最小故障频率时,路径质量权重的恢复时长为最短期望恢复时长,基于所述拟合坐标系拟合出所述故障频率倒数与路径质量权重的恢复时长的线性关系。
基于所述线性关系和路径质量权重的恢复时长确定所述路径质量权重公式如下:
其中,w为路径质量权重,t为当前时刻,tn为所述物理链路发生故障的次数达到预设的次数阈值n的时刻,k为所述故障频率,a和b为拟合系数。具体地,k为在实际应用中故障次数n对应的故障时刻与故障次数n拟合得到的直线斜率。
其中,最大故障频率、最长期望恢复时长、最小故障频率和最短期望恢复时长可根据网络存储系统的具体实时性要求设定,例如:实时性较高,可以将最长期望恢复时长和最短期望恢复时长均设置较短,最大故障频率和最小故障频率越高。
所述最大故障频率可以按如下方式确定:以所述网络中网络接口卡的最小超时时长为间隔发生一次故障,得到多组故障发生时刻和故障发生次数,将所述多组故障发生时刻和故障发生次数的拟合直线的斜率作为所述最大故障频率。例如:在图1的网络存储系统中,设置次数阈值为3次,以接口卡FC HBA的最小超时时长为间隔(5s)发生一次故障,得到三组故障发生时刻和故障发生次数如下表1所示,将表1中三组故障发生时刻和故障发生次数进行线性拟合,得到图4所示的线性拟合直线,将该直线的斜率(0.2)作为所述最大故障频率。
表1最大故障频率的拟合参数
故障时刻(秒) 故障次数(次)
0 1
5 2
10 3
最小故障频率的拟合参数见表2所示,即预设时间段内,故障发生最不频繁的情况,例如:预设时间段为1800s。
表2最大故障频率的拟合参数
故障时刻(秒) 故障次数(次)
0 1
900 2
1800 3
将表2中的三组故障发生时刻和故障发生次数进行线性拟合,得到图5所示的线性拟合直线,将该直线的斜率(0.0011)作为所述最小故障频率。
基于上述最大故障频率和最小故障频率,分别设定对应的最长期望恢复时长(3600s)和最短期望恢复时长(900s)得到故障频率倒数和路径质量权重的恢复时长的关系如下表3所示,其中,5=1/0.2,909.0909091=1/0.0011。
表3故障频率倒数和恢复时间的关系表
故障频率倒数 恢复时间(秒)
5 3600
909.0909091 900
通过故障频率倒数与恢复时间拟合得到线性拟合关系如图6所示,从而得到路径质量权重公式为:
下面以如下两条物理链路的故障时刻与故障次数为例进行说明:
物理链路1:如下表4所示,第1次故障后3分钟(180秒)发生第2次故障,第2次故障后5分钟(300秒)发生第3次故障,此时物理链路1的路径质量权重降为0,启动路径质量权重恢复过程。如图7所示,通过故障时刻与故障次数拟合得到故障频率0.0041;由路径质量权重公式,可计算得到10分钟(600秒)后路径质量权重值为w=600/(-2.9864/0.0041+3614.9)=0.207863493。
表4物理链路1的故障频率的拟合参数
故障时刻(秒) 故障次数(次)
0 1
180 2
480 3
物理链路2:如下表5所示,第1次故障后15分钟(900秒)发生第2次故障,第2次故障后10分钟(600秒)发生第3次故障,此时物理链路2的路径质量权重降为0,启动路径质量权重恢复过程。如图8所示,通过故障时刻与故障次数拟合得到故障频率0.0013;由路径质量权重公式,可计算得到10分钟(600秒)后路径质量权重值为w=600/(-2.9864/0.0013+3614.9)=0.455349481。
表5物理链路2的故障频率的拟合参数
故障时刻(秒) 故障次数(次)
0 1
900 2
1500 3
由以上两个结果可以看出,物理链路2的故障频率低,在10分钟恢复时间相同的情况下,物理链路2的权重值(0.45534948)大于路径1的权重值(0.20786349),在无权路径质量权重为1的情况下,根据权重值优先选择权重值较大的物理链路2作为目标路径,符合物理链路2故障频率低,比物理链路1的路径质量好,从而优先选择的策略。
在一些实施例中,所述物理链路在所述预设时间段内的故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重降为最小值,包括以下两种降权重的方式:
方式一:所述物理链路在所述预设时间段内的故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重从最大值直接降为最小值。例如:直接从1降到0。
方式二:所述物理链路在所述预设时间段内的故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重降为最小值,包括:在所述预设时间段内,随所述物理链路的故障次数的增加,按预设权重梯度减小所述物理链路对应的路径质量权重,在故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重降为最小值,并将所述物理链路的状态标记为恢复状态,以便后续例测时即使路径质量权重都小于最大值,也能够确定哪些物理链路是处于路径质量权重恢复中的物理链路。
上述两种方式可根据实际情况选择,例如:次数阈值设置相对较小,少量的故障对物理链路的质量影响较小的情况下,可以选择方式一,次数阈值设置相对较大,少量的故障对物理链路的质量也要交大的影响的情况下,可以选择方式二。
在一些实施例中,在发生故障的物理链路的路径质量权重恢复到最大值之前,该方法还包括:按预设例测周期对发生故障的物理链路进行I/O下发例测,在所述I/O下发例测失败时,将所述路径质量权重的恢复时长的开始计时时刻重新确定为当前时刻。由于在路径质量权重恢复过程中也有可能产生其它故障,或者物理链路故障修复速度较慢。因此,按预设例测周期对恢复中的物理链路进行例测,如:每隔30秒向物理链路发送1次I/O,如果测试失败,将所述路径质量权重的恢复时长的开始计时时刻重新确定为当前时刻,即在例测失败的时刻,将其路径质量权重置为最小值,重新开始恢复,从而延长路径质量权重的恢复时间,确保物理链路得到充分时间的质量例测,以保证按上述路径质量权重公式在将路径质量权重恢复到最大值时,对应的物理链路真正可用。
在一些实施例中,步骤S220包括:在当前存在多个最大的路径质量权重的情况下,采用轮询方式从多个最大的路径质量权重对应的所述物理链路选择一个作为所述目标路径。例如:有多个路径质量权重为最大值1的物理链路,则在多个路径质量权重为最大值1的物理链路之间通过轮询的方式选择目标路径,以保证多个路径质量权重最大的物理链路之间的负载均衡。
下面对本发明提供的存储多路径选路装置进行描述,下文描述的存储多路径选路装置与上文描述的存储多路径选路方法可相互对应参照。
本发明的提供的存储多路径选路装置,应用于包含主机和存储系统的网络,所述主机和存储系统之间设有多条物理链路,所述装置如图9所示,包括:
权重确定模块910,用于基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,所述故障次数越多,所述路径质量权重越小。
目标路径选择模块920,用于选择当前最大的路径质量权重对应的所述物理链路作为目标路径。
I/O下发模块930,用于将主机当前待处理的I/O通过所述目标路径下发至所述存储系统。
本发明的存储多路径选路装置,应用于包含主机和存储系统的网络,所述主机和存储系统之间设有多条物理链路,对每条物理链路设有相应的路径质量权重,且路径质量权重是基于物理链路在预设时间段内的故障次数确定的,所述故障次数越多,说明路径质量越差,I/O下发失败的几率就越高,从而导致频繁的I/O切换,因此,对应的路径质量权重越小。在选择I/O的下发路径时,选择当前最大的路径质量权重对应的所述物理链路作为目标路径;将主机当前待处理的I/O通过所述目标路径下发至所述存储系统,即选择故障较少甚至无故障的路径下发待处理的I/O,从而减少甚至避免由于路径故障较多导致频繁发生路径切换,使得I/O阻塞的问题。
可选地,权重确定模块910具体用于:
所述物理链路在所述预设时间段内的故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重降为最小值,且使所述物理链路进入故障修复状态;基于所述物理链路每次故障的故障时刻、故障次数及路径质量权重的恢复时长,确定所述物理链路的路径质量权重,其中,所述路径质量权重的恢复时长由路径质量权重被降为最小值时开始计时。
可选地,权重确定模块910具体用于:
所述物理链路在所述预设时间段内的故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重从最大值直接降为最小值,或者,在所述预设时间段内,随所述物理链路的故障次数的增加,按预设权重梯度减小所述物理链路对应的路径质量权重,在故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重降为最小值,并将所述物理链路的状态标记为恢复状态。
可选地,权重确定模块910包括:
故障信息记录模块,用于在所述物理链路发生故障时,记录所述物理链路发生故障的故障次数和对应的故障时刻。
故障信息拟合模块,用于对每个故障时刻对应的故障次数按所述故障时刻进行线性拟合,将所述线性拟合得到的直线的斜率作为故障频率。
权重计算模块,用于基于所述故障频率、路径质量权重的恢复时长以及预先拟合的路径质量权重公式,计算所述物理链路的路径质量权重。其中,所述预先拟合的路径质量权重公式基于预设的最大故障频率、最长期望恢复时长、最小故障频率和最短期望恢复时长确定,且使得在相同的恢复时长下,故障频率越高的物理链路,其恢复的路径质量权重越小。
可选地,所述存储多路径选路装置,还包括:权重公式拟合模块,所述权重公式拟合模块包括:
拟合坐标构建模块,用于以故障频率倒数为横坐标,路径质量权重的恢复时长为纵坐标,构建拟合坐标系。
线性关系拟合模块,用于以最大故障频率时,路径质量权重的恢复时长为最长期望恢复时长,最小故障频率时,路径质量权重的恢复时长为最短期望恢复时长,基于所述拟合坐标系拟合出所述故障频率倒数与路径质量权重的恢复时长的线性关系。
权重公式确定模块,用于基于所述线性关系和路径质量权重的恢复时长确定所述路径质量权重公式如下:
其中,w为路径质量权重,t为当前时刻,tn为所述物理链路发生故障的次数达到预设的次数阈值n的时刻,k为所述故障频率,a和b为拟合系数。
可选地,所述存储多路径选路装置,还包括:路径质量例测模块,用于在发生故障的物理链路的路径质量权重恢复到最大值之前,按预设例测周期对发生故障的物理链路进行I/O下发例测,在所述I/O下发例测失败时,将所述路径质量权重的恢复时长的开始计时时刻重新确定为当前时刻。
可选地,目标路径选择模块920具体用于在当前存在多个最大的路径质量权重的情况下,采用轮询方式从多个最大的路径质量权重对应的所述物理链路选择一个作为所述目标路径。
图10示例了一种电子设备的实体结构示意图,如图10所示,该电子设备可以包括:处理器(processor)101、通信接口(Communications Interface)102、存储器(memory)103和通信总线104,其中,处理器101,通信接口102,存储器103通过通信总线104完成相互间的通信。处理器101可以调用存储器103中的逻辑指令,以执行存储多路径选路方法,所述方法应用于包含主机和存储系统的网络,所述主机和存储系统之间设有多条物理链路,所述方法包括:
基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,所述故障次数越多,所述路径质量权重越小。
选择当前最大的路径质量权重对应的所述物理链路作为目标路径。
将主机当前待处理的I/O通过所述目标路径下发至所述存储系统。
此外,上述的存储器103中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的存储多路径选路方法,所述方法应用于包含主机和存储系统的网络,所述主机和存储系统之间设有多条物理链路,所述方法包括:
基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,所述故障次数越多,所述路径质量权重越小。
选择当前最大的路径质量权重对应的所述物理链路作为目标路径。
将主机当前待处理的I/O通过所述目标路径下发至所述存储系统。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的存储多路径选路方法,所述方法应用于包含主机和存储系统的网络,所述主机和存储系统之间设有多条物理链路,所述方法包括:
基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,所述故障次数越多,所述路径质量权重越小。
选择当前最大的路径质量权重对应的所述物理链路作为目标路径。
将主机当前待处理的I/O通过所述目标路径下发至所述存储系统。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种存储多路径选路方法,其特征在于,应用于包含主机和存储系统的网络,所述主机和存储系统之间设有多条物理链路,所述方法包括:
基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,所述故障次数越多,所述路径质量权重越小;
选择当前最大的路径质量权重对应的所述物理链路作为目标路径;
将主机当前待处理的I/O通过所述目标路径下发至所述存储系统。
2.根据权利要求1所述的存储多路径选路方法,其特征在于,基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,包括:
所述物理链路在所述预设时间段内的故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重降为最小值,且使所述物理链路进入故障修复状态;
基于所述物理链路每次故障的故障时刻、故障次数及路径质量权重的恢复时长,确定所述物理链路的路径质量权重,其中,所述路径质量权重的恢复时长由路径质量权重被降为最小值时开始计时。
3.根据权利要求2所述的存储多路径选路方法,其特征在于,基于所述物理链路每次故障的故障时刻、故障次数及路径质量权重的恢复时长,确定所述物理链路的路径质量权重,包括:
在所述物理链路发生故障时,记录所述物理链路发生故障的故障次数和对应的故障时刻;
对每个故障时刻对应的故障次数按所述故障时刻进行线性拟合,将所述线性拟合得到的直线的斜率作为故障频率;
基于所述故障频率、路径质量权重的恢复时长以及预先拟合的路径质量权重公式,计算所述物理链路的路径质量权重;
其中,所述预先拟合的路径质量权重公式基于预设的最大故障频率、最长期望恢复时长、最小故障频率和最短期望恢复时长确定,且使得在相同的恢复时长下,故障频率越高的物理链路,其恢复的路径质量权重越小。
4.根据权利要求3所述的存储多路径选路方法,其特征在于,所述路径质量权重公式拟合方式如下:
以故障频率倒数为横坐标,路径质量权重的恢复时长为纵坐标,构建拟合坐标系;
以最大故障频率时,路径质量权重的恢复时长为最长期望恢复时长,最小故障频率时,路径质量权重的恢复时长为最短期望恢复时长,基于所述拟合坐标系拟合出所述故障频率倒数与路径质量权重的恢复时长的线性关系;
基于所述线性关系和路径质量权重的恢复时长确定所述路径质量权重公式如下:
其中,w为路径质量权重,t为当前时刻,tn为所述物理链路发生故障的次数达到预设的次数阈值n的时刻,k为所述故障频率,a和b为拟合系数。
5.根据权利要求2所述的存储多路径选路方法,其特征在于,所述物理链路在所述预设时间段内的故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重降为最小值,包括:
所述物理链路在所述预设时间段内的故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重从最大值直接降为最小值,
或者,在所述预设时间段内,随所述物理链路的故障次数的增加,按预设权重梯度减小所述物理链路对应的路径质量权重,在故障次数达到预设的次数阈值时,将所述物理链路对应的路径质量权重降为最小值,并将所述物理链路的状态标记为恢复状态。
6.根据权利要求2所述的存储多路径选路方法,其特征在于,在发生故障的物理链路的路径质量权重恢复到最大值之前,还包括:
按预设例测周期对发生故障的物理链路进行I/O下发例测,在所述I/O下发例测失败时,将所述路径质量权重的恢复时长的开始计时时刻重新确定为当前时刻。
7.根据权利要求1至6中任一项所述的存储多路径选路方法,其特征在于,选择当前最大的路径质量权重对应的所述物理链路作为目标路径,包括:
在当前存在多个最大的路径质量权重的情况下,采用轮询方式从多个最大的路径质量权重对应的所述物理链路选择一个作为所述目标路径。
8.一种存储多路径选路装置,其特征在于,应用于包含主机和存储系统的网络,所述主机和存储系统之间设有多条物理链路,所述装置包括:
权重确定模块,用于基于物理链路在预设时间段内的故障次数,确定所述物理链路对应的路径质量权重,所述故障次数越多,所述路径质量权重越小;
目标路径选择模块,用于选择当前最大的路径质量权重对应的所述物理链路作为目标路径;
I/O下发模块,用于将主机当前待处理的I/O通过所述目标路径下发至所述存储系统。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一项所述的存储多路径选路方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的存储多路径选路方法。
CN202311265138.XA 2023-09-27 2023-09-27 存储多路径选路方法及装置 Pending CN117215494A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311265138.XA CN117215494A (zh) 2023-09-27 2023-09-27 存储多路径选路方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311265138.XA CN117215494A (zh) 2023-09-27 2023-09-27 存储多路径选路方法及装置

Publications (1)

Publication Number Publication Date
CN117215494A true CN117215494A (zh) 2023-12-12

Family

ID=89038801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311265138.XA Pending CN117215494A (zh) 2023-09-27 2023-09-27 存储多路径选路方法及装置

Country Status (1)

Country Link
CN (1) CN117215494A (zh)

Similar Documents

Publication Publication Date Title
CN105573839B (zh) 用于端口选择的基于成本的负载平衡的方法和装置
US9658912B2 (en) Method and apparatus for implementing heartbeat service of high availability cluster
US7533292B2 (en) Management method for spare disk drives in a raid system
US11347603B2 (en) Service takeover method, storage device, and service takeover apparatus
KR101513863B1 (ko) 네트워크 요소 서비스 복구를 위한 방법 및 시스템
US20100161852A1 (en) Data storage network management method, computer program and server
CN105959235B (zh) 分布式数据处理系统及方法
JP2005209190A (ja) 高可用性クラスタノードの複数状態ステータスの報告
CN104424186B (zh) 一种流计算应用中实现持久化的方法及装置
CN107729185B (zh) 一种故障处理方法及装置
EP4075252A1 (en) Data storage method, apparatus, and system and data reading method, apparatus, and system in storage system
CN112948128A (zh) Target端的选择方法、系统及计算机可读介质
CN117632808B (zh) 多控存储阵列、存储系统、数据处理方法以及存储介质
CN111679925A (zh) 数据库故障处理方法、装置、计算设备和存储介质
CN117215494A (zh) 存储多路径选路方法及装置
CN110351122B (zh) 容灾方法、装置、系统与电子设备
CN111817892B (zh) 一种网络管理方法、系统、电子设备及存储介质
CN115344214A (zh) 数据读写方法、装置、服务器和计算机可读存储介质
CN110086660B (zh) 一种数据处理方法及装置
CN112540873A (zh) 容灾方法、装置、电子设备及容灾系统
CN107797764B (zh) 确定路径的方法及其装置
CN111865722A (zh) 一种节点健康状态检测及处理方法
CN117667531B (zh) 四机热备冗余处理方法、系统、电子设备及存储介质
CN111124275A (zh) 一种分布式块存储系统的监控服务优化方法及装置
CN112100008B (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