CN116340040A - 一种多存储控制器故障切换方法、装置、设备及存储介质 - Google Patents

一种多存储控制器故障切换方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116340040A
CN116340040A CN202310301485.7A CN202310301485A CN116340040A CN 116340040 A CN116340040 A CN 116340040A CN 202310301485 A CN202310301485 A CN 202310301485A CN 116340040 A CN116340040 A CN 116340040A
Authority
CN
China
Prior art keywords
storage controller
dpu
fault
network card
storage
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
CN202310301485.7A
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 Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur 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 Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310301485.7A priority Critical patent/CN116340040A/zh
Publication of CN116340040A publication Critical patent/CN116340040A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请公开了一种多存储控制器故障切换方法、装置、设备及存储介质,涉及计算机技术领域。该方法包括:建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接;通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息;通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器。实现DPU为中心架构下的故障切换,且实现在DPU内部切换,做到服务器端无感知路径故障。

Description

一种多存储控制器故障切换方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,特别涉及一种多存储控制器故障切换方法、装置、设备及存储介质。
背景技术
目前,市场需求驱动全球存储数据量激增,单个存储硬盘性能、存储内部CPU(Central Processing Unit,中央处理器)对内存访问带宽和存储所用的网络接口带宽也显著提升,客户对于存储系统I/O(Input/Output,输入/输出)性能也提出更高的需求;然而后摩尔时代半导体工艺制程发展减缓,单核算力滞胀,这些对于存储系统设计带来了巨大性能提升挑战。当前主流的存储系统框架是以CPU计算为中心的(Compute Centric)架构,多个存储控制器组成存储集群共同提供存储能力。适用于传统的存储设备使用场景,以CPU为中心,通过高速总线将前端接口卡(如网卡、FC卡)、图形计算处理器GPU、内存、FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)、HDD(Hard Disk Drive,机械硬盘)、SSD(Solid State Drive,固态硬盘)等计算、存储、通信设备挂载在CPU下面,所有的计算、控制都由CPU发起,这里CPU起到了关键核心的控制地位;但是,随着后摩尔时代来临,CPU单核计算能力滞涨,带来CPU已经成为存储系统性能提升的瓶颈。
数据中心正在从每台服务器都有专用处理和内存以及网络设备和加速器的模型转变为智能匹配资源和工作负载的分解“池”范式,这种设计模型为数据中心提供了更高的性能、更高的效率和更低的总成本。因此,以数据为中心的计算、存储、网络模型应运而生,DPU(Data Processing Unit,数据处理器)作为该模型的核心承载软硬件一体设备,通过提供丰富的软件可编程能力以获得更高的性能,降低软件堆栈的复杂性,并降低整体系统成本。而故障处理及切换作为保证运行的重要步骤,因此,如何在DPU为中心的架构下实现故障切换是目前亟需解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种多存储控制器故障切换方法、装置、设备及介质,能够实现DPU为中心架构下的故障切换,且实现在DPU内部切换,做到服务器端无感知路径故障。。其具体方案如下:
第一方面,本申请公开了一种多存储控制器故障切换方法,包括:
建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接;
通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息;
通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器。
可选的,所述建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,包括:
在存储系统初始化阶段,分别建立所述存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的存储链路。
可选的,所述建立所述DPU共享网卡与目标服务器之间的连接,包括:
针对与所述存储系统建立连接的目标服务器,分别建立所述DPU共享网卡与每个所述目标服务器之间的主机链路。
可选的,所述建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接之后,还包括:
根据所述DPU共享网卡与所述存储控制器之间的连接关系,以及所述DPU共享网卡与所述目标服务器之间的连接关系,建立连接映射表。
可选的,所述通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息之后,还包括:
通过所述DPU共享网卡根据所述故障上报信息,更新所述连接映射表中所述故障存储控制器的状态;
相应的,所述通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,包括
通过所述DPU共享网卡根据所述连接映射表确定出所述故障存储控制器,并对所述故障存储控制器执行I/O路径切换操作。
可选的,所述通过所述DPU共享网卡根据所述故障上报信息,更新所述连接映射表中所述故障存储控制器的状态,包括:
通过所述DPU共享网卡根据所述故障上报信息,标记所述连接映射表中所述故障存储控制器对应的链路的状态为待确认状态,且所述DPU共享网卡不向状态为待确认状态的故障存储控制器发送I/O请求;
通过所述DPU共享网卡对所述故障存储控制器进行链路状态检测,并根据检测结果判断所述故障存储控制器的故障上报是否属实;
若是,则更新所述连接映射表中所述故障存储控制器的状态为故障状态。
可选的,所述根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器,包括:
通过所述DPU共享网卡根据所有所述存储控制器的运行状态以及负载情况筛选出服务正常的目标存储控制器;
根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将分配给所述故障存储控制器的新I/O请求重新分配给所述目标存储控制器。
第二方面,本申请公开了一种多存储控制器故障切换装置,包括:
连接建立模块,用于建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接;
故障上报信息获取模块,用于通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息;
切换模块,用于通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的多存储控制器故障切换方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的多存储控制器故障切换方法。
本申请中,建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接;通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息;通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器。可见,通过分别建立DPU共享网卡与存储控制器之间的连接,以及DPU共享网卡与目标服务器之间的连接,在存储控制器故障时,利用DPU共享网卡具有的I/O路径故障切换功能,实现DPU为中心架构下的故障切换,且实现在DPU内部切换,做到服务器端无感知路径故障。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种多存储控制器故障切换方法流程图;
图2为本申请提供的一种多存储控制器故障切换系统结构示意图;
图3为现有技术中一种多存储控制器故障切换系统结构示意图;
图4为本申请提供的一种具体的多存储控制器故障切换方法流程图;
图5为本申请提供的一种具体的多存储控制器故障切换方法流程图;
图6为本申请提供的一种多存储控制器故障切换装置结构示意图;
图7为本申请提供的一种电子设备结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,以数据为中心的计算、存储、网络模型应运而生,DPU作为该模型的核心承载软硬件一体设备,通过提供丰富的软件可编程能力以获得更高的性能,降低软件堆栈的复杂性,并降低整体系统成本。而故障处理及切换作为保证运行的重要步骤,因此,如何在DPU为中心的架构下实现故障切换是目前亟需解决的问题。为克服上述技术问题,本申请提出一种多存储控制器故障切换方法,能够实现DPU为中心架构下的故障切换,且实现在DPU内部切换,做到服务器端无感知路径故障。
本申请实施例公开了一种多存储控制器故障切换方法,应用于DPU,参见图1所示,该方法可以包括以下步骤:
步骤S11:建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接。
本实施例中,首先建立存储系统内DPU共享网卡与存储系统内每个存储控制器之间的连接,即在存储系统初始化阶段,DPU共享网卡与连接的所有存储控制器建立连接,连接数等于存储控制器数n。同时,建立所述DPU共享网卡与目标服务器之间的连接,即当有服务器与存储建立连接时,DPU共享网卡与连接的所有服务器建立连接,连接数等于服务器数m。
本实施例中,所述建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,可以包括:在存储系统初始化阶段,分别建立所述存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的存储链路。即在DPU共享网卡与存储系统内每个存储控制器之间建立存储链路,以建立DPU共享网卡与存储控制器之间的连接。
本实施例中,所述建立所述DPU共享网卡与目标服务器之间的连接,可以包括:针对与所述存储系统建立连接的目标服务器,分别建立所述DPU共享网卡与每个所述目标服务器之间的主机链路。即建立DPU共享网卡与每个目标服务器之间的主机链路,以建立得到DPU共享网卡与目标服务器之间的连接,目标服务器为与存储系统建立连接的服务器。并且,DPU将n条存储链路与m条主机链路进行映射,对于任何一台主机,其链路数是1:n的关系。
步骤S12:通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息。
本实施例中,通过DPU共享网卡接收存储控制器中故障存储控制器发送的故障上报信息,上述故障存储控制器即为所有存储控制器中存在故障的存储控制器。也就是说,本实施例中当存储控制器出现故障无法提供I/O服务时,存储控制器将故障信息上报给DPU共享网卡,除此之外,该故障存储器还将故障信息上报给主存储节点,进行故障上报和告警,两次上报内容中的信息一致。
步骤S13:通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器。
本实施例中,DPU共享网卡接收到故障上报信息后,根据故障上报信息对故障存储控制器执行I/O路径切换操作,以便将目标服务器发送的新I/O请求分配至服务正常的存储控制器,即将原本应该发送到故障存储控制器处理的请求转发至其他正常运行的存储控制器处理。
由此一来,基于DPU的多存储控制器故障切换技术,应用在以数据为中心的新型存储架构中,提出的支持多存储控制器故障切换技术,采用软硬件协同设计应用在DPU为中心的存储设备中,在存储设备内部实现多存储节点对用户的一致性访问,提升了存储系统的性能和可靠性。
本实施例中,所述根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器,可以包括:通过所述DPU共享网卡根据所有所述存储控制器的运行状态以及负载情况筛选出服务正常的目标存储控制器;根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将分配给所述故障存储控制器的新I/O请求重新分配给所述目标存储控制器。即DPU根据可用存储链路及可用存储控制器负载情况,分配在途I/O到某个控制器中进行处理,由此在能保证请求的正常处理的基础上,避免存储控制器间负载不均衡的问题。
由上可见,本实施例中建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接;通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息;通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器。可见,通过分别建立DPU共享网卡与存储控制器之间的连接,以及DPU共享网卡与目标服务器之间的连接,在存储控制器故障时,利用DPU共享网卡具有的I/O路径故障切换功能,实现DPU为中心架构下的故障切换,且实现在DPU内部切换,做到服务器端无感知路径故障。
相应的,本申请实施例还公开了一种具体的多存储控制器故障切换系统,参见图2所示,以DPU为控制中心,实时获取存储控制器拥塞状态、故障状态信息,通过独特的链路管理机制、故障上报机制,实现高效的存储故障切换。基于DPU的多存储控制器系统硬件架构中,DPU使用多主机技术(Multi-host)可以通过计算机背板PCIe总线连接至多个存储控制器,从每个存储控制器都可以访问、使用DPU智能网卡,做到多存储控制器共享DPU。基于DPU的多存储控制器系统软件架构中,分为DPU软件和存储控制器软件两部分,本申请故障切换技术涉及上述两部分。核心技术是多控链路管理、多控拥塞故障上报、故障切换管理。多控链路管理技术在存储控制器与共享卡建立连接阶段和主机与共享卡建立连接阶段与传统网卡的多控方式不同,主机到共享卡是1条链路,共享卡到存储控制器是n条链路(n=存储控制器个数)。多控拥塞故障上报技术是当某个存储控制器出现故障时除了将故障上报给主存储节点外还需要将故障信息发送给DPU。故障切换管理则是当收到故障上报后检测与该控制器的链路状态,进行重传或故障切换操作等处理。
现有技术中,基于传统网卡的多存储控制器架构中,常采用图3所示的故障切换模式。即每个存储控制器都独占网卡,不存在共享网卡。当控制器1故障时,主机与控制器1的链路就不发使用,此时经由该链路的未完成的I/O就回超时,等待主机多路径软件进行重传处理,此过程消耗30秒以上。相比基于DPU的方案,存在如下缺点:1)该故障切换过程对于存储系统来说属于被动切换,消耗时间长,影响主机I/O性能和时延;2)多个存储与服务器存在多条路径,某个存储控制器故障,该路径不能使用。可见,本实施例通过主动切换路径,与传统的实现方式相比,能够有效降低存储控制器故障场景下,I/O处理实现效率,实现降低延时50%以上。
在上述实施例基础上,本申请实施例还公开了一种具体的多存储控制器故障切换方法,参见图4所示,该方法可以包括以下步骤:
步骤S21:建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接。
步骤S22:根据所述DPU共享网卡与所述存储控制器之间的连接关系,以及所述DPU共享网卡与所述目标服务器之间的连接关系,建立连接映射表。
本实施例中,在建立存储系统内DPU共享网卡与存储系统内每个存储控制器之间的连接,以及DPU共享网卡与目标服务器之间的连接后,根据DPU共享网卡与存储控制器之间的连接关系,以及DPU共享网卡与目标服务器之间的连接关系,建立连接映射表。
步骤S23:通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息。
步骤S24:通过所述DPU共享网卡根据所述故障上报信息,更新所述连接映射表中所述故障存储控制器的状态。
本实施例中,当DPU共享网卡获取到故障存储控制器上报的故障上报信息后,根据该故障上报信息,更新连接映射表中所述故障存储控制器的状态,以便DPU共享网卡根据连接映射表确定出故障存储控制器,并对故障存储控制器执行I/O路径切换操作。
本实施例中,所述通过所述DPU共享网卡根据所述故障上报信息,更新所述连接映射表中所述故障存储控制器的状态,可以包括:通过所述DPU共享网卡根据所述故障上报信息,标记所述连接映射表中所述故障存储控制器对应的链路的状态为待确认状态,且所述DPU共享网卡不向状态为待确认状态的故障存储控制器发送I/O请求;通过所述DPU共享网卡对所述故障存储控制器进行链路状态检测,并根据检测结果判断所述故障存储控制器的故障上报是否属实;若是,则更新所述连接映射表中所述故障存储控制器的状态为故障状态。
例如图5所示,DPU根据上报信息更新连接映射表,将出现故障的存储控制器和与其连接的存储链路标记故障待确认状态,此时新的I/O就不再下发到该故障存储控制器,此时先不执行I/O路径切换,即存储链路切换操作;DPU收到上报的存储控制器故障信息后,发送消息进行确认,如果属实则立刻更新连接映射表,标记为控制器故障,需要进行链路切换,此时再进行链路切换。其中,本实施例中可以通过配置DPU周期性检查DPU与故障存储控制器的链路状态,当对应的存储链路故障或拥塞时,基于链路信息进行,链路状态评估,链路信息包括但不限于可用连接数、缓冲区大小、CRC错误、误码率等,当确定故障属实后在进行切换,由此避免因为误报或误判而执行路径切换带来的资源浪费等问题,提高了故障切换的准确性。可见,通过实现一个共享的DPU智能网卡,构建一个DPU与主机、DPU与多个存储控制器连接映射表,利用连接映射表先标记再判断,先判断再更新,最后根据映射表的更新变化,进行I/O的路径切换的设计,提高了故障切换的准确性。
步骤S25:通过所述DPU共享网卡根据所述连接映射表确定出所述故障存储控制器,并对所述故障存储控制器执行I/O路径切换操作。
其中,关于上述步骤S21的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
由上可见,本实施例中建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接;根据所述DPU共享网卡与所述存储控制器之间的连接关系,以及所述DPU共享网卡与所述目标服务器之间的连接关系,建立连接映射表;通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息;通过所述DPU共享网卡根据所述故障上报信息,更新所述连接映射表中所述故障存储控制器的状态;通过所述DPU共享网卡根据所述连接映射表确定出所述故障存储控制器,并对所述故障存储控制器执行I/O路径切换操作。由此可见,通过实现一个共享的DPU智能网卡,构建一个DPU与主机、DPU与多个存储控制器连接映射表,利用连接映射表先标记再判断,先判断再更新,最后根据映射表的更新变化,进行I/O的路径切换的设计,提高了故障切换的准确性。
相应的,本申请实施例还公开了一种多存储控制器故障切换装置,参见图6所示,该装置包括:
连接建立模块11,用于建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接;
故障上报信息获取模块12,用于通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息;
切换模块13,用于通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器。
由上可见,本实施例中建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接;通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息;通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器。可见,通过分别建立DPU共享网卡与存储控制器之间的连接,以及DPU共享网卡与目标服务器之间的连接,在存储控制器故障时,利用DPU共享网卡具有的I/O路径故障切换功能,实现DPU为中心架构下的故障切换,且实现在DPU内部切换,做到服务器端无感知路径故障。
在一些具体实施例中,所述连接建立模块11具体可以包括:
存储链路建立单元,用于在存储系统初始化阶段,分别建立所述存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的存储链路。
在一些具体实施例中,所述连接建立模块11具体可以包括:
主机链路建立单元,用于针对与所述存储系统建立连接的目标服务器,分别建立所述DPU共享网卡与每个所述目标服务器之间的主机链路。
在一些具体实施例中,所述多存储控制器故障切换装置具体可以包括:
连接映射表建立单元,用于根据所述DPU共享网卡与所述存储控制器之间的连接关系,以及所述DPU共享网卡与所述目标服务器之间的连接关系,建立连接映射表。
在一些具体实施例中,所述多存储控制器故障切换装置具体可以包括:
状态更新单元,用于通过所述DPU共享网卡根据所述故障上报信息,更新所述连接映射表中所述故障存储控制器的状态;
相应的,所述切换模块13,包括
切换单元,用于通过所述DPU共享网卡根据所述连接映射表确定出所述故障存储控制器,并对所述故障存储控制器执行I/O路径切换操作。
在一些具体实施例中,所述状态更新单元具体可以包括:
标记单元,用于通过所述DPU共享网卡根据所述故障上报信息,标记所述连接映射表中所述故障存储控制器对应的链路的状态为待确认状态,且所述DPU共享网卡不向状态为待确认状态的故障存储控制器发送I/O请求;
检测单元,用于通过所述DPU共享网卡对所述故障存储控制器进行链路状态检测,并根据检测结果判断所述故障存储控制器的故障上报是否属实;
更新单元,用于若所述检测单元的检测结果为是,则更新所述连接映射表中所述故障存储控制器的状态为故障状态。
在一些具体实施例中,所述切换模块13具体可以包括:
筛选单元,用于通过所述DPU共享网卡根据所有所述存储控制器的运行状态以及负载情况筛选出服务正常的目标存储控制器;
切换单元,用于根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将分配给所述故障存储控制器的新I/O请求重新分配给所述目标存储控制器。
进一步的,本申请实施例还公开了一种电子设备,参见图7所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的多存储控制器故障切换方法中的相关步骤,包括建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接;通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息;通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器等步骤。可见,通过分别建立DPU共享网卡与存储控制器之间的连接,以及DPU共享网卡与目标服务器之间的连接,在存储控制器故障时,利用DPU共享网卡具有的I/O路径故障切换功能,实现DPU为中心架构下的故障切换,且实现在DPU内部切换,做到服务器端无感知路径故障。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括故障上报信息在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的多存储控制器故障切换方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的多存储控制器故障切换方法步骤,包括建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接;通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息;通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器等步骤。可见,通过分别建立DPU共享网卡与存储控制器之间的连接,以及DPU共享网卡与目标服务器之间的连接,在存储控制器故障时,利用DPU共享网卡具有的I/O路径故障切换功能,实现DPU为中心架构下的故障切换,且实现在DPU内部切换,做到服务器端无感知路径故障。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种多存储控制器故障切换方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种多存储控制器故障切换方法,其特征在于,包括:
建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接;
通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息;
通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器。
2.根据权利要求1所述的多存储控制器故障切换方法,其特征在于,所述建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,包括:
在存储系统初始化阶段,分别建立所述存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的存储链路。
3.根据权利要求1所述的多存储控制器故障切换方法,其特征在于,所述建立所述DPU共享网卡与目标服务器之间的连接,包括:
针对与所述存储系统建立连接的目标服务器,分别建立所述DPU共享网卡与每个所述目标服务器之间的主机链路。
4.根据权利要求1所述的多存储控制器故障切换方法,其特征在于,所述建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接之后,还包括:
根据所述DPU共享网卡与所述存储控制器之间的连接关系,以及所述DPU共享网卡与所述目标服务器之间的连接关系,建立连接映射表。
5.根据权利要求4所述的多存储控制器故障切换方法,其特征在于,所述通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息之后,还包括:
通过所述DPU共享网卡根据所述故障上报信息,更新所述连接映射表中所述故障存储控制器的状态;
相应的,所述通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,包括
通过所述DPU共享网卡根据所述连接映射表确定出所述故障存储控制器,并对所述故障存储控制器执行I/O路径切换操作。
6.根据权利要求5所述的多存储控制器故障切换方法,其特征在于,所述通过所述DPU共享网卡根据所述故障上报信息,更新所述连接映射表中所述故障存储控制器的状态,包括:
通过所述DPU共享网卡根据所述故障上报信息,标记所述连接映射表中所述故障存储控制器对应的链路的状态为待确认状态,且所述DPU共享网卡不向状态为待确认状态的故障存储控制器发送I/O请求;
通过所述DPU共享网卡对所述故障存储控制器进行链路状态检测,并根据检测结果判断所述故障存储控制器的故障上报是否属实;
若是,则更新所述连接映射表中所述故障存储控制器的状态为故障状态。
7.根据权利要求1至6任一项所述的多存储控制器故障切换方法,其特征在于,所述根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器,包括:
通过所述DPU共享网卡根据所有所述存储控制器的运行状态以及负载情况筛选出服务正常的目标存储控制器;
根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将分配给所述故障存储控制器的新I/O请求重新分配给所述目标存储控制器。
8.一种多存储控制器故障切换装置,其特征在于,包括:
连接建立模块,用于建立存储系统内DPU共享网卡与所述存储系统内每个存储控制器之间的连接,并建立所述DPU共享网卡与目标服务器之间的连接;
故障上报信息获取模块,用于通过所述DPU共享网卡接收所述存储控制器中故障存储控制器发送的故障上报信息;
切换模块,用于通过所述DPU共享网卡根据所述故障上报信息对所述故障存储控制器执行I/O路径切换操作,以便将所述目标服务器发送的新I/O请求分配至服务正常的存储控制器。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的多存储控制器故障切换方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至7任一项所述的多存储控制器故障切换方法。
CN202310301485.7A 2023-03-24 2023-03-24 一种多存储控制器故障切换方法、装置、设备及存储介质 Pending CN116340040A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310301485.7A CN116340040A (zh) 2023-03-24 2023-03-24 一种多存储控制器故障切换方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310301485.7A CN116340040A (zh) 2023-03-24 2023-03-24 一种多存储控制器故障切换方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116340040A true CN116340040A (zh) 2023-06-27

Family

ID=86883498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310301485.7A Pending CN116340040A (zh) 2023-03-24 2023-03-24 一种多存储控制器故障切换方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116340040A (zh)

Similar Documents

Publication Publication Date Title
US10983880B2 (en) Role designation in a high availability node
US9703608B2 (en) Variable configurations for workload distribution across multiple sites
US10826812B2 (en) Multiple quorum witness
US20130159487A1 (en) Migration of Virtual IP Addresses in a Failover Cluster
US10785350B2 (en) Heartbeat in failover cluster
CN111917846A (zh) 一种Kafka集群切换方法、装置、系统、电子设备及可读存储介质
US7813341B2 (en) Overhead reduction for multi-link networking environments
US11403319B2 (en) High-availability network device database synchronization
WO2021051570A1 (zh) 基于分布式集群的数据存储方法、及其相关设备
CN113037560A (zh) 业务流量切换方法及装置、存储介质、电子设备
US9742676B2 (en) Highly available servers
WO2012097588A1 (zh) 数据存储方法、设备和系统
US10587680B2 (en) Efficient transaction level workload management across multi-tier heterogeneous middleware clusters
EP4030736A1 (en) Load balancing system, method and apparatus, and storage medium
US10897402B2 (en) Statistics increment for multiple publishers
US8621260B1 (en) Site-level sub-cluster dependencies
CN102917068A (zh) 一种自适应大规模集群通信系统及其通信方法
CN113242299A (zh) 多数据中心的容灾系统、方法、计算机设备及介质
WO2023029485A1 (zh) 数据处理方法、装置、计算机设备及计算机可读存储介质
CN116340040A (zh) 一种多存储控制器故障切换方法、装置、设备及存储介质
US20150012663A1 (en) Increasing a data transfer rate
CN116074187A (zh) 主备链路切换方法及装置、电子设备、存储介质
CN112100008B (zh) 一种跨节点的多链路冗余保护方法及系统
CN214959613U (zh) 一种负载均衡设备
CN116938826B (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