CN116909494B - 服务器的存储切换方法和装置,以及服务器系统 - Google Patents
服务器的存储切换方法和装置,以及服务器系统 Download PDFInfo
- Publication number
- CN116909494B CN116909494B CN202311174102.0A CN202311174102A CN116909494B CN 116909494 B CN116909494 B CN 116909494B CN 202311174102 A CN202311174102 A CN 202311174102A CN 116909494 B CN116909494 B CN 116909494B
- Authority
- CN
- China
- Prior art keywords
- storage
- storage unit
- target
- server host
- storage device
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000001360 synchronised effect Effects 0.000 claims abstract description 29
- 238000001514 detection method Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 16
- 230000000694 effects Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 230000009977 dual effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
Abstract
本申请实施例提供了一种服务器的存储切换方法和装置,以及服务器系统,其中,服务器主机分别与第一存储设备和第二存储设备连接,第一存储设备的数据与第二存储设备的数据是实时同步的,该方法包括:检测服务器主机与第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态;根据目标链路状态确定第一存储单元的切换状态;在切换状态用于指示允许服务器主机切换第一存储单元的情况下,将服务器主机上所使用的第一存储单元切换为第二存储设备上与第一存储单元对应的第二存储单元。通过本申请,解决了服务器的存储切换效率较低的问题,进而达到了提高服务器的存储切换效率的效果。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种服务器的存储切换方法和装置,以及服务器系统。
背景技术
在传统的虚拟化与集中式存储融合的双活方案中,只有在构成双活的存储设备出现异常或故障时,才会通过容灾切换使得另一台存储设备可承接虚拟化层的业务,但这种双活切换的机制在存储设备出现性能下降时是不会触发的,这就导致目前触发双活切换的机制效率比较低,会影响双活方案的存储性能,也可能影响虚拟化层核心业务的运行。
针对相关技术中,服务器的存储切换效率较低等问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种服务器的存储切换方法和装置,以及服务器系统,以至少解决相关技术中服务器的存储切换效率较低的问题。
根据本申请的一个实施例,提供了一种服务器的存储切换方法,服务器主机分别与第一存储设备和第二存储设备连接,所述第一存储设备的数据与所述第二存储设备的数据是实时同步的,所述第一存储设备和所述第二存储设备均用于为所述服务器主机提供业务数据的存储服务,所述方法包括:
检测所述服务器主机与所述第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态,其中,所述目标链路状态用于指示所述每条目标存储路径的故障情况;
根据所述目标链路状态确定所述第一存储单元的切换状态,其中,所述切换状态用于指示是否允许所述服务器主机切换所述第一存储单元;
在所述切换状态用于指示允许所述服务器主机切换所述第一存储单元的情况下,将所述服务器主机上所使用的所述第一存储单元切换为所述第二存储设备上与所述第一存储单元对应的第二存储单元。
在一个示例性实施例中,所述检测所述服务器主机与所述第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态,包括:
获取所述服务器主机与所述第一存储设备之间的全部存储路径中每条存储路径的基本信息;
从所述基本信息中查找所述每条存储路径的状态信息;
将所述全部存储路径中属于所述第一存储单元的存储路径确定为所述目标存储路径,并将所述目标存储路径对应的所述状态信息确定为所述目标链路状态。
在一个示例性实施例中,所述获取所述服务器主机与所述第一存储设备之间的全部存储路径中每条存储路径的基本信息,包括:
访问所述服务器主机中的磁盘信息目录,其中,所述磁盘信息目录是所述服务器主机上部署的设备管理组件对所述服务器主机上每个存储路径映射的盘符进行检测得到的,所述磁盘信息目录中记录了具有对应关系的盘符和基本信息。
在一个示例性实施例中,所述从所述基本信息中查找所述每条存储路径的状态信息,包括:
从所述磁盘信息目录中查找每个盘符对应的基本信息中的状态信息,其中,所述状态信息包括离线状态和在线状态;
将每个盘符转换为对应的磁盘标识,得到具有对应关系的磁盘标识和状态信息,其中,所述磁盘标识用于唯一标识所述第一存储设备上的存储单元。
在一个示例性实施例中,所述将所述全部存储路径中属于所述第一存储单元的存储路径确定为所述目标存储路径,并将所述目标存储路径对应的所述状态信息确定为所述目标链路状态,包括:
将所述全部存储路径中所对应的所述磁盘标识为所述第一存储单元的目标磁盘标识的存储路径确定为所述目标存储路径;
将所述目标存储路径对应的所述状态信息确定为所述目标链路状态。
在一个示例性实施例中,所述检测服务器主机与第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态,包括以下之一:
检测所述第一存储设备上的每个存储单元的多条存储路径中每条存储路径的所述链路状态,其中,所述第一存储单元包括所述第一存储设备上的每个存储单元;
检测所述第一存储设备上的参考存储单元的所述多条存储路径中每条存储路径的所述链路状态,其中,所述第一存储单元包括所述参考存储单元,所述参考存储单元是所述第一存储设备上启动了存储切换机制的存储单元。
在一个示例性实施例中,所述根据所述链路状态确定所述第一存储单元的切换状态,包括:
确定所述链路状态为离线状态的目标存储路径的目标数量;
将所述目标数量与所述第一存储单元对应的数量阈值进行比对,得到比对结果;
根据所述比对结果确定所述第一存储单元的切换状态。
在一个示例性实施例中,所述根据所述比对结果确定所述第一存储单元的切换状态,包括:
在所述比对结果为所述目标数量大于或者等于所述数量阈值的情况下,确定所述切换状态用于指示允许所述服务器主机切换所述第一存储单元;
在所述比对结果为所述目标数量小于所述数量阈值的情况下,确定所述切换状态用于指示不允许所述服务器主机切换所述第一存储单元。
在一个示例性实施例中,在所述将所述目标数量与所述第一存储单元对应的数量阈值进行比对之前,所述方法还包括:
获取所述多条目标存储路径的总数量和所述第一存储单元的历史故障信息;
根据所述总数量和所述历史故障信息确定所述第一存储单元对应的所述数量阈值。
在一个示例性实施例中,所述将所述服务器主机上所使用的所述第一存储单元切换为所述服务器主机所连接的第二存储设备上与所述第一存储单元对应的第二存储单元,包括:
从所述第二存储设备上确定与所述第一存储单元的数据实时同步的存储单元为所述第一存储单元对应的所述第二存储单元;
将所述服务器主机上的所述第一存储单元的第一磁盘标识替换为所述第二存储单元的第二磁盘标识。
在一个示例性实施例中,所述将所述服务器主机上的所述第一存储单元的第一磁盘标识替换为所述第二存储单元的第二磁盘标识,包括:
获取所述服务器主机的数据库表;
从所述数据库表中查找所述第一磁盘标识;
将查找到的所述第一磁盘标识替换为所述第二磁盘标识。
根据本申请的另一个实施例,提供了一种服务器系统,包括:服务器主机,第一存储设备和第二存储设备,其中,所述服务器主机分别与所述第一存储设备和所述第二存储设备连接,所述第一存储设备的数据与所述第二存储设备的数据是实时同步的;
所述第一存储设备和所述第二存储设备均用于为所述服务器主机提供业务数据的存储服务;
所述服务器主机,用于检测与第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态,其中,所述目标链路状态用于指示所述每条目标存储路径的故障情况;根据所述目标链路状态确定所述第一存储单元的切换状态,其中,所述切换状态用于指示是否允许所述服务器主机切换所述第一存储单元;在所述切换状态用于指示允许所述服务器主机切换所述第一存储单元的情况下,将所使用的所述第一存储单元切换为所述第二存储设备上与所述第一存储单元对应的第二存储单元。
在一个示例性实施例中,所述服务器主机,用于:
获取与所述第一存储设备之间的全部存储路径中每条存储路径的基本信息;
从所述基本信息中查找所述每条存储路径的状态信息;
将所述全部存储路径中属于所述第一存储单元的存储路径确定为所述目标存储路径,并将所述目标存储路径对应的所述状态信息确定为所述目标链路状态。
在一个示例性实施例中,所述服务器主机中部署了设备管理组件,其中,所述服务器主机用于:访问磁盘信息目录,其中,所述磁盘信息目录是所述设备管理组件对所述服务器主机上每个存储路径映射的盘符进行检测得到的,所述磁盘信息目录中记录了具有对应关系的盘符和基本信息。
在一个示例性实施例中,所述服务器主机,用于:
从所述磁盘信息目录中查找每个盘符对应的基本信息中的状态信息,其中,所述状态信息包括离线状态和在线状态;
将每个盘符转换为对应的磁盘标识,得到具有对应关系的磁盘标识和状态信息,其中,所述磁盘标识用于唯一标识所述第一存储设备上的存储单元。
在一个示例性实施例中,所述服务器主机,用于:
将所述全部存储路径中所对应的所述磁盘标识为所述第一存储单元的目标磁盘标识的存储路径确定为所述目标存储路径;
将所述目标存储路径对应的所述状态信息确定为所述目标链路状态。
在一个示例性实施例中,所述服务器主机,用于以下之一:
检测所述第一存储设备上的每个存储单元的多条存储路径中每条存储路径的所述链路状态,其中,所述第一存储单元包括所述第一存储设备上的每个存储单元;
检测所述第一存储设备上的参考存储单元的所述多条存储路径中每条存储路径的所述链路状态,其中,所述第一存储单元包括所述参考存储单元,所述参考存储单元是所述第一存储设备上启动了存储切换机制的存储单元。
在一个示例性实施例中,所述服务器主机,用于:
确定所述链路状态为离线状态的目标存储路径的目标数量;
将所述目标数量与所述第一存储单元对应的数量阈值进行比对,得到比对结果;
根据所述比对结果确定所述第一存储单元的切换状态。
在一个示例性实施例中,所述服务器主机,用于:
在所述比对结果为所述目标数量大于或者等于所述数量阈值的情况下,确定所述切换状态用于指示允许所述服务器主机切换所述第一存储单元;
在所述比对结果为所述目标数量小于所述数量阈值的情况下,确定所述切换状态用于指示不允许所述服务器主机切换所述第一存储单元。
在一个示例性实施例中,所述服务器主机,还用于:
在所述将所述目标数量与所述第一存储单元对应的数量阈值进行比对之前,获取所述多条目标存储路径的总数量和所述第一存储单元的历史故障信息;
根据所述总数量和所述历史故障信息确定所述第一存储单元对应的所述数量阈值。
在一个示例性实施例中,所述服务器主机,用于:
从所述第二存储设备上确定与所述第一存储单元的数据实时同步的存储单元为所述第一存储单元对应的所述第二存储单元;
将所述服务器主机上的所述第一存储单元的第一磁盘标识替换为所述第二存储单元的第二磁盘标识。
在一个示例性实施例中,所述服务器主机上部署了数据库表,其中,所述服务器主机,用于:获取所述数据库表;从所述数据库表中查找所述第一磁盘标识;将查找到的所述第一磁盘标识替换为所述第二磁盘标识。
根据本申请的另一个实施例,提供了一种服务器的存储切换装置,服务器主机分别与第一存储设备和第二存储设备连接,所述第一存储设备的数据与所述第二存储设备的数据是实时同步的,所述第一存储设备和所述第二存储设备均用于为所述服务器主机提供业务数据的存储服务,所述装置包括:
检测模块,用于检测所述服务器主机与所述第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态,其中,所述目标链路状态用于指示所述每条目标存储路径的故障情况;
第一确定模块,用于根据所述目标链路状态确定所述第一存储单元的切换状态,其中,所述切换状态用于指示是否允许所述服务器主机切换所述第一存储单元;
切换模块,用于在所述切换状态用于指示允许所述服务器主机切换所述第一存储单元的情况下,将所述服务器主机上所使用的所述第一存储单元切换为所述第二存储设备上与所述第一存储单元对应的第二存储单元,其中,所述第二存储设备用于为所述服务器主机提供业务数据的存储服务。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,服务器主机分别连接了第一存储设备和第二存储设备,第一存储设备与第二存储设备均用于为服务器主机提供业务数据的存储服务,并且第一存储设备的数据与第二存储设备的数据是实时同步的,从而形成了服务器主机的双活存储架构,在该架构下对服务器主机与第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态进行检测,从而得知每条目标存储路径的故障情况,再根据目标链路状态确定第一存储单元的切换状态来确定出是否允许服务器主机切换第一存储单元,如果切换状态用于指示允许服务器主机切换第一存储单元,则将服务器主机上所使用的第一存储单元切换为服务器主机所连接的第二存储设备上与第一存储单元对应的第二存储单元,从而通过存储单元级别的存储切换实现依据链路状态触发双活切换的机制的过程,从而使得存储设备的切换维度更细致,切换感知更加灵敏,存储链路的故障问题不会影响到为服务器提供的存储服务的存储性能,也不会影响到业务的运行,因此,可以解决服务器的存储切换效率较低的问题,达到提高服务器的存储切换效率的技术效果。
附图说明
图1是本申请实施例的一种服务器的存储切换方法的服务器主机的硬件结构框图;
图2是根据本申请实施例的服务器的存储切换方法的流程图;
图3是根据本申请实施例的一种服务器主机多存储路径的示意图;
图4是根据本申请可选实施例的一种基于多存储路径故障检测自动切换存储的虚拟化容灾方案的示意图;
图5是根据本申请实施例的服务器的存储切换系统的结构框图;
图6是根据本申请实施例的一种服务器系统的示意图;
图7是根据本申请实施例的存储单元对应关系的示意图;
图8是根据本申请实施例的服务器的存储切换装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在服务器设备,服务器主机或者类似的运算装置中执行。以运行在服务器主机上为例,图1是本申请实施例的一种服务器的存储切换方法的服务器主机的硬件结构框图。如图1所示,服务器主机可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述服务器主机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器主机的结构造成限定。例如,服务器主机还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的服务器的存储切换方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器主机。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器主机的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种服务器的存储切换方法,服务器主机分别与第一存储设备和第二存储设备连接,第一存储设备的数据与第二存储设备的数据是实时同步的,第一存储设备和第二存储设备均用于为服务器主机提供业务数据的存储服务,图2是根据本申请实施例的服务器的存储切换方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,检测服务器主机与第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态,其中,所述目标链路状态用于指示所述每条目标存储路径的故障情况;
步骤S204,根据所述目标链路状态确定所述第一存储单元的切换状态,其中,所述切换状态用于指示是否允许所述服务器主机切换所述第一存储单元;
步骤S206,在所述切换状态用于指示允许所述服务器主机切换所述第一存储单元的情况下,将所述服务器主机上所使用的所述第一存储单元切换为所述第二存储设备上与所述第一存储单元对应的第二存储单元。
通过上述步骤,服务器主机分别连接了第一存储设备和第二存储设备,第一存储设备与第二存储设备均用于为服务器主机提供业务数据的存储服务,并且第一存储设备的数据与第二存储设备的数据是实时同步的,从而形成了服务器主机的双活存储架构,在该架构下对服务器主机与第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态进行检测,从而得知每条目标存储路径的故障情况,再根据目标链路状态确定第一存储单元的切换状态来确定出是否允许服务器主机切换第一存储单元,如果切换状态用于指示允许服务器主机切换第一存储单元,则将服务器主机上所使用的第一存储单元切换为服务器主机所连接的第二存储设备上与第一存储单元对应的第二存储单元,从而通过存储单元级别的存储切换实现依据链路状态触发双活切换的机制的过程,从而使得存储设备的切换维度更细致,切换感知更加灵敏,存储链路的故障问题不会影响到为服务器提供的存储服务的存储性能,也不会影响到业务的运行,因此,可以解决服务器的存储切换效率较低的问题,达到提高服务器的存储切换效率的技术效果。
其中,上述服务器的存储切换方法可以但不限于应用于上述服务器主机,比如:可以应用于服务器主机的虚拟化层;上述服务器的存储切换方法还可以但不限于应用于独立于上述服务器主机的设备,装置或者应用等等,比如:BMC(基板管理控制器,BaseboardManagement Controller),或者专门用于实现上述服务器的存储切换功能的产品,但不限于此。
在上述步骤S202提供的技术方案中,服务器主机连接的每个存储设备(可以是第一存储设备,也可以是第二存储设备)上的每个存储单元与服务器主机之间可以形成多条存储路径,比如:服务器主机可以但不限于通过多个HBA(Host Bus Adapter,主机总线适配器)与交换机连接,再由交换机通过多个端口连接至第一存储设备上的每个存储单元。
如果存储设备、交换机的端口及运行虚拟化的服务器主机的链路出现故障、HBA卡异常或者存储控制器异常,存储路径的数量将会成倍减少,在本实施例中则可以触发双活切换,从而使得存储路径的数量减少不会影响到虚拟化层的IO(Input/Output,输入/输出)下发及带宽等性能,从而也不会影响到虚拟化层核心业务的运行。
可选的,在本实施例中,第一存储设备用于为所述服务器主机提供业务数据的存储服务,该第一存储设备可以但不限于包括集中式存储设备,分布式存储设备等等。
可选的,在本实施例中,存储设备上的存储单元(比如第一存储单元)可以但不限于包括磁盘(LUN),存储通道,存储颗粒,存储条等等。
在一个可选的实施方式中,提供了一种服务器主机多存储路径的连接方式,图3是根据本申请实施例的一种服务器主机多存储路径的示意图,如图3所示,以第一存储设备为集中式存储设备,交换机为FC(Fiber Channel,光纤通道)交换机为例,主机S(即上述服务器主机)到集中式存储设备之间的IO有多条路径可以选择,集中式存储设备中的LUN(磁盘,相当于上述第一存储单元)通过FC交换机到主机(S1-S3)上,会通过多条路径映射过来。以主机S2为例,集中式存储设备中的一个LUN映射给S2主机,可以形成四条路径如下:
集中式存储设备—A—FC交换机—1—S2的HBA卡;
集中式存储设备—A—FC交换机—2—S2的HBA卡;
集中式存储设备—B—FC交换机—1—S2的HBA卡;
集中式存储设备—B—FC交换机—2—S2的HBA卡;
如果将该LUN作为上述被检测的第一存储单元,那么可以检测路径“集中式存储设备—A—FC交换机—1—S2的HBA卡”的目标链路状态,路径“集中式存储设备—A—FC交换机—2—S2的HBA卡”的目标链路状态,路径“集中式存储设备—B—FC交换机—1—S2的HBA卡”的目标链路状态,以及路径“集中式存储设备—B—FC交换机—2—S2的HBA卡”的目标链路状态。
在一个示例性实施例中,在上述步骤S202中,可以但不限于通过以下方式检测服务器主机与第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态:获取服务器主机与第一存储设备之间的全部存储路径中每条存储路径的基本信息;从基本信息中查找每条存储路径的状态信息;将全部存储路径中属于第一存储单元的存储路径确定为目标存储路径,并将目标存储路径对应的状态信息确定为目标链路状态。
可选的,在本实施例中,可以但不限于检测服务器主机与第一存储设备之间的全部存储路径中每条存储路径的链路状态,再从中区分出哪些存储路径是属于第一存储单元的存储路径,将属于第一存储单元的存储路径的链路状态确定为目标链路状态。
可选的,在本实施例中,服务器主机中会记录每条存储路径的基本信息,可以但不限于根据其中用于指示存储路径的传输状态的状态信息确定其链路状态。
可选的,在本实施例中,用于指示存储路径的传输状态的状态信息可以但不限于划分为离线状态和在线状态,也可以划分为畅通状态和堵塞状态,离线状态或者堵塞状态可以指示该存储路径出现故障,在线状态或者畅通状态可以指示该存储路径正常使用。
可选的,在本实施例中,可以但不限于通过轮询的方式检测存储单元的基本信息中的状态信息。
在一个示例性实施例中,在上述步骤S202中,可以但不限于通过以下方式获取服务器主机与第一存储设备之间的全部存储路径中每条存储路径的基本信息:访问服务器主机中的磁盘信息目录,其中,磁盘信息目录是服务器主机上部署的设备管理组件对服务器主机上每个存储路径映射的盘符进行检测得到的,磁盘信息目录中记录了具有对应关系的盘符和基本信息。
可选的,在本实施例中,服务器主机中具有磁盘信息目录,该磁盘信息目录可以但不限于是服务器主机上部署的设备管理组件对服务器主机上每个存储路径映射的盘符进行检测得到的,该设备管理组件可以但不限于包括udev组件,其可以但不限于部署在服务器主机的虚拟化底层的操作系统中,该组件在底层形成各个存储路径映射的磁盘的基本信息,其中就包括磁盘的状态信息,因此针对同一个磁盘形成的多个盘符,会有多个磁盘的基本信息和状态信息。插件会将磁盘的盘符和基本信息反馈给虚拟化层形成磁盘信息目录,虚拟化层便可访问该磁盘信息目录来获取到每条存储路径的基本信息。
在上述可选的实施方式中,每条存储路径映射到S2上都会形成一个盘符sdX,如上面四条路径会形成sda、sdb、sdc、sdd四个盘符,但该四个盘符均代表同一个LUN信息,磁盘标识(SCSI ID)是一致的。比如,2路径发生故障时,可能是2路径对应的HBA卡异常,也可能是2路径对应的FC交换机的端口出现故障,此时,LUN映射到S2主机上的路径就只剩下2条。因此,磁盘的存储路径一般都是成倍减少的。
在一个示例性实施例中,在上述步骤S202中,可以但不限于通过以下方式从基本信息中查找每条存储路径的状态信息:从磁盘信息目录中查找每个盘符对应的基本信息中的状态信息,其中,状态信息包括离线状态和在线状态;将每个盘符转换为对应的磁盘标识,得到具有对应关系的磁盘标识和状态信息,其中,磁盘标识用于唯一标识第一存储设备上的存储单元。
可选的,在本实施例中,磁盘标识可以但不限于是基本信息中的一部分,其可以但不限于为SCSI ID(小型计算机系统接口标识),磁盘标识用于唯一标识第一存储设备上的存储单元。将每个盘符转换为对应的磁盘标识可以但不限于是从基本信息中查找出SCSIID作为磁盘标识。
在一个示例性实施例中,在上述步骤S202中,可以但不限于通过以下方式将全部存储路径中属于第一存储单元的存储路径确定为目标存储路径,并将目标存储路径对应的状态信息确定为目标链路状态:将全部存储路径中所对应的磁盘标识为第一存储单元的目标磁盘标识的存储路径确定为目标存储路径;将目标存储路径对应的状态信息确定为目标链路状态。
可选的,在本实施例中,可以但不限于通过磁盘标识来统计哪些存储路径是第一存储单元的目标存储路径。
可选的,在本实施例中,虚拟化层会统计各个磁盘对应的底层链路(即上述存储路径)的状态信息,统计故障链路数(即状态信息为离线状态的数量)。通过在虚拟化系统中打开多路径切换存储开关,设置可承受的故障链路数,即数量阈值,当故障链路数超过设定的数量阈值且三个反馈周期内均超过该阈值,则自动触发切换。
在一个示例性实施例中,在上述步骤S202中,可以但不限于通过以下方式之一检测服务器主机与第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态:
检测第一存储设备上的每个存储单元的多条存储路径中每条存储路径的链路状态,其中,第一存储单元包括第一存储设备上的每个存储单元;
检测第一存储设备上的参考存储单元的多条存储路径中每条存储路径的链路状态,其中,第一存储单元包括参考存储单元,参考存储单元是第一存储设备上启动了存储切换机制的存储单元。
可选的,在本实施例中,被检测链路状态的第一存储单元可以是存储设备上的每个存储单元,也可以设置切换机制的开关,对于有需求的参考存储单元启动该机制来作为被检测的第一存储单元。
可选的,在本实施例中,可以但不限于采用轮询的方式,实时检测各个存储设备对应的磁盘的链路状态,检测链路是否正常连接,若存在故障链路,及时反馈上报虚拟化平台,并产生对应磁盘的告警信息。
在上述步骤S204提供的技术方案中,目标链路状态对于切换状态的影响或者确定方式可以但不限于包括各种能够表示存储单元使用情况,故障情况,数据同步情况,以及业务处理影响的维度,比如:发生故障的存储路径的数量,存储路径的故障位置等等。
可选的,在本实施例中,还可以但不限于依据达到目标链路状态为故障状态的存储路径的数量超过数量阈值的情况发生的持续时长来确定是否允许服务器主机切换第一存储单元,比如:在首次检测到达到目标链路状态为故障状态的存储路径的数量超过数量阈值时保持第一存储单元的使用,在检测到其超过数量阈值多个检测周期(比如三个)时再确定第一存储单元的切换状态用于指示允许所述服务器主机切换第一存储单元。
在一个示例性实施例中,在上述步骤S204中,可以但不限于通过以下方式根据链路状态确定第一存储单元的切换状态:确定链路状态为离线状态的目标存储路径的目标数量;将目标数量与第一存储单元对应的数量阈值进行比对,得到比对结果;根据比对结果确定第一存储单元的切换状态。
可选的,在本实施例中,链路状态为离线状态的目标存储路径可以被看做是发生了故障的存储路径,统计其数量并与数量阈值进行比对,根据得到的比对结果确定是否切换第一存储单元,从而及时发现存储单元的故障隐患,降低其故障对于业务处理的影响。
在一个示例性实施例中,在上述步骤S204中,可以但不限于通过以下方式根据比对结果确定第一存储单元的切换状态:在比对结果为目标数量大于或者等于数量阈值的情况下,确定切换状态用于指示允许服务器主机切换第一存储单元;在比对结果为目标数量小于数量阈值的情况下,确定切换状态用于指示不允许服务器主机切换第一存储单元。
可选的,在本实施例中,如果比对结果为目标数量超出了数量阈值或者目标数量达到了数量阈值,则可以判定为需要对第一存储单元进行切换,将切换状态确定为用于指示允许服务器主机切换第一存储单元。如果比对结果为目标数量未超出数量阈值,则可以判定为不需要对第一存储单元进行切换,将切换状态确定为用于指示不允许服务器主机切换第一存储单元。
在一个示例性实施例中,在上述步骤S204之前,可以但不限于通过以下方式得到第一存储单元对应的数量阈值:获取多条目标存储路径的总数量和第一存储单元的历史故障信息;根据总数量和历史故障信息确定第一存储单元对应的数量阈值。
可选的,在本实施例中,数量阈值可以但不限于为固定值,也可以是根据第一存储单元的使用情况变化的。不同的存储单元可以配置不同的数量阈值。
可选的,在本实施例中,可以但不限于依据第一存储单元所具有的目标存储路径的总数量以及第一存储单元的历史故障信息来确定第一存储单元对应的数量阈值。比如:目标存储路径的总数量可以与数量阈值成正比,目标存储路径的总数量越大数量阈值越大,历史故障信息可以但不限于用于指示第一存储单元的故障频率,最近故障时间,历史故障的严重程度等等,故障频率越高数量阈值可以越小,最近故障时间越近数量阈值可以越大,历史故障的严重程度越高数量阈值可以越小。
可选的,在本实施例中,确定第一存储单元对应的所述数量阈值的方式可以但不限于包括:函数,预训练的模型,优化算法等等。可以但不限于将总数量和历史故障信息代入函数中计算数量阈值。或者可以但不限于将总数量和历史故障信息作为输入数据输入至预训练的模型中得到模型输出的数量阈值。或者还可以但不限于将总数量和历史故障信息作为初始参数输入至优化算法中得到优化算法输出的数量阈值。
可选的,在本实施例中,通过在虚拟化系统中配置多路径策略,引入多路径故障检测方案,实时检测存储单元的存储路径的链路状态,针对存储单元的多路径设置故障阈值(即数量阈值),在故障的路径数量(即目标数量)达到设定阈值时,自动触发存储单元的切换方案,被替换的存储单元对应的服务器主机上的磁盘信息(即数据库表中的信息)可以在更改存储后端方案的执行下,完成底层磁盘的重映射,保证虚拟化系统中业务的正常运行。
在上述步骤S206提供的技术方案中,如果第一存储单元达到了可以切换的状态,即切换状态用于指示允许服务器主机切换第一存储单元,则可以通过存储单元的切换使得第一存储设备使用第一存储单元的场景全部替换为使用第二存储单元。
可选的,在本实施例中,第二存储设备也用于为服务器主机提供业务数据的存储服务,第一存储设备的数据与第二存储设备的数据是实时同步的。第一存储设备和第二存储设备可以是主备存储设备的关系,比如:第一存储设备为主用存储设备,第二存储设备为备用存储设备。第一存储设备和第二存储设备也可以是双活的存储设备。即第一存储设备和第二存储设备同时为服务器主机处理业务。
在一个示例性实施例中,在上述步骤S206中,可以但不限于通过以下方式将服务器主机上所使用的第一存储单元切换为服务器主机所连接的第二存储设备上与第一存储单元对应的第二存储单元:从第二存储设备上确定与第一存储单元的数据实时同步的存储单元为第一存储单元对应的第二存储单元;将服务器主机上的第一存储单元的第一磁盘标识替换为第二存储单元的第二磁盘标识。
可选的,在本实施例中,第一存储设备的数据与第二存储设备的数据是实时同步的,第一存储设备中的每个存储单元均在第二存储设备中具有与其实时同步的的存储单元,确定出第二存储设备上与第一存储单元的数据实时同步的第二存储单元,并将服务器主机上的第一存储单元的第一磁盘标识均替换为第二存储单元的第二磁盘标识,从而实现存储的切换。
在一个示例性实施例中,在上述步骤S206中,可以但不限于通过以下方式将服务器主机上的第一存储单元的第一磁盘标识替换为第二存储单元的第二磁盘标识:获取服务器主机的数据库表;从数据库表中查找第一磁盘标识;将查找到的第一磁盘标识替换为第二磁盘标识。
可选的,在本实施例中,服务器主机上通过维护数据库表将连接的存储设备作为数据库实现存储设备的使用,数据库表中记录了每个存储单元的使用和管理的方式,通过将数据库表中的第一磁盘标识替换为第二磁盘标识可以使得服务器主机原本使用第一存储单元的场景全部转换为使用第二存储单元,从而完成存储的快速切换。
可选的,在本实施例中,底层相对应的磁盘已完成数据实时同步,通过虚拟化平台进行数据库表中字段替换,变更存储对应的磁盘的SCSI ID(即磁盘标识),从而使存储设备底层的实际指向发生改变,完成存储后端的切换,数据库表修改时间极短,业务几乎无感知,从而也保证了业务稳定连续运行。
在一个可选实施例中,提供了一种基于多路径故障检测自动切换存储的虚拟化容灾方案,通过增加存储单元的多存储路径的故障检测机制,实时反馈存储单元的多存储路径的状态信息,在虚拟化平台中设置多存储路径的故障阈值,当故障路径数达到该故障阈值时,启动自动的切换方案,将存储设备对应的底层LUN映射到对应的双活存储设备上的LUN中,对应的LUN已通过双活存储策略保证了数据的完整性和一致性,这样可快速切换,保证核心业务的连续性,大大提高系统的稳定性和容灾能力。
图4是根据本申请可选实施例的一种基于多存储路径故障检测自动切换存储的虚拟化容灾方案的示意图,如图4所示,该方案可以但不限于包括以下过程:
首先,在虚拟化平台中打开多存储路径故障切换的开关(即启动全部或者部分存储单元的存储切换机制),设置多存储路径故障的数量阈值,即可以容忍的路径故障数量;
然后,服务器主机上的设备管理组件进行各个存储路径的基本信息采集,服务器主机的虚拟化层可以实时查询所有磁盘的状态信息,进行数据的统计和汇总;
此外,根据统计的多存储路径的故障路径数与故障阈值进行比对,若达不到故障阈值,则继续进行检测,进行下一轮的信息比对;若达到了故障阈值,则等待三个反馈周期,仍满足条件则启动存储后端自动切换的功能;
然后,自动进行存储后端的切换,自动梳理需要切换的两个LUN的基本信息,在数据库表中做SCSI ID的替换;
最后,查看任务信息,在存储后端切换完成后,进行虚拟化层的业务巡查,保证核心业务的稳定持续运行。
在上述过程中,为提升虚拟化系统的稳定性,减轻由于链路故障、交换机异常等硬件问题导致的虚拟化系统异常,提供连续、稳定、可靠的业务,提出了一种基于多存储路径故障检测自动切换存储的虚拟化容灾方案。该方案持续对存储设备中存储单元的存储路径进行故障检测,一旦发生链路故障,且达到故障链路的设定阈值,即存在数据丢失及业务运行不稳定的风险时,自动启动更改底层存储设备对应的磁盘的映射关系,更改存储后端磁盘,在极短的IO延迟下,完成故障切换,重新建立稳定的链路连接,保证核心业务系统正常运行。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种服务器系统,图5是根据本申请实施例的服务器的存储切换系统的结构框图,如图5所示,该系统包括:服务器主机502,第一存储设备504和第二存储设备506,其中,服务器主机502分别与第一存储设备504和第二存储设备506连接,第一存储设备504的数据与第二存储设备506的数据是实时同步的;第一存储设备504和第二存储设备506均用于为服务器主机502提供业务数据的存储服务;服务器主机502,用于检测与第一存储设备504上的第一存储单元508之间的多条目标存储路径中每条目标存储路径的目标链路状态,其中,目标链路状态用于指示每条目标存储路径的故障情况;根据目标链路状态确定第一存储单元508的切换状态,其中,切换状态用于指示是否允许服务器主机502切换第一存储单元508;在切换状态用于指示允许服务器主机502切换第一存储单元508的情况下,将所使用的第一存储单元508切换为第二存储设备506上与第一存储单元508对应的第二存储单元510。
通过上述系统,服务器主机分别连接了第一存储设备和第二存储设备,第一存储设备与第二存储设备均用于为服务器主机提供业务数据的存储服务,并且第一存储设备的数据与第二存储设备的数据是实时同步的,从而形成了服务器主机的双活存储架构,在该架构下对服务器主机与第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态进行检测,从而得知每条目标存储路径的故障情况,再根据目标链路状态确定第一存储单元的切换状态来确定出是否允许服务器主机切换第一存储单元,如果切换状态用于指示允许服务器主机切换第一存储单元,则将服务器主机上所使用的第一存储单元切换为服务器主机所连接的第二存储设备上与第一存储单元对应的第二存储单元,从而通过存储单元级别的存储切换实现依据链路状态触发双活切换的机制的过程,从而使得存储设备的切换维度更细致,切换感知更加灵敏,存储链路的故障问题不会影响到为服务器提供的存储服务的存储性能,也不会影响到业务的运行,因此,可以解决服务器的存储切换效率较低的问题,达到提高服务器的存储切换效率的技术效果。
可选的,在本实施例中,服务器主机可以但不限于通过交换机与存储设备连接,交换机可以但不限于包括FC交换机,存储设备可以但不限于包括集中式存储设备。图6是根据本申请实施例的一种服务器系统的示意图,如图6所示,服务器主机S通过两个HBA分别连接两个FC交换机,每个FC交换机连接一个集中式存储设备,两个集中式存储设备之间数据实时同步,当检测到LUN1(相当于第一存储单元)需要切换时,可以使用LNU2(相当于第二存储单元)替换LUN1。切换完成后,可以将多路径告警信息消除,产生存储后端自动切换完成的提示信息。
在一个示例性实施例中,服务器主机,用于:获取与第一存储设备之间的全部存储路径中每条存储路径的基本信息;从基本信息中查找每条存储路径的状态信息;将全部存储路径中属于第一存储单元的存储路径确定为目标存储路径,并将目标存储路径对应的状态信息确定为目标链路状态。
在一个示例性实施例中,服务器主机中部署了设备管理组件,其中,服务器主机用于:访问磁盘信息目录,其中,磁盘信息目录是设备管理组件对服务器主机上每个存储路径映射的盘符进行检测得到的,磁盘信息目录中记录了具有对应关系的盘符和基本信息。
在一个示例性实施例中,服务器主机,用于:
从磁盘信息目录中查找每个盘符对应的基本信息中的状态信息,其中,状态信息包括离线状态和在线状态;
将每个盘符转换为对应的磁盘标识,得到具有对应关系的磁盘标识和状态信息,其中,磁盘标识用于唯一标识第一存储设备上的存储单元。
在一个示例性实施例中,服务器主机,用于:
将全部存储路径中所对应的磁盘标识为第一存储单元的目标磁盘标识的存储路径确定为目标存储路径;
将目标存储路径对应的状态信息确定为目标链路状态。
在一个示例性实施例中,服务器主机,用于以下之一:
检测第一存储设备上的每个存储单元的多条存储路径中每条存储路径的链路状态,其中,第一存储单元包括第一存储设备上的每个存储单元;
检测第一存储设备上的参考存储单元的多条存储路径中每条存储路径的链路状态,其中,第一存储单元包括参考存储单元,参考存储单元是第一存储设备上启动了存储切换机制的存储单元。
在一个示例性实施例中,服务器主机,用于:
确定链路状态为离线状态的目标存储路径的目标数量;
将目标数量与第一存储单元对应的数量阈值进行比对,得到比对结果;
根据比对结果确定第一存储单元的切换状态。
在一个示例性实施例中,服务器主机,用于:
在比对结果为目标数量大于或者等于数量阈值的情况下,确定切换状态用于指示允许服务器主机切换第一存储单元;
在比对结果为目标数量小于数量阈值的情况下,确定切换状态用于指示不允许服务器主机切换第一存储单元。
在一个示例性实施例中,服务器主机,还用于:
在将目标数量与第一存储单元对应的数量阈值进行比对之前,获取多条目标存储路径的总数量和第一存储单元的历史故障信息;
根据总数量和历史故障信息确定第一存储单元对应的数量阈值。
在一个示例性实施例中,服务器主机,用于:
从第二存储设备上确定与第一存储单元的数据实时同步的存储单元为第一存储单元对应的第二存储单元;
将服务器主机上的第一存储单元的第一磁盘标识替换为第二存储单元的第二磁盘标识。
存储设备中的存储单元之间具有对应关系,图7是根据本申请实施例的存储单元对应关系的示意图,如图7所示,两台集中式存储设备上LUN1和LUN2是同等大小的,在存储端已设置了数据实时同步,即服务器主机的虚拟化层使用LUN1时进行的写操作及相关数据会实时同步到LUN2中,LUN1和LUN2各通过多条存储路径映射到服务器主机S中,LUN1和LUN2均有对应的唯一标识SCSI ID。
LUN1和LUN2同时映射到服务器主机的虚拟化系统中,虚拟化系统中实际使用的是LUN1,元数据信息、虚拟机的虚拟磁盘信息等都是通过在LUN1上的写操作通过存储设备同步到LUN2上的,LUN1和LUN2的数据信息完全一致。
存储后端切换,实际就是更换LUN1和LUN2在数据库表中的SCSI ID的值,使原本使用LUN1的虚拟机等上层业务使用LUN2来进行实时替换,更改数据库表中的相应字段值。数据库表修改时间极短,业务几乎无感知,保证了业务稳定连续运行。
在一个示例性实施例中,服务器主机上部署了数据库表,其中,服务器主机,用于:获取数据库表;从数据库表中查找第一磁盘标识;将查找到的第一磁盘标识替换为第二磁盘标识。
通过上述系统,实现了多存储路径故障链路检测过程、自动触发切换过程及存储后端切换过程。多存储路径故障检测过程可以实时检测各个存储设备对应的磁盘的链路状态,保证链路的正常连接,如存在异常链路,及时上报虚拟化平台,并产生告警信息;自动触发切换过程是通过虚拟化系统中设置可承受的故障链路数,统计多路径链路检测过程中上报的故障链路数,当故障链路数超过设定阈值且满足时间限制,自动触发切换;存储后端切换过程是通过底层磁盘数据实时同步,通过虚拟化平台进行数据库表字段替换,变更磁盘SCSI ID从而使存储设备底层的实际指向发生改变,完成存储后端的切换,保证核心业务的稳定连续运行。
在本实施例中还提供了一种服务器的存储切换装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
服务器主机分别与第一存储设备和第二存储设备连接,第一存储设备的数据与第二存储设备的数据是实时同步的,第一存储设备和第二存储设备均用于为服务器主机提供业务数据的存储服务,图8是根据本申请实施例的服务器的存储切换装置的结构框图,如图8所示,该装置包括:
检测模块82,用于检测服务器主机与第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态,其中,所述目标链路状态用于指示所述每条目标存储路径的故障情况;
第一确定模块84,用于根据所述目标链路状态确定所述第一存储单元的切换状态,其中,所述切换状态用于指示是否允许所述服务器主机切换所述第一存储单元;
切换模块86,用于在所述切换状态用于指示允许所述服务器主机切换所述第一存储单元的情况下,将所述服务器主机上所使用的所述第一存储单元切换为所述第二存储设备上与所述第一存储单元对应的第二存储单元。
通过上述装置,服务器主机分别连接了第一存储设备和第二存储设备,第一存储设备与第二存储设备均用于为服务器主机提供业务数据的存储服务,并且第一存储设备的数据与第二存储设备的数据是实时同步的,从而形成了服务器主机的双活存储架构,在该架构下对服务器主机与第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态进行检测,从而得知每条目标存储路径的故障情况,再根据目标链路状态确定第一存储单元的切换状态来确定出是否允许服务器主机切换第一存储单元,如果切换状态用于指示允许服务器主机切换第一存储单元,则将服务器主机上所使用的第一存储单元切换为服务器主机所连接的第二存储设备上与第一存储单元对应的第二存储单元,从而通过存储单元级别的存储切换实现依据链路状态触发双活切换的机制的过程,从而使得存储设备的切换维度更细致,切换感知更加灵敏,存储链路的故障问题不会影响到为服务器提供的存储服务的存储性能,也不会影响到业务的运行,因此,可以解决服务器的存储切换效率较低的问题,达到提高服务器的存储切换效率的技术效果。
在一个示例性实施例中,所述检测模块,包括:
获取单元,用于获取所述服务器主机与所述第一存储设备之间的全部存储路径中每条存储路径的基本信息;
查找单元,用于从所述基本信息中查找所述每条存储路径的状态信息;
第一确定单元,用于将所述全部存储路径中属于所述第一存储单元的存储路径确定为所述目标存储路径,并将所述目标存储路径对应的所述状态信息确定为所述目标链路状态。
在一个示例性实施例中,所述获取单元,用于:
访问所述服务器主机中的磁盘信息目录,其中,所述磁盘信息目录是所述服务器主机上部署的设备管理组件对所述服务器主机上每个存储路径映射的盘符进行检测得到的,所述磁盘信息目录中记录了具有对应关系的盘符和基本信息。
在一个示例性实施例中,所述查找单元,用于:
从所述磁盘信息目录中查找每个盘符对应的基本信息中的状态信息,其中,所述状态信息包括离线状态和在线状态;
将每个盘符转换为对应的磁盘标识,得到具有对应关系的磁盘标识和状态信息,其中,所述磁盘标识用于唯一标识所述第一存储设备上的存储单元。
在一个示例性实施例中,所述第一确定单元,用于:
将所述全部存储路径中所对应的所述磁盘标识为所述第一存储单元的目标磁盘标识的存储路径确定为所述目标存储路径;
将所述目标存储路径对应的所述状态信息确定为所述目标链路状态。
在一个示例性实施例中,所述检测模块,用于以下之一:
检测所述第一存储设备上的每个存储单元的多条存储路径中每条存储路径的所述链路状态,其中,所述第一存储单元包括所述第一存储设备上的每个存储单元;
检测所述第一存储设备上的参考存储单元的所述多条存储路径中每条存储路径的所述链路状态,其中,所述第一存储单元包括所述参考存储单元,所述参考存储单元是所述第一存储设备上启动了存储切换机制的存储单元。
在一个示例性实施例中,所述第一确定模块,包括:
第二确定单元,用于确定所述链路状态为离线状态的目标存储路径的目标数量;
比对单元,用于将所述目标数量与所述第一存储单元对应的数量阈值进行比对,得到比对结果;
第三确定单元,用于根据所述比对结果确定所述第一存储单元的切换状态。
在一个示例性实施例中,所述比对单元,用于:
在所述比对结果为所述目标数量大于或者等于所述数量阈值的情况下,确定所述切换状态用于指示允许所述服务器主机切换所述第一存储单元;
在所述比对结果为所述目标数量小于所述数量阈值的情况下,确定所述切换状态用于指示不允许所述服务器主机切换所述第一存储单元。
在一个示例性实施例中,所述装置还包括:
获取模块,用于在所述将所述目标数量与所述第一存储单元对应的数量阈值进行比对之前,获取所述多条目标存储路径的总数量和所述第一存储单元的历史故障信息;
第二确定模块,用于根据所述总数量和所述历史故障信息确定所述第一存储单元对应的所述数量阈值。
在一个示例性实施例中,所述切换模块,包括:
第四确定单元,用于从所述第二存储设备上确定与所述第一存储单元的数据实时同步的存储单元为所述第一存储单元对应的所述第二存储单元;
替换单元,用于将所述服务器主机上的所述第一存储单元的第一磁盘标识替换为所述第二存储单元的第二磁盘标识。
在一个示例性实施例中,所述替换单元,用于:
获取所述服务器主机的数据库表;
从所述数据库表中查找所述第一磁盘标识;
将查找到的所述第一磁盘标识替换为所述第二磁盘标识。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种服务器的存储切换方法,其特征在于,服务器主机分别与第一存储设备和第二存储设备连接,所述第一存储设备的数据与所述第二存储设备的数据是实时同步的,所述第一存储设备和所述第二存储设备均用于为所述服务器主机提供业务数据的存储服务,所述方法包括:
检测所述服务器主机与所述第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态,其中,所述目标链路状态用于指示所述每条目标存储路径的故障情况;
根据所述目标链路状态确定所述第一存储单元的切换状态,其中,所述切换状态用于指示是否允许所述服务器主机切换所述第一存储单元;
在所述切换状态用于指示允许所述服务器主机切换所述第一存储单元的情况下,将所述服务器主机上所使用的所述第一存储单元切换为所述第二存储设备上与所述第一存储单元对应的第二存储单元;
其中,所述检测所述服务器主机与所述第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态,包括:获取所述服务器主机与所述第一存储设备之间的全部存储路径中每条存储路径的基本信息;从所述基本信息中查找所述每条存储路径的状态信息;将所述全部存储路径中属于所述第一存储单元的存储路径确定为所述目标存储路径,并将所述目标存储路径对应的所述状态信息确定为所述目标链路状态;
所述根据所述链路状态确定所述第一存储单元的切换状态,包括:确定所述链路状态为离线状态的目标存储路径的目标数量;将所述目标数量与所述第一存储单元对应的数量阈值进行比对,得到比对结果;根据所述比对结果确定所述第一存储单元的切换状态;
所述将所述服务器主机上所使用的所述第一存储单元切换为所述服务器主机所连接的第二存储设备上与所述第一存储单元对应的第二存储单元,包括:从所述第二存储设备上确定与所述第一存储单元的数据实时同步的存储单元为所述第一存储单元对应的所述第二存储单元;将所述服务器主机上的所述第一存储单元的第一磁盘标识替换为所述第二存储单元的第二磁盘标识。
2.根据权利要求1所述的方法,其特征在于,所述获取所述服务器主机与所述第一存储设备之间的全部存储路径中每条存储路径的基本信息,包括:
访问所述服务器主机中的磁盘信息目录,其中,所述磁盘信息目录是所述服务器主机上部署的设备管理组件对所述服务器主机上每个存储路径映射的盘符进行检测得到的,所述磁盘信息目录中记录了具有对应关系的盘符和基本信息。
3.根据权利要求2所述的方法,其特征在于,所述从所述基本信息中查找所述每条存储路径的状态信息,包括:
从所述磁盘信息目录中查找每个盘符对应的基本信息中的状态信息,其中,所述状态信息包括离线状态和在线状态;
将每个盘符转换为对应的磁盘标识,得到具有对应关系的磁盘标识和状态信息,其中,所述磁盘标识用于唯一标识所述第一存储设备上的存储单元。
4.根据权利要求3所述的方法,其特征在于,所述将所述全部存储路径中属于所述第一存储单元的存储路径确定为所述目标存储路径,并将所述目标存储路径对应的所述状态信息确定为所述目标链路状态,包括:
将所述全部存储路径中所对应的所述磁盘标识为所述第一存储单元的目标磁盘标识的存储路径确定为所述目标存储路径;
将所述目标存储路径对应的所述状态信息确定为所述目标链路状态。
5.根据权利要求1所述的方法,其特征在于,所述检测所述服务器主机与所述第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态,包括以下之一:
检测所述第一存储设备上的每个存储单元的多条存储路径中每条存储路径的所述链路状态,其中,所述第一存储单元包括所述第一存储设备上的每个存储单元;
检测所述第一存储设备上的参考存储单元的所述多条存储路径中每条存储路径的所述链路状态,其中,所述第一存储单元包括所述参考存储单元,所述参考存储单元是所述第一存储设备上启动了存储切换机制的存储单元。
6.根据权利要求1所述的方法,其特征在于,所述根据所述比对结果确定所述第一存储单元的切换状态,包括:
在所述比对结果为所述目标数量大于或者等于所述数量阈值的情况下,确定所述切换状态用于指示允许所述服务器主机切换所述第一存储单元;
在所述比对结果为所述目标数量小于所述数量阈值的情况下,确定所述切换状态用于指示不允许所述服务器主机切换所述第一存储单元。
7.根据权利要求1所述的方法,其特征在于,在所述将所述目标数量与所述第一存储单元对应的数量阈值进行比对之前,所述方法还包括:
获取所述多条目标存储路径的总数量和所述第一存储单元的历史故障信息;
根据所述总数量和所述历史故障信息确定所述第一存储单元对应的所述数量阈值。
8.根据权利要求7所述的方法,其特征在于,所述将所述服务器主机上的所述第一存储单元的第一磁盘标识替换为所述第二存储单元的第二磁盘标识,包括:
获取所述服务器主机的数据库表;
从所述数据库表中查找所述第一磁盘标识;
将查找到的所述第一磁盘标识替换为所述第二磁盘标识。
9.一种服务器系统,其特征在于,包括:服务器主机,第一存储设备和第二存储设备,其中,
所述服务器主机分别与所述第一存储设备和所述第二存储设备连接,所述第一存储设备的数据与所述第二存储设备的数据是实时同步的;
所述第一存储设备和所述第二存储设备均用于为所述服务器主机提供业务数据的存储服务;
所述服务器主机,用于检测与所述第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态,其中,所述目标链路状态用于指示所述每条目标存储路径的故障情况;根据所述目标链路状态确定所述第一存储单元的切换状态,其中,所述切换状态用于指示是否允许所述服务器主机切换所述第一存储单元;在所述切换状态用于指示允许所述服务器主机切换所述第一存储单元的情况下,将所使用的所述第一存储单元切换为所述第二存储设备上与所述第一存储单元对应的第二存储单元;
其中,所述服务器主机,用于:获取所述服务器主机与所述第一存储设备之间的全部存储路径中每条存储路径的基本信息;从所述基本信息中查找所述每条存储路径的状态信息;将所述全部存储路径中属于所述第一存储单元的存储路径确定为所述目标存储路径,并将所述目标存储路径对应的所述状态信息确定为所述目标链路状态;
所述服务器主机,用于:确定所述链路状态为离线状态的目标存储路径的目标数量;将所述目标数量与所述第一存储单元对应的数量阈值进行比对,得到比对结果;根据所述比对结果确定所述第一存储单元的切换状态;
所述服务器主机,用于:从所述第二存储设备上确定与所述第一存储单元的数据实时同步的存储单元为所述第一存储单元对应的所述第二存储单元;将所述服务器主机上的所述第一存储单元的第一磁盘标识替换为所述第二存储单元的第二磁盘标识。
10.根据权利要求9所述的服务器系统,其特征在于,所述服务器主机中部署了设备管理组件,其中,
所述服务器主机用于:访问磁盘信息目录,其中,所述磁盘信息目录是所述设备管理组件对所述服务器主机上每个存储路径映射的盘符进行检测得到的,所述磁盘信息目录中记录了具有对应关系的盘符和基本信息。
11.根据权利要求10所述的服务器系统,其特征在于,所述服务器主机,用于:
从所述磁盘信息目录中查找每个盘符对应的基本信息中的状态信息,其中,所述状态信息包括离线状态和在线状态;
将每个盘符转换为对应的磁盘标识,得到具有对应关系的磁盘标识和状态信息,其中,所述磁盘标识用于唯一标识所述第一存储设备上的存储单元。
12.根据权利要求11所述的服务器系统,其特征在于,所述服务器主机,用于:
将所述全部存储路径中所对应的所述磁盘标识为所述第一存储单元的目标磁盘标识的存储路径确定为所述目标存储路径;
将所述目标存储路径对应的所述状态信息确定为所述目标链路状态。
13.根据权利要求9所述的服务器系统,其特征在于,所述服务器主机,用于以下之一:
检测所述第一存储设备上的每个存储单元的多条存储路径中每条存储路径的所述链路状态,其中,所述第一存储单元包括所述第一存储设备上的每个存储单元;
检测所述第一存储设备上的参考存储单元的所述多条存储路径中每条存储路径的所述链路状态,其中,所述第一存储单元包括所述参考存储单元,所述参考存储单元是所述第一存储设备上启动了存储切换机制的存储单元。
14.根据权利要求9所述的服务器系统,其特征在于,所述服务器主机,用于:
在所述比对结果为所述目标数量大于或者等于所述数量阈值的情况下,确定所述切换状态用于指示允许所述服务器主机切换所述第一存储单元;
在所述比对结果为所述目标数量小于所述数量阈值的情况下,确定所述切换状态用于指示不允许所述服务器主机切换所述第一存储单元。
15.根据权利要求9所述的服务器系统,其特征在于,所述服务器主机,还用于:
在所述将所述目标数量与所述第一存储单元对应的数量阈值进行比对之前,获取所述多条目标存储路径的总数量和所述第一存储单元的历史故障信息;
根据所述总数量和所述历史故障信息确定所述第一存储单元对应的所述数量阈值。
16.根据权利要求15所述的服务器系统,其特征在于,所述服务器主机上部署了数据库表,其中,
所述服务器主机,用于:获取所述数据库表;从所述数据库表中查找所述第一磁盘标识;将查找到的所述第一磁盘标识替换为所述第二磁盘标识。
17.一种服务器的存储切换装置,其特征在于,服务器主机分别与第一存储设备和第二存储设备连接,所述第一存储设备的数据与所述第二存储设备的数据是实时同步的,所述第一存储设备和所述第二存储设备均用于为所述服务器主机提供业务数据的存储服务,所述装置包括:
检测模块,用于检测所述服务器主机与所述第一存储设备上的第一存储单元之间的多条目标存储路径中每条目标存储路径的目标链路状态,其中,所述目标链路状态用于指示所述每条目标存储路径的故障情况;
第一确定模块,用于根据所述目标链路状态确定所述第一存储单元的切换状态,其中,所述切换状态用于指示是否允许所述服务器主机切换所述第一存储单元;
切换模块,用于在所述切换状态用于指示允许所述服务器主机切换所述第一存储单元的情况下,将所述服务器主机上所使用的所述第一存储单元切换为所述第二存储设备上与所述第一存储单元对应的第二存储单元;
其中,所述检测模块,包括:获取单元,用于获取所述服务器主机与所述第一存储设备之间的全部存储路径中每条存储路径的基本信息;查找单元,用于从所述基本信息中查找所述每条存储路径的状态信息;第一确定单元,用于将所述全部存储路径中属于所述第一存储单元的存储路径确定为所述目标存储路径,并将所述目标存储路径对应的所述状态信息确定为所述目标链路状态;
所述第一确定模块,包括:第二确定单元,用于确定所述链路状态为离线状态的目标存储路径的目标数量;比对单元,用于将所述目标数量与所述第一存储单元对应的数量阈值进行比对,得到比对结果;第三确定单元,用于根据所述比对结果确定所述第一存储单元的切换状态;
所述切换模块,包括:第四确定单元,用于从所述第二存储设备上确定与所述第一存储单元的数据实时同步的存储单元为所述第一存储单元对应的所述第二存储单元;替换单元,用于将所述服务器主机上的所述第一存储单元的第一磁盘标识替换为所述第二存储单元的第二磁盘标识。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至8任一项中所述服务器的存储切换方法的步骤。
19.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至8任一项中所述服务器的存储切换方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311174102.0A CN116909494B (zh) | 2023-09-12 | 2023-09-12 | 服务器的存储切换方法和装置,以及服务器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311174102.0A CN116909494B (zh) | 2023-09-12 | 2023-09-12 | 服务器的存储切换方法和装置,以及服务器系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116909494A CN116909494A (zh) | 2023-10-20 |
CN116909494B true CN116909494B (zh) | 2024-01-26 |
Family
ID=88358767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311174102.0A Active CN116909494B (zh) | 2023-09-12 | 2023-09-12 | 服务器的存储切换方法和装置,以及服务器系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909494B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294030A (zh) * | 2016-07-29 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 基于服务器虚拟化系统的存储冗余方法及装置 |
CN111858122A (zh) * | 2020-07-29 | 2020-10-30 | 北京浪潮数据技术有限公司 | 一种存储链路的故障检测方法、装置、设备及存储介质 |
CN112527480A (zh) * | 2020-12-03 | 2021-03-19 | 平安科技(深圳)有限公司 | 端到端双活方法、装置、设备及存储介质 |
CN113849127A (zh) * | 2021-09-01 | 2021-12-28 | 北京腾凌科技有限公司 | 基于san存储双活网络的仲裁方法、装置及电子设备 |
CN114416501A (zh) * | 2021-12-23 | 2022-04-29 | 中国农业银行股份有限公司云南省分行 | 一种存储双活及测试系统和方法 |
CN115632706A (zh) * | 2022-12-01 | 2023-01-20 | 苏州浪潮智能科技有限公司 | 一种fc链路管理方法、装置、设备及可读存储介质 |
-
2023
- 2023-09-12 CN CN202311174102.0A patent/CN116909494B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294030A (zh) * | 2016-07-29 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 基于服务器虚拟化系统的存储冗余方法及装置 |
CN111858122A (zh) * | 2020-07-29 | 2020-10-30 | 北京浪潮数据技术有限公司 | 一种存储链路的故障检测方法、装置、设备及存储介质 |
CN112527480A (zh) * | 2020-12-03 | 2021-03-19 | 平安科技(深圳)有限公司 | 端到端双活方法、装置、设备及存储介质 |
CN113849127A (zh) * | 2021-09-01 | 2021-12-28 | 北京腾凌科技有限公司 | 基于san存储双活网络的仲裁方法、装置及电子设备 |
CN114416501A (zh) * | 2021-12-23 | 2022-04-29 | 中国农业银行股份有限公司云南省分行 | 一种存储双活及测试系统和方法 |
CN115632706A (zh) * | 2022-12-01 | 2023-01-20 | 苏州浪潮智能科技有限公司 | 一种fc链路管理方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116909494A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7426554B2 (en) | System and method for determining availability of an arbitrary network configuration | |
US8204980B1 (en) | Storage array network path impact analysis server for path selection in a host-based I/O multi-path system | |
US10698605B2 (en) | Multipath storage device based on multi-dimensional health diagnosis | |
US20190220379A1 (en) | Troubleshooting Method, Apparatus, and Device | |
CN103513940B (zh) | 虚拟机在线扩展磁盘容量的方法和虚拟系统控制台 | |
CN102741801B (zh) | 存储控制装置和存储控制装置的控制方法 | |
EP1837764A2 (en) | Disk array including plural exchangeable magnetic disk unit | |
CN102833281B (zh) | 一种分布式自增计数的实现方法、装置及系统 | |
EP3319258B1 (en) | Service take-over method and storage device, and service take-over apparatus | |
US9208039B2 (en) | System and method for detecting server removal from a cluster to enable fast failover of storage | |
US8234447B2 (en) | Storage control device for storage system provided with storage device coupled to switch network | |
CN109143954A (zh) | 一种实现控制器复位的系统及方法 | |
CN111400121A (zh) | 一种服务器硬盘slot定位与维护方法 | |
US20100083061A1 (en) | Method to Manage Path Failure Thresholds | |
CN109544827B (zh) | 带数据备份装置的收银机及其使用方法 | |
US20160197994A1 (en) | Storage array confirmation of use of a path | |
US20040073648A1 (en) | Network calculator system and management device | |
CN116909494B (zh) | 服务器的存储切换方法和装置,以及服务器系统 | |
CN109510730B (zh) | 分布式系统及其监控方法、装置、电子设备及存储介质 | |
CN102959521A (zh) | 计算机系统的管理方法以及管理系统 | |
CN212541329U (zh) | 基于国产龙芯平台的双冗余计算机设备 | |
CN116414661B (zh) | 分布式存储的固态硬盘处理方法和装置 | |
CN106301967A (zh) | 一种数据同步方法及带外管理设备 | |
CN104836679B (zh) | 通信异常处理方法及网元设备 | |
US9483331B1 (en) | Notifying a multipathing driver of fabric events and performing multipathing management operations in response to such fabric events |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |