数据存储系统中的切换方法、智能网卡以及计算设备与流程

摘要: 本技术涉及存储,特别涉及一种数据存储系统中的切换方法、智能网卡以及计算设备。背景技术:1、随着存储技术的发展,数据存储系统采用多控技术来提高存储服务的可靠性,即...
数据存储系统中的切换方法、智能网卡以及计算设备与流程

本技术涉及存储,特别涉及一种数据存储系统中的切换方法、智能网卡以及计算设备。

背景技术:

1、随着存储技术的发展,数据存储系统采用多控技术来提高存储服务的可靠性,即数据存储系统采用主存储控制器和从存储控制器来管理上述存储服务,在主存储控制器无法提供服务时,数据存储系统切换存储控制器,使从存储控制器来接管主存储控制器的工作,以保证存储服务的可靠性。

2、目前,主机通过不同的路径与数据存储系统中的主存储控制器和从存储控制器分别相连,并通过对应的路径分别向主存储控制器和从存储控制器发送读写请求,主存储控制器和从存储控制器接收并处理读写请求,再通过对应的路径向主机返回处理结果。主机在超过一定时长没有通过主存储控制器对应的路径接收到处理结果的情况下,确定主存储控制器无法提供服务,进行存储控制器切换,即通过从存储控制器对应的路径,向从存储控制器发送原本待向主存储控制器发送的读写请求,使从存储控制器来接管主存储控制器的工作。

3、上述数据存储系统中的切换方法中,由于主机与主存储控制器之间的路径较长,因此,主机确定主存储控制器无法提供服务并进行存储控制器切换所消耗的时长较长,异常处理效率较低。

技术实现思路

1、本技术提供了一种数据存储系统中的切换方法、智能网卡以及计算设备,能够提高数据存储系统的异常处理效率。该技术方案如下。

2、第一方面,提供了一种数据存储系统中的切换方法,该数据存储系统包括多个存储节点,该多个存储节点共享智能网卡,上述方法包括:当智能网卡确定多个存储节点中的第一存储节点无法提供服务,停止使用第一存储节点处理读写请求;智能网卡接收来自于主机的报文,从报文中解析出读写请求,向多个存储节点中的第二存储节点发送读写请求,第二存储节点不同于第一存储节点。

3、其中,第一存储节点无法提供服务是指第一存储节点因升级等原因主动重启,或者,第一存储节点发生内核崩溃(crash)、内存耗尽(out of memory‌,oom)或拔控等故障。

4、该数据存储系统中的切换方法中,数据存储系统中的多个存储节点共享智能网卡,并且,智能网卡具有确定存储节点是否能够提供服务以及从报文中解析出读写请求的功能,使得智能网卡能够在确定第一存储节点无法提供服务的情况下,不经过与数据存储系统相连的主机,直接停止使用第一存储节点,向多个存储节点中不同于第一存储节点的第二存储节点发送读写请求。由于智能网卡与存储节点之间的路径短于主机与存储节点之间的路径,因此,该方法能够缩短确定存储节点无法提供服务并进行存储节点切换所消耗的时长,提高异常处理效率。

5、可选地,智能网卡确定多个存储节点中的第一存储节点无法提供服务,停止使用第一存储节点处理读写请求包括下述至少一项:接收到来自第一存储节点的故障通告,停止使用第一存储节点;超过预设时长没有接收到来自第一存储节点的心跳消息,停止使用第一存储节点。上述过程为智能网卡配置了确定第一存储节点是否能够提供服务的功能,由于智能网卡与存储节点之间的路径较短,因此,智能网卡能够较快确定第一存储节点是否能够提供服务,缩短确定存储节点无法提供服务所消耗的时长,以使数据存储系统能够及时感知到异常并对该异常进行处理,减小该异常对数据存储系统所提供服务的影响。

6、可选地,智能网卡存储有调度规则,调度规则指示通过多个存储节点提供服务;上述智能网卡确定多个存储节点中的第一存储节点无法提供服务,停止使用第一存储节点处理读写请求包括:响应于智能网卡确定多个存储节点中的第一存储节点无法提供服务,更新调度规则,更新后的调度规则指示通过除第一存储节点以外的其他存储节点提供服务。该过程在第一存储节点无法提供服务的情况下更新调度规则,使得后续智能网卡在根据该调度规则,向存储节点发送读写请求的过程中,能够避免向无法提供服务的存储节点发送读写请求,从而避免某一存储节点无法提供服务导致无法执行读写请求的情况,提高读写请求的执行效率。

7、可选地,智能网卡包括多个队列,每个队列对应于一个存储节点,上述向多个存储节点中的第二存储节点发送读写请求包括:将读写请求写入第二存储节点对应的队列中,通过第二存储节点对应的队列,向第二存储节点发送读写请求。通过队列来存储智能网卡接收的读写请求,并通过队列向存储节点发送读写请求,能够避免遗漏读写请求,提高读写请求的执行效率。

8、可选地,上述方法还包括下述任一项:第一存储节点感知传输链路断开,向智能网卡发送故障通告;当第一存储节点在复位,第一存储节点基于复位通知链,向智能网卡发送故障通告,复位通知链包括智能网卡。该过程由存储节点来主动向智能网卡上报异常情况,能够缩短智能网卡确定存储节点无法提供服务所消耗的时长,以使数据存储系统能够及时感知到异常并对该异常进行处理,减小该异常对数据存储系统所提供服务的影响。

9、可选地,上述多个存储节点为存储阵列中的多个存储控制器,该存储控制器用于访问存储阵列中的存储介质;或,多个存储节点为分布式存储系统中的多个存储服务器。也即是,上述方法既能够应用于集中式存储场景,又能够应用于分布式存储场景。

10、可选地,上述智能网卡和存储节点之间通过高速串行计算机扩展总线标准(peripheral component interconnect express,pcie)协议或者设备互联(computeexpress link,cxl)协议进行通信。

11、可选地,上述智能网卡接收来自于主机的报文包括:智能网卡通过基于tcp的nvme(nvme over tcp)、基于udp的iscsi(iscsi over udp)、网络文件系统(network filesystem,nfs)协议、会话消息块(server message block,smb)协议和对象存储服务(simplestorage service,s3)协议中的任一种接收来自于主机的报文。其中,tcp为传输控制协议(transmission control protocol),nvme是非易失性内存主机控制器接口规范(non-volatile memory express),udp为用户数据报协议(user datagram protocol),iscsi是互联网小型计算机系统接口(internet small computer system interface)。

12、可选地,上述方法还包括:当智能网卡确定第一存储节点能够提供服务之前,第一存储节点通过智能网卡为主机提供服务。

13、第二方面,提供了一种智能网卡,该智能网卡用于执行上述数据存储系统中的切换方法。具体地,该智能网卡包括用于执行上述第一方面或上述第一方面的任一种可选方式提供的数据存储系统中的切换方法的功能模块。

14、第三方面,提供了一种计算设备,该计算设备包括处理器和存储器,该处理器用于执行存储器中存储的至少一段程序代码,以使计算设备执行以实现如上述数据存储系统中的切换方法所执行的操作。

15、第四方面,提供一种计算机可读存储介质,该存储介质中存储有至少一段程序代码,该程序代码由处理器读取以使计算设备执行如上述数据存储系统中的切换方法所执行的操作。

16、第五方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算设备执行上述第一方面或该第一方面的各种可选实现方式中提供的数据存储系统中的切换方法。

17、本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。