Storage system port information management
The port information management system collects and merges the port information of multiple storage systems, which solves the problem that the host lacks complete information when selecting access paths, and achieves more efficient data access path selection and performance improvement.
Patent Information
- Application Number
- CN202310960938.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-10-31
- Filing Date
- 2023-08-01
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2043-08-01
AI Technical Summary
In a multi-storage system computing environment, when the host selects a path to access the storage volume, it may lack complete port information, which may select a non-optimal or inactive path, affecting data access performance.
A port information management system is introduced to collect and merge port information related to multiple paths, and provide a merged subset of port information to the host to support smarter path selection.
By providing complete and accurate port information, the host can more effectively select the optimal path, improve data access performance, reduce resource consumption, and improve the accuracy of path state information.
Smart Images

Figure CN117950576B_ABST
Abstract
Description
Background Art
[0001] The computing environment may include a storage system that stores data and a host that can access the storage system through a network. In some cases, there may be multiple possible paths from the host to the data in the storage system. BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Some embodiments of the present disclosure are described with reference to the following drawings.
[0003] Figure 1 is a block diagram of an arrangement including a storage system, a host capable of accessing the storage system, and a port information management system according to some examples.
[0004] Figure 2 is a flow diagram of a process performed by a host, a storage system, and a port information management system according to some examples.
[0005] Figure 3 is a block diagram of a storage medium storing machine-readable instructions according to some examples.
[0006] Figure 4 is a block diagram of a management system according to some examples.
[0007] Figure 5 is a flow diagram of a process according to some examples.
[0008] Throughout the drawings, the same reference numerals denote similar, but not necessarily identical, elements. The drawings are not necessarily drawn to scale and the dimensions of some parts may be exaggerated to more clearly illustrate the examples shown. In addition, the drawings provide examples and / or implementations consistent with the description; however, the description is not limited to the examples and / or implementations provided in the drawings. DETAILED DESCRIPTION
[0009] In the present disclosure, the use of the terms "a", "an" or "the" is intended to include the plural forms as well, unless the context clearly indicates otherwise. In addition, the terms "includes", "including", "comprises", "comprising", "have" or "having" when used in the present disclosure specify the presence of described elements but do not exclude the presence or addition of other elements.
[0010] The storage system may include a storage controller (or multiple storage controllers) that can manage access (reading and writing) of data stored in a collection of storage devices. As used herein, a "controller" may refer to one or more hardware processing circuits, which may include one or some combination of the following: a microprocessor, a core of a multi-core microprocessor, a microcontroller, a programmable integrated circuit, a programmable gate array, or another hardware processing circuit. Alternatively, a "controller" may refer to a combination of one or more hardware processing circuits and machine-readable instructions (software and / or firmware) that can be executed on the one or more hardware processing circuits.
[0011] As used herein, a "set" of items may refer to a single item or multiple items. Thus, a "set of storage devices" may refer to a single storage device or multiple storage devices. In some examples, a set of storage devices managed by a storage controller is part of a storage system.
[0012] Thus, a "storage system" may include a set of storage controllers and a set of storage devices as well as interconnections between the set of storage controllers and the set of storage devices.
[0013] A “storage device” may refer to any device capable of storing data, such as a disk-based storage device (eg, a hard disk, an optical disk, etc.), a solid-state drive (SSD), and the like.
[0014] A "host" may refer to an entity that is capable of interacting with a storage system. A host may refer to a computer or a program (including machine-readable instructions). For example, a host may refer to a server computer, a user computer, a smart phone, a gaming application, a vehicle, an Internet of Things (IoT) device, a program (e.g., an application, an operating system (OS), firmware, etc.), or any other type of entity.
[0015] Data may be arranged as logical storage volumes stored in a storage device. A "storage volume" may refer to any unit of data that may be identified using an identifier. A storage volume may be stored in a single storage device or across multiple storage devices. In some examples, the identifier of a storage volume may be in the form of a logical unit number (LUN). In other examples, other types of identifiers for storage volumes may be used.
[0016] In a computing environment having multiple storage systems to which a host is coupled through a network, multiple paths may exist between the host and a given storage volume stored in the storage systems.
[0017] A network may include a storage area network (SAN), a local area network (LAN), a wide area network (WAN), a public network such as the Internet, or any other type of network, whether wired and / or wireless. A "path" may refer to a link from a host to a given storage volume, where the link includes a route through the network and includes a storage system (or more specifically, a port of a storage controller of the storage system) through which a host may issue access requests (read requests and write requests) to a given storage volume.
[0018] A storage controller may include a port through which a host can issue an access request to access data. A "port" may refer to an interface of a storage controller over which communication may occur. A port may include a physical port or a virtual port.
[0019] The multiple paths that a host can use to access a given storage volume may have different characteristics that may affect the host's access performance to the data of the given storage volume. In some examples, the characteristics of the path may include a path state of the path. In some examples, the path state may be represented as an access state of a port group that includes a single port or multiple ports of a storage system. A discussion of example access states of a port group is provided further below.
[0020] For a host to select a path from a plurality of paths to a storage volume, the host first determines the available paths and the corresponding path status (e.g., the access status of a port group). In some cases, the host may issue a path status request to detect the status of the corresponding path (or more specifically, for example, to obtain the access status of the port group). In an example, the status request is in the form of a small computer system interface (SCSI) command, such as a REPORT TARGET PORT GROUPS SCSI command. In other examples, the path status request may be based on other protocols, which may include standardized protocols, open source protocols, or proprietary protocols.
[0021] The first storage system may not have port information about the second storage system. For example, data migration from the first storage system to the second storage system may be occurring, in which data of the first storage system is moved or copied to the second storage system. During the data migration, port information about the ports of the second storage system may be unavailable to the first storage system. Therefore, if the host were to issue a path status request to the first storage system, the first storage system may not be able to provide port information related to the second storage system, wherein such port information related to the second storage system may be related to determining the path status of the path to the storage volume stored by the first and second storage systems. Therefore, when the host performs path selection to select a path to the storage volume, the path selection may be based on incomplete port information at the host. This may cause the host to attempt to access the storage volume through a non-optimal path or through an inactive path.
[0022] In another example, a new storage system is connected to a new path to the host. The new storage system may have a function (e.g., provided by a program) of synchronizing data between the first storage system and the new storage system. In such an example, if the first storage system were to receive a path status request from the host, the first storage system may not be able to provide port information related to the second storage system to access one or more storage volumes including the synchronized data.
[0023] Furthermore, in computing environments with a large number of storage systems and hosts, issuing individual path status requests from the host to the storage system to obtain path status may be cumbersome and complex, and may result in incomplete or inaccurate information about the path status. Furthermore, processing a large number of path status requests may be resource intensive due to increased usage of communication resources and processing resources.
[0024] The "port information" may include any one or some combination of the following: a set of storage volumes accessible through each port of the storage controller, a set of ports presenting each storage volume (a port presenting a storage volume refers to a port through which the storage volume can be accessed), a set of ports in each port group, and an access status of each port group. More generally, the "port information" may include information about storage volumes, port groups, and access status of port groups.
[0025] Note that the term "port group" may refer to a group of ports (a group of ports may include one port or a plurality of ports), or the term "port group" may refer to an individual port.
[0026] According to some embodiments of the present disclosure, a port information management system is used to collect port information related to multiple paths to a storage volume, which can be used by a host to access the storage volume. The management system can merge the port information related to the multiple paths. A subset of the merged port information can be provided by the management system for use by the host in path selection.
[0027] Figure 1 , 106-N (where N≥1). The storage controllers 102-1 through 102-M are connected to various hosts 106-1, 106-2, . . . , 106-N (where N≥1) via a network 104.
[0028] The storage controllers 102-1 to 102-M are coupled to corresponding storage device sets 110-1, 110-2, ..., 110-T (T≥1) via an interconnect 108. A storage device set may include a single storage device or multiple storage devices. Note that M may be equal to T or different from T. A storage system may include one or more storage controllers and one or more storage device sets.
[0029] The interconnect 108 may include a Serial Attached SCSI (SAS) interconnect, an Ethernet interconnect, an InfiniBand interconnect, a Non-Volatile Memory Express (NVMe) interconnect, a NVMe over Fabric (NVMe-oF) interconnect, and the like.
[0030] In some examples, a "storage system" may include one or more storage controllers, one or more storage device collections, and interconnects between the storage controllers and the storage device collections. Any of the storage controllers 102-1 to 102-M may access data stored by any of the storage device collections 110-1 to 110-T via the interconnect 108. Alternatively, the interconnect 108 may be configured to enable the storage controllers 102-1 to 102-M to access data of only a single storage system 130-1 to 130-U.
[0031] Figure 1Storage system 130-1 is shown, which includes storage controllers 102-1 and 102-2 and storage device set 110-1 (and interconnection 108 between storage controllers 102-1 and 102-2 and storage device set 110-1), storage system 130-2 includes storage controller 102-3 and storage device set 110-2 (and interconnection between storage controller 102-3 and storage device set 110-2), and storage system 130-U (U≥1) includes storage controller 102-M and storage device set 110-T (and interconnection 108 between storage controller 102-M and storage device set 110-T). It is noted that any of storage systems 130-1 to 130-U may include more than one storage device set.
[0032] Each storage controller 102-i (i=1 to M) may include a set of ports. For example, storage controller 102-1 includes ports 112-11 to 112-1P (P≥1), storage controller 102-2 includes ports 112-21 to 112-2Q (Q≥1), storage controller 102-3 includes ports 112-31 to 112-3R (R≥1), and storage controller 102-M includes ports 112-M1 to 112-MS (S≥1). Figure 1 In the example, ports of storage controllers 102-1 and 102-2 are considered ports of storage system 130-1, ports of storage controller 102-3 are considered ports of storage system 130-2, and ports of storage controller 102-3 are considered ports of storage system 130-U.
[0033] In an example where a storage system 130-j (j=1 to U) includes multiple ports, the ports of the storage system 130-j may be divided into a port group or multiple port groups. Port groups are associated with corresponding access states. If a port group includes multiple ports (from one storage controller or multiple storage controllers of the storage system), then the multiple ports of the port group may share a common access state. More generally, ports of a storage system including one or more storage controllers may be divided into port groups.
[0034] Examples of access states of a port group may include any one or some combination of the following: active optimization, active non-optimization, pending, unavailable, offline, transition, logic block related, etc. In some examples, the access states may be grouped into an active access state group including active access states (e.g., active optimization, active non-optimization, etc.) and an inactive access state group including inactive access states (e.g., pending, unavailable, offline, etc.). The transition state is a special case of being inactive but moving between states, and may become active or inactive.
[0035] A port group having an access state as part of an active access state group is a port group that can be used by a host to access a specific storage volume group (including a single storage volume or multiple storage volumes). A port group having an access state as part of an inactive access state group is a port group that is not used to access a specific storage volume group.
[0036] A port group with a standby state is a port group that is inactive and cannot access a storage volume, but can be converted to an access state in an active access state group due to another port group becoming inactive.
[0037] An active optimized port group (having an active optimized state) is an active port group that is the optimal port group for accessing a particular storage volume group. An optimal port group is a port group (from among multiple active port groups, if any) that can be used to access data of a particular storage volume group with lower latency or with a metric that indicates superior performance and / or lower cost. Note that there can be multiple optimal port groups for accessing data of a particular storage volume group.
[0038] An active non-optimized port group (having an active non-optimized status) is a port group that is not the best port group for accessing a particular storage volume group, for example, the active non-optimized port group has higher latency or has metrics indicating poorer performance and / or higher cost when compared to a corresponding active optimized port group for accessing the particular storage volume group.
[0039] An unavailable port group is a port group that can process commands (e.g., SCSI commands) but cannot access storage volumes. An offline port group is a port group that is currently disabled (cannot process commands, such as SCSI commands). A transition port group is a port group that is changing between states, such as an offline port that has been turned on but has not yet completed the power-on process. A logical block dependent port group is a port group where the host can get different port states depending on what the requested address is.
[0040] In an example, storage volume V1 may be presented by each of storage systems 130 - 1 and 130 - 2 , such that a host may access storage volume V1 through multiple possible paths to multiple storage systems 130 - 1 and 130 - 2 1 .
[0041] The computing environment 100 also includes a port information management system 114 that is used to collect port information related to multiple paths to storage volumes stored in the storage device collection 110-1 to 110-M. The port information management system 114 can be implemented using a computer or multiple computers. The port information management system 114 can be independent of the hosts 106-1 to 106-N and the storage controllers 102-1 to 102-M. For example, the port information management system 114 can be implemented using a network device (e.g., a switch, a router, etc.) that is part of the network 104, and / or can be implemented using other devices. Alternatively, the port information management system 114 can be implemented in one or more hosts 106-1 to 106-N and / or in one or more storage controllers 102-1 to 102-M.
[0042] The port information management system 114 includes a memory 118 that stores a port information table 116 and zoning information 120 (discussed further below).
[0043] Figure 2 is provided by the host 106 (which may be Figure 1 1 to 106-N), the port information management system 114, and the storage systems 200-1 and 200-2. Figure 2 Only one host and two storage systems are depicted in FIG. 2 , but it should be noted that similar techniques may be applied in arrangements including additional hosts and / or additional storage systems. Storage system 200 - 1 or 200 - 2 may include Figure 1 Any one of the storage systems 130-1 to 130-U in.
[0044] The storage system 200-1 sends (at 202) first port information to the port information management system 114, and the storage system 200-2 sends (at 204) second port information to the port information management system 114. As described above, the port information may include any one or some combination of the following: a set of storage volumes accessible through each port of the storage system, a set of ports presenting each storage volume, a set of ports in each port group, and an access status of each port group.
[0045] In some examples, the storage system may send the port information to the port information management system 114 when the storage system registers or otherwise establishes a connection with the port information management system 114. In other examples, the port information management system 114 may query each storage system to obtain the corresponding port information.
[0046] In some examples, the storage system can send the port information to a management interface, which can be implemented by any of a variety of different entities. In one example, the management interface can be part of or presented by the port information management system 114. In other examples, the management interface can be implemented with an intermediate system between the storage controllers 102-1 to 102-M and the port information management system 114.
[0047] In some examples, the management interface may be in the form of an application programming interface (API) that includes various routines that may be called by entities (e.g., storage controllers, port information management system 114, etc.) to perform management-related tasks (including reporting port information of the storage system). In other examples, other types of management interfaces may be employed, such as in the form of data structures (e.g., databases, information repositories, etc.) that may be accessed by storage controllers 102-1 to 102-M and port information management system 114.
[0048] The port information management system 114 obtains the first and second port information sent by the first and second storage systems 200-1 and 200-2, respectively. The port information management system 114 can obtain the first and second port information in one of various different ways. For example, the port information management system 114 can obtain the first and second port information by receiving the first and second port information from the first and second storage systems 200-1 and 200-2 via the management interface. Alternatively, the first and second storage systems 200-1 and 200-2 can respectively write the first and second port information to a specified data structure stored in the shared memory. The port information management system 114 can query the data structure to obtain the first and second port information.
[0049] The port information management system 114 updates (at 206) the merged port information in a port information data structure, such as the port information table 116 ( Figure 1 ) or another type of data structure. If the port information table 116 does not already exist, the update performed by the port information management system 114 at 206 includes building the port information table 116. If the port information table 116 already exists, the update includes modifying the port information table 116 by adding entries to the port information table 116 and / or replacing information in entries of the port information table 116.
[0050] The merged port information may include port information from multiple storage systems (or more generally, multiple ports from one or more storage systems). The port information table 116 may be stored in a memory 118 of the port information management system 114. The memory 118 may include any one or some combination of the following: a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, a flash memory device, etc.
[0051] The merged port information of the port information table 116 includes information of ports, storage volume groups, and access states of the port groups that are part of the computing environment 100 .
[0052] An example of the port information table 116 is described in Table 1 below.
[0053] Table 1
[0054] Port Group Volume Group Storage Volumes Access Status Port-1 VOLGRP-1 A, B, C Activity Optimization Port-1 VOLGRP-2 D, E, F Activity non-optimization Port-2 VOLGRP-3 G To be determined Port-4, Port-5 VOLGRP-4 H, I, J Activity Optimization Port-3 VOLGRP-1 A, B, C To be determined
[0055] The example port information table of Table 1 may include the following attributes in each column of the port information table: a port group attribute indicating a port group of a storage system, a storage volume group identifier attribute identifying a storage volume group, a storage volume identifier attribute identifying a storage volume in a corresponding storage volume group identified by the storage volume group attribute, and an access status attribute representing an access status of the corresponding port group indicated by the port group attribute.
[0056] In other examples, the port information table may have a different arrangement of attributes and / or may include additional attributes or alternative attributes, and / or some of the attributes may be omitted. In another example, the port information table may include a collection of multiple tables at multiple levels, wherein a first level table includes a subset of the port information that is consulted first, followed by a second level table.
[0057] In another example, for scenarios where not every host gets the same response to the path state request, different hosts may be associated with different port information tables. In other examples, other selection mechanisms may be used to determine the response to a path state request from a given host.
[0058] The first row of the port information table of Table 1 indicates a first port group, which includes only port-1 that can be used to access the storage volume group VOLGRP-1. According to the first row of the port information table of Table 1, the storage volume group VOLGRP-1 has storage volumes A, B, and C, and the access state of the first port group used to access the storage volume group VOLGRP-1 is active optimization.
[0059] The fifth row of the port information table of Table 1 indicates another port group (a second port group including only port-3) that can be used to access the storage volume group VOLGRP-1 if the first port group becomes unavailable. According to the fifth row of the port information table of Table 1, the access status of the second port group for accessing the storage volume group VOLGRP-1 is pending.
[0060] The second row of the port information table of Table 1 indicates that the first port group (including only port-1) can be used to access another storage volume group VOLGRP-2. According to the second row of the port information table of Table 1, the storage volume group VOLGRP-2 has storage volumes D, E and F, and the access state of the first port group used to access the storage volume group VOLGRP-2 is active non-optimized.
[0061] The third row of the port information table of Table 1 indicates that the third port group (including only port-2) can be used to access the storage volume group VOLGRP-3. According to the third row of the port information table of Table 1, the storage volume group VOLGRP-3 has the storage volume G, and the access status of the third port group for accessing the storage volume group VOLGRP-3 is pending.
[0062] The fourth row of the port information table of Table 1 indicates that the fourth port group (including port-4 and port-5) can be used to access the storage volume group VOLGRP-4. According to the fourth row of the port information table of Table 1, the storage volume group VOLGRP-4 has storage volumes H, I and J, and the access state of the fourth port group for accessing the storage volume group VOLGRP-4 is active optimization.
[0063] In some examples, the combined port information of the port information table of Table 1 may include port information of ports of multiple storage systems. Ports of different storage systems may have unique identifiers (such as port-1 and port-2 in the example port information table). In other words, ports in different storage systems will not share port identifiers. In other examples, the port information table may include another column that identifies the storage system so that port identifiers across multiple storage systems can be shared. In the latter example, the combination of the storage system identifier and the port identifier will uniquely identify the storage system port.
[0064] Storage volumes can be shared and accessed from multiple storage systems with port groups with the same access status or different access statuses. In the above example port information table (Table 1), storage volume group VOLGRP-3 with storage volume G can be accessed by a port group with a pending access status. In addition, storage volume group VOLGRP-3 with storage volume G can be accessed from a port group with an active optimization status in another storage system.
[0065] like Figure 2As further shown in task 212, storage system 200-1 may issue (at 208) a request to port information management system 114 to obtain port information of storage system 200-2. In an example, storage system 200-1 may issue such a query during data migration from storage system 200-1 to storage system 200-2. The request may be issued by storage system 200-1 during data migration (1) in response to performance of data migration, or (2) in response to other events (e.g., a host requests port information from storage system 200-1, such as in task 212). In other examples, the request may be issued by storage system 200-1 in response to any other event.
[0066] In response to the request from storage system 200-1, port information management system 114 sends (at 210) port information of ports of storage system 200-2 together with information (e.g., host identifiers) of hosts that are partitioned with storage system 200-2. In some examples, multiple partitions may be defined in computing environment 100, where each partition includes a collection of storage systems and hosts. Hosts that are part of a given partition may be able to access storage systems in the given partition, but may not be able to access storage systems in another partition.
[0067] In some examples, the port information sent (at 210) from the port information management system 114 to the storage system 200-1 is a subset of the port information table 116 containing information about the ports of the storage system 200-2. The port information management system 114 is able to access the partition information 120 ( Figure 1 ), the partition information 120 relates hosts (host ports) to storage volume groups and identifies the partitions of which a particular host and storage system is a part. For example, the partition information 120 may be stored in the memory 118 of the port information management system 114, or the partition information 120 may be stored elsewhere. The partition information 120 may be used by the port information management system 114 to determine which hosts have (and / or do not have) access to which storage volume groups.
[0068] The port information management system 114 can use the partition information 120 to identify which host(s) are in the same partition as the storage system 200-2 for which the storage system 200-1 has requested port information. The information of the hosts partitioned with the storage system 200-2 sent by the port information management system 114 to the storage system 200-1 is based on the partition information 120.
[0069] In other examples, no partitions are defined, and any host can access any storage system in computing environment 100 .
[0070] As described above, the host may use the port information to select a path for accessing a storage volume. For example, given multiple candidate paths for accessing a specific storage volume group, where a first candidate path includes a first storage system port optimized for activity, a second candidate path includes a second storage system port that is not optimized for activity, and a third candidate path includes a third storage system port that is pending, the host may select the first candidate path for accessing a storage volume of the specific storage volume group.
[0071] In some examples, host 106 may send (at 212) a query for port information to storage system 200-1. Note that host 106 may send a query for port information to any storage system that is partitioned with host 106.
[0072] In response to the query from host 106, storage system 200-1 filters the port information available to storage system 200-1 to identify a subset of port information associated with host 106. The port information available to storage system 200-1 may include port information of ports of storage system 200-2 sent by port information management system 114 to storage system 200-1.
[0073] In an example, storage system 200-1 may use partition information (similar to 120 but accessible to storage system 200-1) to identify storage volume groups accessible to host 106 and may generate filtered port information for ports of the storage system storing storage volumes of the identified storage volume groups.
[0074] In some examples, the query is received from a host port of host 106, and the filtered port information is associated with ports associated with the host port (e.g., port information of ports of the storage system that are part of a partition of the host port). Storage system 200-1 sends (at 214) the filtered port information to host 106.
[0075] In another example, instead of or in addition to being able to query the storage system for port information, the host 106 can query (at 216) a management interface associated with the port information management system 114 for port information. The query submitted by the host 106 to the management interface is sent to the port information management system 114.
[0076] In response to the query from the host 106, the port information management system 114 filters the merged information of the port information table 116 to identify a subset of the merged information related to the host 106. For example, the port information management system 114 can use the partition information 120 to identify a storage volume group that the host 106 can access, and can generate filtered port information for ports of the storage system storing storage volumes of the identified storage volume group.
[0077] In some examples, the query is received from a host port of the host 106, and the filtered port information is associated with a port associated with the host port (e.g., port information of a port of a storage system that is part of a partition of the host port). The port information management system 114 sends (at 218) the filtered port information to the host 106.
[0078] Based on the port information received at the host 106 from either or both of the storage system 200-1 or the port information management system 114, the host 106 may perform (at 220) path selection to select a path from a plurality of candidate paths for accessing the storage volume. For example, the storage volume may be accessed through ports of a plurality of storage systems. The host 106 may use the access status of the ports of the plurality of storage systems to determine which path to use to access the storage volume.
[0079] By using techniques or mechanisms according to some examples of the present disclosure, port information of multiple storage systems can be combined at the port information management system 114 for answering requests for port information from storage systems and / or hosts. In this way, the port information management system 114 is able to provide port information of another storage system that may not be available to a given storage system itself. In addition, in examples that implement partitions, the port information management system 114 can use partition information to generate filtered port information associated with port information requests from hosts.
[0080] Figure 3 is stored in a way that enables the management system (e.g. Figure 1 A block diagram of a non-transitory machine-readable or computer-readable storage medium 300 of machine-readable instructions for performing various tasks of the port information management system 114.
[0081] The machine-readable instructions include first port information receiving instructions 302 for receiving first port information of a port in the first storage system from the first storage system. The machine-readable instructions include second port information receiving instructions 304 for receiving second port information of a port in the second storage system from the second storage system. In some examples, the management system may receive the first and second port information in response to a request from the management system for the first and second storage systems, respectively. In other examples, the first and second storage systems may send the first and second port information to the management system based on a specified activity of each respective storage system, such as as part of a registration performed by the respective storage system with the management system.
[0082] The machine-readable instructions include a port information merging instruction 306 for merging the first port information from the first storage system and the second port information from the second storage system into merged port information. For example, the merged port information may be Figure 1A portion of the port information table 116.
[0083] The machine-readable instructions include port information request instructions 308 for receiving a request from the first storage system for port information of a port in the second storage system. In some examples, the request from the first storage system for port information of a port in the second storage system is made during data migration from the first storage system to the second storage system.
[0084] The machine-readable instructions include a port information sending instruction 310 for sending second port information to the first storage system for path selection from the host to the first and second storage systems. For example,
[0085] In some examples, the first or second port information includes information of a logical group of storage volumes accessible by the corresponding port of the first or second storage system. In some examples, the first or second port information also includes an identifier of a storage volume that is part of the logical group of storage volumes.
[0086] In some examples, the first or second port information includes an access status of a corresponding port group of a port in the first or second storage system. The access status of the corresponding port group indicates a status related to access of the corresponding port group for accessing one or more port volumes stored by the first or second storage system.
[0087] In some examples, the access state of the corresponding port group indicates whether the corresponding port group for accessing one or more storage volumes is active or inactive (e.g., as noted above, whether the access state is part of an active access state group or part of an inactive access state group). In some examples, the access state of the corresponding port group that is part of an active access state group indicates whether the corresponding port group is an optimized port group or a non-optimized port group for accessing one or more port volumes.
[0088] In some examples, the management system may query the management interface for each of the first port information and the second port information, wherein the first storage system will report the first port information to the management interface, and the second storage system will report the second port information to the management interface.
[0089] Figure 4 is a block diagram of a management system 400, an example of which is Figure 1 and 2 The port information management system 114.
[0090] Management system 400 includes a hardware processor 402 (or multiple hardware processors). The hardware processor may include a microprocessor, a core of a multi-core microprocessor, a microcontroller, a programmable integrated circuit, a programmable gate array, or other hardware processing circuitry.
[0091] Management system 400 includes storage medium 404 storing machine-readable instructions executable on hardware processor 402 to perform various tasks. Machine-readable instructions executable on a hardware processor may refer to instructions executable on a single hardware processor or instructions executable on multiple hardware processors.
[0092] The machine-readable instructions include first port information receiving instructions 406 for receiving first port information of a port in the first storage system from the first storage system. The machine-readable instructions include second port information receiving instructions 408 for receiving second port information of a port in the second storage system from the second storage system.
[0093] The machine-readable instructions include port information merging instructions 410 for merging first port information from a first storage system and second port information from a second storage system into merged port information.
[0094] The machine-readable instructions include port information query receiving instructions 412 for receiving a query from a host for port information of a port in the storage system. The query from the host may be, for example, Figure 2 The query sent at 216 in .
[0095] The machine-readable instructions include port information filtering instructions 414 for filtering the merged port information in response to the query to generate filtered port information for the host. For example, the filtering can be based on the partition information.
[0096] The machine-readable instructions include port information sending instructions 416 for sending the filtered port information to the host for use by the host in path selection when accessing the storage volume.
[0097] Figure 5 is a flow diagram of a process 500 according to some examples. The process 500 includes receiving (at 502), at a management system, respective port information for ports in corresponding storage systems of a plurality of storage systems from a plurality of storage systems.
[0098] The process 500 includes merging (at 504) by the management system corresponding port information from multiple storage systems into merged port information. The merged port information includes information of the storage volume group and access status of the port group.
[0099] Process 500 includes receiving (at 506) at a management system a query from a host or a storage system for port information of a port in the storage system.
[0100] Process 500 includes sending (at 508), by the management system in response to the query, requested port information obtained from the merged port information for use by the host in path selection in accessing the storage volume.
[0101] Storage Media( Figure 3 300 or Figure 4 404) may include any one or some combination of the following: semiconductor memory devices such as dynamic or static random access memory (DRAM or SRAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and flash memory; disks, such as fixed disks, floppy disks, and removable disks; other magnetic media, including tapes; optical media, such as compact disks (CDs) or digital video disks (DVDs); or other types of storage devices. Note that the instructions discussed above may be provided on one computer-readable or machine-readable storage medium, or alternatively, may be provided on multiple computer-readable or machine-readable storage media distributed in a large system with possibly multiple nodes. Such computer-readable or machine-readable storage media or media are considered to be part of an article (or product). An article or product may refer to any manufactured single component or multiple components. The storage medium or media may be located in a machine that runs machine-readable instructions, or at a remote site from which machine-readable instructions may be downloaded over a network for execution.
[0102] In the foregoing description, many details are set forth to provide an understanding of the subject matter disclosed herein. However, embodiments may be practiced without some of these details. Other embodiments may include modifications and variations from the details discussed above. The appended claims are intended to cover these modifications and variations.
Claims
1. A non-transitory machine-readable storage medium comprising instructions that, when executed, cause a management system to: Querying the management interface for first port information of a port in the first storage system and second port information of a port in the second storage system; receiving, from the first storage system, the first port information of a port in the first storage system, wherein the first storage system is to report the first port information to the management interface; receiving, from the second storage system, the second port information of a port in the second storage system, wherein the second storage system is to report the second port information to the management interface; Merging the first port information from the first storage system and the second port information from the second storage system into merged port information; as well as receiving, from the first storage system, a request for port information of a port in the second storage system; as well as The second port information is sent to the first storage system for path selection from a host to the first and second storage systems.
2. The non-transitory machine-readable storage medium according to claim 1, in, The instructions, when executed, cause the management system to send the second port information to the first storage system by sending the merged port information to the first storage system.
3. The non-transitory machine-readable storage medium according to claim 1, in, The request from the first storage system for the port information of the port in the second storage system is during data migration from the first storage system to the second storage system.
4. The non-transitory machine-readable storage medium according to claim 1, in, The first port information includes information about a logical group of storage volumes that can be accessed by a corresponding port of the first storage system.
5. The non-transitory machine-readable storage medium according to claim 4, in, The first port information also includes an identifier of a storage volume that is part of the logical group of storage volumes.
6. The non-transitory machine-readable storage medium according to claim 1, in, The first port information includes an access status of a corresponding port group of the port in the first storage system, wherein the access status of the corresponding port group indicates a status related to access of the corresponding port group for accessing one or more storage volumes stored by the first storage system.
7. The non-transitory machine-readable storage medium according to claim 6, in, The access status of the corresponding port group indicates whether the corresponding port group is active or inactive for accessing the one or more storage volumes.
8. The non-transitory machine-readable storage medium according to claim 6, in, The access status of the corresponding port group indicates whether the corresponding port group used to access the one or more storage volumes is an optimized port group or a non-optimized port group.
9. The non-transitory machine-readable storage medium according to claim 1, in, The receiving of the first port information includes receiving port group information from the first storage system.
10. The non-transitory machine-readable storage medium of claim 1, in, The request for port information from the first storage system is in response to a request from a host.
11. The non-transitory machine-readable storage medium of claim 1 , wherein the instructions, when executed, cause the management system to: receiving a query for port information from a host; and In response to the query: filtering the merged port information to obtain a subset of the merged port information associated with ports associated with the host, and The subset of the merged port information is provided to the host.
12. The non-transitory machine-readable storage medium of claim 11, wherein the filtering of the merged port information is based on partition information associating hosts with corresponding storage volumes.
13. The non-transitory machine-readable storage medium of claim 11, wherein the query is received from a host port of the host, and the subset of the merged port information is associated with a port associated with the host port.
14. A management system, include: Hardware processor; and a non-transitory storage medium storing instructions executable on the hardware processor to: receiving, from a first storage system, first port information of a port in the first storage system; receiving, from the second storage system, second port information of a port in the second storage system; Merging the first port information from the first storage system and the second port information from the second storage system into merged port information; as well as receiving, from a host, a query for port information of a port in the storage system; In response to the query: filtering the merged port information to obtain a subset of the merged port information related to ports associated with the host; as well as A subset of the filtered port information is provided to the host for use by the host in path selection in accessing a storage volume.
15. The management system of claim 14, wherein the instructions are executable on the hardware processor to: The merged port information is filtered based on partition information that associates a host with a storage volume group. 16 . The management system according to claim 14 , wherein the first port information or the corresponding port information of the second port information comprises information of a logical group of storage volumes accessible by a port of the corresponding storage system of the first storage system or the second storage system.
17. The management system according to claim 14, in, The corresponding port information of the first port information or the second port information includes an access status of a corresponding port group of the port in the corresponding storage system of the first storage system or the second storage system, wherein the access status of the corresponding port group indicates a status related to access of the corresponding port group for accessing one or more storage volumes stored in the corresponding storage system.
18. A method of managing a system comprising a hardware processor, include: receiving, at the management system, from a plurality of storage systems, corresponding port information of ports in corresponding storage systems in the plurality of storage systems; The management system merges the corresponding port information from the plurality of storage systems into merged port information, wherein the merged port information includes information of the storage volume group and access status of the port group; as well as Receiving, at the management system, a query for port information of a port in the storage system from a host or a storage system; as well as In response to the query: filtering the merged port information to obtain a subset of the merged port information related to ports associated with the host; as well as The subset of the merged port information is provided from the management system to the host for use by the host in path selection in accessing storage volumes.
19. The method of claim 18, further comprising: include: The merged port information is filtered by the management system to generate the requested port information, the filtering being based on partition information associating a host with a storage volume group.
Citation Information
Patent Citations
Multi-access SDN message forwarding method and controller
CN104168209A
System and method to provide homogeneous fabric attributes to reduce need for subnet administrator access in high performance computing environment
CN110603785A