1.一种用于存储系统的方法,所述存储系统包括多个存储设备,并且每个存储设备经由多条路径分别被连接到服务器的多个不同主机总线适配器HBA端口,所述方法包括:
监测所述存储系统的系统级的性能度量,以获得动态性能统计;
基于所述动态性能统计,检测与性能相关的事件;以及
基于所述动态性能统计和所述检测的结果,从多条路径中选择用于所述多个存储设备中的至少一个存储设备的活动路径。
2.根据权利要求1所述的方法,其中监测所述存储系统的系统级的性能度量包括:监测所述多个不同HBA端口处的性能度量。
3.根据权利要求2所述的方法,其中所述多个不同HBA端口处的性能度量包括吞吐量、延时和资源使用状况中的至少一项。
4.根据权利要求2所述的方法,其中监测所述存储系统的系统级的性能度量还包括:
监测以下中的至少一项:
所述多个存储设备的本地性能度量;以及
多条路径的本地性能度量。
5.根据权利要求1所述的方法,其中所述与性能相关的事件包括以下中的至少一项:
所述多个不同HBA端口中的一个HBA端口处的性能瓶颈;
所述多个不同HBA端口的性能的失衡;以及
所述多个存储设备中至少一个存储设备的性能低于阈值。
6.根据权利要求1所述的方法,其中基于所述动态性能统计和所述检测的结果,从多条路径中选择用于所述多个存储设备中的至少一个存储设备的活动路径包括:
基于所述动态性能统计和所述检测的结果,将所述多个存储设备划分成与所述多个不同HBA端口分别对应的多个子集,以及
将每个子集的存储设备路由到其对应HBA端口。
7.根据权利要求1所述的方法,其中基于所述动态性能统计和所述检测的结果,从多条路径中选择用于所述多个存储设备中的至少一个存储设备的活动路径包括:
在检测到所述多个不同HBA端口中的第一HBA端口处的性能瓶颈或者工作量过大时,针对所述多个存储设备中的至少一个存储设备进行动态路径选择,以将经由所述第一HBA端口的至少一部分工作量重新路由到所述多个HBA端口中的另一HBA端口。
8.根据权利要求7所述的方法,其中针对所述多个存储设备中的至少一个存储设备进行动态路径选择,以将经由所述第一HBA端口的至少一部分工作量重新路由到所述多个HBA端口中的另一HBA端口包括:
计算需要从所述第一HBA端口卸载的期望工作量;
基于所述计算,从所述多个存储设备中选择一组存储设备,并且
将所述一组存储设备的活动路径切换到经由所述第一HBA端口之外的另一HBA端口的路径。
9.根据权利要求8所述的方法,其中计算需要从所述第一HBA端口卸载的期望工作量包括:
至少基于所述第一HBA端口的性能度量和预定阈值来计算需要卸载的所述期望工作量。
10.根据权利要求8所述的方法,其中基于所述计算,从所述多个存储设备中选择一组存储设备包括:
从所述多个存储设备中选择一组存储设备,使得所述一组存储设备的当前性能度量之和与所计算的所述期望工作量匹配。
11.根据权利要求8所述的方法,其中基于所述计算,从所述多个存储设备中选择一组存储设备包括:
从所述多个存储设备中选择多组存储设备,使得所述多组存储设备中的每一组存储设备的当前性能度量之和与所计算的所述期望工作量匹配;以及
根据预定准则从所述多组存储设备中选择一组存储设备。
12.根据权利要求11所述的方法,其中根据预定准则从所述多组存储设备中选择一组存储设备包括:
从所述多组存储设备中选择优先级权重之和最大的一组存储设备。
13.根据权利要求1所述的方法,还包括:
监测所述存储系统的拓扑更新;并且
其中基于所述动态性能统计和所述检测的结果,从多条路径中选择用于所述多个存储设备中的至少一个存储设备的活动路径包括:
在监测到拓扑更新事件而没有检测到性能相关事件时,按照第一路径选择策略选择用于所述多个存储设备中的至少一个存储设备的活动路径;以及
在检测到性能相关事件时,按照第二路径选择策略选择用于所述多个存储设备中的至少一个存储设备的活动路径。
14.根据权利要求13所述的方法,其中所述第一路径选择策略为缺省的静态路径选择策略,并且/或者,所述第二路径选择策略为动态路径选择策略。
15.根据权利要求13所述的方法,其中在监测到拓扑更新事件而没有检测到性能相关事件时,按照第一路径选择策略选择用于所述多个存储设备中的至少一个存储设备的活动路径包括:
在监测到拓扑更新事件而没有检测到性能相关事件时,验证更新后的拓扑的有效性,以及
在更新后的拓扑有效时,按照第一路径选择策略选择用于所述多个存储设备中的至少一个存储设备的活动路径。
16.根据权利要求1所述的方法,其中基于所述动态性能统计和所述检测的结果,从多条路径中选择用于所述多个存储设备中的至少一个存储设备的活动路径还包括:
基于所述动态性能统计和所述检测的结果以及路径的优先级, 从多条路径中选择用于所述多个存储设备中的至少一个存储设备的活动路径。
17.根据权利要求1所述的方法,进一步包括:
根据所述选择结果,对路径的状态和路径的优先级中的至少一项进行更新。
18.根据权利要求1所述的方法,进一步包括:
迭代地执行所述监测、检测和选择,直到达到期望的性能目标。
19.一种用于存储系统的装置,所述存储系统包括多个存储设备,并且每个存储设备经由多条路径分别被连接到服务器的多个不同主机总线适配器HBA端口,所述装置包括:
性能监测器,被配置为监测所述存储系统的系统级的性能度量,以获得动态性能统计;
事件检测器,被配置为基于所述动态性能统计,检测与性能相关的事件;以及
路径选择器,被配置为基于所述动态性能统计和所述检测的结果,从多条路径中选择用于所述多个存储设备中的至少一个存储设备的活动路径。
20.根据权利要求19所述的装置,其中所述性能监测器包括:
HBA端口性能监测器,被配置为通过监测所述多个不同HBA端口处的性能度量来监测所述存储系统的系统级的性能度量。
21.根据权利要求20所述的装置,其中所述多个不同HBA端口处的性能度量包括吞吐量、延时和资源使用状况中的至少一项。
22.根据权利要求20所述的装置,其中所述性能监测器还包括本地性能监测器,被配置为监测以下中的至少一项:
所述多个存储设备的本地性能度量;以及
多条路径的本地性能度量。
23.根据权利要求19所述的装置,其中所述与性能相关的事件包括以下中的至少一项:
所述多个不同HBA端口中的一个HBA端口处的性能瓶颈;
所述多个不同HBA端口的性能的失衡;以及
所述多个存储设备中至少一个存储设备的性能低于阈值。
24.根据权利要求19所述的装置,其中所述路径选择器被配置为通过以下方式从所述多条路径中选择用于所述多个存储设备中的至少一个存储设备的活动路径:
基于所述检测的结果和所述动态性能统计,将所述多个存储设备划分成与所述多个不同HBA端口分别对应的多个子集,以及
将每个子集的存储设备路由到其对应HBA端口。
25.根据权利要求19所述的装置,所述路径选择器进一步包括:
负载平衡器,被配置为在检测到所述多个不同HBA端口中的第一HBA端口处的性能瓶颈或者工作量过大时,将经由所述第一HBA端口的至少一部分工作量重新路由到所述多个HBA端口中的另一HBA端口。
26.根据权利要求25所述的装置,其中所述负载平衡器进一步包括:
卸载工作量计算器,被配置为在检测到所述多个不同HBA端口中的第一HBA端口处的性能瓶颈或者工作量过大时,计算需要从所述第一HBA端口卸载的期望工作量;
存储设备选择器,被配置为基于所述计算,从所述多个存储设备中选择一组存储设备,以及
路径切换器,被配置为将所述一组存储设备的活动路径切换到经由所述第一HBA端口之外的另一HBA端口的路径。
27.根据权利要求26所述的装置,其中所述卸载工作量计算器进一步被配置为至少基于所述第一HBA端口的性能度量和预定阈值来计算需要卸载的所述期望工作量。
28.根据权利要求26所述的方法,其中所述存储设备选择器进一步被配置为:基于所述计算从所述多个存储设备中选择一组存储设备,使得所述一组存储设备的当前性能度量之和与所计算的所述期望工作量匹配。
29.根据权利要求26所述的装置,所述存储设备选择器进一步被配置为:
从所述多个存储设备中选择多组存储设备,使得所述多组存储设备中的每一组存储设备的当前性能度量之和与所计算的所述期望工作量匹配;以及
根据预定准则从所述多组存储设备中选择一组存储设备。
30.根据权利要求29所述的装置,其中根据预定准则从所述多组存储设备中选择一组存储设备包括:从所述多组存储设备中选择优先级权重之和最大的一组存储设备。
31.根据权利要求19所述的装置,还包括:
拓扑检测器,被配置为监测所述存储系统的拓扑更新;并且
其中所述路径选择器进一步包括:
决策模块,被配置为在监测到拓扑更新事件而没有检测到性能相关事件时,按照第一路径选择策略选择用于所述多个存储设备中的至少一个存储设备的活动路径,以及在检测到性能相关事件时,按照第二路径选择策略选择用于所述多个存储设备中的至少一个存储设备的活动路径。
32.根据权利要求31所述的装置,其中所述第一路径选择策略为缺省的静态路径选择策略,并且/或者,所述第二路径选择策略为动态路径选择策略。
33.根据权利要求31所述的装置,还包括:
拓扑验证器,被配置为在监测到拓扑更新事件时,验证更新后的拓扑的有效性,并且
决策模块被配置为被配置为在更新后的拓扑有效并且没有检测到性能相关事件时,按照第一路径选择策略选择用于所述多个存储设备中的至少一个存储设备的活动路径。
34.根据权利要求19所述的装置,其中所述路径选择器进一步被配置为:
基于所述检测的结果、所述动态性能统计以及路径的优先级, 从多条路径中选择用于所述多个存储设备中的至少一个存储设备的活动路径。
35.根据权利要求19所述的装置,进一步包括:
多路径模块,被配置为根据所述选择结果,对路径的状态和路径的优先级中的至少一项进行更新。
36.根据权利要求19所述的装置,进一步包括:
性能调整器,被配置为促使所述性能监测器、所述事件检测器和所述路径选择器迭代地执行所述监测、检测和选择操作,直到达到期望的性能目标。
37.一种装置,所述装置包括至少一个处理器;以及包括计算机程序代码的至少一个存储器,其中所述至少一个存储器和所述计算机程序代码被配置为:与所述至少一个处理器一起,促使所述装置执行根据权利要求1-18中任一权利要求所述的方法。