Distributed lock management message transmission method and device and dual-node server
By using NTB virtual network card and PCIe channel to transmit DLM messages in a dual-node server, the DLM lock interaction interruption caused by Ethernet link exceptions is solved, and the reliability and stability of the system are improved.
Patent Information
- Application Number
- CN202411520444.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-29
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2044-10-29
AI Technical Summary
When accessing SAN storage using a shared file system, Ethernet link exceptions in the DLM lock transmission channel often cause DLM lock interaction to be interrupted, and the integrity of the lock request cannot be guaranteed, resulting in cluster blocking and node access to SAN storage blocking.
By using the non-transparent bridge NTB virtual network card in a two-node server, a connection based on PCIe channel is established to transmit distributed lock manager DLM messages.
It improves the reliability of DLM information transmission, reduces the probability of interruption, and avoids cluster blocking problems caused by Ethernet network exceptions.
Smart Images

Figure CN119420624A_ABST
Abstract
Description
Technical Field
[0001] The present specification relates to the field of communication technology, and in particular to a method, device and dual-node server for transmitting distributed lock management messages. Background Art
[0002] When using a shared file system to access SAN (Storage Area Network) storage, DLM (Distribute Lock Manager) is used to ensure the consistency and reliability of disk data. Specifically, the DLM components between different computing nodes exchange messages through a set of TCP-based DLM protocols. o2net is the communication component that provides this TCP service, which is located in the application layer of the TCP protocol stack.
[0003] The current technology uses Ethernet channels for DLM lock transmission. In actual application scenarios, Ethernet channel abnormalities or interruptions often occur. The main triggering causes include abnormal network switches, optical module light attenuation, fiber optic line breakage and other link abnormalities. When the Ethernet link is abnormal, the DLM o2net lock interaction will be interrupted, and the integrity of a DLM lock request interaction cannot be guaranteed, resulting in cluster blockage and node access to SAN storage. Summary of the invention
[0004] In order to overcome the problems existing in the related art, this specification provides a method and device for transmitting a distributed lock management message.
[0005] According to a first aspect of an embodiment of this specification, a method for transmitting a distributed lock management message is provided, which is applied to a computing node in a dual-node server, and the method comprises: using a non-transparent bridge NTB virtual network card to establish a connection with an opposite node in the dual-node server, wherein the NTB virtual network card is a network card virtualized by NTB, and the connection is based on a PCIe channel;
[0006] The NTB virtual network card is used to transmit a distributed lock manager DLM message to the opposite node through the connection.
[0007] According to a second aspect of an embodiment of this specification, a distributed lock management message transmission device is provided, which is applied to a computing node in a dual-node server, including: a connection establishment module, which is used to establish a connection with an opposite node in the dual-node server using a non-transparent bridge NTB virtual network card, wherein the NTB virtual network card is a network card virtualized by NTB;
[0008] The transmission module is used to transmit a distributed lock manager DLM message to the opposite node through the connection by using the NTB virtual network card.
[0009] According to a third aspect of an embodiment of this specification, a dual-node server is provided, comprising two computing nodes, each computing node being configured as:
[0010] Establishing a connection with the opposite node in the dual-node server by using a non-transparent bridge NTB virtual network card, wherein the NTB virtual network card is a network card virtualized by NTB, and the connection is based on a PCIe channel;
[0011] The NTB virtual network card is used to transmit a distributed lock manager DLM message to the opposite node through the connection.
[0012] According to a fourth aspect of an embodiment of this specification, a distributed lock management message transmission device is provided, including:
[0013] processor;
[0014] a memory for storing processor-executable instructions;
[0015] The processor is configured to execute the method for transmitting a distributed lock management message according to the first aspect or any corresponding implementation manner thereof.
[0016] According to the fifth aspect of the embodiments of this specification, a distributed lock management message transmission device is provided, including: a computer program product, including computer instructions, the computer instructions are used to enable a computer to execute the distributed lock management message transmission method of the above-mentioned first aspect or any corresponding embodiment thereof.
[0017] The technical solutions provided by the embodiments of this specification may have the following beneficial effects:
[0018] In the embodiments of this specification, the computing node uses the NTB virtual network card to establish a connection based on the PCIe channel, and then uses the connection based on the PCIe channel to transmit DLM information. Since the PCIe channel is a high-speed serial bus interconnection, it has higher reliability than the Ethernet channel, greatly reduces the probability of interruption, and can avoid the problem of DLM lock interaction blocking due to Ethernet network anomalies, which in turn causes cluster blocking.
[0019] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present specification. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the specification and, together with the description, serve to explain the principles of the specification.
[0021] Figure 1A It is a schematic diagram of a system architecture of a dual-node server according to an exemplary embodiment of the present specification.
[0022] Figure 1B It is a schematic diagram of the software architecture of a dual-node server shown in this specification according to an exemplary embodiment.
[0023] Figure 2 The present specification is a flowchart of a method for transmitting a distributed lock management message according to an exemplary embodiment.
[0024] Figure 3 The present invention is a flowchart of another method for transmitting a distributed lock management message according to an exemplary embodiment.
[0025] Figure 4 The present invention is a flowchart of another method for transmitting a distributed lock management message according to an exemplary embodiment.
[0026] Figure 5 It is a hardware structure diagram of a computer device where the transmission device of the distributed lock management message in the embodiment of this specification is located.
[0027] Figure 6 It is a block diagram of a distributed lock management message transmission device shown in this specification according to an exemplary embodiment. DETAILED DESCRIPTION
[0028] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with this specification. Instead, they are merely examples of devices and methods consistent with some aspects of this specification as detailed in the appended claims.
[0029] The terms used in this specification are for the purpose of describing specific embodiments only and are not intended to limit this specification. The singular forms "a", "the" and "the" used in this specification and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.
[0030] It should be understood that although the terms first, second, third, etc. may be used in this specification to describe various information, this information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of this specification, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0031] Next, the embodiments of this specification are described in detail.
[0032] The following combination Figure 1A The system architecture of the method and device for transmitting distributed lock management messages in the embodiments of this specification is described. It should be noted that: Figure 1A What is shown is merely an example of a system architecture to which the embodiments of this specification can be applied, to help those skilled in the art understand the technical content of this specification, but it does not mean that the embodiments of this specification cannot be used in other devices, systems, environments or scenarios.
[0033] Figure 1A It is a schematic diagram of a system architecture of a dual-node server according to an exemplary embodiment of the present specification.
[0034] like Figure 1A As shown, the system architecture may include, for example, two computing nodes, such as HostA and HostB.
[0035] The two computing nodes are interconnected at the hardware level through Intel CPU's NTB (Non-Transparent Bridge) technology and PCIe (Peripheral Component Interconnect Express). The host domain memory of the two computing nodes can be shared and accessed after NTB conversion, thereby achieving the purpose of mutual communication between the two nodes.
[0036] Figure 1B It is a schematic diagram of the software architecture of a dual-node server shown in this specification according to an exemplary embodiment.
[0037] like Figure 1B As shown in FIG. 1 , the software architecture may include modules such as DLM (Distributed Lock Manager), O2NET, NTB Netdev, NTB, Intel NTB, etc. DLM is a component that manages locks in a distributed system and ensures that multiple nodes can coordinate access to shared resources. DLM can provide mutual exclusion locks and shared locks to prevent multiple nodes from modifying shared resources at the same time.
[0038] O2NET is a network component in the OCFS2 file system, used to establish and maintain heartbeat connections between multiple nodes.
[0039] NTB Netdev is a network device that can be used to provide support for NTB functions. Through the NTB Netdev module, each NTB port can be presented as a standard network interface, allowing communication using conventional network protocols. The NTB module can include NTB, HW (hardware) and Driver (driver).
[0040] Intel NTB can be used to communicate via PCIe Link.
[0041] The following is a detailed description of the method for transmitting the distributed lock management message provided in the embodiments of this specification. Figure 2 As shown, Figure 2 This is a flowchart of a distributed lock management message transmission method shown in this specification according to an exemplary embodiment. The method can be applied to a computing node in a dual-node server. The distributed lock management message transmission method provided in the embodiment of this specification may include the following steps.
[0042] In step 210, a non-transparent bridge NTB virtual network card is used to establish a connection with the opposite node in the dual-node server. The NTB virtual network card is a network card virtualized by the NTB, and the connection is based on a PCIe channel.
[0043] According to the embodiment of this specification, the NTB virtual network card is a virtual network card created through the network subsystem interface of the operating system. Through the virtual network card, the NTB can be virtualized as a network interface device in the operating system, having functions and interfaces similar to those of a physical network card.
[0044] According to an embodiment of the present specification, the opposite node is another computing node in the dual-node server. The opposite node also includes an NTB virtual network card virtualized by NTB. The NTB virtual network card of the computing node can establish a connection with the NTB virtual network card of the opposite node based on a PCIe channel. The connection can include, for example, a TCP socket connection.
[0045] In step 220, the distributed lock management DLM message is transmitted to the opposite node through the connection using the NTB virtual network card.
[0046] According to an embodiment of the present specification, when a DLM message needs to be sent to a peer node, the NTB virtual network card may send the DLM message to the peer node through a connection of a PCIe channel.
[0047] According to an embodiment of the present specification, a DLM message may include, for example, lock information, synchronization information, and a heartbeat signal. Among them, the lock information may include, for example, information such as a mutex lock and a shared lock, which may be used to determine the level of access rights to resources, clarify the node that currently owns the lock, and facilitate coordination of resource access. Synchronization information may be used to confirm received requests or status updates to ensure the reliability of communication. A heartbeat signal may be used to indicate the active state of a node so that a faulty node can be discovered in a timely manner.
[0048] According to the embodiments of this specification, the computing node uses the NTB virtual network card to establish a connection based on the PCIe channel, and then uses the connection based on the PCIe channel to transmit DLM information. Since the PCIe channel is a high-speed serial bus interconnection, it has higher reliability than the Ethernet channel, greatly reduces the probability of interruption, and can avoid the problem of DLM lock interaction blocking due to Ethernet network anomalies and then cluster blocking.
[0049] The following implementation method describes a process of creating an NTB virtual network card based on the above-mentioned embodiment, including the following steps:
[0050] Create a network interface device structure for describing the NTB virtual network card. Then, configure the sending processing function and receiving processing function for the network interface device structure. The sending processing function is used to receive data transmitted by the upper-layer application and send the data transmitted by the upper-layer application through the NTB device. The receiving processing function is used to receive data through the NTB device and pass the data received from the NTB device to the upper-layer application.
[0051] For example, in a Linux system, you can create a net_device structure to represent the NTB virtual network card. Then configure the data packet sending and receiving processing functions for the NTB virtual network card. When the upper-layer application has data to send, it will call the sending processing function of the NTB virtual network card and pass the data to the NTB virtual network card for processing. The sending processing function of the NTB virtual network card will encapsulate the data into a network data packet and transmit it to the remote system through the NTB device. When the NTB device receives data sent by the remote system, it will trigger the receiving processing function of the NTB virtual network card and pass the data to the upper-layer application.
[0052] Optionally, when a computing node transmits a DLM message to a peer node through a connection using an NTB virtual network card, a reliable message mechanism may be introduced to ensure the integrity of the DLM message interaction.
[0053] For example, the computing node can send a DLM message to the opposite node through a connection, hereinafter referred to as the first DLM message. If the first response corresponding to the first DLM message sent by the opposite node is received through the connection within the first predetermined time length after sending the first DLM message, the first completion message is sent to the opposite node through the connection to inform the opposite node that the message has been transmitted. The first predetermined time length can be set according to actual needs. After receiving the first completion message, the opposite node can reply to the first response corresponding to the first DLM message through the connection. If the computing node does not receive the first response corresponding to the first DLM message sent by the opposite node through the connection within the first predetermined time length after sending the first DLM message, it means that the opposite node may not have received the first DLM message, based on which the first DLM message can be resent to the opposite node through the connection. By resending the first DLM message, the reliability of transmitting the DLM message can be improved.
[0054] Optionally, if a second response corresponding to the first completion message sent by the opposite node is not received through the connection within a second predetermined time after sending the first completion message, the first completion message can be resent to the opposite node. By resending the first completion message, the reliability of transmitting the DLM message can be further improved.
[0055] Correspondingly, the opposite node may also send a DLM message to the computing node on this side, hereinafter referred to as the second DLM message. If the computing node receives the second DLM message sent by the opposite node through the connection, the computing node sends a third response corresponding to the second DLM message to the opposite node. If the computing node receives the second completion message sent by the opposite node through the connection, the computing node sends a fourth response corresponding to the second completion message to the opposite node.
[0056] Optionally, if the computing node does not receive a corresponding response sent by the opposite node through the connection for a third predetermined time after sending any DLM message, the connection can be closed. The third predetermined time can be greater than the first predetermined time and the second predetermined time, and the third predetermined time can be set according to actual needs. By actively closing the current connection, a new connection can be re-established between computing nodes, so that the computing node will not be hung due to indefinite retries.
[0057] Optionally, a message sequence number may be added to the message body of the DLM message to identify the interaction process to which the message belongs. The sending node and the receiving node may identify a message interaction according to the message sequence number in the DLM message.
[0058] Combine the following Figure 3 , Figure 4 And a specific embodiment describes a method for transmitting a distributed lock management message.
[0059] Exemplarily, in this embodiment, the dual-node server may include Host1 and Host2. Host1 and Host2 may switch DLM / O2NET to an NTB virtual network card and establish a TCP socket connection for DLM message interaction. A message sequence number is added to the message body of the DLM message, and Host1 and Host2 may identify a message interaction according to the sequence number.
[0060] When the sender fails to send, it will wait and resend until it receives a normal reply from the receiver. After receiving the reply from the receiver, the sender needs to send a confirmation completion message to notify the receiver that the interaction is complete. The receiver needs to cache the message processing results, and after receiving the confirmation completion message from the sender, it needs to clear the cache. If a resend message is received from the sender, the cache result is directly replied to the sender. If a message is sent by either end for more than 1 minute without receiving a response (such as a confirmation message ACK) from the opposite node, the current socket will be actively closed, which will prompt the computing nodes to re-establish a new connection so that the computing nodes will not be hung due to indefinite retries.
[0061] Figure 3 The present invention is a flowchart of another method for transmitting a distributed lock management message according to an exemplary embodiment.
[0062] like Figure 3 As shown in the figure, Host1 sends a DLM message Seq1 to Host2 through a TCP socket connection. Seq1 fails to be sent (send failed), resulting in Host2 not receiving Seq1, and therefore not replying the corresponding response. If Host1 does not receive a response from Host2 for more than 1 minute, the TCP socket connection is disconnected. Then, Host1 re-establishes a TCP socket connection with Host2. Host1 re-sends Seq1 to Host2 through the newly established TCP socket connection. After Host2 receives Seq1, it caches Seq1 (cached) and sends a response (Response) to Seq1 to Host1 through the TCP socket connection. After Host1 receives the response to Seq1, it sends a completion (complete) message to Host1 through the TCP socket connection, indicating that the transmission of Seq1 is complete. After Host2 receives the completion message, it discards the cached Seq1 (drop) and sends a response to the completion message to Host1 through the TCP socket connection.
[0063] Figure 4 The present invention is a flowchart of another method for transmitting a distributed lock management message according to an exemplary embodiment.
[0064] like Figure 4 As shown in the figure, Host1 sends a DLM message Seq1 to Host2 through a TCP socket connection. After Host2 receives Seq1, it caches Seq1 and sends a response to Seq1 to Host1 through a TCP socket connection. The response to Seq1 fails to be sent, resulting in Host1 not receiving a response. If Host2 does not receive any message returned by Host1 for more than 1 minute, the TCP socket connection is disconnected. Then, Host2 re-establishes a TCP socket connection with Host1. Host2 re-sends a response to Seq1 to Host1 through the newly established TCP socket connection. After Host1 receives the response to Seq1, it sends a completion message to Host1 through a TCP socket connection. After receiving the completion message, Host2 discards the cached Seq1 and sends a response to the completion message to Host1 through a TCP socket connection.
[0065] Corresponding to the embodiments of the aforementioned method, this specification also provides embodiments of a distributed lock management message transmission device and a terminal used therein.
[0066] The embodiments of the transmission device of the distributed lock management message in this specification can be applied to computer devices, such as servers or terminal devices. The device embodiments can be implemented by software, hardware, or a combination of software and hardware. Taking software implementation as an example, as a device in a logical sense, it is formed by the processor in which it is located reading the corresponding computer program instructions in the non-volatile memory into the memory and running them. From the hardware level, if Figure 5 As shown, it is a hardware structure diagram of the computer device where the transmission device of the distributed lock management message of the embodiment of this specification is located. Figure 5 In addition to the processor 510, memory 530, network interface 520, and non-volatile memory 540 shown, the server or electronic device where the device 531 is located in the embodiment may also include other hardware according to the actual function of the computer device, which will not be described in detail.
[0067] like Figure 6 As shown, Figure 6 This is a block diagram of a distributed lock management message transmission device according to an exemplary embodiment of the present specification. The device can be applied to a computing node in a dual-node server. The device includes:
[0068] The connection establishment module 610 is used to establish a connection with the opposite node in the dual-node server by using a non-transparent bridge NTB virtual network card, where the NTB virtual network card is a network card virtualized by the NTB;
[0069] The transmission module 620 is used to transmit the distributed lock manager DLM message to the opposite node through the connection by using the NTB virtual network card.
[0070] Optionally, the device further comprises:
[0071] A creation module is used to create a network interface device structure for describing the NTB virtual network card;
[0072] The configuration module is used to configure the sending processing function and the receiving processing function for the network interface device structure. The sending processing function is used to receive data transmitted by the upper-layer application and send the data transmitted by the upper-layer application through the NTB device. The receiving processing function is used to receive data through the NTB device and pass the data received from the NTB device to the upper-layer application.
[0073] Optionally, the transmission module includes:
[0074] A first sending submodule, configured to send a first DLM message to the opposite node through the connection;
[0075] A second sending submodule, configured to send a first completion message to the opposite node through the connection if a first response corresponding to the first DLM message sent by the opposite node is received through the connection within a first predetermined time after the first DLM message is sent;
[0076] The third sending submodule is used to resend the first DLM message to the opposite node through the connection if a first response corresponding to the first DLM message sent by the opposite node is not received through the connection within a first predetermined time after sending the first DLM message.
[0077] Optionally, the device further comprises:
[0078] The fourth sending module is used to resend the first completion message to the opposite node if a second response corresponding to the first completion message sent by the opposite node is not received through the connection within a second predetermined time period after the first completion message is sent.
[0079] Optionally, the device further comprises:
[0080] a fifth sending module, configured to send a third response corresponding to the second DLM message to the opposite node if a second DLM message sent by the opposite node is received through the connection;
[0081] The sixth sending module is configured to send a fourth response corresponding to the second completion message to the opposite node if a second completion message sent by the opposite node is received through the connection.
[0082] Optionally, the device further comprises:
[0083] The closing module is used to close the connection if no corresponding response sent by the opposite node is received through the connection for a third predetermined period of time after the DLM message is sent.
[0084] According to the embodiments of this specification, the computing node uses the NTB virtual network card to establish a connection based on the PCIe channel, and then uses the connection based on the PCIe channel to transmit DLM information. Since the PCIe channel is a high-speed serial bus interconnection, it has higher reliability than the Ethernet channel, greatly reduces the probability of interruption, and can avoid the problem of DLM lock interaction blocking due to Ethernet network anomalies and then cluster blocking.
[0085] Correspondingly, the specification also provides a distributed lock management message transmission device, the device includes a processor; a memory for storing processor executable instructions; wherein the processor is configured to: establish a connection with the opposite node in the dual-node server using a non-transparent bridge NTB virtual network card, the NTB virtual network card is a network card virtualized by NTB, and the connection is based on a PCIe channel. The distributed lock management DLM message is transmitted to the opposite node through the connection using the NTB virtual network card.
[0086] The implementation process of the functions and effects of each module in the above-mentioned device is specifically described in the implementation process of the corresponding steps in the above-mentioned method, which will not be repeated here.
[0087] For the device embodiment, since it basically corresponds to the method embodiment, the relevant parts can refer to the partial description of the method embodiment. The device embodiment described above is only schematic, wherein the modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this specification. A person of ordinary skill in the art can understand and implement it without paying creative labor.
[0088] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0089] Those skilled in the art will readily appreciate other embodiments of the specification after considering the specification and practicing the invention claimed herein. The specification is intended to cover any variations, uses or adaptations of the specification that follow the general principles of the specification and include common knowledge or customary techniques in the art that are not claimed in the specification. The specification and examples are to be considered exemplary only, and the true scope and spirit of the specification are indicated by the following claims.
[0090] It should be understood that the present description is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present description is limited only by the appended claims.
[0091] The above description is only a preferred embodiment of this specification and is not intended to limit this specification. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this specification should be included in the scope of protection of this specification.
Claims
1. A method for transmitting a distributed lock management message, applied to a computing node in a dual-node server, characterized in that: The method comprises: Establishing a connection with the opposite node in the dual-node server by using a non-transparent bridge NTB virtual network card, wherein the NTB virtual network card is a network card virtualized by NTB, and the connection is based on a PCIe channel; The NTB virtual network card is used to transmit a distributed lock manager DLM message to the opposite node through the connection.
2. The method according to claim 1, characterized in that The NTB virtual network card is created according to the following operations: Create a network interface device structure to describe the NTB virtual network card; A sending processing function and a receiving processing function are configured for the network interface device structure. The sending processing function is used to receive data transmitted by the upper-layer application and send the data transmitted by the upper-layer application through the NTB device. The receiving processing function is used to receive data through the NTB device and pass the data received from the NTB device to the upper-layer application.
3. The method according to claim 1, characterized in that The using the NTB virtual network card to transmit the DLM message to the opposite node through the connection includes: Sending a first DLM message to the opposite node through the connection; If a first response corresponding to the first DLM message sent by the opposite node is received through the connection within a first predetermined time after sending the first DLM message, a first completion message is sent to the opposite node through the connection; If a first response corresponding to the first DLM message sent by the opposite node is not received through the connection within a first predetermined time after sending the first DLM message, the first DLM message is resent to the opposite node through the connection.
4. The method according to claim 3, characterized in that The method further comprises: If a second response corresponding to the first completion message sent by the opposite node is not received through the connection within a second predetermined time period after the first completion message is sent, the first completion message is resent to the opposite node.
5. The method according to claim 3, characterized in that: The method further comprises: If a second DLM message sent by the opposite node is received through the connection, sending a third response corresponding to the second DLM message to the opposite node; If a second completion message sent by the opposite node is received through the connection, a fourth response corresponding to the second completion message is sent to the opposite node.
6. The method according to claim 1, characterized in that The method further comprises: If no corresponding response sent by the opposite node is received through the connection for a third predetermined period of time after the DLM message is sent, the connection is closed.
7. A distributed lock management message transmission device, applied to a computing node in a dual-node server, characterized in that: The device comprises: A connection establishment module, used to establish a connection with the opposite node in the dual-node server by using a non-transparent bridge NTB virtual network card, wherein the NTB virtual network card is a network card virtualized by NTB; The transmission module is used to transmit a distributed lock manager DLM message to the opposite node through the connection by using the NTB virtual network card.
8. The device according to claim 7, characterized in that The device also includes: A creation module is used to create a network interface device structure for describing the NTB virtual network card; A configuration module is used to configure a sending processing function and a receiving processing function for the network interface device structure. The sending processing function is used to receive data transmitted by an upper-layer application and send the data transmitted by the upper-layer application through an NTB device. The receiving processing function is used to receive data through the NTB device and pass the data received from the NTB device to the upper-layer application.
9. The device according to claim 7, characterized in that The transmission module comprises: A first sending submodule, configured to send a first DLM message to the opposite node through the connection; a second sending submodule, configured to send a first completion message to the opposite node through the connection if a first response corresponding to the first DLM message sent by the opposite node is received through the connection within a first predetermined time after the first DLM message is sent; The third sending submodule is used to resend the first DLM message to the opposite node through the connection if a first response corresponding to the first DLM message sent by the opposite node is not received through the connection within a first predetermined time after sending the first DLM message.
10. A dual-node server, comprising two computing nodes, characterized in that: Each of the computing nodes is configured as: Establishing a connection with the opposite node in the dual-node server by using a non-transparent bridge NTB virtual network card, wherein the NTB virtual network card is a network card virtualized by NTB, and the connection is based on a PCIe channel; The NTB virtual network card is used to transmit a distributed lock manager DLM message to the opposite node through the connection.
Citation Information
Patent Citations
Distributed lock management in a cloud computing environment
CN105283838A
Lock server malfunction processing method and system thereof in distribution system
CN105794182A
A cross-node virtual machine communication method and a related device
CN109002414A
Distributed lock manager implementation method and system
CN109376014A
DLM lock information transmission method and related device
CN111756826A
Cited By
Dual-controller communication system and method, computer product and device, and storage medium
WO2026175367A1