(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023125009
(43)【公開日】2023-09-07
(54)【発明の名称】ストレージシステム、パス制御方法、及びプログラム
(51)【国際特許分類】
G06F 13/14 20060101AFI20230831BHJP
G06F 3/06 20060101ALI20230831BHJP
G06F 13/10 20060101ALI20230831BHJP
【FI】
G06F13/14 330A
G06F3/06 301A
G06F13/10 340Z
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022028913
(22)【出願日】2022-02-28
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】井出 昌宏
(72)【発明者】
【氏名】平松 伸一
(72)【発明者】
【氏名】塚田 大
(57)【要約】
【課題】ホストがIOの処理性能が高い物理パスを使用できるように支援する。
【解決手段】複数のコントローラ及び複数のドライブを有するストレージシステムであって、複数の物理パスを介してホストと接続し、ホストに対して、複数のドライブの記憶領域から構成されるボリュームを提供する。コントローラは、ボリュームに対するIOの制御を行うための権限であるオーナ権を任意のコントローラに設定し、オーナ権が設定されたコントローラと接続する物理パスを、IO要求を送信するための優先パスとしてホストに通知する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
複数のコントローラ及び複数のドライブを有するストレージシステムであって、
複数の物理パスを介してホストと接続し、
前記ホストに対して、前記複数のドライブの記憶領域から構成されるボリュームを提供し、
一つの前記コントローラは、
前記ボリュームに対するIOの制御を行うための権限であるオーナ権を任意の前記コントローラに設定し、
前記オーナ権が設定された前記コントローラと接続する前記物理パスを、IO要求を送信するための優先パスとして前記ホストに通知することを特徴とするストレージシステム。
【請求項2】
請求項1に記載のストレージシステムであって、
前記オーナ権の設定先の前記コントローラが変更された場合、一つの前記コントローラは、前記オーナ権が新たに設定された前記コントローラと接続する前記物理パスを前記優先パスとして前記ホストに通知することを特徴とするストレージシステム。
【請求項3】
請求項1に記載のストレージシステムであって、
前記ホスト及び前記優先パスの対応関係を管理するための優先パス管理情報を保持し、
一つの前記コントローラは、
前記物理パスに障害が発生した場合、前記優先パス管理情報に基づいて、当該物理パスが前記優先パスとして設定されている前記ホストを特定し、
特定された前記ホストに、前記優先パスの設定解除を通知することを特徴とするストレージシステム。
【請求項4】
請求項1に記載のストレージシステムであって、
前記ホスト及び前記優先パスの対応関係を管理するための優先パス管理情報を保持し、
前記コントローラは、
負荷が増大した前記コントローラを検出した場合、前記優先パス管理情報に基づいて、当該コントローラが接続する前記物理パスが前記優先パスとして設定されている前記ホストを特定し、
特定された前記ホストに、前記優先パスの設定解除を通知することを特徴とするストレージシステム。
【請求項5】
請求項1に記載のストレージシステムであって、
前記ホスト及び前記優先パスの対応関係を管理するための優先パス管理情報を保持し、
一つの前記コントローラは、
負荷が減少した前記コントローラを検出した場合、前記優先パス管理情報に基づいて、当該コントローラが前記オーナ権を有する前記ボリュームにアクセスし、かつ、前記優先パスが設定されていない前記ホストを特定し、
負荷が減少した前記コントローラと接続する前記物理パスを前記優先パスとして、特定された前記ホストに通知することを特徴とするストレージシステム。
【請求項6】
複数のコントローラ及び複数のドライブを有するストレージシステムが実行するパス制御方法であって、
前記ストレージシステムは、
複数の物理パスを介してホストと接続し、
前記ホストに対して、前記複数のドライブの記憶領域から構成されるボリュームを提供し、
前記パス制御方法は、
一つの前記コントローラが、前記ボリュームに対するIOの制御を行うための権限であるオーナ権を任意の前記コントローラに設定するステップと、
一つの前記コントローラが、前記オーナ権が設定された前記コントローラと接続する前記物理パスを、IO要求を送信するための優先パスとして前記ホストに通知するステップと、を含むことを特徴とするパス制御方法。
【請求項7】
複数のコントローラ及び複数のドライブを有するストレージシステムに実行させるためのプログラムであって、
前記ストレージシステムは、
複数の物理パスを介してホストと接続し、
前記ホストに対して、前記複数のドライブの記憶領域から構成されるボリュームを提供し、
前記プログラムは、
前記ボリュームに対するIOの制御を行うための権限であるオーナ権を任意の前記コントローラに設定する手順と、
前記オーナ権が設定された前記コントローラと接続する前記物理パスを、IO要求を送信するための優先パスとして前記ホストに通知する手順と、を一つの前記コントローラに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージシステムのパス制御に関する。
【背景技術】
【0002】
近年、容量及び性能を安価に拡張できるスケールアウト型のストレージシステムが広まっている。ストレージシステムは、複数のCTL(コントローラ)及び複数の記憶媒体を有し、複数の記憶媒体から生成される記憶領域をホストに提供する。CTLは、記憶領域及びホストとの間のIOを処理する。ホストは、提供される記憶領域に接続する物理パスを管理する。スケールアウト等、ストレージシステムの構成変更にともなって物理パスが増減する。
【0003】
物理パスの数は、OS(オペレーティングシステム)の種別によって上限が決まっている。そのため、物理パスの数が設定可能な上限数を超えた場合、手動で物理パスの設定を修正する必要があった。これに対して、特許文献1に記載の技術が知られている。
【0004】
特許文献1には、「ストレージ装置は、ストレージシステムに含まれる装置である。ストレージ装置は、ストレージシステムとホスト装置の間の論理パスに関する情報を管理する、ホスト管理テーブルと、接続パス管理部と、論理パス削除通知部と、を備える。接続パス管理部は、他のストレージ装置がストレージシステムに追加された際に、ホスト管理テーブルを参照し、ストレージシステムとホスト装置の間の論理パスのうち削除する論理パスを選定する。論理パス削除通知部は、選定された論理パスを、ホスト装置に通知する。」ことが記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ホストは、耐障害及び負荷分散等を目的に、ストレージシステムとの間に複数の物理パスを設定できる。ホストは、提供される記憶領域にアクセスする場合、複数の物理パスの中から一つの物理パスを選択し、選択した物理パスを介して記憶領域にアクセスする。従来技術では、物理パスはラウンドロビン方式で選択されていた。
【0007】
ストレージシステムでは、記憶領域に対して、一つのCTLに、IOを処理するオーナ権が設定できる。IO要求を受信したCTLがオーナ権を有していない場合、オーナ権を有するCTLにIO要求が転送される。この場合、IO処理のレスポンスに遅延が発生するという問題がある。
【0008】
本発明は、ホストがIOの処理性能が高い物理パスを使用できるように支援するストレージシステムを実現することを目的とする。
【課題を解決するための手段】
【0009】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数のコントローラ及び複数のドライブを有するストレージシステムであって、複数の物理パスを介してホストと接続し、前記ホストに対して、前記複数のドライブの記憶領域から構成されるボリュームを提供し、一つの前記コントローラは、前記ボリュームに対するIOの制御を行うための権限であるオーナ権を任意の前記コントローラに設定し、前記オーナ権が設定された前記コントローラと接続する前記物理パスを、IO要求を送信するための優先パスとして前記ホストに通知する。
【発明の効果】
【0010】
本発明によれば、ホストがIOの処理性能が高い物理パスを使用できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】実施例1のシステムの構成例を示す図である。
【
図2】実施例1のシステムの論理的な接続の一例を示す図である。
【
図3A】実施例1の構成管理情報のデータ構造の一例を示す図である。
【
図3B】実施例1の構成管理情報のデータ構造の一例を示す図である。
【
図4】実施例1のLDEVオーナ管理情報のデータ構造の一例を示す図である。
【
図5】実施例1の優先パス管理情報のデータ構造の一例を示す図である。
【
図6】実施例1のストレージシステムが実行する優先パス通知処理の一例を説明するフローチャートである。
【
図7】実施例1のホストが実行する優先パス設定処理の一例を説明するフローチャートである。
【
図8】実施例1のストレージシステムが実行する優先パス障害対応処理の一例を説明するフローチャートである。
【
図9】実施例1のストレージシステムが実行するCTL障害対応処理の一例を説明するフローチャートである。
【
図10】実施例1のストレージシステムが実行するオーナ権移動処理の一例を説明するフローチャートである。
【
図11A】実施例1のストレージシステムが実行するMPU負荷対応処理の一例を説明するフローチャートである。
【
図11B】実施例1のストレージシステムが実行するMPU負荷対応処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0013】
以下の説明では、「テーブル」、「リスト」、「キュー」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。各情報の内容を説明する場合に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。
【0014】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【0015】
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
【0016】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例0017】
図1は、実施例1のシステムの構成例を示す図である。
図2は、実施例1のシステムの論理的な接続の一例を示す図である。
【0018】
図1のシステムは、ストレージシステム100及びホスト101から構成される。ホスト101は、WAN(Wide Area Network)、LAN(Local Area Network)、SAN(Storage Area Network)等のネットワーク(図示省略)を介してストレージシステム100と接続する。ネットワークの接続方式は有線及び無線のいずれでもよい。
【0019】
ホスト101は、メインフレーム及び汎用コンピュータ等、ストレージシステム100を利用する計算機である。ホスト101は、ネットワーク内の複数の物理パスを介してストレージシステム100と接続する。ホスト101は、複数の物理パスを、一つの論理的なパスを構成するパスグループとして管理する機能を有する。
図2に示すように、ホスト101は、LDEV140が割り当てられたボリューム150と論理的なパスを介して接続し、データの書き込み及びデータの読み出しを行う。ストレージシステム100による指定が特にない場合、ホスト101は、論理パスを構成する複数の物理パスのいずれかをラウンドロビン方式で選択し、選択した物理パスに対してIO要求を送信する。
【0020】
ストレージシステム100は、ホスト101に対してボリューム150を提供する。ストレージシステム100は、複数のドライブ122からRAID(Redundant Arrays of Inexpensive Disks)を構成するPG(パリティグループ)を生成し、PGからLDEV140を生成する。ストレージシステム100は、一つ以上のLDEV140をボリューム150に割り当てる。ドライブ122は、例えば、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等である。
【0021】
ストレージシステム100は、複数のCTL(コントローラ)110、ドライブボックス111、及びスイッチ112を備える。
【0022】
CTL110は、ホスト101とボリューム150との間のデータの送受信を制御し、また、ボリューム150に対するIOを制御する。CTL110は、ハードウェア構成として、MPU120及びメモリ121を有する。なお、CTL110は、CHB(CHannel Board)及びDKB(DisK Board)等も有しているが省略している。CTL110は、機能構成として、データの送受信、及びIOを制御する制御部130を有する。また、CTL110は、構成管理情報131、LDEVオーナ管理情報132、及び優先パス管理情報133を保持する。
【0023】
スイッチ112は、複数のCTL110を接続するためのスイッチである。ドライブボックス111は、複数のドライブ122を搭載する筐体である。
【0024】
図3A及び
図3Bは、実施例1の構成管理情報131のデータ構造の一例を示す図である。
【0025】
構成管理情報131にはテーブル300及びテーブル310が格納される。テーブル300は、CTL110の状態を管理するためのテーブルである。テーブル310は、パスの接続状態を管理するためのテーブルである。
【0026】
テーブル300は、CTL_ID301、MPU_ID302、及び状態303を含むエントリを格納する。一つのCTL110に対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。
【0027】
CTL_ID301は、CTL110の識別情報を格納するフィールドである。MPU_ID302は、MPU120の識別情報を格納するフィールドである。状態303は、CTL110の状態を示す値を格納するフィールドである。本実施例の状態303には、正常に稼働していることを示す「正常」及び閉塞していることを示す「閉塞」のいずれかが格納される。
【0028】
テーブル310は、CTL_ID311、Port_ID312、及び状態313を含むエントリを格納する。CTL110及びCTL110のポート(図示省略)の一つの組合せに対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。
【0029】
CTL_ID311は、CTL110の識別情報を格納するフィールドである。Port_ID312は、CTL110のポートの識別情報を格納するフィールドである。状態313は、ポートを介して接続される物理パスの接続状態を示す値を格納するフィールドである。本実施例の状態313には、物理パスが正常に接続されていることを示す「正常」及び物理パスが閉塞されていることを示す「閉塞」のいずれかが格納される。
【0030】
なお、構成管理情報131には、PG及びLDEV等を管理するためのテーブルが含まれているが省略している。当該テーブルには、例えば、PG、LDEV及びボリュームの対応関係に関する情報が格納される。
【0031】
図4は、実施例1のLDEVオーナ管理情報132のデータ構造の一例を示す図である。
【0032】
LDEVオーナ管理情報132は、LDEV140に対するIOを処理するCTL110を指定するオーナ権を管理するための情報である。LDEVオーナ管理情報132は、LDEV_ID401及びMPU_ID402を含むエントリを格納する。一つのLDEV140に対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。
【0033】
LDEV_ID401は、LDEV140の識別情報を格納するフィールドである。MPU_ID402は、オーナ権が設定されたCTL110のMPU120の識別情報を格納するフィールドである。
【0034】
図5は、実施例1の優先パス管理情報133のデータ構造の一例を示す図である。
【0035】
優先パス管理情報133は、優先パスの設定状態を管理するための情報である。優先パス管理情報133は、Vol_ID501、ホストID502、及び優先パス503を含むエントリを格納する。ボリューム150及びホスト101の一つの組合せに対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。
【0036】
Vol_ID501は、ボリューム150の識別情報を格納するフィールドである。ホストID502は、ホスト101の識別情報を格納するフィールドである。優先パス503は、ホスト101がボリューム150にアクセスする場合に使用する優先パスの設定状態を示す値を格納するフィールドである。本実施例の優先パス503には、優先パスが設定済みであることを示す「済」及び優先パスが設定されていないことを示す「未」のいずれかが格納される。
【0037】
図6は、実施例1のストレージシステム100が実行する優先パス通知処理の一例を説明するフローチャートである。ストレージシステム100のいずれか一つのCTL110の制御部130が優先パス通知処理を実行するものとする。なお、優先パス通知処理を実行するCTL110を予め定めていてもよい。
【0038】
制御部130は、起動後、優先パス通知処理を開始する。制御部130は、優先パスの設定契機を検出したか否かを判定する(ステップS601)。本実施例では、実行フラグがONであるか否かが判定される。実行フラグがONである場合、制御部130は、優先パスの設定契機を検出したものと判定する。
【0039】
ボリューム150の生成、物理パスの接続、及び物理パスの障害等のイベントが発生した場合、実行フラグがONに設定される。なお、実行フラグには、対象となるホスト101の識別情報が関連付けられている。ここでは、実行フラグに一つのホスト101の識別情報が関連付けられているものとする。
【0040】
優先パスの設定契機を検出していない場合、制御部130は、ステップS601に戻り、優先パスの設定契機を監視する。
【0041】
優先パスの設定契機を検出した場合、制御部130は、ホスト101及びボリューム150の組合せに対して優先パスを決定する(ステップS602)。
【0042】
具体的には、制御部130は、構成管理情報131に基づいて、ボリューム150を構成するLDEV140を特定し、LDEVオーナ管理情報132に基づいて、特定されたLDEV140のオーナ権が設定されたMPU120を特定する。制御部130は、特定されたMPU120を搭載するCTL110とホスト101とを接続する物理パスを優先パスに決定する。
【0043】
制御部130は、ホスト101に、優先パスを通知するための構成変更通知を送信する(ステップS603)。例えば、ストレージシステム100の状態変更を通知する既存コマンドを利用する方法が考えられる。構成変更通知を受信したホスト101は優先パス設定処理を実行する。優先パス設定処理の詳細は
図7を用いて説明する。
【0044】
制御部130は、ホスト101から返送指示を受信したか否かを判定する(ステップS604)。
【0045】
ホスト101から返送指示を受信していない場合、制御部130は、一定期間経過した後、ステップS604に戻る。
【0046】
ホスト101から返送指示を受信した場合、制御部130は、優先パス情報を送信し(ステップS605)、その後、ステップS601に戻る。例えば、既存コマンドを用いて、制御部130を実行するCTL110と接続する物理パスが優先パスであることを通知する方法が考えられる。このとき、制御部130は実行フラグをOFFに変更する。
【0047】
なお、実行フラグに複数のホスト101の識別情報が関連付けられている場合、各ホスト101に対してステップS602からステップS605の処理が実行される。
【0048】
図7は、実施例1のホスト101が実行する優先パス設定処理の一例を説明するフローチャートである。
【0049】
ホスト101は、優先パスを通知するための構成変更通知を受信した場合、優先パス設定処理を開始する。
【0050】
ホスト101は、ストレージシステム100に返送指示を送信する(ステップS701)。
【0051】
ホスト101は、ストレージシステム100から優先パス情報を受信したか否かを判定する(ステップS702)。
【0052】
ストレージシステム100から優先パス情報を受信していない場合、ホスト101は、一定期間経過した後、ステップS702に戻る。
【0053】
ストレージシステム100から優先パス情報を受信した場合、ホスト101は、優先パス情報に基づいて優先パスを設定する(ステップS703)。
【0054】
図6及び
図7で説明した処理によって、ホスト101がIOの処理性能が高い物理パスを優先的に使用できるように設定できる。
【0055】
図8は、実施例1のストレージシステム100が実行する優先パス障害対応処理の一例を説明するフローチャートである。
【0056】
制御部130は、ケーブル故障等による物理パスの障害発生を検出した場合、パス縮退処理を実行する(ステップS801)。パス縮退処理は公知の技術であり、例えば、制御部130は、障害が発生した物理パスの通信を遮断することによって実行中のIO処理を中断し、当該IO処理で使用したメモリ領域等の内部資源を開放する。当該物理パスによる通信が不能であることを検知したホスト101は、パスグループ内の別の物理パスに対して通信のリトライを試みる。
【0057】
制御部130は、障害が発生した物理パスを優先パスとして設定しているホスト101(対象ホスト101)を特定する(ステップS802)。
【0058】
具体的には、制御部130は、テーブル310を参照して、障害が発生した物理パスと接続するCTL110を特定し、テーブル300を参照して、特定されたCTL110に搭載されるMPU120を特定する。制御部130は、LDEVオーナ管理情報132を参照して、特定されたMPU120がオーナ権を有するLDEV140を特定し、さらに構成管理情報131を参照して、特定されたLDEV140が割り当てられているボリューム150を特定する。制御部130は、優先パス管理情報133を参照して、Vol_ID501に特定されたボリューム150の識別情報が設定され、かつ、優先パス503に「済」が設定されているエントリを検索する。制御部130は、検索されたエントリのホストID502に対応するホスト101を対象ホスト101として特定する。
【0059】
制御部130は、特定されたホスト101に優先パス解除通知を送信する(ステップS803)。当該通知を受信したホスト101は優先パスの設定を無効化する。IO要求を送信する場合、ホスト101は、ラウンドロビン方式で一つの物理パスを選択する。
【0060】
制御部130は、優先パス管理情報133を更新する(ステップS804)。
【0061】
具体的には、制御部130は、ステップS802において検索されたエントリの優先パス503に「未」を設定する。
【0062】
以上の処理によって物理パスの状態にあわせて優先パスの設定を変更できる。
【0063】
図9は、実施例1のストレージシステム100が実行するCTL障害対応処理の一例を説明するフローチャートである。
【0064】
制御部130は、ハードウェア構成の故障等によるCTL110の障害発生を検出した場合、CTL縮退処理を実行する(ステップS901)。CTL110の縮退処理は公知の技術であり、例えば、制御部130は、CTL110で実行中の処理を中断し、キャッシュデータをリセットする。さらに、制御部130は、構成管理情報131のテーブル300において当該CTL110の識別情報がCTL_ID301に格納されるエントリの状態303を「縮退」に設定し、他のCTL110に縮退した旨を通知する。
【0065】
次に、制御部130は、当該CTL110と接続する物理パスの閉塞処理を実行する(ステップS902)。物理パスの閉塞処理は公知の技術であり、例えば、制御部130は、CTL110のポートを介して接続される物理パスの通信接続を遮断し、当該ポートを介して接続されるホスト101に対してIO処理の中断を要求し、以後のIO処理やデータ通信を停止する。さらに、制御部130は、閉塞する物理パスが接続されるポートの識別情報を特定し、構成管理情報131のテーブル310において当該ポートの識別情報がPort_ID312に格納されるエントリの状態313を「閉塞」に設定する。
【0066】
制御部130は、優先パス管理情報133を初期化する(ステップS903)。
【0067】
具体的には、制御部130は、全てのエントリの優先パス503に「未」を設定する。
【0068】
制御部130は、障害が発生したCTL110のMPU120に設定されたオーナ権の移動処理を実行する(ステップS904)。
【0069】
オーナ権の移動処理において、制御部130は、構成管理情報131のテーブル300において状態303が「正常」であるエントリのCTL_ID301から対応するCTL110を特定し、当該CTL110の中からオーナ権の移動先を決定する。移動先のCTL110は例えば負荷(キャッシュ使用量、IO処理量等)に基づいて決定される。例えば、最も負荷の小さいCTL110が移動先に決定される。さらに、制御部130は、LDEVオーナ管理情報132のMPU_ID402に障害が発生したCTL110のMPU120の識別情報が設定されたエントリを特定し、当該エントリのMPU_ID402にオーナ権の移動先のCTL110のMPU120の識別情報を設定する。
【0070】
また、他の手順例として、制御部130は、LDEV140毎にオーナ権の移動処理を行ってもよい。この場合、制御部130は、LDEVオーナ管理情報132のMPU_ID402に障害が発生したCTL110のMPU120の識別情報が設定されており、かつLDEV_ID401に対象のLDEV140の識別情報が設定されたエントリを特定し、当該エントリのMPU_ID402にオーナ権の移動先のCTL110のMPU120の識別情報を設定してもよい。
【0071】
制御部130は、実行フラグをONに設定する(ステップS905)。このとき、制御部130は、優先パス管理情報133に登録されている全てのホスト101の識別情報を実行フラグに関連付ける。
【0072】
以上の処理によってCTL110の状態にあわせて優先パスの設定を変更できる。
【0073】
なお、
図9では障害の発生したCTL110の制御部130がCTL障害対応処理を実行する場合について説明したが、正常に動作する他のCTL110の制御部130が代行して実行してもよい。この場合、各CTL110の制御部130がスイッチ112を介して他のCTL110の動作状況を定期的に監視し、動作状況から障害と判定するか、障害が発生した旨の報知検出によって障害の発生したCTL110を特定するようにしてもよい。
【0074】
図10は、実施例1のストレージシステム100が実行するオーナ権移動処理の一例を説明するフローチャートである。
【0075】
制御部130は、ホスト101からオーナ権の移動指示を受信した場合、当該指示にしたがってオーナ権の移動処理を実行する(ステップS1001)。オーナ権の移動処理は
図9のステップS904と同一のため説明は省略する。この場合もストレージシステム100においてオーナ権の移動先が決定されるため、ホスト101は移動指示の際にオーナ権の移動先のCTL110を指定する必要はない。
【0076】
制御部130は、実行フラグをONに設定する(ステップS1002)。このとき、制御部130は、指示を送信したホスト101の識別情報を実行フラグに関連付ける。これに伴い、制御部130は
図6に示された手順で優先パス通知処理を実行し、優先パスを通知するための構成変更通知を受信したホスト101は、
図7に示された手順で優先パス設定処理を行う。
【0077】
以上の処理によってオーナ権の移動に追従して優先パスの設定を変更できる。
【0078】
図11A及び
図11Bは、実施例1のストレージシステム100が実行するMPU負荷対応処理の一例を説明するフローチャートである。以下に説明するMPU負荷対応処理は、優先パスが設定されているCTL110のMPU120の負荷状況に応じて、優先パスの解除及び切り替えを実施する。
【0079】
MPU120の負荷増大が検出された場合、
図11Aの処理が実行される。
【0080】
制御部130は、負荷が増大したMPU120がオーナ権を有するLDEV140に関する優先パスを設定しているホスト101(対象ホスト101)を特定する(ステップS1101)。
【0081】
具体的には、制御部130は、LDEVオーナ管理情報132を参照して、負荷が増大したMPU120がオーナ権を有するLDEV140を特定し、さらに構成管理情報131を参照して、特定されたLDEV140が割り当てられているボリューム150を特定する。制御部130は、優先パス管理情報133を参照して、Vol_ID501に特定されたボリューム150の識別情報が設定され、かつ、優先パス503に「済」が設定されているエントリを検索する。制御部130は、検索されたエントリのホストID502に対応するホスト101を対象ホスト101として特定する。
【0082】
制御部130は、特定されたホスト101に優先パス解除通知を送信する(ステップS1102)。当該通知を受信したホスト101は優先パスの設定を無効化する。IO要求を送信する場合、ホスト101は、ラウンドロビン方式で一つの物理パスを選択する。
【0083】
制御部130は、優先パス管理情報133を更新する(ステップS1103)。
【0084】
具体的には、制御部130は、ステップS1101において検索されたエントリの優先パス503に「未」を設定する。
【0085】
以上の処理によってMPU120の負荷増大にあわせて使用するパスを調整できる。
【0086】
MPU120の負荷減少が検出された場合、
図11Bの処理が実行される。
【0087】
制御部130は、対象ホスト101を特定する(ステップS1111)。
【0088】
具体的には、制御部130は、LDEVオーナ管理情報132を参照して、負荷が減少したMPU120がオーナ権を有するLDEV140を特定し、さらに構成管理情報131を参照して、特定されたLDEV140が割り当てられているボリューム150を特定する。制御部130は、優先パス管理情報133を参照して、Vol_ID501に特定されたボリューム150の識別情報が設定され、かつ、優先パス503に「未」が設定されているエントリを検索する。制御部130は、検索されたエントリのホストID502に対応するホスト101を対象ホスト101として特定する。
【0089】
制御部130は、実行フラグをONに設定する(ステップS1112)。このとき、制御部130は、対象ホスト101の識別情報を実行フラグに関連付ける。これに伴い、制御部130は
図6に示された手順で優先パス通知処理を実行する。
【0090】
以上の処理によってMPU120の負荷減少にあわせて優先パスを設定できる。
【0091】
以上で説明したように、本実施例によれば、ストレージシステム100は、IOの処理性能が高い物理パスを優先パスとして設定するようにホスト101に通知を行う。これによって、ユーザの操作負担を増大させることなく、IOの処理性能が高い物理パスをホスト101が使用できる。
【0092】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0093】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0094】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0095】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0096】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。