Fault processing method of storage controller and electronic equipment
By switching cache module states and identifying failure scenarios in the event of a failure, the problem of long business interruptions caused by mirror pair failures in multi-storage controller systems is resolved, and the continuity and integrity of data processing are achieved.
Patent Information
- Application Number
- CN202511304388.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-12
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2045-09-12
AI Technical Summary
In a multi-storage controller system, when two storage controllers in a mirrored pair fail simultaneously, the existing technology causes long service interruptions and data processing delays.
After a fault event is detected, the cache module is switched to a prohibited access state, the fault scenario is identified based on the flag information of the controller management module, data synchronization of the faulty mirror pair is prohibited, and the normally operating controller is switched to an allowed access state to process data requests.
It reduces the risk of data corruption or loss, avoids unnecessary global system suspension, shortens business interruption time, and ensures data integrity and system stability.
Smart Images

Figure CN120803798A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computers, and particularly relates to a fault processing method of a storage controller and an electronic device. BACKGROUND
[0002] In a distributed storage system, the storage controller is the core component of data reading, writing, processing and management, and its fault processing mechanism is crucial to the stability and data security of the system. With the explosive growth of data and the diversification of business needs, storage systems gradually develop towards high-end, large capacity and high availability. In high-end storage systems, multi-controller architecture (such as four-controller system) is widely used to provide higher parallel processing capability and redundancy.
[0003] In a multi-storage controller system, especially in a four-storage controller system with high availability, when two storage controllers in one mirror pair fail at the same time, the prior art usually suspends the related business until the controller is restored to normal.
[0004] That is, the fault processing method of the storage controller provided in the related art still has the technical problem of large data processing delay due to long business interruption. SUMMARY
[0005] The present application provides a fault processing method of a storage controller and an electronic device to at least solve the problem of large data processing delay in the related art.
[0006] The present application provides a fault processing method of a storage controller, comprising: in the case of obtaining a fault event triggered by a controller set, switching a cache module associated with the controller set to a first state in which access is prohibited, wherein the storage controllers in the controller set form a plurality of mirror pairs, and there is a data synchronization relationship between the two storage controllers in each mirror pair; determining a fault scenario corresponding to the controller set based on first flag information of a controller management module; in the case that the fault scenario is a first scenario for indicating that there is a fault mirror pair in the plurality of mirror pairs, sending an instruction to the cache module for indicating that data in the cache module is prohibited from being synchronized to a target storage space, wherein the storage controllers in the fault mirror pair are all in a fault state; switching the cache module to a second state in which access is allowed, so that the storage controllers in the controller set that are in a normal operating state process data processing requests using the corresponding cache module.
[0007] The application further provides a fault processing apparatus of a storage controller, comprising: a first state switching unit, configured to switch a cache module associated with a controller set into a first state in which the cache module is prohibited from being accessed, if a fault event triggered by the controller set is acquired, wherein the storage controllers in the controller set form a plurality of mirror pairs, and there is a data synchronization relationship between two storage controllers included in each mirror pair; a determination unit, configured to determine a fault scenario corresponding to the controller set based on first flag information of a controller management module; a sending unit, configured to send an instruction indicating that data in the cache module is prohibited from being synchronized to a target storage space to the cache module, if the fault scenario is a first scenario indicating that there is a fault mirror pair in the plurality of mirror pairs, wherein the storage controllers included in the fault mirror pair are all in a fault state; and a second state switching unit, configured to switch the cache module to a second state in which the cache module is allowed to be accessed, so that the storage controllers in the controller set which are in a normal operation state process data processing requests by using the corresponding cache modules.
[0008] The application further provides an electronic device, comprising: a memory configured to store a computer program; and a processor configured to implement the steps of the fault processing method of the storage controller when executing the computer program.
[0009] The application further provides a computer readable storage medium, wherein the computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the fault processing method of the storage controller.
[0010] The application further provides a computer program product, comprising a computer program, and the computer program is executed by a processor to implement the steps of the fault processing method of the storage controller.
[0011] In the embodiment of the present application, in the case that the controller set triggers a fault event, the cache module associated with the controller set is switched to a first state in which access is prohibited, wherein the storage controllers in the controller set form a plurality of mirror pairs, and there is a data synchronization relationship between the two storage controllers included in each mirror pair; based on the first flag information of the controller management module, the fault scenario corresponding to the controller set is determined; in the case that the fault scenario is a first scenario indicating that there is a fault mirror pair in the plurality of mirror pairs, an instruction is sent to the cache module, indicating that the data in the cache module is prohibited from being synchronized to a target storage space, wherein the storage controllers included in the fault mirror pair are all in a fault state; the cache module is switched to a second state in which access is allowed, so that the storage controllers in the controller set that are in a normal operating state process data processing requests using the corresponding cache module. By switching the cache module to the first state in which access is prohibited in a timely manner, the present application can immediately prevent the fault controller from further affecting the data and reduce the risk of data damage or loss. Based on the first flag information, the fault scenario is determined, which helps to more accurately identify which mirror pairs are affected when a fault occurs, thereby avoiding unnecessary global system suspension or restart and reducing business interruption time. In the fault mirror pair, the instruction is sent to prohibit the data in the cache module from being synchronized to the target storage space, ensuring that the data of the fault controller will not be synchronized incorrectly and protecting the integrity of the data. The cache module is switched from the first state to the second state, allowing the normally operating controllers to process data requests, and thus in the case of partial controller failure, necessary data processing services can still be provided, solving the technical problem of large data processing delay caused by long business interruption in the fault handling mode of the storage controller provided in the related art. BRIEF DESCRIPTION OF DRAWINGS
[0012] In order to more clearly illustrate the embodiments of the present application, the drawings needed in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.
[0013] Figure 1 A flowchart of a fault handling method of a storage controller provided in an embodiment of the present application;
[0014] Figure 2 A schematic diagram of a fault handling method of a storage controller provided in an embodiment of the present application;
[0015] Figure 3 A schematic diagram of another fault handling method of a storage controller provided in an embodiment of the present application;
[0016] Figure 4 FIG. 2 shows a flowchart of another method for handling a failure of a storage controller according to an embodiment of the present application;
[0017] Figure 5 FIG. 3 shows a schematic diagram of an apparatus for handling a failure of a storage controller according to an embodiment of the present application. DETAILED DESCRIPTION
[0018] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, any other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the present application.
[0019] It should be noted that, in the description of the present application, the terms “comprise”, “contain” or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such a process, method, article or device. The terms “first”, “second” and the like in the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence.
[0020] In order for those skilled in the art to better understand the technical solutions of the present application, the present application will be further described in detail below with reference to the drawings and specific embodiments.
[0021] As an optional solution, the above method for handling a failure of a storage controller comprises the following steps, as shown in FIG. 2. Figure 1
[0022] S102, in the case of obtaining a failure event triggered by a controller set, switching a cache module associated with the controller set to a first state in which the cache module is prohibited from being accessed, wherein the storage controllers in the controller set form a plurality of mirror pairs, and there is a data synchronization relationship between the two storage controllers in each mirror pair.
[0023] Optionally, the controller set refers to a set of multiple storage controllers in a storage system, which work cooperatively to handle data read / write, data synchronization and other management tasks. Each controller in the controller set is in the same input / output group (iogrp).
[0024] It should be noted that the above failure event refers to a hardware failure, a software failure or other abnormal state of one or more storage controllers in the controller set.
[0025] Optionally, the mirror pair can be, but is not limited to, used to indicate a pair of storage controllers existing in the controller set in the storage system, and a data redundancy and synchronization mechanism established between the pair of storage controllers. Specifically, the two storage controllers in each mirror pair are associated with each other, and through real-time or periodic data synchronization, data updates of one party can be timely reflected to the other party, thereby realizing redundant storage of data and enhancing the reliability and security of data. For example, through the cache module corresponding to the storage controller, the data stored in the memory space of the storage controller is synchronized in real time to the memory space of the other storage controller in the mirror pair.
[0026] Further, the mirror pairs in the controller set can be, but are not limited to, composed in a cyclic mirror manner. Specifically, in an input / output group (iogrp) of a plurality of controllers, each controller forms a data synchronization mirror pair with the next controller in the iogrp, and the last controller forms a mirror pair with the first controller, thereby forming a closed-loop data synchronization network. This cyclic mirror manner not only enhances the data redundancy and security, but also improves the fault handling capability and business continuity of the system through dynamic switching. For example, as shown in Figure 2 Assuming that the controller set includes four storage controllers, controller 1, controller 2, controller 3, and controller 4, controller 1 and controller 2 can form a mirror pair, controller 2 and controller 3 can form a mirror pair, controller 3 and controller 4 can form a mirror pair, and controller 4 and controller 1 can form a mirror pair.
[0027] It should be noted that the first state of being prohibited from being accessed is a temporary restricted state in which the cache module is placed by the system to protect data integrity. In this state, the cache module will not accept any data access request. For example, the cache module is switched to a quiesce state.
[0028] Further, the step of switching the cache module associated with the controller set to the first state of being prohibited from being accessed based on the acquisition of the fault event triggered by the controller set is executed immediately when the state machine detects a failure of a storage controller in the controller set. In order to protect the data from being affected, the state machine will place the cache module in a quiesce state.
[0029] S104, determining a fault scenario corresponding to the controller set based on the first flag information of the controller management module.
[0030] It should be noted that the first flag information described above is generated by the controller management module, and is used to identify whether there is a controller failure in the current system and the nature of the information. The controller management module described above can be but is not limited to the cluster module of the storage cluster where the controller set is located. The cluster module is one of the core components of the storage cluster system, and is mainly responsible for the coordination management, resource scheduling, and fault detection and recovery of all storage controllers in the cluster.
[0031] It should be noted that the first flag information based on the controller management module determines the fault scenario corresponding to the controller set can be but is not limited to indicating that the first flag information provided by the controller management module can help the system identify whether it is a single controller failure, multiple controller failures or a specific mirror pair failure.
[0032] S106, in the case of the first scenario indicating that there is a fault mirror pair in the plurality of mirror pairs, sending an instruction to the cache module for indicating that the data in the cache module is prohibited from being synchronized to the target storage space, wherein the storage controllers included in the fault mirror pair are in a fault state.
[0033] Optionally, the above-mentioned sending an instruction to the cache module for indicating that the data in the cache module is prohibited from being synchronized to the target storage space can be but is not limited to being completed under an acknowledgement (ACK) process.
[0034] It should be noted that the fault mirror pair refers to one or more mirror pairs in the controller set, in which two storage controllers fail simultaneously or successively.
[0035] Optionally, the target storage space refers to a storage medium in the storage system for persisting cache data, such as a hard disk or a solid-state storage device.
[0036] Further, in the case of the first scenario indicating that there is a fault mirror pair in the plurality of mirror pairs, sending an instruction to the cache module for indicating that the data in the cache module is prohibited from being synchronized to the target storage space can be but is not limited to being executed when the state machine determines that there is a fault mirror pair, the purpose is to prevent the data of the fault controller from being synchronized to the target storage space, and to avoid data inconsistency or data loss.
[0037] S108, switching the cache module to a second state allowing access, so that the storage controllers in the controller set in a normal operating state process data processing requests using the corresponding cache module.
[0038] It should be noted that the data processing request can be but is not limited to a read data request, a write data request, or a data management operation request, which is a service operation instruction received by the storage system during normal operation. The above switching of the cache module to the second state allowing access can be but is not limited to indicating to initiate a resume process to the cache module.
[0039] Optionally, in the present embodiment, each storage controller in the controller set can be but is not limited to being respectively configured with a cache module and a state machine, and each state machine needs to respectively perform the above steps.
[0040] It should be noted that the above step of switching the cache module to the second state allowing access, so that the storage controller in the normal operation state in the controller set processes the data processing request by using the corresponding cache module, is performed after the state machine confirms that at least one storage controller in the controller set is in the normal operation state. The cache module is switched from the access prohibited state to the access allowed state, ensuring that the normally operating controller can continue to process data requests and reducing service interruption.
[0041] In an embodiment of the present application, when a fault event triggered by a controller set is obtained, the cache module associated with the controller set is switched to a first state in which access is prohibited, wherein the storage controllers in the controller set form multiple mirror pairs, and there is a data synchronization relationship between the two storage controllers included in each mirror pair; based on the first flag information of the controller management module, the fault scenario corresponding to the controller set is determined; when the fault scenario is the first scenario for indicating that there is a faulty mirror pair in the multiple mirror pairs, an instruction is sent to the cache module for indicating that the data in the cache module is prohibited from being synchronized to the target storage space, wherein the storage controllers included in the faulty mirror pair are all in a faulty state; the cache module is switched to a second state in which access is allowed, so that the storage controllers in the controller set that are in a normal operating state use the corresponding cache module to process data processing requests. Using an embodiment of the present application, by promptly switching the cache module to the first state in which access is prohibited, the faulty controller can be immediately prevented from causing further impact on the data, reducing the risk of data damage or loss. Determining the fault scenario based on the first flag information helps to more accurately identify which mirror pairs are affected when a fault occurs, thereby avoiding unnecessary global system pauses or restarts and reducing business interruption time. Within the faulty mirror pair, a command is sent to prohibit data in the cache module from being synchronized to the target storage space, ensuring that data from the faulty controller is not incorrectly synchronized and protecting data integrity. Switching the cache module from a first state to a second state allows the normally functioning controller to process data requests. This allows necessary data processing services to be provided even in the event of partial controller failure, resolving the technical issue of significant data processing delays caused by prolonged service interruptions in storage controller failure handling methods provided in related technologies.
[0042] As an optional solution, after sending an instruction for instructing the cache module to prohibit synchronizing the data in the cache module to the target storage space, the method further includes:
[0043] Based on the first controller information obtained from the controller management module, updating the second controller information stored in the cache module, wherein the first controller information is used to indicate the operating status of the storage controller in the current controller set, and the second controller information is used to indicate the data status of the cache data corresponding to the storage controller in the controller set, and the data status is used to indicate the data integrity of the cache data of the storage controller;
[0044] The second controller information stored in the cache module is sent to the controller management module.
[0045] It should be noted that the first controller information includes but is not limited to key parameters such as the health status, online / offline status, and fault recovery progress of each storage controller, and is used to reflect the operating status of the entire controller set in real time.
[0046] Optionally, the second controller information is used to store and indicate the data status of cache data of each storage controller in the controller set, which can help the system understand whether the cache data of each controller is complete, available, or in a repair state.
[0047] It should be noted that the above data status includes but is not limited to information such as data integrity, data synchronization status and data access rights, which ensures that the cache module can make correct access and synchronization decisions based on the actual data situation.
[0048] Optionally, the above-mentioned updating of the second controller information stored in the cache module based on the first controller information obtained from the controller management module may include, but is not limited to: parsing the first controller information to identify the latest operating status of each storage controller in the controller set, such as online / offline status. Then, the parsed first controller information is compared with the second controller information currently stored in the cache module to identify the controllers whose data status has changed, especially those controllers whose cached data may be affected. Based on the operating status of the storage controller in the first controller information, the integrity of the cached data is evaluated. For example, if controller A is marked as offline, check whether the cached data related to A is complete and whether it needs to be marked as incomplete data. For the controllers whose data status has been identified to have changed, update the corresponding data status mark in the second controller information. For example, if controller B changes from an online state to a faulty state, and its cached data status mark was originally complete, this mark needs to be adjusted to an incomplete state to reflect the actual data situation.
[0049] Optionally, in this embodiment, after updating the second controller information, the method may further include, but is not limited to: updating the primary storage controller information of the primary storage controller in each of the multiple mirror pairs stored in the cache module.
[0050] Furthermore, when the second controller information stored in the cache module is sent to the controller management module, the primary storage controller information may be sent to the controller management module at the same time, but is not limited to the sending of the primary storage controller information.
[0051] It should be noted that the first controller information can include, but is not limited to, two types of information, i.e., information for representing the running state of each controller in the controller cluster, and information for representing the running state of the controller in each mirror pair corresponding to the controller cluster. Correspondingly, the second controller information can also include, but is not limited to, two types of information, i.e., information for representing the data state of the cache data of each controller in the controller cluster, and information for representing the data state of the cache data of the controller in each mirror pair corresponding to the controller cluster.
[0052] Optionally, the two types of information included in the first controller information can be represented by an int type array, specifically, one array is used to represent the running state of each controller in the controller cluster, and different running states correspond to different characters, such as 1 representing online and 0 representing offline. Multiple arrays are used to represent the running state information of the controllers in the multiple mirror pairs in the controller cluster, and correspondingly, different running states correspond to different characters, such as 1 representing online and 0 representing offline.
[0053] Further, the second controller information can be represented by referring to the second controller information, which will not be described in detail in this embodiment.
[0054] In the embodiment of the present application, the second controller information stored in the cache module is updated based on the first controller information obtained from the controller management module, wherein the first controller information is used to indicate the running state of the storage controller in the current controller set, and the second controller information is used to indicate the data state of the cache data corresponding to the storage controller in the controller set, and the data state is used to indicate the data integrity of the cache data of the storage controller. The second controller information stored in the cache module is sent to the controller management module. By updating the second controller information, the information synchronization between the cache module and the controller management module is ensured, and the running state of the controller and the integrity of the cache data can be reflected in real time. The update of the data state enables the cache module to make more reasonable access decisions based on the data integrity, such as limiting the synchronization of data when the data is incomplete, thereby avoiding potential errors caused by data synchronization.
[0055] As an optional solution, after the cache module is switched to the second state of allowing to be accessed, so that the storage controllers in the controller set in the normal running state process data processing requests by using the corresponding cache module, the method further includes:
[0056] S1, in the case where the controller set triggers a fault recovery event, the cache module is switched to the first state.
[0057] Optionally, the fault recovery event triggered by the controller set can be, but is not limited to, an event indicating that one or more storage controllers in the controller set recover from a fault state to a normal operation state.
[0058] It should be noted that the above switching the cache module to the first state means that the cache module enters the protection state of prohibiting access again when the fault recovery event is received.
[0059] S2, determining a fault scenario corresponding to the controller set based on the first flag information of the controller management module.
[0060] S3, in a case where the fault scenario is a second scenario indicating that there is no fault mirror pair in the plurality of mirror pairs, sending an instruction indicating that data in the cache module is allowed to be synchronized to a target storage space to the cache module;
[0061] It should be noted that the above no fault mirror pair can be, but is not limited to, a mirror pair in which all storage controllers included in all fault mirror pairs are in a fault state.
[0062] In the embodiment of the present application, in a case where the fault recovery event triggered by the controller set is acquired, the cache module is switched to the first state; based on the first flag information of the controller management module, a fault scenario corresponding to the controller set is determined; in a case where the fault scenario is a second scenario indicating that there is no fault mirror pair in the plurality of mirror pairs, an instruction indicating that data in the cache module is allowed to be synchronized to a target storage space is sent to the cache module; and the cache module is switched to a second state allowing to be accessed.
[0063] By using the embodiment of the present application, when the fault recovery event is detected, the cache module is immediately switched to the first state, so as to reconfirm the system state and avoid enabling the cache module too early before the fault is completely recovered, thereby avoiding potential data problems. In a case where the fault scenario is determined to be the second scenario (i.e., there is no fault mirror pair), data synchronization is allowed, which avoids unnecessary data integrity check operations in normal cases and improves the response speed and efficiency of the system.
[0064] As an optional solution, after the cache module is switched to the second state allowing to be accessed, the method further includes:
[0065] S1, updating the second controller information stored in the cache module based on third controller information acquired from the controller management module, wherein the third controller information is used to indicate the operation state of the storage controller in the current controller set.
[0066] Optionally, the third controller information and the first controller information are both information for indicating the real-time running state of the storage controller in the current controller set. However, the third controller information is obtained after the state machine obtains the fault recovery event, and the first controller information is obtained after the state machine obtains the fault event.
[0067] Further, the third controller information can be presented in the same way as the first controller information, and the content of the third controller information can be the same as the content of the first controller information. Therefore, the third controller information will not be described herein.
[0068] S2, sending the second controller information stored in the cache module to the controller management module.
[0069] In the embodiment of the present application, the second controller information stored in the cache module is updated based on the third controller information obtained from the controller management module, wherein the third controller information is used to indicate the running state of the storage controller in the current controller set; and the second controller information stored in the cache module is sent to the controller management module. In the embodiment of the present application, the second controller information of the cache module is updated by using the third controller information after the fault recovery, so that the cache module can reflect the latest running state of the controller in real time, thereby providing a basis for subsequent fault processing and data integrity management. Through the exchange of information between the cache module and the controller management module, the coordination between the components of the system is enhanced, which helps to improve the overall stability and fault recovery capability of the system.
[0070] As an optional solution, updating the second controller information stored in the cache module based on the third controller information obtained from the controller management module comprises:
[0071] S1, obtaining a plurality of first arrays in the third controller information and a plurality of second arrays in the second controller information, wherein the value of each element of each first array in the plurality of first arrays is used to represent the running state of each storage controller in each mirror pair in the plurality of mirror pairs, and the value of each element of each second array in the plurality of second arrays is used to represent the data state of the cache data of each storage controller in each mirror pair in the plurality of mirror pairs.
[0072] Optionally, the first array can be but is not limited to an int type array, and the second array can be but is not limited to an int type array. In the embodiment, the first array and the second array are not limited.
[0073] Further, each element in the first array corresponds to the running state of a storage controller in a mirror pair in the storage system, and is used to reflect the state change of each mirror pair in the controller set in real time. Optionally, each element in the second array corresponds to the data state of the cache data of a storage controller in a mirror pair in the storage system, and is used to reflect the data state of each mirror pair in the controller set in real time.
[0074] The controller historical running state information related to the mirror pair is stored, and each mirror pair is associated with a second array for subsequent state updating and data synchronization decision.
[0075] S2, comparing the values of the elements in each of the plurality of first arrays and the values of the elements in each of the plurality of second arrays.
[0076] It should be noted that the comparison of the values of the elements in each of the plurality of first arrays and the values of the elements in each of the plurality of second arrays can include but is not limited to comparing the i-th first array in the plurality of first arrays and the i-th second array in the plurality of second arrays, where i is a positive integer, and the i-th first array and the i-th second array are matched with the i-th mirror pair in the plurality of mirror pairs. In other words, when the above comparison step is performed, the first array and the second array of the same mirror pair are compared.
[0077] Further, when the i-th first array and the i-th second array are compared, the j-th element in the i-th first array and the j-th element in the i-th second array are compared, where j is a positive integer and j is less than or equal to 2, and the j-th element in the i-th first array and the j-th element in the i-th second array are matched with the same storage controller. In other words, when the above comparison step is performed, the elements corresponding to the same storage controller in the two arrays in the same mirror pair are compared.
[0078] S3, updating the first cache data of the first storage controller in the controller set with the data state being the first data state according to the comparison result, where the first data state is used to indicate that the first cache data is in an incomplete state.
[0079] It should be noted that the updating of the first cache data of the first storage controller in the controller set with the data state being the first data state according to the comparison result can include but is not limited to the following: when the comparison result indicates that the first element corresponding to the first storage controller in the first target array in the plurality of first arrays is inconsistent with the second element corresponding to the first storage controller in the second target array, the first cache data corresponding to the first storage controller is updated using the second cache data of the second storage controller in the target mirror pair.
[0080] S4, in the case of switching the first cache data corresponding to the first storage controller to the second data state, updating the element corresponding to the first storage controller in the second target array corresponding to the first storage controller in the plurality of second arrays, wherein the target mirror pair matched with the second target array includes the first storage controller.
[0081] Optionally, the second data state represents an identifier of data in a complete, secure or accessible state after processing, and once the state of the cache data is converted from the first data state to the second data state, it means that the integrity and consistency of the data are restored.
[0082] For example, the above can be exemplarily explained by the following examples, but is not limited thereto:
[0083] The cluster module sets the cache module business online node (i.e. cache data valid node) information. This task mainly includes two parts: four control iogrp granularity (using an int type data to represent the valid controller information of the cache module in the entire iogrp) and iogrp four sets of cache mirror pair granularity (using an int type array of 4 to represent the valid controller information of each mirror pair in the iogrp). Specifically, it includes: 1) cache module iogrp online controller update: the cache module obtains the online controller information of each mirror pair from the cluster, if the controller represented by the 0th bit of each mirror pair is invalid, it means that there is no valid controller in the entire iogrp, and cache data loss occurs in each mirror pair in the iogrp, at this time the online controller information of the cache module in the iogrp remains unchanged, otherwise the online controller of the cache module iogrp is the common part of the current saved online controller of the cluster and the cache. 2) cache module iogrp each mirror pair online controller information update: if there are still surviving nodes in the cluster for this mirror pair, the cache module online controller is the common part of the current saved online controller of the cluster and the cache (i.e. and operation, the reason: when the controller fails or recovers, the cluster online node will be updated, and the cache module needs to be completed after the cache data processing, therefore, the cluster online node and the cache module may differ, and the and operation is used to ensure that the real controller that saves valid cache data is obtained); if there is no surviving node in the cluster for this mirror pair (i.e. the mirror pair that causes the iogrp to enter the stall state), the cache module does not update the online node information (reason: the online node information in the cache module represents the node that saves valid cache data, when the mirror pair nodes fail at the same time, the valid cache data is not synchronized and still exists in the failed node, the storage system needs to wait for the controller to recover, therefore, the cache module online node information is not updated at this time).
[0084] In the embodiments of the present application, a plurality of first arrays in the third controller information and a plurality of second arrays in the second controller information are obtained, wherein a value of each element of each first array in the plurality of first arrays is used to represent the running state of each storage controller in each mirror pair; the values of the elements in each first array in the plurality of first arrays are compared with the values of the elements in each second array in the plurality of second arrays; the first cache data of the first storage controller in the controller set whose data state is the first data state is updated according to the comparison result, wherein the first data state is used to indicate that the first cache data is in an incomplete state; in the case that the first cache data corresponding to the first storage controller is switched to a second data state, the element corresponding to the first storage controller in the second target array in the plurality of second arrays is updated, wherein the target mirror pair matched with the second target array includes the first storage controller. By comparing the element values in the first and second arrays, the embodiments of the present application can accurately identify which controller cache data is in an incomplete state, which helps to perform targeted data recovery operations instead of blindly restarting the entire system. For the cache data in an incomplete state, measures can be taken to recover, such as using the data of the other controller in the mirror pair to update, to ensure the integrity and consistency of the data.
[0085] As an optional solution, updating the first cache data of the first storage controller in the controller set whose data state is the first data state according to the comparison result comprises:
[0086] In the case that the first element corresponding to the first storage controller in the first target array in the plurality of first arrays is inconsistent with the second element corresponding to the first storage controller in the second target array according to the comparison result, the second cache data of the second storage controller in the target mirror pair is used to update the first cache data corresponding to the first storage controller.
[0087] It should be noted that the comparison result indicates that, in the fault detection process, the system compares the elements in the plurality of first arrays and the second target array to determine whether the data state changes.
[0088] Optionally, the first element is part of the first target array that specifically indicates the state information of the first storage controller. The second element is the data state of the cache data of the first storage controller in the second target array.
[0089] That is, in this embodiment, if the comparison results indicate that the same storage controller (i.e., the first storage controller) in the same mirror pair has a normal operating status recorded on the cluster module side, but the cache data recorded on the cache module side is incomplete, it can be determined that the data of the normally operating first storage controller needs to be repaired to ensure the data integrity of the first storage controller. Therefore, in this case, the first cache data corresponding to the first storage controller is updated based on the cache data of the second storage controller in the target mirror pair.
[0090] In an embodiment of the present application, when a comparison result indicates that a first element corresponding to a first storage controller in a first target array among multiple first arrays is inconsistent with a second element corresponding to the first storage controller in a second target array, the second cache data of the second storage controller in the target mirror pair is used to update the first cache data corresponding to the first storage controller. With this embodiment of the present application, when element values are inconsistent, the incomplete cache data is updated using another properly functioning controller in the target mirror pair, which not only improves data availability but also optimizes the efficiency and accuracy of data recovery.
[0091] As an optional solution, when the first cache data corresponding to the first storage controller is switched to the second data state, updating the elements corresponding to the first storage controller in the second target array corresponding to the first storage controller in the plurality of second arrays includes:
[0092] When the first cache data corresponding to the first storage controller is switched to a second data state, the value of the element corresponding to the first storage controller in the second target array is modified to a value matching the second data state.
[0093] For example, assuming that the element value originally corresponding to the first storage controller in the second target array is 0, then when it is determined that the cache data of the first storage controller has been synchronized, the element value originally corresponding to the first storage controller in the second target array can be configured to 1.
[0094] In an embodiment of the present application, when the first cached data corresponding to the first storage controller is switched to a second data state, the value of the element corresponding to the first storage controller in the second target array is modified to a value that matches the second data state. Using this embodiment of the present application, when the cached data switches from an incomplete state to a complete state, the internal state flag of the cache module is updated. This allows the system to understand the change in data state in real time and adjust policies in a timely manner, such as opening data access or synchronizing operations, thereby improving the flexibility and responsiveness of the system.
[0095] As an optional solution, the determining of the fault scenario corresponding to the controller set based on the first flag information of the controller management module comprises:
[0096] In a case where the first flag information is a first value, the fault scenario is determined as a first scenario.
[0097] In a case where the first flag information is a second value, the fault scenario is determined as a second scenario, wherein the second scenario is used to indicate that there is no fault mirror pair in the plurality of mirror pairs.
[0098] For example, the first flag information is represented by the identifier STALL, in a case where the STALL is true, it can be determined that the current is a scenario of data loss caused by simultaneous failure of the same mirror pair controller (i.e., the first scenario), in a case where the STALL is false, it can be determined that the current is a scenario of single controller failure or interval failure between two controllers, which does not cause data loss of the same mirror pair cache (i.e., the second scenario).
[0099] It should be noted that the state machine can also add an isStalled flag bit inside the cache module, which is also used to record the fault scenario. The specific value configuration can refer to the configuration of the STALL, which will not be described in detail in this embodiment.
[0100] In the embodiment of the application, in a case where the first flag information is a first value, the fault scenario is determined as a first scenario; in a case where the first flag information is a second value, the fault scenario is determined as a second scenario, wherein the second scenario is used to indicate that there is no fault mirror pair in the plurality of mirror pairs. By distinguishing different values of the first flag information to determine the specific fault scenario, the system can adopt a more accurate processing strategy when facing different types of faults.
[0101] As an optional solution, after the determining of the fault scenario as the second scenario in a case where the first flag information is the second value, the method further comprises:
[0102] S1, generating a mirror pair update strategy for updating the mirror pair corresponding to the controller set by using the storage controller in the normal operating state in the controller set.
[0103] S2, sending the mirror pair update strategy to the controller management module, so that the controller management module updates the mirror pair corresponding to the controller set according to the mirror pair update strategy.
[0104] S3, switching the cache module to a second state.
[0105] It should be noted that the mirror pair update strategy described above can be used, but is not limited to, to guide the storage system to dynamically adjust the composition of the mirror pair in the controller set in a specific fault recovery scenario, to cope with the data recovery demand and resource reallocation after the controller failure.
[0106] For example, assuming that the controller set includes four storage controllers, namely controller 1, controller 2, controller 3, and controller 4, and assuming that controller 1 and controller 2 originally form mirror pair 1, controller 2 and controller 3 form mirror pair 2, controller 3 and controller 4 form mirror pair 3, and controller 4 and controller 1 form mirror pair 4. However, since controller 1 is damaged at present, the multiple mirror pairs can be reorganized based on the following strategy. Specifically, as shown in Figure 3 controller 2 and controller 3 can form a mirror pair, controller 3 and controller 4 can form a mirror pair, and controller 4 and controller 2 can form a mirror pair.
[0107] In the embodiment of the present application, the mirror pair update strategy for updating the mirror pairs corresponding to the controller set is generated by using the storage controllers in the controller set that are in a normal operating state; the mirror pair update strategy is sent to the controller management module, so that the controller management module updates the mirror pairs corresponding to the controller set according to the mirror pair update strategy; and the cache module is switched to the second state. By generating the mirror pair update strategy, the system can more intelligently determine how to update the mirror pairs, ensuring the consistency of the data and the stability of the system.
[0108] As an optional solution, after the fault recovery is completed, the data integrity verification mechanism is further used to ensure the integrity and consistency of the cache data, including:
[0109] The data integrity check is performed, and for the mirror pairs of the controller fault recovery, the data check code or other data verification algorithm is used to compare the data states before and after the failure;
[0110] If the data is found to be inconsistent or have integrity problems, a data repair process is immediately started to recover the data by using the live nodes or pre-stored redundant data;
[0111] After the data repair is completed, the data integrity check is performed again until it is confirmed that all data states are consistent and complete.
[0112] In the embodiment of the present application, by adding the data integrity verification and repair, the cache module can more accurately confirm the data state, effectively prevent data inconsistency or integrity problems, and significantly improve the security of the data.
[0113] As an optional example, the data integrity verification and repair can be performed, but are not limited to, by using the data integrity verification and repair mechanism as shown in Figure 4The following steps are shown to illustrate the above-mentioned fault handling method of the storage controller:
[0114] In step S402, the cluster module determines that the input / output group is in a scenario of simultaneous failure of the same mirror pair.
[0115] In step S404, the cache state machine acquires the fault event, specifically: the cache module sequentially receives the cluster events of the failure of the two controllers of the same mirror pair.
[0116] In step S406, the cache state machine executes a quiesce process, specifically: the running of the cluster event processing state machine in the cache module is triggered, and a business quiesce process is initiated.
[0117] In step S408, the cache state machine executes an acknowledgement process, specifically: after the quiesce process is completed, the cache module acquires the stalled flag state value from the cluster module, the flag represents whether the cluster determines that the scenario of simultaneous failure of the controllers of the same mirror pair causes data loss in the iogrp, if the flag is identified as true, the corresponding ack process is entered for the scenario, and the synchronization of the online node information in the current iogrp is completed (if single controller failure or two controller interval failure does not cause the same mirror pair cache data loss, the cluster stalled flag is false). Meanwhile, the cache module adds an isStalled flag inside the module to record the stall state in the module.
[0118] Further, the above-mentioned ack process specifically includes: a new ack task is added and set as STALL, the cache module business end is notified through an event, and the cache flush action is stopped in the stall state. The cache module business online node information (i.e. cache data valid node information) is set through the cluster module online node. The task mainly includes two parts: four control iogrp granularity (an int type data is used to represent the valid controller information of the cache module in the entire iogrp) and four sets of cache mirror pair granularity in the iogrp (an int type array with a quantity of 4 is used to represent the valid controller information of each mirror pair in the iogrp). Among them, the cache module iogrp online controller update includes: the cache module acquires the online controller information of each mirror pair from the cluster, if the controller represented by the 0th position of each mirror pair is invalid, it represents that there is no valid controller in the entire iogrp, and the cache data loss occurs in each mirror pair in the iogrp, at this time, the online controller information of the cache module in the iogrp remains unchanged, otherwise the cache module iogrp online controller is the common part of the current saved online controller of the cluster and the cache.
[0119] The updating of the online controller information of each mirror pair in the cache module logrp includes: if there is still a surviving node in the cluster for the mirror pair, the cache module online controller updates the cluster with the cache currently saved online controller public part (i.e. with operation, because when the controller fails or recovers, the cluster online node will be updated, and the cache module needs to complete the cache data processing before updating, so there may be differences between the cluster online node and the cache module, and the operation is used to ensure that the valid cache data saved controller is real); if there is no surviving node in the cluster for the mirror pair (i.e. the mirror pair that causes the iogrp to enter the stall state), the cache module does not update the online node information (because the online node information in the cache module represents the node that saves the valid cache data, when the mirror pair nodes fail at the same time, the valid cache data has not been synchronized and still exists in the failed node, the storage system needs to wait for the controller to recover, so the cache module online node information is not updated at this time).
[0120] Then, the owner information of each mirror pair of the cache module is set by acquiring the cluster mirror pair controller information, and is transmitted to the service end of the cache module. The mirror pair team information of the cache module is updated, and is fed back to the cluster module to confirm that the cache module has correctly completed the processing and information updating of the controller failure event.
[0121] In step S410, the cache state machine executes the resume process, specifically: after the ack process is completed, the cache module resumes the service processing capability of the cache module according to the completion of the resume process.
[0122] In step S412, the cache state machine acquires the failure recovery event, specifically: when the failed controller recovers, the cache module receives the controller recovery cluster event sent by the cluster.
[0123] In step S414, the cache state machine executes the quiesce process, specifically: the state machine is triggered to run again, and if the cluster stalled flag is identified to have become false at this time, the state machine is triggered to initiate the quiesce process again.
[0124] In step S416, the cache state machine executes the confirmation process and the resume process to complete the service recovery, specifically: after the quiesce process is completed, the state machine comprehensively judges the states of the cluster stalled flag and the cache module isStalled flag (the cluster flag has become false, and the cache internal flag is still true), initiates a new ack process, and completes the subsequent resume process to complete the final recovery of the service.
[0125] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be realized by means of software on a general hardware platform as necessary, and of course can also be realized by hardware, but in many cases the former is a better embodiment.
[0126] Embodiments of the present application also provide a fault processing apparatus of a storage controller, as shown in the accompanying drawings, the fault processing apparatus of the storage controller comprises: Figure 5
[0127] A first state switching unit 502 is configured to switch a cache module associated with a controller set to a first state in which the cache module is prohibited from being accessed, if a fault event triggered by the controller set is acquired, wherein the storage controllers in the controller set form a plurality of mirror pairs, and there is a data synchronization relationship between two storage controllers included in each mirror pair.
[0128] A determination unit 504 is configured to determine a fault scenario corresponding to the controller set based on first flag information of a controller management module.
[0129] A sending unit 506 is configured to send an instruction to the cache module to indicate that data in the cache module is prohibited from being synchronized to a target storage space, if the fault scenario is a first scenario indicating that there is a fault mirror pair in the plurality of mirror pairs, wherein the storage controllers included in the fault mirror pair are all in a fault state.
[0130] A second state switching unit 508 is configured to switch the cache module to a second state in which the cache module is allowed to be accessed, so that the storage controllers in the controller set which are in a normal operating state process data processing requests by using the corresponding cache module.
[0131] Optionally, in the embodiment, the apparatus further comprises an updating unit configured to update second controller information stored in the cache module based on first controller information acquired from the controller management module, wherein the first controller information is used to indicate operating states of the storage controllers in the current controller set, and the second controller information is used to indicate data states of cache data corresponding to the storage controllers in the controller set, and the data state is used to indicate data integrity of the cache data of the storage controllers; and a first sending unit configured to send the second controller information stored in the cache module to the controller management module.
[0132] Optionally, in the embodiment, the apparatus further comprises: a third state switching unit, configured to switch the cache module to the first state if the controller set triggers a fault recovery event; a first determination unit, configured to determine a fault scenario corresponding to the controller set based on the first flag information of the controller management module; a second sending unit, configured to send an instruction indicating that the data in the cache module is allowed to be synchronized to the target storage space to the cache module if the fault scenario is a second scenario indicating that there is no fault mirror pair in the plurality of mirror pairs; and a fourth state switching unit, configured to switch the cache module to the second state in which the cache module is allowed to be accessed.
[0133] Optionally, in the embodiment, the apparatus further comprises: a first updating unit, configured to update the second controller information stored in the cache module based on third controller information obtained from the controller management module, wherein the third controller information is used to indicate the running state of the storage controller in the current controller set; and a third sending unit, configured to send the second controller information stored in the cache module to the controller management module.
[0134] Optionally, in the embodiment, the first updating unit is further configured to: obtain a plurality of first arrays in the third controller information and a plurality of second arrays in the second controller information, wherein each element in each first array in the plurality of first arrays is used to represent the running state of each storage controller in each mirror pair in the plurality of mirror pairs, and each element in each second array in the plurality of second arrays is used to represent the data state of the cache data of each storage controller in each mirror pair in the plurality of mirror pairs; compare the values of the elements in each first array in the plurality of first arrays with the values of the elements in each second array in the plurality of second arrays; and update the first cache data of the first storage controller in the controller set whose data state is the first data state according to the comparison result, wherein the first data state is used to indicate that the first cache data is in an incomplete state; and update the element corresponding to the first storage controller in the second target array corresponding to the first storage controller in the plurality of second arrays if the first cache data corresponding to the first storage controller is switched to a second data state, wherein the target mirror pair matched with the second target array comprises the first storage controller.
[0135] Optionally, in the embodiment, the first updating unit is further configured to: if the comparison result indicates that the first element corresponding to the first storage controller in a first target array in the plurality of first arrays is inconsistent with the second element corresponding to the first storage controller in a second target array, update the first cache data corresponding to the first storage controller by using the second cache data of the second storage controller in the target mirror pair.
[0136] Optionally, in the embodiment, the first updating unit is further configured to modify the value of the element corresponding to the first storage controller in the second target array to a value matching the second data state, in the case that the first cache data corresponding to the first storage controller is switched to the second data state.
[0137] Optionally, in the embodiment, the determining unit is further configured to determine that the fault scenario is the first scenario in the case that the first flag information is the first value, and determine that the fault scenario is the second scenario in the case that the first flag information is the second value, wherein the second scenario is used to indicate that there is no fault mirror pair in the plurality of mirror pairs.
[0138] Optionally, in the embodiment, the apparatus further includes a generating unit configured to generate a mirror pair updating strategy for updating the mirror pairs corresponding to the controller set by using the storage controllers in the normal operation state in the controller set; a fourth sending unit configured to send the mirror pair updating strategy to the controller management module, so that the controller management module updates the mirror pairs corresponding to the controller set according to the mirror pair updating strategy; and a fifth state switching unit configured to switch the cache module to the second state.
[0139] The features of the embodiments of the fault processing apparatus of the storage controller can be referred to the related descriptions of the embodiments of the fault processing method of the storage controller, which will not be repeated here.
[0140] Embodiments of the present application also provide an electronic device including a memory and a processor, the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any of the above-mentioned embodiments of the fault processing method of the storage controller.
[0141] Embodiments of the present application also provide a computer readable storage medium, which stores a computer program, wherein the computer program is configured to perform the steps in any of the above-mentioned embodiments of the fault processing method of the storage controller when running.
[0142] In an example embodiment, the computer readable storage medium can include, but is not limited to, a U disk, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store computer programs.
[0143] Embodiments of the present application also provide a computer program product, which includes a computer program, and the computer program is executed by a processor to implement the steps in any of the above-mentioned embodiments of the fault processing method of the storage controller.
[0144] Embodiments of the present application further provide another computer program product comprising a non-transitory computer readable storage medium storing a computer program which, when executed by a processor, implements the steps of any of the above-mentioned embodiments of the method for processing a failure of a storage controller.
[0145] Those skilled in the art will further appreciate that the units and algorithm steps of the examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or both, and that the implementation decisions are within the skill of an informed technician. The exemplary configurations and steps have been described throughout above as generally as possible to encompass all known and future uses of the technology. The actual implementation of the examples will be determined by the particular applications and design constraints imposed on the overall system. Those skilled in the art will recognize or be able to ascertain using no more than routine experimentation, the essential characteristics of the exemplary configurations and steps. Changes in form and substitution of equivalents are contemplated as circumstances may suggest or render expedient. Accordingly, the application is not limited to the details described herein.
[0146] The above provides a method for processing a failure of a storage controller. The principles and implementation manners of the present application are described by applying specific examples in the present disclosure. The above description of the examples is only applicable to help understand the method of the present application and its core idea. It should be noted that, for those skilled in the art, without departing from the principles of the present application, some improvements and modifications can be made to the present application, and these improvements and modifications also fall within the protection scope of the claims of the present application.
Claims
1. A method for handling a storage controller failure, characterized in that: include: In the event of a fault event triggered by a controller set being obtained, switching a cache module associated with the controller set to a first state in which access is prohibited, wherein the storage controllers in the controller set form a plurality of mirror pairs, and a data synchronization relationship exists between the two storage controllers included in each mirror pair; Determining a fault scenario corresponding to the controller set based on first flag information of the controller management module; When the failure scenario is a first scenario indicating that a faulty mirror pair exists among the plurality of mirror pairs, sending an instruction to the cache module for instructing to prohibit synchronizing data in the cache module to a target storage space, wherein both storage controllers included in the faulty mirror pair are in a faulty state; The cache module is switched to a second state allowing access, so that the storage controller in the controller set that is in a normal operating state processes a data processing request using the corresponding cache module.
2. The storage controller fault handling method according to claim 1, characterized in that: After sending an instruction for instructing to prohibit synchronizing the data in the cache module to the target storage space to the cache module, the method further includes: updating second controller information stored in the cache module based on first controller information obtained from the controller management module, wherein the first controller information is used to indicate a current operating status of a storage controller in the controller set, and the second controller information is used to indicate a data status of cached data corresponding to the storage controller in the controller set, wherein the data status is used to indicate data integrity of the cached data of the storage controller; The second controller information stored in the cache module is sent to the controller management module.
3. The storage controller fault handling method according to claim 2, characterized in that: After switching the cache module to the second state allowing access so that the storage controller in the controller set in a normal operating state processes the data processing request using the corresponding cache module, the method further includes: When a fault recovery event triggered by the controller set is obtained, switching the cache module to the first state; Determining a fault scenario corresponding to the controller set based on the first flag information of the controller management module; In a case where the failure scenario is a second scenario indicating that the failed mirror pair does not exist in the plurality of mirror pairs, sending an instruction to the cache module for instructing permission to synchronize the data in the cache module to the target storage space; The cache module is switched to the second state allowing access.
4. The storage controller fault handling method according to claim 3, characterized in that: After switching the cache module to the second state allowing access, the method further includes: updating the second controller information stored in the cache module based on third controller information obtained from the controller management module, wherein the third controller information is used to indicate the current operating status of the storage controller in the controller set; The second controller information stored in the cache module is sent to the controller management module.
5. The storage controller fault handling method according to claim 4, characterized in that: The updating of the second controller information stored in the cache module based on the third controller information obtained from the controller management module includes: Acquire multiple first arrays in the third controller information and multiple second arrays in the second controller information, wherein a value of each element of each first array in the multiple first arrays is respectively used to represent the operating status of each storage controller in each mirror pair in the multiple mirror pairs, and a value of each element of each second array in the multiple second arrays is respectively used to represent the data status of cache data of each storage controller in each mirror pair in the multiple mirror pairs; Comparing the values of the elements in each of the plurality of first arrays with the values of the elements in each of the plurality of second arrays; updating first cache data of a first storage controller in the controller set whose data state is a first data state according to the comparison result, wherein the first data state is used to indicate that the first cache data is in an incomplete state; When the first cache data corresponding to the first storage controller is switched to a second data state, the elements corresponding to the first storage controller in the second target array corresponding to the first storage controller in the multiple second arrays are updated, wherein the target mirror pair matching the second target array includes the first storage controller.
6. The storage controller fault handling method according to claim 5, characterized in that: The updating of first cache data of a first storage controller in the controller set whose data state is the first data state according to the comparison result includes: When the comparison result indicates that a first element corresponding to the first storage controller in a first target array among the multiple first arrays is inconsistent with a second element corresponding to the first storage controller in a second target array, the first cache data corresponding to the first storage controller is updated using the second cache data of the second storage controller in the target mirror pair.
7. The storage controller fault handling method according to claim 6, characterized in that: In a case where the first cache data corresponding to the first storage controller is switched to a second data state, updating the element corresponding to the first storage controller in the second target array corresponding to the first storage controller in the plurality of second arrays includes: When the first cache data corresponding to the first storage controller is switched to the second data state, the value of the element corresponding to the first storage controller in the second target array is modified to a value matching the second data state.
8. The storage controller fault handling method according to claim 1, characterized in that: The determining, based on the first flag information of the controller management module, a fault scenario corresponding to the controller set includes: When the first flag information is a first value, determining that the fault scenario is the first scenario; When the first flag information is a second value, the fault scenario is determined to be a second scenario, where the second scenario is used to indicate that the faulty mirror pair does not exist in the multiple mirror pairs.
9. The storage controller fault handling method according to claim 8, characterized in that: When the first flag information is the second value, after determining that the fault scenario is the second scenario, the method further includes: Generate a mirror pair update strategy for updating the mirror pair corresponding to the controller set by using a storage controller in a normal operating state in the controller set; Sending the mirror pair update policy to the controller management module, so that the controller management module updates the mirror pair corresponding to the controller set according to the mirror pair update policy; Switch the cache module to the second state.
10. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the storage controller fault handling method according to any one of claims 1 to 9 when executing the computer program.
Citation Information
Patent Citations
Multi-controller cache data consistency guarantee method
CN103605616A
Storage system fault processing method, device and equipment and readable storage medium
CN109582502A
Switching between mediator services for a storage system
CN112470142A
Cache data processing method and system under four-control storage device fault
CN115237683A
RAID verification write protection method and system based on four-control storage system
CN115268784A