[go: up one dir, main page]

JP7518364B2 - Information processing device and path control method - Google Patents

Information processing device and path control method Download PDF

Info

Publication number
JP7518364B2
JP7518364B2 JP2020143200A JP2020143200A JP7518364B2 JP 7518364 B2 JP7518364 B2 JP 7518364B2 JP 2020143200 A JP2020143200 A JP 2020143200A JP 2020143200 A JP2020143200 A JP 2020143200A JP 7518364 B2 JP7518364 B2 JP 7518364B2
Authority
JP
Japan
Prior art keywords
paths
path
server
storage device
remaining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020143200A
Other languages
Japanese (ja)
Other versions
JP2022038607A (en
Inventor
創 渡邉
究 小橋
秀和 河野
信和 桐ヶ谷
正人 河村
博 千葉
浩 市川
春樹 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020143200A priority Critical patent/JP7518364B2/en
Publication of JP2022038607A publication Critical patent/JP2022038607A/en
Application granted granted Critical
Publication of JP7518364B2 publication Critical patent/JP7518364B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、情報処理装置およびパス制御方法に関する。 The present invention relates to an information processing device and a path control method.

コンピュータがストレージ装置にアクセスするためのアクセスパスを冗長化することで、障害発生に対する可用性を高めたり、通信負荷を分散させることができる。これらのうち可用性に関しては、アクセスパス冗長化の一例として、通常運用時に使用される現用系パスと、現用系パスの障害発生時に使用される待機系パスとが設けられることがある。 By making the access paths that computers use to access storage devices redundant, it is possible to increase availability in the event of a failure and distribute the communication load. With regard to availability, one example of access path redundancy is to provide an active path that is used during normal operation, and a standby path that is used when a failure occurs in the active path.

このようなマルチパスの制御に関しては、次のような提案がある。例えば、アクティブ-アクティブポリシーおよびアクティブ-パッシブポリシーを含む互換可能なストレージデバイスにインテリジェント的に適合するように用いられるポートフェイルオーバポリシーによって、マルチパスプログラミングが行われるストレージサーバが提案されている。また、発行したI/O(Input/Output)に対してエラーが発生すると、待機系のHBA(Host Bus Adaptor)に対する電力供給を開始してから現用系のパスに同一のI/Oを再発行し、これに対してエラーが発生しなければ所定時間後に待機系のHBAに対する電力供給を停止するコンピュータシステムが提案されている。 The following proposals have been made regarding such multipath control. For example, a storage server has been proposed in which multipath programming is performed using a port failover policy that is used to intelligently adapt to compatible storage devices, including active-active and active-passive policies. Also, a computer system has been proposed that, when an error occurs with an issued I/O (Input/Output), starts supplying power to a standby HBA (Host Bus Adaptor) and then reissues the same I/O to the active path, and if no error occurs in response to this, stops supplying power to the standby HBA after a specified time.

国際公開第2002/065290号International Publication No. WO 2002/065290 特開2010-198353号公報JP 2010-198353 A

ところで、ストレージ装置に対する現用系パスおよび待機系パスのそれぞれが、複数のパスを含む場合がある。この構成では通常、現用系パスに含まれる一部のパスに障害が発生した場合には、現用系パスに含まれる残りのパスを使用してストレージ装置へのアクセスが実行される。しかし、この場合には、残りのパスのそれぞれにおける通信負荷が増大し、アクセス性能が大きく低下するという問題がある。 In some cases, the active path and the standby path to the storage device each include multiple paths. In this configuration, normally, if a failure occurs in one of the paths included in the active path, the remaining paths included in the active path are used to access the storage device. However, in this case, the communication load on each of the remaining paths increases, causing a problem of a significant decrease in access performance.

1つの側面では、本発明は、現用系パスに含まれる一部のパスに障害が発生した場合におけるアクセス性能の低下を抑制することが可能な情報処理装置およびパス制御方法を提供することを目的とする。 In one aspect, the present invention aims to provide an information processing device and a path control method that can suppress a decrease in access performance when a failure occurs in one of the paths included in the active path.

1つの案では、次のような通信部と処理部とを有する情報処理装置が提供される。この情報処理装置において、通信部は、現用系の複数の第1パスと待機系の複数の第2パスとを介してストレージ装置に接続する。処理部は、複数の第1パスの一部が使用不能になった場合、複数の第1パスのうち使用可能な残りの第1パスおよび複数の第2パスのそれぞれについての通信負荷およびストレージ装置から割り当てられた処理能力に基づいて、残りの第1パスにストレージ装置へのアクセス要求を分配するか、残りの第1パスと複数の第2パスとに対してストレージ装置へのアクセス要求を分配するかを決定する。 In one proposal, an information processing device is provided that has a communication unit and a processing unit as follows. In this information processing device, the communication unit connects to a storage device via a plurality of first paths of an active system and a plurality of second paths of a standby system. When some of the plurality of first paths become unavailable, the processing unit determines whether to distribute access requests to the storage device to the remaining first paths or to the remaining first paths and the plurality of second paths based on the communication load for each of the remaining available first paths and the plurality of second paths among the plurality of first paths and the processing capacity assigned by the storage device.

また、1つの案では、上記の情報処理装置と同様の処理をコンピュータが実行するパス制御方法が提供される。 In one proposal, a path control method is provided in which a computer executes processing similar to that of the information processing device described above.

1つの側面では、現用系パスに含まれる一部のパスに障害が発生した場合におけるアクセス性能の低下を抑制できる。 In one aspect, it is possible to suppress a decrease in access performance when a failure occurs in one of the paths included in the active path.

第1の実施の形態に係るストレージシステムの構成例および処理例を示す図である。1 illustrates a configuration example and a processing example of a storage system according to a first embodiment; ストレージシステムの第1構成例を示す図である。FIG. 1 illustrates a first configuration example of a storage system. サーバのハードウェア構成例を示す図である。FIG. 2 illustrates an example of a hardware configuration of a server. 第1構成例におけるアクセスパスを示す図である。FIG. 2 is a diagram illustrating an access path in a first configuration example. ストレージシステムの第2構成例を示す図である。FIG. 11 is a diagram illustrating a second configuration example of a storage system. 第2構成例におけるアクセスパスを示す図である。FIG. 13 is a diagram illustrating an access path in a second configuration example. サーバおよびCMが備える処理機能の構成例を示す図である。FIG. 2 is a diagram illustrating an example of a configuration of processing functions provided in a server and a CM. ストレージ装置のリソース割り当て機能について説明するための図である。FIG. 2 is a diagram for explaining a resource allocation function of a storage device. サーバ接続に応じたリソース割り当て処理を示すフローチャートの例である。11 is an example of a flowchart illustrating a resource allocation process according to a server connection. I/O要求に応じたリソース割り当て処理を示すフローチャートの例(その1)である。13 is a first example of a flowchart illustrating a resource allocation process in response to an I/O request. I/O要求に応じたリソース割り当て処理を示すフローチャートの例(その2)である。13 is a second example of a flowchart illustrating a resource allocation process in response to an I/O request. CMの性能管理テーブルの構成例を示す図である。FIG. 13 is a diagram illustrating an example of the configuration of a performance management table of a CM. サーバの性能管理テーブルの構成例を示す図である。FIG. 2 illustrates an example of the configuration of a performance management table of a server. 正常時の状態の例を示す図である。FIG. 13 is a diagram illustrating an example of a normal state. アクティブパスに障害が発生した状態の第1の例を示す図である。FIG. 11 illustrates a first example of a state in which a failure occurs in an active path. アクティブパスに障害が発生した状態の第2の例を示す図である。FIG. 11 illustrates a second example of a state in which a failure occurs in an active path. アクティブパスに障害が発生した状態の第3の例を示す図である。FIG. 13 illustrates a third example of a state in which a failure occurs in an active path. 正常時の状態の例を示す図である。FIG. 13 is a diagram illustrating an example of a normal state. アクティブパスに障害が発生した状態の第4の例を示す図である。FIG. 13 illustrates a fourth example of a state in which a failure occurs in an active path. アクティブパスに障害が発生した状態の第5の例を示す図である。FIG. 13 illustrates a fifth example of a state in which a failure occurs in an active path. アクティブパスとスタンバイパスとを併用した場合の性能情報の推定値を示す図である。13 is a diagram showing estimated values of performance information when an active path and a standby path are used in combination. FIG. 障害発生時のパス選択処理を示すフローチャートの例である。13 is an example of a flowchart illustrating a path selection process when a failure occurs. 性能情報取得時のパス選択処理を示すフローチャートの例である。13 is an example of a flowchart illustrating a path selection process when performance information is acquired.

以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るストレージシステムの構成例および処理例を示す図である。図1に示すストレージシステムは、情報処理装置10とストレージ装置20を含む。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
First Embodiment
1 is a diagram showing an example of the configuration and processing of a storage system according to a first embodiment of the present invention. The storage system shown in FIG.

情報処理装置10は、通信部11と処理部12を備える。通信部11は、ストレージ装置20と通信するための通信インタフェースである。処理部12は、例えば、プロセッサとして実現される。一方、ストレージ装置20は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの記憶装置によって実現される記憶領域21を備える。情報処理装置10の処理部12は、通信部11を介してストレージ装置20へアクセス要求を送信することで、記憶領域21にアクセスする。 The information processing device 10 includes a communication unit 11 and a processing unit 12. The communication unit 11 is a communication interface for communicating with the storage device 20. The processing unit 12 is realized, for example, as a processor. On the other hand, the storage device 20 includes a memory area 21 realized by a storage device such as a hard disk drive (HDD) or a solid state drive (SSD). The processing unit 12 of the information processing device 10 accesses the memory area 21 by sending an access request to the storage device 20 via the communication unit 11.

図1の例では、処理部12が記憶領域21にアクセスするためのアクセスパスとして、パス1a,1b,2a,2bが設けられている。図1では例として、通信部11はポートP1~P4を備え、ストレージ装置20はポートP11~P14を備える。そして、パス1aはポートP1とポートP11とを接続し、パス1bはポートP2とポートP12とを接続し、パス2aはポートP3とポートP13とを接続し、パス2bはポートP4とポートP14とを接続する。 In the example of FIG. 1, paths 1a, 1b, 2a, and 2b are provided as access paths for the processing unit 12 to access the storage area 21. In FIG. 1, as an example, the communication unit 11 has ports P1 to P4, and the storage device 20 has ports P11 to P14. Path 1a connects port P1 to port P11, path 1b connects port P2 to port P12, path 2a connects port P3 to port P13, and path 2b connects port P4 to port P14.

これらのパスのうち、パス1a,1bは現用系パスとして使用され、パス2a,2bは待機系パスとして使用される。処理部12は、パス1a,1b,2a,2bのどれを介してアクセス要求を送信するかを制御する機能を備えている。現用系のパス1a,1bがいずれも正常に通信可能な状態では、処理部12は、アクセス要求がパス1a,1bに分配されるように制御する。この状態では、待機系のパス2a,2bは使用されない。また、パス1a,1bの両方が障害によって使用不能になった場合、処理部12は、アクセス要求が待機系のパス2a,2bに分配されるように制御する。 Of these paths, paths 1a and 1b are used as active paths, and paths 2a and 2b are used as standby paths. The processing unit 12 has a function of controlling through which of paths 1a, 1b, 2a, and 2b an access request is sent. When both active paths 1a and 1b are in a state where communication is possible normally, the processing unit 12 controls so that access requests are distributed to paths 1a and 1b. In this state, the standby paths 2a and 2b are not used. Furthermore, when both paths 1a and 1b become unavailable due to a failure, the processing unit 12 controls so that access requests are distributed to standby paths 2a and 2b.

一方で、現用系のパス1a,1bの一方のみ使用不能になったときに、使用可能な残りのパスだけにアクセス要求を分配した場合には、残りのパスにアクセス要求が集中してしまうので、アクセス性能が大きく低下するという問題がある。例えば、現用系の残りのパスに加えて待機系のパス2a,2bも用いてアクセス要求も送信できれば、通信負荷が分散され、アクセス性能の低下を抑制できると考えられる。 On the other hand, if access requests are distributed to only the remaining usable paths when only one of the active paths 1a and 1b becomes unavailable, the access requests will be concentrated on the remaining paths, resulting in a significant degradation of access performance. For example, if access requests could be sent using the standby paths 2a and 2b in addition to the remaining active paths, the communication load could be distributed and degradation of access performance could be suppressed.

しかし、待機系のパス2a,2bでの通信性能が現用系と同等であるとは限らない。例えば、ストレージ装置20が記憶領域21へのアクセスを制御する複数の制御装置を備える場合がある。その構成において、例えば、現用系のパス1a,1bを用いた経路は複数の制御装置のうちの1つ(第1の制御装置)だけを経由して記憶領域21に到達する。一方、待機系のパス2a,2bを用いた経路は複数の制御装置のうちの他の1つ(第2の制御装置)を経由し、さらに第1の制御装置を経由して記憶領域21に到達する、という場合がある。この場合、待機系のパス2a,2bにアクセス要求を送信した場合の応答速度は、現用系のパス1a,1bを用いた場合より遅くなる。 However, the communication performance of the standby paths 2a and 2b is not necessarily the same as that of the active path. For example, the storage device 20 may be equipped with multiple control devices that control access to the storage area 21. In this configuration, for example, the path using the active paths 1a and 1b reaches the storage area 21 via only one of the multiple control devices (the first control device). On the other hand, the path using the standby paths 2a and 2b may reach the storage area 21 via another of the multiple control devices (the second control device) and then via the first control device. In this case, the response speed when an access request is sent to the standby paths 2a and 2b is slower than when the active paths 1a and 1b are used.

あるいは、例えば、待機系のパス2a,2bの接続先であるポートP13,P14が、ストレージ装置20にアクセスする他の情報処理装置からのアクセスパス(例えば現用系パス)としても利用されている場合がある。この場合でも、他の情報処理装置からの通信状況によっては、待機系のパス2a,2bにアクセス要求を送信した場合の応答速度は、現用系のパス1a,1bを用いた場合より遅くなることがあり得る。 Alternatively, for example, ports P13 and P14 to which the standby paths 2a and 2b are connected may also be used as access paths (e.g., active paths) from other information processing devices that access the storage device 20. Even in this case, depending on the communication conditions from the other information processing devices, the response speed when an access request is sent to the standby paths 2a and 2b may be slower than when the active paths 1a and 1b are used.

そこで、処理部12は、現用系のパス1a,1bの一方が使用不能になったとき、残りのパスおよび待機系のパス2a,2bのそれぞれについての通信負荷3aおよび処理能力3bに基づいて、適切なパスを選択してアクセス要求を分配する。ここで、処理能力3bは、上記のパスのそれぞれに対してストレージ装置20から割り当てられる。例えば、上記各パスのストレージ装置20側のポートについての、現用系パスおよび待機系パスとしての使用状況や、それらのポートでの通信負荷などに基づいて、パスごとに処理能力が割り当てられる。処理部12は、パス1a,1b,2a,2bのそれぞれに割り当てられた処理能力3bを、例えば定期的にストレージ装置20から取得する。また、通信負荷3aは、ストレージ装置20からその検出値が取得されてもよいし、情報処理装置10側で検出されてもよい。 When one of the active paths 1a, 1b becomes unavailable, the processing unit 12 selects an appropriate path and distributes access requests based on the communication load 3a and processing capacity 3b for the remaining path and the standby paths 2a, 2b. Here, the processing capacity 3b is assigned to each of the above paths by the storage device 20. For example, the processing capacity is assigned to each path based on the usage status of the ports on the storage device 20 side of each of the above paths as active paths and standby paths, the communication load at those ports, etc. The processing unit 12 acquires the processing capacity 3b assigned to each of the paths 1a, 1b, 2a, 2b, for example, periodically from the storage device 20. In addition, the communication load 3a may be acquired as a detected value from the storage device 20, or may be detected on the information processing device 10 side.

以下、図1に示すように、パス1aが障害発生により使用不能になったものとする。このとき、処理部12は、現用系パスのうち使用可能な残りのパス1b、および待機系のパス2a,2bのそれぞれについての通信負荷3aおよび処理能力3bを参照する。そして、処理部12は、これらの通信負荷3aおよび処理能力3bに基づき、現用系の残りのパス1aにアクセス要求を分配する(パターンA)か、またはパス1aと待機系のパス2a,2bとにアクセス要求を分配する(パターンB)かを決定する。これにより、アクセス性能の低下を適切に抑制できる。 As shown in FIG. 1, it is assumed below that path 1a has become unavailable due to a failure. At this time, the processing unit 12 refers to the communication load 3a and processing capacity 3b for the remaining active path 1b that is available and the standby paths 2a and 2b. Then, based on the communication load 3a and processing capacity 3b, the processing unit 12 determines whether to distribute the access request to the remaining active path 1a (Pattern A) or to distribute the access request to path 1a and the standby paths 2a and 2b (Pattern B). This makes it possible to appropriately suppress the deterioration of access performance.

例えば、処理部12は、通信負荷3aおよび処理能力3bから、パターンA,Bのどちらを選択した方がアクセス要求に対する応答時間を短縮できるかを推定できる。したがって、既存のパスを効率的に用いながら、アクセス性能の低下を適切に抑制できる。あるいは、処理部12は、現用系の残りのパス1aにアクセス要求を分配すると応答時間が著しく低下する(例えば所定閾値を超える)と推定される場合に、パターンA,Bのどちらを選択した方がアクセス要求に対する応答時間を短縮できるかを推定してもよい。この場合、既存のパスを効率的に用いながら、アクセス性能を一定以上に維持できる。 For example, the processing unit 12 can estimate, from the communication load 3a and the processing capacity 3b, which of pattern A and B should be selected to shorten the response time to an access request. Therefore, it is possible to appropriately suppress a decrease in access performance while efficiently using existing paths. Alternatively, the processing unit 12 may estimate which of pattern A and B should be selected to shorten the response time to an access request when it is estimated that distributing access requests to the remaining path 1a of the active system will significantly decrease the response time (for example, exceed a predetermined threshold value). In this case, it is possible to maintain a certain level of access performance while efficiently using existing paths.

〔第2の実施の形態〕
次に、第2の実施の形態に係るストレージシステムについて説明する。第2の実施の形態では、「第1構成例」と「第2構成例」という2つのシステム構成を例示する。
Second Embodiment
Next, a storage system according to a second embodiment will be described. In the second embodiment, two system configurations, a "first configuration example" and a "second configuration example", will be illustrated.

図2は、ストレージシステムの第1構成例を示す図である。図2に示すストレージシステムは、サーバ100とストレージ装置200を含む。ストレージ装置200は、CM(Controller Module)201,202とドライブ部203を備える。サーバ100とCM201,202とは、図示しないネットワークを介して接続されている。このネットワークは、例えば、FC(Fibre Channel)を用いたSAN(Storage Area Network)である。 Figure 2 is a diagram showing a first configuration example of a storage system. The storage system shown in Figure 2 includes a server 100 and a storage device 200. The storage device 200 includes CMs (Controller Modules) 201 and 202 and a drive unit 203. The server 100 and the CMs 201 and 202 are connected via a network (not shown). This network is, for example, a SAN (Storage Area Network) using FC (Fibre Channel).

ドライブ部203には、HDDやSSDなどの不揮発性の記憶装置が複数台搭載されている。CM201,202は、サーバ100からのI/O要求に応じてドライブ部203の記憶装置にアクセスするストレージ制御装置である。また、CM201とCM202は互いに通信可能になっている。なお、以下の説明では、CM201,202をそれぞれCM#0,CM#1と記載する場合がある。サーバ100は、業務処理などの所定の処理を実行するサーバコンピュータであり、CM201,202に対してI/O要求を送信することでドライブ部203にアクセス可能になっている。 The drive unit 203 is equipped with multiple non-volatile storage devices such as HDDs and SSDs. The CMs 201 and 202 are storage control devices that access the storage devices of the drive unit 203 in response to I/O requests from the server 100. The CMs 201 and 202 are capable of communicating with each other. In the following description, the CMs 201 and 202 may be referred to as CM#0 and CM#1, respectively. The server 100 is a server computer that executes predetermined processes such as business processes, and is able to access the drive unit 203 by sending I/O requests to the CMs 201 and 202.

ここで、サーバ100はHBA#0~#7を備えている。HBA#0~#7は、ストレージ装置200と通信するためのインタフェースであり、それぞれ個別の通信ポートを備える。一方、CM201は通信ポートとしてポート#0~#3を備えている。また、CM202は通信ポートとしてポート#0~#3を備えている。そして、サーバ100のHBA#0~#3がそれぞれCM201のポート#0~#3に接続され、サーバ100のHBA#4~#7がそれぞれCM202のポート#0~#3に接続されている。 Here, server 100 is equipped with HBA#0-#7. HBA#0-#7 are interfaces for communicating with storage device 200, and each has its own individual communication port. Meanwhile, CM 201 is equipped with ports #0-#3 as communication ports. Also, CM 202 is equipped with ports #0-#3 as communication ports. HBA#0-#3 of server 100 are connected to ports #0-#3 of CM 201, respectively, and HBA#4-#7 of server 100 are connected to ports #0-#3 of CM 202, respectively.

図3は、サーバのハードウェア構成例を示す図である。サーバ100は、例えば、図3に示すような構成のコンピュータとして実現可能である。図3に示すように、サーバ100は、プロセッサ101、RAM(Random Access Memory)102、HDD103、グラフィックインタフェース(I/F)104、入力インタフェース(I/F)105、読み取り装置106および通信インタフェース(I/F)107を備える。 Figure 3 is a diagram showing an example of the hardware configuration of a server. The server 100 can be realized, for example, as a computer having the configuration shown in Figure 3. As shown in Figure 3, the server 100 includes a processor 101, a RAM (Random Access Memory) 102, a HDD 103, a graphic interface (I/F) 104, an input interface (I/F) 105, a reader 106, and a communication interface (I/F) 107.

プロセッサ101は、サーバ100全体を統括的に制御する。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)またはPLD(Programmable Logic Device)である。また、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。 The processor 101 performs overall control of the entire server 100. The processor 101 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic Device). The processor 101 may also be a combination of two or more elements of a CPU, an MPU, a DSP, an ASIC, or a PLD.

RAM102は、サーバ100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。 RAM 102 is used as the main storage device of server 100. RAM 102 temporarily stores at least a portion of the OS (Operating System) program and application programs to be executed by processor 101. RAM 102 also stores various data necessary for processing by processor 101.

HDD103は、サーバ100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSDなどの他の種類の不揮発性記憶装置を使用することもできる。 The HDD 103 is used as an auxiliary storage device for the server 100. The HDD 103 stores the OS program, application programs, and various data. Note that other types of non-volatile storage devices, such as SSDs, can also be used as the auxiliary storage device.

グラフィックインタフェース104には、表示装置104aが接続されている。グラフィックインタフェース104は、プロセッサ101からの命令にしたがって、画像を表示装置104aに表示させる。表示装置としては、液晶ディスプレイや有機EL(ElectroLuminescence)ディスプレイなどがある。 A display device 104a is connected to the graphic interface 104. The graphic interface 104 displays an image on the display device 104a in accordance with an instruction from the processor 101. Examples of the display device include a liquid crystal display and an organic EL (ElectroLuminescence) display.

入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。 An input device 105a is connected to the input interface 105. The input interface 105 transmits a signal output from the input device 105a to the processor 101. Examples of the input device 105a include a keyboard and a pointing device. Examples of the pointing device include a mouse, a touch panel, a tablet, a touch pad, and a trackball.

読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。 A portable recording medium 106a is detachably attached to the reading device 106. The reading device 106 reads data recorded on the portable recording medium 106a and transmits it to the processor 101. Examples of the portable recording medium 106a include an optical disk, a magneto-optical disk, and a semiconductor memory.

通信インタフェース107は、ネットワーク300を介してCM201,202などの他の装置との間でデータの送受信を行う。図2に示した第1構成例では、通信インタフェース107としてHBA#0~#7が搭載されている。 The communication interface 107 transmits and receives data to and from other devices such as CMs 201 and 202 via the network 300. In the first configuration example shown in FIG. 2, HBAs #0 to #7 are installed as the communication interfaces 107.

以上のようなハードウェア構成によって、サーバ100の処理機能を実現することができる。なお、CM201,202についても図3に示すような構成のコンピュータとして実現可能である。 The processing functions of server 100 can be realized with the hardware configuration described above. Note that CMs 201 and 202 can also be realized as computers with the configuration shown in FIG. 3.

図4は、第1構成例におけるアクセスパスを示す図である。まず、図4に示すデータ領域211は、ドライブ部203に搭載された記憶装置によって実現される記憶領域であり、例えば、RAID(Redundant Array of Inexpensive Disks)によって管理される論理ボリュームである。ストレージ装置200では、ドライブ部203によって実現されるデータ領域ごとに、そのデータ領域に直接的にアクセスしてI/O処理を実行する「担当CM」が決められている。第1構成例では、CM#0がデータ領域211の担当CMであるものとする。この場合、データ領域211に対する直接的なI/O処理はCM#0によって実行される。 Figure 4 is a diagram showing an access path in the first configuration example. First, the data area 211 shown in Figure 4 is a storage area realized by a storage device mounted in the drive unit 203, and is, for example, a logical volume managed by RAID (Redundant Array of Inexpensive Disks). In the storage device 200, for each data area realized by the drive unit 203, a "responsible CM" is determined that directly accesses the data area and executes I/O processing. In the first configuration example, CM#0 is assumed to be the responsible CM for the data area 211. In this case, direct I/O processing for the data area 211 is executed by CM#0.

また、サーバ100からデータ領域211にアクセスするためのアクセスパスは、アクティブパスPaとスタンバイパスPsとを有するマルチパス構成となっている。基本的に、アクティブパスPaは通常運用時に使用されるアクセスパスであり、スタンバイパスPsはアクティブパスPaに異常が生じた場合に使用されるアクセスパスである。 The access path for accessing the data area 211 from the server 100 is a multipath configuration having an active path Pa and a standby path Ps. Basically, the active path Pa is the access path used during normal operation, and the standby path Ps is the access path used when an abnormality occurs in the active path Pa.

第1構成例では図4に示すように、アクティブパスPaは、サーバ100のHBA#0~#3からCM#0のポート#0~#3を経由してデータ領域211に到達する経路となっている。また、スタンバイパスPsは、サーバ100のHBA#4~#7からCM#1のポート#0~#3を経由してデータ領域211に到達する経路となっている。 In the first configuration example, as shown in FIG. 4, the active path Pa is a path that travels from HBAs #0-#3 of server 100 to data area 211 via ports #0-#3 of CM#0. The standby path Ps is a path that travels from HBAs #4-#7 of server 100 to data area 211 via ports #0-#3 of CM#1.

ただし、上記のようにデータ領域211の担当CMはCM#0であることから、スタンバイパスPsは、CM#1からさらにCM#0を経由してデータ領域211に到達するようになっている。このため、スタンバイパスPsを用いてデータ領域211へのアクセスが行われた場合、CM#0とCM#1との間の通信(CM間通信)が発生することになるので、アクティブパスPaを用いた場合よりアクセス速度は低くなる。 However, as described above, the CM responsible for data area 211 is CM#0, so standby path Ps travels from CM#1 through CM#0 to reach data area 211. Therefore, when data area 211 is accessed using standby path Ps, communication between CM#0 and CM#1 (inter-CM communication) occurs, and the access speed is slower than when active path Pa is used.

なお、図4の例では、サーバ100とCM#0との間のアクティブパスPaは、4組の通信ポートのセットを用いた4つの通信経路を有しており、これによって通信経路が冗長化されている。同様に、サーバ100とCM#1との間のスタンバイパスPsも、4組の通信ポートのセットを用いた4つの通信経路を有しており、これによって通信経路が冗長化されている。 In the example of FIG. 4, the active path Pa between the server 100 and CM#0 has four communication paths using four sets of communication ports, which provides redundancy to the communication paths. Similarly, the standby path Ps between the server 100 and CM#1 also has four communication paths using four sets of communication ports, which provides redundancy to the communication paths.

次に、第2構成例について説明する。
図5は、ストレージシステムの第2構成例を示す図である。第2構成例では、ストレージ装置200に対して2台のサーバ100a,100bが接続されている点で第1構成例とは異なる。また、サーバ100a,100bとストレージ装置200のCM201,202とは、スイッチ310を介して接続されている。サーバ100a,100bはいずれも、スイッチ310およびCM201,202を介してドライブ部203にアクセス可能になっている。なお、以下の説明では、サーバ100a,100bをそれぞれサーバ#0、#1と記載する場合がある。
Next, a second configuration example will be described.
5 is a diagram showing a second configuration example of a storage system. The second configuration example differs from the first configuration example in that two servers 100a and 100b are connected to the storage device 200. The servers 100a and 100b are connected to the CMs 201 and 202 of the storage device 200 via a switch 310. Both of the servers 100a and 100b can access the drive unit 203 via the switch 310 and the CMs 201 and 202. In the following description, the servers 100a and 100b may be referred to as servers #0 and #1, respectively.

図5に示すように、サーバ100aは、HBA#0~#3を備えている。サーバ100bは、HBA#0~#3を備えている。スイッチ310は、ポート#0~#11を備えている。CM201は、ポート#0,#1を備えている。CM202は、ポート#0,#1を備えている。 As shown in FIG. 5, server 100a has HBAs #0 to #3. Server 100b has HBAs #0 to #3. Switch 310 has ports #0 to #11. CM 201 has ports #0 and #1. CM 202 has ports #0 and #1.

そして、サーバ100aのHBA#0~#3はそれぞれスイッチ310のポート#0~#3に接続され、サーバ100bのHBA#0~#3はそれぞれスイッチ310のポート#4~#7に接続されている。また、スイッチ310のポート#8,#9はCM201のポート#0,#1に接続され、スイッチ310のポート#10,#11はCM202のポート#0,#1に接続されている。 HBAs #0 to #3 of server 100a are connected to ports #0 to #3 of switch 310, respectively, and HBAs #0 to #3 of server 100b are connected to ports #4 to #7 of switch 310, respectively. Ports #8 and #9 of switch 310 are connected to ports #0 and #1 of CM 201, and ports #10 and #11 of switch 310 are connected to ports #0 and #1 of CM 202.

さらに、スイッチ310においては、ポート#0,#1がそれぞれポート#8,#9に接続され、ポート#2,#3がそれぞれポート#10,#11に接続されている。また、ポート#4,#5がそれぞれポート#8,#9に接続され、ポート#6,#7がそれぞれポート#10,#11に接続されている。 Furthermore, in switch 310, ports #0 and #1 are connected to ports #8 and #9, respectively, and ports #2 and #3 are connected to ports #10 and #11, respectively. Also, ports #4 and #5 are connected to ports #8 and #9, respectively, and ports #6 and #7 are connected to ports #10 and #11, respectively.

図6は、第2構成例におけるアクセスパスを示す図である。図6(A)は、サーバ#0からデータ領域へのアクセスパスを示しており、図6(B)は、サーバ#1からデータ領域へのアクセスパスを示している。 Figure 6 shows the access paths in the second configuration example. Figure 6 (A) shows the access path from server #0 to the data area, and Figure 6 (B) shows the access path from server #1 to the data area.

図6(A)に示すデータ領域212、および図6(B)に示すデータ領域213は、いずれもドライブ部203に搭載された記憶装置によって実現される記憶領域であり、例えば、RAIDによって管理される論理ボリュームである。第2構成例では、データ領域212はサーバ#0からのアクセス対象となる記憶領域であり、データ領域213はサーバ#1からのアクセス対象となる記憶領域であるものとする。また、第2構成例では、CM#0がデータ領域212の担当CMであり、CM#1がデータ領域213の担当CMであるものとする。この場合、データ領域212に対する直接的なI/O処理はCM#0によって実行され、データ領域213に対する直接的なI/O処理はCM#1によって実行される。 Data area 212 shown in FIG. 6(A) and data area 213 shown in FIG. 6(B) are both storage areas realized by a storage device mounted in drive unit 203, and are, for example, logical volumes managed by RAID. In the second configuration example, data area 212 is the storage area to be accessed by server #0, and data area 213 is the storage area to be accessed by server #1. Also, in the second configuration example, CM #0 is the CM in charge of data area 212, and CM #1 is the CM in charge of data area 213. In this case, direct I/O processing for data area 212 is executed by CM #0, and direct I/O processing for data area 213 is executed by CM #1.

図6(A)に示すように、サーバ#0からデータ領域212にアクセスするためのアクセスパスは、アクティブパスPa1とスタンバイパスPs1とを有するマルチパス構成となっている。基本的に、アクティブパスPa1は通常運用時に使用されるアクセスパスであり、スタンバイパスPs1はアクティブパスPa1に異常が生じた場合に使用されるアクセスパスである。 As shown in FIG. 6(A), the access path for accessing the data area 212 from server #0 is a multipath configuration having an active path Pa1 and a standby path Ps1. Basically, the active path Pa1 is the access path used during normal operation, and the standby path Ps1 is the access path used when an abnormality occurs in the active path Pa1.

アクティブパスPa1は、サーバ#0のHBA#0,#1からスイッチ310のポート#0,#1(図示を省略)、スイッチ310のポート#8,#9(図示を省略)、CM#0のポート#0,#1を経由してデータ領域212に到達する経路となっている。また、スタンバイパスPs1は、サーバ#0のHBA#2,#3からスイッチ310のポート#2,#3(図示を省略)、スイッチ310のポート#10,#11(図示を省略)、CM#1のポート#0,#1を経由してデータ領域212に到達する経路となっている。 Active path Pa1 is a path that travels from HBA #0 and #1 of server #0 to data area 212 via ports #0 and #1 of switch 310 (not shown), ports #8 and #9 of switch 310 (not shown), and ports #0 and #1 of CM #0. Standby path Ps1 is a path that travels from HBA #2 and #3 of server #0 to data area 212 via ports #2 and #3 of switch 310 (not shown), ports #10 and #11 of switch 310 (not shown), and ports #0 and #1 of CM #1.

ただし、上記のようにデータ領域212の担当CMはCM#0であることから、スタンバイパスPs1は、CM#1からさらにCM#0を経由してデータ領域212に到達するようになっている。このため、スタンバイパスPs1を用いてデータ領域212へのアクセスが行われた場合にはCM間通信が発生することになる。 However, as described above, the CM responsible for the data area 212 is CM#0, so the standby path Ps1 travels from CM#1 through CM#0 to reach the data area 212. Therefore, when the data area 212 is accessed using the standby path Ps1, inter-CM communication occurs.

一方、図6(B)に示すように、サーバ#1からデータ領域213にアクセスするためのアクセスパスは、アクティブパスPa2とスタンバイパスPs2とを有するマルチパス構成となっている。基本的に、アクティブパスPa2は通常運用時に使用されるアクセスパスであり、スタンバイパスPs2はアクティブパスPa2に異常が生じた場合に使用されるアクセスパスである。 On the other hand, as shown in FIG. 6(B), the access path for accessing the data area 213 from server #1 is a multipath configuration having an active path Pa2 and a standby path Ps2. Basically, the active path Pa2 is the access path used during normal operation, and the standby path Ps2 is the access path used when an abnormality occurs in the active path Pa2.

アクティブパスPa2は、サーバ#1のHBA#2,#3からスイッチ310のポート#6,#7(図示を省略)、スイッチ310のポート#10,#11(図示を省略)、CM#1のポート#0,#1を経由してデータ領域213に到達する経路となっている。また、スタンバイパスPs2は、サーバ#1のHBA#0,#1からスイッチ310のポート#4,#5(図示を省略)、スイッチ310のポート#8,#9(図示を省略)、CM#0のポート#0,#1を経由してデータ領域213に到達する経路となっている。 Active path Pa2 is a path that travels from HBA #2 and #3 of server #1 to data area 213 via ports #6 and #7 (not shown) of switch 310, ports #10 and #11 (not shown) of switch 310, and ports #0 and #1 of CM #1. Standby path Ps2 is a path that travels from HBA #0 and #1 of server #1 to data area 213 via ports #4 and #5 (not shown) of switch 310, ports #8 and #9 (not shown) of switch 310, and ports #0 and #1 of CM #0.

ただし、上記のようにデータ領域213の担当CMはCM#1であることから、スタンバイパスPs2は、CM#0からさらにCM#1を経由してデータ領域213に到達するようになっている。このため、スタンバイパスPs2を用いてデータ領域213へのアクセスが行われた場合にはCM間通信が発生することになる。 However, as described above, the CM responsible for data area 213 is CM#1, so standby path Ps2 travels from CM#0 through CM#1 to reach data area 213. Therefore, when data area 213 is accessed using standby path Ps2, inter-CM communication occurs.

以上の第1構成例および第2構成例のいずれも、あるサーバからあるデータ領域へのアクティブパスには物理的に独立した複数の伝送路が含まれている。例えば第1構成例では、サーバ100からデータ領域211へのアクティブパスPaには、サーバ100のHBA#0~#3をそれぞれ経由する伝送路が含まれる。このようにアクティブパスに含まれる伝送路が冗長化されている場合には、その中の一部の伝送路に障害が発生した場合でも、生存している残りの伝送路を用いてデータ領域との間のI/O処理を継続できる。このため一般的に、アクティブパス内のすべて伝送路が使用不能になって初めて、スタンバイパスを使用したI/O処理が実行される。 In both the first and second configuration examples above, the active path from a server to a data area includes multiple physically independent transmission paths. For example, in the first configuration example, the active path Pa from the server 100 to the data area 211 includes transmission paths that pass through each of HBAs #0 to #3 of the server 100. In this way, when the transmission paths included in the active path are made redundant, even if a failure occurs in one of the transmission paths, I/O processing between the data area can be continued using the remaining surviving transmission paths. For this reason, I/O processing using the standby path is generally performed only after all transmission paths in the active path become unavailable.

しかしながら、アクティブパスに含まれる一部の伝送路が使用不能になり、残りの伝送路だけを使用してすべてのI/O処理が実行されるので、各伝送路における通信負荷が過大になり、I/O処理性能が低下するという問題がある。また、アクティブパス内のすべての伝送路が使用不能になるまでスタンバイパスが使用されないので、リソースが無駄になっている。 However, if some of the transmission paths included in the active path become unavailable, all I/O processing is performed using only the remaining transmission paths, which causes an excessive communication load on each transmission path and a decrease in I/O processing performance. In addition, the standby path is not used until all transmission paths in the active path become unavailable, resulting in a waste of resources.

そこで、本実施の形態では、サーバは、アクティブパスに含まれる少なくとも1つの伝送路が使用不能になった場合には、生存している残りの伝送路だけでなくスタンバイパスの伝送路も使用してI/O処理を実行できるようにする。これにより、伝送路のリソースを有効活用してI/O処理性能の低下をできるだけ抑制する。 Therefore, in this embodiment, when at least one transmission path included in the active path becomes unavailable, the server is able to execute I/O processing using not only the remaining surviving transmission paths but also the standby path transmission paths. This makes effective use of the transmission path resources and minimizes degradation of I/O processing performance.

ただし、前述のようにスタンバイパスを使用したI/O処理ではCM間通信が発生するので、スタンバイパスに含まれる個々の伝送路を用いた場合には、アクティブパスに含まれる個々の伝送路を用いた場合より応答速度が低くなる。また、第2構成例のように、スタンバイパスにおけるストレージ装置200側の通信ポートは他のサーバのアクティブパスとしても使用されている場合がある。このような理由から、アクティブパスに含まれる一部の伝送路が使用不能になったときにスタンバイパスも使用することでI/O処理性能をどの程度改善できるかは、状況によって異なる。 However, as mentioned above, I/O processing using a standby path involves communication between CMs, so when an individual transmission path included in the standby path is used, the response speed is slower than when an individual transmission path included in the active path is used. Also, as in the second configuration example, the communication port on the storage device 200 side of the standby path may also be used as an active path for another server. For these reasons, the extent to which I/O processing performance can be improved by using the standby path when some transmission paths included in the active path become unavailable varies depending on the situation.

スタンバイパスは本来予備のアクセスパスであるので、アクティブパスの一部の伝送路が生存している状態でむやみに使用することは好ましくない。しかも、第2構成例のようにあるサーバのスタンバイパスの経路の一部が他のサーバのアクティブパスと重複している場合には、前者のパスを使用することが後者のパスでのI/O処理性能に影響を与えてしまう。したがって、アクティブパスの一部の伝送路が生存している状態では、必要性が高い場合にのみスタンバイパスが使用されるように制御できることが望ましい。 Because a standby path is essentially a spare access path, it is not desirable to use it carelessly while some of the transmission paths of the active path are still alive. Furthermore, if part of the route of the standby path of a certain server overlaps with the active path of another server, as in the second configuration example, using the former path will affect the I/O processing performance of the latter path. Therefore, when some of the transmission paths of the active path are still alive, it is desirable to be able to control the standby path so that it is used only when there is a high need.

ここで、本実施の形態のストレージ装置200は、CMの各通信ポートについて、I/O処理による使用状況に応じて、サーバの各HBAからのI/O要求に対するリソースの割り当て(処理量の配分比率)を制御する機能(リソース割り当て制御機能)を備えている。この機能では、リソース割り当て量とI/O処理負荷の検出値に基づいて、通信ポートを経由するアクセスパスを用いたI/O処理の処理能力が計算される。そこで、本実施の形態ではこのような機能を利用し、ストレージ装置200が、CMの通信ポートごとの現在のI/O処理負荷およびI/O処理能力を性能情報としてサーバに通知できるようにする。そして、サーバは、アクティブパスの一部の伝送路が使用不能になったとき、通知された性能情報に基づいて、アクティブパスの残りの伝送路だけでなくスタンバイパスも用いてI/O処理を実行した方がよいか否かを判定する。これにより、リソース使用のバランスをとりながら障害発生に伴うI/O処理性能の低下を抑制できるようにする。 Here, the storage device 200 of this embodiment has a function (resource allocation control function) for controlling the allocation of resources (distribution ratio of processing amount) to I/O requests from each HBA of the server for each communication port of the CM according to the usage status by I/O processing. In this function, the processing capacity of I/O processing using the access path via the communication port is calculated based on the resource allocation amount and the detected value of the I/O processing load. Therefore, in this embodiment, such a function is used so that the storage device 200 can notify the server of the current I/O processing load and I/O processing capacity for each communication port of the CM as performance information. Then, when some transmission paths of the active path become unavailable, the server judges whether it is better to execute I/O processing using not only the remaining transmission paths of the active path but also the standby path based on the notified performance information. This makes it possible to suppress the deterioration of I/O processing performance due to the occurrence of a failure while balancing the resource usage.

図7は、サーバおよびCMが備える処理機能の構成例を示す図である。図7では例として、第1構成例におけるサーバ100およびCM201,202の処理機能を示している。 Figure 7 is a diagram showing an example of the configuration of the processing functions of the server and CM. As an example, Figure 7 shows the processing functions of the server 100 and CMs 201 and 202 in the first configuration example.

まず、CM201は、記憶部220とRAID制御部230を備える。記憶部220は、例えばRAMやHDDなどのCM201が備える記憶装置の記憶領域として実現される。RAID制御部230は、例えば、CM201が備えるプロセッサが所定のプログラムを実行することで実現される。 First, CM201 includes a memory unit 220 and a RAID control unit 230. The memory unit 220 is realized as a storage area of a storage device included in CM201, such as a RAM or HDD. The RAID control unit 230 is realized, for example, by a processor included in CM201 executing a predetermined program.

記憶部220には、性能管理テーブル221が記憶される。性能管理テーブル221には、CM201が備える通信ポートと、その通信ポートに接続されたサーバのHBAとの組み合わせごとに性能情報が登録される。なお、第2構成例のようにCM201に複数のサーバが接続されている場合、性能管理テーブル221には、CM201側の通信ポートと、接続された各サーバの各HBAとの組み合わせごとにレコードが登録される。また、図示しないが、記憶部220にはこの他に、アクセス元のサーバと、アクセス先のデータ領域と、アクティブパスおよびスタンバイパスに対応する通信ポートとの対応関係を示す情報が記憶される。 The memory unit 220 stores a performance management table 221. In the performance management table 221, performance information is registered for each combination of a communication port provided in the CM 201 and an HBA of a server connected to the communication port. When multiple servers are connected to the CM 201 as in the second configuration example, a record is registered in the performance management table 221 for each combination of a communication port on the CM 201 side and each HBA of each connected server. Although not shown, the memory unit 220 also stores information indicating the correspondence between the server from which the access originates, the data area of the access destination, and the communication ports corresponding to the active path and the standby path.

RAID制御部230は、サーバから受信したI/O要求に応じて、I/O処理対象のデータ領域に対するI/O処理を実行する。このとき、ドライブ部203の記憶装置をRAIDによって管理しながらI/O処理を実行する。また、RAID制御部230は、CM201自身が担当していないデータ領域に対するI/O要求をスタンバイパスを介して受信した場合には、そのI/O要求を担当CMに転送する。 The RAID control unit 230 executes I/O processing for the data area that is the target of I/O processing in response to an I/O request received from the server. At this time, the I/O processing is executed while managing the storage device of the drive unit 203 by RAID. Furthermore, when the RAID control unit 230 receives an I/O request via a standby path for a data area that is not managed by the CM 201 itself, it transfers the I/O request to the CM in charge.

さらに、RAID制御部230は、リソース割り当て部231を備える。リソース割り当て部231は、受信したI/O要求に対するリソースの割り当てを、I/O処理によるリソースの使用状況に応じて制御する。ここで言う「リソースの割り当て」とは、I/O要求に応じたI/O処理で使用されるリソースの割り当てを示し、例えば、プロセッサコアの割り当て数、キャッシュの使用量などを示す。リソース割り当て部231は、CM201が備える通信ポートと、その通信ポートに接続されたサーバのHBAとの組み合わせごとに、リソースの割り当て量を決定する。 The RAID control unit 230 further includes a resource allocation unit 231. The resource allocation unit 231 controls the allocation of resources to received I/O requests according to the resource usage status by the I/O processing. The "resource allocation" referred to here refers to the allocation of resources used in I/O processing according to the I/O request, and indicates, for example, the number of allocated processor cores and the amount of cache usage. The resource allocation unit 231 determines the amount of resource allocation for each combination of a communication port provided in the CM 201 and an HBA of a server connected to that communication port.

また、リソース割り当て部231は、上記の組み合わせごとにI/O要求に応じた処理負荷(以下「I/O負荷」と記載する場合がある)を検出する。さらに、リソース割り当て部231は、リソースの割り当て量とI/O負荷とに基づいて、I/O処理の処理能力や、I/O要求に対する応答時間の推定値を計算する。リソース割り当て部231は、I/O処理の処理能力、I/O負荷および応答時間を、性能情報として性能管理テーブル221に登録する。また、リソース割り当て部231は、サーバからの要求に応じて、性能管理テーブル221に登録された性能情報をサーバに通知する。 The resource allocation unit 231 also detects the processing load (hereinafter sometimes referred to as "I/O load") corresponding to the I/O request for each of the above combinations. Furthermore, the resource allocation unit 231 calculates an estimate of the I/O processing capacity and the response time for the I/O request based on the resource allocation amount and the I/O load. The resource allocation unit 231 registers the I/O processing capacity, I/O load, and response time as performance information in the performance management table 221. Furthermore, the resource allocation unit 231 notifies the server of the performance information registered in the performance management table 221 in response to a request from the server.

CM202は、記憶部220aとRAID制御部230aを備える。記憶部220aには、性能管理テーブル221aが記憶される。性能管理テーブル221aは、CM201の性能管理テーブル221と同様に、CM202が備える通信ポートと、その通信ポートに接続されたサーバのHBAとの組み合わせごとに性能情報が登録される。 CM202 includes a memory unit 220a and a RAID control unit 230a. A performance management table 221a is stored in the memory unit 220a. Similar to the performance management table 221 of CM201, the performance management table 221a registers performance information for each combination of a communication port included in CM202 and an HBA of a server connected to that communication port.

RAID制御部230aは、CM201のRAID制御部230と同様の処理機能であり、サーバから受信したI/O要求に応じてI/O処理対象のデータ領域に対するI/O処理を実行する。また、RAID制御部230aは、リソース割り当て部231aを備える。リソース割り当て部231aは、CM201のリソース割り当て部231と同様に、CM202が備える通信ポートと、その通信ポートに接続されたサーバのHBAとの組み合わせごとに、リソースの割り当て、I/O負荷の検出、応答時間の算出を行う。また、リソース割り当て部231aは、リソースの割り当て量、I/O負荷および応答時間を、性能情報として性能管理テーブル221aに登録する。また、リソース割り当て部231aは、サーバからの要求に応じて、性能管理テーブル221aに登録された性能情報をサーバに通知する。 The RAID control unit 230a has the same processing function as the RAID control unit 230 of the CM 201, and executes I/O processing on the data area to be processed in response to an I/O request received from the server. The RAID control unit 230a also includes a resource allocation unit 231a. Like the resource allocation unit 231 of the CM 201, the resource allocation unit 231a allocates resources, detects I/O loads, and calculates response times for each combination of a communication port provided in the CM 202 and an HBA of a server connected to the communication port. The resource allocation unit 231a also registers the resource allocation amount, I/O load, and response time in the performance management table 221a as performance information. The resource allocation unit 231a also notifies the server of the performance information registered in the performance management table 221a in response to a request from the server.

サーバ100は、記憶部110、I/O制御部121およびパス制御部122を備える。記憶部110は、例えばRAM102やHDD103などのサーバ100が備える記憶装置の記憶領域として実現される。I/O制御部121およびパス制御部122は、例えば、サーバ100が備えるプロセッサ101が所定のプログラムを実行することで実現される。 The server 100 comprises a memory unit 110, an I/O control unit 121, and a path control unit 122. The memory unit 110 is realized as a storage area of a storage device provided in the server 100, such as the RAM 102 or the HDD 103. The I/O control unit 121 and the path control unit 122 are realized, for example, by the processor 101 provided in the server 100 executing a predetermined program.

記憶部110には、性能管理テーブル111が記憶される。性能管理テーブル111は、CM201,202のリソース割り当て部231,231aから取得された性能情報を保持する。性能情報は、サーバ100の通信ポート(HBA)と、ストレージ装置200の通信ポート(具体的にはCMの通信ポート)との組み合わせごとに登録される。 The memory unit 110 stores a performance management table 111. The performance management table 111 holds performance information acquired from the resource allocation units 231, 231a of the CMs 201, 202. The performance information is registered for each combination of a communication port (HBA) of the server 100 and a communication port of the storage device 200 (specifically, a communication port of the CM).

I/O制御部121は、データ領域に対するI/O要求を発行する。例えば、サーバ100が業務サーバの場合、I/O制御部121は、業務アプリケーションからの要求に応じてI/O要求を発行する。パス制御部122は、I/O制御部121から発行されたI/O要求を送信するためのアクセスパスを選択し、選択されたアクセスパスを介してI/O要求を送信する。 The I/O control unit 121 issues an I/O request to the data area. For example, if the server 100 is a business server, the I/O control unit 121 issues an I/O request in response to a request from a business application. The path control unit 122 selects an access path for transmitting the I/O request issued by the I/O control unit 121, and transmits the I/O request via the selected access path.

パス制御部122は、例えば、アクティブパス内のすべての伝送路が生存している場合、それらの伝送路にI/O要求を均等に送信する。一方、パス制御部122は、アクティブパス内の少なくとも1つが使用不能である場合、性能管理テーブル111に基づき、アクティブパス内の残りの伝送路のみを用いてI/O要求を送信するか、スタンバイパスの伝送路も用いてI/O要求を送信するかを決定する。 For example, if all transmission paths in the active path are alive, the path control unit 122 sends I/O requests equally to those transmission paths. On the other hand, if at least one of the active paths is unavailable, the path control unit 122 determines based on the performance management table 111 whether to send the I/O request using only the remaining transmission paths in the active path, or to send the I/O request using the transmission paths of the standby path as well.

なお、図示しないが、第2構成例のサーバ100a,100bも、図7に示したサーバ100と同様の処理機能を備える。ここで、サーバ100aの性能管理テーブル111には、サーバ100aの通信ポート(HBA)と、ストレージ装置200の通信ポートとの組み合わせごとに登録される。また、サーバ100bの性能管理テーブル111には、サーバ100bの通信ポート(HBA)と、ストレージ装置200の通信ポートとの組み合わせごとに登録される。 Although not shown, the servers 100a and 100b of the second configuration example also have the same processing functions as the server 100 shown in FIG. 7. Here, the performance management table 111 of the server 100a is registered for each combination of the communication port (HBA) of the server 100a and the communication port of the storage device 200. Also, the performance management table 111 of the server 100b is registered for each combination of the communication port (HBA) of the server 100b and the communication port of the storage device 200.

図8は、ストレージ装置のリソース割り当て機能について説明するための図である。ここでは例として、CM201,202のうちCM201のリソース割り当て部231による処理について説明する。 Figure 8 is a diagram for explaining the resource allocation function of a storage device. As an example, the processing by the resource allocation unit 231 of CM 201 out of CMs 201 and 202 will be explained here.

リソース割り当て部231は、CM201の通信ポート(ポート#0~#3)ごとに、I/O要求に対するリソースの割り当てを適応的に変化させる。RAID制御部230は、各通信ポートから受信したI/O要求に対応するI/O処理を、リソースの割り当て量に応じて実行する。これにより、リソースの割り当て量に応じたI/O性能が発揮されるようになる。 The resource allocation unit 231 adaptively changes the resource allocation for I/O requests for each communication port (ports #0 to #3) of the CM 201. The RAID control unit 230 executes I/O processing corresponding to the I/O requests received from each communication port according to the amount of resource allocation. This enables I/O performance according to the amount of resource allocation.

図8の状態1では、CM201の通信ポートにアクティブパスからのI/O要求のみ入力されており、この通信ポートがアクティブパスだけに使用されている。この状態ではアクティブパスからのI/O要求のみ処理されればよいので、この状態でアクティブパスに割り当てられるリソースを100%とする。すなわち、リソース割り当て部231は、通信ポートがアクティブパスだけに使用されている場合には、アクティブパスに100%のリソースを割り当てる。 In state 1 of FIG. 8, only I/O requests from the active path are input to the communication port of CM 201, and this communication port is used exclusively for the active path. In this state, only I/O requests from the active path need to be processed, so the resources allocated to the active path in this state are set to 100%. In other words, when the communication port is used exclusively for the active path, the resource allocation unit 231 allocates 100% of the resources to the active path.

また、図8の状態2では、CM201の通信ポートにスタンバイパスからのI/O要求のみ入力されており、この通信ポートがスタンバイパスだけに使用されている。この状態では、状態1での処理能力の割り当て量を基準とすると、リソース割り当て部231はスタンバイパスに対して50%のリソースを割り当てるものとする。これは、スタンバイパスからI/O要求を受信した場合にはCM間通信が発生するので、アクティブパスから受信した場合と比較してI/O処理にかかる時間が長くなるからである。このため、CM間通信処理に残りの50%のリソースを割り当てると考える。 In addition, in state 2 of FIG. 8, only I/O requests from the standby path are input to the communication port of CM 201, and this communication port is used only for the standby path. In this state, based on the processing capacity allocation amount in state 1, the resource allocation unit 231 allocates 50% of the resources to the standby path. This is because when an I/O request is received from the standby path, inter-CM communication occurs, and the time required for I/O processing is longer than when it is received from the active path. For this reason, it is considered that the remaining 50% of resources will be allocated to inter-CM communication processing.

なお、割り当てが制御されるリソースとしては、例えば、プロセッサコア、キャッシュなどを適用可能である。例えば50%のリソースが割り当てられた場合には、100%割り当てられた場合と比較して、具体的には次のような制御が行われる。例えば、受信したI/O要求に応じたI/O処理に対して、50%の数のプロセッサコアが割り当てられる。あるいは、そのI/O処理に対して、50%の容量のキャッシュが割り当てられる。これにより、I/O負荷が同じ(単位時間当たりのI/O要求の受信数が同じ)場合には、100%のリソースが割り当てられた場合と比較して、概ね50%程度のI/O性能が発揮されるようになる。 Note that examples of resources whose allocation is controlled include processor cores and caches. When 50% of resources are allocated, the following specific control is performed compared to when 100% are allocated. For example, 50% of the number of processor cores are allocated to I/O processing in response to a received I/O request. Alternatively, 50% of the capacity of a cache is allocated to that I/O processing. As a result, when the I/O load is the same (the number of I/O requests received per unit time is the same), approximately 50% of the I/O performance is achieved compared to when 100% of resources are allocated.

また、図8の状態3では、CM201の通信ポートに、アクティブパスからのI/O要求とスタンバイパスからのI/O要求の両方が入力されており、この通信ポートがアクティブパスとスタンバイパスに共用されている。この状態では、状態1でのリソースの割り当て量を基準とすると、リソース割り当て部231は、アクティブパスに対して50%のリソースを割り当て、スタンバイパスに対してその半分の25%のリソースを割り当てるものとする。これにより、アクティブパスからのI/O負荷とスタンバイパスからのI/O負荷とが同じ場合、スタンバイパスからのI/O要求に応じたI/O処理と比較して、アクティブパスからのI/O要求に応じたI/O処理が概ね2倍の性能を発揮するようになる。なお、スタンバイパスからのI/O要求に応じたCM間通信処理に対しては、残り25%のリソースを割り当てると考える。 In state 3 of FIG. 8, both I/O requests from the active path and the standby path are input to the communication port of CM 201, and this communication port is shared by the active path and the standby path. In this state, based on the resource allocation amount in state 1, the resource allocation unit 231 allocates 50% of the resources to the active path and half of that, 25%, to the standby path. As a result, when the I/O load from the active path and the I/O load from the standby path are the same, the I/O processing in response to an I/O request from the active path will perform roughly twice as well as the I/O processing in response to an I/O request from the standby path. Note that the remaining 25% of the resources are considered to be allocated to inter-CM communication processing in response to an I/O request from the standby path.

リソース割り当て部231は、以上のようなリソース割り当て量とI/O負荷の検出値とに基づいて、CM201の通信ポートと接続先のHBAとの組み合わせによって表される伝送路ごとに、I/O処理の処理能力を算出する。本実施の形態では、1つの通信ポートでの処理能力の最大値を「100」とするので、処理能力をパーセントによって表す。 Based on the resource allocation amount and the detected I/O load value, the resource allocation unit 231 calculates the I/O processing capacity for each transmission path represented by a combination of a communication port of the CM 201 and a connected HBA. In this embodiment, the maximum capacity of one communication port is set to "100", so the capacity is expressed as a percentage.

図8の状態1では、アクティブパスだけからI/O要求が受信されるので、アクティブパスに含まれる伝送路の処理能力が100%と算出される。また、図8の状態2では、スタンバイパスだけからI/O要求が受信されるので、スタンバイパスに含まれる伝送路の処理能力が50%と算出される。 In state 1 of Figure 8, I/O requests are received only from the active path, so the processing capacity of the transmission path included in the active path is calculated to be 100%. Also, in state 2 of Figure 8, I/O requests are received only from the standby path, so the processing capacity of the transmission path included in the standby path is calculated to be 50%.

一方、図8の状態3では、1つの通信ポートに対してアクティブパスの伝送路とスタンバイパスの伝送路の両方からI/O処理が受信される。この状態では、各伝送路に対するリソース割り当て量と伝送路ごとのI/O負荷とに基づいて、各伝送路の処理能力が算出される。例えば、通信ポートにアクティブパスおよびスタンバイパスの2つの伝送路が接続されている場合、各伝送路における処理能力は、(伝送路に対するリソース割り当て量)×(通信ポートにおけるI/O負荷全体に対する、伝送路におけるI/O負荷の比率)×2によって算出される。 On the other hand, in state 3 of FIG. 8, I/O processing is received from both the active path transmission line and the standby path transmission line for one communication port. In this state, the processing capacity of each transmission line is calculated based on the resource allocation amount for each transmission line and the I/O load for each transmission line. For example, if two transmission lines, an active path and a standby path, are connected to a communication port, the processing capacity of each transmission line is calculated by (resource allocation amount for the transmission line) x (ratio of I/O load on the transmission line to the total I/O load on the communication port) x 2.

例えば、2つの伝送路におけるI/O負荷が同じ場合、各伝送路の処理能力はリソース割り当て量と同じになる。リソース割り当て量が「50%」であれば、50%×(1/2)×2=50%となる。また、アクティブパスの伝送路のI/O負荷とスタンバイパスの伝送路のI/O負荷との比が1:2の場合、前者の処理能力は50%×(1/3)×2=約33%となり、後者の処理能力は25%×(2/3)×2=約33%となる。 For example, if the I/O load on the two transmission paths is the same, the processing capacity of each transmission path will be the same as the resource allocation. If the resource allocation is "50%," then 50% x (1/2) x 2 = 50%. Also, if the ratio of the I/O load on the active path transmission path to the I/O load on the standby path transmission path is 1:2, then the processing capacity of the former will be 50% x (1/3) x 2 = approximately 33%, and the processing capacity of the latter will be 25% x (2/3) x 2 = approximately 33%.

このように、処理能力は、リソース割り当て量とI/O負荷の検出値とから算出される、伝送路を用いて実行可能なI/O処理量(I/O要求の処理数)を示す。また、処理能力は、伝送路の使用状況とI/O負荷とに基づいて割り当てられる、実行可能なI/O処理量ということもできる。 In this way, processing capacity indicates the I/O processing volume (number of I/O requests processed) that can be performed using a transmission path, calculated from the resource allocation amount and the detected I/O load. Processing capacity can also be said to be the executable I/O processing volume that is allocated based on the usage status and I/O load of the transmission path.

以下、リソース割り当て部231の処理についてフローチャートを用いて説明する。
図9は、サーバ接続に応じたリソース割り当て処理を示すフローチャートの例である。
[ステップS11]RAID制御部230は、通信ポートにサーバのHBAが接続されたことを検出する。
The process of the resource allocation unit 231 will be described below with reference to a flowchart.
FIG. 9 is an example of a flowchart showing a resource allocation process according to a server connection.
[Step S11] The RAID control unit 230 detects that an HBA of a server has been connected to a communication port.

[ステップS12]リソース割り当て部231は、検出されたサーバがアクティブパスによって接続されたかを判定する。この判定は、アクセス元のサーバと、アクセス先のデータ領域と、アクティブパスおよびスタンバイパスに対応する通信ポートとの対応関係を示す情報(図示せず)を参照することで実行される。サーバがアクティブパスによって接続された場合、処理がステップS13に進められ、サーバがスタンバイパスによって接続された場合、処理がステップS14に進められる。 [Step S12] The resource allocation unit 231 determines whether the detected server is connected via an active path. This determination is made by referencing information (not shown) indicating the correspondence between the access source server, the access destination data area, and the communication ports corresponding to the active path and standby path. If the server is connected via an active path, processing proceeds to step S13; if the server is connected via a standby path, processing proceeds to step S14.

[ステップS13]リソース割り当て部231は、検出されたサーバのHBAからのI/O要求に応じたI/O処理に対して、リソースを100%割り当てる。
[ステップS14]リソース割り当て部231は、検出されたサーバのHBAからのI/O要求に応じたI/O処理に対してリソースを50%割り当てるとともに、そのI/O処理に伴うCM間通信処理にリソースを50%割り当てる。
[Step S13] The resource allocation unit 231 allocates 100% of resources to the I/O process in response to an I/O request from the HBA of the detected server.
[Step S14] The resource allocation unit 231 allocates 50% of the resources to I/O processing in response to an I/O request from the HBA of the detected server, and also allocates 50% of the resources to inter-CM communication processing associated with that I/O processing.

以上のステップS13またはステップS14で割り当てられた、通信ポートとサーバのHBAとの組み合わせごとのリソース割り当て量は、RAID制御部230が参照するRAMなどの記憶域に設定されて、RAID制御部230に適用される。RAID制御部230はこれ以後、設定された処理能力の割り当て量に基づいて、受信したI/O要求に対するI/O処理を実行する。 The resource allocation amount for each combination of a communication port and a server HBA allocated in step S13 or step S14 above is set in a storage area such as a RAM referenced by the RAID control unit 230 and applied to the RAID control unit 230. Thereafter, the RAID control unit 230 executes I/O processing for received I/O requests based on the processing capacity allocation amount that has been set.

[ステップS15]リソース割り当て部231は、ステップS13またはステップS14で割り当てられた、通信ポートとサーバのHBAとの組み合わせごとのリソース割り当て量を、その組み合わせに対する処理能力の初期値として性能管理テーブル221の対応するレコードにそのまま登録する。 [Step S15] The resource allocation unit 231 registers the resource allocation amount for each combination of a communication port and a server HBA allocated in step S13 or step S14 directly in the corresponding record of the performance management table 221 as the initial processing capacity value for that combination.

図10、図11は、I/O要求に応じたリソース割り当て処理を示すフローチャートの例である。図10、図11に示すように、処理能力の割り当て量は通信ポートにおけるI/O要求の受信状況に応じて適宜変更される。 Figures 10 and 11 are example flowcharts showing resource allocation processing in response to I/O requests. As shown in Figures 10 and 11, the amount of processing capacity allocated is changed as appropriate depending on the reception status of I/O requests at the communication port.

[ステップS21]RAID制御部230は、通信ポートがサーバからのI/O要求を受信したことを検出する。
[ステップS22]リソース割り当て部231は、I/O要求によるアクセス先のデータ領域が、CM201の担当領域かを判定する。アクセス先のデータ領域がCM201の担当領域である場合、アクティブパスからI/O要求を受信しており、処理がステップS23に進められる。一方、アクセス先のデータ領域がCM201の担当領域でない場合(本実施の形態ではCM202の担当領域である場合)、スタンバイパスからI/O要求を受信しており、処理が図11のステップS31に進められる。
[Step S21] The RAID control unit 230 detects that a communication port has received an I/O request from a server.
[Step S22] The resource allocation unit 231 determines whether the data area accessed by the I/O request is the area covered by CM 201. If the data area accessed is the area covered by CM 201, the I/O request has been received from the active path, and the process proceeds to step S23. On the other hand, if the data area accessed is not the area covered by CM 201 (in this embodiment, the area covered by CM 202), the I/O request has been received from the standby path, and the process proceeds to step S31 in FIG. 11.

[ステップS23]リソース割り当て部231は、現時刻から一定時間前の時刻までの期間に、該当通信ポート(ステップS21でI/O要求が受信された通信ポート)で受信されたI/O要求に応じたCM間通信が行われたかを判定する。CM間通信が行われた場合、処理がステップS25に進められ、CM間通信が行われていない場合、処理がステップS24に進められる。 [Step S23] The resource allocation unit 231 determines whether inter-CM communication has occurred in response to an I/O request received at the relevant communication port (the communication port at which the I/O request was received in step S21) during the period from the current time to a time a certain time ago. If inter-CM communication has occurred, the process proceeds to step S25; if inter-CM communication has not occurred, the process proceeds to step S24.

[ステップS24]ステップS23でNoと判定された場合、直近の一定時間では該当通信ポートがアクティブパスだけに使用されている。このため、リソース割り当て部231は、現サーバ(ステップS21でのI/O要求の送信元サーバ)からのI/O要求に応じたI/O処理に対してリソースを100%割り当てる。 [Step S24] If the answer is No in step S23, the communication port has been used only for the active path for the most recent period of time. Therefore, the resource allocation unit 231 allocates 100% of the resources to the I/O processing in response to the I/O request from the current server (the server that sent the I/O request in step S21).

[ステップS25]ステップS23でYesと判定された場合、直近の一定時間では該当通信ポートがアクティブパスとスタンバイパスの両方に使用されている。このケースでは、リソース割り当て部231は、該当通信ポートをスタンバイパスとして使用している他のサーバからのI/O要求に応じたI/O処理に対して、リソースを25%割り当てる。また、リソース割り当て部231は、このI/O処理に伴うCM間通信処理に対してリソースを25%割り当てる。 [Step S25] If step S23 returns Yes, the communication port has been used as both an active path and a standby path for a certain period of time in the past. In this case, the resource allocation unit 231 allocates 25% of the resources to I/O processing in response to an I/O request from another server that uses the communication port as a standby path. The resource allocation unit 231 also allocates 25% of the resources to inter-CM communication processing associated with this I/O processing.

ステップS25における「他のサーバ」とは、ステップS21でのI/O要求の送信元サーバ(現サーバ)とは別のサーバである。例えば、図6のケースで該当通信ポートをCM#0のポート#0、現サーバをサーバ#0とした場合、他のサーバはサーバ#1となり、他のサーバのHBAはサーバ#1のHBA#0となる。 The "other server" in step S25 is a server other than the source server (current server) of the I/O request in step S21. For example, in the case of FIG. 6, if the relevant communication port is port #0 of CM #0 and the current server is server #0, the other server is server #1 and the HBA of the other server is HBA #0 of server #1.

[ステップS26]リソース割り当て部231は、現サーバからのI/O要求に応じたI/O処理に対してリソースを50%割り当てる。
ステップS24、ステップS25,S26、後述するステップS33、後述するステップS34,S35のいずれかで割り当てられたリソース割り当て量は、RAID制御部230が参照するRAMなどの記憶域に上書きして設定され、RAID制御部230に適用される。
[Step S26] The resource allocation section 231 allocates 50% of the resources to the I/O process in response to the I/O request from the current server.
The resource allocation amount allocated in step S24, steps S25, S26, step S33 described below, or steps S34, S35 described below is overwritten and set in a memory area such as a RAM referenced by the RAID control unit 230, and applied to the RAID control unit 230.

[ステップS27]リソース割り当て部231は、該当通信ポートでのI/O負荷(例えば、直近の一定時間におけるI/O要求の受信数)を、接続先のHBAごとに検出する。リソース割り当て部231は、該当通信ポートと接続先のHBAとの各組み合わせについて、現在のリソース割り当て量とI/O負荷の検出値とに基づいて処理能力を算出する。また、リソース割り当て部231は、処理能力とI/O負荷とに基づいてI/O要求に対する応答時間を算出する。リソース割り当て部231は、処理能力、I/O負荷および応答時間を、性能管理テーブル221のレコードのうち、I/O要求が受信された通信ポートと、接続先のHBAとの組み合わせに対応するレコードに対し、性能情報として上書きして登録する。 [Step S27] The resource allocation unit 231 detects the I/O load (e.g., the number of I/O requests received in the most recent fixed period of time) at the communication port for each connected HBA. For each combination of the communication port and the connected HBA, the resource allocation unit 231 calculates the processing capacity based on the current resource allocation amount and the detected I/O load. The resource allocation unit 231 also calculates the response time for the I/O request based on the processing capacity and the I/O load. The resource allocation unit 231 overwrites and registers the processing capacity, I/O load, and response time as performance information in the record of the performance management table 221 that corresponds to the combination of the communication port on which the I/O request was received and the connected HBA.

[ステップS28]RAID制御部230は、更新されたリソースの割り当て量に基づいて、I/O要求に対するI/O処理を実行する。
以下、図11を用いて説明を続ける。
[Step S28] The RAID control unit 230 executes I/O processing for the I/O request based on the updated resource allocation amount.
The explanation will be continued below with reference to FIG.

[ステップS31]リソース割り当て部231は、現時刻から一定時間前の時刻までの期間に、該当通信ポートで受信されたI/O要求に応じたCM間通信が行われたかを判定する。CM間通信が行われた場合には、直近にステップS32以降の処理が実行されており、この処理による処理能力の割り当て量がそのまま適用されればよいので、処理が図10のステップS27に進められる。一方、CM間通信が行われていない場合、処理がステップS32に進められる。 [Step S31] The resource allocation unit 231 determines whether inter-CM communication has occurred in response to an I/O request received at the communication port in question during the period from the current time to a time a certain amount of time ago. If inter-CM communication has occurred, the processing from step S32 onwards has been executed most recently, and the processing capacity allocation amount from this processing can be applied as is, so processing proceeds to step S27 in FIG. 10. On the other hand, if inter-CM communication has not occurred, processing proceeds to step S32.

[ステップS32]リソース割り当て部231は、現時刻から一定時間前の時刻までの期間に、該当通信ポートにおいて他のサーバからのI/O要求が受信されたかを判定する。ステップS32における「他のサーバ」とは、ステップS21でのI/O要求の送信元サーバ(現サーバ)とは別のサーバであり、該当通信ポートをアクティブパスとして使用しているサーバである。他のサーバからのI/O要求が受信された場合、処理がステップS34に進められ、他のサーバからのI/O要求が受信されていない場合、処理がステップS33に進められる。 [Step S32] The resource allocation unit 231 determines whether an I/O request from another server has been received at the communication port in question during the period from the current time to a time a certain amount of time ago. The "other server" in step S32 is a server other than the source server (current server) of the I/O request in step S21, and is a server that is using the communication port in question as an active path. If an I/O request from another server has been received, processing proceeds to step S34; if an I/O request from another server has not been received, processing proceeds to step S33.

[ステップS33]ステップS32でNoと判定された場合、直近の一定時間では、図8の状態2のように該当通信ポートがスタンバイパスとしてだけ使用されている。この場合、リソース割り当て部231は、現サーバからのI/O要求に応じたI/O処理に対してリソースを50%割り当てる。 [Step S33] If the result of step S32 is No, the communication port has been used only as a standby path for a certain period of time in the last period, as shown in state 2 of FIG. 8. In this case, the resource allocation unit 231 allocates 50% of the resources to the I/O processing in response to the I/O request from the current server.

[ステップS34]ステップS32でYesと判定された場合、直近の一定時間では該当通信ポートがアクティブパスとスタンバイパスの両方に使用されている。このケースでは、リソース割り当て部231は、該当通信ポートをアクティブパスとして使用している他のサーバからのI/O要求に応じたI/O処理に対して、リソースを50%割り当てる。 [Step S34] If step S32 returns Yes, the communication port has been used as both an active path and a standby path for a certain period of time in the past. In this case, the resource allocation unit 231 allocates 50% of the resources to I/O processing in response to an I/O request from another server that uses the communication port as an active path.

ステップS32で述べたように、ステップS34における「他のサーバ」とは、該当通信ポートをアクティブパスとして使用しているサーバである。例えば、図6のケースで該当通信ポートをCM#0のポート#0、現サーバをサーバ#1とした場合、他のサーバはサーバ#0となり、他のサーバのHBAはサーバ#0のHBA#0となる。 As mentioned in step S32, the "other server" in step S34 is a server that uses the corresponding communication port as an active path. For example, in the case of FIG. 6, if the corresponding communication port is port #0 of CM #0 and the current server is server #1, the other server is server #0 and the HBA of the other server is HBA #0 of server #0.

[ステップS35]リソース割り当て部231は、現サーバからのI/O要求に応じたI/O処理に対してリソースを25%割り当てる。また、リソース割り当て部231は、このI/O処理に伴うCM間通信処理に対してリソースを25%割り当てる。この後、処理が図10のステップS27に進められる。 [Step S35] The resource allocation unit 231 allocates 25% of the resources to the I/O processing in response to the I/O request from the current server. The resource allocation unit 231 also allocates 25% of the resources to the inter-CM communication processing associated with this I/O processing. After this, the process proceeds to step S27 in FIG. 10.

以上の図10、図11の処理により、CM201の各通信ポートについて、サーバ側の通信ポート(HBA)からのI/O要求に応じたI/O処理に対するリソースの割り当てが、CM201の通信ポートの使用状況に応じて適応的に制御される。また、リソースの割り当て量とI/O負荷の検出値とに基づいて、通信ポートとHBAとの組み合わせで表される伝送路ごとにI/O処理の処理能力が更新される。 By the above processing of Fig. 10 and Fig. 11, for each communication port of CM201, the allocation of resources to I/O processing in response to I/O requests from the communication port (HBA) on the server side is adaptively controlled according to the usage status of the communication port of CM201. In addition, based on the amount of resource allocation and the detected value of the I/O load, the processing capacity of I/O processing is updated for each transmission path represented by the combination of the communication port and HBA.

なお、図示しないが、性能管理テーブル221は、I/O要求の受信に関係なく、CM201の通信ポートごとにステップS27の性能情報更新処理を一定時間間隔で実行する。これにより、性能管理テーブル221の性能情報は定期的に更新される。 Although not shown, the performance management table 221 executes the performance information update process of step S27 at regular time intervals for each communication port of CM 201, regardless of whether an I/O request is received. This causes the performance information in the performance management table 221 to be updated periodically.

また、上記の図8~図11に関する記載ではCM201のリソース割り当て部231の処理について説明したが、CM202のリソース割り当て部231aも上記と同様の処理を実行する。ただし、リソース割り当て部231aはCM202の各通信ポートについて上記処理を実行する。 In addition, in the description of Figures 8 to 11 above, the processing of the resource allocation unit 231 of CM 201 is explained, but the resource allocation unit 231a of CM 202 also executes the same processing as above. However, the resource allocation unit 231a executes the above processing for each communication port of CM 202.

図12は、CMの性能管理テーブルの構成例を示す図である。図12ではCM201の性能管理テーブル221を例示するが、CM202の性能管理テーブル221aも図12と同様のデータ構成を有する。 Figure 12 is a diagram showing an example of the configuration of a CM performance management table. Figure 12 shows an example of the performance management table 221 of CM 201, but the performance management table 221a of CM 202 also has a similar data configuration to that of Figure 12.

図12に示すように、性能管理テーブル221には、サーバWWN(World Wide Name)とポート番号との組み合わせごとに、処理能力、I/O負荷、応答時間が対応付けて登録される。 As shown in FIG. 12, the performance management table 221 registers the processing capacity, I/O load, and response time for each combination of server WWN (World Wide Name) and port number.

サーバWWNは、接続先のサーバの通信ポート(HBA)を識別するための番号である。ポート番号は、CM201が備える通信ポートの識別番号を示す。図12の例では、同じポート番号にそれぞれ2つのサーバWWNが対応付けられており、これは例えば、図5のように各通信ポートに異なるサーバのHBAが接続されるケースを示している。 The server WWN is a number for identifying the communication port (HBA) of the connected server. The port number indicates the identification number of the communication port provided in CM 201. In the example of FIG. 12, two server WWNs are associated with the same port number, which indicates, for example, a case in which HBAs of different servers are connected to each communication port as in FIG. 5.

処理能力は、リソース割り当て量とI/O負荷とに基づいて算出される、対応するHBAからのI/O要求に応じたI/O処理に対する処理能力を示す。I/O負荷は、対応するHBAからのI/O要求によるI/O負荷の検出値を示す。応答時間は、処理能力とI/O負荷とに基づいて算出される、I/O要求に対する応答時間の推定値を示す。 The processing capacity indicates the processing capacity for I/O processing in response to an I/O request from the corresponding HBA, calculated based on the resource allocation amount and the I/O load. The I/O load indicates the detected value of the I/O load due to an I/O request from the corresponding HBA. The response time indicates the estimated value of the response time to an I/O request, calculated based on the processing capacity and the I/O load.

CM201のリソース割り当て部231は、サーバから性能情報の通知要求を受信すると、性能管理テーブル221に登録された処理能力、I/O負荷および応答時間をサーバに通知する。例えば図12において、サーバWWN「aaaa」のHBAからの通知要求をポート番号「0」の通信ポートが受信すると、サーバWWN「aaaa」およびポート番号「0」に対応付けられた処理能力「100%」、I/O負荷「100」、応答時間「10ms」が、サーバWWN「aaaa」のHBAに対して通知される。 When the resource allocation unit 231 of the CM 201 receives a request for notification of performance information from a server, it notifies the server of the processing capacity, I/O load, and response time registered in the performance management table 221. For example, in FIG. 12, when a communication port with port number "0" receives a notification request from an HBA of server WWN "aaaa", the processing capacity "100%", I/O load "100", and response time "10 ms" associated with server WWN "aaaa" and port number "0" are notified to the HBA of server WWN "aaaa".

次に、サーバ側の処理について説明する。
まず、図13は、サーバの性能管理テーブルの構成例を示す図である。図13に示すように、性能管理テーブル111には、サーバWWNとポート番号との組み合わせごとに、パス種別、パス状態、処理能力、I/O負荷、応答時間が対応付けて登録される。また、サーバに複数のストレージ装置が接続されている場合には、図13の例のように、サーバWWNとポート番号に加えてさらに、ストレージ装置を識別するストレージ番号が組み合わされる。
Next, the processing on the server side will be described.
First, Fig. 13 is a diagram showing an example of the configuration of a server performance management table. As shown in Fig. 13, the performance management table 111 registers the path type, path status, processing capacity, I/O load, and response time in association with each combination of server WWN and port number. Furthermore, when multiple storage devices are connected to a server, as in the example of Fig. 13, in addition to the server WWN and port number, a storage number that identifies the storage device is also combined.

サーバWWNは、性能管理テーブル111を記憶する自サーバが備える通信ポート(HBA)を識別するための番号である。ポート番号は、接続先のCMの通信ポートの識別番号を示す。図13の例では、サーバ「aaaa」「bbbb」「cccc」「dddd」に対応付けられたポート番号「0」~「3」と、サーバ「eeee」「ffff」「gggg」「hhhh」に対応付けられたポート番号「0」~「3」とは、それぞれ異なるCMのポート番号を示している。 The server WWN is a number for identifying a communication port (HBA) of the server that stores the performance management table 111. The port number indicates the identification number of the communication port of the connected CM. In the example of FIG. 13, the port numbers "0" to "3" associated with the servers "aaaa", "bbbb", "cccc", and "dddd", and the port numbers "0" to "3" associated with the servers "eeee", "ffff", "gggg", and "hhhh" each indicate the port numbers of different CMs.

パス種別は、サーバWWNが示すHBAからポート番号が示すCMの通信ポートへのアクセスパスが、アクティブパスとスタンバイパスのどちらとして使用されているかを示す。パス状態は、アクセスパスが使用可能な状態(Enable)か使用不能な状態(Disable)かを示す。 The path type indicates whether the access path from the HBA indicated by the server WWN to the communication port of the CM indicated by the port number is being used as an active path or a standby path. The path status indicates whether the access path is available (Enable) or unavailable (Disable).

処理能力、I/O負荷および応答時間の各項目には、対応するアクセスパスを介してCMから通知された情報が登録される。処理能力は、対応するアクセスパスを介したI/O要求に応じたI/O処理に対する処理能力を示す。I/O負荷は、対応するアクセスパスを介したI/O要求によるI/O負荷の検出値を示す。応答時間は、処理能力とI/O負荷とに基づいて算出された、I/O要求に対する応答時間の推定値を示す。 In each of the processing capacity, I/O load, and response time fields, information notified from the CM via the corresponding access path is registered. Processing capacity indicates the processing capacity for I/O processing in response to an I/O request via the corresponding access path. I/O load indicates the detected value of the I/O load due to an I/O request via the corresponding access path. Response time indicates an estimated value of the response time to an I/O request, calculated based on processing capacity and I/O load.

サーバのパス制御部122は、サーバがCMと接続した際、およびその後の一定時間間隔で、接続先のCMの通信ポートごとに性能情報の通知要求を出力する。パス制御部122は、通知要求に応じて通知された性能情報を性能管理テーブル111に上書きして登録する。 When the server connects to a CM, and at regular time intervals thereafter, the path control unit 122 of the server outputs a request for notification of performance information for each communication port of the connected CM. The path control unit 122 overwrites and registers the performance information notified in response to the notification request in the performance management table 111.

<第1構成例>
次に、第1構成例におけるサーバ100の処理について説明する。
図14は、正常時の状態の例を示す図である。図14では、アクティブパス内のすべての伝送路が正常に通信可能な状態になっている。この場合、サーバ100のパス制御部122は、データ領域211に対するI/O要求をアクティブパス内の各伝送路に均等に分配して送信する。
<First Configuration Example>
Next, the processing of the server 100 in the first configuration example will be described.
Fig. 14 is a diagram showing an example of a normal state. In Fig. 14, all transmission paths in the active path are in a state where communication is possible normally. In this case, the path control unit 122 of the server 100 distributes I/O requests to the data area 211 evenly to each transmission path in the active path and transmits them.

また、図14のテーブル111aは、サーバ100が保持する性能管理テーブル111の情報のうち、性能情報を抜き出して記載したものである。前述のように、アクティブパスは、サーバ100のHBA#0~#3からそれぞれCM#0のポート#0~#3に到達する伝送路を含み、スタンバイパスは、サーバ100のHBA#4~#7からそれぞれCM#1のポート#0~#3に到達する伝送路を含む。初期状態では、アクティブパスの各伝送路に100%の処理能力が割り当てられ、スタンバイパスの各伝送路に50%の処理能力が割り当てられる。 Table 111a in FIG. 14 shows performance information extracted from the information in performance management table 111 held by server 100. As described above, the active path includes transmission paths from HBAs #0 to #3 of server 100 to ports #0 to #3 of CM #0, respectively, and the standby path includes transmission paths from HBAs #4 to #7 of server 100 to ports #0 to #3 of CM #1, respectively. In the initial state, 100% of the processing capacity is assigned to each transmission path of the active path, and 50% of the processing capacity is assigned to each transmission path of the standby path.

また、図14の例では、アクティブパスの各伝送路に100%の処理能力が割り当てられた状態で、I/O負荷(例えば、単位時間におけるI/O要求の発行数)を示す指標が「100」である場合、I/O要求に対する応答時間が10msになるものとする。10msは、応答時間の上限値(最高性能)であるものとする。 In the example of FIG. 14, when 100% processing capacity is assigned to each transmission line of the active path, and the index indicating the I/O load (e.g., the number of I/O requests issued per unit time) is "100", the response time to an I/O request will be 10 ms. 10 ms is the upper limit of the response time (maximum performance).

図15は、アクティブパスに障害が発生した状態の第1の例を示す図である。この図15では例として、図14の状態から、サーバ100のHBA#0,#1からそれぞれCM#0のポート#0,#1に到達する2つの伝送路に障害が発生し、この伝送路が使用不能になったとする。この場合、サーバ100のパス制御部122は、障害発生前における性能情報に基づき、アクティブパス内の生存している残りの伝送路だけを使用してI/O要求を送信した場合と、それに加えてスタンバイパス内の伝送路も使用してI/O要求を送信した場合と両方についてのI/O性能(応答時間)を推定する。 Figure 15 is a diagram showing a first example of a state in which a failure has occurred in an active path. In this figure, as an example, let us assume that, in the state of Figure 14, failures have occurred in two transmission paths from HBA #0 and #1 of server 100 to ports #0 and #1 of CM #0, respectively, and these transmission paths have become unusable. In this case, based on performance information before the failure occurred, the path control unit 122 of server 100 estimates I/O performance (response time) for both cases in which an I/O request is sent using only the remaining surviving transmission paths in the active path, and in which an I/O request is sent using the transmission paths in the standby path in addition to the remaining surviving transmission paths.

図15のテーブル111b1は、アクティブパス内の残りの伝送路だけを使用した場合の性能情報の推定値を示す。この場合、パス制御部122は、アクティブパス内の4つの伝送路を使用して送信していたI/O要求を、HBA#2,#3からの2つの伝送路に均等に分配する。この場合、残りの2つの伝送路それぞれにおけるI/O負荷が2倍になるため、応答時間も2倍になると推定される。すなわち、各伝送路のI/O負荷の指標は「200」となり、応答時間は20msとなる。 Table 111b1 in FIG. 15 shows estimated values of performance information when only the remaining transmission paths in the active path are used. In this case, the path control unit 122 distributes I/O requests that were previously sent using the four transmission paths in the active path evenly to the two transmission paths from HBA #2 and #3. In this case, the I/O load on each of the two remaining transmission paths doubles, and it is estimated that the response time will also double. In other words, the I/O load index for each transmission path will be "200", and the response time will be 20 ms.

一方、図15のテーブル111b2は、アクティブパス内の残りの伝送路に加えてスタンバイパスの伝送路も使用した場合の性能情報の推定値を示す。この場合、パス制御部122は、アクティブパス内の残りの伝送路とスタンバイパスの伝送路のそれぞれに対して、I/O性能(応答時間)が均等になるようにI/O要求を分配する。 On the other hand, table 111b2 in FIG. 15 shows estimated values of performance information when the standby path transmission path is used in addition to the remaining transmission paths in the active path. In this case, the path control unit 122 distributes I/O requests to the remaining transmission paths in the active path and the standby path transmission paths so that the I/O performance (response time) is equalized.

スタンバイパスの各伝送路には50%の処理能力が割り当てられているので、スタンバイパスの各伝送路におけるI/O負荷(I/O要求の発行数)がアクティブパスの各伝送路の1/2になるようにすれば、各伝送路の応答時間が均等になると推定される。この条件はテーブル111b2に示すように、アクティブパスの各伝送路のI/O負荷を「100」とし、スタンバイパスの各伝送路のI/O負荷を「50」とすることで満たされる。このとき、いずれの伝送路でも応答時間が10msになると推定される。 Since each transmission line of the standby path is assigned 50% of the processing capacity, it is estimated that the response time of each transmission line will be equalized if the I/O load (number of I/O requests issued) on each transmission line of the standby path is set to half that of each transmission line of the active path. This condition is met by setting the I/O load of each transmission line of the active path to "100" and the I/O load of each transmission line of the standby path to "50", as shown in table 111b2. In this case, it is estimated that the response time on each transmission line will be 10 ms.

ここで、アクティブパスでの応答時間の上限閾値(許容限界値)が20msに設定されているとする。この場合、アクティブパスの残りの伝送路だけを使用した場合でも、応答時間は上限閾値を超えない。このことから、パス制御部122は、スタンバイパスを使用する必要はないと判断し、データ領域211に対するI/O要求をアクティブパスの残りの伝送路に均等に分配して送信する。 Here, assume that the upper threshold (tolerable limit) of the response time on the active path is set to 20 ms. In this case, even if only the remaining transmission paths of the active path are used, the response time will not exceed the upper threshold. For this reason, the path control unit 122 determines that there is no need to use the standby path, and distributes I/O requests to the data area 211 evenly across the remaining transmission paths of the active path.

図16は、アクティブパスに障害が発生した状態の第2の例を示す図である。この図16では例として、図15でアクティブパス内の残りの伝送路だけを使用して通信が行われた状態から、さらにサーバ100のHBA#2からそれぞれCM#0のポート#2に到達する伝送路に障害が発生し、この伝送路が使用不能になったとする。この場合、サーバ100のパス制御部122は、障害発生前における性能情報に基づき、アクティブパス内の生存している残りの伝送路だけを使用してI/O要求を送信した場合と、それに加えてスタンバイパス内の伝送路も使用してI/O要求を送信した場合の両方についてのI/O性能(応答時間)を推定する。 Figure 16 is a diagram showing a second example of a state in which a failure has occurred in an active path. In this example, assume that in the state shown in Figure 15 where communication is performed using only the remaining transmission paths in the active path, a failure occurs in the transmission path from HBA #2 of server 100 to port #2 of CM #0, causing this transmission path to become unusable. In this case, based on performance information before the failure, the path control unit 122 of server 100 estimates I/O performance (response time) for both cases in which an I/O request is sent using only the remaining surviving transmission paths in the active path, and in which an I/O request is sent using the transmission paths in the standby path in addition to the remaining surviving transmission paths.

図16のテーブル111c1は、アクティブパス内の残りの伝送路だけを使用した場合の性能情報の推定値を示す。この場合、パス制御部122は、アクティブパス内の2つの伝送路を使用して送信していたI/O要求を、HBA#3からの1つの伝送路だけを使用して送信する。この場合、図15のテーブル111b1の状態と比較して残り1つの伝送路におけるI/O負荷が2倍になるため、応答時間も2倍になると推定される。すなわち、各伝送路のI/O負荷の指標は「400」となり、応答時間は40msとなって、上限閾値である20msを超えてしまう。 Table 111c1 in FIG. 16 shows estimated values of performance information when only the remaining transmission paths in the active path are used. In this case, the path control unit 122 transmits an I/O request that was previously transmitted using two transmission paths in the active path using only one transmission path from HBA #3. In this case, the I/O load on the remaining transmission path is doubled compared to the state of table 111b1 in FIG. 15, so it is estimated that the response time will also double. In other words, the I/O load index for each transmission path is "400", and the response time is 40 ms, exceeding the upper threshold of 20 ms.

一方、図16のテーブル111c2は、アクティブパス内の残りの伝送路に加えてスタンバイパスの伝送路も使用した場合の性能情報の推定値を示す。この場合、パス制御部122は、アクティブパス内の残りの伝送路とスタンバイパスの伝送路のそれぞれに対して、I/O性能(応答時間)が均等になるようにI/O要求を分配する。 On the other hand, table 111c2 in FIG. 16 shows estimated values of performance information when the standby path transmission path is used in addition to the remaining transmission paths in the active path. In this case, the path control unit 122 distributes I/O requests to the remaining transmission paths in the active path and the standby path transmission paths so that the I/O performance (response time) is equalized.

前述のように、スタンバイパスの各伝送路には50%の処理能力が割り当てられているので、スタンバイパスの各伝送路におけるI/O負荷がアクティブパスの各伝送路の1/2になるようにすれば、各伝送路の応答時間が均等になると推定される。この条件はテーブル111c2に示すように、アクティブパスの伝送路のI/O負荷を「133」とし、スタンバイパスの各伝送路のI/O負荷を「67」とすることで満たされる。このとき、いずれの伝送路でも応答時間が13msになると推定される。 As mentioned above, each transmission line of the standby path is assigned 50% of the processing capacity, so if the I/O load on each transmission line of the standby path is set to half that of each transmission line of the active path, it is estimated that the response time of each transmission line will be equal. As shown in table 111c2, this condition is met by setting the I/O load of the transmission line of the active path to "133" and the I/O load of each transmission line of the standby path to "67". In this case, it is estimated that the response time for each transmission line will be 13 ms.

このように、アクティブパスの伝送路における応答時間は、アクティブパスの残りの伝送路だけを使用した場合と比較して短縮されるので、パス制御部122は、スタンバイパスを使用した方がよいと判断する。パス制御部122は、データ領域211に対するI/O要求を、アクティブパスの残り1つの伝送路のI/O負荷が「133」となり、スタンバイパスの各伝送路のI/O負荷が「67」となるように分配して送信する。 In this way, the response time on the transmission path of the active path is shortened compared to when only the remaining transmission path of the active path is used, so the path control unit 122 determines that it is better to use the standby path. The path control unit 122 distributes and transmits I/O requests to the data area 211 so that the I/O load on the remaining transmission path of the active path is "133" and the I/O load on each transmission path of the standby path is "67".

図17は、アクティブパスに障害が発生した状態の第3の例を示す図である。上記の図14~図16では、データ領域211に対するアクセスパス全体で合計「400」という比較的大きなI/O負荷がかかっていた。このような場合には、図16に示したようにアクティブパス内の多くの伝送路が使用不能になった場合、スタンバイパスを併用する必要性が高いと判定される。しかし、アクセスパス全体のI/O負荷がより小さい場合には、アクティブパス内の多くの伝送路が使用不能になっても、スタンバイパスを使用せずにアクティブパスの残りの伝送路だけを使用しても、I/O性能を許容値以上に保持することができる場合がある。 Figure 17 shows a third example of a state in which a failure has occurred in an active path. In Figures 14 to 16 above, a relatively large I/O load of "400" was applied to all access paths to the data area 211. In such a case, when many transmission paths in the active path become unusable as shown in Figure 16, it is determined that there is a high need to also use a standby path. However, when the I/O load of the entire access path is smaller, even if many transmission paths in the active path become unusable, it may be possible to maintain I/O performance at or above the allowable value by using only the remaining transmission paths of the active path without using the standby path.

図17ではテーブル111d1に示すように、アクティブパス内のすべての伝送路が正常であるとき、各伝送路のI/O負荷が「25」であったとする。この状態では、各伝送路での応答時間は最大性能に対応する10msとなる。この状態から、サーバ100のHBA#0~#2からそれぞれCM#0のポート#0~#2に到達する3つの伝送路に障害が発生し、この伝送路が使用不能になったとする。この場合、サーバ100のパス制御部122は、障害発生前における性能情報に基づき、アクティブパス内の生存している残り1つの伝送路だけを使用してI/O要求を送信した場合と、それに加えてスタンバイパス内の伝送路も使用してI/O要求を送信した場合と両方についてのI/O性能(応答時間)を推定する。 As shown in table 111d1 in FIG. 17, when all transmission paths in the active path are normal, the I/O load of each transmission path is "25". In this state, the response time of each transmission path is 10 ms, which corresponds to the maximum performance. From this state, it is assumed that a failure occurs in three transmission paths that reach ports #0-#2 of CM#0 from HBA#0-#2 of server 100, respectively, and these transmission paths become unusable. In this case, the path control unit 122 of server 100 estimates the I/O performance (response time) for both cases, based on the performance information before the failure, when an I/O request is sent using only the remaining surviving transmission path in the active path, and when an I/O request is sent using the transmission path in the standby path in addition to the one remaining surviving transmission path.

図17のテーブル111d2は、アクティブパス内の残り1つの伝送路だけを使用した場合の性能情報の推定値を示す。この場合、パス制御部122は、アクティブパス内の4つの伝送路を使用して送信していたI/O要求を、HBA#3からの1つの伝送路だけを使用して送信する。この場合、テーブル111d1の状態と比較して残り1つの伝送路におけるI/O負荷が4倍の「100」になるが、この状態では応答時間は10msに維持され、上限閾値である20msを超えない。このため、パス制御部122は、スタンバイパスを使用する必要はないと判断し、データ領域211に対するI/O要求をアクティブパスの残り1つの伝送路だけを使用して送信する。 Table 111d2 in FIG. 17 shows estimated values of performance information when only the one remaining transmission path in the active path is used. In this case, the path control unit 122 transmits I/O requests that were previously sent using the four transmission paths in the active path using only the one transmission path from HBA#3. In this case, the I/O load on the remaining transmission path becomes four times larger, or "100," than in the state of table 111d1, but in this state the response time is maintained at 10 ms and does not exceed the upper threshold of 20 ms. For this reason, the path control unit 122 determines that it is not necessary to use the standby path, and transmits I/O requests to the data area 211 using only the one remaining transmission path of the active path.

以上のように、サーバは、アクティブパスの伝送路が使用不能になった場合には、アクティブパス内の残りの伝送路だけでなくスタンバイパスも使用することで、スタンバイパスを有効利用しつつ、I/O性能の低下を抑制することができる。ここで、スタンバイパスを使用するケースは、アクティブパス内の残りの伝送路だけを使用した場合に各伝送路のI/O負荷が上限閾値を超えた場合に限定される。このため、予備のアクセスパスであるスタンバイパスを必要性の高い場合にのみ使用して、I/O要求を送信することができる。また、アクティブパス内の残りの伝送路だけを使用する方法と、スタンバイパスも使用する方法の両方について伝送路のI/O負荷が推定され、I/O負荷が低くなる方法が選択される。これにより、I/O性能を改善できる場合のみスタンバイパスが使用されるようになり、スタンバイパスの無駄な使用を回避できる。 As described above, when the transmission path of the active path becomes unavailable, the server can effectively use the standby path and suppress the degradation of I/O performance by using not only the remaining transmission paths in the active path but also the standby path. Here, the case where the standby path is used is limited to the case where the I/O load of each transmission path exceeds the upper threshold when only the remaining transmission paths in the active path are used. Therefore, the standby path, which is a spare access path, can be used only when it is highly necessary to send an I/O request. In addition, the I/O load of the transmission path is estimated for both the method of using only the remaining transmission paths in the active path and the method of using the standby path as well, and the method that reduces the I/O load is selected. As a result, the standby path is used only when it is possible to improve I/O performance, and unnecessary use of the standby path can be avoided.

このような処理により、伝送路の利用効率が向上し、システム全体のI/O性能をバランスよく維持することが可能になる。そして、このような効果を、アクセスパスの構成を変更することなく、パス選択制御用のソフトウェアを変更するだけで実現することができる。 This type of processing improves the efficiency of transmission path utilization and makes it possible to maintain a balanced I/O performance for the entire system. This effect can be achieved simply by modifying the software used to control path selection, without changing the access path configuration.

<第2構成例>
次に、第2構成例におけるサーバ#0,#1(サーバ100a,100b)の処理について説明する。
<Second Configuration Example>
Next, the processing of the servers #0 and #1 (servers 100a and 100b) in the second configuration example will be described.

図18は、正常時の状態の例を示す図である。図18では、サーバ#0,#1のいずれについてもアクティブパス内のすべての伝送路が正常に通信可能な状態になっている。この場合、サーバ#0のパス制御部122は、データ領域212に対するI/O要求を対応するアクティブパス内の各伝送路に均等に分配して送信する。また、サーバ#1のパス制御部122は、データ領域213に対するI/O要求を対応するアクティブパス内の各伝送路に均等に分配して送信する。 Figure 18 is a diagram showing an example of a normal state. In Figure 18, all transmission paths in the active paths for both servers #0 and #1 are in a state where communication is possible normally. In this case, the path control unit 122 of server #0 distributes I/O requests for data area 212 evenly to each transmission path in the corresponding active path and sends them. Also, the path control unit 122 of server #1 distributes I/O requests for data area 213 evenly to each transmission path in the corresponding active path and sends them.

また、図18のテーブル111eは、サーバ#0,#1が保持する性能管理テーブル111の情報のうち、性能情報を抜き出して記載したものである。前述のように、サーバ#0のアクティブパスは、サーバ#0のHBA#0,#1からそれぞれCM#0のポート#0,#1に到達する伝送路を含む。また、サーバ#0のスタンバイパスは、サーバ#0のHBA#2,#3からそれぞれCM#1のポート#0,#1に到達する伝送路を含む。一方、サーバ#1のアクティブパスは、サーバ#1のHBA#0,#1からそれぞれCM#1のポート#0,#1に到達する伝送路を含む。また、サーバ#1のスタンバイパスは、サーバ#1のHBA#2,#3からそれぞれCM#0のポート#0,#1に到達する伝送路を含む。初期状態では、アクティブパスの各伝送路に100%の処理能力が割り当てられ、スタンバイパスの各伝送路に50%の処理能力が割り当てられる。 Table 111e in FIG. 18 shows performance information extracted from the information in the performance management table 111 held by servers #0 and #1. As described above, the active path of server #0 includes the transmission paths from HBA #0 and #1 of server #0 to ports #0 and #1 of CM #0. The standby path of server #0 includes the transmission paths from HBA #2 and #3 of server #0 to ports #0 and #1 of CM #1. On the other hand, the active path of server #1 includes the transmission paths from HBA #0 and #1 of server #1 to ports #0 and #1 of CM #1. The standby path of server #1 includes the transmission paths from HBA #2 and #3 of server #1 to ports #0 and #1 of CM #0. In the initial state, 100% of the processing capacity is assigned to each transmission path of the active path, and 50% of the processing capacity is assigned to each transmission path of the standby path.

また、図18の例では、アクティブパスの各伝送路に100%の処理能力が割り当てられた状態で、I/O負荷を示す指標が「100」である場合、I/O要求に対する応答時間が10msになるものとする。10msは、応答時間の上限値(最高性能)であるものとする。 In the example of FIG. 18, when 100% of the processing capacity is assigned to each transmission line of the active path and the index indicating the I/O load is "100", the response time to an I/O request will be 10 ms. 10 ms is the upper limit of the response time (maximum performance).

図19は、アクティブパスに障害が発生した状態の第4の例を示す図である。この図19では例として、図18の状態から、サーバ#0のHBA#0からCM#0のポート#0に到達する伝送路に障害が発生し、この伝送路が使用不能になったとする。この場合、サーバ#0のパス制御部122は、障害発生前における性能情報に基づき、アクティブパス内の生存している残り1つの伝送路だけを使用してI/O要求を送信した場合と、それに加えてスタンバイパス内の伝送路も使用してI/O要求を送信した場合の両方についてのI/O性能(応答時間)を推定する。 Figure 19 is a diagram showing a fourth example of a state in which a failure has occurred in an active path. In this example, in the state of Figure 19, let us assume that a failure has occurred in the transmission path from HBA #0 of server #0 to port #0 of CM #0 in the state of Figure 18, causing this transmission path to become unusable. In this case, the path control unit 122 of server #0 estimates the I/O performance (response time) based on the performance information before the failure occurred for both cases in which an I/O request is sent using only the one remaining surviving transmission path in the active path, and in which an I/O request is sent using the transmission path in the standby path in addition to the one remaining surviving transmission path.

図19のテーブル111fは、サーバ#0のアクティブパス内の残り1つの伝送路だけを使用した場合の性能情報の推定値を示す。この場合、残り1つの伝送路におけるI/O負荷が2倍になるため、応答時間も2倍になると推定される。すなわち、残り1つの伝送路のI/O負荷の指標は「200」となり、応答時間は20msとなる。 Table 111f in Figure 19 shows the estimated performance information when only the one remaining transmission path in the active path of server #0 is used. In this case, the I/O load on the remaining transmission path doubles, so it is estimated that the response time will also double. In other words, the I/O load index for the remaining transmission path will be "200", and the response time will be 20 ms.

ここで、サーバ#0のアクティブパスでの応答時間の上限閾値(許容限界値)が20msに設定されているとする。この場合、テーブル111fに示すように、アクティブパスの残りの伝送路だけを使用した場合でも応答時間は上限閾値を超えない。このため、サーバ#0のパス制御部122は、スタンバイパスを使用する必要はないと判断し、データ領域212に対するI/O要求をアクティブパスの残り1つの伝送路に送信する。 Let us now assume that the upper threshold (tolerable limit) of the response time on the active path of server #0 is set to 20 ms. In this case, as shown in table 111f, the response time will not exceed the upper threshold even if only the remaining transmission path of the active path is used. For this reason, the path control unit 122 of server #0 determines that there is no need to use the standby path, and sends an I/O request for the data area 212 to the one remaining transmission path of the active path.

図20は、アクティブパスに障害が発生した状態の第5の例を示す図である。この図20では例として、図19でサーバ#0のアクティブパス内の残り1つの伝送路だけを使用して通信が行われた状態から、さらにサーバ#0のHBA#1からCM#0のポート#1に到達する伝送路に障害が発生し、この伝送路が使用不能になったとする。この場合、サーバ#0のパス制御部122は、アクティブパス内のすべての伝送路が使用不能であることから、データ領域212に対するI/O要求をスタンバイパスの各伝送路に均等に分配して送信する。このとき、スタンバイパスの各伝送路のI/O負荷がともに「100」となる。 Figure 20 is a diagram showing a fifth example of a state in which a failure has occurred in an active path. In this example, assume that in Figure 19, communication was performed using only the one remaining transmission path in the active path of server #0, and then a failure occurred in the transmission path from HBA #1 of server #0 to port #1 of CM #0, rendering this transmission path unusable. In this case, since all transmission paths in the active path are unusable, the path control unit 122 of server #0 distributes I/O requests to the data area 212 evenly to each transmission path of the standby paths and sends them. At this time, the I/O load of each transmission path of the standby paths is "100".

これにより、CM#1のポート#0,#1は、サーバ#1のアクティブパスだけでなく、サーバ#0のスタンバイパスにも使用される状態となる。すると、CM#1のリソース割り当て部231aによる処理能力の割り当ては次のように変化する。すなわち、サーバ#1のアクティブパスに100%の処理能力を割り当てた状態から、サーバ#1のアクティブパスに50%の処理能力を割り当て、サーバ#0のスタンバイパスに25%の処理能力を割り当てる状態に変化する。 As a result, ports #0 and #1 of CM #1 are used not only for the active path of server #1, but also for the standby path of server #0. This causes the allocation of processing power by the resource allocation unit 231a of CM #1 to change as follows. That is, the allocation changes from a state in which 100% of processing power is allocated to the active path of server #1 to a state in which 50% of processing power is allocated to the active path of server #1 and 25% of processing power is allocated to the standby path of server #0.

このような割り当て量の変化により、図20のテーブル111gに示すように、サーバ#0のスタンバイパス内の各伝送路における応答時間は80msとなる。また、サーバ#1のアクティブパス内の各伝送路における応答時間は20msとなり、I/O性能が低下する。 As a result of this change in allocation amount, as shown in table 111g in FIG. 20, the response time for each transmission line in the standby path of server #0 becomes 80 ms. Also, the response time for each transmission line in the active path of server #1 becomes 20 ms, resulting in a decrease in I/O performance.

サーバ#1のパス制御部122は、CM#1からの定期的な性能情報の取得により、上記のようにアクティブパスの各伝送路に対する処理能力の割り当て量が小さくなり、I/O性能が低下したことを認識する。ここで、サーバ#1のアクティブパスでの応答時間の上限閾値(許容限界値)が15msに設定されているとする。この場合、処理能力の割り当て量の縮小により、アクティブパス内の各伝送路における応答時間が上限閾値を超えた状態となる。サーバ#1のパス制御部122は、このことを判定すると、取得した変更後の性能情報に基づき、アクティブパスに加えてスタンバイパス内の伝送路も使用してI/O要求を送信した場合のI/O性能(応答時間)を推定する。 By periodically acquiring performance information from CM #1, the path control unit 122 of server #1 recognizes that the amount of processing capacity allocated to each transmission line of the active path has become smaller as described above, causing a decline in I/O performance. Here, assume that the upper threshold (tolerable limit value) of the response time for the active path of server #1 is set to 15 ms. In this case, the reduction in the amount of processing capacity allocated causes the response time for each transmission line in the active path to exceed the upper threshold. When the path control unit 122 of server #1 determines this, it estimates the I/O performance (response time) when an I/O request is sent using the transmission lines in the standby path in addition to the active path, based on the acquired changed performance information.

図21は、アクティブパスとスタンバイパスとを併用した場合の性能情報の推定値を示す図である。CMからの定期的な性能情報の取得に応じてスタンバイパスも併用する場合、サーバ#1のパス制御部122は、スタンバイパスの各伝送路に処理能力の上限までI/O要求を分配する。 Figure 21 shows estimated values of performance information when active paths and standby paths are used in combination. When standby paths are also used in combination in response to periodic acquisition of performance information from the CM, the path control unit 122 of server #1 distributes I/O requests to each transmission path of the standby paths up to the upper limit of their processing capabilities.

図21のテーブル111h1に示すように、スタンバイパスの各伝送路には50%の処理能力が割り当てられているので、各伝送路のI/O負荷が「50」となるようにI/O要求を分配すれば、各伝送路での応答時間が最短の10msになると推定される。このとき、アクティブパスの各伝送路でのI/O負荷を「50」まで低下させることができ、これによって各伝送路での応答時間を上限閾値以下の10msに短縮することができる。したがって、サーバ#1のパス制御部122は、スタンバイパスも使用した方がよいと判断し、データ領域213に対するI/O要求を、アクティブパスおよびスタンバイパスの各伝送路のI/O負荷が「50」となるように分配して送信する。 As shown in table 111h1 in FIG. 21, 50% of the processing capacity is assigned to each transmission line of the standby path, so if I/O requests are distributed so that the I/O load of each transmission line is "50", it is estimated that the response time on each transmission line will be the shortest, 10 ms. At this time, the I/O load on each transmission line of the active path can be reduced to "50", thereby shortening the response time on each transmission line to 10 ms, which is below the upper threshold. Therefore, the path control unit 122 of server #1 determines that it is better to also use the standby path, and distributes and sends I/O requests to the data area 213 so that the I/O load on each transmission line of the active path and standby path is "50".

以上の第2構成例のように、CMの同一通信ポートがアクティブパスにもスタンバイパスにも使用されている場合、アクティブパスのすべての伝送路が生存している状態でも、スタンバイパスの使用状況によってアクティブパスのI/O性能が許容値より低下する場合がある。テーブル111h1に示したように、サーバは、アクティブパスがすべて生存している状態でも、I/O性能が許容値より低下した場合にはスタンバイパスも使用してI/O要求を送信することで、I/O性能を回復させることができる。 As in the second configuration example above, when the same communication port of a CM is used for both the active path and the standby path, even if all transmission paths of the active path are alive, the I/O performance of the active path may fall below the allowable value depending on the usage status of the standby path. As shown in table 111h1, even if all active paths are alive, if the I/O performance falls below the allowable value, the server can recover the I/O performance by sending an I/O request using the standby path as well.

ところで、CM#1のリソース割り当て部231aは、サーバ#1のアクティブパスにおけるI/O負荷が低下したことを検知すると、このアクティブパスの各伝送路での処理能力と、同じ通信ポートを使用するサーバ#0のスタンバイパスの各伝送路での処理能力の割り当て比率を再計算する。この再計算により、図21のテーブル111h2に示すように、サーバ#1のアクティブパスの各伝送路には33%の処理能力が割り当てられ、サーバ#0のスタンバイパスの各伝送路には33%の処理能力が割り当てられることになる。これにより、サーバ#0のスタンバイパスでの応答時間は60msに短縮され、I/O性能が高まる。 When the resource allocation unit 231a of CM #1 detects that the I/O load on the active path of server #1 has decreased, it recalculates the allocation ratio between the processing capacity of each transmission line of this active path and the processing capacity of each transmission line of the standby path of server #0, which uses the same communication port. As a result of this recalculation, as shown in table 111h2 in FIG. 21, 33% of the processing capacity is allocated to each transmission line of the active path of server #1, and 33% of the processing capacity is allocated to each transmission line of the standby path of server #0. As a result, the response time on the standby path of server #0 is reduced to 60 ms, and I/O performance is improved.

このように、サーバ#1のアクティブパスでのI/O性能を回復させるために当該パスでのI/O負荷を小さくすると、結果的に、CM側で同じ通信パスを使用するサーバ#0のスタンバイパスでのI/O性能も向上させることができる場合がある。すなわち、伝送路が使用不能になった場合だけでなく、恒常的にI/O性能を監視し、著しく低下した場合にはスタンバイパスも利用してI/O要求を送信するようにすることで、伝送路の利用効率が向上し、システム全体のI/O性能をバランスよく維持することが可能になる。 In this way, reducing the I/O load on the active path of server #1 in order to recover the I/O performance on that path may result in improved I/O performance on the standby path of server #0, which uses the same communication path on the CM side. In other words, by constantly monitoring I/O performance, not just when the transmission path becomes unavailable, and sending I/O requests using the standby path if there is a significant drop in performance, the utilization efficiency of the transmission path is improved, making it possible to maintain a balanced I/O performance for the entire system.

なお、テーブル111h2の状態ではサーバ#1のアクティブパスでの応答時間は15msに悪化する。この例では応答時間が上限閾値以下に収まっているが、仮に当該パスでの応答時間が上限閾値を超えた場合には、サーバ#1のパス制御部122は、更新された処理能力に基づいてI/O負荷の配分を見直す。このようにして個々の伝送路でのI/O性能が適宜最適化されていく。 In the state of table 111h2, the response time on the active path of server #1 deteriorates to 15 ms. In this example, the response time is below the upper threshold, but if the response time on that path exceeds the upper threshold, the path control unit 122 of server #1 redistributes the I/O load based on the updated processing capacity. In this way, the I/O performance on each transmission path is optimized as appropriate.

次に、サーバの処理についてフローチャートを用いて説明する。
図22は、障害発生時のパス選択処理を示すフローチャートの例である。
[ステップS41]サーバのパス制御部122は、HBAに接続する伝送路の障害発生を検出する。すると、ステップS42以降の処理が実行される。
Next, the process of the server will be described with reference to a flowchart.
FIG. 22 is an example of a flowchart showing a path selection process when a failure occurs.
[Step S41] The path control unit 122 of the server detects the occurrence of a fault in the transmission path connected to the HBA. Then, the process proceeds to step S42 and subsequent steps.

[ステップS42]パス制御部122は、アクティブパスに含まれる伝送路の中に生存している(Enableである)伝送路があるかを判定する。生存している伝送路がある場合、処理がステップS43に進められ、生存している伝送路がない場合、処理がステップS48に進められる。 [Step S42] The path control unit 122 determines whether any of the transmission paths included in the active path are alive (enabled). If any of the transmission paths are alive, the process proceeds to step S43. If no of the transmission paths are alive, the process proceeds to step S48.

[ステップS43]パス制御部122は、性能管理テーブル111を参照し、アクティブパス内の生存している伝送路にI/O要求を均等に分配した場合(I/O負荷を均等にした場合)における各伝送路の応答時間Taを算出する。 [Step S43] The path control unit 122 refers to the performance management table 111 and calculates the response time Ta of each transmission path when I/O requests are evenly distributed to the surviving transmission paths in the active path (when the I/O load is evenly distributed).

[ステップS44]パス制御部122は、算出された応答時間Taが、あらかじめ決められた上限閾値以下であるかを判定する。応答時間Taが上限閾値以下である場合、処理がステップS47に進められ、応答時間Taが上限閾値を超える場合、処理がステップS45に進められる。 [Step S44] The path control unit 122 determines whether the calculated response time Ta is equal to or less than a predetermined upper threshold. If the response time Ta is equal to or less than the upper threshold, the process proceeds to step S47. If the response time Ta exceeds the upper threshold, the process proceeds to step S45.

[ステップS45]パス制御部122は、性能管理テーブル111を参照し、アクティブパス内の生存している伝送路とスタンバイパス内の生存している伝送路のそれぞれにおける応答時間が均等になるように、I/O要求を分配した場合の各伝送路の応答時間Tbを算出する。 [Step S45] The path control unit 122 refers to the performance management table 111 and calculates the response time Tb of each transmission path when I/O requests are distributed so that the response times of the surviving transmission paths in the active path and the surviving transmission paths in the standby path are equal.

[ステップS46]パス制御部122は、算出された応答時間Tbが応答時間Ta以下であるかを判定する。応答時間Tbが応答時間Ta以下である場合、処理がステップS47に進められ、応答時間Tbが応答時間Taより長い場合、処理がステップS48に進められる。 [Step S46] The path control unit 122 determines whether the calculated response time Tb is equal to or less than the response time Ta. If the response time Tb is equal to or less than the response time Ta, the process proceeds to step S47. If the response time Tb is longer than the response time Ta, the process proceeds to step S48.

[ステップS47]パス制御部122は、アクティブパス内の生存している伝送路のそれぞれに対して、I/O要求を均等に振り分ける。
[ステップS48]パス制御部122は、アクティブパス内の生存している伝送路とスタンバイパス内の生存している伝送路のそれぞれに対して、各伝送路での応答時間が均等になるようにI/O要求を振り分ける。
[Step S47] The path control unit 122 distributes I/O requests evenly among the surviving transmission paths in the active path.
[Step S48] The path control unit 122 distributes I/O requests between surviving transmission lines in the active path and surviving transmission lines in the standby path so that the response times of the respective transmission lines are equal.

図23は、性能情報取得時のパス選択処理を示すフローチャートの例である。図23の処理は、一定時間間隔で繰り返し実行される。
[ステップS51]サーバのパス制御部122は、1つのデータ領域に対応するアクティブパスおよびスタンバイパスの各伝送路についての性能情報を通知するように、各伝送路における接続先のCMに要求する。CMからはこの要求に応じて性能情報が通知され、パス制御部122は、この性能情報を取得すると、性能管理テーブル111に上書きして登録する。
23 is an example of a flowchart showing a path selection process when performance information is acquired. The process in FIG. 23 is repeatedly executed at regular time intervals.
[Step S51] The path control unit 122 of the server requests the CM connected to each transmission path to notify it of performance information about each transmission path of the active path and the standby path corresponding to one data area. In response to this request, the CM notifies it of the performance information, and when the path control unit 122 acquires this performance information, it overwrites it in the performance management table 111 and registers it.

[ステップS52]パス制御部122は、アクティブパスに含まれる伝送路の中に生存している伝送路があるかを判定する。生存している伝送路がある場合、処理がステップS53に進められ、生存している伝送路がない場合、図23の処理が終了する。 [Step S52] The path control unit 122 determines whether any of the transmission paths included in the active path are surviving. If any of the transmission paths are surviving, the process proceeds to step S53. If no surviving transmission paths are surviving, the process in FIG. 23 ends.

[ステップS53]パス制御部122は、アクティブパス内の生存している各伝送路のI/O負荷が過大かを判定する。具体的には、性能管理テーブル111に登録された該当伝送路のI/O負荷が所定の上限閾値を超える場合に、I/O負荷が過大と判定される。この上限閾値は、図22のステップS44で使用される値と同じでよい。I/O負荷が過大である場合、処理がステップS54に進められ、I/O負荷が過大でない場合、図23の処理が終了する。 [Step S53] The path control unit 122 determines whether the I/O load of each surviving transmission path in the active path is excessive. Specifically, if the I/O load of the transmission path registered in the performance management table 111 exceeds a predetermined upper threshold, the I/O load is determined to be excessive. This upper threshold may be the same as the value used in step S44 in FIG. 22. If the I/O load is excessive, processing proceeds to step S54; if the I/O load is not excessive, the processing in FIG. 23 ends.

[ステップS54]パス制御部122は、アクティブパス内の生存している伝送路とスタンバイパス内の生存している伝送路のそれぞれに対してI/O要求を振り分ける。このとき、パス制御部122は、スタンバイパスの各伝送路に対して処理能力の上限までI/O要求が振り分けられるように、分配比率を調整する。 [Step S54] The path control unit 122 distributes I/O requests to the surviving transmission paths in the active path and the surviving transmission paths in the standby path. At this time, the path control unit 122 adjusts the distribution ratio so that I/O requests are distributed to each transmission path of the standby path up to the upper limit of the processing capacity.

なお、他の例として、ステップS54では、図22のステップS48と同様に、アクティブパス内の生存している伝送路とスタンバイパス内の生存している伝送路のそれぞれに対して、各伝送路での応答時間が均等になるようにI/O要求が振り分けられてもよい。 As another example, in step S54, similar to step S48 in FIG. 22, I/O requests may be distributed to the surviving transmission paths in the active path and the surviving transmission paths in the standby path so that the response times for each transmission path are equal.

なお、上記の各実施の形態に示した装置(例えば、情報処理装置10、サーバ100,100a,100b、CM201,202)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc:BD、登録商標)などがある。 The processing functions of the devices (e.g., information processing device 10, servers 100, 100a, 100b, CMs 201, 202) shown in each of the above embodiments can be realized by a computer. In this case, a program describing the processing contents of the functions that each device should have is provided, and the above processing functions are realized on the computer by executing the program on a computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of computer-readable recording media include magnetic storage devices, optical disks, and semiconductor memories. Examples of magnetic storage devices include hard disk drives (HDDs) and magnetic tapes. Examples of optical disks include CDs (Compact Discs), DVDs (Digital Versatile Discs), and Blu-ray Discs (BD, registered trademark).

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CDなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。 When distributing a program, for example, portable recording media such as DVDs and CDs on which the program is recorded are sold. The program can also be stored in a storage device of a server computer, and the program can be transferred from the server computer to other computers via a network.

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。 A computer that executes a program stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. The computer then reads the program from its own storage device and executes processing according to the program. Note that the computer can also read a program directly from a portable recording medium and execute processing according to that program. The computer can also execute processing according to the received program each time a program is transferred from a server computer connected via a network.

1a,1b,2a,2b パス
3a 通信負荷
3b 処理能力
10 情報処理装置
11 通信部
12 処理部
20 ストレージ装置
21 記憶領域
P1~P4,P11~P14 パス
1a, 1b, 2a, 2b Path 3a Communication load 3b Processing capacity 10 Information processing device 11 Communication unit 12 Processing unit 20 Storage device 21 Storage area P1 to P4, P11 to P14 Path

Claims (7)

現用系の複数の第1パスと待機系の複数の第2パスとを介してストレージ装置に接続する通信部と、
前記複数の第1パスの一部が使用不能になった場合、前記複数の第1パスのうち使用可能な残りの第1パスおよび前記複数の第2パスのそれぞれについての通信負荷および前記ストレージ装置から割り当てられた処理能力を参照して、前記残りの第1パスに前記ストレージ装置へのアクセス要求を分配した場合における第1の応答時間を、前記残りの第1パスのそれぞれについての前記通信負荷および前記処理能力に基づいて推定するとともに、前記残りの第1パスと前記複数の第2パスとに対して前記ストレージ装置へのアクセス要求を分配した場合における第2の応答時間を、前記残りの第1パスおよび前記複数の第2パスのそれぞれについての前記通信負荷および前記処理能力に基づいて推定し、
前記第1の応答時間と前記第2の応答時間との比較結果に基づいて、前記残りの第1パスに前記ストレージ装置へのアクセス要求を分配するか、前記残りの第1パスと前記複数の第2パスとに対して前記ストレージ装置へのアクセス要求を分配するかを決定する処理部と、
を有する情報処理装置。
a communication unit that is connected to the storage device via a plurality of first paths of an active system and a plurality of second paths of a standby system;
when some of the plurality of first paths become unavailable, by referencing a communication load for each of the remaining first paths and the plurality of second paths that are available among the plurality of first paths and a processing capacity allocated by the storage device , a first response time when an access request to the storage device is distributed to the remaining first paths is estimated based on the communication load and the processing capacity for each of the remaining first paths, and a second response time when an access request to the storage device is distributed to the remaining first path and the plurality of second paths is estimated based on the communication load and the processing capacity for each of the remaining first paths and the plurality of second paths;
a processing unit that determines whether to distribute an access request to the storage device to the remaining first paths or to distribute an access request to the storage device to the remaining first paths and the plurality of second paths based on a comparison result between the first response time and the second response time;
An information processing device having the above configuration.
前記処理部は、
前記第1の応答時間が所定の第1閾値以下の場合、前記残りの第1パスに前記ストレージ装置へのアクセス要求を分配し、
前記第1の応答時間が前記第1閾値を超える場合、前記第1の応答時間と前記第2の応答時間との比較結果に基づいて、前記残りの第1パスに前記ストレージ装置へのアクセス要求を分配するか、前記残りの第1パスと前記複数の第2パスとに対して前記ストレージ装置へのアクセス要求を分配するかを決定する、
請求項記載の情報処理装置。
The processing unit includes:
If the first response time is equal to or less than a predetermined first threshold, distribute the access requests to the storage device to the remaining first paths;
if the first response time exceeds the first threshold, based on a comparison result between the first response time and the second response time, determine whether to distribute the access requests to the storage device to the remaining first paths or to distribute the access requests to the storage device to the remaining first paths and the plurality of second paths;
2. The information processing device according to claim 1 .
前記残りの第1パスおよび前記複数の第2パスのそれぞれについての前記処理能力は、前記残りの第1パスおよび前記複数の第2パスのそれぞれにおける前記ストレージ装置側の各通信ポートについての、現用系パスおよび待機系パスとしての使用状況と、前記各通信ポートにおける現時点での前記通信負荷とに応じて、前記ストレージ装置によって割り当てられる、
請求項1または2記載の情報処理装置。
the processing capabilities for each of the remaining first paths and the plurality of second paths are allocated by the storage device in accordance with a usage status of each communication port on the storage device side of each of the remaining first paths and the plurality of second paths as an active path and a standby path, and the current communication load on each communication port;
3. The information processing device according to claim 1 or 2 .
前記ストレージ装置は、前記情報処理装置からのアクセス対象となる記憶領域と、前記記憶領域に対するアクセスを制御する第1の制御装置および第2の制御装置とを有し、
前記記憶領域へのアクセス要求が前記複数の第1パスに送信された場合、前記第1の制御装置を介して前記記憶領域へのアクセスが行われ、前記記憶領域へのアクセス要求が前記複数の第2パスに送信された場合、前記第2の制御装置と前記第1の制御装置とを介して前記記憶領域へのアクセスが行われる、
請求項1乃至のいずれか1項に記載の情報処理装置。
the storage device has a storage area to be accessed by the information processing device, and a first control device and a second control device that control access to the storage area;
when an access request to the storage area is transmitted to the plurality of first paths, the storage area is accessed via the first control device, and when an access request to the storage area is transmitted to the plurality of second paths, the storage area is accessed via the second control device and the first control device.
The information processing device according to claim 1 .
前記処理部は、
前記複数の第1パスおよび前記複数の第2パスのそれぞれについての前記処理能力を一定時間ごとに前記ストレージ装置から取得して、前記複数の第1パスについて新たに取得した前記処理能力と前記複数の第1パスについての現時点での前記通信負荷とに基づいて、前記複数の第1パスに対して前記ストレージ装置へのアクセス要求を分配した場合における第3の応答時間を推定し、
前記第3の応答時間が所定の第2閾値を超える場合、前記複数の第1パスと前記複数の第2パスとに対して前記ストレージ装置へのアクセス要求を分配する、
請求項1または2記載の情報処理装置。
The processing unit includes:
acquiring the processing capabilities for each of the plurality of first paths and the plurality of second paths from the storage device at regular time intervals, and estimating a third response time when an access request to the storage device is distributed to the plurality of first paths based on the newly acquired processing capabilities for the plurality of first paths and the current communication loads for the plurality of first paths;
when the third response time exceeds a predetermined second threshold, distributing an access request to the storage device among the plurality of first paths and the plurality of second paths;
3. The information processing device according to claim 1 or 2 .
前記複数の第1パスにおける前記ストレージ装置側の通信ポートが、他の情報処理装置から前記ストレージ装置にアクセスするための待機系パスと兼用されており、
前記複数の第1パスについての前記処理能力は、前記通信ポートにおける前記情報処理装置からの現用系パスと前記他の情報処理装置からの待機系パスとによる使用状況と、前記通信ポートにおける前記情報処理装置および前記他の情報処理装置のそれぞれからのアクセス要求の負荷とに応じて、前記ストレージ装置によって割り当てられる、
請求項記載の情報処理装置。
a communication port on the storage device side in the plurality of first paths is also used as a standby path for accessing the storage device from another information processing device,
the processing capabilities of the plurality of first paths are allocated by the storage device in accordance with a usage status of an active path from the information processing device and a standby path from the other information processing device at the communication port, and a load of access requests from the information processing device and the other information processing device at the communication port;
6. The information processing device according to claim 5 .
コンピュータが、
現用系の複数の第1パスと待機系の複数の第2パスとを介してストレージ装置に接続している状態において、前記複数の第1パスの一部が使用不能になった場合、前記複数の第1パスのうち使用可能な残りの第1パスおよび前記複数の第2パスのそれぞれについての通信負荷および前記ストレージ装置から割り当てられた処理能力を参照して、前記残りの第1パスに前記ストレージ装置へのアクセス要求を分配した場合における第1の応答時間を、前記残りの第1パスのそれぞれについての前記通信負荷および前記処理能力に基づいて推定するとともに、前記残りの第1パスと前記複数の第2パスとに対して前記ストレージ装置へのアクセス要求を分配した場合における第2の応答時間を、前記残りの第1パスおよび前記複数の第2パスのそれぞれについての前記通信負荷および前記処理能力に基づいて推定し、
前記第1の応答時間と前記第2の応答時間との比較結果に基づいて、前記残りの第1パスに前記ストレージ装置へのアクセス要求を分配するか、前記残りの第1パスと前記複数の第2パスとに対して前記ストレージ装置へのアクセス要求を分配するかを決定する、
パス制御方法。
The computer
in a state in which a storage device is connected via a plurality of first paths of an active system and a plurality of second paths of a standby system, when some of the plurality of first paths become unavailable, by referring to a communication load for each of the remaining first paths and the plurality of second paths that are available among the plurality of first paths and a processing capacity allocated by the storage device, a first response time when an access request to the storage device is distributed to the remaining first paths is estimated based on the communication load and the processing capacity for each of the remaining first paths, and a second response time when an access request to the storage device is distributed to the remaining first paths and the plurality of second paths is estimated based on the communication load and the processing capacity for each of the remaining first paths and the plurality of second paths;
determining whether to distribute the access requests to the storage device to the remaining first paths or to distribute the access requests to the storage device to the remaining first paths and the plurality of second paths based on a comparison result between the first response time and the second response time;
Path control method.
JP2020143200A 2020-08-27 2020-08-27 Information processing device and path control method Active JP7518364B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020143200A JP7518364B2 (en) 2020-08-27 2020-08-27 Information processing device and path control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020143200A JP7518364B2 (en) 2020-08-27 2020-08-27 Information processing device and path control method

Publications (2)

Publication Number Publication Date
JP2022038607A JP2022038607A (en) 2022-03-10
JP7518364B2 true JP7518364B2 (en) 2024-07-18

Family

ID=80498004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020143200A Active JP7518364B2 (en) 2020-08-27 2020-08-27 Information processing device and path control method

Country Status (1)

Country Link
JP (1) JP7518364B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092285A (en) 2008-10-08 2010-04-22 Hitachi Ltd Storage system
JP2012504793A (en) 2009-01-20 2012-02-23 株式会社日立製作所 Storage system and storage system control method
WO2015068299A1 (en) 2013-11-11 2015-05-14 株式会社日立製作所 Management computer and computer system management method
JP2015184895A (en) 2014-03-24 2015-10-22 富士通株式会社 Storage control device, storage device, and storage control program
WO2016208014A1 (en) 2015-06-24 2016-12-29 株式会社日立製作所 Management computer and method for switching system configuration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092285A (en) 2008-10-08 2010-04-22 Hitachi Ltd Storage system
JP2012504793A (en) 2009-01-20 2012-02-23 株式会社日立製作所 Storage system and storage system control method
WO2015068299A1 (en) 2013-11-11 2015-05-14 株式会社日立製作所 Management computer and computer system management method
JP2015184895A (en) 2014-03-24 2015-10-22 富士通株式会社 Storage control device, storage device, and storage control program
WO2016208014A1 (en) 2015-06-24 2016-12-29 株式会社日立製作所 Management computer and method for switching system configuration

Also Published As

Publication number Publication date
JP2022038607A (en) 2022-03-10

Similar Documents

Publication Publication Date Title
US6654831B1 (en) Using multiple controllers together to create data spans
US8738975B2 (en) Runtime dynamic performance skew elimination
US7457916B2 (en) Storage system, management server, and method of managing application thereof
US8234467B2 (en) Storage management device, storage system control device, storage medium storing storage management program, and storage system
US8886982B2 (en) Power savings using dynamic storage cluster membership
US11372552B2 (en) Storage device
US7617360B2 (en) Disk array apparatus and method of controlling the same by a disk array controller having a plurality of processor cores
EP1760591B1 (en) System and method of managing access path
US7953927B2 (en) Allocating clusters to storage partitions in a storage system
JP4901310B2 (en) Storage control device and command execution number control method for storage control device
US20090327780A1 (en) Systems, Methods and Media for Reducing Power Consumption in Multiple Controller Information Handling Systems
US8984352B2 (en) Storage control apparatus and control method of storage control apparatus
US7594083B2 (en) Storage system and storage control device
JP7060789B2 (en) Electronic systems, information processing equipment and control methods
US20090198942A1 (en) Storage system provided with a plurality of controller modules
JP5882557B2 (en) Request priority seek manager
KR20210138502A (en) System, method, and device for fault resilient storage
JP5593718B2 (en) Storage device, storage device control program, and storage device control method
US10572188B2 (en) Server-embedded distributed storage system
JP5453872B2 (en) Disk array device, disk control device, and load distribution method in disk array device
JP7518364B2 (en) Information processing device and path control method
JP2015179419A (en) Cache control device and control method therefor, storage device, and computer program
JP2023110180A (en) Storage device and control method
JP2022020926A (en) Storage system and processing migration method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240327

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240617

R150 Certificate of patent or registration of utility model

Ref document number: 7518364

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150