A storage device path reporting control method and device, equipment and storage medium
Patent Information
- Application Number
- CN202310266347.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-17
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2043-03-17
AI Technical Summary
该方案向主机上报卷路径需要先进行两个集群间的通信,确定优选路径的存储站点,再从站点内选择路径上报,需要通过集群间和集群内两级算法得出路径策略,路径上报效率较低,进而导致存储性能较低
[0036]本申请所提供的存储设备路径上报控制方法,预先在目标存储集群确定多个面向主机的存储节点,并创建基于各存储节点访问的虚拟存储空间映射到主机;根据虚拟存储空间的路径状态,自各存储节点中选出面向主机的优选存储节点;将优选存储节点的信息异步通知给主机,以使主机在产生存储需求时基于优选存储节点的路径访问虚拟存储空间,相较于传统存储集群双活拓扑路径上报方案中主机在访问存储集群时需要等待存储集群通过集群间和集群内两级算法得出路径的策略,通过预先选出优选存储节点异步通知给主机,使主机在产生存储需求时无需等待存储集群计算最优路径,提高了路径上报效率,进而在保证存储集群高可靠性的优化了存储性能。
Smart Images

Figure CN116303218B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of storage technology, and in particular to a storage device path reporting control method, apparatus, device, and storage medium. Background Technology
[0002] With the generation and application of large-scale data, the demand for read and write operations of storage array systems is increasing. The application of large-scale data centers is also gradually increasing, placing ever higher demands on the high availability of storage devices.
[0003] To improve storage reliability, existing technologies use two clusters to form a dual-active site, with the two clusters further connected via a private network to create a dual-active topology. This approach requires communication between the two clusters to determine the preferred storage site for reporting volume paths to the host, followed by path selection within the site for reporting. This necessitates a two-level algorithm—both inter-cluster and intra-cluster—to derive the path strategy, resulting in low path reporting efficiency and consequently, low storage performance.
[0004] Improving the efficiency of storage device path reporting, thereby optimizing storage performance, is a technical problem that needs to be solved by those skilled in the art. Summary of the Invention
[0005] The purpose of this application is to provide a storage device path reporting control method, apparatus, device and storage medium to improve the storage device path reporting efficiency and optimize storage performance while ensuring storage reliability.
[0006] To address the aforementioned technical problems, this application provides a storage device path reporting control method, comprising:
[0007] Multiple host-oriented storage nodes are pre-determined in the target storage cluster, and virtual storage spaces accessed based on each of the storage nodes are mapped to the host.
[0008] Based on the path status of the virtual storage space, a preferred storage node facing the host is selected from among the storage nodes;
[0009] The information of the preferred storage node is asynchronously notified to the host, so that the host can access the virtual storage space based on the path of the preferred storage node when a storage requirement is generated.
[0010] Optionally, determining multiple host-oriented storage nodes in the target storage cluster specifically involves:
[0011] In the target storage cluster, two dual-controller storage devices are selected as two storage sites, and the four storage controllers of the two dual-controller storage devices are selected as four storage nodes.
[0012] Optionally, selecting a preferred storage node for the host from among the storage nodes based on the path status of the virtual storage space specifically includes:
[0013] If all four storage controllers are in normal working condition, then one of the two storage sites is randomly selected as the preferred storage site, and the other storage site is a non-preferred storage site; then one of the two storage controllers of the preferred storage site is randomly selected as the preferred storage node, and the other storage controller of the preferred storage site and the two storage controllers of the non-preferred storage node are non-preferred storage nodes.
[0014] If the preferred storage node fails, a new preferred storage node is selected from the non-preferred storage nodes to replace the preferred storage node.
[0015] Optionally, if the preferred storage node fails, the step of asynchronously notifying the host of the information of the preferred storage node, so that the host can access the virtual storage space based on the path of the preferred storage node when a storage demand is generated, specifically involves:
[0016] The system notifies the host that the path to the preferred storage node is unavailable, and also notifies the host of the information of the new preferred storage node, so that the host can access the virtual storage space based on the path of the new preferred storage node when a storage requirement is generated.
[0017] Optionally, selecting a preferred storage node for the host from among the storage nodes based on the path status of the virtual storage space specifically includes:
[0018] The path status for accessing the virtual storage space based on each storage node is determined according to the load status of each storage node;
[0019] The storage node with the lowest load rate among all the storage nodes is selected as the preferred storage node.
[0020] Optional, also includes:
[0021] When the load rate of the preferred storage node exceeds the load threshold, a new preferred storage node is selected to replace the preferred storage node based on the load status of each storage node.
[0022] Optionally, the creation of a virtual storage space mapping to the host based on access from each of the storage nodes specifically includes:
[0023] Create the virtual storage space that each of the aforementioned storage nodes has access rights to;
[0024] Create a host object for the host on the target storage cluster, set the host as a site attribute, and map the virtual storage space to the host.
[0025] Optionally, asynchronously notifying the host of the information of the preferred storage node specifically includes:
[0026] Asynchronously notify the host of the path update message;
[0027] When a path query command is received from the host, the information of the preferred storage node is reported to the host.
[0028] To address the aforementioned technical problems, this application also provides a storage device path reporting control device, comprising:
[0029] A creation unit is used to pre-determine multiple host-oriented storage nodes in the target storage cluster and create virtual storage spaces based on access from each of the storage nodes and map them to the host.
[0030] An election unit is used to select a preferred storage node facing the host from among the storage nodes based on the path status of the virtual storage space.
[0031] The reporting unit is used to asynchronously notify the host of the information of the preferred storage node, so that the host can access the virtual storage space based on the path of the preferred storage node when a storage demand is generated.
[0032] To address the aforementioned technical problems, this application also provides a storage device path reporting control device, comprising:
[0033] Memory, used to store computer programs;
[0034] A processor for executing the computer program, which, when executed by the processor, implements the steps of the storage device path reporting control method as described in any of the preceding descriptions.
[0035] To address the aforementioned technical problems, this application also provides a storage medium storing a computer program thereon, characterized in that, when the computer program is executed by a processor, it implements the steps of the storage device path reporting control method as described in any of the above claims.
[0036] The storage device path reporting control method provided in this application pre-determines multiple host-oriented storage nodes in the target storage cluster and creates virtual storage spaces based on access from each storage node, mapping them to the host. Based on the path status of the virtual storage space, a preferred host-oriented storage node is selected from among the storage nodes. The information of the preferred storage node is asynchronously notified to the host, enabling the host to access the virtual storage space based on the path of the preferred storage node when it generates storage requirements. Compared to the traditional dual-active topology path reporting scheme for storage clusters, where the host needs to wait for the storage cluster to calculate the path strategy through inter-cluster and intra-cluster algorithms when accessing the storage cluster, this method pre-selects the preferred storage node and asynchronously notifies the host, eliminating the need for the host to wait for the storage cluster to calculate the optimal path when it generates storage requirements. This improves path reporting efficiency and optimizes storage performance while ensuring high reliability of the storage cluster.
[0037] This application also provides a storage device path reporting control device, equipment, and storage medium, which have the above-mentioned beneficial effects, and will not be elaborated here. Attached Figure Description
[0038] To more clearly illustrate the technical solutions of the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0039] Figure 1 A flowchart of a storage device path reporting control method provided in an embodiment of this application;
[0040] Figure 2 This is a schematic diagram of the structure of a storage device path reporting control device provided in an embodiment of this application;
[0041] Figure 3 This is a schematic diagram of the structure of a storage device path reporting control device provided in an embodiment of this application. Detailed Implementation
[0042] The core of this application is to provide a storage device path reporting control method, apparatus, device, and storage medium to improve the efficiency of storage device path reporting and optimize storage performance while ensuring storage reliability.
[0043] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0044] Example 1
[0045] Figure 1 A flowchart of a storage device path reporting control method provided in an embodiment of this application.
[0046] like Figure 1 As shown, the storage device path reporting control method provided in this application embodiment includes:
[0047] S101: Pre-determine multiple host-oriented storage nodes in the target storage cluster and create virtual storage spaces that are accessed from each storage node and mapped to the host.
[0048] S102: Based on the path status of the virtual storage space, select the preferred storage node facing the host from among the storage nodes.
[0049] S103: Asynchronously notify the host of the preferred storage node information so that the host can access the virtual storage space based on the path of the preferred storage node when a storage demand is generated.
[0050] In one or more storage clusters, to ensure storage reliability, various solutions are employed, such as setting up two storage clusters to form a dual-active site, with the two clusters connected via a private network to form a dual-active topology; or selecting two storage controllers within a storage cluster to form a dual-active topology; or setting up more storage sites. These solutions allow for the selection of an optimal storage site among the various storage sites to achieve fault tolerance or load balancing. As the status of each storage site in the storage cluster changes, the optimal storage path also changes dynamically. Compared to existing technologies, which calculate and report the optimal storage path in real time when a host needs to access the storage cluster and generates a read or write storage request, resulting in excessively long host waiting times, the storage device path reporting control method provided in this application determines the preferred storage node for the host without waiting for the host to generate a storage request and asynchronously notifies the host of the information of the preferred storage node. This allows the host to directly access the corresponding virtual storage space based on the path of the preferred storage node when it generates a storage request, without waiting for the calculation time of the optimal path.
[0051] In specific implementation, for S101, multiple storage nodes are first selected in the target storage cluster provided to the host. In this embodiment, a storage node is a path node provided to the host for accessing the target storage cluster to perform read and write operations on data. Specifically, a storage node can be a storage device; that is, each storage device serving as a storage site is a storage node in this embodiment. A storage node can also be a storage controller on a storage device serving as a storage site. That is, if a storage device has multiple storage controllers, such as a dual-controller storage device, then one storage device serving as a storage site has multiple storage controllers acting as storage nodes.
[0052] In S101, creating virtual storage space mappings from each storage node to the host can specifically include:
[0053] Create a virtual storage space that each storage node has access to;
[0054] Create a host object on the target storage cluster, set the host as a site property, and map the virtual storage space to the host.
[0055] Specifically, when a host accesses the target storage cluster, the storage space information provided to the host is virtual space information. This means that a corresponding virtual storage space, such as a virtual disk or virtual volume, is created based on the physical space of the target storage cluster. After identifying multiple storage nodes in the target storage cluster to be provided to the host, virtual storage spaces accessible to all storage nodes are created. Then, a host object is created on the target storage cluster, and the host is set as a site attribute. This allows the virtual storage space to be mapped to the host, enabling the host to access the virtual storage space through the selected preferred storage node. Setting the host as a site attribute means selecting a preferred storage site from the storage sites provided by the target storage cluster and assigning the host to that preferred storage site.
[0056] For S102, the path status of the virtual storage space refers to the status of the path provided to the host for accessing the virtual storage space, i.e., the status of the path for the host to access the virtual storage space based on each storage node. The storage device path reporting control method provided in this embodiment does not need to wait for the host to generate a storage demand before calculating the optimal path; instead, it prepares the optimal path before the storage system receives an access command. Therefore, S102 can be executed during storage cluster initialization, and then periodically, or when the path replacement condition is met based on the operating status of each storage node. Based on the path status of the virtual storage space, a preferred storage node for the host is selected from among the storage nodes. Specifically, the path to be reported can be calculated based on host site information, storage controller site information, storage controller priority information, etc., and the storage controller of that path is selected as the preferred storage node.
[0057] S103 can be executed immediately after each execution of S102, or it can be executed periodically without being associated with S102, or it can be executed after receiving a command from the host to access the virtual storage space. Specifically, if S103 can be executed immediately after each execution of S102, that is, after each time a preferred storage node for the host is selected, the information of the preferred storage node is reported to the host. If it is executed periodically, another thread can be started besides the one for electing the preferred storage node to periodically check the current preferred storage node and report its information to the host. If it is executed after receiving a command from the host to access the virtual storage space, the preferred storage node provided to the host for accessing the virtual storage space can be dynamically changed during the operation of the target storage cluster, thus ensuring that the optimal path is provided to the host for accessing the virtual storage space as much as possible. Furthermore, the preferred storage node provided to different hosts accessing the same virtual storage space, and the preferred storage node provided to the same host accessing different virtual storage spaces, can be different. That is, to achieve load balancing, corresponding preferred storage nodes can be allocated to virtual storage spaces with different business needs, and corresponding preferred storage nodes can be allocated based on the status of each host accessing the target storage cluster. During the operation of the target storage cluster, the preferred storage nodes can be dynamically updated based on the host connection status, business needs, and storage device operating status, so that the host can obtain better performance when accessing the virtual storage space through the preferred storage nodes.
[0058] For S103, the information of the preferred storage node is asynchronously notified to the host via a protocol. Specifically, this can be achieved by directly reporting which storage node is the preferred node to the host. After receiving the preferred storage node information, the host stores the information that the optimal path to access the virtual storage space is through the preferred storage node locally. When a storage request arises, the host queries its local machine to find the preferred storage node corresponding to the virtual storage space to perform the access operation. Alternatively, instead of directly reporting the information of which storage node is the preferred node to the host, the host can only report the update message of the preferred storage node to the host. This allows the host to access the target storage cluster to obtain the information of which storage node is the preferred node immediately or at another time after receiving the update message.
[0059] In step S103, the information of the preferred storage node will be asynchronously notified to the host, which may specifically include:
[0060] Asynchronously notify the host of the path update message;
[0061] When a path query command is received from the host, the information of the preferred storage node will be reported to the host.
[0062] Specifically, the path update message can be a pre-defined string between the target storage cluster and the host, allowing the host to quickly confirm that it represents an update of the preferred storage node. The host can then choose when to send a path query command. Upon receiving the path query command from the host, the target storage cluster reports the specific preferred storage node to the host.
[0063] When a host generates a storage requirement, it updates the optimal path from the local machine or by issuing a path query command, and obtains information about the preferred storage node corresponding to the optimal path to access the target storage cluster.
[0064] In addition, the target storage cluster can also report information about non-preferred storage nodes (excluding the preferred storage nodes) to the host. This allows the host to access the virtual storage space through the paths provided by the non-preferred storage nodes when it cannot access the virtual storage space through the preferred storage node. The information reported to the host for non-preferred storage nodes can include not only the specific non-preferred storage nodes but also their priority order. This ensures that when the host cannot access the virtual storage space through the preferred storage node, it can select the highest priority path from the non-preferred storage nodes to access the virtual storage space, thus guaranteeing storage reliability.
[0065] The storage device path reporting control method provided in this application pre-determines multiple host-oriented storage nodes in the target storage cluster and creates virtual storage spaces based on access from each storage node, mapping them to the host. Based on the path status of the virtual storage space, a preferred host-oriented storage node is selected from among the storage nodes. The information of the preferred storage node is asynchronously notified to the host, enabling the host to access the virtual storage space based on the path of the preferred storage node when a storage demand arises. Compared to the traditional dual-active topology path reporting scheme for storage clusters, where the host needs to wait for the storage cluster to calculate the path through inter-cluster and intra-cluster algorithms when accessing the storage cluster, this method pre-selects the preferred storage node and asynchronously notifies the host, eliminating the need for the host to wait for the storage cluster to calculate the optimal path when a storage demand arises. This improves path reporting efficiency and optimizes storage performance while ensuring high reliability of the storage cluster.
[0066] Example 2
[0067] Active-active topology is a common topology used in storage clusters or storage devices to maintain high reliability; it involves two storage sites. Based on the above embodiments, this application uses an active-active storage device topology, where two storage devices form a dual-core cluster, as an example for illustration.
[0068] To further improve storage reliability based on the dual-active topology, in this embodiment of the application, two storage devices can be selected as two storage sites in the target storage cluster. Both storage devices are dual-controller storage devices, thereby providing four storage controllers to form a highly reliable dual-active topology cluster.
[0069] Based on the above embodiments, in the storage device path reporting control method provided in this application embodiment, S101 determines multiple host-oriented storage nodes in the target storage cluster, specifically as follows:
[0070] In the target storage cluster, two dual-controller storage devices are selected as two storage sites, and the four storage controllers of the two dual-controller storage devices are selected as four storage nodes.
[0071] Based on the dual-controller storage device forming a dual-active topology, and according to the path status of the virtual storage space, a preferred host-oriented storage node is selected from among the storage nodes. Specifically, this may include:
[0072] If all four storage controllers are in normal working condition, then one of the two storage sites is randomly selected as the preferred storage site, and the other storage site is the non-preferred storage site; then one of the two storage controllers of the preferred storage site is randomly selected as the preferred storage node, and the other storage controller of the preferred storage site and the two storage controllers of the non-preferred storage node are the non-preferred storage nodes.
[0073] If the preferred storage node fails, a new preferred storage node will be selected from the non-preferred storage nodes to replace the preferred storage node.
[0074] Two dual-controller storage devices form a dual-active topology, meaning there are four storage nodes available for the host to access the virtual storage space. With all four storage controllers operating normally, one can be randomly selected as the preferred storage node. For ease of control, first, one of the two storage sites is selected as the preferred storage site, and then one of the two storage controllers on the preferred storage site is selected as the preferred storage node. Based on this, the priority order of the two storage controllers on the other storage site (the non-priority storage site) can also be determined. Therefore, the priority order of the four storage controllers can be: preferred storage node of the preferred storage site, non-preferred storage node of the preferred storage site, high-priority storage controller of the non-preferred storage site, and non-high-priority storage controller of the non-preferred storage site, as shown in Table 1 below.
[0075] Table 1 Storage Device Active-Active Topology Path Status Table
[0076]
[0077] As shown in Table 1, assuming the two selected storage devices are Site 1 and Site 2, and Site 1 is chosen as the preferred storage site for the host, then the high-priority storage controller at Site 1 is selected as the preferred storage node, providing the preferred path, while the non-high-priority storage controller at Site 1 is selected as the non-preferred storage node, providing a non-preferred path. Both the high-priority and non-high-priority storage controllers at Site 2 provide non-preferred paths. Therefore, when all four storage controllers are functioning normally, the high-priority storage controller at Site 1 (i.e., the preferred storage node) is used as the preferred path for the host site. If the high-priority storage controller at Site 1 fails, the non-high-priority storage controller at Site 1 is used as the preferred path for the host site according to priority. If both storage controllers at Site 1 fail, the high-priority storage controller at Site 2 is used as the preferred path for the host site. If both storage controllers at Site 1 fail, and the high-priority storage controller at Site 2 also fails, the non-high-priority storage controller at Site 2 is used as the preferred path for the host site. Similarly, if the host belongs to site 2, swapping site 1 and site 2 in Table 1 will yield the storage device dual-active topology path status table for this situation.
[0078] To avoid confusion between the old and new preferred storage nodes after an update, in the dual-active topology of the two dual-controller storage devices, if the preferred storage node fails, its information will be asynchronously notified to the host. This allows the host to access the virtual storage space based on the path provided by the preferred storage node when it generates storage requirements. Specifically, this can be achieved as follows:
[0079] The system notifies the host that the path to the preferred storage node is unavailable, and also notifies the host of the path to the new preferred storage node, so that the host can access the virtual storage space based on the path to the new preferred storage node when it generates storage requirements.
[0080] One approach is to first notify the host that the path to the old preferred storage node is unavailable, and then notify the host of the information for the new preferred storage node. If the host needs to access the target storage cluster during the period before receiving the message for the new preferred storage node, it can select the next highest priority storage controller as the preferred storage node according to the priority order of the storage controllers pre-reported by the target storage cluster. Alternatively, the host can be notified of the information for the new preferred storage node first, and then the information that the path to the old preferred storage node is unavailable can be notified, so that the host can promptly obtain the path to the new preferred storage node.
[0081] Understandably, for higher storage reliability, more storage controllers can be configured as storage nodes in the target storage cluster. This is not limited to building a storage device active-active topology or using a dual-controller storage device solution. When multiple storage devices are selected as storage sites in the target storage cluster, or when even more storage nodes are determined based on these, the aforementioned dual-active topology path reporting scheme can be referenced to determine the priority order and failover order of each storage controller as a storage node.
[0082] The storage device path reporting control method provided in this application specifically offers a scheme for reporting paths in a dual-active topology of storage devices. It has a wide range of applications, and storage devices in a dual-active topology all use dual-controller storage devices, thereby further improving storage reliability and optimizing storage performance.
[0083] Example 3
[0084] In addition to the scheme described in the above embodiments, which randomly selects a preferred storage site and then selects a preferred storage node from the preferred storage site when all storage controllers are functioning normally, a preferred storage node can also be selected from the perspective of load balancing. Therefore, based on the above embodiments, in the storage device path reporting control method provided in this application embodiment, S102: Based on the path status of the virtual storage space, a preferred storage node facing the host is selected from each storage node, which specifically may include:
[0085] The path status for accessing the virtual storage space based on each storage node is determined according to the load status of each storage node;
[0086] The storage node with the lowest load rate among all storage nodes is selected as the preferred storage node.
[0087] In practical implementation, preferred storage nodes are assigned to different hosts based on the path status of different hosts accessing the target storage cluster. Similarly, preferred storage nodes can be assigned to different services. That is, assuming all storage controllers are functioning normally, in the initial state of the target storage cluster, different preferred storage nodes are assigned to different hosts and services from a load balancing perspective. Furthermore, the workload allocated to each storage node for executing host storage tasks is determined based on its own load status; in other words, the storage node with the lowest load rate is preferred.
[0088] Furthermore, if different types of storage devices or storage controllers are selected as storage sites, in addition to considering load factors, the performance of the storage nodes themselves and the task priority of the storage tasks to be executed are also considered when allocating the workload of host storage tasks to each storage node. That is, for high-priority host storage tasks, storage nodes with lower load rates but higher performance are prioritized as the preferred storage nodes. For non-high-priority host storage tasks, after high-priority host storage tasks have been allocated, load rate and performance are considered when selecting the preferred storage node.
[0089] The storage device path reporting control method provided in this application provides a method for determining the preferred storage node to achieve load balancing, which can optimize the storage structure of the target storage cluster and optimize host-oriented storage performance.
[0090] Example 4
[0091] Besides switching the preferred storage node in case of a failure in the storage controller or storage device corresponding to the preferred storage node, the preferred storage node can also be dynamically changed for load balancing purposes. Therefore, the storage device path reporting control method provided in this application embodiment may further include:
[0092] When the load rate of the preferred storage node exceeds the load threshold, a new preferred storage node is selected to replace the preferred storage node based on the load status of each storage node.
[0093] In practice, the load threshold for each preferred storage node can be determined based on its type and the tasks it performs. For example, if a preferred storage node is a high-performance storage node, a higher load threshold can be set. Alternatively, if a preferred storage node performs other tasks besides the host's storage tasks, a lower load threshold can be set.
[0094] When the load rate of the preferred storage node exceeds the load threshold, a new preferred storage node is selected to replace the preferred storage node based on the load status of each storage node. Then, the host is notified that the path of the preferred storage node is unavailable, and the host is notified of the information of the new preferred storage node, so that the host can access the virtual storage space based on the path of the new preferred storage node when it generates storage demand.
[0095] Understandably, the load threshold should be lower than the full load state of the preferred storage node. Specifically, the load threshold can be based on the load rate or load rate range of the storage device corresponding to the preferred storage node where the performance drops significantly, as measured in advance.
[0096] Unlike a failed preferred storage node, a preferred storage node whose load rate exceeds the load threshold can usually provide storage services to the host. Therefore, when the load rate of a preferred storage node exceeds the load threshold, after selecting a new preferred storage node, the information of the new preferred storage node can be reported to the host so that the host can automatically switch to the new preferred storage node.
[0097] The storage device path reporting control method provided in this application provides a method for updating preferred storage nodes based on load balancing. The load rate is used as one of the bases for dynamically updating preferred storage nodes, ensuring that the target storage cluster is in a better storage structure with load balancing, thereby further optimizing storage performance.
[0098] The above details various embodiments of the storage device path reporting control method. Based on this, this application also discloses a storage device path reporting control device, equipment, and storage medium corresponding to the above method.
[0099] Example 5
[0100] Figure 2 This is a schematic diagram of a storage device path reporting control device provided in an embodiment of this application.
[0101] like Figure 2 As shown, the storage device path reporting control device provided in this application embodiment includes:
[0102] Creation unit 201 is used to pre-determine multiple host-oriented storage nodes in the target storage cluster and create virtual storage spaces based on access from each storage node, which are then mapped to the host.
[0103] Election unit 202 is used to select the preferred host-oriented storage node from among the storage nodes based on the path status of the virtual storage space.
[0104] The reporting unit 203 is used to asynchronously notify the host of the information of the preferred storage node, so that the host can access the virtual storage space based on the path of the preferred storage node when a storage demand is generated.
[0105] Furthermore, creation unit 201 identifies multiple host-oriented storage nodes in the target storage cluster, specifically:
[0106] In the target storage cluster, two dual-controller storage devices are selected as two storage sites, and the four storage controllers of the two dual-controller storage devices are selected as four storage nodes.
[0107] Furthermore, the election unit 202 selects the preferred host-oriented storage node from among the storage nodes based on the path status of the virtual storage space, specifically including:
[0108] If all four storage controllers are in normal working condition, then one of the two storage sites is randomly selected as the preferred storage site, and the other storage site is the non-preferred storage site; then one of the two storage controllers of the preferred storage site is randomly selected as the preferred storage node, and the other storage controller of the preferred storage site and the two storage controllers of the non-preferred storage node are the non-preferred storage nodes.
[0109] If the preferred storage node fails, a new preferred storage node will be selected from the non-preferred storage nodes to replace the preferred storage node.
[0110] Furthermore, if the election unit 202 fails in the case of a failure in the preferred storage node, it will asynchronously notify the host of the preferred storage node's information, so that the host can access the virtual storage space based on the path of the preferred storage node when it generates storage requirements. Specifically:
[0111] The system notifies the host that the path to the preferred storage node is unavailable, and also notifies the host of the path to the new preferred storage node, so that the host can access the virtual storage space based on the path to the new preferred storage node when it generates storage requirements.
[0112] Furthermore, the election unit 202 selects the preferred host-oriented storage node from among the storage nodes based on the path status of the virtual storage space, specifically including:
[0113] The path status for accessing the virtual storage space based on each storage node is determined according to the load status of each storage node;
[0114] The storage node with the lowest load rate among all storage nodes is selected as the preferred storage node.
[0115] Furthermore, the storage device path reporting control device provided in this application embodiment may also include:
[0116] The update unit is used to select a new preferred storage node to replace the preferred storage node when the load rate of the preferred storage node exceeds the load threshold, based on the load status of each storage node.
[0117] Furthermore, the creation unit 201 creates a virtual storage space mapping to the host based on access from each storage node, specifically including:
[0118] Create a virtual storage space that each storage node has access to;
[0119] Create a host object on the target storage cluster, set the host as a site property, and map the virtual storage space to the host.
[0120] Furthermore, the reporting unit 203 asynchronously notifies the host of the information of the preferred storage node, specifically including:
[0121] Asynchronously notify the host of the path update message;
[0122] When a path query command is received from the host, the information of the preferred storage node will be reported to the host.
[0123] Since the embodiments of the apparatus section correspond to the embodiments of the method section, please refer to the description of the embodiments of the method section for the embodiments of the apparatus section, and they will not be repeated here.
[0124] The storage device path reporting control device provided in this application embodiment has the following steps: a creation unit pre-determines multiple host-oriented storage nodes in the target storage cluster and creates virtual storage spaces based on access from each storage node, which are then mapped to the host; an election unit selects a preferred host-oriented storage node from among the storage nodes based on the path status of the virtual storage space; and a reporting unit asynchronously notifies the host of the information of the preferred storage node, so that the host can access the virtual storage space based on the path of the preferred storage node when it generates storage demand. Compared with the traditional dual-active topology path reporting scheme of storage cluster, where the host needs to wait for the storage cluster to derive the path strategy through two levels of algorithms (inter-cluster and intra-cluster) when accessing the storage cluster, by pre-selecting the preferred storage node and asynchronously notifying the host, the host does not need to wait for the storage cluster to calculate the optimal path when it generates storage demand, thus improving the path reporting efficiency and optimizing storage performance while ensuring the high reliability of the storage cluster.
[0125] Example 6
[0126] Figure 3 This is a schematic diagram of the structure of a storage device path reporting control device provided in an embodiment of this application.
[0127] like Figure 3 As shown, the storage device path reporting control device provided in this application embodiment includes:
[0128] Memory 310 is used to store computer program 311;
[0129] Processor 320 is configured to execute computer program 311, which, when executed by processor 320, implements the steps of the storage device path reporting control method as described in any of the above embodiments.
[0130] The processor 320 may include one or more processing cores, such as a 3-core processor or an 8-core processor. The processor 320 may be implemented using at least one hardware form selected from Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), and Programmable Logic Array (PLA). The processor 320 may also include a main processor and a coprocessor. The main processor, also known as a 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 320 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 320 may also include an Artificial Intelligence (AI) processor, which handles computational operations related to machine learning.
[0131] The memory 310 may include one or more storage media, which may be non-transitory. The memory 310 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 310 is used to store at least the following computer program 311, which, after being loaded and executed by the processor 320, can implement the relevant steps in the storage device path reporting control method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 310 may also include an operating system 312 and data 313, and the storage method may be temporary storage or permanent storage. The operating system 312 may be Windows. The data 313 may include, but is not limited to, the data involved in the above methods.
[0132] In some embodiments, the storage device path reporting control device may further include a display screen 330, a power supply 340, a communication interface 350, an input / output interface 360, a sensor 370, and a communication bus 380.
[0133] Those skilled in the art will understand that Figure 3 The structure shown does not constitute a limitation on the storage device path reporting control device and may include more or fewer components than shown.
[0134] The storage device path reporting control device provided in this application includes a memory and a processor. When the processor executes a program stored in the memory, it can perform tasks such as pre-determining multiple host-oriented storage nodes in the target storage cluster and creating virtual storage spaces based on access from each storage node and mapping them to the host; selecting a preferred host-oriented storage node from among the storage nodes according to the path status of the virtual storage space; and asynchronously notifying the host of the information of the preferred storage node, so that the host can access the virtual storage space based on the path of the preferred storage node when it generates storage demand. Compared with the traditional storage cluster active-active topology path reporting scheme, where the host needs to wait for the storage cluster to calculate the path through two levels of algorithms (inter-cluster and intra-cluster) when accessing the storage cluster, by pre-selecting the preferred storage node and asynchronously notifying the host, the host does not need to wait for the storage cluster to calculate the optimal path when it generates storage demand, thus improving the path reporting efficiency and optimizing storage performance while ensuring the high reliability of the storage cluster.
[0135] Example 7
[0136] It should be noted that the device and equipment embodiments described above are merely illustrative. For example, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or modules may be electrical, mechanical, or other forms. Modules described as separate components may or may not be physically separate, and components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0137] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0138] If the integrated modules are implemented as software functional modules and sold or used as independent products, they can be stored in a storage medium. Based on this understanding, the technical solution of this application, 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 this application.
[0139] Therefore, this application embodiment also provides a storage medium storing a computer program, which, when executed by a processor, implements steps such as the storage device path reporting control method.
[0140] The storage medium can include various media that can store program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0141] The computer program contained in the storage medium provided in this embodiment can implement the steps of the storage device path reporting control method described above when executed by a processor. It can pre-determine multiple host-oriented storage nodes in the target storage cluster and create virtual storage spaces based on access from each storage node, which are then mapped to the host. According to the path status of the virtual storage space, a preferred host-oriented storage node is selected from among the storage nodes. The information of the preferred storage node is asynchronously notified to the host, so that the host can access the virtual storage space based on the path of the preferred storage node when it generates storage demand. Compared with the traditional dual-active topology path reporting scheme of storage cluster, where the host needs to wait for the storage cluster to calculate the path through two levels of algorithms (inter-cluster and intra-cluster) when accessing the storage cluster, by pre-selecting the preferred storage node and asynchronously notifying the host, the host does not need to wait for the storage cluster to calculate the optimal path when it generates storage demand, thus improving the path reporting efficiency and optimizing storage performance while ensuring the high reliability of the storage cluster.
[0142] The foregoing has provided a detailed description of a storage device path reporting control method, apparatus, device, and storage medium provided in this application. 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, device, and storage medium disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are 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 this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of the claims of this application.
[0143] 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 storage device path reporting control method, characterized in that, include: Multiple host-oriented storage nodes are pre-determined in the target storage cluster, and virtual storage spaces are created based on access from each of the storage nodes and mapped to the host; wherein, two dual-controller storage devices are selected in the target storage cluster as two storage sites, and the four storage controllers of the two dual-controller storage devices are used as four storage nodes; Based on the path status of the virtual storage space, a preferred storage node facing the host is selected from each of the storage nodes; wherein, if all four storage controllers are in normal working condition, one of the two storage sites is randomly selected as the preferred storage site, and the other storage site is a non-preferred storage site; one of the two storage controllers of the preferred storage site is randomly selected as the preferred storage node, and the other storage controller of the preferred storage site and the two storage controllers of the non-preferred storage site are designated as non-preferred storage nodes, and a priority order is determined for the two storage controllers of the non-preferred storage site to obtain a high-priority storage controller and a non-high-priority storage controller; Before the host generates a storage request, the information of the preferred storage node is asynchronously notified to the host, so that the host can access the virtual storage space based on the path of the preferred storage node when it generates a storage request; The asynchronous notification of the information of the preferred storage node to the host includes: asynchronously notifying the host of the information of the preferred storage node immediately after the preferred storage node is selected, or periodically notifying the host of the information of the preferred storage node asynchronously. The preferred storage node is dynamically updated based on at least one of the following: the service requirements of the virtual storage space, the status of the host accessing the target storage cluster, the connection status of the host, the service requirements of the host, and the operating status of the storage device. The information of non-preferred storage nodes is also reported to the host. The information of non-preferred storage nodes includes the priority order among the non-preferred storage nodes. The priority order of the four storage controllers is: the preferred storage node of the preferred storage site, the non-preferred storage node of the preferred storage site, the high-priority storage controller of the non-preferred storage site, and the non-high-priority storage controller of the non-preferred storage site. This is so that when the host cannot access the virtual storage space through the preferred storage node, it can select a higher-priority path from the non-preferred storage nodes according to the priority order to access the virtual storage space.
2. The storage device path reporting control method according to claim 1, characterized in that, The step of selecting a preferred storage node for the host from among the storage nodes based on the path status of the virtual storage space further includes: If the preferred storage node fails, a new preferred storage node is selected from the non-preferred storage nodes to replace the preferred storage node.
3. The storage device path reporting control method according to claim 2, characterized in that, If the preferred storage node fails, the information of the preferred storage node is asynchronously notified to the host so that the host can access the virtual storage space based on the path of the preferred storage node when a storage request is generated. Specifically: The system notifies the host that the path to the preferred storage node is unavailable, and also notifies the host of the information of the new preferred storage node, so that the host can access the virtual storage space based on the path of the new preferred storage node when a storage requirement is generated.
4. The storage device path reporting control method according to claim 1, characterized in that, The creation of a virtual storage space mapping to the host based on access from each of the storage nodes specifically includes: Create the virtual storage space that each of the aforementioned storage nodes has access rights to; Create a host object for the host on the target storage cluster, set the host as a site attribute, and map the virtual storage space to the host.
5. The storage device path reporting control method according to claim 1, characterized in that, The step of asynchronously notifying the host of the information of the preferred storage node specifically includes: Asynchronously notify the host of the path update message; When a path query command is received from the host, the information of the preferred storage node is reported to the host.
6. A storage device path reporting control device, characterized in that, include: A creation unit is used to pre-determine multiple host-oriented storage nodes in the target storage cluster and create a virtual storage space mapping to the host based on access from each of the storage nodes; wherein, in the target storage cluster, two dual-controller storage devices are selected as two storage sites, and the four storage controllers of the two dual-controller storage devices are used as four storage nodes; An election unit is used to select a preferred storage node for the host from among the storage nodes based on the path status of the virtual storage space before the host generates a storage request. Specifically, if all four storage controllers are in normal working order, one of the two storage sites is randomly selected as the preferred storage site, and the other storage site is designated as a non-preferred storage site. From the two storage controllers of the preferred storage site, one is randomly selected as the preferred storage node. The other storage controller in the preferred storage site and the two storage controllers in the non-preferred storage site are designated as non-preferred storage nodes. A priority order is determined for the two storage controllers in the non-preferred storage site to obtain a high-priority storage controller and non-high-priority storage controllers. The reporting unit is used to asynchronously notify the host of the information of the preferred storage node, so that the host can access the virtual storage space based on the path of the preferred storage node when a storage demand is generated; The asynchronous notification of the information of the preferred storage node to the host includes: asynchronously notifying the host of the information of the preferred storage node immediately after the preferred storage node is selected, or periodically notifying the host of the information of the preferred storage node asynchronously. The preferred storage node is dynamically updated based on at least one of the following: the service requirements of the virtual storage space, the status of the host accessing the target storage cluster, the connection status of the host, the service requirements of the host, and the operating status of the storage device. The information of non-preferred storage nodes is also reported to the host. The information of non-preferred storage nodes includes the priority order among the non-preferred storage nodes. The priority order of the four storage controllers is: the preferred storage node of the preferred storage site, the non-preferred storage node of the preferred storage site, the high-priority storage controller of the non-preferred storage site, and the non-high-priority storage controller of the non-preferred storage site. This is so that when the host cannot access the virtual storage space through the preferred storage node, it can select a higher-priority path from the non-preferred storage nodes according to the priority order to access the virtual storage space.
7. A storage device path reporting control device, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program, which, when executed by the processor, implements the steps of the storage device path reporting control method as described in any one of claims 1 to 5.
8. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the storage device path reporting control method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Data access method and device in active-active storage mode and storage medium
CN109150986A
Storage path selection method, system and device for storage equipment
CN112684978A
Host multipath layer notification and path switchover following node failure
US20200379857A1