A storage resource acquisition method and a storage system

By automatically determining and transmitting target multipath strategies at the storage end, the efficiency and accuracy issues caused by manual configuration are resolved, improving the performance of host access to storage resources and system flexibility.

CN119620955BActive Publication Date: 2026-02-10INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411943538.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2026-02-10
Estimated Expiration
2044-12-26

AI Technical Summary

Technical Problem

In existing technologies, the performance of host accessing storage resources is affected by the manual configuration of multi-path strategies based on cognition and experience, resulting in reduced configuration efficiency and accuracy.

Method used

The system obtains the current host and storage information from the storage end, determines the target multipath policy based on the pre-established correspondence, and transmits it to the host end. The host end then accesses the storage resources according to the target multipath policy.

Benefits of technology

It improves the efficiency and accuracy of multi-path strategy configuration, ensures the performance of host access to storage resources, and enhances the flexibility and reliability of the storage system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119620955B_ABST
    Figure CN119620955B_ABST
Patent Text Reader

Abstract

The application discloses a storage resource acquisition method and a storage system, and relates to the technical field of storage. In the method, a target multi-path strategy is determined by a storage end for a host end, human factors are avoided, the efficiency and accuracy of multi-path strategy configuration are improved, and thus the performance of the host in accessing storage resources is guaranteed. In addition, the storage end determines the target multi-path strategy corresponding to current host information and current storage information according to a previously established correspondence relationship among the host information, the storage information and the multi-path strategy, and considers the operating system type of the host, the network topology structure information of the host, the network topology structure information of the storage, the load information of the host, the load information of the storage and the storage architecture information, so that the target multi-path strategy can be reasonably determined, and the performance of the host in accessing storage resources through the target multi-path strategy is guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of storage technology, and in particular to a method for acquiring storage resources and a storage system. Background Technology

[0002] Storage architecture refers to the overall design and organization of data storage, management, and access in a computer system. In a storage architecture, the memory provides multiple data transmission channels to the host through multiple controllers and ports, creating multiple paths between the host and the memory. On the host side, multipathing software is typically configured to manage multipathing strategies for input / output (I / O) operations, enabling the host to access storage resources according to these strategies.

[0003] To ensure the operation of multipath software, related technologies rely on manual configuration of multipath strategies based on knowledge and experience. However, human factors can reduce configuration efficiency and accuracy, thus impacting the performance of host accessing storage resources.

[0004] Therefore, improving the efficiency and accuracy of multi-path strategy configuration to ensure the performance of host access to storage resources is a technical problem that urgently needs to be solved by those in the field. Summary of the Invention

[0005] The purpose of this invention is to provide a method and system for acquiring storage resources, in order to solve the technical problem in related technologies where, when configuring multipath strategies for multipath software set on the host side by human intervention based on cognition and experience, the efficiency and accuracy of configuration are reduced due to human factors, thereby affecting the performance of the host accessing storage resources.

[0006] To address the aforementioned technical problems, this invention provides a method for acquiring storage resources, applied at the storage end, the method comprising:

[0007] Obtain current host information and current storage information; wherein, the host information includes at least the host's operating system type information, the host's network topology information, and the host's load information, and the storage information includes at least the storage architecture information, the storage's network topology information, and the storage's load information;

[0008] The target multipath policy corresponding to the current host information and current storage information is determined based on the pre-established correspondence between host information, storage information and multipath policy;

[0009] The target multipath policy is transmitted to the host so that the host can access storage resources according to the target multipath policy.

[0010] On one hand, obtaining the current host information includes:

[0011] Establish in-band and out-of-band communication links with the host terminal;

[0012] If normal communication is detected through the in-band communication link, the current host information transmitted by the host end through the in-band communication link is received.

[0013] If an abnormality is detected in the communication via the in-band communication link, the current host information transmitted by the host through the out-of-band communication link is received.

[0014] On the other hand, after transmitting the target multipath policy to the host, the method further includes:

[0015] Obtain the data transmission path between the host and the storage within a first preset time period;

[0016] A new path strategy is determined based on the data transmission path between the host and the storage within the first preset time period.

[0017] The new path policy is used as the new target multipath policy, and the process proceeds to the step of transmitting the target multipath policy to the host so that the host can access storage resources according to the target multipath policy.

[0018] On the other hand, the acquisition of the data transmission path between the host and the storage within the first preset time period includes:

[0019] The system acquires information sent by the host terminal that characterizes the data transmission path status between the host terminal and the storage terminal within a first preset time period; wherein the information includes first information, second information, or third information; the first information is information sent by the host terminal to the storage terminal when it detects a decrease in the number of data transmission paths between the host terminal and the storage terminal within the first preset time period; the second information is information sent by the host terminal to the storage terminal when it detects an increase in the number of data transmission paths between the host terminal and the storage terminal within the first preset time period; the third information is information sent by the host terminal to the storage terminal when it detects an anomaly in the data transmission path between the host terminal and the storage terminal within the first preset time period.

[0020] Based on the information, determine the data transmission path between the host and the storage within the first preset time period;

[0021] When the information is the first information or the third information, determining the new path strategy based on the data transmission path between the host and the storage within the first preset time period includes:

[0022] The fault path is determined based on the first information or the third information;

[0023] The faulty path is blocked, and the new path strategy is determined from the remaining data transmission paths; wherein, the remaining data transmission paths are all data transmission paths between the host and the storage, excluding the faulty path;

[0024] The information is the second information, and the step of determining a new path strategy based on the data transmission path between the host and the storage within the first preset time period includes:

[0025] The new path is determined based on the second information;

[0026] Based on the load information of the storage, the load information of the host, and the newly added path, the new path strategy is determined from all data transmission paths between the host and the storage.

[0027] On the other hand, after transmitting the target multipath policy to the host, the method further includes:

[0028] To obtain information about changes in stored data;

[0029] Determine a new path strategy based on the changes in the stored information;

[0030] The new path policy is used as the new target multipath policy, and the process proceeds to the step of transmitting the target multipath policy to the host so that the host can access storage resources according to the target multipath policy.

[0031] On the other hand, determining the new path strategy based on changes in the stored information includes:

[0032] If the storage architecture remains unchanged within a second preset time period after the storage architecture is detected to have changed, the first storage architecture before the change, the second storage architecture after the change, and the data transmission path between the host and the storage under the first storage architecture are obtained.

[0033] If a change from the first storage architecture to the second storage architecture is detected, resulting in an increase in the number of paths, a new path is added based on the data transmission paths between the host and storage under the second storage architecture and the first storage architecture, to obtain the data transmission path between the host and storage under the second storage architecture; the new path strategy is determined based on the data transmission path between the host and storage under the second storage architecture.

[0034] Before the host accesses the storage resources according to the target multipath policy, it also includes:

[0035] The host scans for new paths based on the received information containing the target multipath strategy;

[0036] If a change from the first storage architecture to the second storage architecture is detected, resulting in a reduction of paths, then the failed paths are removed based on the data transmission paths between the host and storage under the second and first storage architectures to obtain the data transmission paths between the host and storage under the second storage architecture; the new path strategy is then determined based on the data transmission paths between the host and storage under the second storage architecture.

[0037] Before the host accesses the storage resources according to the target multipath policy, it also includes:

[0038] The host terminal disables and removes the invalid path based on the received information containing the target multipath policy.

[0039] On the other hand, after transmitting the target multipath policy to the host, the method further includes:

[0040] Receive the first prompt message indicating maintenance of storage components;

[0041] Upon receiving the first prompt message, a new path strategy is determined based on the condition of the component to be maintained;

[0042] The new path policy is used as the new target multipath policy, and the process proceeds to the step of transmitting the target multipath policy to the host so that the host can access storage resources according to the target multipath policy.

[0043] Receive a second notification message indicating that the storage component has completed maintenance, and obtain the current data transmission path between the host and the storage.

[0044] A new path strategy is determined based on the current data transmission path between the host and the storage.

[0045] The new path policy is used as the new target multipath policy, and the process proceeds to the step of transmitting the target multipath policy to the host so that the host can access storage resources according to the target multipath policy.

[0046] To address the aforementioned technical problems, the present invention also provides a method for acquiring storage resources, applied to a host side, the method comprising:

[0047] The storage terminal receives a target multipath policy sent by the storage terminal. The target multipath policy is determined by the storage terminal based on the current host information and current storage information, and according to the pre-established correspondence between the host information, storage information and multipath policy. The host information includes at least the host's operating system type information, the host's network topology information and the host's load information. The storage information includes at least the storage architecture information, the storage's network topology information and the storage's load information.

[0048] Access storage resources according to the target multipath strategy.

[0049] To address the aforementioned technical problems, the present invention also provides a storage system, comprising:

[0050] Memory, used to store computer programs;

[0051] A processor is configured to implement the steps of the above-described method for acquiring storage resources when executing the computer program.

[0052] To address the aforementioned technical problems, the present invention also provides a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of the aforementioned storage resource acquisition method.

[0053] The beneficial effect of the present invention is that, in this method, the storage end obtains the current host information and the current storage information, determines the target multipath policy corresponding to the current host information and the current storage information according to the pre-established correspondence between the host information, the storage information and the multipath policy, and finally the storage end transmits the determined target multipath policy to the host end, so that the host end can access the storage resources according to the target multipath policy. Compared to manually configuring multipath policies on the host side, the method provided in this invention determines the target multipath policy for the host side from the storage side, avoiding the influence of human factors and improving the efficiency and accuracy of multipath policy configuration, thereby ensuring the performance of the host accessing storage resources. Moreover, the storage side determines the target multipath policy corresponding to the current host information and the current storage information based on the pre-established correspondence between host information, storage information and multipath policies. The host information includes at least the host's operating system type, the host's network topology information and the host's load information, and the storage information includes at least the storage architecture information, the storage's network topology information and the storage's load information. That is, it takes into account the host's operating system type, the host and storage's network topology information, the host and storage's load information and the storage architecture information, so that the target multipath policy can be reasonably determined, ensuring the performance of the host accessing storage resources through the target multipath policy.

[0054] In addition, the host can send host information to the storage end via in-band or out-of-band communication links, which improves the success rate of host information transmission.

[0055] After the target multipath strategy is transmitted to the host, the path strategy can be adjusted based on the data transmission paths between the host and storage. Specifically, considering scenarios such as a decrease in the number of data transmission paths between the host and storage, an increase in the number of data transmission paths between the host and storage, or abnormal data transmission paths between the host and storage, a new path strategy is determined under various data transmission path conditions between the host and storage. This ensures that the host can access storage resources according to the new path strategy as much as possible, improving the overall flexibility, reliability, and performance of the storage system.

[0056] After the target multipath policy is transmitted to the host, a new path policy is determined based on changes in storage information. Specifically, considering the new path policies corresponding to changes in storage architecture (including increases and decreases in pending paths after changes in storage architecture) and storage component maintenance (including upgrades), the system strives to ensure that the host can access storage resources according to the new path policy, thereby improving the overall flexibility, reliability, and performance of the storage system.

[0057] Furthermore, this invention also provides a method for acquiring storage resources on a host side, which has the same or corresponding technical features as the aforementioned method for acquiring storage resources, and achieves the same effects. This invention also provides a storage system and a computer-readable storage medium capable of implementing the steps of the aforementioned method for acquiring storage resources, which have the same or corresponding technical features as the aforementioned method for acquiring storage resources, and achieve the same effects. Attached Figure Description

[0058] To more clearly illustrate the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0059] Figure 1 A flowchart illustrating a method for acquiring storage resources applied to a storage end, as provided in an embodiment of the present invention;

[0060] Figure 2 This is a schematic diagram illustrating an interaction scenario between a host and a storage device, as provided in an embodiment of the present invention.

[0061] Figure 3 A flowchart illustrating a multipath configuration method applied to a host side, as provided in an embodiment of the present invention;

[0062] Figure 4 A flowchart illustrating a multi-path configuration method applied to the storage end, as provided in an embodiment of the present invention;

[0063] Figure 5 This is a structural diagram of a storage system provided in an embodiment of the present invention. Detailed Implementation

[0064] 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 some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of the present invention.

[0065] The core of this invention is to provide a method and system for acquiring storage resources, in order to solve the technical problem in related technologies where, when configuring multipath strategies for multipath software set on the host side by human reliance on cognition and experience, the configuration efficiency and accuracy are reduced due to human factors, thereby affecting the performance of the host accessing storage resources.

[0066] The storage architecture used in the storage end of this invention is not limited, as long as the storage can provide multiple data transmission channels to the host through multiple controllers and multiple ports, so that there are multiple paths between the host and the storage.

[0067] To enable those skilled in the art to better understand the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. Figure 1 A flowchart illustrating a method for acquiring storage resources applied to the storage end, as provided in an embodiment of the present invention, is shown below. Figure 1 As shown, the method includes:

[0068] S10: Obtain current host information and current storage information;

[0069] S11: Determine the target multipath policy corresponding to the current host information and current storage information based on the pre-established correspondence between host information, storage information and multipath policy;

[0070] S12: Transmit the target multipath policy to the host so that the host can access storage resources according to the target multipath policy.

[0071] Information needs to be transmitted through a transmission link during the interaction between the host and the storage. Figure 2 This is a schematic diagram illustrating a host-to-storage interaction scenario provided by an embodiment of the present invention. For example... Figure 2As shown, the host and storage can exchange information via in-band and out-of-band communication links. In this embodiment of the invention, the storage determines the target multipath strategy and then transmits the target multipath strategy to the host. When determining the target multipath strategy, the storage first obtains the current host information and the current storage information. To ensure that the determined target multipath strategy is appropriate, the host information in this embodiment of the invention includes at least the host's operating system type information, the host's network topology information, and the host's load information.

[0072] In implementation, obtaining current host information includes: establishing in-band and out-of-band communication links with the host; receiving current host information transmitted by the host via the in-band communication link when normal communication is detected via the in-band link; and receiving current host information transmitted by the host via the out-of-band communication link when an abnormal communication is detected via the in-band link. That is, when in-band communication between the host and storage fails, out-of-band communication is attempted first. If out-of-band communication is not configured or is also unavailable, the communication modules at both ends enter a retry waiting mechanism, maintaining a periodic retries until communication is restored.

[0073] To improve the automation of configuring target multipath policies for the host, in this embodiment of the invention, an agent program or script is set up on the host. The host agent program or script is responsible for collecting data such as host information and host status, pushing relevant information to the storage end, executing the configuration scheme after storage decision, and maintaining a heartbeat with the host.

[0074] The storage device obtains its own current storage information and the current host information sent by the host device. In order to make the determined target multipath strategy more appropriate, the storage information in this embodiment of the invention includes at least storage architecture information, storage network topology information, and storage load information.

[0075] After obtaining its own current storage information and the current host information sent by the host, the storage end determines the target multipath strategy corresponding to the current host information and current storage information based on the pre-established correspondence between host information, storage information, and multipath strategies. In practice, rules and strategies can be pre-entered, and the program can match them according to the preset rules and select the corresponding strategy based on the matching results. In addition, it is possible to connect to a large artificial intelligence model, which can perform data analysis and decision-making to improve the flexibility and accuracy of decision-making.

[0076] After determining the target multipath policy, the storage device transmits the target multipath policy to the host device. Once the host device receives the target multipath policy, it can access the storage resources of the storage device according to the target multipath policy.

[0077] In the method provided by this embodiment of the invention, the storage end obtains the current host information and the current storage information, determines the target multipath policy corresponding to the current host information and the current storage information according to the pre-established correspondence between the host information, storage information and multipath policy, and finally the storage end transmits the determined target multipath policy to the host end, so that the host end can access storage resources according to the target multipath policy. Compared to manually configuring multipath policies on the host side, the method provided in this invention determines the target multipath policy for the host side from the storage side, avoiding the influence of human factors and improving the efficiency and accuracy of multipath policy configuration, thereby ensuring the performance of the host accessing storage resources. Moreover, the storage side determines the target multipath policy corresponding to the current host information and the current storage information based on the pre-established correspondence between host information, storage information and multipath policies. The host information includes at least the host's operating system type, the host's network topology information and the host's load information, and the storage information includes at least the storage architecture information, the storage's network topology information and the storage's load information. That is, it takes into account the host's operating system type, the host and storage's network topology information, the host and storage's load information and the storage architecture information, so that the target multipath policy can be reasonably determined, ensuring the performance of the host accessing storage resources through the target multipath policy.

[0078] In practice, host information may change. If the host uses the previously determined target multipath policy to access resources, it may affect the performance of the host when accessing storage resources. Therefore, after transmitting the target multipath policy to the host, the following steps are also included:

[0079] Obtain the data transmission path between the host and the storage within a first preset time period;

[0080] A new path strategy is determined based on the data transmission path between the host and the storage within the first preset time period;

[0081] The new path policy is used as the new target multipath policy, and the process proceeds to the step of transmitting the target multipath policy to the host so that the host can access storage resources according to the target multipath policy.

[0082] The first preset duration is not limited and is determined based on actual circumstances. In some embodiments, obtaining the data transmission path between the host and the storage within the first preset duration includes:

[0083] The system acquires information sent by the host to characterize the data transmission path status between the host and the storage within a first preset time period. This information includes first information, second information, or third information. The first information is sent by the host to the storage when it detects a decrease in the number of data transmission paths between the host and the storage within the first preset time period. The second information is sent by the host to the storage when it detects an increase in the number of data transmission paths between the host and the storage within the first preset time period. The third information is sent by the host to the storage when it detects an anomaly in the data transmission path between the host and the storage within the first preset time period.

[0084] The data transmission path between the host and the storage end within the first preset time period is determined based on the information.

[0085] When the information is the first or third information, the new path strategy is determined based on the data transmission path between the host and the storage within a first preset time period, including:

[0086] Determine the fault path based on the first or third information;

[0087] The faulty path is masked, and a new path strategy is determined from the remaining data transmission paths; where the remaining data transmission paths are the paths between the host and the storage, excluding the faulty path.

[0088] The information is the second type of information. Based on the data transmission path between the host and storage terminals within the first preset time period, a new path strategy is determined, including:

[0089] The new path is determined based on the second piece of information;

[0090] Based on the load information of the storage and the load information of the host, and in conjunction with the newly added paths, a new path strategy is determined from all data transmission paths between the host and the storage.

[0091] In this embodiment of the invention, after the target multipath strategy is transmitted to the host, the path strategy can be adjusted according to the data transmission path between the host and the storage. Specifically, considering situations such as a decrease in the number of data transmission paths between the host and the storage, an increase in the number of data transmission paths between the host and the storage, or abnormal data transmission paths between the host and the storage, a corresponding new path strategy is determined under various data transmission path conditions between the host and the storage. This ensures that the host can access storage resources according to the new path strategy as much as possible, improving the overall flexibility, reliability, and performance of the storage system.

[0092] The above describes adjusting the multipath policy based on changes in host information. In practice, storage information may also change on the storage side. Similarly, to ensure a reasonable multipath policy, after transmitting the target multipath policy to the host, the following steps are also included:

[0093] To obtain information about changes in stored data;

[0094] Determine a new path strategy based on changes in stored information;

[0095] The new path policy is used as the new target multipath policy, and the process proceeds to the step of transmitting the target multipath policy to the host so that the host can access storage resources according to the target multipath policy.

[0096] Specifically, determining a new path strategy based on changes in stored information includes:

[0097] If the storage architecture remains unchanged within a second preset time period after the change is detected, the first storage architecture before the change, the second storage architecture after the change, and the data transmission path between the host and the storage under the first storage architecture are obtained.

[0098] If a change from the first storage architecture to the second storage architecture is detected, resulting in an increase in the number of paths, a new path is added based on the data transmission paths between the host and the storage under the second and first storage architectures to obtain the data transmission paths between the host and the storage under the second storage architecture; a new path strategy is then determined based on the data transmission paths between the host and the storage under the second storage architecture.

[0099] The second preset duration is not limited and is determined based on the actual situation. Furthermore, before the host accesses storage resources according to the target multipath strategy, the following steps are also included:

[0100] The host scans for new paths based on the received information containing the target multipath policy;

[0101] If a change from the first storage architecture to the second storage architecture is detected, resulting in a reduction of paths, then the failed paths are removed based on the data transmission paths between the host and storage under the second and first storage architectures to obtain the data transmission paths between the host and storage under the second storage architecture; a new path strategy is then determined based on the data transmission paths between the host and storage under the second storage architecture.

[0102] Before the host accesses storage resources according to the target multipath policy, it also includes:

[0103] The host disables and removes invalid paths based on the received information containing the target multipath policy.

[0104] The above discussion considered how to determine new path strategies when the storage architecture changes in the stored information. In implementation, situations may arise where storage components require maintenance (such as upgrades). In such cases, to ensure performance when the host accesses storage resources as much as possible, after transmitting the target multipath strategy to the host, the following steps are also included:

[0105] Receive the first prompt message indicating maintenance of storage components;

[0106] Upon receiving the first notification, a new path strategy is determined based on the condition of the component to be maintained;

[0107] The new path policy is used as the new target multipath policy, and the process proceeds to the step of transmitting the target multipath policy to the host so that the host can access storage resources according to the target multipath policy.

[0108] Receive a second notification message indicating that the storage component has completed maintenance, and obtain the current data transmission path between the host and the storage.

[0109] A new path strategy is determined based on the current data transmission path between the host and the storage.

[0110] The new path policy is used as the new target multipath policy, and the process proceeds to the step of transmitting the target multipath policy to the host so that the host can access storage resources according to the target multipath policy.

[0111] In addition, the methods for acquiring storage resources also include:

[0112] Monitor the communication link between the host and storage devices;

[0113] If both the in-band and out-of-band communication links between the host and storage are detected to be normal, return to the steps of obtaining the current host information and the current storage information.

[0114] If both the in-band and out-of-band communication links with the host are found to be abnormal, determine whether the host's input / output paths are normal.

[0115] If so, then control the host to keep the current policy running;

[0116] If not, the host will match the preset rules to update the path policy.

[0117] In this method, if the host's input / output paths remain unaffected during communication failures, the host continues to operate using the current strategy. If both the host's input / output paths change simultaneously, the host updates its path strategy according to preset rules. When communication is restored, the storage determines the new path strategy and sends it back to the host for execution. This method effectively adjusts the path strategy used by the host in the event of communication failures.

[0118] In the storage resource acquisition method provided by the present invention, the storage and host-side agent programs or scripts work together to transmit information through an in-band network or an out-of-band management network, so as to realize the host automatically and dynamically configures the optimal multi-path strategy (i.e. the target multi-path strategy described above), and finally the host accesses the storage resources according to the optimal multi-path strategy.

[0119] The specific implementation method is as follows:

[0120] (1) The storage should be initialized, and the volume partitioning and host mapping should be completed according to the plan. The host should install a dedicated multipath program or use a script in conjunction with general / open source multipath software to run the agent program or script of the dedicated multipath software.

[0121] Among them, dedicated multipath software: storage manufacturers develop corresponding multipath software for different operating systems based on the characteristics of their own storage products. This type of multipath software often only serves products of a certain manufacturer. After installing this type of multipath software, the host can meet the usage requirements with simple configuration.

[0122] General / Open Source Multipath Software: This type of software is usually provided by various operating systems, either open source or dedicated. Storage manufacturers need to configure the parameters accordingly based on the characteristics of their own products to achieve the best performance.

[0123] (2) Depending on the planning situation, in-band notification will be used by default or out-of-band communication will be manually configured;

[0124] (3) The program or script collects the corresponding data from the host and passes it to the storage. The storage pushes the optimal configuration scheme to the host based on the current scenario, and the host applies the optimal configuration scheme.

[0125] (4) The host identifies the storage volume and delivers it to the business for normal use;

[0126] (5) The host and storage work together to monitor status changes in real time and dynamically adjust the optimal parameters;

[0127] (6) Test and verify the effect under various conditions.

[0128] To enable those skilled in the art to better understand the multipath configuration method applied to the host in the storage resource acquisition method of the present invention, the following description is provided in conjunction with the accompanying drawings. Figure 3A flowchart illustrating a multipath configuration method applied to a host side, as provided in an embodiment of the present invention, is shown below. Figure 3 As shown, the method includes:

[0129] S13: The program starts running;

[0130] S14: Collect host information;

[0131] S15: Determine whether the host and storage are connected; if yes, proceed to step S16; if no, proceed to step S22.

[0132] S16: Determine if the heartbeat between the host and storage is normal; if so, proceed to step S17.

[0133] S17: Host pushes host information;

[0134] S18: Multi-path strategy for receiving storage push;

[0135] S19: Apply a multi-path strategy;

[0136] S20: Monitor host status;

[0137] S21: Determine if the host status has changed; if yes, return to step S17; if no, return to step S20.

[0138] S22: Determine whether out-of-band communication is configured; if yes, proceed to step S23; if no, proceed to step S24.

[0139] S23: Configure out-of-band communication;

[0140] S24: Wait for network connection and return to step S14.

[0141] The method provided by this invention dynamically adjusts the optimal parameters based on real-time status to replace manual decision-making and manual parameter configuration, giving full play to the advantages of multi-path technology. When network topology, system architecture, etc. change, no manual intervention is required to adjust parameters, improving the overall flexibility, reliability and performance of the information system and reducing the requirements for manual operation and maintenance. It has the advantages of high reliability, good performance and simple operation and maintenance, thus improving the overall efficiency of the information system.

[0142] The foregoing described a method for acquiring storage resources on the storage side. This embodiment also provides a method for acquiring storage resources on the host side, the method comprising:

[0143] The storage device receives the target multipath policy sent by the storage device. The target multipath policy is determined by the storage device based on the pre-established correspondence between the host information, storage information and multipath policy after obtaining the current host information and current storage information. The host information includes at least the host's operating system type information, the host's network topology information and the host's load information. The storage information includes at least the storage architecture information, the storage's network topology information and the storage's load information.

[0144] Access storage resources according to the target multipath strategy.

[0145] To enable those skilled in the art to better understand the multi-path configuration method applied to the storage end in the storage resource acquisition method of the present invention, the following description is provided in conjunction with the accompanying drawings. Figure 4 A flowchart of a multi-path configuration method applied to the storage side provided in an embodiment of the present invention is shown below. Figure 4 As shown, the method includes:

[0146] S25: Store collected information;

[0147] S26: Determine whether the host and storage are connected; if yes, proceed to step S27; if no, proceed to step S34.

[0148] S27: Determine if the heartbeat between the host and storage is normal; if so, proceed to step S28.

[0149] S28: Receive host information;

[0150] S29: Decision-making and pushing the optimal multi-path strategy;

[0151] S30: Monitor storage status;

[0152] S31: Determine whether the storage state has changed; if not, proceed to step S32; if yes, return to step S29.

[0153] S32: Monitor host status;

[0154] S33: Determine if the host status has changed; if yes, return to step S28; if no, return to step S30.

[0155] S34: Wait for network connectivity and return to step S26.

[0156] Since the method for obtaining storage resources applied to the storage end in this embodiment has the same or corresponding technical features as the method for obtaining storage resources applied to the storage end described above, and the method for obtaining storage resources applied to the storage end has been described in detail above, the embodiment of the method for obtaining storage resources applied to the storage end will not be described again here, and the effect is the same as above.

[0157] To enable access to storage resources on both the storage and host sides, an interaction module can be configured on both the storage and host sides. Additionally, a host monitoring module and a communication module can be configured on the host side; a storage monitoring module, a communication module, and a storage path decision module can be configured on the storage side.

[0158] Storage-side interaction module: Storage management software or a separate module, responsible for collecting data such as storage architecture, network topology, load, device status, and host information; pre-configuring solutions for various scenarios, and pushing matching solutions to host applications based on the collected information, maintaining a heartbeat with the host.

[0159] Host-side interaction module: The host-side agent program or script is responsible for collecting data such as host information and host status, pushing relevant information to the storage side, executing the configuration scheme after storage decision, and maintaining a heartbeat with the host side.

[0160] Information exchange: Information exchange between the host and storage can be transmitted within the network band or exchanged through the out-of-band management network. Bidirectional data transfer is achieved through the Application Programming Interface (API).

[0161] Storage path decision module: Rules and strategies can be pre-entered, and the program will match them according to the preset rules and select the corresponding strategy based on the matching results. In the future, it can be connected to a large artificial intelligence model to perform data analysis and decision-making, thereby improving the flexibility and accuracy of decision-making.

[0162] Detection and Application: The host and storage work together to detect host information, network topology, storage architecture and device status, and the data is processed by the storage and returned to the host application with the best configuration scheme.

[0163] Storage configuration schemes: Storage manufacturers pre-configure optimal schemes for different usage scenarios based on their own products. These pre-configured schemes are updated periodically by the manufacturers or the optimal configuration scheme is automatically generated by artificial intelligence. Furthermore, redundancy switching is possible. The host and storage jointly monitor path status changes and select the optimal path in real time based on path conditions. When anomalies are detected in some links, alternative normal paths are proactively selected for data transmission, avoiding the performance impact of the host passively waiting for path timeout switching. The host and storage jointly monitor path load, considering load balancing based on the load of the storage and host themselves, and select the optimal path for data transmission, reducing traffic congestion caused by bottlenecks at the host or storage end, thus minimizing performance impact.

[0164] After the program starts, the host monitoring module detects the path status and the communication module initiates a communication connection with the storage. If the communication fails, it will retry and wait. When the communication is normal, the host transmits the detection results to submit the storage decision. The submitted information includes the host operating system type and version, the number of storage volumes, the path, and the connection method. Based on the current architecture and the path and operating system information submitted by the host, the storage path decision module matches the best preset path strategy and returns it to the host receiving module. The host application module then imports the multi-path strategy and activates it for use.

[0165] During normal host operation, the host-side monitoring module constantly monitors the host path status. When a path reduction occurs, the communication module interacts with the storage, which blocks the faulty path and returns a new path policy. The host then runs using the new path policy. Similarly, when a faulty path is restored or a new path is added, the communication module interacts with the storage, and the storage path decision module updates the path status and returns a new path policy. The host then runs using the new path policy. When the host or storage monitoring module detects a path with poor quality due to link or traffic issues, the storage path decision module updates the path status, blocks the abnormal path, and transmits it to the host. The host then runs using the updated path policy. When the detection module detects that the path has returned to normal, the storage updates the path policy, updates it for the host, and the host runs.

[0166] The storage monitoring module constantly monitors the status of the storage and each host. When a change in path status is detected, it updates the path policy based on the status information reported by the host and sends it to the host for execution. When the storage undergoes device maintenance or upgrades, the storage decision module plans a new path policy in advance based on the maintained or upgraded components and sends it to the host for execution, disabling potentially affected paths in advance to avoid abnormal host access to storage input / output caused by maintenance or upgrade operations. When maintenance or upgrades are completed, the storage path module refreshes the path status and sends the new path policy to the host for execution, restoring the normal state.

[0167] When the storage architecture changes, such as converting an online single-machine to dual-active, single-machine to quad-controller, or quad-controller to dual-active, the storage path decision module adds new path information and adjusts the optimal path strategy based on the new architecture and link status, once the storage monitoring module detects the architecture change and the architecture has stabilized. The new strategy is then sent to the host for execution via the communication module. The host scans the newly added paths according to the new strategy information and forwards data according to the optimal strategy, achieving automatic and dynamic adjustment of host paths after the architecture change. When the storage undergoes a dual-active split or single-machine split, resulting in a reduction of paths, the storage path decision module first removes invalid paths based on the split path information, generates a new optimal configuration, and sends it to the host for execution. The host disables invalid paths and removes them according to the strategy. The execution result is returned to the storage. After receiving the successful execution result, the storage system completes the remaining splitting actions according to the original design of the storage system.

[0168] It is worth noting that if the host does not have an agent program or script installed and running, the storage communication module cannot receive the information reported by the host. The storage monitoring module continuously monitors the communication status and passively cooperates with the host path policy to be compatible with such hosts before successfully communicating with the host.

[0169] The method provided in this invention achieves real-time, automated multi-path policy configuration by matching preset schemes and automatically applying multi-path strategies through real-time data interaction between the host and storage. Specifically, by using an agent program or script, host information is automatically detected and transmitted to the corresponding processing module interface of the storage via in-band or out-of-band network. The optimal configuration scheme is determined and sent to the host based on information such as the current topology, architecture, load, and status of the storage. The host then receives and applies the configuration scheme from the storage. Simultaneously, the host and storage maintain a heartbeat connection. When the topology, architecture, load, and status of the host or storage change, the optimal scheme is evaluated and adjusted in real time to achieve automated configuration and consistently ensure optimal configuration. Because adjustments can be made in real time based on the acquired information, the performance impact of failover can be further reduced, and load balancing can be improved. Different hosts with different operating systems, hardware configurations, network topologies, and business architectures can all automatically determine and apply the optimal scheme, eliminating manual maintenance steps and reducing maintenance difficulty.

[0170] In the above embodiments, the method for acquiring storage resources has been described in detail. This invention also provides embodiments of a storage resource acquisition device and a corresponding storage system. It should be noted that this invention describes the embodiments of the device portion from two perspectives: one based on functional modules, and the other based on hardware.

[0171] The storage resource acquisition device for storage terminals provided in the embodiments of the present invention, based on the functional module perspective, includes:

[0172] The first acquisition module is used to acquire current host information and current storage information; wherein, the host information includes at least the host's operating system type information, the host's network topology information and the host's load information, and the storage information includes at least the storage architecture information, the storage's network topology information and the storage's load information.

[0173] The first determining module is used to determine the target multipath policy corresponding to the current host information and the current storage information based on the pre-established correspondence between host information, storage information and multipath policy;

[0174] The transmission module is used to transmit the target multipath policy to the host, so that the host can access storage resources according to the target multipath policy.

[0175] In some embodiments, the storage resource acquisition device applied to the storage end further includes:

[0176] The second acquisition module is used to acquire the data transmission path between the host and the storage within a first preset time period;

[0177] The second determining module is used to determine a new path strategy based on the data transmission path between the host and the storage within a first preset time period.

[0178] The first module is used to take the new path strategy as the new target multipath strategy and return it to the trigger transmission module.

[0179] In some embodiments, the storage resource acquisition device applied to the storage end further includes:

[0180] The third acquisition module is used to acquire information about changes in the stored information.

[0181] The third determination module is used to determine a new path strategy based on changes in the stored information;

[0182] The second module is used to take the new path strategy as the new target multipath strategy and return it to the trigger transmission module.

[0183] In some embodiments, the storage resource acquisition device applied to the storage end further includes:

[0184] The first receiving module is used to receive a first prompt message indicating maintenance of the storage component.

[0185] The fourth determination module is used to determine a new path strategy based on the condition of the component to be maintained, starting from the receipt of the first prompt information.

[0186] The third module is used to take the new path strategy as the new target multipath strategy and return it to the triggering transmission module;

[0187] The receiving and acquiring module is used to receive a second prompt message indicating that the storage component has completed maintenance, and to acquire the current data transmission path between the host and the storage.

[0188] The fifth determining module is used to determine a new path strategy based on the current data transmission path between the host and the storage end;

[0189] The fourth module is used to take the new path strategy as the new target multipath strategy and return it to the trigger transmission module.

[0190] The storage resource acquisition device for a host side provided in the embodiments of the present invention, based on the functional modules, includes:

[0191] The second receiving module is used to receive the target multipath policy sent by the storage end; wherein, the target multipath policy is determined by the storage end by obtaining the current host information and the current storage information, and based on the pre-established correspondence between the host information, storage information and multipath policy; the host information includes at least the host's operating system type information, the host's network topology information and the host's load information, and the storage information includes at least the storage architecture information, the storage's network topology information and the storage's load information;

[0192] The access module is used to access storage resources according to the target multipath strategy.

[0193] Since the embodiments of the apparatus and the embodiments of the method correspond to each other, please refer to the description of the embodiments of the method for the embodiments of the apparatus, which will not be repeated here.

[0194] Figure 5 This is a structural diagram of a storage system provided according to an embodiment of the present invention. This embodiment is based on a hardware perspective, such as... Figure 5 As shown, the storage system includes:

[0195] Memory 20 is used to store computer programs;

[0196] The processor 21 is configured to implement the steps of the storage resource acquisition method mentioned in the above embodiments when executing a computer program.

[0197] The processor 21 may include one or more processing cores, such as a quad-core processor or an octa-core processor. The processor 21 may be implemented using at least one of the following hardware forms: Digital Signal Processor (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array. The processor 21 may also include a main processor and a coprocessor. The main processor, also known as the Central Processing Unit (CPU), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 21 may integrate a Graphics Processing Unit (GPU), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, the processor 21 may also include an Artificial Intelligence (AI) processor, which handles computational operations related to machine learning.

[0198] The memory 20 may include one or more computer-readable storage media, which may be non-transitory. The memory 20 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In this embodiment, the memory 20 is used to store at least the following computer program 201, which, after being loaded and executed by the processor 21, is capable of implementing the relevant steps of the storage resource acquisition method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 20 may also include an operating system 202 and data 203, and the storage method may be temporary or permanent storage. The operating system 202 may include Windows, Unix, Linux, etc. The data 203 may include, but is not limited to, the data involved in the aforementioned storage resource acquisition method.

[0199] In some embodiments, the storage system may further include a display screen 22, an input / output interface 23, a communication interface 24, a power supply 25, and a communication bus 26.

[0200] Those skilled in the art will understand that Figure 5 The structure shown does not constitute a limitation on the storage system and may include more or fewer components than illustrated.

[0201] The storage system provided in this embodiment of the invention includes a memory and a processor. When the processor executes a program stored in the memory, it can implement the following method: a method for acquiring storage resources, with the same effect as above.

[0202] This invention also provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the above-described method for acquiring storage resources.

[0203] Finally, the present invention also provides an embodiment corresponding to a computer-readable storage medium. The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps described in the above method embodiments (which may be a method corresponding to the host side, a method corresponding to the storage side, or a method corresponding to both the host side and the storage side).

[0204] It is understood that if the methods in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and executes all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0205] The computer-readable storage medium provided by this invention includes the aforementioned method for acquiring storage resources, and has the same effect.

[0206] The foregoing has provided a detailed description of a method for acquiring storage resources and a storage system provided by the present invention. The various embodiments in the specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple, and relevant parts can be referred to in the method section. It should be noted that those skilled in the art can make several improvements and modifications to the present invention without departing from the principles of the invention, and these improvements and modifications also fall within the protection scope of the present invention.

[0207] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

Claims

1. A method for acquiring storage resources, characterized in that, Applied to the storage end, the method includes: Obtain current host information and current storage information; the host information includes at least the host's operating system type, network topology, and load information, and the storage information includes at least the storage architecture, network topology, and load information; set up an agent or script on the host side, which is responsible for collecting host information and sending it to the storage side; The target multipath policy corresponding to the current host information and current storage information is determined based on the pre-established correspondence between host information, storage information and multipath policy; The target multipath policy is transmitted to the host, so that the host can access storage resources according to the target multipath policy; After transmitting the target multipath policy to the host, the method further includes: To obtain information about changes in stored data; Determine a new path strategy based on the changes in the stored information; The new path policy is used as the new target multipath policy, and the process proceeds to the step of transmitting the target multipath policy to the host so that the host can access storage resources according to the target multipath policy. The step of determining a new path strategy based on changes in the stored information includes: If the storage architecture remains unchanged within a second preset time period after the storage architecture is detected to have changed, the first storage architecture before the change, the second storage architecture after the change, and the data transmission path between the host and the storage under the first storage architecture are obtained. If a change from the first storage architecture to the second storage architecture is detected, resulting in an increase in the number of paths, a new path is added based on the data transmission paths between the host and storage under the second storage architecture and the first storage architecture, to obtain the data transmission paths between the host and storage under the second storage architecture; the new path strategy is then determined based on the data transmission paths between the host and storage under the second storage architecture.

2. The method for acquiring storage resources according to claim 1, characterized in that, The process of obtaining the current host information includes: Establish in-band and out-of-band communication links with the host terminal; If normal communication is detected through the in-band communication link, the current host information transmitted by the host end through the in-band communication link is received. If an abnormality is detected in the communication via the in-band communication link, the current host information transmitted by the host through the out-of-band communication link is received.

3. The method for acquiring storage resources according to claim 1, characterized in that, After transmitting the target multipath policy to the host, the method further includes: Obtain the data transmission path between the host and the storage within a first preset time period; A new path strategy is determined based on the data transmission path between the host and the storage within the first preset time period. The new path policy is used as the new target multipath policy, and the process proceeds to the step of transmitting the target multipath policy to the host so that the host can access storage resources according to the target multipath policy.

4. The method for acquiring storage resources according to claim 3, characterized in that, The process of obtaining the data transmission path between the host and the storage within the first preset time period includes: The system acquires information sent by the host terminal that characterizes the data transmission path status between the host terminal and the storage terminal within a first preset time period; wherein the information includes first information, second information, or third information; the first information is information sent by the host terminal to the storage terminal when it detects a decrease in the number of data transmission paths between the host terminal and the storage terminal within the first preset time period; the second information is information sent by the host terminal to the storage terminal when it detects an increase in the number of data transmission paths between the host terminal and the storage terminal within the first preset time period; the third information is information sent by the host terminal to the storage terminal when it detects an anomaly in the data transmission path between the host terminal and the storage terminal within the first preset time period. Based on the information, determine the data transmission path between the host and the storage within the first preset time period; When the information is the first information or the third information, determining the new path strategy based on the data transmission path between the host and the storage within the first preset time period includes: The fault path is determined based on the first information or the third information; The faulty path is blocked, and the new path strategy is determined from the remaining data transmission paths; wherein, the remaining data transmission paths are all data transmission paths between the host and the storage, excluding the faulty path; The information is the second information, and the step of determining a new path strategy based on the data transmission path between the host and the storage within the first preset time period includes: The new path is determined based on the second information; Based on the load information of the storage, the load information of the host, and the newly added path, the new path strategy is determined from all data transmission paths between the host and the storage.

5. The method for acquiring storage resources according to claim 1, characterized in that, Before the host accesses the storage resources according to the target multipath policy, it also includes: The host scans for new paths based on the received information containing the target multipath strategy; If a change from the first storage architecture to the second storage architecture is detected, resulting in a reduction of paths, then the failed paths are removed based on the data transmission paths between the host and storage under the second and first storage architectures to obtain the data transmission paths between the host and storage under the second storage architecture; the new path strategy is then determined based on the data transmission paths between the host and storage under the second storage architecture. Before the host accesses the storage resources according to the target multipath policy, it also includes: The host terminal disables and removes the invalid path based on the received information containing the target multipath policy.

6. The method for acquiring storage resources according to claim 1, characterized in that, After transmitting the target multipath policy to the host, the method further includes: Receive the first prompt message indicating maintenance of storage components; Upon receiving the first prompt message, a new path strategy is determined based on the condition of the component to be maintained; The new path policy is used as the new target multipath policy, and the process proceeds to the step of transmitting the target multipath policy to the host so that the host can access storage resources according to the target multipath policy. Receive a second notification message indicating that the storage component has completed maintenance, and obtain the current data transmission path between the host and the storage. A new path strategy is determined based on the current data transmission path between the host and the storage. The new path policy is used as the new target multipath policy, and the process proceeds to the step of transmitting the target multipath policy to the host so that the host can access storage resources according to the target multipath policy.

7. A method for acquiring storage resources, characterized in that, Applied to the host side, the method includes: The system receives a target multipath policy sent by the storage terminal. The target multipath policy is determined by the storage terminal based on pre-established correspondences between host information, storage information, and multipath policies, after acquiring current host information and current storage information. The host information includes at least the host's operating system type, network topology, and load information; the storage information includes at least storage architecture, network topology, and load information. An agent program or script is set up on the host side, responsible for collecting host information and sending it to the storage terminal. Access storage resources according to the target multipath strategy; After transmitting the target multipath policy to the host, the storage terminal also includes: To obtain information about changes in stored data; Determine a new path strategy based on the changes in the stored information; The new path policy is used as the new target multipath policy, and the process proceeds to the step of transmitting the target multipath policy to the host so that the host can access storage resources according to the target multipath policy. The step of determining a new path strategy based on changes in the stored information includes: If the storage architecture remains unchanged within a second preset time period after the storage architecture is detected to have changed, the first storage architecture before the change, the second storage architecture after the change, and the data transmission path between the host and the storage under the first storage architecture are obtained. If a change from the first storage architecture to the second storage architecture is detected, resulting in an increase in the number of paths, a new path is added based on the data transmission paths between the host and storage under the second storage architecture and the first storage architecture, to obtain the data transmission paths between the host and storage under the second storage architecture; the new path strategy is then determined based on the data transmission paths between the host and storage under the second storage architecture.

8. A storage system, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the method for acquiring storage resources as described in any one of claims 1 to 7 when executing the computer program.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the storage resource acquisition method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • A communication path selection method an device

    CN106527970A

  • Communication method and system in all-flash array system

    CN108737154A

  • Storage path selection method, system and device for storage equipment

    CN112684978A

  • Load balancing method and device

    CN112825512A

  • Host device with multi-path layer implementing path selection based at least in part on fabric identifiers

    CN112956165A