JP7518364B2 - Information processing device and path control method - Google Patents
Information processing device and path control method Download PDFInfo
- 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
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.
ところで、ストレージ装置に対する現用系パスおよび待機系パスのそれぞれが、複数のパスを含む場合がある。この構成では通常、現用系パスに含まれる一部のパスに障害が発生した場合には、現用系パスに含まれる残りのパスを使用してストレージ装置へのアクセスが実行される。しかし、この場合には、残りのパスのそれぞれにおける通信負荷が増大し、アクセス性能が大きく低下するという問題がある。 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は、第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
図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,
これらのパスのうち、パス1a,1bは現用系パスとして使用され、パス2a,2bは待機系パスとして使用される。処理部12は、パス1a,1b,2a,2bのどれを介してアクセス要求を送信するかを制御する機能を備えている。現用系のパス1a,1bがいずれも正常に通信可能な状態では、処理部12は、アクセス要求がパス1a,1bに分配されるように制御する。この状態では、待機系のパス2a,2bは使用されない。また、パス1a,1bの両方が障害によって使用不能になった場合、処理部12は、アクセス要求が待機系のパス2a,2bに分配されるように制御する。
Of these paths,
一方で、現用系のパス1a,1bの一方のみ使用不能になったときに、使用可能な残りのパスだけにアクセス要求を分配した場合には、残りのパスにアクセス要求が集中してしまうので、アクセス性能が大きく低下するという問題がある。例えば、現用系の残りのパスに加えて待機系のパス2a,2bも用いてアクセス要求も送信できれば、通信負荷が分散され、アクセス性能の低下を抑制できると考えられる。
On the other hand, if access requests are distributed to only the remaining usable paths when only one of the
しかし、待機系のパス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
あるいは、例えば、待機系のパス2a,2bの接続先であるポートP13,P14が、ストレージ装置20にアクセスする他の情報処理装置からのアクセスパス(例えば現用系パス)としても利用されている場合がある。この場合でも、他の情報処理装置からの通信状況によっては、待機系のパス2a,2bにアクセス要求を送信した場合の応答速度は、現用系のパス1a,1bを用いた場合より遅くなることがあり得る。
Alternatively, for example, ports P13 and P14 to which the
そこで、処理部12は、現用系のパス1a,1bの一方が使用不能になったとき、残りのパスおよび待機系のパス2a,2bのそれぞれについての通信負荷3aおよび処理能力3bに基づいて、適切なパスを選択してアクセス要求を分配する。ここで、処理能力3bは、上記のパスのそれぞれに対してストレージ装置20から割り当てられる。例えば、上記各パスのストレージ装置20側のポートについての、現用系パスおよび待機系パスとしての使用状況や、それらのポートでの通信負荷などに基づいて、パスごとに処理能力が割り当てられる。処理部12は、パス1a,1b,2a,2bのそれぞれに割り当てられた処理能力3bを、例えば定期的にストレージ装置20から取得する。また、通信負荷3aは、ストレージ装置20からその検出値が取得されてもよいし、情報処理装置10側で検出されてもよい。
When one of the
以下、図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
例えば、処理部12は、通信負荷3aおよび処理能力3bから、パターンA,Bのどちらを選択した方がアクセス要求に対する応答時間を短縮できるかを推定できる。したがって、既存のパスを効率的に用いながら、アクセス性能の低下を適切に抑制できる。あるいは、処理部12は、現用系の残りのパス1aにアクセス要求を分配すると応答時間が著しく低下する(例えば所定閾値を超える)と推定される場合に、パターンA,Bのどちらを選択した方がアクセス要求に対する応答時間を短縮できるかを推定してもよい。この場合、既存のパスを効率的に用いながら、アクセス性能を一定以上に維持できる。
For example, the
〔第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
ドライブ部203には、HDDやSSDなどの不揮発性の記憶装置が複数台搭載されている。CM201,202は、サーバ100からのI/O要求に応じてドライブ部203の記憶装置にアクセスするストレージ制御装置である。また、CM201とCM202は互いに通信可能になっている。なお、以下の説明では、CM201,202をそれぞれCM#0,CM#1と記載する場合がある。サーバ100は、業務処理などの所定の処理を実行するサーバコンピュータであり、CM201,202に対してI/O要求を送信することでドライブ部203にアクセス可能になっている。
The
ここで、サーバ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,
図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
プロセッサ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
RAM102は、サーバ100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
HDD103は、サーバ100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSDなどの他の種類の不揮発性記憶装置を使用することもできる。
The
グラフィックインタフェース104には、表示装置104aが接続されている。グラフィックインタフェース104は、プロセッサ101からの命令にしたがって、画像を表示装置104aに表示させる。表示装置としては、液晶ディスプレイや有機EL(ElectroLuminescence)ディスプレイなどがある。
A
入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
An
読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
A
通信インタフェース107は、ネットワーク300を介してCM201,202などの他の装置との間でデータの送受信を行う。図2に示した第1構成例では、通信インタフェース107としてHBA#0~#7が搭載されている。
The
以上のようなハードウェア構成によって、サーバ100の処理機能を実現することができる。なお、CM201,202についても図3に示すような構成のコンピュータとして実現可能である。
The processing functions of
図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
また、サーバ100からデータ領域211にアクセスするためのアクセスパスは、アクティブパスPaとスタンバイパスPsとを有するマルチパス構成となっている。基本的に、アクティブパスPaは通常運用時に使用されるアクセスパスであり、スタンバイパスPsはアクティブパスPaに異常が生じた場合に使用されるアクセスパスである。
The access path for accessing the
第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
ただし、上記のようにデータ領域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
なお、図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
次に、第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
図5に示すように、サーバ100aは、HBA#0~#3を備えている。サーバ100bは、HBA#0~#3を備えている。スイッチ310は、ポート#0~#11を備えている。CM201は、ポート#0,#1を備えている。CM202は、ポート#0,#1を備えている。
As shown in FIG. 5,
そして、サーバ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に接続されている。
さらに、スイッチ310においては、ポート#0,#1がそれぞれポート#8,#9に接続され、ポート#2,#3がそれぞれポート#10,#11に接続されている。また、ポート#4,#5がそれぞれポート#8,#9に接続され、ポート#6,#7がそれぞれポート#10,#11に接続されている。
Furthermore, in
図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
図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によって実行される。
図6(A)に示すように、サーバ#0からデータ領域212にアクセスするためのアクセスパスは、アクティブパスPa1とスタンバイパスPs1とを有するマルチパス構成となっている。基本的に、アクティブパスPa1は通常運用時に使用されるアクセスパスであり、スタンバイパスPs1はアクティブパスPa1に異常が生じた場合に使用されるアクセスパスである。
As shown in FIG. 6(A), the access path for accessing the
アクティブパス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
ただし、上記のようにデータ領域212の担当CMはCM#0であることから、スタンバイパスPs1は、CM#1からさらにCM#0を経由してデータ領域212に到達するようになっている。このため、スタンバイパスPs1を用いてデータ領域212へのアクセスが行われた場合にはCM間通信が発生することになる。
However, as described above, the CM responsible for the
一方、図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
アクティブパス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
ただし、上記のようにデータ領域213の担当CMはCM#1であることから、スタンバイパスPs2は、CM#0からさらにCM#1を経由してデータ領域213に到達するようになっている。このため、スタンバイパスPs2を用いてデータ領域213へのアクセスが行われた場合にはCM間通信が発生することになる。
However, as described above, the CM responsible for
以上の第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
しかしながら、アクティブパスに含まれる一部の伝送路が使用不能になり、残りの伝送路だけを使用してすべての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
スタンバイパスは本来予備のアクセスパスであるので、アクティブパスの一部の伝送路が生存している状態でむやみに使用することは好ましくない。しかも、第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
図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
まず、CM201は、記憶部220とRAID制御部230を備える。記憶部220は、例えばRAMやHDDなどのCM201が備える記憶装置の記憶領域として実現される。RAID制御部230は、例えば、CM201が備えるプロセッサが所定のプログラムを実行することで実現される。
First, CM201 includes a
記憶部220には、性能管理テーブル221が記憶される。性能管理テーブル221には、CM201が備える通信ポートと、その通信ポートに接続されたサーバのHBAとの組み合わせごとに性能情報が登録される。なお、第2構成例のようにCM201に複数のサーバが接続されている場合、性能管理テーブル221には、CM201側の通信ポートと、接続された各サーバの各HBAとの組み合わせごとにレコードが登録される。また、図示しないが、記憶部220にはこの他に、アクセス元のサーバと、アクセス先のデータ領域と、アクティブパスおよびスタンバイパスに対応する通信ポートとの対応関係を示す情報が記憶される。
The
RAID制御部230は、サーバから受信したI/O要求に応じて、I/O処理対象のデータ領域に対するI/O処理を実行する。このとき、ドライブ部203の記憶装置をRAIDによって管理しながらI/O処理を実行する。また、RAID制御部230は、CM201自身が担当していないデータ領域に対するI/O要求をスタンバイパスを介して受信した場合には、そのI/O要求を担当CMに転送する。
The
さらに、RAID制御部230は、リソース割り当て部231を備える。リソース割り当て部231は、受信したI/O要求に対するリソースの割り当てを、I/O処理によるリソースの使用状況に応じて制御する。ここで言う「リソースの割り当て」とは、I/O要求に応じたI/O処理で使用されるリソースの割り当てを示し、例えば、プロセッサコアの割り当て数、キャッシュの使用量などを示す。リソース割り当て部231は、CM201が備える通信ポートと、その通信ポートに接続されたサーバのHBAとの組み合わせごとに、リソースの割り当て量を決定する。
The
また、リソース割り当て部231は、上記の組み合わせごとにI/O要求に応じた処理負荷(以下「I/O負荷」と記載する場合がある)を検出する。さらに、リソース割り当て部231は、リソースの割り当て量とI/O負荷とに基づいて、I/O処理の処理能力や、I/O要求に対する応答時間の推定値を計算する。リソース割り当て部231は、I/O処理の処理能力、I/O負荷および応答時間を、性能情報として性能管理テーブル221に登録する。また、リソース割り当て部231は、サーバからの要求に応じて、性能管理テーブル221に登録された性能情報をサーバに通知する。
The
CM202は、記憶部220aとRAID制御部230aを備える。記憶部220aには、性能管理テーブル221aが記憶される。性能管理テーブル221aは、CM201の性能管理テーブル221と同様に、CM202が備える通信ポートと、その通信ポートに接続されたサーバのHBAとの組み合わせごとに性能情報が登録される。
CM202 includes a
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
サーバ100は、記憶部110、I/O制御部121およびパス制御部122を備える。記憶部110は、例えばRAM102やHDD103などのサーバ100が備える記憶装置の記憶領域として実現される。I/O制御部121およびパス制御部122は、例えば、サーバ100が備えるプロセッサ101が所定のプログラムを実行することで実現される。
The
記憶部110には、性能管理テーブル111が記憶される。性能管理テーブル111は、CM201,202のリソース割り当て部231,231aから取得された性能情報を保持する。性能情報は、サーバ100の通信ポート(HBA)と、ストレージ装置200の通信ポート(具体的にはCMの通信ポート)との組み合わせごとに登録される。
The
I/O制御部121は、データ領域に対するI/O要求を発行する。例えば、サーバ100が業務サーバの場合、I/O制御部121は、業務アプリケーションからの要求に応じてI/O要求を発行する。パス制御部122は、I/O制御部121から発行されたI/O要求を送信するためのアクセスパスを選択し、選択されたアクセスパスを介してI/O要求を送信する。
The I/
パス制御部122は、例えば、アクティブパス内のすべての伝送路が生存している場合、それらの伝送路にI/O要求を均等に送信する。一方、パス制御部122は、アクティブパス内の少なくとも1つが使用不能である場合、性能管理テーブル111に基づき、アクティブパス内の残りの伝送路のみを用いてI/O要求を送信するか、スタンバイパスの伝送路も用いてI/O要求を送信するかを決定する。
For example, if all transmission paths in the active path are alive, the
なお、図示しないが、第2構成例のサーバ100a,100bも、図7に示したサーバ100と同様の処理機能を備える。ここで、サーバ100aの性能管理テーブル111には、サーバ100aの通信ポート(HBA)と、ストレージ装置200の通信ポートとの組み合わせごとに登録される。また、サーバ100bの性能管理テーブル111には、サーバ100bの通信ポート(HBA)と、ストレージ装置200の通信ポートとの組み合わせごとに登録される。
Although not shown, the
図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
リソース割り当て部231は、CM201の通信ポート(ポート#0~#3)ごとに、I/O要求に対するリソースの割り当てを適応的に変化させる。RAID制御部230は、各通信ポートから受信したI/O要求に対応するI/O処理を、リソースの割り当て量に応じて実行する。これにより、リソースの割り当て量に応じたI/O性能が発揮されるようになる。
The
図8の状態1では、CM201の通信ポートにアクティブパスからのI/O要求のみ入力されており、この通信ポートがアクティブパスだけに使用されている。この状態ではアクティブパスからのI/O要求のみ処理されればよいので、この状態でアクティブパスに割り当てられるリソースを100%とする。すなわち、リソース割り当て部231は、通信ポートがアクティブパスだけに使用されている場合には、アクティブパスに100%のリソースを割り当てる。
In
また、図8の状態2では、CM201の通信ポートにスタンバイパスからのI/O要求のみ入力されており、この通信ポートがスタンバイパスだけに使用されている。この状態では、状態1での処理能力の割り当て量を基準とすると、リソース割り当て部231はスタンバイパスに対して50%のリソースを割り当てるものとする。これは、スタンバイパスからI/O要求を受信した場合にはCM間通信が発生するので、アクティブパスから受信した場合と比較してI/O処理にかかる時間が長くなるからである。このため、CM間通信処理に残りの50%のリソースを割り当てると考える。
In addition, in
なお、割り当てが制御されるリソースとしては、例えば、プロセッサコア、キャッシュなどを適用可能である。例えば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
リソース割り当て部231は、以上のようなリソース割り当て量とI/O負荷の検出値とに基づいて、CM201の通信ポートと接続先のHBAとの組み合わせによって表される伝送路ごとに、I/O処理の処理能力を算出する。本実施の形態では、1つの通信ポートでの処理能力の最大値を「100」とするので、処理能力をパーセントによって表す。
Based on the resource allocation amount and the detected I/O load value, the
図8の状態1では、アクティブパスだけからI/O要求が受信されるので、アクティブパスに含まれる伝送路の処理能力が100%と算出される。また、図8の状態2では、スタンバイパスだけからI/O要求が受信されるので、スタンバイパスに含まれる伝送路の処理能力が50%と算出される。
In
一方、図8の状態3では、1つの通信ポートに対してアクティブパスの伝送路とスタンバイパスの伝送路の両方からI/O処理が受信される。この状態では、各伝送路に対するリソース割り当て量と伝送路ごとのI/O負荷とに基づいて、各伝送路の処理能力が算出される。例えば、通信ポートにアクティブパスおよびスタンバイパスの2つの伝送路が接続されている場合、各伝送路における処理能力は、(伝送路に対するリソース割り当て量)×(通信ポートにおけるI/O負荷全体に対する、伝送路におけるI/O負荷の比率)×2によって算出される。
On the other hand, in
例えば、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
FIG. 9 is an example of a flowchart showing a resource allocation process according to a server connection.
[Step S11] The
[ステップS12]リソース割り当て部231は、検出されたサーバがアクティブパスによって接続されたかを判定する。この判定は、アクセス元のサーバと、アクセス先のデータ領域と、アクティブパスおよびスタンバイパスに対応する通信ポートとの対応関係を示す情報(図示せず)を参照することで実行される。サーバがアクティブパスによって接続された場合、処理がステップS13に進められ、サーバがスタンバイパスによって接続された場合、処理がステップS14に進められる。
[Step S12] The
[ステップS13]リソース割り当て部231は、検出されたサーバのHBAからのI/O要求に応じたI/O処理に対して、リソースを100%割り当てる。
[ステップS14]リソース割り当て部231は、検出されたサーバのHBAからのI/O要求に応じたI/O処理に対してリソースを50%割り当てるとともに、そのI/O処理に伴うCM間通信処理にリソースを50%割り当てる。
[Step S13] The
[Step S14] The
以上のステップ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
[ステップS15]リソース割り当て部231は、ステップS13またはステップS14で割り当てられた、通信ポートとサーバのHBAとの組み合わせごとのリソース割り当て量を、その組み合わせに対する処理能力の初期値として性能管理テーブル221の対応するレコードにそのまま登録する。
[Step S15] The
図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
[Step S22] The
[ステップS23]リソース割り当て部231は、現時刻から一定時間前の時刻までの期間に、該当通信ポート(ステップS21でI/O要求が受信された通信ポート)で受信されたI/O要求に応じたCM間通信が行われたかを判定する。CM間通信が行われた場合、処理がステップS25に進められ、CM間通信が行われていない場合、処理がステップS24に進められる。
[Step S23] The
[ステップ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
[ステップ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
ステップ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
[ステップS26]リソース割り当て部231は、現サーバからのI/O要求に応じたI/O処理に対してリソースを50%割り当てる。
ステップS24、ステップS25,S26、後述するステップS33、後述するステップS34,S35のいずれかで割り当てられたリソース割り当て量は、RAID制御部230が参照するRAMなどの記憶域に上書きして設定され、RAID制御部230に適用される。
[Step S26] The
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
[ステップ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
[ステップS28]RAID制御部230は、更新されたリソースの割り当て量に基づいて、I/O要求に対するI/O処理を実行する。
以下、図11を用いて説明を続ける。
[Step S28] The
The explanation will be continued below with reference to FIG.
[ステップS31]リソース割り当て部231は、現時刻から一定時間前の時刻までの期間に、該当通信ポートで受信されたI/O要求に応じたCM間通信が行われたかを判定する。CM間通信が行われた場合には、直近にステップS32以降の処理が実行されており、この処理による処理能力の割り当て量がそのまま適用されればよいので、処理が図10のステップS27に進められる。一方、CM間通信が行われていない場合、処理がステップS32に進められる。
[Step S31] The
[ステップS32]リソース割り当て部231は、現時刻から一定時間前の時刻までの期間に、該当通信ポートにおいて他のサーバからのI/O要求が受信されたかを判定する。ステップS32における「他のサーバ」とは、ステップS21でのI/O要求の送信元サーバ(現サーバ)とは別のサーバであり、該当通信ポートをアクティブパスとして使用しているサーバである。他のサーバからのI/O要求が受信された場合、処理がステップS34に進められ、他のサーバからのI/O要求が受信されていない場合、処理がステップS33に進められる。
[Step S32] The
[ステップ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
[ステップ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
ステップ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
[ステップS35]リソース割り当て部231は、現サーバからのI/O要求に応じたI/O処理に対してリソースを25%割り当てる。また、リソース割り当て部231は、このI/O処理に伴うCM間通信処理に対してリソースを25%割り当てる。この後、処理が図10のステップS27に進められる。
[Step S35] The
以上の図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
また、上記の図8~図11に関する記載ではCM201のリソース割り当て部231の処理について説明したが、CM202のリソース割り当て部231aも上記と同様の処理を実行する。ただし、リソース割り当て部231aはCM202の各通信ポートについて上記処理を実行する。
In addition, in the description of Figures 8 to 11 above, the processing of the
図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
図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
処理能力は、リソース割り当て量と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
次に、サーバ側の処理について説明する。
まず、図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
<第1構成例>
次に、第1構成例におけるサーバ100の処理について説明する。
図14は、正常時の状態の例を示す図である。図14では、アクティブパス内のすべての伝送路が正常に通信可能な状態になっている。この場合、サーバ100のパス制御部122は、データ領域211に対するI/O要求をアクティブパス内の各伝送路に均等に分配して送信する。
<First Configuration Example>
Next, the processing of the
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
また、図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
また、図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
図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
一方、図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
スタンバイパスの各伝送路には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
図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
図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
一方、図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
前述のように、スタンバイパスの各伝送路には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
図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
図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
図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
以上のように、サーバは、アクティブパスの伝送路が使用不能になった場合には、アクティブパス内の残りの伝送路だけでなくスタンバイパスも使用することで、スタンバイパスを有効利用しつつ、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
図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
また、図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
また、図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
図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
ここで、サーバ#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
図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
これにより、CM#1のポート#0,#1は、サーバ#1のアクティブパスだけでなく、サーバ#0のスタンバイパスにも使用される状態となる。すると、CM#1のリソース割り当て部231aによる処理能力の割り当ては次のように変化する。すなわち、サーバ#1のアクティブパスに100%の処理能力を割り当てた状態から、サーバ#1のアクティブパスに50%の処理能力を割り当て、サーバ#0のスタンバイパスに25%の処理能力を割り当てる状態に変化する。
As a result,
このような割り当て量の変化により、図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
サーバ#1のパス制御部122は、CM#1からの定期的な性能情報の取得により、上記のようにアクティブパスの各伝送路に対する処理能力の割り当て量が小さくなり、I/O性能が低下したことを認識する。ここで、サーバ#1のアクティブパスでの応答時間の上限閾値(許容限界値)が15msに設定されているとする。この場合、処理能力の割り当て量の縮小により、アクティブパス内の各伝送路における応答時間が上限閾値を超えた状態となる。サーバ#1のパス制御部122は、このことを判定すると、取得した変更後の性能情報に基づき、アクティブパスに加えてスタンバイパス内の伝送路も使用してI/O要求を送信した場合のI/O性能(応答時間)を推定する。
By periodically acquiring performance information from
図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
図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
以上の第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
このように、サーバ#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
なお、テーブル111h2の状態ではサーバ#1のアクティブパスでの応答時間は15msに悪化する。この例では応答時間が上限閾値以下に収まっているが、仮に当該パスでの応答時間が上限閾値を超えた場合には、サーバ#1のパス制御部122は、更新された処理能力に基づいてI/O負荷の配分を見直す。このようにして個々の伝送路でのI/O性能が適宜最適化されていく。
In the state of table 111h2, the response time on the active path of
次に、サーバの処理についてフローチャートを用いて説明する。
図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
[ステップS42]パス制御部122は、アクティブパスに含まれる伝送路の中に生存している(Enableである)伝送路があるかを判定する。生存している伝送路がある場合、処理がステップS43に進められ、生存している伝送路がない場合、処理がステップS48に進められる。
[Step S42] The path control
[ステップS43]パス制御部122は、性能管理テーブル111を参照し、アクティブパス内の生存している伝送路にI/O要求を均等に分配した場合(I/O負荷を均等にした場合)における各伝送路の応答時間Taを算出する。
[Step S43] The path control
[ステップS44]パス制御部122は、算出された応答時間Taが、あらかじめ決められた上限閾値以下であるかを判定する。応答時間Taが上限閾値以下である場合、処理がステップS47に進められ、応答時間Taが上限閾値を超える場合、処理がステップS45に進められる。
[Step S44] The path control
[ステップS45]パス制御部122は、性能管理テーブル111を参照し、アクティブパス内の生存している伝送路とスタンバイパス内の生存している伝送路のそれぞれにおける応答時間が均等になるように、I/O要求を分配した場合の各伝送路の応答時間Tbを算出する。
[Step S45] The path control
[ステップS46]パス制御部122は、算出された応答時間Tbが応答時間Ta以下であるかを判定する。応答時間Tbが応答時間Ta以下である場合、処理がステップS47に進められ、応答時間Tbが応答時間Taより長い場合、処理がステップS48に進められる。
[Step S46] The path control
[ステップS47]パス制御部122は、アクティブパス内の生存している伝送路のそれぞれに対して、I/O要求を均等に振り分ける。
[ステップS48]パス制御部122は、アクティブパス内の生存している伝送路とスタンバイパス内の生存している伝送路のそれぞれに対して、各伝送路での応答時間が均等になるようにI/O要求を振り分ける。
[Step S47] The path control
[Step S48] The path control
図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
[ステップS52]パス制御部122は、アクティブパスに含まれる伝送路の中に生存している伝送路があるかを判定する。生存している伝送路がある場合、処理がステップS53に進められ、生存している伝送路がない場合、図23の処理が終了する。
[Step S52] The path control
[ステップS53]パス制御部122は、アクティブパス内の生存している各伝送路のI/O負荷が過大かを判定する。具体的には、性能管理テーブル111に登録された該当伝送路のI/O負荷が所定の上限閾値を超える場合に、I/O負荷が過大と判定される。この上限閾値は、図22のステップS44で使用される値と同じでよい。I/O負荷が過大である場合、処理がステップS54に進められ、I/O負荷が過大でない場合、図23の処理が終了する。
[Step S53] The path control
[ステップS54]パス制御部122は、アクティブパス内の生存している伝送路とスタンバイパス内の生存している伝送路のそれぞれに対してI/O要求を振り分ける。このとき、パス制御部122は、スタンバイパスの各伝送路に対して処理能力の上限までI/O要求が振り分けられるように、分配比率を調整する。
[Step S54] The path control
なお、他の例として、ステップ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.,
プログラムを流通させる場合には、例えば、そのプログラムが記録された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,
Claims (7)
前記複数の第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パスとに対して前記ストレージ装置へのアクセス要求を分配するかを決定する、
請求項1記載の情報処理装置。 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記載の情報処理装置。 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パスに送信された場合、前記第1の制御装置を介して前記記憶領域へのアクセスが行われ、前記記憶領域へのアクセス要求が前記複数の第2パスに送信された場合、前記第2の制御装置と前記第1の制御装置とを介して前記記憶領域へのアクセスが行われる、
請求項1乃至3のいずれか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パスについての前記処理能力は、前記通信ポートにおける前記情報処理装置からの現用系パスと前記他の情報処理装置からの待機系パスとによる使用状況と、前記通信ポートにおける前記情報処理装置および前記他の情報処理装置のそれぞれからのアクセス要求の負荷とに応じて、前記ストレージ装置によって割り当てられる、
請求項5記載の情報処理装置。 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.
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)
| 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 |
-
2020
- 2020-08-27 JP JP2020143200A patent/JP7518364B2/en active Active
Patent Citations (5)
| 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 |