Storage node fault migration method and device based on double-controller architecture

By adopting a dual controller architecture and a high-availability system in a distributed storage system, automatic migration and recovery in case of storage node failure is achieved, data migration and recovery overhead caused by node failure is solved, and the stability of the system is improved.

CN119415017APending Publication Date: 2025-02-11HANGZHOU EBOYLAMP ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411342646.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-25
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

In large distributed storage systems, when the storage node fails, data migration recovery and data reconstruction lead to a large amount of internal system communication and computing overhead, occupying network bandwidth, and reducing the stability of storage services.

Method used

Using the storage node failure migration method based on the dual controller architecture, by configuring two storage nodes that are hot standby on each storage partition, establishing a high-availability system and monitoring the node status. When a storage node fails, normal nodes pass through The storage service object marks the storage resources of the failed node and starts the storage service.

Benefits of technology

The migration of storage services is realized, the traffic and computing volume of data migration and recovery is reduced, and the stability of external storage services of distributed storage systems is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119415017A_ABST
    Figure CN119415017A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a storage node fault migration method and device based on a double-controller architecture, electronic equipment and a storage medium, and the method comprises the steps that storage resources are divided into a plurality of storage partitions, two storage nodes are configured on each storage partition, and in each storage partition, each storage node is configured with one storage node; different storage service object marks are configured according to the storage resources controlled by the two storage nodes, and the storage service management file is configured to the two storage nodes; a high-availability system is established between two storage nodes which are opposite end nodes, and when one storage node breaks down, a normal storage node takes over a storage resource controlled by the faulted storage node and starts a storage service of the taken-over storage resource; and when the faulty storage node is recovered, the normal storage node stops the storage service of the storage resources taken over by the normal storage node, and the recovered storage node takes over the storage resources managed and controlled by the node and starts the storage service for taking over the storage resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a storage node failure migration method, device, electronic device and storage medium based on a dual-controller architecture. Background Art

[0002] The unified distributed storage system can provide functions such as block storage, file storage, and object storage, and has the characteristics of high scalability and high reliability. The unified architecture of the distributed storage system meets the needs of cloud computing and big data for massive storage, and is one of the basic storage solutions for cloud computing, big data and other cloud platforms.

[0003] In distributed storage systems, redundant information between nodes is usually introduced to improve the fault tolerance of the system. The methods commonly used in the industry are replica-based or erasure-code-based redundancy technologies. Replica technology copies the original data file into n copies and distributes them to different network nodes; erasure code technology first divides the original data into k data blocks, and then encodes these data blocks into (nk) coded data blocks, that is, there are n redundant data blocks in total, and then forwards them to different network nodes. When a local storage node fails, replica technology will initiate replica repair and restore the data copy on the failed node to other healthy nodes; erasure code technology recovers the original data by decoding, and then encodes and repairs the invalid redundant data. Both methods involve communication and data exchange between nodes. However, storage node failure is a common situation in large distributed storage systems. When a storage node fails, data migration recovery and data reconstruction will generate a large amount of internal storage system communication and computing overhead, and occupy a large amount of cluster internal network bandwidth, thereby reducing the stability of the distributed storage system's external storage services. Summary of the invention

[0004] To solve the problems existing in the prior art, one or more embodiments of this specification describe a storage node failure migration method, device, electronic device and storage medium based on a dual-controller architecture.

[0005] According to a first aspect, a storage node failure migration method based on a dual-controller architecture is provided, the method comprising: Divide storage resources into multiple storage partitions, configure two storage nodes on each storage partition, and make the two storage nodes serve as hot standby peer nodes for each other. In each storage partition, configure different storage service object tags according to the storage resources managed by the two storage nodes, and configure the storage service management files to the two storage nodes. A high-availability system is established between two storage nodes that are peer nodes. The high-availability system monitors the communication status and working status of the two storage nodes that are peer nodes. When one of the storage nodes fails, the normal storage node takes over the storage resources managed by the failed storage node through the storage service object mark, and starts the storage service of the taken-over storage resources. When the failed storage node recovers, the normal storage node stops the storage service of the storage resources taken over by the normal storage node, and the recovered storage node takes over the storage resources under the management of the node according to the storage service object tag, and starts the storage service of taking over the storage resources.

[0006] Preferably, the high availability system monitoring the communication status and working status of the peer nodes further includes: When one of the storage nodes cannot communicate with the outside world, the storage service of the node is terminated. The normal storage nodes take over the storage resources managed by the failed storage node through the storage service object mark and start the storage service of the taken over storage resources.

[0007] Preferably, the normal storage node taking over the storage resources managed by the failed storage node through the storage service object mark includes: Traverse the storage resources and obtain the storage service object tag corresponding to each storage resource; Select storage resources that are managed by normal storage nodes, and take over storage resources that are not managed by normal storage nodes.

[0008] Preferably, when the failed storage node is restored, the normal storage node stops the storage service of the storage resources taken over by the normal storage node, the restored storage node takes over the storage resources under the control of the node according to the storage service object tag, and starts the storage service of taking over the storage resources, including: When the failed storage node is restored, the normal storage node stops taking over the storage resources controlled by the restored storage node and sends event notifications to the restored storage node; The restored storage node receives the event notification sent by the restored storage node, takes over the storage resources managed by the restored storage node, and starts the storage service.

[0009] Preferably, when the failed storage node is restored, the normal storage node stops the storage service of the storage resources taken over by the normal storage node, the restored storage node takes over the storage resources under the control of the node according to the storage service object tag, and starts the storage service of taking over the storage resources further comprising: The data repair mechanism of the distributed storage system is used to restore data between the node failure and the completion of storage resource migration.

[0010] Preferably, the storage node failure migration method based on the dual-controller architecture further includes: Identify newly replaced storage resources based on storage service object tags; The storage resources under the storage node to be replaced are replaced with the newly replaced storage resources according to the storage service object tag.

[0011] Preferably, the storage service object tag indicates the storage node corresponding to the storage resource to be replaced.

[0012] According to a second aspect, a fault migration device is provided, the device being a dual-control device, and the device comprising: A preprocessing module is used to divide storage resources into multiple storage partitions, configure two storage nodes on each storage partition, and make the two storage nodes hot standby peer nodes for each other. In each storage partition, different storage service object tags are configured according to the storage resources managed by the two storage nodes, and storage service management files are configured to the two storage nodes. A migration module is used to establish a high-availability system between two storage nodes that are opposite nodes to each other. The high-availability system monitors the communication status and working status of the two storage nodes that are opposite nodes to each other. When one of the storage nodes fails, the normal storage node takes over the storage resources managed by the failed storage node through the storage service object mark, and starts the storage service of the taken-over storage resources; The recovery module is used to stop the storage service of the storage resources taken over by the normal storage node when the failed storage node is recovered, and the recovered storage node takes over the storage resources under the management of the node according to the storage service object tag, and starts the storage service of taking over the storage resources.

[0013] According to a third aspect, there is provided an electronic device, comprising a processor and a memory; The processor is connected to the memory; The memory is used to store executable program code; The processor runs a program corresponding to the executable program code by reading the executable program code stored in the memory, so as to execute the steps of the method provided in the first aspect or any possible implementation manner of the first aspect.

[0014] According to a fourth aspect, a computer-readable storage medium is provided, on which a computer program is stored, and the computer-readable storage medium stores instructions, which, when the instructions are executed on a computer or a processor, cause the computer or the processor to execute the method provided in the first aspect or any possible implementation of the first aspect.

[0015] The beneficial effects of the present invention are: 1. The method and device provided in the embodiments of this specification set two storage nodes in each storage partition. When a storage node fails, the storage resources of the failed storage node will be taken over by a normal storage node. The normal storage node runs the storage service based on the taken over storage resources to realize the migration of the storage service, avoid the large-scale data migration and repair caused by the failure of storage resources, thereby reducing the data migration traffic and data recovery calculation amount caused by the node failure of the existing distributed storage system, reducing the impact of the node failure on the external storage service capability of the distributed storage system, and improving the stability of the external storage service of the distributed storage system. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0017] Figure 1 It is a flowchart of a storage node failure migration method based on a dual-controller architecture in the specific implementation of this specification; Figure 2 It is a structural schematic diagram of a fault migration device in the specific implementation of this specification; Figure 3 It is a structural schematic diagram of an electronic device in the specific implementation of this specification; DETAILED DESCRIPTION

[0018] The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.

[0019] In the following introduction, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance. The following introduction provides multiple embodiments of the present application, and different embodiments can be replaced or combined, so the present application can also be considered to include all possible combinations of the same and / or different embodiments recorded. Therefore, if one embodiment includes features A, B, and C, and another embodiment includes features B and D, then the present application should also be considered to include embodiments containing one or more of all other possible combinations of A, B, C, and D, although the embodiment may not be clearly recorded in the following text.

[0020] The following description provides examples and does not limit the scope, applicability or examples set forth in the claims. Changes may be made to the functions and arrangements of the elements described without departing from the scope of the present application. Various processes or components may be appropriately omitted, substituted or added to each example. For example, the described method may be performed in an order different from the order described, and various steps may be added, omitted or combined. In addition, features described in some examples may be combined in other examples.

[0021] In order to better illustrate the embodiments of the present application, the following terms are defined as follows: Dual-controller device: A physical device with a dual-controller architecture.

[0022] Storage node: A control node that provides storage services and manages storage resources.

[0023] Hot standby storage node: The two storage nodes on a dual-controller device are hot standby storage nodes for each other.

[0024] Storage service object tag: A tag number recorded on a storage resource, indicating that the storage resource is managed by a specified storage node.

[0025] HA software: High availability software. High availability refers to the ability of a system to perform its functions without interruption; high availability software refers to software that has processing capabilities and will not fail to operate normally due to system interruptions, failures, or failures. HA software includes heartbeat monitoring, application agents, management tools, development scripts, etc.

[0026] Storage service management file: a script file deployed on the storage node controller, which is a development script of the HA software and is used to manage the start and stop of the storage service.

[0027] See also Figure 1 , Figure 1 : is a flow chart of a storage node failure migration method based on a dual-controller architecture provided in an embodiment of the present application. In an embodiment of the present application, the method includes: S101. Divide the storage resources into multiple storage partitions, configure two storage nodes on each storage partition, and make the two storage nodes hot standby counterpart nodes for each other. In each storage partition, configure different storage service object tags according to the storage resources managed by the two storage nodes, and configure the storage service management files to the two storage nodes.

[0028] The execution entity of this application can be a cloud server.

[0029] In the embodiments of this specification, the cloud server now divides the storage resources into multiple storage partitions. The storage resources can be physical disks or virtual storage devices based on physical disks. Each storage partition can be a dual-control device with storage function, migration function, and recovery function. Two storage nodes are set on each storage partition, so that the two storage nodes are mutually opposite nodes and hot standby for each other. Each storage node controls a part of the storage resources respectively. Before the operation of the entire storage system, different storage service object tags are configured according to the storage resources controlled by each storage node. Specifically, the storage service object tags on the storage nodes that are mutually opposite nodes are the same, so that the storage node can identify the storage resources controlled by the node and the opposite node. Then, the storage service management file is deployed on each storage node to manage the start and stop of the storage service.

[0030] S102. Establish a high-availability system between two storage nodes that are opposite nodes to each other. The high-availability system monitors the communication status and working status of the two storage nodes that are opposite nodes to each other. When one of the storage nodes fails, the normal storage node takes over the storage resources controlled by the failed storage node through the storage service object mark, and starts the storage service of the taken-over storage resources.

[0031] In the embodiments of the present specification, HA software is installed in each storage partition, and the HA software identifies the storage service management file deployed on the storage node, and starts the storage service through the HA software agent, thereby building a high-availability system. The high-availability system can establish a heartbeat link between two storage nodes that are opposite nodes through the HA software, and then detect the communication status and working status of the two storage nodes that are opposite nodes. When one of the storage nodes fails, such as downtime, the failed storage node cannot provide storage services. After the high-availability system detects that the storage node has failed, it determines the normal storage node corresponding to the failed storage node by reading the storage resources managed by the failed storage node and the storage service object tag corresponding to the storage resource, and executes the storage service management file on the normal storage node. The file defines corresponding execution actions for node service startup, node service migration, node service stop, etc., and restarts the storage service on the failed storage node on the normal storage node, thereby realizing the migration of storage services between nodes.

[0032] It is foreseeable that if a storage node fails only in external communication, the node will also be unable to provide storage services to the outside world, and continuing to use the node will affect the stability of the storage services of the entire storage system. In order to improve the stability of the storage services of the storage system, when one of the storage nodes fails to communicate with the outside world, the storage services on the storage node will be terminated, and the normal storage node corresponding to the failed storage node will be determined based on the managed storage resources and the storage service object tags corresponding to the storage resources. The storage service management file is executed on the normal storage node, and the corresponding execution actions are defined in the file for node service startup, node service migration, node service stop, etc., and the storage service on the storage node is restarted on the normal storage node.

[0033] In one possible implementation, a normal storage node takes over the storage resources controlled by a faulty storage node through a storage service object tag, including: traversing the storage resources, reading the storage service object tag corresponding to each storage resource during the traversal process, and if the storage service object tag shows that the storage resource is not under the control of a normal storage node, no processing is performed; if the storage service object tag shows that the storage resource is under the control of a normal storage node, it is determined whether the storage resource is already under the control of a normal storage node. If the storage resource is already under the control of a normal storage node, no processing is performed; if the storage resource is not under the control of a normal storage node, a normal storage node takes over the storage resource.

[0034] S103. When the failed storage node is restored, the normal storage node stops the storage service of the storage resources taken over by the normal storage node, and the restored storage node takes over the storage resources under the management of the node according to the storage service object tag, and starts the storage service of taking over the storage resources.

[0035] In an embodiment of the present specification, when a failed storage node returns to normal, the normal storage node will execute the storage service management file and stop taking over the storage service of the storage resources corresponding to the restored storage node. At the same time, the restored storage node will take over the storage resources belonging to this storage node according to the storage service object tag, and start the corresponding storage service to realize the switching of the storage service.

[0036] Specifically, when the failed storage node is restored, the normal storage node will execute the storage service management file, stop taking over the storage service of the storage resources corresponding to the restored storage node, and send an event notification to the restored storage node. After the restored storage node receives the event notification sent by the restored storage node, it will take over the storage resources belonging to this storage node according to the storage service object tag and start the corresponding storage service.

[0037] From the above, we can see that the failure of the storage service on the faulty storage node only occurs between the node failure and the completion of the storage service migration, and only a small amount of redundant data will be lost during this period. In order to ensure the integrity of the data, the cloud server can restore the data between the node failure and the completion of the storage resource migration through the data repair mechanism of the distributed storage system.

[0038] Specifically, the data repair mechanism includes data copy repair, transaction rollback repair, log repair, etc.

[0039] In one feasible implementation, when a storage resource fails or needs to be replaced for other reasons, a newly replaced storage resource is first obtained, and a storage service object tag is configured for the newly replaced storage resource. The storage service object tag indicates the storage node corresponding to the storage resource to be replaced. The storage node to be replaced is found according to the storage service object tag, and the storage resource under the storage node to be replaced is replaced with the newly replaced storage resource.

[0040] The following will be combined with the attached Figure 2 , the fault migration device provided in the embodiment of the present application is introduced in detail. It should be noted that the attached Figure 2 The fault migration device shown is used to execute the present application Figure 1 For the convenience of explanation, only the part related to the embodiment of the present application is shown. For the specific technical details not disclosed, please refer to the present application. Figure 1 The embodiment shown.

[0041] See also Figure 2 , Figure 2 Schematic diagram of the structure of the fault migration device provided in the embodiment of the present application. Figure 2 As shown, the device comprises: A preprocessing module 201 is used to divide storage resources into multiple storage partitions, configure two storage nodes on each storage partition, and make the two storage nodes mutually hot standby peer nodes. In each storage partition, different storage service object tags are configured according to the storage resources managed by the two storage nodes, and storage service management files are configured to the two storage nodes. Migration module 202, used to establish a high-availability system between two storage nodes that are peer nodes. The high-availability system monitors the communication status and working status of the two storage nodes that are peer nodes. When one of the storage nodes fails, the normal storage node takes over the storage resources managed by the failed storage node through the storage service object mark, and starts the storage service of the taken-over storage resources; Recovery module 203 is used to stop the storage service of the storage resources taken over by the normal storage node when the failed storage node is recovered, and the recovered storage node takes over the storage resources managed by the node according to the storage service object tag, and starts the storage service of taking over the storage resources.

[0042] In one possible implementation, the high availability system monitoring the communication status and working status of the peer nodes further includes: When one of the storage nodes cannot communicate with the outside world, the storage service of that node is terminated. The normal storage nodes take over the storage resources managed by the failed storage node through the storage service object tag and start the storage service.

[0043] In one possible implementation, the normal storage node takes over the storage resources managed by the failed storage node through the storage service object mark, including: Traverse the storage resources and obtain the storage service object tag corresponding to each storage resource; Select storage resources that are managed by normal storage nodes, and take over storage resources that are not managed by normal storage nodes.

[0044] In one possible implementation, when the failed storage node is restored, the normal storage node stops the storage service of the storage resources taken over by the normal storage node, the restored storage node takes over the storage resources under the management of the node according to the storage service object tag, and starts the storage service of taking over the storage resources, including: When the failed storage node is restored, the normal storage node stops taking over the storage resources controlled by the restored storage node and sends event notifications to the restored storage node; The restored storage node receives the event notification sent by the restored storage node, takes over the storage resources managed by the restored storage node, and starts the storage service.

[0045] In one possible implementation, when the failed storage node is restored, the normal storage node stops the storage service of the storage resources taken over by the normal storage node, the restored storage node takes over the storage resources belonging to the node's management and control according to the storage service object tag, and starts the storage service of taking over the storage resources further includes: The data repair mechanism of the distributed storage system is used to restore data between the node failure and the completion of storage resource migration.

[0046] In one possible implementation, the storage service object tag indicates a storage node corresponding to the storage resource to be replaced.

[0047] In one possible implementation, the storage node failure migration method based on the dual-controller architecture further includes: Identify newly replaced storage resources based on storage service object tags; The storage resources under the storage node to be replaced are replaced with the newly replaced storage resources according to the storage service object tag.

[0048] In one possible implementation, the storage service object tag indicates a storage node corresponding to the storage resource to be replaced.

[0049] Those skilled in the art can clearly understand that the technical solutions of the embodiments of the present application can be implemented with the help of software and / or hardware. The "unit" and "module" in this specification refer to software and / or hardware that can independently complete or cooperate with other components to complete specific functions, where the hardware can be, for example, a field programmable gate array (FPGA), an integrated circuit (IC), etc.

[0050] Each processing unit and / or module of the embodiments of the present application may be implemented by an analog circuit that implements the functions described in the embodiments of the present application, or may be implemented by software that executes the functions described in the embodiments of the present application.

[0051] See also Figure 3 , which shows a schematic diagram of the structure of an electronic device involved in an embodiment of the present application, the electronic device can be used to implement Figure 1 The method in the embodiment shown. Figure 3 As shown, the electronic device 300 may include: at least one central processor 301 , at least one network interface 304 , a user interface 303 , a memory 305 , and at least one communication bus 302 .

[0052] The communication bus 302 is used to realize the connection and communication between these components.

[0053] The user interface 303 may include a display screen (Display) and a camera (Camera). Optionally, the user interface 303 may also include a standard wired interface and a wireless interface.

[0054] The network interface 304 may optionally include a standard wired interface or a wireless interface (such as a WI-FI interface).

[0055] Among them, the central processing unit 301 may include one or more processing cores. The central processing unit 301 uses various interfaces and lines to connect various parts of the entire electronic device 300, and executes various functions and processes data of the terminal 300 by running or executing instructions, programs, code sets or instruction sets stored in the memory 305, and calling data stored in the memory 305. Optionally, the central processing unit 301 can be implemented in at least one hardware form of digital signal processing (Digital Signal Processing, DSP), field programmable gate array (Field-Programmable Gate Array, FPGA), and programmable logic array (Programmable Logic Array, PLA). The central processing unit 301 can integrate one or a combination of a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphics Processing Unit, GPU) and a modem. Among them, the CPU mainly processes the operating system, user interface and application programs; the GPU is responsible for rendering and drawing the content to be displayed on the display screen; and the modem is used to process wireless communications. It can be understood that the above-mentioned modem may not be integrated into the central processing unit 301, but implemented separately through a chip.

[0056] Among them, the memory 305 may include a random access memory (Random Access Memory, RAM) and may also include a read-only memory (Read-Only Memory). Optionally, the memory 305 includes a non-transitory computer-readable storage medium. The memory 305 can be used to store instructions, programs, codes, code sets or instruction sets. The memory 305 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the above-mentioned various method embodiments, etc.; the data storage area may store data involved in the above-mentioned various method embodiments, etc. The memory 305 may optionally be at least one storage device located away from the aforementioned central processor 301. As Figure 3 As shown, the memory 305 as a computer storage medium may include an operating system, a network communication module, a user interface module, and program instructions.

[0057] exist Figure 3In the electronic device 300 shown, the user interface 303 is mainly used to provide an input interface for the user and obtain data input by the user; and the central processor 301 can be used to call the application stored in the memory 305 and specifically perform the following operations: S101, dividing storage resources into multiple storage partitions, configuring two storage nodes on each storage partition, making the two storage nodes mutually hot standby peer nodes, configuring different storage service object tags in each storage partition according to the storage resources managed by the two storage nodes, and configuring the storage service management file to the two storage nodes; S102, establishing a high-availability system between two storage nodes that are peer nodes to each other, the high-availability system monitors the communication status and working status of the two storage nodes that are peer nodes to each other, when one of the storage nodes fails, the normal storage node takes over the storage resources managed by the failed storage node through the storage service object mark, and starts the storage service of the taken-over storage resources; S103: When the failed storage node is restored, the normal storage node stops the storage service of the storage resources taken over by the normal storage node, and the restored storage node takes over the storage resources under the management of the node according to the storage service object tag, and starts the storage service of the taken over storage resources. The present application also provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the steps of the above method are implemented. The computer-readable storage medium may include, but is not limited to, any type of disk, including a floppy disk, an optical disk, a DVD, a CD-ROM, a micro drive, and a magneto-optical disk, a ROM, a RAM, an EPROM, an EEPROM, a DRAM, a VRAM, a flash memory device, a magnetic card or an optical card, a nanosystem (including a molecular memory IC), or any type of medium or device suitable for storing instructions and / or data.

[0058] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, 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 and modules involved are not necessarily required by the present application.

[0059] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0060] In the several embodiments provided in the present application, it should be understood that the disclosed devices can be implemented in other ways. For example, the device embodiments described above are only schematic, such as the division of the units, which is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some service interfaces, and the indirect coupling or communication connection of devices or units can be electrical or other forms.

[0061] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0062] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0063] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable memory. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a memory, including a number of instructions to enable a computer device (which can be a personal computer, server or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned memory includes: U disk, read-only memory (ROM), random access memory (RAM), mobile hard disk, disk or optical disk and other media that can store program codes.

[0064] A person skilled in the art may understand that all or part of the steps in the various methods of the above embodiments may be completed by entering a program to instruct related hardware. The program may be stored in a computer-readable memory, and the memory may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0065] The above is only an exemplary embodiment of the present disclosure, and the scope of the present disclosure cannot be limited thereto. That is, any equivalent changes and modifications made according to the teachings of the present disclosure are still within the scope of the present disclosure. After considering the specification and practicing the disclosure here, those skilled in the art will easily think of the implementation scheme of the present disclosure. This application is intended to cover any modification, use or adaptation of the present disclosure, which follows the general principles of the present disclosure and includes common knowledge or customary technical means in the technical field not recorded in the present disclosure. The description and examples are regarded as exemplary only, and the scope and spirit of the present disclosure are defined by the claims.

Claims

1. A storage node failure migration method based on a dual-controller architecture, characterized in that: The method comprises: Divide storage resources into multiple storage partitions, configure two storage nodes on each storage partition, and make the two storage nodes serve as hot standby peer nodes for each other. In each storage partition, configure different storage service object tags according to the storage resources managed by the two storage nodes, and configure the storage service management files to the two storage nodes. A high-availability system is established between two storage nodes that are peer nodes. The high-availability system monitors the communication status and working status of the two storage nodes that are peer nodes. When one of the storage nodes fails, the normal storage node takes over the storage resources managed by the failed storage node through the storage service object mark, and starts the storage service of the taken-over storage resources. When the failed storage node recovers, the normal storage node stops the storage service of the storage resources taken over by the normal storage node, and the recovered storage node takes over the storage resources under the management of the node according to the storage service object tag, and starts the storage service of taking over the storage resources.

2. A storage node failure migration method based on a dual-controller architecture according to claim 1, characterized in that: The high availability system monitors the communication status and working status of the peer nodes and further includes: When one of the storage nodes cannot communicate with the outside world, the storage service of the node is terminated. The normal storage nodes take over the storage resources managed by the failed storage node through the storage service object mark and start the storage service of the taken over storage resources.

3. A storage node failure migration method based on a dual-controller architecture according to claim 2, characterized in that: The storage resources managed by the normal storage node taking over the failed storage node through the storage service object mark include: Traverse the storage resources and obtain the storage service object tag corresponding to each storage resource; Select storage resources that are managed by normal storage nodes, and take over storage resources that are not managed by normal storage nodes.

4. A storage node failure migration method based on a dual-controller architecture according to claim 1, characterized in that: When the failed storage node is restored, the normal storage node stops the storage service of the storage resources taken over by the normal storage node, and the restored storage node takes over the storage resources under the control of the node according to the storage service object tag, and starts the storage service of taking over the storage resources, including: When the failed storage node is restored, the normal storage node stops taking over the storage resources controlled by the restored storage node and sends event notifications to the restored storage node; The restored storage node receives the event notification sent by the restored storage node, takes over the storage resources managed by the restored storage node, and starts the storage service.

5. A storage node failure migration method based on a dual-controller architecture according to claim 4, characterized in that: When the failed storage node is restored, the normal storage node stops the storage service of the storage resources taken over by the normal storage node, and the restored storage node takes over the storage resources under the control of the node according to the storage service object tag, and starts the storage service of taking over the storage resources further comprising: The data repair mechanism of the distributed storage system is used to restore data between the node failure and the completion of storage resource migration.

6. A storage node failure migration method based on a dual-controller architecture according to claim 1, characterized in that: The storage node failure migration method based on the dual-controller architecture also includes: Obtain the newly replaced storage resource and configure a storage service object tag for the newly replaced storage resource; The storage resources under the storage node to be replaced are replaced with the newly replaced storage resources according to the storage service object tag.

7. A storage node failure migration method based on a dual-controller architecture according to claim 6, characterized in that: The storage service object tag indicates the storage node corresponding to the storage resource to be replaced.

8. A fault migration device, characterized in that: The device is a dual-control device, and the device comprises: A preprocessing module is used to divide storage resources into multiple storage partitions, configure two storage nodes on each storage partition, and make the two storage nodes hot standby peer nodes for each other. In each storage partition, different storage service object tags are configured according to the storage resources managed by the two storage nodes, and storage service management files are configured to the two storage nodes. A migration module is used to establish a high-availability system between two storage nodes that are opposite nodes to each other. The high-availability system monitors the communication status and working status of the two storage nodes that are opposite nodes to each other. When one of the storage nodes fails, the normal storage node takes over the storage resources managed by the failed storage node through the storage service object mark, and starts the storage service of the taken-over storage resources; The recovery module is used to stop the storage service of the storage resources taken over by the normal storage node when the failed storage node is recovered, and the recovered storage node takes over the storage resources under the management of the node according to the storage service object tag, and starts the storage service of taking over the storage resources.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, wherein the computer-readable storage medium has instructions stored therein, and when the instructions are executed on a computer or a processor, the computer or the processor executes the steps of the method according to any one of claims 1 to 7.