首页> 中国专利> 基于共享存储的防止单点故障的方法及设备

基于共享存储的防止单点故障的方法及设备

摘要

本发明的目的是提供一种基于共享存储的防止单点故障的方法及设备,本发明通过使用来自两个或两个以上的磁盘阵列或者存储单元的共享存储,提供基于共享存储的防止单点故障的高可用容灾方法,底层的共享存储来自两个以上的的磁盘阵列或者存储服务器,所有的磁盘阵列或者存储服务器均挂载到从服务器上,设置主服务器的存储处于读写状态,备服务器的存储处于只读状态,当底层磁盘阵列或者存储服务器发生单点故障时,当高可用环境主服务器发生异常,导致高可用切换,备服务器可以立即接管,不存在数据同步过程,不会导致数据丢失、io异常等问题。

著录项

  • 公开/公告号CN112905394A

    专利类型发明专利

  • 公开/公告日2021-06-04

    原文格式PDF

  • 申请/专利权人 上海上讯信息技术股份有限公司;

    申请/专利号CN202110246532.3

  • 发明设计人 李天泽;吴飞;王倪彬;

    申请日2021-03-05

  • 分类号G06F11/20(20060101);G06F11/07(20060101);G06F9/445(20180101);

  • 代理机构31243 上海百一领御专利代理事务所(普通合伙);

  • 代理人王奎宇;甘章乖

  • 地址 201203 上海市浦东新区自由贸易试验区郭守敬路498号8幢20300室

  • 入库时间 2023-06-19 11:16:08

说明书

技术领域

本发明涉及计算机领域,尤其涉及一种基于共享存储的防止单点故障的方法及设备。

背景技术

现有的高可用方案通过以下两种方式实现:

1)数据复制实现:

主备环境存储独立,可以来自同一个存储也可以来自多个存储,主备存储都处于读写状态。数据落盘时通过网络同时把数据写入到主备两个环境,该方案严重依赖网络对于网络带宽网络稳定性要求极高,网络不稳定或者网络性能低极大影响了性能,而且很容易引起io异常。

2)共享存储实现:

主备同时挂载一份共享存储,主服务器的存储处于活动状态可读写,备服务器的存储不可读写状态,此方案解决了高可用环境依赖网络导致的性能问题,当发生异常时主切换备,备服务器处于活动状态可读写,但是该方案共享存储存在单点故障而无法使用问题。

发明内容

本发明的一个目的是提供一种基于共享存储的防止单点故障的方法及设备。

根据本发明的一个方面,提供了一种基于共享存储的防止单点故障的方法,该方法包括:

配置主服务和从服务器共享两个或两个以上的磁盘阵列或者存储单元,并且主服务和从服务器之间保持心跳;

配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态;

当主服务器发生异常时,将备服务器对所有的磁盘阵列或者存储单元的读写权限切换为处于读写状态。

进一步的,上述方法中,配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态之前,还包括:

主服务器和从服务器基于两个磁盘阵列或者存储单元,创建raid1存储池,其中,所述raid1存储池允许两个磁盘阵列或者存储单元中的一个发生故障。

进一步的,上述方法中,配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态之前,还包括:

主服务器和从服务器基于三个或三个以上磁盘阵列或者存储单元,创建raid5存储池,其中,所述raid5存储池允许三个或三个以上磁盘阵列或者存储单元中的一个磁盘阵列或者存储单元发生故障。

进一步的,上述方法中,配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态之前,还包括:

主服务器和从服务器基于三个或三个以上磁盘阵列或者存储单元,创建raid6存储池,其中,所述raid6存储池允许三个或三个以上磁盘阵列或者存储单元中的两个磁盘阵列或者存储单元发生故障。

根据本发明的另一方面,还提供了一种基于共享存储的防止单点故障的设备,其中,该设备包括:

第一装置,用于配置主服务和从服务器共享两个或两个以上的磁盘阵列或者存储单元,并且主服务和从服务器之间保持心跳;

第二装置,用于配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态;

第三装置,用于当主服务器发生异常时,将备服务器对所有的磁盘阵列或者存储单元的读写权限切换为处于读写状态。

进一步的,上述设备中,所述第二装置,还用于供主服务器和从服务器基于两个磁盘阵列或者存储单元,创建raid1存储池,其中,所述raid1存储池允许两个磁盘阵列或者存储单元中的一个发生故障。

进一步的,上述设备中,所述第二装置,还用于供主服务器和从服务器基于三个或三个以上磁盘阵列或者存储单元,创建raid5存储池,其中,所述raid5存储池允许三个或三个以上磁盘阵列或者存储单元中的一个磁盘阵列或者存储单元发生故障。

进一步的,上述设备中,所述第二装置,还用于供主服务器和从服务器基于三个或三个以上磁盘阵列或者存储单元,创建raid6存储池,其中,所述raid6存储池允许三个或三个以上磁盘阵列或者存储单元中的两个磁盘阵列或者存储单元发生故障。

根据本发明的另一方面,还提供了一种基于计算的设备,其中,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

配置主服务和从服务器共享两个或两个以上的磁盘阵列或者存储单元,并且主服务和从服务器之间保持心跳;

配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态;

当主服务器发生异常时,将备服务器对所有的磁盘阵列或者存储单元的读写权限切换为处于读写状态。

根据本发明的另一方面,还提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:

配置主服务和从服务器共享两个或两个以上的磁盘阵列或者存储单元,并且主服务和从服务器之间保持心跳;

配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态;

当主服务器发生异常时,将备服务器对所有的磁盘阵列或者存储单元的读写权限切换为处于读写状态。

与现有技术相比,本发明通过使用来自两个或两个以上的磁盘阵列或者存储单元的共享存储,提供基于共享存储的防止单点故障的高可用容灾方法,底层的共享存储来自两个以上的的磁盘阵列或者存储服务器,所有的磁盘阵列或者存储服务器均挂载到从服务器上,设置主服务器的存储处于读写状态,备服务器的存储处于只读状态,当底层磁盘阵列或者存储服务器发生单点故障时,不影响存储池数据正常读写,数据不会丢失,可以解决高可用环境依赖网络数据复制导致的性能问题以及可能引起的io异常,解决存储来自于同一个底层磁盘阵列或者存储服务器导致的存储单点故障。当高可用环境主服务器发生异常,导致高可用切换,备服务器可以立即接管,不存在数据同步过程,不会导致数据丢失、io异常等问题。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1示出本发明一实施例的基于共享存储的防止单点故障的方法的raid1的架构示意图;

图2示出本发明一实施例的基于共享存储的防止单点故障的方法的raid5/6的架构示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本发明作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

如图1和2所示,本发明提供一种基于共享存储的防止单点故障的方法,所述方法包括:

步骤S1,配置主服务和从服务器共享两个或两个以上的磁盘阵列或者存储单元,并且主服务和从服务器之间保持心跳;

步骤S2,配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态;

步骤S3,当主服务器发生异常时,将备服务器对所有的磁盘阵列或者存储单元的读写权限切换为处于读写状态。

在此,本发明通过使用来自两个或两个以上的磁盘阵列或者存储单元的共享存储,提供基于共享存储的防止单点故障的高可用容灾方法,底层的共享存储来自两个以上的的磁盘阵列或者存储服务器,所有的磁盘阵列或者存储服务器均挂载到从服务器上,设置主服务器的存储处于读写状态,备服务器的存储处于只读状态,当底层磁盘阵列或者存储服务器发生单点故障时,不影响存储池数据正常读写,数据不会丢失,可以解决高可用环境依赖网络数据复制导致的性能问题以及可能引起的io异常,解决存储来自于同一个底层磁盘阵列或者存储服务器导致的存储单点故障。当高可用环境主服务器发生异常,导致高可用切换,备服务器可以立即接管,不存在数据同步过程,不会导致数据丢失、io异常等问题。

本发明的基于共享存储的防止单点故障的方法一实施例中,步骤S2,配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态之前,还包括:

如图1所示,主服务器和从服务器基于两个磁盘阵列或者存储单元,创建raid1存储池,其中,所述raid1存储池允许两个磁盘阵列或者存储单元中的一个发生故障。

在此,Raid1允许两个存储中的一个发生异常,本发明通过使用来自两个或两个以上的磁盘阵列或者存储单元的共享存储,创建raid1存储池,可以解决高可用环境依赖网络数据复制问题和磁盘单点故障问题。

本发明的基于共享存储的防止单点故障的方法一实施例中,步骤S2,配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态之前,还包括:

如图2所示,主服务器和从服务器基于三个或三个以上磁盘阵列或者存储单元,创建raid5存储池,其中,所述raid5存储池允许三个或三个以上磁盘阵列或者存储单元中的一个磁盘阵列或者存储单元发生故障。

在此,Raid5允许三个存储(或更多)中的一个发生异常,本发明通过使用来自三个个或三个以上的磁盘阵列或者存储单元的共享存储,创建raid5存储池,可以解决高可用环境依赖网络数据复制问题和磁盘单点故障问题。

本发明的基于共享存储的防止单点故障的方法一实施例中,步骤S2,配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态之前,还包括:

如图2所示,主服务器和从服务器基于三个或三个以上磁盘阵列或者存储单元,创建raid6存储池,其中,所述raid6存储池允许三个或三个以上磁盘阵列或者存储单元中的两个磁盘阵列或者存储单元发生故障。

在此,Raid6允许三个存储(或更多)中的二个发生异常,本发明通过使用来自三个个或三个以上的磁盘阵列或者存储单元的共享存储,创建raid6存储池,可以解决高可用环境依赖网络数据复制问题和磁盘单点故障问题。

根据本发明的另一方面,还提供了一种基于共享存储的防止单点故障的设备,其中,该设备包括:

第一装置,用于配置主服务和从服务器共享两个或两个以上的磁盘阵列或者存储单元,并且主服务和从服务器之间保持心跳;

第二装置,用于配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态;

第三装置,用于当主服务器发生异常时,将备服务器对所有的磁盘阵列或者存储单元的读写权限切换为处于读写状态。

进一步的,上述设备中,所述第二装置,还用于供主服务器和从服务器基于两个磁盘阵列或者存储单元,创建raid1存储池,其中,所述raid1存储池允许两个磁盘阵列或者存储单元中的一个发生故障。

进一步的,上述设备中,所述第二装置,还用于供主服务器和从服务器基于三个或三个以上磁盘阵列或者存储单元,创建raid5存储池,其中,所述raid5存储池允许三个或三个以上磁盘阵列或者存储单元中的一个磁盘阵列或者存储单元发生故障。

进一步的,上述设备中,所述第二装置,还用于供主服务器和从服务器基于三个或三个以上磁盘阵列或者存储单元,创建raid6存储池,其中,所述raid6存储池允许三个或三个以上磁盘阵列或者存储单元中的两个磁盘阵列或者存储单元发生故障。

根据本发明的另一方面,还提供了一种一种基于计算的设备,其中,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

配置主服务和从服务器共享两个或两个以上的磁盘阵列或者存储单元,并且主服务和从服务器之间保持心跳;

配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态;

当主服务器发生异常时,将备服务器对所有的磁盘阵列或者存储单元的读写权限切换为处于读写状态。

根据本发明的另一方面,还提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:

配置主服务和从服务器共享两个或两个以上的磁盘阵列或者存储单元,并且主服务和从服务器之间保持心跳;

配置主服务器对所有的磁盘阵列或者存储单元的读写权限处于读写状态,备服务器对所有的磁盘阵列或者存储单元的读写权限处于只读状态;

当主服务器发生异常时,将备服务器对所有的磁盘阵列或者存储单元的读写权限切换为处于读写状态。

本发明的各设备和存储介质实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号