Fault processing method for dual-active volume storage system and application device thereof

By receiving and judging the written result data of two data volumes in the dual-active system, the fault processing is directly carried out, which solves the data inconsistency problem of the dual-active system during the failure, reduces the system complexity and improves reliability.

CN119248550APending Publication Date: 2025-01-03JINAN INSPUR DATA TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411266557.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-10
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

When existing active-active systems store system failures, they rely on the arbitration mechanism of the arbitration server, resulting in increased system complexity and stability requirements, and may lead to data inconsistency during fault handling.

Method used

By receiving the write result data of the two data volumes written to the client, the fault data volume is judged, and fault processing is performed based on the judgment, and the write result data is feedback, so as to avoid relying on the arbitration mechanism, reduce system complexity, and improve reliability.

Benefits of technology

It realizes data processing without arbitration mechanism in the case of failure, reduces the software complexity of the dual-live volume storage system, and improves the system reliability and data consistency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119248550A_ABST
    Figure CN119248550A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a dual-active volume storage system fault processing method and an application device thereof, the dual-active volume storage system comprises a first data volume and a second data volume, and the processing priority of the first data volume is greater than that of the second data volume. Comprising the following steps: receiving first write-in result data returned by the first data volume aiming at a client write request and second write-in result data returned by the second data volume aiming at the client write request; judging a fault data volume in the first data volume and the second data volume according to the first write-in result data and the second write-in result data; performing fault processing according to the fault data volume; and after the fault data volume is subjected to fault processing, feeding back the first write-in result data. According to the embodiment of the invention, service processing can be realized without introducing a third-party arbitration system for processing when the dual-active volume fails.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of servers and computer systems, and in particular to a method for handling a dual-active volume storage system fault, a device for handling a dual-active volume storage system fault, an electronic device, a storage medium and a program product. Background Art

[0002] Data in the active-active system is written by the client to two back-end storages at the same time. At a certain moment, a failure at one end of the storage system or a failure in the middle network of the active-active system will cause a write error on one end, resulting in inconsistency between the two ends of the storage system, that is, a failure of the active-active volume system. For this failure scenario, in the existing technology, arbitration is mainly based on the arbitration mechanism of the arbitration server to determine which end of the storage becomes the primary end, and the subsequent write results returned to the client are the results of writing to the arbitration primary end. However, the arbitration mechanism requires the establishment of a set of arbitration services and arbitration networks on both clusters and third-party servers to implement it, which will undoubtedly greatly increase the complexity of the system and place more requirements on the stability and reliability of the system. Summary of the invention

[0003] In view of the above problems, embodiments of the present invention are proposed to provide a dual-active volume storage system fault handling method, a dual-active volume storage system fault handling device, an electronic device, a storage medium and a program product that overcome the above problems or at least partially solve the above problems.

[0004] In order to solve the above problem, in a first aspect of the present invention, an embodiment of the present invention discloses a method for handling a failure of a dual-active volume storage system, wherein the dual-active volume storage system includes a first data volume and a second data volume, and the processing priority of the first data volume is greater than the processing priority of the second data volume. The method includes:

[0005] Receive first write result data returned by the first data volume in response to a client write request and second write result data returned by the second data volume in response to the client write request;

[0006] Determine a failed data volume among the first data volume and the second data volume according to the first write result data and the second write result data;

[0007] Performing fault processing according to the faulty data volume;

[0008] After the fault of the failed data volume is processed, the first writing result data is fed back.

[0009] Optionally, the determining the failed data volume of the first data volume and the second data volume according to the first write result data and the second write result data includes:

[0010] determining whether a fault occurs according to the first writing result data and the second writing result data;

[0011] In response to a failure occurring, a failed data volume among the first data volume and the second data volume is determined according to the first write result data and the second write result data.

[0012] Optionally, the step of determining a failed data volume among the first data volume and the second data volume according to the first write result data and the second write result data includes:

[0013] determining whether the first data volume is the failed data volume according to the first writing result data;

[0014] Determine whether the second data volume is the failed data volume according to the second writing result data.

[0015] Optionally, the step of determining whether the first data volume is the failed data volume according to the first writing result data includes:

[0016] Determining whether the first writing result data includes a writing failure flag;

[0017] In response to the first writing result data including a writing failure identifier, the first data volume is determined to be the failed data volume.

[0018] Optionally, the step of determining whether the second data volume is the failed data volume according to the second writing result data includes:

[0019] Determining whether the second writing result data includes a writing failure flag;

[0020] In response to the second writing result data including a writing failure identifier, the second data volume is determined to be the failed data volume.

[0021] Optionally, the step of determining whether a fault occurs according to the first writing result data and the second writing result data includes:

[0022] Determining whether the first writing result data and the second writing result data are consistent;

[0023] In response to the first writing result data and the second writing result data being inconsistent, determining that the fault occurs;

[0024] In response to the first writing result data and the second writing result data being consistent, determining whether the first writing result data and the second writing result data include a writing failure flag;

[0025] In response to the first write result data or the second write result data including a write failure flag, it is determined that the failure occurs.

[0026] Optionally, the step of performing fault processing according to the faulty data volume includes:

[0027] Determining the type of the faulty data volume;

[0028] determining a processing operation according to the type;

[0029] The processing operation is performed.

[0030] Optionally, the step of determining the type of the failed data volume includes:

[0031] Determine whether the failed data volume is the first data volume; or,

[0032] It is determined whether the failed data volume is the second data volume.

[0033] Optionally, the step of determining a processing operation according to the type includes:

[0034] When the failed data volume is the second data volume, the processing operation is determined to be switching the single active volume state based on the first data volume.

[0035] Optionally, the step of determining a processing operation according to the type further includes:

[0036] The processing operation is determined to be disabling a path to the second data volume.

[0037] Optionally, the step of determining a processing operation according to the type includes:

[0038] When the failed data volume is the first data volume, the processing operation is determined to be switching the single-active volume state based on the second data volume.

[0039] Optionally, the method further comprises:

[0040] When the failed data volume is the first data volume, double write failure information is generated.

[0041] Optionally, the method further comprises:

[0042] The double write failure information is stored.

[0043] Optionally, the method further comprises:

[0044] Based on the double write failure information, the processing priority of the first data volume and the processing priority of the second data volume are switched.

[0045] Optionally, the method further comprises:

[0046] After the failed data volume is determined, in response to the running of the background task, the background task is terminated.

[0047] Optionally, the background task includes a synchronization task.

[0048] Optionally, the method further comprises:

[0049] Detecting a synchronization flag of the first data volume and a synchronization flag of the second data volume;

[0050] When the synchronization flag of the first data volume is set to the target identifier, and the synchronization flag of the second data volume is set to the target identifier, it is determined that the synchronization task is running.

[0051] In a second aspect of the present invention, an embodiment of the present invention discloses a dual-active volume storage system fault processing device, the dual-active volume storage system includes a first data volume and a second data volume, the processing priority of the first data volume is greater than the processing priority of the second data volume, the device includes:

[0052] A first receiving module, configured to receive first write result data returned by the first data volume in response to a write request from a client and second write result data returned by the second data volume in response to the write request from the client;

[0053] a fault determination module, configured to determine a faulty data volume of the first data volume and the second data volume according to the first write result data and the second write result data;

[0054] A processing module, used for performing fault processing according to the fault data volume;

[0055] The feedback module is used to feed back the first writing result data after the failure of the failed data volume is processed.

[0056] In the third aspect of the present invention, an embodiment of the present invention discloses an electronic device, including a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements the steps of the dual-active volume storage system fault handling method as described above.

[0057] In a fourth aspect of the present invention, an embodiment of the present invention discloses a computer-readable storage medium storing a computer program, which implements the steps of the dual-active volume storage system failure handling method as described above when executed by a processor.

[0058] In a fifth aspect of the present invention, an embodiment of the present invention discloses a computer program product, including computer instructions, which, when executed by a processor, implement the steps of the dual-active volume storage system failure processing method as described above.

[0059] The embodiments of the present invention include the following advantages:

[0060] The embodiment of the present invention receives the first write result data returned by the first data volume for the client write request and the second write result data returned by the second data volume for the client write request; determines the faulty data volume in the first data volume and the second data volume according to the first write result data and the second write result data; performs fault processing according to the faulty data volume; and after the fault processing of the faulty data volume, feeds back the first write result data. By determining the faulty data volume that has failed according to the first write result data and the second write result data, and then performing fault processing based on the faulty data volume, and processing the request, and feeding back the first write result data of the first data volume to the client, the client request is processed in the event of a failure without relying on an arbitration mechanism, thereby reducing the software complexity of the dual-active volume storage system and improving the reliability of the dual-active volume storage system. . BRIEF DESCRIPTION OF THE DRAWINGS

[0061] Figure 1 It is a flowchart of a method for handling a failure of a dual-active volume storage system according to an embodiment of the present invention;

[0062] Figure 2 is a flowchart of another embodiment of a method for handling a failure of a dual-active volume storage system according to the present invention;

[0063] Figure 3 It is a schematic diagram of an architecture of an example of a method for handling a failure of a dual-active volume storage system of the present invention;

[0064] Figure 4 It is a structural block diagram of an embodiment of a dual-active volume storage system fault processing device of the present invention;

[0065] Figure 5 is a structural block diagram of an electronic device provided by an embodiment of the present invention;

[0066] Figure 6 is a structural block diagram of a storage medium provided by an embodiment of the present invention;

[0067] Figure 7 It is a structural block diagram of a computer program product provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0068] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0069] First, let’s explain some nouns:

[0070] Active-active volume: refers to the active-active relationship between two volumes of storage system A and storage system B. The two volumes use the same WWID (World Wide Identifier, a storage device global unique identifier) ​​to connect to customer services. You can perform management operations such as synchronization and suspension on the active-active volume.

[0071] Single-active: When only one end of a dual-active volume can provide services, that is, it has a master-slave relationship, it is called a single-active state.

[0072] Active-active: When both ends of an active-active volume can provide services, it is called active-active state.

[0073] Path: The data link from the client to a storage node.

[0074] Path disabled: After a path is disabled, the client will no longer send service read and write requests to the path.

[0075] Active-active switching to single-active: Due to some fault, only one end of the two volumes in the active-active system can access the service, and the other end of the volume does not provide any service. This switching process is called active-active switching to single-active.

[0076] Arbitration system: When the data link between two clusters fails, only one end of the two clusters can continue to provide services. In order to ensure data consistency, an arbitration mechanism is needed to determine which end can become the active-active master end and continue to provide services.

[0077] Read-write model: The host sends write I / O (input and output) to the active-active dual-write module. The dual-write module performs dual writes and sends I / O to the local storage pool and the remote storage pool at the same time. The local storage pool and the remote storage pool return the write I / O status to the active-active module. According to the above write return status, if the write to the storage data at both ends is successful, the client is returned to the write success; if one end succeeds and the other end fails, the write result of the arbitration winner is returned according to the arbitration result; if both fail, the client is returned to the failure. Read I / O will only read the copy of the local storage pool.

[0078] Reference Figure 1, showing a flowchart of a method for handling a fault in a dual-active volume storage system according to an embodiment of the present invention, the dual-active volume storage system includes a first data volume and a second data volume, and the processing priority of the first data volume is greater than the processing priority of the second data volume. The first data volume and the second data volume are two storage volumes in the dual-active volume. The processing priority of the first data volume is greater than the processing priority of the second data volume, that is, the first data volume is the preferred processing end, and the second data volume is the non-preferred processing end. The cluster where the first data volume is located is connected and interacted with the client.

[0079] The dual-active volume storage system failure handling method may specifically include the following steps:

[0080] Step 101, receiving first write result data returned by the first data volume in response to a client write request and second write result data returned by the second data volume in response to the client write request;

[0081] When the first data volume and the second data volume are in a dual-active state, a client write request can be received to process the client write request and feedback the processing result, i.e., the write result data. Therefore, when a dual-active volume fails, the first write result data returned by the first data volume for the client write request and the second write result data returned by the second data volume for the client write request can be received. The first write result data is the write result data fed back by the first data volume. The second write result data is the write result data fed back by the second data volume.

[0082] Step 102: determining a failed data volume among the first data volume and the second data volume according to the first write result data and the second write result data;

[0083] The first write result data and the second write result data may be used to make a judgment to determine the failed data volume in the first data volume and the second data volume.

[0084] Step 103, performing fault processing according to the faulty data volume;

[0085] A corresponding fault handling method is determined based on the type of the faulty data volume that has failed, so as to perform fault handling.

[0086] Step 104: After the fault of the failed data volume is processed, the first writing result data is fed back.

[0087] The embodiment of the present invention receives the first write result data returned by the first data volume for the client write request and the second write result data returned by the second data volume for the client write request; determines the faulty data volume in the first data volume and the second data volume according to the first write result data and the second write result data; performs fault processing according to the faulty data volume; and feeds back the first write result data after the fault processing of the faulty data volume. By determining the faulty data volume according to the first write result data and the second write result data, and then performing fault processing based on the faulty data volume, and processing the request, and feeding back the first write result data of the first data volume to the client, the client request is processed in the event of a fault without relying on an arbitration mechanism, thereby reducing the software complexity of the dual-active volume storage system and improving the reliability of the dual-active volume storage system.

[0088] Reference Figure 2 , shows a flowchart of another embodiment of a dual-active volume storage system fault processing method of the present invention, wherein the dual-active volume storage system includes a first data volume and a second data volume, and the processing priority of the first data volume is greater than the processing priority of the second data volume. Figure 3 As shown, the first data volume is the data volume of the storage node in cluster A. The second data volume is the data volume of the storage node in cluster B.

[0089] The dual-active volume storage system failure handling method may specifically include the following steps:

[0090] Step 201, receiving first write result data returned by the first data volume in response to a client write request and second write result data returned by the second data volume in response to the client write request;

[0091] First write result data returned by the first data volume in response to a write request from the client and second write result data returned by the second data volume in response to a write request from the client may be received.

[0092] Step 202: determining a failed data volume among the first data volume and the second data volume according to the first write result data and the second write result data;

[0093] A judgment is made based on the first write result data and the second write result data to determine which data volume of the first data volume and the second data volume is the failed data volume.

[0094] In an optional embodiment of the present invention, determining the failed data volume of the first data volume and the second data volume according to the first write result data and the second write result data includes:

[0095] Sub-step S2021, determining whether a fault occurs according to the first writing result data and the second writing result data;

[0096] The first write result data and the second write result data may be matched to determine whether a failure occurs.

[0097] Further, the step of determining whether a fault has occurred based on the first write result data and the second write result data includes: judging whether the first write result data and the second write result data are consistent; determining that the fault has occurred in response to the first write result data and the second write result data being inconsistent; judging whether the first write result data and the second write result data include a write failure flag in response to the first write result data or the second write result data including a write failure flag, determining that the fault has occurred.

[0098] It can be determined whether the first write result data and the second write result data are consistent. When the first write result data and the second write result data are inconsistent, one of the first data volume and the second data volume is a faulty data volume. Determine that a fault has occurred. When the first write result data and the second write result data are consistent, further determination is required. Determine whether the first write result data and the second write result data include a write failure flag; when the write failure flag is included, a fault has occurred; when the write failure flag is not included, no fault has occurred. Therefore, it can be determined that a fault has occurred in response to the first write result data or the second write result data including a write failure flag.

[0099] Sub-step S2022: in response to a failure occurring, determining a failed data volume of the first data volume and the second data volume according to the first write result data and the second write result data.

[0100] When it is determined that a failure occurs, the failed data volume may be further determined using data in the first write result data and the second write result data.

[0101] Specifically, the step of determining the faulty data volume among the first data volume and the second data volume based on the first write result data and the second write result data includes: determining whether the first data volume is the faulty data volume based on the first write result data; and determining whether the second data volume is the faulty data volume based on the second write result data.

[0102] Whether the first data volume is a failed data volume can be determined based on the first write result data; whether the second data volume is a failed data volume can also be determined based on the second write result data. The failed data volume can be determined between the first data volume and the second data volume.

[0103] Further, the step of determining whether the first data volume is the faulty data volume based on the first write result data includes: judging whether the first write result data includes a write failure flag; and determining that the first data volume is the faulty data volume in response to the first write result data including a write failure flag.

[0104] It can be determined whether the first write result data includes a write failure flag; when the first write result data includes a write failure flag, the first data volume is a faulty data volume. In response to the first write result data including the write failure flag, it can be determined that the first data volume is a faulty data volume. When the first write result data does not include a write failure flag, the first data volume is a normal data volume.

[0105] Further, the step of determining whether the second data volume is the faulty data volume based on the second write result data includes: judging whether the second write result data includes a write failure flag; and determining that the second data volume is the faulty data volume in response to the second write result data including a write failure flag.

[0106] It can be determined whether the second write result data includes a write failure flag; when the second write result data includes a write failure flag, the second data volume is a faulty data volume. In response to the second write result data including the write failure flag, it can be determined that the second data volume is a faulty data volume. When the second write result data does not include a write failure flag, the second data volume is a normal data volume.

[0107] Step 203, performing fault processing according to the faulty data volume;

[0108] According to the type of the failed data volume, corresponding failure processing is performed to achieve data interaction without relying on the arbitration mechanism.

[0109] In an optional embodiment of the invention, the step of performing fault processing according to the faulty data volume includes:

[0110] Sub-step S2031, determining the type of the faulty data volume;

[0111] The type of the failed data volume may be determined to determine whether the first data volume at the preferred end or the second data volume at the non-preferred end is the failed data volume.

[0112] Specifically, the step of determining the type of the failed data volume includes: determining whether the failed data volume is the first data volume; or determining whether the failed data volume is the second data volume.

[0113] It can be determined whether the failed data volume is the first data volume or the second data volume, that is, whether the failed data volume is the first data volume; and whether the failed data volume is the second data volume.

[0114] Sub-step S2032, determining a processing operation according to the type;

[0115] According to whether one of the first data volume and the second data volume is a faulty volume, a corresponding processing operation is determined.

[0116] Specifically, the step of determining the processing operation according to the type includes: when the failed data volume is the second data volume, determining the processing operation to be switching the single-active volume state based on the first data volume.

[0117] When the second data volume fails, that is, the non-preferred end fails, the first data volume can be switched to a single active volume state.

[0118] In addition, the step of determining a processing operation according to the type further includes: determining that the processing operation is to disable a path of the second data volume.

[0119] In order to avoid erroneous operation of data, the path of the second data volume may also be disabled.

[0120] For example, you can Figure 3 As shown, when a write request is accessed through cluster A, cluster B fails at this time. At a certain moment, the write request 3 to cluster A returns success 4, and the write request 5 returns failure 6. Due to the inconsistent write results, the active-active volume needs to be switched to a single-active volume. According to the preferred state, the active-active volume in cluster A will become the master end. At this time, the active-active state written in the master end cluster A is single-active. If the write is successful, the active-active volume is successfully switched to a single-active volume, and the write result of the master end is returned to the client (return 2), which is the state of the result 4 returned above, that is, success. If the write system active-active state fails, it is considered that cluster A also has a problem, and an error is returned to the client end. Once the active-active volume is switched to a single-active volume, an attempt should be made to immediately notify each node of the active-active volume that the active-active state should be switched to a single-active state, so that each access node can switch from active-active to single-active. The final result 2 returned to the client must disable all paths of the slave end volume, otherwise when result 2 is returned to the client. The client believes that the write IO has been sent down normally, but because there is no available path in cluster B, if data is read from cluster B at this time, the data will be inconsistent.

[0121] Specifically, the step of determining the processing operation according to the type includes: when the failed data volume is the first data volume, determining the processing operation to be switching the single-active volume state based on the second data volume.

[0122] When the first data volume fails, the second data volume is switched to a single active volume state, so that the second data volume can be used for data processing.

[0123] For example, Figure 3 As shown in , when cluster B is the preferred cluster, when cluster B fails, write 3 to cluster A returns success 4, and write 5 to cluster B returns failure 6. At this time, since cluster B is the preferred cluster, that is, the cluster that will become the primary volume, it is necessary to return the result of writing to cluster B to the client, that is, failure. At the same time, the active-active state needs to be written to the clusters on both ends. At this time, due to the failure of the cluster on the B side, the business cannot be written on the B side, so it is sufficient to write only on the A side. Once the state of switching to single-active in cluster A is successfully written, each node needs to be notified to switch to single-active business. Since the primary side has already written that IO is a failure, whether the update of A side to single-active is successful or failed, it will be returned to the client as a failure. In this scenario, there is no need to disable the path of the slave side in time, because the IO has not been successfully sent down at this time. If the slave side path is in active-active state (that is, not disabled) at this time, there will be no problem.

[0124] In addition, when the failed data volume is the first data volume, double write failure information is generated.

[0125] In the case of the first data volume, dual write failure information may also be generated, and the dual write failure information indicates that the current dual active state has been switched to the single active state.

[0126] Furthermore, the double writing failure information may also be stored.

[0127] Furthermore, the processing priority of the first data volume and the processing priority of the second data volume may be switched based on the double write failure information, that is, the second data volume is switched to the preferred end for processing, and the first data volume is switched to the non-preferred end.

[0128] For example, since services are issued concurrently, there may be multiple requests that need to be processed in a certain period of time. That is, if a cluster fails at a certain time, multiple single-end write success and single-end write failure results will be returned to the dual-write module. How to handle concurrent needs is also particularly important. When the first dual-write failure request is received, the dual-active-to-single-active process occurs, and this state is recorded in the storage system. Subsequent IO is processed according to the principle of returning the write result of the current master end.

[0129] Sub-step S2033, executing the processing operation.

[0130] Execute corresponding processing operations to ensure the reliable operation of the storage system.

[0131] Step 204, after the fault of the failed data volume is processed, the first writing result data is fed back;

[0132] After waiting for the fault of the failed data volume to be processed, the current storage system has completed the switching of the state and path, and the first writing result data can be fed back to the client to feed back the processing result to the client.

[0133] Step 205: After the failed data volume is determined, in response to the running of the background task, the background task is terminated.

[0134] After the faulty data volume is determined, it can be seen that the active-active volume is currently in a fault scenario. If background tasks are running, data inconsistency can easily lead to errors. Therefore, when background tasks are detected, the background tasks can be terminated in response to the running of the background tasks. This can prevent the running of background tasks and further improve the reliability of business processing.

[0135] In one example of the present invention, the background tasks include synchronization tasks. When it is detected that the synchronization task is running, the synchronization task can be terminated. The active-active volume is in a state of synchronization, and the business is also dual-written at this time. Synchronization means that due to the inconsistency of data in the two storage systems, the two volume data needs to be synchronized before the active-active business can be carried out. During this synchronization process, the state of the active-active volume is in a state of synchronization. At the same time, because the client needs to access the business at this time, there is also a situation where the business on some paths is writing to the storage system from two volumes at the same time. In the state of synchronization, the two ends of the active-active volume are also divided into the primary volume and the slave end.

[0136] for example Figure 3 If the volume in cluster A is the primary volume, then it is assumed that the client business can only be accessed from cluster A, and the paths of cluster B are in a path-disabled state. When cluster A fails, the IO written to cluster A returns an error, regardless of whether the IO written to cluster B returns success. Since cluster A is currently the primary end, this IO will return an error to the client. If cluster B fails, writing to cluster A succeeds, and writing to cluster B fails, then the result returned to the client is the result of the primary end, that is, success. At this time, since the data on both ends are inconsistent, and the location of the inconsistent data may be smaller than the progress of synchronization, the synchronization task can no longer achieve the purpose of data consistency on both sides, and the synchronization task needs to be terminated to prevent data from being copied from cluster A to cluster B.

[0137] For the detection of synchronization tasks, the synchronization flag of the first data volume and the synchronization flag of the second data volume can be detected; when the synchronization flag of the first data volume is set to the target identifier and the synchronization flag of the second data volume is set to the target identifier, it is determined that the synchronization task is running.

[0138] That is, if the synchronization flag of the first data volume is set to the target identifier and the synchronization flag of the second data volume is set to the target identifier, it can be indicated that the first data volume and the second data volume are currently being synchronized, and it can be determined that the synchronization task is in progress. Therefore, the synchronization task is terminated based on the failure scenario.

[0139] It should be noted that, for the sake of simplicity, the method embodiments are described as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.

[0140] Reference Figure 4 , shows a structural block diagram of an embodiment of a dual-active volume storage system fault processing device of the present invention, the dual-active volume storage system includes a first data volume and a second data volume, the processing priority of the first data volume is greater than the processing priority of the second data volume, and the dual-active volume storage system fault processing device may specifically include the following modules:

[0141] A first receiving module 401 is used to receive first write result data returned by the first data volume in response to a client write request and second write result data returned by the second data volume in response to the client write request;

[0142] A fault determination module 402, configured to determine a faulty data volume of the first data volume and the second data volume according to the first write result data and the second write result data;

[0143] A processing module 403 is used to perform fault processing according to the faulty data volume;

[0144] The feedback module 404 is configured to feed back the first writing result data after the failure of the failed data volume is processed.

[0145] In an optional embodiment of the present invention, the fault determination module 402 includes:

[0146] a fault judgment submodule, used for determining whether a fault occurs according to the first writing result data and the second writing result data;

[0147] The first response submodule is used to respond to the occurrence of a fault and determine a faulty data volume between the first data volume and the second data volume according to the first write result data and the second write result data.

[0148] In an optional embodiment of the present invention, the first response submodule includes:

[0149] A first data volume determination unit, configured to determine whether the first data volume is the failed data volume according to the first write result data;

[0150] The second data volume determination unit is configured to determine whether the second data volume is the failed data volume according to the second writing result data.

[0151] In an optional embodiment of the present invention, the first data volume determination unit includes:

[0152] A first judging subunit, configured to judge whether the first writing result data includes a writing failure flag;

[0153] a first fault determination subunit, configured to determine that the first data volume is the faulty data volume in response to the first write result data including a write failure flag

[0154] In an optional embodiment of the present invention, the second data volume determination unit includes:

[0155] A second judging subunit, configured to judge whether the second writing result data includes a writing failure flag;

[0156] The second fault determination subunit is configured to determine that the second data volume is the faulty data volume in response to the second writing result data including a writing failure identifier.

[0157] In an optional embodiment of the present invention, the fault judgment submodule includes:

[0158] A second judging unit, configured to judge whether the first writing result data and the second writing result data are consistent;

[0159] a second response unit, configured to determine that the fault occurs in response to inconsistency between the first write result data and the second write result data;

[0160] a third response unit, configured to determine whether the first write result data and the second write result data include a write failure flag in response to the first write result data and the second write result data being consistent;

[0161] A fourth response unit is used to determine that the fault occurs in response to the first writing result data or the second writing result data including a writing failure flag.

[0162] In an optional embodiment of the present invention, the processing module 403 includes:

[0163] A fault judgment submodule, used to judge the type of the faulty data volume;

[0164] An operation submodule, used for determining a processing operation according to the type;

[0165] The execution submodule is used to execute the processing operation.

[0166] In an optional embodiment of the present invention, the fault judgment submodule includes:

[0167] A first data volume determination unit is configured to determine whether the failed data volume is the first data volume; or,

[0168] The second data volume determination unit is configured to determine whether the failed data volume is the second data volume.

[0169] In an optional embodiment of the present invention, the operation submodule includes:

[0170] The first operation unit is used to determine that the processing operation is to switch the single active volume state based on the first data volume when the failed data volume is the second data volume.

[0171] In an optional embodiment of the present invention, the operation submodule further includes:

[0172] The path disabling unit is used to determine that the processing operation is to disable the path of the second data volume.

[0173] In an optional embodiment of the present invention, the operation submodule includes:

[0174] The second operation unit is used to determine that the processing operation is to switch the single-active volume state based on the second data volume when the failed data volume is the first data volume.

[0175] In an optional embodiment of the present invention, the device further comprises:

[0176] The information generation module is used to generate double write failure information when the failed data volume is the first data volume.

[0177] In an optional embodiment of the present invention, the device further comprises:

[0178] A storage module is used to store the double write failure information.

[0179] In an optional embodiment of the present invention, the device further comprises:

[0180] A switching module is used to switch the processing priority of the first data volume and the processing priority of the second data volume based on the double write failure information.

[0181] In an optional embodiment of the present invention, the device further comprises:

[0182] The termination module is used to terminate the background task in response to the running of the background task after determining the failed data volume.

[0183] In an optional embodiment of the present invention, the background task includes a synchronization task.

[0184] In an optional embodiment of the present invention, the device further comprises:

[0185] A second detection module, used to detect a synchronization flag of the first data volume and a synchronization flag of the second data volume;

[0186] The synchronization confirmation module is used to determine that the synchronization task is running when the synchronization flag of the first data volume is set to the target identifier and the synchronization flag of the second data volume is set to the target identifier.

[0187] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0188] Reference Figure 5 , an embodiment of the present invention further provides an electronic device, including:

[0189] A processor 501 and a storage medium 502, wherein the storage medium 502 stores a computer program executable by the processor 501. When the electronic device is running, the processor 501 executes the computer program to perform the dual-active volume storage system fault handling method as described in any one of the embodiments of the present invention.

[0190] The active-active volume storage system includes a first data volume and a second data volume, the processing priority of the first data volume is greater than the processing priority of the second data volume, and the active-active volume storage system failure processing method may specifically include:

[0191] Receive first write result data returned by the first data volume in response to a client write request and second write result data returned by the second data volume in response to the client write request;

[0192] Determine a failed data volume among the first data volume and the second data volume according to the first write result data and the second write result data;

[0193] Performing fault processing according to the faulty data volume;

[0194] After the fault of the failed data volume is processed, the first writing result data is fed back.

[0195] Optionally, the determining the failed data volume of the first data volume and the second data volume according to the first write result data and the second write result data includes:

[0196] determining whether a fault occurs according to the first writing result data and the second writing result data;

[0197] In response to a failure occurring, a failed data volume among the first data volume and the second data volume is determined according to the first write result data and the second write result data.

[0198] Optionally, the step of determining a failed data volume among the first data volume and the second data volume according to the first write result data and the second write result data includes:

[0199] determining whether the first data volume is the failed data volume according to the first writing result data;

[0200] Determine whether the second data volume is the failed data volume according to the second writing result data.

[0201] Optionally, the step of determining whether the first data volume is the failed data volume according to the first writing result data includes:

[0202] Determining whether the first writing result data includes a writing failure flag;

[0203] In response to the first writing result data including a writing failure identifier, the first data volume is determined to be the failed data volume.

[0204] Optionally, the step of determining whether the second data volume is the failed data volume according to the second writing result data includes:

[0205] Determining whether the second writing result data includes a writing failure flag;

[0206] In response to the second writing result data including a writing failure identifier, the second data volume is determined to be the failed data volume.

[0207] Optionally, the step of determining whether a fault occurs according to the first writing result data and the second writing result data includes:

[0208] Determining whether the first writing result data and the second writing result data are consistent;

[0209] In response to the first writing result data and the second writing result data being inconsistent, determining that the fault occurs;

[0210] In response to the first writing result data and the second writing result data being consistent, determining whether the first writing result data and the second writing result data include a writing failure flag;

[0211] In response to the first write result data or the second write result data including a write failure flag, it is determined that the failure occurs.

[0212] Optionally, the step of performing fault processing according to the faulty data volume includes:

[0213] Determining the type of the faulty data volume;

[0214] determining a processing operation according to the type;

[0215] The processing operation is performed.

[0216] Optionally, the step of determining the type of the failed data volume includes:

[0217] Determine whether the failed data volume is the first data volume; or,

[0218] It is determined whether the failed data volume is the second data volume.

[0219] Optionally, the step of determining a processing operation according to the type includes:

[0220] When the failed data volume is the second data volume, the processing operation is determined to be switching the single active volume state based on the first data volume.

[0221] Optionally, the step of determining a processing operation according to the type further includes:

[0222] The processing operation is determined to be disabling a path to the second data volume.

[0223] Optionally, the step of determining a processing operation according to the type includes:

[0224] When the failed data volume is the first data volume, the processing operation is determined to be switching the single-active volume state based on the second data volume.

[0225] Optionally, the method further comprises:

[0226] When the failed data volume is the first data volume, double write failure information is generated.

[0227] Optionally, the method further comprises:

[0228] The double write failure information is stored.

[0229] Optionally, the method further comprises:

[0230] Based on the double write failure information, the processing priority of the first data volume and the processing priority of the second data volume are switched.

[0231] Optionally, the method further comprises:

[0232] After the failed data volume is determined, in response to the running of the background task, the background task is terminated.

[0233] Optionally, the background task includes a synchronization task.

[0234] Optionally, the method further comprises:

[0235] Detecting a synchronization flag of the first data volume and a synchronization flag of the second data volume;

[0236] When the synchronization flag of the first data volume is set to the target identifier, and the synchronization flag of the second data volume is set to the target identifier, it is determined that the synchronization task is running.

[0237] The memory may include a random access memory (RAM) or a non-volatile memory, such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the processor.

[0238] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0239] Reference Figure 6 The embodiment of the present invention further provides a computer-readable storage medium 601, on which a computer program is stored. When the computer program is executed by a processor, the method for handling a failure of a dual-active volume storage system as described in any one of the embodiments of the present invention is executed.

[0240] The active-active volume storage system includes a first data volume and a second data volume, the processing priority of the first data volume is greater than the processing priority of the second data volume, and the active-active volume storage system failure processing method may specifically include:

[0241] Receive first write result data returned by the first data volume in response to a client write request and second write result data returned by the second data volume in response to the client write request;

[0242] Determine a failed data volume among the first data volume and the second data volume according to the first write result data and the second write result data;

[0243] Performing fault processing according to the faulty data volume;

[0244] After the fault of the failed data volume is processed, the first writing result data is fed back.

[0245] Optionally, the determining the failed data volume of the first data volume and the second data volume according to the first write result data and the second write result data includes:

[0246] determining whether a fault occurs according to the first writing result data and the second writing result data;

[0247] In response to a failure occurring, a failed data volume among the first data volume and the second data volume is determined according to the first write result data and the second write result data.

[0248] Optionally, the step of determining a failed data volume among the first data volume and the second data volume according to the first write result data and the second write result data includes:

[0249] determining whether the first data volume is the failed data volume according to the first writing result data;

[0250] Determine whether the second data volume is the failed data volume according to the second writing result data.

[0251] Optionally, the step of determining whether the first data volume is the failed data volume according to the first writing result data includes:

[0252] Determining whether the first writing result data includes a writing failure flag;

[0253] In response to the first writing result data including a writing failure identifier, the first data volume is determined to be the failed data volume.

[0254] Optionally, the step of determining whether the second data volume is the failed data volume according to the second writing result data includes:

[0255] Determining whether the second writing result data includes a writing failure flag;

[0256] In response to the second writing result data including a writing failure identifier, the second data volume is determined to be the failed data volume.

[0257] Optionally, the step of determining whether a fault occurs according to the first writing result data and the second writing result data includes:

[0258] Determining whether the first writing result data and the second writing result data are consistent;

[0259] In response to the first writing result data and the second writing result data being inconsistent, determining that the fault occurs;

[0260] In response to the first writing result data and the second writing result data being consistent, determining whether the first writing result data and the second writing result data include a writing failure flag;

[0261] In response to the first write result data or the second write result data including a write failure flag, it is determined that the failure occurs.

[0262] Optionally, the step of performing fault processing according to the faulty data volume includes:

[0263] Determining the type of the faulty data volume;

[0264] determining a processing operation according to the type;

[0265] The processing operation is performed.

[0266] Optionally, the step of determining the type of the failed data volume includes:

[0267] Determine whether the failed data volume is the first data volume; or,

[0268] It is determined whether the failed data volume is the second data volume.

[0269] Optionally, the step of determining a processing operation according to the type includes:

[0270] When the failed data volume is the second data volume, the processing operation is determined to be switching the single active volume state based on the first data volume.

[0271] Optionally, the step of determining a processing operation according to the type further includes:

[0272] The processing operation is determined to be disabling a path to the second data volume.

[0273] Optionally, the step of determining a processing operation according to the type includes:

[0274] When the failed data volume is the first data volume, the processing operation is determined to be switching the single-active volume state based on the second data volume.

[0275] Optionally, the method further comprises:

[0276] When the failed data volume is the first data volume, double write failure information is generated.

[0277] Optionally, the method further comprises:

[0278] The double write failure information is stored.

[0279] Optionally, the method further comprises:

[0280] Based on the double write failure information, the processing priority of the first data volume and the processing priority of the second data volume are switched.

[0281] Optionally, the method further comprises:

[0282] After the failed data volume is determined, in response to the running of the background task, the background task is terminated.

[0283] Optionally, the background task includes a synchronization task.

[0284] Optionally, the method further comprises:

[0285] Detecting a synchronization flag of the first data volume and a synchronization flag of the second data volume;

[0286] When the synchronization flag of the first data volume is set to the target identifier, and the synchronization flag of the second data volume is set to the target identifier, it is determined that the synchronization task is running.

[0287] Reference Figure 7 , shows a structural block diagram of a computer program product provided by an embodiment of the present invention. The computer program product includes computer instructions 701, and when the computer instructions 701 are executed by a processor, the steps of the dual-active volume storage system failure processing method described above are implemented.

[0288] The active-active volume storage system includes a first data volume and a second data volume, the processing priority of the first data volume is greater than the processing priority of the second data volume, and the active-active volume storage system failure processing method may specifically include:

[0289] Receive first write result data returned by the first data volume in response to a client write request and second write result data returned by the second data volume in response to the client write request;

[0290] Determine a failed data volume among the first data volume and the second data volume according to the first write result data and the second write result data;

[0291] Performing fault processing according to the faulty data volume;

[0292] After the fault of the failed data volume is processed, the first writing result data is fed back.

[0293] Optionally, the determining the failed data volume of the first data volume and the second data volume according to the first write result data and the second write result data includes:

[0294] determining whether a fault occurs according to the first writing result data and the second writing result data;

[0295] In response to a failure occurring, a failed data volume among the first data volume and the second data volume is determined according to the first write result data and the second write result data.

[0296] Optionally, the step of determining a failed data volume among the first data volume and the second data volume according to the first write result data and the second write result data includes:

[0297] determining whether the first data volume is the failed data volume according to the first writing result data;

[0298] Determine whether the second data volume is the failed data volume according to the second writing result data.

[0299] Optionally, the step of determining whether the first data volume is the failed data volume according to the first writing result data includes:

[0300] Determining whether the first writing result data includes a writing failure flag;

[0301] In response to the first writing result data including a writing failure identifier, the first data volume is determined to be the failed data volume.

[0302] Optionally, the step of determining whether the second data volume is the failed data volume according to the second writing result data includes:

[0303] Determining whether the second writing result data includes a writing failure flag;

[0304] In response to the second writing result data including a writing failure identifier, the second data volume is determined to be the failed data volume.

[0305] Optionally, the step of determining whether a fault occurs according to the first writing result data and the second writing result data includes:

[0306] Determining whether the first writing result data and the second writing result data are consistent;

[0307] In response to the first writing result data and the second writing result data being inconsistent, determining that the fault occurs;

[0308] In response to the first writing result data and the second writing result data being consistent, determining whether the first writing result data and the second writing result data include a writing failure flag;

[0309] In response to the first write result data or the second write result data including a write failure flag, it is determined that the failure occurs.

[0310] Optionally, the step of performing fault processing according to the faulty data volume includes:

[0311] Determining the type of the faulty data volume;

[0312] determining a processing operation according to the type;

[0313] The processing operation is performed.

[0314] Optionally, the step of determining the type of the failed data volume includes:

[0315] Determine whether the failed data volume is the first data volume; or,

[0316] It is determined whether the failed data volume is the second data volume.

[0317] Optionally, the step of determining a processing operation according to the type includes:

[0318] When the failed data volume is the second data volume, the processing operation is determined to be switching the single active volume state based on the first data volume.

[0319] Optionally, the step of determining a processing operation according to the type further includes:

[0320] The processing operation is determined to be disabling a path to the second data volume.

[0321] Optionally, the step of determining a processing operation according to the type includes:

[0322] When the failed data volume is the first data volume, the processing operation is determined to be switching the single-active volume state based on the second data volume.

[0323] Optionally, the method further comprises:

[0324] When the failed data volume is the first data volume, double write failure information is generated.

[0325] Optionally, the method further comprises:

[0326] The double write failure information is stored.

[0327] Optionally, the method further comprises:

[0328] Based on the double write failure information, the processing priority of the first data volume and the processing priority of the second data volume are switched.

[0329] Optionally, the method further comprises:

[0330] After the failed data volume is determined, in response to the running of the background task, the background task is terminated.

[0331] Optionally, the background task includes a synchronization task.

[0332] Optionally, the method further comprises:

[0333] Detecting a synchronization flag of the first data volume and a synchronization flag of the second data volume;

[0334] When the synchronization flag of the first data volume is set to the target identifier, and the synchronization flag of the second data volume is set to the target identifier, it is determined that the synchronization task is running.

[0335] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0336] It will be appreciated by those skilled in the art that the embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0337] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0338] These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0339] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0340] Although the preferred embodiments of the present invention have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.

[0341] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0342] The above describes in detail a dual-active volume storage system fault handling method, a dual-active volume storage system fault handling device, an electronic device, a storage medium and a program product provided by the present invention. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for a person skilled in the art, according to the idea of ​​the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.

Claims

1. A method for handling failures in a dual-active volume storage system, characterized in that: The active-active volume storage system includes a first data volume and a second data volume, the processing priority of the first data volume is greater than the processing priority of the second data volume, and the method includes: Receive first write result data returned by the first data volume in response to a client write request and second write result data returned by the second data volume in response to the client write request; Determine a failed data volume among the first data volume and the second data volume according to the first write result data and the second write result data; Performing fault processing according to the faulty data volume; After the fault of the failed data volume is processed, the first writing result data is fed back.

2. The method according to claim 1, characterized in that The step of determining a failed data volume among the first data volume and the second data volume according to the first write result data and the second write result data includes: determining whether a fault occurs according to the first writing result data and the second writing result data; In response to a failure occurring, a failed data volume among the first data volume and the second data volume is determined according to the first write result data and the second write result data.

3. The method according to claim 2, characterized in that The step of determining a failed data volume among the first data volume and the second data volume according to the first write result data and the second write result data comprises: determining whether the first data volume is the failed data volume according to the first writing result data; Determine whether the second data volume is the failed data volume according to the second writing result data.

4. The method according to claim 3, characterized in that The step of determining whether the first data volume is the failed data volume according to the first writing result data comprises: Determining whether the first writing result data includes a writing failure flag; In response to the first writing result data including a writing failure identifier, the first data volume is determined to be the failed data volume.

5. The method according to claim 2, characterized in that: The step of determining whether the second data volume is the failed data volume according to the second writing result data comprises: Determining whether the second writing result data includes a writing failure flag; In response to the second writing result data including a writing failure identifier, the second data volume is determined to be the failed data volume.

6. The method according to claim 2, characterized in that The step of determining whether a fault occurs according to the first write result data and the second write result data comprises: Determining whether the first writing result data and the second writing result data are consistent; In response to the first writing result data and the second writing result data being inconsistent, determining that the fault occurs; In response to the first writing result data and the second writing result data being consistent, determining whether the first writing result data and the second writing result data include a writing failure flag; In response to the first write result data or the second write result data including a write failure flag, it is determined that the failure occurs.

7. The method according to claim 1, characterized in that The step of performing fault processing according to the faulty data volume comprises: Determining the type of the faulty data volume; determining a processing operation according to the type; The processing operation is performed.

8. The method according to claim 7, characterized in that The step of determining the type of the failed data volume comprises: Determine whether the failed data volume is the first data volume; or, It is determined whether the failed data volume is the second data volume.

9. The method according to claim 8, characterized in that The step of determining the processing operation according to the type comprises: When the failed data volume is the second data volume, the processing operation is determined to be switching the single active volume state based on the first data volume.

10. The method according to claim 9, characterized in that The step of determining the processing operation according to the type also includes: The processing operation is determined to be disabling a path to the second data volume.

11. The method according to claim 8, characterized in that The step of determining the processing operation according to the type comprises: When the failed data volume is the first data volume, the processing operation is determined to be switching the single-active volume state based on the second data volume.

12. The method according to claim 11, characterized in that The method further comprises: When the failed data volume is the first data volume, double write failure information is generated.

13. The method according to claim 12, characterized in that The method further comprises: The double write failure information is stored.

14. The method according to claim 13, characterized in that The method further comprises: Based on the double write failure information, the processing priority of the first data volume and the processing priority of the second data volume are switched.

15. The method according to claim 1, characterized in that The method further comprises: After the failed data volume is determined, in response to the running of the background task, the background task is terminated.

16. The method according to claim 15, characterized in that The background tasks include synchronization tasks.

17. The method according to claim 15, characterized in that The method further comprises: Detecting a synchronization flag of the first data volume and a synchronization flag of the second data volume; When the synchronization flag of the first data volume is set to the target identifier, and the synchronization flag of the second data volume is set to the target identifier, it is determined that the synchronization task is running.

18. A dual-active volume storage system fault handling device, characterized in that: The dual-active volume storage system includes a first data volume and a second data volume, the processing priority of the first data volume is greater than the processing priority of the second data volume, and the device includes: A first receiving module, configured to receive first write result data returned by the first data volume in response to a write request from a client and second write result data returned by the second data volume in response to the write request from the client; a fault determination module, configured to determine a faulty data volume of the first data volume and the second data volume according to the first write result data and the second write result data; A processing module, used for performing fault processing according to the fault data volume; The feedback module is used to feed back the first writing result data after the failure of the failed data volume is processed.

19. An electronic device, characterized in that: The method comprises a processor, a memory and a computer program stored in the memory and capable of running on the processor, wherein when the computer program is executed by the processor, the steps of the method for handling failure of a dual-active volume storage system as described in any one of claims 1 to 17 are implemented.

20. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method for handling failure of a dual-active volume storage system according to any one of claims 1 to 17 are implemented.

21. A computer program product comprising computer instructions, characterized in that When the computer instructions are executed by a processor, the steps of the method for handling failure of a dual-active volume storage system according to any one of claims 1 to 17 are implemented.

Citation Information

Cited By

  • Abnormality handling method of active-active system, active-active system, program product and medium

    CN120353649A