Link management method and message execution node for storage disaster recovery, and storage control cluster
By using the link view table management method in the distributed storage system, the problem of storage node replication link failure affecting the stability of data disaster recovery backup is solved, and the stability of disaster recovery business message processing is achieved in the event of failure.
Patent Information
- Application Number
- CN202111444482.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-30
- Publication Date
- 2025-12-19
- Estimated Expiration
- 2041-11-30
AI Technical Summary
In a distributed storage system, failure of the replication link of a storage node can affect the stability of data disaster recovery backup.
The storage control cluster generates a link view table to manage local and remote communication devices and replicated links, ensuring that message execution nodes can select an available alternative link for data transmission when a replicated link fails.
This improves the stability of data disaster recovery backup, ensuring that even if a replication link fails, the processing of disaster recovery business messages can continue.
Smart Images

Figure CN114090342B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of Internet, in particular to a link management method for storage disaster recovery, a message execution node and a storage control cluster. BACKGROUND
[0002] In a distributed storage system, the clusters often need to transmit messages for data disaster recovery backup through replication links. In order to meet the requirement of link redundancy, the replication links between the clusters often need to be jointly carried by multiple storage nodes, and each storage node can independently manage its own replication link.
[0003] At present, if a replication link of a certain storage node fails, the business of the storage node will be directly interrupted, which will undoubtedly affect the stability of data disaster recovery backup. SUMMARY
[0004] Therefore, the embodiments of the present application provide a link management method for storage disaster recovery, a message execution node and a storage control cluster, which can improve the stability of data disaster recovery backup.
[0005] In one aspect, the present application provides a link management method for storage disaster recovery. The method is applied to a message execution node, and the message execution node is added to a local address pool corresponding to a local communication device by a storage control cluster. The method comprises the following steps: receiving a disaster recovery business message sent by a link client, wherein the disaster recovery business message comprises a device identifier of a remote communication device; obtaining a remote address pool link table matched with the device identifier from a link view table issued by the storage control cluster, and querying an available replication link in the remote address pool link table; sending the disaster recovery business message to a remote message execution node under the remote communication device through the replication link, so that the remote message execution node forwards the disaster recovery business message to a remote target business node for processing.
[0006] In one embodiment, before receiving the disaster recovery business message sent by the link client, the method further comprises the following steps: receiving the link view table issued by the storage control cluster, and identifying a remote address pool of a remote communication device from the link view table; if a replication link is not established with a target message execution node under the remote address pool, obtaining IP address and port information of the target message execution node, and establishing a replication link with the target message execution node based on the IP address and port information.
[0007] In one embodiment, after the replication link with the target message execution node is established, the method further comprises: sending a heartbeat packet to the target message execution node at a specified time period through the established replication link, and receiving acknowledgement information fed back by the target message execution node for each heartbeat packet; identifying a time difference between the latest received acknowledgement information and a current time, setting the link state of the replication link to a failure state if the time difference is greater than or equal to a specified time threshold, setting the link state of the replication link to an online state if the time difference is less than the specified time threshold; and reporting the link state of the replication link to the storage control cluster, so that the storage control cluster sets the device state of the remote communication device based on the received link states of each replication link.
[0008] In one embodiment, the querying of the available replication link in the remote address pool link table comprises: obtaining an IP address of the message execution node itself, and calculating a hash value of the IP address; querying a matched remote message execution node in the remote address pool link table based on the hash value, and querying the available replication link from the matched remote message execution node.
[0009] In one embodiment, the method further comprises: if the available replication link cannot be queried, attempting to establish a replication link from the matched remote message execution node, and taking the first established replication link as the available replication link.
[0010] In one embodiment, when the available replication link is queried in the remote address pool link table, the method further comprises: if there is no available replication link between the message execution node and the remote communication device, querying other message execution nodes having available replication links with the remote communication device under the same address pool from the link view table issued by the storage control cluster; and forwarding the disaster recovery service message to the other message execution nodes, so that the disaster recovery service message is sent to remote message execution nodes under the remote communication device through the available replication link by the other message execution nodes.
[0011] Another aspect of the present application provides a message execution node, which is added to a local address pool corresponding to a local communication device by a storage control cluster; the message execution node comprises: a message receiving unit, configured to receive a disaster recovery service message sent by a link client, wherein the disaster recovery service message comprises a device identifier of a remote communication device; a link querying unit, configured to acquire a remote address pool link table matched with the device identifier from a link view table issued by the storage control cluster, and query an available replication link in the remote address pool link table; and a message sending unit, configured to send the disaster recovery service message to a remote message execution node under the remote communication device through the replication link, so that the remote message execution node forwards the disaster recovery service message to a remote target service node for processing.
[0012] Another aspect of the present application provides a link management method for storage disaster recovery, which is applied to a storage control cluster, and comprises the following steps: receiving an address pool creation request, creating a local address pool locally in response to the address pool creation request, and adding one or more message execution nodes to the local address pool; receiving a communication device creation request, and creating a local communication device and a remote communication device on a local address pool and a remote address pool respectively according to a local address pool identifier and a remote address pool identifier defined in the communication device creation request; generating a link view table based on the created local communication device and remote communication device, and issuing the link view table to each message execution node under the local communication device, so that the message execution node processes a disaster recovery service message based on the link view table.
[0013] In one embodiment, the address pool creation request comprises a specified replication network segment; and the step of creating a local address pool locally comprises the following steps: creating a local address pool with the replication network segment locally, and allocating a globally unique local address pool identifier to the created local address pool.
[0014] In one embodiment, the communication device creation request further comprises an initial local address and an initial remote address; and the step of creating a local communication device and a remote communication device on a local address pool and a remote address pool respectively comprises the following steps: establishing a temporary communication link between the initial local address and the initial remote address, and transmitting negotiation messages to each other through the temporary communication link, so as to create a local communication device and a remote communication device respectively based on the transmitted negotiation messages.
[0015] Another aspect of the present application also provides a storage control cluster, comprising: an address pool creation unit configured to receive an address pool creation request, create a local address pool in response to the address pool creation request, and add one or more message execution nodes into the local address pool; a communication device creation unit configured to receive a communication device creation request, and create a local communication device and a remote communication device on the local address pool and the remote address pool respectively according to a local address pool identifier and a remote address pool identifier defined in the communication device creation request; and a link view table distribution unit configured to generate a link view table based on the created local communication device and remote communication device, and distribute the link view table to each message execution node under the local communication device, so that the message execution node processes a disaster recovery service message based on the link view table.
[0016] The technical scheme provided in the present application can complete the creation process of the local communication device and the remote communication device. For the local communication device and the remote communication device, each can correspond to a respective address pool. In the address pool, one or more message execution nodes can be added by the storage control cluster. In this way, the local communication device and the remote communication device can logically represent the message transmission process between each of the replication links between the two address pools when performing data disaster recovery backup.
[0017] After the communication devices at both ends are established, the storage control cluster can generate a link view table, which can be used for global management of the communication devices at both ends, the replication links, the address pools and the message execution nodes. After the storage control cluster distributes the link view table to the message execution nodes in the address pool, if a message execution node receives a disaster recovery service message sent by a link client, the message execution node can query the link view table to learn the replication link currently used for transmitting the disaster recovery service message. Even if one of the replication links fails, the message execution node can still select other available replication links and send the disaster recovery service message to a remote message execution node under the remote communication device through the selected replication link. In this way, the remote message execution node can forward the disaster recovery service message to a remote target service node for processing, thereby completing a data disaster recovery backup process.
[0018] It can be seen that the technical scheme provided in the present application does not affect the processing of the disaster recovery service message even if one of the replication links fails, thereby improving the stability of data disaster recovery backup. BRIEF DESCRIPTION OF DRAWINGS
[0019] The features and advantages of the present application will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, which are given by way of illustration and are not intended to be limiting of the present application, in which:
[0020] Figure 1 A schematic diagram of the structure of a data disaster recovery system according to one embodiment of the present invention is shown;
[0021] Figure 2 This diagram illustrates the steps of a storage disaster recovery link management method according to one embodiment of the present invention.
[0022] Figure 3 This diagram illustrates a link management method for storage disaster recovery in one embodiment of the present invention.
[0023] Figure 4 A schematic diagram of the functional modules of a message execution node in one embodiment of the present invention is shown;
[0024] Figure 5 A schematic diagram of the functional modules of the storage control cluster is shown in one embodiment of the present invention. Detailed Implementation
[0025] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of them. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0026] The storage disaster recovery link management method provided in this application can be applied to... Figure 1 In the system architecture shown. Figure 1 This can include a local Ceph storage device and a remote Ceph storage device. The local Ceph storage device can include a link client, local communication equipment, and a storage control cluster. The remote Ceph storage device can include a remote target service node, remote communication equipment, and a storage control cluster.
[0027] Both the local and remote communication devices can be deployed on their respective address pools, and each device can have one or more message execution nodes. Disaster recovery service messages can be transmitted between the local and remote communication devices through replication links between the message execution nodes.
[0028] The storage control cluster can record a global link view table, which can contain information such as address pool information, message execution node information, and device information for local and remote communication devices. By distributing the link view table to the message execution nodes, the message execution nodes can process disaster recovery service messages according to the information in the link view table.
[0029] The link client can receive a disaster recovery service message sent by the disaster recovery service, and forward the disaster recovery service message to the local communication device. The remote target service node can obtain the transmitted disaster recovery service message from the remote communication device, and process the disaster recovery service message.
[0030] Referring to Figure 2 In an embodiment, a link management method for storage disaster recovery performed by the storage control cluster is provided. The method can include the following steps.
[0031] S11: receiving an address pool creation request, creating a local address pool in response to the address pool creation request, and adding one or more message execution nodes to the local address pool.
[0032] In this embodiment, the storage control cluster can receive an address pool creation request sent by a user. The address pool creation request can include a specified replication network segment and a listening port of the address pool. The replication network segment can be an IP address segment. By analyzing the address pool creation request, the storage control cluster can create a local address pool with the replication network segment in the local Ceph storage device. In order to manage the address pool, the storage control cluster can assign a globally unique local address pool identifier to the local address pool after creating the local address pool.
[0033] After creating the local address pool, the storage control cluster can also add one or more message execution nodes to the local address pool. The number of message execution nodes can be flexibly adjusted according to actual needs, and each message execution node can occupy an IP address in the local address pool.
[0034] It should be noted that the technical solution of the present application is described from the perspective of the local Ceph storage device. However, the remote Ceph storage device can also create a remote address pool and add remote message execution nodes to the remote address pool in the same way by the storage control cluster in the remote Ceph storage device. Therefore, the details are not repeated here.
[0035] S13: receiving a communication device creation request, and creating a local communication device and a remote communication device on the local address pool and the remote address pool, respectively, according to the local address pool identifier and the remote address pool identifier defined in the communication device creation request.
[0036] In this embodiment, after creating the local address pool and adding message execution nodes to the local address pool, the storage control cluster can create a local communication device and a remote communication device in response to a communication device creation request sent by a user.
[0037] In actual application, the local address pool identifier and the remote address pool identifier can be carried in the communication device creation request to indicate that the communication device needs to be created on the corresponding two address pools. In addition, the initial local address and the initial remote address can be specified in the communication device creation request, wherein the initial local address corresponds to an IP address of the local address pool, and the initial remote address corresponds to an IP address of the remote address pool.
[0038] In order to establish the communication device on the local address pool and the remote address pool respectively, a temporary communication link can be established between the initial local address and the initial remote address, and negotiation messages can be transmitted between the local communication device and the remote communication device through the temporary communication link to create the local communication device and the remote communication device based on the transmitted negotiation messages. The negotiation messages can be used to define the data transmission format, data transmission process and other information between the local communication device and the remote communication device. In this way, after the local communication device and the remote communication device are created through the temporary communication link, the temporary communication link can be closed.
[0039] It should be noted that in the above configuration process, one message execution node can be added to multiple address pools of the local cluster, and the above local communication device and remote communication device are usually used for data disaster backup between two clusters. In actual application, one cluster can create multiple address pools, so that multiple local communication devices or remote communication devices can be created.
[0040] S15: Based on the created local communication device and remote communication device, a link view table is generated, and the link view table is distributed to each message execution node under the local communication device, so that the message execution node performs link management of ceph storage disaster recovery based on the link view table.
[0041] In this embodiment, the storage control cluster can record the global link view through a link view table (linkMap). Specifically, the link view table can include the following contents:
[0042] 1. Address pool list information
[0043] Each address pool identifier, the replication network segment corresponding to the address pool, and the listening port of the message execution node in the address pool.
[0044] 2. Message execution node list information
[0045] The address pool identifier to which the message execution node belongs, the replication IP address of the message execution node, each replication IP address in the remote address pool, and the node link state of each message execution node in the local address pool to the remote message execution node in the remote address pool.
[0046] 3. Communication device list information
[0047] The device identification of the local or remote communication device, the address pool identification of the local or remote, and the device state of the local or remote communication device.
[0048] Of course, more or less information can be included in the link view table as the application scenario changes, as long as the link view table can represent the link information between the current clusters.
[0049] The storage control cluster can collect link information in the cluster in real time and keep updating the link view table. After the storage control cluster generates the link view table, it can distribute the link view table to the message execution nodes in the ceph storage device, so that the message execution nodes can manage disaster recovery service messages according to the link view table.
[0050] Of course, in actual application, the storage control cluster can also distribute the link view table to more devices. For example, the storage control cluster can distribute the link view table to the link client. That is, the storage control cluster can distribute the link view table to any device in need, and is not limited to the message execution node.
[0051] Please refer to Figure 3 The application also provides a link management method for storage disaster recovery executed by the message execution node, which can include the following steps.
[0052] S21: Receive the disaster recovery service message sent by the link client, wherein the disaster recovery service message includes the device identification of the remote communication device.
[0053] In this embodiment, a message execution instance can be run in the message execution node, which can be a separate process. Through the message execution instance, the subsequent processing process of the disaster recovery service message can be executed. Specifically, the message execution instance can listen to the messages sent by the link client or other message execution nodes according to the configured listening port.
[0054] Specifically, after the message execution node is added to the address pool, the link client will also establish a communication link with each message execution node. It should be noted that for different message execution nodes, there is usually a corresponding link client. That is, in the ceph storage device, multiple link clients can be provided, and each link client can have its own message execution node.
[0055] In the embodiment, when a certain link client receives a disaster recovery service message sent by a disaster recovery service, the link client can first detect whether the link state of the message execution node to which the message belongs is in an online state (UP state). If the link state is in the online state, the link client can directly send the disaster recovery service message to the corresponding message execution node through the communication link. If the link state of the message execution node to which the message belongs is in an offline state (DOWN state), the link client can select another message execution node to receive the disaster recovery service message.
[0056] Specifically, the link client can identify the IP address of the message execution node to which the message belongs, and then select an IP address greater than the IP address from the local address pool. For example, the link client can select the smallest IP address from the other IP addresses, and then send the disaster recovery service message to the message execution node corresponding to the smallest IP address (if the communication link of the message execution node is in the online state).
[0057] It should be noted that if the link states of all the message execution nodes are in the offline state, the link client can feed back an error prompt message to the disaster recovery service to indicate that the current data disaster recovery and backup process fails.
[0058] In addition, in actual applications, the communication link between the link client and the message execution node can be further divided into a control link and a data link, so as to separate the control message and the data message, and ensure the timely sending and response of the control message.
[0059] In the embodiment, the disaster recovery service message sent by the link client can carry a device identifier of a remote communication device, to indicate to which remote communication device the disaster recovery service message should be sent.
[0060] S23: Obtain a remote address pool link table matched with the device identifier from a link view table issued by the storage control cluster, and query available replication links in the remote address pool link table.
[0061] In the embodiment, after the message execution instance receives the disaster recovery service message, the message execution instance can obtain a remote address pool link table matched with the device identifier in the disaster recovery service message according to a link view table issued by the storage control cluster. It should be noted that the device identifier, the address pool identifier, and the message execution nodes in the address pool have a corresponding relationship. Therefore, the message execution instance can query the corresponding address pool identifier according to the device identifier carried in the disaster recovery service message, and the address pool identifier can represent a remote address pool in which a remote communication device is located. The remote address pool link table can include IP addresses of the message execution nodes in the remote address pool.
[0062] In the embodiment, the message execution instance under the local communication device can traverse the IP addresses of the message execution nodes in the remote address pool to determine whether the message execution nodes in the remote and the local message execution node where the message execution instance is located have available replication links.
[0063] It should be noted that each replication link between the local communication device and the remote communication device can be established by the message execution node after the storage control cluster distributes the link view table to the message execution node.
[0064] Specifically, after the message execution node receives the link view table, the message execution node can identify the remote address pool corresponding to the remote communication device from the link view table. Then, it is determined whether a replication link is established with the remote message execution node in the remote address pool. If no replication link is established with the target message execution node in the remote address pool, the IP address and port information of the target message execution node can be obtained, and a replication link can be established with the target message execution node based on the IP address and port information.
[0065] In actual application, the replication link can be adapted and encapsulated by the ceph AsyncMessenger in the ceph, thereby providing functions of connection, closing, message sending, and heartbeat packet sending.
[0066] Specifically, after the message execution node establishes the replication link, the message execution node needs to monitor the state of the replication link and report the state to the storage control cluster in real time. The message execution node can send heartbeat packets to the target message execution node at a specified time period through the established replication link, and receive the confirmation information fed back by the target message execution node for each heartbeat packet.
[0067] In the embodiment, the message execution node can identify the time difference between the latest received confirmation information and the current time. If the time difference is greater than or equal to a specified time threshold, it indicates that the target message execution node has not responded to the heartbeat packet for a long time, and at this time, the replication link may have failed. Therefore, in this case, the link state of the replication link can be set to a failure state. If the time difference is less than the specified time threshold, it indicates that the target message execution node timely replies the confirmation information for the heartbeat packet, and at this time, the link state of the replication link can be set to an online state.
[0068] In this embodiment, after the message execution node has counted the link states of the replication links, it can report the link states to the storage control cluster, so that the storage control cluster sets the device state of the remote communication device based on the link states of the received replication links. Specifically, if all the replication links between the local communication device and the remote communication device are in the failure state, the device state of the remote communication device can be set to the offline state. If there is at least one replication link between the local communication device and the remote communication device in the online state, the device state of the remote communication device can be set to the online state.
[0069] It should be noted that the above detection process of the link state is not only applicable to the replication links between the communication devices, but also applicable to the communication links between the link client and the message execution node, and the communication links between the message execution nodes in the same address pool.
[0070] The message execution node creates the replication links and monitors the link states of the replication links, so that the storage control cluster can update the content in the link view table in real time, to ensure the stable performance of the data disaster recovery process.
[0071] In one embodiment, when selecting the available replication link from the plurality of replication links, the IP address of the message execution node itself can be obtained, and the hash value of the IP address can be calculated by using a hash algorithm. For example, the hash value of the IP address can be calculated by using a hash algorithm. Then, based on the hash value, the matching remote message execution node can be queried in the remote address pool link table. For example, the hash value can be taken modulo the number of message execution nodes in the remote address pool, to find the corresponding remote message execution node. Starting from the matching remote message execution node, the available replication links can be queried in sequence.
[0072] In one embodiment, if the available replication link cannot be queried, the message execution node can start from the matching remote message execution node to attempt to establish a replication link. The method of establishing the replication link is as described above, and will not be repeated here. In this way, the first established replication link can be used as the available replication link.
[0073] In one embodiment, if there is no available replication link between the message execution node and the remote communication device, the message execution node can query other message execution nodes with available replication links to the remote communication device from the link view table issued by the storage control cluster. Then, the current message execution node can forward the disaster recovery service message to the other message execution node, so that the other message execution node sends the disaster recovery service message to the remote message execution node under the remote communication device through the available replication link. In this way, the failure of the replication link can be detected in time, and if all the replication links of the current message execution node fail, the disaster recovery service message can be forwarded to other message execution nodes in the same address pool, so that the disaster recovery service message is sent through the other message execution nodes, thereby improving the reliability of the disaster recovery service.
[0074] S25: sending the disaster recovery service message to the remote message execution node under the remote communication device through the replication link, so that the remote message execution node forwards the disaster recovery service message to the remote target service node for processing.
[0075] In the embodiment, after selecting the available replication link, the message execution node can send the disaster recovery service message to the remote message execution node under the remote communication device through the replication link. After receiving the disaster recovery service message, the remote message execution node can identify the remote target service node specified by the disaster recovery service from the disaster recovery service message. The remote message execution node and the remote target service node can also have a communication link (similar to the communication link between the link client and the local message execution node), and by selecting the corresponding communication link, the remote message execution node can send the disaster recovery service message to the specified remote target service node for processing.
[0076] The technical scheme provided in the present application can complete the creation process of the local communication device and the remote communication device by the storage control cluster. For the local communication device and the remote communication device, each can correspond to a respective address pool. In the address pool, one or more message execution nodes can be added by the storage control cluster. In this way, the local communication device and the remote communication device can logically represent the message transmission process between the replication links between the two address pools when performing data disaster recovery backup.
[0077] After the communication devices at both ends are established, the storage control cluster can generate a link view table which can be used for global management of the communication devices at both ends and the replication links, address pools, message execution nodes. After the storage control cluster issues the link view table to the message execution nodes in the address pool, if a message execution node receives a disaster recovery service message sent by a link client, the message execution node can query the link view table to learn the replication link currently used for transmitting the disaster recovery service message. Even if one of the replication links fails, the message execution node can still select other available replication links and send the disaster recovery service message to a remote message execution node under a remote communication device through the selected replication link. In this way, the remote message execution node can forward the disaster recovery service message to a remote target service node for processing, thereby completing a data disaster recovery backup process.
[0078] It can be seen that the technical scheme provided in the application does not affect the processing of the disaster recovery service message even if one of the replication links fails, thereby improving the stability of data disaster recovery backup.
[0079] Referring to Figure 4 The application further provides a message execution node, which is located in a local communication device and is added to a local address pool corresponding to the local communication device by a storage control cluster. The message execution node comprises:
[0080] a message receiving unit configured to receive a disaster recovery service message sent by a link client, the disaster recovery service message comprising a device identifier of a remote communication device;
[0081] a link querying unit configured to acquire a remote address pool link table matched with the device identifier from a link view table issued by the storage control cluster and query an available replication link in the remote address pool link table;
[0082] a message sending unit configured to send the disaster recovery service message to a remote message execution node under the remote communication device through the replication link, so that the remote message execution node forwards the disaster recovery service message to a corresponding remote target service node for processing.
[0083] In an embodiment, the message execution node further comprises:
[0084] an address pool identifying unit configured to receive the link view table issued by the storage control cluster and identify a remote address pool corresponding to the remote communication device from the link view table;
[0085] The replication link establishing unit is configured to, if no replication link is established with a target message execution node under the remote address pool, acquire IP address and port information of the target message execution node, and establish a replication link with the target message execution node based on the IP address and port information.
[0086] In one embodiment, the message execution node further comprises:
[0087] The heartbeat data packet sending unit is configured to send a heartbeat data packet to the target message execution node at a specified time period through the established replication link, and receive acknowledgement information fed back by the target message execution node for each heartbeat data packet;
[0088] The link state setting unit is configured to identify a time difference between the latest received acknowledgement information and a current time, and set a link state of the replication link as a failure state if the time difference is greater than or equal to a specified time threshold, or set the link state of the replication link as an online state if the time difference is less than the specified time threshold.
[0089] The reporting unit is configured to report the link state of the replication link to the storage control cluster, so that the storage control cluster sets a device state of the remote communication device based on the received link states of each replication link.
[0090] In one embodiment, the link querying unit is specifically configured to acquire an IP address of the message execution node itself, and calculate a hash value of the IP address; query a matched remote message execution node in the remote address pool link table based on the hash value, and query available replication links starting from the matched remote message execution node.
[0091] In one embodiment, the link querying unit is specifically further configured to, if no available replication link can be queried, attempt to establish a replication link starting from the matched remote message execution node, and take the first established replication link as an available replication link.
[0092] In one embodiment, the link querying unit is specifically further configured to, if no available replication link exists between the message execution node and the remote communication device, query other message execution nodes under the same address pool and having available replication links with the remote communication device from a link view table issued by the storage control cluster; forward the disaster recovery service message to the other message execution nodes, so as to send the disaster recovery service message to remote message execution nodes under the remote communication device through the other message execution nodes and available replication links.
[0093] Please refer to Figure 5The application further provides a storage control cluster, which comprises:
[0094] An address pool creation unit is configured to receive an address pool creation request, create a local address pool corresponding to the address pool creation request locally, and add one or more message execution nodes into the local address pool.
[0095] A communication device creation unit is configured to receive a communication device creation request, and create a local communication device and a remote communication device on corresponding local address pools and remote address pools respectively according to local address pool identifiers and remote address pool identifiers defined in the communication device creation request.
[0096] A link view table issuing unit is configured to generate a link view table based on the created local communication device and the remote communication device, and issue the link view table to each message execution node under the local communication device, so that the message execution nodes process disaster recovery service messages based on the link view table.
[0097] In an embodiment, the address pool creation request comprises a specified replication network segment; and the address pool creation unit is specifically configured to create a local address pool with the replication network segment locally, and assign a globally unique local address pool identifier to the created local address pool.
[0098] In an embodiment, the communication device creation request further comprises an initial local address and an initial remote address; and the communication device creation unit is specifically configured to establish a temporary communication link between the initial local address and the initial remote address, and transmit negotiation messages to each other through the temporary communication link, so as to create a local communication device and a remote communication device based on the transmitted negotiation messages respectively.
[0099] The application further provides a node device, which comprises a memory and a processor, wherein the memory is configured to store a computer program, and the computer program is executed by the processor to implement the message processing method in the segmented network.
[0100] The application further provides a computer storage medium, which is configured to store a computer program, and the computer program is executed by a processor to implement the link management method for CEPH storage disaster recovery.
[0101] The application further provides a computer storage medium, which is configured to store a computer program, and the computer program is executed by a processor to implement the link management method for CEPH storage disaster recovery.
[0102] The processor can be a central processing unit (CPU). The processor can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic components, discrete hardware components, or a combination thereof.
[0103] The memory is a non-transitory computer readable storage medium, and can be used to store non-transitory software programs, non-transitory computer executable programs and modules, such as program instructions / modules corresponding to the method in the embodiments of the present application. The processor executes various functions and data processing of the processor by running the non-transitory software programs, instructions and modules stored in the memory, that is, implements the method in the above method embodiments.
[0104] The memory can include a program storage area and a data storage area. The program storage area can store an operating system and at least one application required by a function. The data storage area can store data created by the processor and the like. In addition, the memory can include a high-speed random access memory, and can also include a non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state memory device. In some embodiments, the memory can optionally include a memory remotely disposed relative to the processor, and these remote memories can be connected to the processor through a network. Examples of the network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0105] Those skilled in the art can understand that all or part of the processes in the above method embodiments can be completed by instructing relevant hardware through a computer program. The program can be stored in a computer readable storage medium, and when executed, can include the processes of the above method embodiments. The storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), a random access memory (RAM), a flash memory, a hard disk drive (HDD) or a solid-state drive (SSD), etc. The storage medium can also include a combination of the above types of memories.
[0106] While embodiments of the application have been described in connection with the preferred embodiments of the various figures, those of ordinary skill in the art will appreciate that various modifications and changes can be made without departing from the spirit and scope of the application, and that such modifications and changes fall within the scope of the appended claims.
Claims
1. A link management method for storage disaster recovery, characterized by, The method is applied to a message execution node, the message execution node is added to a local address pool corresponding to a local communication device by a storage control cluster; the method comprises: Receiving a disaster recovery service message sent by a link client, the disaster recovery service message comprising a device identifier of a remote communication device; Querying a corresponding address pool identifier from the device identifier carried in the disaster recovery service message, the address pool identifier representing a remote address pool where the remote communication device is located; Obtaining a remote address pool link table matched with the remote address pool corresponding to the device identifier from a link view table issued by the storage control cluster, the link view table comprising: information of an address pool, information of a message execution node, and device information of a local communication device and a remote communication device; the information of the address pool comprises an address pool identifier, the information of the message execution node comprises an address pool identifier and an IP address to which the message execution node belongs, and the device information of the local communication device and the remote communication device comprises a corresponding device identifier, and the device identifier, the address pool identifier, and the message execution node in the address pool have a corresponding relationship; According to the IP address of each message execution node of the remote address pool in the remote address pool link table, querying an available replication link in the remote address pool link table; Sending the disaster recovery service message to a remote message execution node under the remote communication device through the replication link, so that the remote message execution node forwards the disaster recovery service message to a remote target service node for processing.
2. The method of claim 1, wherein, Before receiving the disaster recovery service message sent by the link client, the method further comprises: Receiving a link view table issued by the storage control cluster, and identifying a remote address pool of a remote communication device from the link view table; If no replication link is established with a target message execution node under the remote address pool, obtaining an IP address and port information of the target message execution node, and establishing a replication link with the target message execution node based on the IP address and the port information.
3. The method of claim 2, wherein, After establishing the replication link with the target message execution node, the method further comprises: Sending a heartbeat data packet to the target message execution node at a specified time period through the established replication link, and receiving confirmation information fed back by the target message execution node for each heartbeat data packet; Identifying a time difference between the latest received confirmation information and a current time, and setting a link state of the replication link to a fault state if the time difference is greater than or equal to a specified time threshold, or setting the link state of the replication link to an online state if the time difference is less than the specified time threshold; Reporting the link state of the replication link to the storage control cluster, so that the storage control cluster sets a device state of the remote communication device based on the received link states of each replication link.
4. The method of claim 1, wherein, The method further comprises: Obtaining an IP address of the message execution node itself, and calculating a hash value of the IP address; querying a matched remote message execution node in the remote address pool link table based on the hash value, and querying available replication links from the matched remote message execution node.
5. The method of claim 4, wherein, The method further comprises: If no available replication link can be queried, attempting to establish a replication link from the matched remote message execution node, and taking the first established replication link as an available replication link.
6. The method of claim 1, wherein, When querying the available replication links in the remote address pool link table, the method further comprises: If no available replication link exists between the message execution node and the remote communication device, querying other message execution nodes with available replication links to the remote communication device from the link view table issued by the storage control cluster; forwarding the disaster recovery service message to the other message execution node, so as to send the disaster recovery service message to a remote message execution node under the remote communication device through the available replication link of the other message execution node.
7. A message execution node, characterized in that, The message execution node is added to a local address pool corresponding to a local communication device by a storage control cluster; the message execution node comprises: a message receiving unit, configured to receive a disaster recovery service message sent by a link client, wherein the disaster recovery service message comprises a device identifier of a remote communication device; a link querying unit, configured to query a corresponding address pool identifier based on the device identifier carried in the disaster recovery service message, wherein the address pool identifier represents a remote address pool in which the remote communication device is located; acquire a remote address pool link table matched with the remote address pool corresponding to the device identifier from a link view table issued by the storage control cluster, wherein the link view table comprises information of an address pool, information of a message execution node, and device information of a local communication device and a remote communication device; the information of the address pool comprises an address pool identifier, the information of the message execution node comprises an address pool identifier and an IP address to which the message execution node belongs, and the device information of the local communication device and the remote communication device comprises a corresponding device identifier, and the device identifier, the address pool identifier, and the message execution node in the address pool have a corresponding relationship; and query available replication links in the remote address pool link table based on IP addresses of each message execution node of the remote address pool in the remote address pool link table; a message sending unit, configured to send the disaster recovery service message to a remote message execution node under the remote communication device through the replication link, so that the remote message execution node forwards the disaster recovery service message to a remote target service node for processing.
8. A link management method for storage disaster recovery, characterized by, The method is applied to a storage control cluster, and the method comprises: receiving an address pool creation request, creating a local address pool locally in response to the address pool creation request, and adding one or more message execution nodes to the local address pool; receiving a communication device creation request, and creating a local communication device and a remote communication device on a local address pool and a remote address pool respectively according to a local address pool identifier and a remote address pool identifier defined in the communication device creation request; Based on the created local communication device and the remote communication device, a link view table is generated, and the link view table is distributed to each message execution node under the local communication device, so that the message execution node executes the storage disaster recovery link management method provided in any one of claims 1 to 6 to process disaster recovery service messages based on the link view table.
9. The method of claim 8, wherein, The address pool creation request includes a specified replication network segment; the local address pool includes: A local address pool with the replication network segment is created locally, and a globally unique local address pool identifier is allocated to the created local address pool.
10. The method of claim 8, wherein, The communication device creation request further includes an initial local address and an initial remote address; the local communication device and the remote communication device are respectively created on the local address pool and the remote address pool, including: A temporary communication link is established between the initial local address and the initial remote address, and negotiation messages are transmitted between each other through the temporary communication link to respectively create the local communication device and the remote communication device based on the transmitted negotiation messages.
11. A storage control cluster, comprising: The storage control cluster includes: An address pool creation unit configured to receive an address pool creation request, create a local address pool locally in response to the address pool creation request, and add one or more message execution nodes to the local address pool; A communication device creation unit configured to receive a communication device creation request, and create a local communication device and a remote communication device on a local address pool and a remote address pool respectively according to a local address pool identifier and a remote address pool identifier defined in the communication device creation request; A link view table distribution unit configured to generate a link view table based on the created local communication device and the remote communication device, and distribute the link view table to each message execution node under the local communication device, so that the message execution node executes the storage disaster recovery link management method provided in any one of claims 1 to 6 to process disaster recovery service messages based on the link view table.