CN112181705B - 基于多控制器的管理存储控制方法及存储设备 - Google Patents

基于多控制器的管理存储控制方法及存储设备 Download PDF

Info

Publication number
CN112181705B
CN112181705B CN202011085088.3A CN202011085088A CN112181705B CN 112181705 B CN112181705 B CN 112181705B CN 202011085088 A CN202011085088 A CN 202011085088A CN 112181705 B CN112181705 B CN 112181705B
Authority
CN
China
Prior art keywords
controller
storage
controllers
normal state
state
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
Application number
CN202011085088.3A
Other languages
English (en)
Other versions
CN112181705A (zh
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.)
Shanghai Prospective Innovation Research Institute Co ltd
Original Assignee
Shanghai Prospective Innovation Research Institute 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 Shanghai Prospective Innovation Research Institute Co ltd filed Critical Shanghai Prospective Innovation Research Institute Co ltd
Priority to CN202011085088.3A priority Critical patent/CN112181705B/zh
Publication of CN112181705A publication Critical patent/CN112181705A/zh
Application granted granted Critical
Publication of CN112181705B publication Critical patent/CN112181705B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1612Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Hardware Redundancy (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

本发明公开了基于多控制器的管理存储控制方法及存储设备,涉及存储技术领域。基于双控制器的存储控制方法采用Cassandra数据存储结构实现存储阵列中的存储模块间的数据同步,以保证存储阵列中所有存储模块存储数据的一致性及安全性;通过监测两个控制器的工作状态,能够实现在一个控制器处于异常状态、另一个控制器处于正常状态时,将处于异常状态的控制器接收到的请求发送至处于正常状态的控制器,从而采用处于正常状态的控制器根据请求控制相应的存储模块,以执行相应服务,避免了控制器出现异常后,服务中断的情况,保证控制器之间的无缝切换,提升用户的体验效果。

Description

基于多控制器的管理存储控制方法及存储设备
技术领域
本发明涉及存储技术领域,尤其涉及一种基于多控制器的管理存储控制方法及存储设备。
背景技术
随着科技的发展进步,用户对存储器设备的要求越来越高,因此,具有高性能、高可用的双控存储架构越来越受到用户的青睐。
现有的双控存储装置,一般采用单节点数据库,包括两个控制器(即:主控制器和从控制器),同一时刻只有一个控制器(一般是主控制器)可以访问共享的数据库中的数据,以保证数据库中数据的一致性。当主控制器发生异常(如:宕机)时,需要从控制器重新启动数据库,并读取数据库中的数据,在这个期间数据库无法提供无法,且容易出现数据错误的清楚(出错率较高),从而造成服务中断,影响用户的体验效果。
发明内容
针对现有双控存储装置在控制器切换过程中,存在服务中断的问题,现提供一种旨在控制器之间进行切换时避免服务中断的基于多控制器的管理存储控制方法及存储设备。
为实现上述目的,本发明提供一种基于双控制器的存储控制方法,应用于双控制器的电子设备,每一个所述控制器分别与采用Cassandra数据存储结构的存储阵列通信连接,所述存储阵列包括两组存储模块,每组存储模块与一个所述控制器对应,所述每组存储模块包括至少一个存储模块,所述基于双控制器的存储控制方法包括:
监测每一个所述控制器的工作状态,所述工作状态包括正常状态和异常状态;
当一个所述控制器处于异常状态、另一个所述控制器处于正常状态时,将处于异常状态的所述控制器接收到的请求发送至处于正常状态的所述控制器,通过处于正常状态的所述控制器根据所述请求控制相应的所述存储模块。
可选的,还包括:
当一个所述控制器由异常状态转换为正常状态、另一个所述控制器持续处于正常状态时,识别由异常状态转换为正常状态的所述控制器对应的一组存储模块中的数据是否有效;
若是,根据持续处于正常状态的所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据进行增量同步;
若否,清空由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据,根据持续处于正常状态的所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据进行全量同步。
可选的,当两个所述控制器均处于正常状态时,每个所述控制器根据接收到的请求控制相应的所述存储模块。
可选的,每组所述存储模块包括两个存储模块。
为实现上述目的,本发明还提供一种基于多控制器的管理存储控制方法,应用于N个控制器的电子设备,每一个所述控制器分别与采用Cassandra数据存储结构的存储阵列通信连接,所述存储阵列包括W个存储模块,每一个所述控制器对应至少一个所述存储模块,其中,N为大于或等于4的整数,W为整数且W≥N,所述基于多控制器的管理存储控制方法包括:
监测每一个所述控制器的工作状态,所述工作状态包括正常状态和异常状态;
当X个所述控制器处于异常状态、N-X个所述控制器处于正常状态时,将处于异常状态的所述控制器接收到的请求发送至处于正常状态的所述控制器,通过处于正常状态的所述控制器根据所述请求控制相应的所述存储模块。
可选的,当X个所述控制器处于异常状态、N-X个所述控制器处于正常状态时,将处于异常状态的所述控制器接收到的请求发送至处于正常状态的所述控制器,通过处于正常状态的所述控制器根据所述请求控制相应的所述存储模块,包括:
识别处于异常状态的所述控制器的个数N是否符合预设条件;
当N符合预设条件时,根据X的个数为处于正常状态的所述控制器分配所述存储模块。
可选的,所述预设条件为:X≥N/2。
可选的,还包括:
当X个所述控制器由异常状态转换为正常状态、N-X个所述控制器持续处于正常状态时,识别X个由异常状态转换为正常状态的所述控制器对应的所述存储模块中的数据是否有效;
当由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中的数据均有效时,根据持续处于正常状态的N-X个所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中存储的数据进行增量同步;
当由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中至少有一个所述存储模块中的数据无效时,清空由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中存储的数据,根据持续处于正常状态的N-X个所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中存储的数据进行全量同步。
可选的,当N个所述控制器均处于正常状态时,每个所述控制器根据接收到的请求控制相应的所述存储模块。
为实现上述目的,本发明还提供一种双控制器存储设备,包括:
盘体;
两个控制器,分别设置于所述盘体上;
存储阵列,设置于所述盘体上,设置有两个连接口,所述存储阵列采用Cassandra数据存储结构,包括两组存储模块,每组存储模块对应一个所述连接口,每一个所述控制器对应一组存储模块,所述控制器通过所述连接口与对应的一组所述存储模块连接;
控制单元,设置于所述盘体上,分别连接两个所述控制器,用于监测各个所述控制器的工作状态,所述工作状态包括正常状态和异常状态,所述控制单元还用于当一个所述控制器处于异常状态、另一个所述控制器处于正常状态时,将处于异常状态的所述控制器接收到的请求发送至处于正常状态的所述控制器,通过处于正常状态的所述控制器根据所述请求控制相应的所述存储模块。
可选的,还包括:
识别单元,设置于所述盘体上,分别连接所述存储阵列和所述控制单元,所述识别单元用于当一个所述控制器由异常状态转换为正常状态、另一个所述控制器持续处于正常状态时,识别由异常状态转换为正常状态的所述控制器对应的一组存储模块中的数据是否有效;
同步单元,设置于所述盘体上,分别连接所述识别单元和所述存储阵列,用于当由异常状态转换为正常状态的所述控制器对应的两个所述存储模块中的数据均有效时,根据持续处于正常状态的所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据进行增量同步;
所述同步单元还用于当由异常状态转换为正常状态的所述控制器对应的两个所述存储模块中至少有一个所述存储模块中的数据无效时,清空由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据,根据持续处于正常状态的所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据进行全量同步。
可选的,所述控制单元还用于当两个所述控制器均处于正常状态时,控制每个所述控制器根据接收到的请求控制相应的所述存储模块。
可选的,每组所述存储模块包括两个存储模块。
为实现上述目的,本发明还提供一种多控制器存储设备,包括:
盘体;
N个控制器,分别设置于所述盘体上,其中,N为大于或等于4的整数;
存储阵列,设置于所述盘体上,设置有N个连接口,所述存储阵列采用Cassandra数据存储结构,包括W个存储模块,每一个所述控制器对应至少一个所述存储模块,所述控制器通过所述连接口与对应的所述存储模块连接,其中,W为整数且W≥N;
控制单元,设置于所述盘体上,分别连接N个所述控制器,用于监测各个所述控制器的工作状态,所述工作状态包括正常状态和异常状态;所述控制单元还用于当X个所述控制器处于异常状态、N-X个所述控制器处于正常状态时,将处于异常状态的所述控制器接收到的请求发送至处于正常状态的所述控制器,通过处于正常状态的所述控制器根据所述请求控制相应的所述存储模块。
本发明提供的基于双控制器的存储控制方法采用Cassandra数据存储结构实现存储阵列中的存储模块间的数据同步,以保证存储阵列中所有存储模块存储数据的一致性及安全性;通过监测两个控制器的工作状态,能够实现在一个控制器处于异常状态、另一个控制器处于正常状态时,将处于异常状态的控制器接收到的请求发送至处于正常状态的控制器,从而采用处于正常状态的控制器根据请求控制相应的存储模块,以执行相应服务,避免了控制器出现异常后,服务中断的情况,保证控制器之间的无缝切换,提升用户的体验效果。
附图说明
图1为本发明所述基于双控制器的存储控制方法的一种实施例的流程图;
图2为本发明控制器与存储阵列连接的一种实施例的示意图;
图3为本发明所述基于双控制器的存储控制方法的另一种实施例的流程图;
图4为本发明所述的基于多控制器的管理存储控制方法的一种实施例的流程图;
图5为本发明所述的基于多控制器的管理存储控制方法的另一种实施例的流程图;
图6为本发明所述的双控制器存储设备的一种实施例的模块图;
图7为本发明所述的双控制器存储设备的另一种实施例的模块图;
图8为本发明控制器与存储阵列连接的另一种实施例的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本发明的基于双控制器的存储控制方法应用于双控制器的电子设备,采用Cassandra数据存储结构实现存储阵列中的存储模块间的数据同步,以保证存储阵列中所有存储模块存储数据的一致性及安全性;通过监测两个控制器的工作状态,能够实现在一个控制器处于异常状态、另一个控制器处于正常状态时,将处于异常状态的控制器接收到的请求发送至处于正常状态的控制器,从而采用处于正常状态的控制器根据请求控制相应的存储模块,以执行相应服务,避免了控制器出现异常后,服务中断的情况,保证控制器之间的无缝切换,提升用户的体验效果。
实施例一
本实施例的一种基于双控制器的存储控制方法,应用于双控制器的电子设备,每一个所述控制器分别与采用Cassandra数据存储结构的存储阵列通信连接,所述存储阵列包括两组存储模块,每组存储模块与一个所述控制器对应,所述每组存储模块包括至少一个存储模块。
需要说明的是:Cassandra数据存储结构为分布式网络服务,当存储阵列中的一个存储模块进行写操作时,会被复制到存储阵列中的其他存储模块中;同理,对存储阵列中的一个存储模块进行读操作时,也可以会被跳转到存储阵列中的其他存储模块中读取。
作为举例而非限定,每组所述存储模块可包括两个存储模块。
本实施例中,存储阵列可采用固态硬盘(Solid State Disk或Solid StateDrive,简称SSD),例如:24盘位磁盘阵列,固态硬盘分为四个分区,每个分区对应一个存储模块。存储阵列中的存储模块之间是互相独立的。控制器可以通过接口与存储阵列电连接,控制器还可以与存储阵列远程连接。每个控制器均可具有独立的内存、CPU及主板等硬件,两个控制器可共享内部网卡。
请参阅图1,所述基于双控制器的存储控制方法包括以下步骤:
S11.监测每一个所述控制器的工作状态,所述工作状态包括正常状态和异常状态。
本实施例中,异常状态是指控制器受到损坏或宕机,无法正常工作的状态。当控制器处于正常状态时,控制器可根据接收到的请求,对于该控制器对应的存储模块进行读写等操作;当控制器处于异常状态时,则该控制器无法对接收到的请求做出相应的响应操作。
S12.当一个所述控制器处于异常状态、另一个所述控制器处于正常状态时,将处于异常状态的所述控制器接收到的请求发送至处于正常状态的所述控制器,通过处于正常状态的所述控制器根据所述请求控制相应的所述存储模块。
作为举例而非限定,参阅图2所示,存储阵列包括存储模块1、存储模块2、存储模块3和存储模块4,存储模块1和存储模块2为一组,存储模块3和存储模块4为一组;控制器A与存储模块1和存储模块2通信连接,控制器B与存储模块3和存储模块4通信连接,当控制器A处于异常状态,控制器B处正常状态时,可采用控制器B根据控制器A接收到的用户发送请求,控制存储模块3和存储模块4,从而保证了存储阵列中存储模块读写的一致性,并且避免因控制器出现异常服务中断的情况,实现控制器A和控制器B之间的无缝切换,提升用户的体验效果。
需要说明的是:两个控制器之间是互相独立的,当两个所述控制器均处于正常状态时,每个所述控制器均可根据接收到的请求控制相应的所述存储模块。
本实施例中,基于双控制器的存储控制方法采用Cassandra数据存储结构实现存储阵列中的存储模块间的数据同步,以保证存储阵列中所有存储模块存储数据的一致性及安全性;通过监测两个控制器的工作状态,能够实现在一个控制器处于异常状态、另一个控制器处于正常状态时,将处于异常状态的控制器接收到的请求发送至处于正常状态的控制器,从而采用处于正常状态的控制器根据请求控制相应的存储模块,以执行相应服务,避免了控制器出现异常后,服务中断的情况,保证控制器之间的无缝切换,提升用户的体验效果,保证存储模块的读写稳定性。
在一实施例中,参阅图3,基于双控制器的存储控制方法还可包括以下步骤:
S13.当一个所述控制器由异常状态转换为正常状态、另一个所述控制器持续处于正常状态时,识别由异常状态转换为正常状态的所述控制器对应的一组存储模块中的数据是否有效,若是,执行步骤S14;若否,执行步骤S15;
在本步骤中,可通过识别存储模块是否有坏块或者文件丢失的情况,从而达到校验的目的。
进一步地,可采用MD5(信息摘要算法)校验方式识别存储模块中的数据是否有效。
本实施例中,为了保证存储阵列中存储模块间数据的一致性,在识别存储模块数据时,若异常状态转换为正常状态的控制器对应的一组存储模块中的数据均有效,则执行步骤S14;若异常状态转换为正常状态的控制器对应的至少一个存储模块中的数据无效,则执行步骤S15。
S14.根据持续处于正常状态的所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据进行增量同步。
本实施例中,增量同步是指抓取控制器处于异常时刻以后,持续处于正常状态的控制器存储的数据来同步,不是无规律的全量同步,以提高同步的效率,保证存储阵列中所有存储模块存储数据的一致性。
S15.清空由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据,根据持续处于正常状态的所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据进行全量同步。
本实施例中,全量同步是指将持续处于正常状态的控制器对应的一个存储模块中的数据全部拷贝到由异常状态转换为正常状态的控制器对应的一组存储模块中(即:全部覆盖),从而保证存储阵列中所有存储模块存储数据的一致性。
实施例二
本实施例的一种基于多控制器的管理存储控制方法,应用于N个控制器的电子设备,每一个所述控制器分别与采用Cassandra数据存储结构的存储阵列通信连接,所述存储阵列包括W个存储模块,每一个所述控制器对应至少一个所述存储模块;其中,N为大于或等于4的整数,W为整数且W≥N。
本实施例中,存储阵列可采用固态硬盘(Solid State Disk或Solid StateDrive,简称SSD)。固态硬盘分为W个分区,每个分区对应一个存储模块。存储阵列中的存储模块之间是互相独立的。控制器可以通过接口与存储阵列电连接,控制器还可以与存储阵列远程连接。控制器可以有4个或者8个。
请参阅图4,所述基于多控制器的管理存储控制方法可包括以下步骤:
S21.监测每一个所述控制器的工作状态,所述工作状态包括正常状态和异常状态。
本实施例中,异常状态是指控制器受到损坏或宕机,无法正常工作的状态。当控制器处于正常状态时,控制器可根据接收到的请求,对于该控制器对应的存储模块进行读写等操作;当控制器处于异常状态时,则该控制器无法对接收到的请求做出相应的响应操作。
S22.当X个所述控制器处于异常状态、N-X个所述控制器处于正常状态时,将处于异常状态的所述控制器接收到的请求发送至处于正常状态的所述控制器,通过处于正常状态的所述控制器根据所述请求控制相应的所述存储模块。
作为举例而非限定,如图2所示存储阵列包括存储模块1、存储模块2、存储模块3和存储模块4;控制器A与存储模块1通信连接,控制器B与存储模块2通信连接,控制器C与存储模块3通信连接,控制器D与存储模块4通信连接。当控制器A处于异常状态,控制器B、控制器C和控制器D处正常状态时,可采用控制器C根据控制器A接收到的用户发送请求控制存储模块3,从而保证了存储阵列中存储模块读写的一致性,并且避免因控制器出现异常服务中断的情况,实现控制器A和控制器C之间的无缝切换,提升用户的体验效果。
进一步地,步骤S22可包括:
识别处于异常状态的所述控制器的个数N是否符合预设条件。当N符合预设条件时,根据X的个数为处于正常状态的所述控制器分配所述存储模块。
其中,所述预设条件为:X≥N/2。
本实施例中,通过识别N是否符合预设条件,判定当前异常的控制器个数是否达到控制器总数的一半,若是,重新对分配存储模块。
作为举例而非限定,可为X的个数为处于正常状态的控制器分配2X个存储模块。
需要说明的是:所有的控制器之间是互相独立的,当N个所述控制器均处于正常状态时,每个所述控制器均可根据接收到的请求控制相应的所述存储模块。
本实施例中,基于多控制器的管理存储控制方法采用Cassandra数据存储结构实现存储阵列中的存储模块间的数据同步,以保证存储阵列中所有存储模块存储数据的一致性及安全性;通过监测每一个控制器的工作状态,能够实现在一部分控制器处于异常状态、另一部分控制器处于正常状态时,将处于异常状态的控制器接收到的请求发送至处于正常状态的控制器,从而采用处于正常状态的控制器根据请求控制相应的存储模块,以执行相应服务,避免了控制器出现异常后,服务中断的情况,保证控制器之间的无缝切换,提升用户的体验效果。
在一实施例中,参阅图5,基于多控制器的管理存储控制方法,还可包括以下步骤:
S23.当X个所述控制器由异常状态转换为正常状态、N-X个所述控制器持续处于正常状态时,识别X个由异常状态转换为正常状态的所述控制器对应的所述存储模块中的数据是否有效,若是,执行步骤S24;若否,执行步骤S25。
在本步骤中,可通过识别存储模块是否有坏块或者文件丢失的情况,从而达到校验的目的。
进一步地,可采用MD5校验方式识别存储模块中的数据是否有效。
本实施例中,为了保证存储阵列中存储模块间数据的一致性,在识别存储模块数据时,若由异常状态转换为正常状态的X个控制器对应的存储模块中的数据均有效,则执行步骤S24;若由异常状态转换为正常状态的X个控制器对应的存储模块中至少有一个存储模块中的数据无效,则执行步骤S25。
S24.根据持续处于正常状态的N-X个所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中存储的数据进行增量同步。
本实施例中,采用增量同步的方式提高了数据同步的效率,保证存储阵列中所有存储模块存储数据的一致性。
S25.清空由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中存储的数据,根据持续处于正常状态的N-X个所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中存储的数据进行全量同步。
本实施例中,采用全量同步的方式保证存储阵列中所有存储模块存储数据的一致性。
实施例三
请参阅图6,本实施例的一种双控制器存储设备,包括:盘体31、两个控制器33、存储阵列32和控制单元34。
两个控制器33,分别设置于所述盘体31上。
存储阵列32,设置于所述盘体31上,设置有两个连接口,所述存储阵列32采用Cassandra数据存储结构,包括两组存储模块,每组存储模块对应一个所述连接口,每一个所述控制器33对应一组存储模块,所述控制器33通过所述连接口与对应的一组所述存储模块连接。
作为举例而非限定,每组所述存储模块包括两个存储模块。
本实施例中,存储阵列32可采用固态硬盘(Solid State Disk或Solid StateDrive,简称SSD),例如:24盘位磁盘阵列,固态硬盘分为四个分区,每个分区对应一个存储模块。存储阵列32中的存储模块之间是互相独立的。控制器33可以通过接口与存储阵列32电连接,控制器33还可以与存储阵列32远程连接。
控制单元34,设置于所述盘体31上,分别连接两个所述控制器33,用于监测各个所述控制器33的工作状态,所述工作状态包括正常状态和异常状态,所述控制单元34还用于当一个所述控制器33处于异常状态、另一个所述控制器33处于正常状态时,将处于异常状态的所述控制器33接收到的请求发送至处于正常状态的所述控制器33,通过处于正常状态的所述控制器33根据所述请求控制相应的所述存储模块。
需要说明的是:所述控制单元34还可用于当两个所述控制器33均处于正常状态时,控制每个所述控制器33根据接收到的请求控制相应的所述存储模块。
本实施例中,异常状态是指控制器33受到损坏或宕机,无法正常工作的状态。
作为举例而非限定,存储阵列可设置于盘体的正面,控制器A和控制器B设置于盘体的背面;参阅图2所示存储阵列包括存储模块1、存储模块2、存储模块3和存储模块4;控制器A通过连接口与存储模块1和存储模块2通信连接,控制器B通过连接口与存储模块3和存储模块4通信连接,当控制器A处于异常状态,控制器B处正常状态时,控制单元可控制控制器B根据控制器A接收到的用户发送请求,控制存储模块3和存储模块4,从而保证了存储阵列中存储模块读写的一致性,并且避免因控制器出现异常服务中断的情况,实现控制器A和控制器B之间的无缝切换,提升用户的体验效果。
需要说明的是:两个控制器33之间是互相独立的,当两个所述控制器33均处于正常状态时,每个所述控制器33均可根据接收到的请求控制相应的所述存储模块。
本实施例中,双控制器存储设备中的存储阵列32采用Cassandra数据存储结构实现存储阵列32中的存储模块间的数据同步,以保证存储阵列32中所有存储模块存储数据的一致性及安全性;通过控制单元34监测两个控制器33的工作状态,能够实现在一个控制器33处于异常状态、另一个控制器33处于正常状态时,将处于异常状态的控制器33接收到的请求发送至处于正常状态的控制器33,从而采用处于正常状态的控制器33根据请求控制相应的存储模块,以执行相应服务,避免了控制器33出现异常后,服务中断的情况,保证控制器33之间的无缝切换,提升用户的体验效果。
在一实施例中,参阅图7,双控制器存储设备还可包括:识别单元35和同步单元36。
识别单元35,设置于所述盘体31上,分别连接所述存储阵列32和所述控制单元34,所述识别单元35用于当一个所述控制器33由异常状态转换为正常状态、另一个所述控制器33持续处于正常状态时,识别由异常状态转换为正常状态的所述控制器33对应的一组存储模块中的数据是否有效。
本实施例中,识别单元35可通过识别存储模块是否有坏块或者文件丢失的情况,从而达到校验的目的。识别单元35可采用MD5校验方式识别存储模块中的数据是否有效。
同步单元36,设置于所述盘体31上,分别连接所述识别单元35和所述存储阵列32,用于当由异常状态转换为正常状态的所述控制器33对应的两个所述存储模块中的数据均有效时,根据持续处于正常状态的所述控制器33对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的所述控制器33对应的一组存储模块中存储的数据进行增量同步。通过增量同步的方式提高同步的效率,保证存储阵列32中所有存储模块存储数据的一致性。
所述同步单元36还用于当由异常状态转换为正常状态的所述控制器33对应的两个所述存储模块中至少有一个所述存储模块中的数据无效时,清空由异常状态转换为正常状态的所述控制器33对应的一组存储模块中存储的数据,根据持续处于正常状态的所述控制器33对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的所述控制器33对应的一组存储模块中存储的数据进行全量同步。通过全量同步的方式保证存储阵列32中所有存储模块存储数据的一致性。
实施例四
本实施例的一种多控制器存储设备,包括:盘体、N个控制器、存储阵列和控制单元。
N个控制器,分别设置于所述盘体上,其中,N为大于或等于4的整数。
存储阵列,设置于所述盘体上,设置有N个连接口,所述存储阵列采用Cassandra数据存储结构,包括W个存储模块,每一个所述控制器对应至少一个所述存储模块,所述控制器通过所述连接口与对应的所述存储模块连接,其中,W为整数且W≥N。
本实施例中,存储阵列可采用固态硬盘(Solid State Disk或Solid StateDrive,简称SSD)。固态硬盘分为W个分区,每个分区对应一个存储模块。存储阵列中的存储模块之间是互相独立的。控制器可以通过接口与存储阵列电连接,控制器还可以与存储阵列远程连接。控制器可以有4个或者8个。
控制单元,设置于所述盘体上,分别连接N个所述控制器,用于监测各个所述控制器的工作状态,所述工作状态包括正常状态和异常状态;所述控制单元还用于当X个所述控制器处于异常状态、N-X个所述控制器处于正常状态时,将处于异常状态的所述控制器接收到的请求发送至处于正常状态的所述控制器,通过处于正常状态的所述控制器根据所述请求控制相应的所述存储模块。
作为举例而非限定,如图8所示存储阵列包括存储模块1、存储模块2、存储模块3和存储模块4;控制器A与存储模块1通信连接,控制器B与存储模块2通信连接,控制器C与存储模块3通信连接,控制器D与存储模块4通信连接。当控制器A处于异常状态,控制器B、控制器C和控制器D处正常状态时,可采用控制器C根据控制器A接收到的用户发送请求控制存储模块3,从而保证了存储阵列中存储模块读写的一致性,并且避免因控制器出现异常服务中断的情况,实现控制器A和控制器C之间的无缝切换,提升用户的体验效果。
本实施例中,多控制器存储设备存储阵列采用Cassandra数据存储结构实现存储阵列中的存储模块间的数据同步,以保证存储阵列中所有存储模块存储数据的一致性及安全性;通过控制单元监测每一个控制器的工作状态,能够实现在一部分控制器处于异常状态、另一部分控制器处于正常状态时,将处于异常状态的控制器接收到的请求发送至处于正常状态的控制器,从而采用处于正常状态的控制器根据请求控制相应的存储模块,以执行相应服务,避免了控制器出现异常后,服务中断的情况,保证控制器之间的无缝切换,提升用户的体验效果。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (11)

1.一种基于双控制器的存储控制方法,其特征在于,应用于双控制器的电子设备,每一个所述控制器分别与采用Cassandra数据存储结构的存储阵列通信连接,所述存储阵列包括两组存储模块,每组存储模块与一个所述控制器对应,所述每组存储模块包括至少一个存储模块,所述基于双控制器的存储控制方法包括:
监测每一个所述控制器的工作状态,所述工作状态包括正常状态和异常状态;
当一个所述控制器处于异常状态、另一个所述控制器处于正常状态时,将处于异常状态的所述控制器接收到的请求发送至处于正常状态的所述控制器,通过处于正常状态的所述控制器根据所述请求控制相应的所述存储模块;
当一个所述控制器由异常状态转换为正常状态、另一个所述控制器持续处于正常状态时,识别由异常状态转换为正常状态的所述控制器对应的一组存储模块中的数据是否有效;
若是,根据持续处于正常状态的所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据进行增量同步;
若否,清空由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据,根据持续处于正常状态的所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据进行全量同步。
2.根据权利要求1所述的基于双控制器的存储控制方法,其特征在于,当两个所述控制器均处于正常状态时,每个所述控制器根据接收到的请求控制相应的所述存储模块。
3.根据权利要求1所述的于双控制器的存储控制方法,其特征在于,每组所述存储模块包括两个存储模块。
4.一种基于多控制器的管理存储控制方法,其特征在于,应用于N个控制器的电子设备,每一个所述控制器分别与采用Cassandra数据存储结构的存储阵列通信连接,所述存储阵列包括W个存储模块,每一个所述控制器对应至少一个所述存储模块,其中,N为大于或等于4的整数,W为整数且W≥N,所述基于多控制器的管理存储控制方法包括:
监测每一个所述控制器的工作状态,所述工作状态包括正常状态和异常状态;
当X个所述控制器处于异常状态、N-X个所述控制器处于正常状态时,将处于异常状态的所述控制器接收到的请求发送至处于正常状态的所述控制器,通过处于正常状态的所述控制器根据所述请求控制相应的所述存储模块;
当X个所述控制器由异常状态转换为正常状态、N-X个所述控制器持续处于正常状态时,识别X个由异常状态转换为正常状态的所述控制器对应的所述存储模块中的数据是否有效;
当由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中的数据均有效时,根据持续处于正常状态的N-X个所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中存储的数据进行增量同步;
当由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中至少有一个所述存储模块中的数据无效时,清空由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中存储的数据,根据持续处于正常状态的N-X个所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中存储的数据进行全量同步。
5.根据权利要求4所述的基于多控制器的管理存储控制方法,其特征在于,当X个所述控制器处于异常状态、N-X个所述控制器处于正常状态时,将处于异常状态的所述控制器接收到的请求发送至处于正常状态的所述控制器,通过处于正常状态的所述控制器根据所述请求控制相应的所述存储模块,包括:
识别处于异常状态的所述控制器的个数N是否符合预设条件;
当N符合预设条件时,根据X的个数为处于正常状态的所述控制器分配所述存储模块。
6.根据权利要求5所述的基于多控制器的管理存储控制方法,其特征在于,所述预设条件为:X≥N/2。
7.根据权利要求5所述的基于多控制器的管理存储控制方法,其特征在于,当N个所述控制器均处于正常状态时,每个所述控制器根据接收到的请求控制相应的所述存储模块。
8.一种双控制器存储设备,其特征在于,包括:
盘体;
两个控制器,分别设置于所述盘体上;
存储阵列,设置于所述盘体上,设置有两个连接口,所述存储阵列采用Cassandra数据存储结构,包括两组存储模块,每组存储模块对应一个所述连接口,每一个所述控制器对应一组存储模块,所述控制器通过所述连接口与对应的一组所述存储模块连接;
控制单元,设置于所述盘体上,分别连接两个所述控制器,用于监测各个所述控制器的工作状态,所述工作状态包括正常状态和异常状态,所述控制单元还用于当一个所述控制器处于异常状态、另一个所述控制器处于正常状态时,将处于异常状态的所述控制器接收到的请求发送至处于正常状态的所述控制器,通过处于正常状态的所述控制器根据所述请求控制相应的所述存储模块;
识别单元,设置于所述盘体上,分别连接所述存储阵列和所述控制单元,所述识别单元用于当一个所述控制器由异常状态转换为正常状态、另一个所述控制器持续处于正常状态时,识别由异常状态转换为正常状态的所述控制器对应的一组存储模块中的数据是否有效;
同步单元,设置于所述盘体上,分别连接所述识别单元和所述存储阵列,用于当由异常状态转换为正常状态的所述控制器对应的两个所述存储模块中的数据均有效时,根据持续处于正常状态的所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据进行增量同步;
所述同步单元还用于当由异常状态转换为正常状态的所述控制器对应的两个所述存储模块中至少有一个所述存储模块中的数据无效时,清空由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据,根据持续处于正常状态的所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的所述控制器对应的一组存储模块中存储的数据进行全量同步。
9.根据权利要求8所述的双控制器存储设备,其特征在于,所述控制单元还用于当两个所述控制器均处于正常状态时,控制每个所述控制器根据接收到的请求控制相应的所述存储模块。
10.根据权利要求8所述的双控制器存储设备,其特征在于,每组所述存储模块包括两个存储模块。
11.一种多控制器存储设备,其特征在于,包括:
盘体;
N个控制器,分别设置于所述盘体上,其中,N为大于或等于4的整数;
存储阵列,设置于所述盘体上,设置有N个连接口,所述存储阵列采用Cassandra数据存储结构,包括W个存储模块,每一个所述控制器对应至少一个所述存储模块,所述控制器通过所述连接口与对应的所述存储模块连接,其中,W为整数且W≥N;
控制单元,设置于所述盘体上,分别连接N个所述控制器,用于监测各个所述控制器的工作状态,所述工作状态包括正常状态和异常状态;所述控制单元还用于当X个所述控制器处于异常状态、N-X个所述控制器处于正常状态时,将处于异常状态的所述控制器接收到的请求发送至处于正常状态的所述控制器,通过处于正常状态的所述控制器根据所述请求控制相应的所述存储模块;
识别单元,设置于所述盘体上,分别连接所述存储阵列和所述控制单元,所述识别单元用于当X个所述控制器由异常状态转换为正常状态、N-X个所述控制器持续处于正常状态时,识别X个由异常状态转换为正常状态的所述控制器对应的所述存储模块中的数据是否有效;
同步单元,设置于所述盘体上,分别连接所述识别单元和所述存储阵列,用于当由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中的数据均有效时,根据持续处于正常状态的N-X个所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中存储的数据进行增量同步;
所述同步单元还用于当由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中至少有一个所述存储模块中的数据无效时,清空由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中存储的数据,根据持续处于正常状态的N-X个所述控制器对应的所述存储模块中存储的数据,对由异常状态转换为正常状态的X个所述控制器对应的所述存储模块中存储的数据进行全量同步。
CN202011085088.3A 2020-10-12 2020-10-12 基于多控制器的管理存储控制方法及存储设备 Active CN112181705B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011085088.3A CN112181705B (zh) 2020-10-12 2020-10-12 基于多控制器的管理存储控制方法及存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011085088.3A CN112181705B (zh) 2020-10-12 2020-10-12 基于多控制器的管理存储控制方法及存储设备

Publications (2)

Publication Number Publication Date
CN112181705A CN112181705A (zh) 2021-01-05
CN112181705B true CN112181705B (zh) 2023-02-03

Family

ID=73949407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011085088.3A Active CN112181705B (zh) 2020-10-12 2020-10-12 基于多控制器的管理存储控制方法及存储设备

Country Status (1)

Country Link
CN (1) CN112181705B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630232A (zh) * 2008-07-15 2010-01-20 中兴通讯股份有限公司 双存储控制器的管理方法和装置
CN101739220A (zh) * 2009-02-25 2010-06-16 浪潮电子信息产业股份有限公司 一种多控制器存储阵列的设计方法
CN109672544A (zh) * 2017-10-13 2019-04-23 杭州海康威视系统技术有限公司 一种数据处理方法、装置及分布式存储系统
CN109739696A (zh) * 2018-12-13 2019-05-10 北京计算机技术及应用研究所 一种双控存储阵列固态硬盘缓存加速方法
US10338851B1 (en) * 2018-01-16 2019-07-02 EMC IP Holding Company LLC Storage system with consistent termination of data replication across multiple distributed processing modules

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630232A (zh) * 2008-07-15 2010-01-20 中兴通讯股份有限公司 双存储控制器的管理方法和装置
CN101739220A (zh) * 2009-02-25 2010-06-16 浪潮电子信息产业股份有限公司 一种多控制器存储阵列的设计方法
CN109672544A (zh) * 2017-10-13 2019-04-23 杭州海康威视系统技术有限公司 一种数据处理方法、装置及分布式存储系统
US10338851B1 (en) * 2018-01-16 2019-07-02 EMC IP Holding Company LLC Storage system with consistent termination of data replication across multiple distributed processing modules
CN109739696A (zh) * 2018-12-13 2019-05-10 北京计算机技术及应用研究所 一种双控存储阵列固态硬盘缓存加速方法

Also Published As

Publication number Publication date
CN112181705A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN202798798U (zh) 基于云计算技术的高可用系统
EP2557494B1 (en) Storage apparatus and data copy method between thin-provisioning virtual volumes
EP2088508A2 (en) Storage subsystem and control method thereof
US8504786B2 (en) Method and apparatus for backing up storage system data
CN102984268A (zh) 用于高可用集群的scsi共享存储资源访问方法及装置
US20050257014A1 (en) Computer system and a management method of a computer system
US9092396B2 (en) Standby system device, a control method, and a program thereof
US20160246746A1 (en) Sas configuration management
US20220334733A1 (en) Data restoration method and related device
CN109684257B (zh) 一种远程内存扩展管理系统
US20210334229A1 (en) File transfer method, apparatus, device between bmcs and storage medium
CN112543922A (zh) 一种提高存储系统可靠性的方法和相关装置
CN112181705B (zh) 基于多控制器的管理存储控制方法及存储设备
CN110674539B (zh) 一种硬盘保护设备、方法及系统
JP2006189963A (ja) ストレージアクセス制御方法、クラスタシステム、パス接続スイッチおよびストレージアクセス制御プログラム
CN114553900B (zh) 一种分布式块存储管理系统、方法及电子设备
JP2006114064A (ja) 記憶サブシステム
US11704180B2 (en) Method, electronic device, and computer product for storage management
JP6134720B2 (ja) 接続方法
JP2007334668A (ja) メモリダンプ方法、クラスタシステム、それを構成するノードおよびプログラム
CN113535471A (zh) 集群服务器
CN102081579A (zh) 双控制器存储设备的缓存镜像系统及方法
CN111737062A (zh) 一种备份处理方法、装置及系统
CN113742142A (zh) 存储系统管理sata硬盘的方法及存储系统
CN112463669B (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
GR01 Patent grant
GR01 Patent grant