説明

計算機システム及び動的ポート割当方法

【課題】ストレージシステムのI/Oポートの使用帯域を監視し、複数のI/Oポートの使用帯域で一定以上の使用帯域の差が生じた際に各I/Oポートの使用帯域が均一になるようにストレージシステムに接続しているホスト計算機をリダイレクトする。
【解決手段】 ストレージシステム1のコントローラ16又は管理計算機100がストレージシステム1の各I/Oポート15の使用帯域と、各I/Oポート15に接続している各ホスト計算機2の使用帯域とを監視し、使用帯域が最大のI/Oポート15から最小のI/Oポートへ、I/Oポートの使用帯域の差分に近い使用帯域のホスト計算機2をリダイレクトする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はホスト計算機が接続するストレージシステムのポートを動的に割当てる方法及びシステムに関する。
【背景技術】
【0002】
ディスクアレイ装置に代表されるストレージシステムは、ストレージシステム内のディスク装置の記憶域を論理的に分割し、これをボリュームとしてホスト計算機に提供する。ストレージシステムとホスト計算機とをそれぞれネットワークに接続し、ストレージシステムが有するボリュームをホスト計算機に提供するストレージエリアネットワーク(SAN)が広く普及している。
【0003】
SANでは、SCSIコマンドをネットワークプロトコルにカプセル化して通信をすることで、ホスト計算機が、ストレージシステム内のボリュームにアクセスする。例えば、iSCSIでは、SCSIコマンドをIPネットワーク用にカプセル化している。iSCSIは、SCSIコマンドをホスト計算機上で動作するiSCSIイニシエータと、ストレージシステム上で動作するiSCSIターゲット間でIPコネクションを確立し、IPコネクション上で、ホスト計算機がストレージシステムにアクセスするための通信を制御する。iSCSIでは、このIPコネクションをiSCSIセッションと称する。このiSCSIセッションは、iSCSIイニシエータがiSCSIターゲットにログインすることで確立する。
【0004】
このようなSANにおいては、複数のホスト計算機がストレージシステムの同一のポートを介して、iSCSIセッションに接続し、ボリュームにアクセスする。このため、あるホスト計算機によるボリュームへのアクセス負荷が高くなった際に、ストレージシステムの同一のポートに接続する他のホスト計算機によるボリュームへのアクセス性能が大幅に低下するという問題がある。
【0005】
iSCSIでは、ホスト計算機(iSCSIイニシエータ)がストレージシステム(iSCSIターゲット)へログインする際に、ストレージシステムがホスト計算機に接続先のポートの識別情報を通知し、ホスト計算機がそのポートに接続する、リダイレクトと称される方法が提供されている。リダイレクトの機能を応用すれば、複数のポートを有するストレージシステムにおいて、各ポートに接続するホスト計算機の台数を均等化することができる。
【0006】
また、特開2006−40026公報では、ホスト計算機が、ストレージシステムの複数のポートに接続し、ホスト計算機が各ポートの通信状態を監視することで、負荷の低いポートを使用してストレージシステムへアクセスする方法が開示されている。これにより、ホスト計算機がストレージシステムにアクセスするときのアクセス性能の低下を抑制できる。
【特許文献1】特開2006−40026公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
計算機システムが大規模化し、SANに接続するホスト計算機が大幅に増加した環境において、特開2006−40026公報の方法により各ホスト計算機が接続パスを切替えると、大量のホスト計算機が同時に同一のポートへ接続パスを切替える事態が生じ得るので、かかる事態が発生すると、切替え先の接続パスの負荷が増加し、再度接続パスを切替えなければならない事態が発生するという問題がある。
【0008】
また、特開2006−40026公報の方法では、ストレージシステムの各ポートに接続するホストの台数を均等化することが可能であるが、各ホスト計算機がストレージシステムに与える負荷が分からないため、各ポートの負荷が不均一になる問題がある。
【0009】
そこで、本発明は、このような問題を解決し、ストレージシステムのポート間の負荷を均一化し、負荷が高くなっていたポートに接続しているホスト計算機のアクセス性能の低下抑止することを課題とする。
【課題を解決するための手段】
【0010】
上記の課題を解決するため、本発明の第一の観点による計算機システムは、複数のホスト計算機と、複数のホスト計算機に接続するための複数のポートを有しストレージネットワークを介して複数のホスト計算機にボリュームを提供する少なくとも一つのストレージシステムとを有する。ストレージシステムは、複数のポート間の負荷の差を監視し、複数のホスト計算機とストレージシステムとの間の接続パスの負荷を監視し、複数のポート間の負荷の差が所定値以上になると、複数のポートのうち最も負荷の高いポートに接続しているホスト計算機を識別し、識別した少なくとも一つのホスト計算機とストレージシステムとの間の接続を切断し、ストレージシステムとの接続を切断されたホスト計算機がストレージシステムへ再接続要求を送信してきたときに、複数のポートのうち最も負荷の低いポートにリダイレクトする指示を、再接続要求をしてきたホスト計算機に送信する。
【0011】
かかる構成によれば、ストレージシステムの複数のポートの負荷を監視し、負荷の高いポートから低いポートへセッションを移動することが可能であるため、ポート間の負荷を均一化し、負荷が高くなっていたポートに接続しているホスト計算機のアクセス性能の大幅な低下を防止できる効果がある。
【0012】
ここで、ストレージシステムは、複数のポートのうち最も負荷の高いポートと最も負荷の低いポートとの平均負荷を算出し、最も負荷の低いポート又は最も負荷の高いポートの負荷と平均負荷との差分負荷を算出し、複数のホスト計算機のうちポートに加える負荷が差分負荷に最も近いホスト計算機を選択する。
【0013】
ストレージシステムは、識別したホスト計算機を最も負荷の低いポートへ移行したときの複数のポート間の負荷の差を算出し、識別したホスト計算機を最も負荷の低いポートへ移行したときの複数のポート間の負荷の差が所定値以上の場合にホスト計算機を識別する処理を実行する。
【0014】
本発明の第二の観点による計算機システムは、複数のホスト計算機と、複数のホスト計算機に接続するための複数のポートを有しストレージネットワークを介して複数のホスト計算機にボリュームを提供する少なくとも一つのストレージシステムと、複数のホスト計算機とストレージシステムとのそれぞれに管理ネットワークを介して接続する管理計算機とを有する。管理計算機は、複数のポート間の負荷の差を監視し、複数のポートに接続しているホスト計算機がポートに加えている負荷を監視し、複数のポート間の負荷の差が所定値以上になると、複数のポートのうち最も負荷の高いポートに接続しているホスト計算機を識別し、識別した少なくとも一つのホスト計算機に対し、複数のポートのうち最も負荷の低いポートに再接続する指示を送信する。ホスト計算機は、管理計算機による再接続指示にて指定されたポートへ再接続する。
【0015】
かかる構成によれば、ストレージシステムの複数のポートの負荷を監視し、負荷の高いポートから低いポートへセッションを移動することが可能であるため、ポート間の負荷を均一化し、負荷が高くなっていたポートに接続しているホスト計算機のアクセス性能の大幅な低下を防止できる効果がある。
【0016】
ここで、管理計算機は、複数のポートのうち最も負荷の高いポートと、最も負荷の低いポートとの平均負荷を算出し、最も負荷の低いポート又は最も負荷の高いポートの負荷と、平均負荷との差分負荷を算出し、複数のホスト計算機のうちポートに加える負荷が差分負荷に最も近いホスト計算機を選択する。
【0017】
管理計算機は、識別したホスト計算機を最も負荷の低いポートへ移行したときの複数のポート間の負荷の差を算出し、識別したホスト計算機を最も負荷の低いポートへ移行したときの複数のポート間の負荷の差が所定値以上の場合にホスト計算機を識別する処理を再度実行する。
【0018】
ホスト計算機は、管理計算機が送信する再接続指示により指定されるストレージシステムのポートへ再接続した後にそれまでにホスト計算機が使用していたポートへのアクセスが終了するときに、それまでに使用していたポートとホスト計算機との接続を切断する。
【発明の効果】
【0019】
本発明によれば、ストレージシステムの複数のポートの負荷を監視し、負荷の高いポートから低いポートへセッションを移動することが可能であるため、ポート間の負荷を均一化し、負荷が高くなっていたポートに接続しているホスト計算機のアクセス性能の大幅な低下を防止できる効果がある。
【0020】
また、ホスト計算機が接続するストレージシステムのポートを自動的に割当てることになるため、ホスト計算機を接続するストレージシステムのポートの割当設計及び割当設定が不要となり、管理者の負担を軽減できる効果がある。
【発明を実施するための最良の形態】
【0021】
[実施例1]
【0022】
図1は本発明の実施例1に係わる計算機システムのシステム構成を示す。本実施例に係わる計算機システムは、複数のホスト計算機2と、ストレジーネトワーク3を介してホスト計算機2に接続する少なくとも1台のストレージシステム1を有する。ここで、ストレージシステム1は、図示するように、個別の装置であっても構わないし、或いは1台のストレージシステムを論理分割してなる仮想的なストレージシステムであっても構わない。
【0023】
ホスト計算機2は、ストレージネットワーク3を介して、ストレージシステム3が提供するボリュームにアクセスする。ホスト計算機2は、メモリ4と、CPU5と、ストレージネットワーク4に接続するためのI/Oポート6と、メモリ4、CPU5、及びI/Oポート6を接続する内部バス10を有する。メモリ4には、ストレージネットワーク3の通信プロトコルで通信するための通信制御処理プログラム12と、ストレージシステム3へのアクセス制御を行うイニシエータ11が格納されている他、オペレーティングシステム(図示せず)やストレージシステム1に格納しているデータにアクセスするためのアプリケーションプログラム(図示せず)が格納さている。CPU5は、これらのプログラムを実行し、ストレージシステム1が提供するボリュームにアクセスする。
【0024】
図2は本実施例に係わるストレージシステム1のシステム構成を示す。ストレージシステム1はストレージネットワーク3を管理するための管理ポート14と、ストレージネットワーク3に接続するための少なくとも二つのI/Oポート15と、ストレージシステム1内の制御を行うコントローラ16と、コントローラ16が用いるプログラムメモリ17と、少なくとも一つのボリューム19を提供する少なくとも一つのディスク装置18と、を有する。
【0025】
プログラムメモリ17には、ストレージシステム1の各I/Oポート15の性能情報を保持するポート性能情報テーブル30と、各I/Oポート15に接続しているホスト計算機2とストレージシステム1との間の論理的なセッション毎の性能情報を保持するセッション性能情報テーブル40と、セッションのリダイレクト先ポートを選択する際に使用するリダイレクトポートテーブル50と、リダイレクトするセッションを選択する際に使用するリダイレクトセッションテーブル60と、セッションのリダイレクトを開始するための条件として、複数のI/Oポート15間の性能差の閾値を保持する切替え閾値70を格納している。
【0026】
尚、ディスク装置18は、FC(Fibre Channel)ディスクドライブ、SATA(Serial Advanced Technology Attachment)ディスクドライブ、PATA(Parallel Advanced Technology Attachment)ディスクドライブ、FATA(Fibre Attached Technology Adapted)ディスクドライブ、SCSI(Small Computer System Interface)ディスクドライブ等の各種ディスクドライブであるが、ボリューム19を提供するストレージデバイスとして、ディスク装置18の他にフラッシュメモリ等を用いてもよい。
【0027】
図3はポート性能情報テーブル30のテーブル構造を示す。ポート性能情報テーブル30は、ボリューム19にアクセスするために使用するストレージシステム1のI/Oポート15の識別情報を登録するためのフィールド31と、I/Oポート15の帯域を登録するためのフィールド32と、I/Oポート15にて使用されている帯域を登録するためのフィールド33と、I/Oポート15に設定しているIPアドレスを登録するためのフィールド34と、を有する。
【0028】
例えば、“ポート1”という識別情報により識別されるI/Oポート15に関する情報をみると、対応可能帯域は“1000”、使用されている帯域は“400”、当てられているIPアドレスは“192.168.20.100”であることが分かる。ストレージシステム1のコントローラ16は、各I/Oポートの使用帯域を監視し、逐次、このポート性能情報テーブル30を更新する。
【0029】
図4はセッション性能情報テーブル40のテーブル構造を示す。セッション性能情報テーブル40は、ボリューム19にアクセスするために使用するストレージシステム1のI/Oポート15の識別情報を登録するためのフィールド41と、I/Oポート15を介して接続するホスト計算機2とストレージシステム1との間の論理的なセッションの識別情報を登録するためのフィールド42と、フィールド42に登録されている識別情報により識別されるセッションを使用してストレージシステム1に接続しているホスト計算機2のI/Oポート6に割当てられているIPアドレスを登録するためのフィールド43と、フィールド41に登録されている識別情報により識別されるI/Oポート15の使用帯域の内、フィールド42に登録されている識別情報により識別されるセッションが使用している帯域を登録するためのフィールド44と、を有している。
【0030】
例えば、“ポート1”という識別情報により識別されるI/Oポート15には、識別情報“S1”と“S2”とにより識別される二つのセッションが接続されており、識別情報“S1”により識別されるセッションは、IPアドレス“192.168.30.10”が割当てられているI/Oポート6を有するホスト計算機2によって使用されており、I/Oポート15の帯域のうち“100”が使用されていることが分かる。
【0031】
図5はリダイレクトポートテーブル50のテーブル構造を示す。リダイレクトポートテーブル50は、ストレージシステム1のI/Oポート15の識別情報を登録するためのフィールド51と、I/Oポート15の対応可能帯域を登録するためのフィールド52と、リダイレクト処理を実施した後のI/Oポート15の使用帯域を登録するためのフィールド53と、I/Oポート15に割当てられているIPアドレスを登録するためのフィールド54と、を有している。
【0032】
例えば、“ポート1”という識別情報により識別されるI/Oポート15の対応可能帯域は“1000”であり、リダイレクト後に使用される帯域は“400”であり、“192.168.20.100”というIPアドレスが割当てられていることが分かる。
【0033】
図6はリダイレクトセッションテーブル60のテーブル構造を示している。リダイレクトセッションテーブル60は、セッションをリダイレクトする先のI/Oポート15の識別情報を登録するフィールド61と、リダイレクトするセッションの識別情報を登録するフィールド62と、フィールド62に登録されている識別情報により識別されるセッションを使用してストレージシステム1に接続しているホスト計算機2のI/Oポート6に割当てられているIPアドレスを登録するためのフィールド63と、フィールド62に登録されている識別情報により識別されるセッションが使用している帯域を登録するためのフィールド64と、フィールド62に登録されている識別情報により識別されるセッションが現在接続しているI/Oポート15の識別情報を登録するためのフィールド65と、を有する。
【0034】
例えば、“S1”という識別情報により識別されるセッションは、現在、“ポート1”という識別情報により識別されるI/Oポート15に接続されており、“192.168.30.10”というIPアドレスが割り当てられているI/Oポート6を有するホスト計算機2によって使用されており、I/Oポート15の帯域のうち“100”を使用しており、ポート2”という識別情報により識別されるI/Oポート15にリダイレクトすることが示されている。
【0035】
図7は切替え閾値70の登録内容例を示している。ストレージシステム1のコントローラ16は、I/Oポート15間の性能差が切替え閾値70を超えた場合に、セッションのリダイレクト処理を実施する。
【0036】
次に、図8乃至図11を用いて、ストレージシステム1のコントローラ16が本実施例に係わる動的ポート割当方法を実行する手順を説明する。
【0037】
図8はストレージシステム1のコントローラ16がストレージシステム1の動的ポート割当方法を実行するための処理フローを示している。
コントローラ16は、ポート性能情報テーブル30内のエントリを一つ取得し、リダイレクトポートテーブル50に登録する(ステップ1001)。具体的には、フィールド31の情報をフィールド51に、フィールド32の情報をフィールド52に、フィールド33の情報をフィールド53に、フィールド34の情報をフィールド54に登録する。
【0038】
次に、コントローラ16は、ポート性能情報テーブル30から全てのエントリに関する情報を取得した否かを確認する(ステップ1002)。全てのエントリに関する情報を取得している場合(ステップ1002;YES)、コントローラ16は、ステップ1003に遷移し、そうでない場合は(ステップ1002;NO)、コントローラ16は、再度、ステップ1001を実行し、ポート性能情報テーブル30内の次のエントリを取得する。
【0039】
コントローラ16は、リダイレクトポートテーブル50内の全エントリのフィールド53を参照し、最大のリダイレクト後帯域と最小のリダイレクト後帯域の差分を算出する(ステップ1003)。図5に示す例では、最大のリダイレクト後帯域は、ポートnのリダイレクト後の帯域が“800”であり、最小のリダイレクト後帯域はポート1の“400”であるので、その差分は“400”となる。
【0040】
次に、コントローラ16は、ステップ1003にて算出したポート使用帯域の最大差分が切り替え閾値70より大きいか否かを確認し(ステップ1004)、大きい場合には(ステップ1004;YES)、ステップ1005に遷移し、小さい場合には(ステップ1004;NO)、ステップ1006に遷移する。
【0041】
コントローラ16は、ステップ1005では、リダイレクトするセッションを選択し、その後、セッションをリダイレクトした後のポート使用帯域の最大差分を再度算出する(ステップ1003)。そして、コントローラ16は、再度、ステップ1004を実行する。ステップ1005の処理の詳細については、後述する。
【0042】
一方、コントローラ16は、ステップ1006では、リダイレクトセッションテーブル60のエントリの有無を確認することにより、リダイレクトするセッションの有無を判定する。リダイレクトするセッションが無い場合(ステップ1006:NO)、コントローラ16は、処理を終了する。リダイレクトするセッションがある場合(ステップ1006;YES)、コントローラ16は、セッションをリダイレクトして(ステップ1007)、処理を終了する。ステップ1007の処理の詳細については、後述する。
【0043】
次に、図9を参照して、リダイレクトするセッションを選択する処理(図8:ステップ1005)について説明する。
コントローラ16は、リダイレクトポートテーブル50を参照し、I/Oポート15の最大使用帯域と最小使用帯域との平均帯域(Avg)を算出する(ステップ1101)。例えば、図5に示す例では、ポートnの使用帯域が“800”であり、ポート1の使用帯域が“400”であるので、この二つの平均帯域(Avg)は“600”となる。
【0044】
次に、コントローラ16は、I/Oポート15の使用帯域の最大使用帯域と平均帯域(Avg)との差分を差分(d0)に代入する(ステップ1102)。図5に示す例では、ポートnの使用帯域“800”と平均帯域“600”の差分“200”が差分(d0)に代入される。コントローラ16は、ステップ1102にて算出した差分(d0)を差分(d1)に代入する(ステップ1103)。
【0045】
次に、コントローラ16は、セッション性能情報テーブル40から、最大使用帯域のI/Oポート15に接続しているセッションに対応するエントリを一つ取得し(ステップ1104)、差分(d0)とステップ1104で取得したエントリのフィールド44の値との差分(d2)を算出する(ステップ1105)。
【0046】
次に、コントローラ16は、差分(d1)と差分(d2)とを比較し(ステップ1106)、差分(d1)の方が小さい場合(ステップ1106;NO)、ステップ1109に遷移し、差分(d2)の方が小さい場合(ステップ1106;YES)、ステップ1107に遷移する。
【0047】
コントローラ16は、ステップ1107では、差分(d1)を差分(d2)に代入し、ステップ1105にて取得したセッションをリダイレクトするセッションの候補として保持する(ステップ1108)。
【0048】
次に、コントローラ16は、セッション性能情報テーブル40の、最大使用帯域のI/Oポート15に接続している全てのセッションに対するエントリに対して、ステップ1104からステップ1108の処理を実行したかを確認し(ステップ1109)、全てのセッションについて実行している場合(ステップ1109;YES)、ステップ1110に遷移し、一部のセッションについて実行してない場合(ステップ1109;NO)、ステップ1104に遷移する。
【0049】
コントローラ16は、ステップ1108にてリダイレクトする候補のセッションとして選択したセッションに対応するセッション性能情報テーブル40のエントリの内容をリダイレクトセッションテーブル60に記録する(ステップ1110)。具体的には、フィールド41の情報をフィールド65に登録し、フィールド42の情報をフィールド62に登録し、フィールド43の情報をフィールド63に登録し、フィールド44の情報をフィールド64に登録する。また、フィールド61には、最小使用帯域のI/Oポート15の識別情報を登録する。
以上の処理を経て、リダイレクトするセッションの選択処理が完了する。
【0050】
次に、図10及び図11を用いて、セッションをリダイレクトする処理(図8:ステップ1107)の処理の詳細について説明する。
図10はリダイレクトするセッションを切断する処理フローを示す。
コントローラ16は、リダイレクトセッションテーブル60のエントリを一つ取得し(ステップ1201)、そのエントリが示すセッションを切断する(ステップ1202)。
【0051】
次に、コントローラ16は、リダイレクトセッションテーブル60の全てのエントリに対応するセッションを切断したかを確認し(ステップ1203)、全てのセッションの切断が完了したら(ステップ1203;YES)、処理を終了し、一部のセッションの切断が完了していない場合には(ステップ1203:NO)、ステップ1201に戻る。
【0052】
図11は、セッションを切断されたホスト計算機2から再接続要求を受信した際に、リダイレクト指示をホスト計算機2に送信する処理フローを示す。
コントローラ16は、ホスト計算機2からログインコマンドを受信する(ステップ1204)。
【0053】
次に、コントローラ16は、リダイレクトセッションテーブルから、ログイン要求に含まれるホスト計算機2のI/Oポート6のIPアドレスと、ホスト計算機2がログインするストレージシステム1のI/Oポート15のIPアドレスが割当てられているI/Oポートの識別情報とを含むエントリを検索する(ステップ1205)。
【0054】
次に、コントローラ16は、S1205にてエントリを取得できたか否か、即ち、ログインコマンドを送信したホスト計算機2がリダイレクトする対象か否かを判定する(ステップ1206)。ステップ1206の判定の結果、リダイレクトする必要がある場合(ステップ1206;YES)、コントローラ16は、ステップ1207に遷移し、リダイレクトする必要が無い場合(ステップ1206;NO)、iSCSIの仕様通りにセッションを確立し(ステップ1209)、処理を終了する。
【0055】
コントローラ16は、ステップ1207では、iSCSI仕様のリダイレクトコマンドを、ログインコマンドを送信したホスト計算機2に送信する。そして、コントローラ16は、ステップ1205にて取得したエントリを、リダイレクトセッションテーブル60から削除し(ステップ1208)、処理を終了する。
【0056】
尚、ログインコマンドと,リダイレクトコマンドと,セッションの切断の処理は,「RFC-3347 Small Computer Systems Interface protocol over the Internet (iSCSI) Requirements and Design ConsideratI/Ons」IETF 2002の仕様に基づく。
【0057】
以上、説明したように、本発明の実施例1では、ストレージシステム1のコントローラ16が、ストレージシステム1の各I/Oポート15の使用帯域を監視し、使用帯域の高いポートに接続しているホスト計算機2を、使用帯域の低いポートへ、移行する。このため、ストレージシステム1の複数のI/Oポート15の使用帯域を均等化できる効果がある。
【0058】
また、1台のホスト計算機2が大量にI/Oポートの帯域を消費した際に、同一のI/Oポート15に接続する他のホスト計算機2のストレージシステム1が提供するボリューム19へのアクセス性能の大幅な低下を防止することができる。
【0059】
また、ホスト計算機2が接続するストレージシステム1のI/Oポート15をそのポートの負荷に応じて、自動的に選択するため、ホスト計算機2を接続するストレージシステム1のI/Oポートの割当設計と設定不要になり、管理者の負担を軽減できる効果もある。
[実施例2]
【0060】
図12は本発明の実施例2に係わる計算機システムのシステム構成を示す。図1に示す符号と同一符号のデバイスは同一のデバイスであることを示す。以下の説明では、実施例1と実施例2との主な相違点について説明する。
【0061】
管理計算機100は、管理ネットワーク300を介して、ストレージシステム1へ接続し、ストレージネットワーク3を介して、ホスト計算機2に接続する。また、ホスト計算機2のメモリ4上では、エージェントプログラム500が動作している。エージェントプログラム500の詳細については、後述する。ストレージシステム1は、図示しない管理ポートを介して、管理用ネットワーク300に接続する。
【0062】
尚、ストレージネットワーク3と管理ネットワーク300とは、一つのネットワークであっても構わないが、本実施例では、便宜上二つに分けている。また、本実施例に係わるストレージシステム1のシステム構成は、実施例1に係わるストレージシステム1のシステム構成とほぼ同一であるが、本実施例に係わるストレージシステム1のプログラムメモリは、ポート性能情報テーブル30とセッション性能情報テーブル40のみを格納しており、リダイレクトポートテーブル50、リダイレクトセッションテーブル60、切替え閾値70を格納しない点において実施例1とは異なる。
【0063】
図13は管理計算機100のシステム構成を示す。管理計算機100は、ストレージネットワーク3に接続するためのI/Oポート102と、表示装置107に各種情報を出力するための出力装置103と、キーボード108からの入力情報を処理する入力装置104と、CPU105と、CPU105のワークエリアとして機能するメモリ106と、管理ネットワーク300に接続するための管理ポート120と、I/Oポート102、出力装置103、入力装置104、CPU105、メモリ106、及び管理ポート120を相互に接続する内部バス101を備える。
【0064】
メモリ106には、オペレーティングシステム(図示せず)と、管理ネットワーク300やストレージエリアネットワーク3における通信プロトコルを制御する通信制御プログラム109と、本実施例に係わる動的ポート割当方法を実行する動的ポート割当プログラム110と、ストレージ管理テーブル90と、リダイレクトポートテーブル50と、リダイレクトセッションテーブル60とが格納されている。
【0065】
尚、リダイレクトポートテーブル50とリダイレクトセッションテーブル60の形式及び用途は、実施例1のものと同様であるのである。
【0066】
動的ポート割当プログラム110は、ストレージシステム1のI/Oポート15の性能を監視するポート性能監視プログラム111と、リダイレクトするセッションとI/Oポート15を選択するポート決定プログラム112と、ホスト計算機2で動作するエージェントプログラム500へ接続するI/Oポート15を変更する旨を通知するポート変更通知プログラム113により構成される。
【0067】
図14はストレージ管理テーブル90のテーブル構造を示す。ストレージ管理テーブル90は、ストレージシステム1の識別情報を登録するフィールド91と、フィールド91に登録されている識別情報により識別されるストレージシステム1の管理ポート14のIPアドレスを登録するフィールド92と、フィールド91に登録されている識別情報により識別されるストレージシステム1において、セッションのリダイレクトを開始するI/Oポート15間の使用帯域の差の閾値を登録するフィールド93と、フィールド91に登録されている識別情報により識別されるストレージシステム1が有するI/Oポート15の数を登録するためのフィールド94と、を有している。
【0068】
例えば、“Storage00”により識別されるストレージシステム1は、管理ポート14のIPアドレスが“192.168.1.100”であり、セッションのリダイレクトを開始するためのI/Oポート15間の使用帯域の差が“100”であり、4つのI/Oポート15を有していることが示されている。
【0069】
次に、図15乃至図22を参照しながら、管理計算機100上の動的ポート割当プログラム110が実行する、本実施例に係わる動的ポート割当方法の処理手順について説明する。
図15は動的ポート割当プログラム110が、リダイレクトするセッションを特定し、セッションのリダイレクトを実行する処理フローを示す。
動的ポート割当プログラム110は、ストレージ管理テーブル90のエントリを一つ参照し(ステップ3001)、参照したエントリに対応するストレージシステム1に対して送信する、ポート性能取得コマンド200を作成する(ステップ3002)。
【0070】
図20(A)は、ポート性能取得コマンド200のフォーマットを示す。ポート性能取得コマンド200は、その内容がポート性能取得コマンドであることを示すフィールド201と、性能を取得するI/Oポート15の識別情報を示すフィールド202とを含む。
【0071】
動的ポート割当プログラム110は、ステップ3002では、ステップ3001で参照したエントリのフィールド94からストレージシステム1のI/Oポート15の数を取得し、そのI/Oポート15の識別情報を、ポート性能取得コマンドのフィールド202に代入する。例えば、フィールド94の値が4の場合、I/Oポート15の識別情報は、“ポート1”と、“ポート2”と、“ポート3”と、“ポート4”とを含む。
【0072】
次に、動的ポート割当プログラム110は、ステップ3002にて作成したポート性能取得コマンドを、ステップ3001にて参照したエントリのフィールド92が示す、ストレージシステム1の管理ポート14のIPアドレスへ送信する(ステップ3003)。
【0073】
次に、動的ポート割当プログラム110は、ステップ3003にてストレージシステム1へ送信したポート性能取得コマンド200に対する応答であるポート性能応答データ210をストレージシステム1から取得する(ステップ3004)。
【0074】
図20(B)はポート性能応答データ210のフォーマットを示す。ポート性能応答データ210は、その内容が、ポート性能応答データ210であることを示すフィールド211と、ポート性能応答データ210にその情報を格納するI/Oポート15の識別情報(例えばポート番号など)を登録するフィールド212と、フィールド211が示すI/Oポート15に割当てられているIPアドレスを示すフィールド213と、フィールド211が示すI/Oポート15の帯域を示すフィールド214と、フィールド211が示すI/Oポート15の使用帯域を示すフィールド215で構成する。これにより、動的ポート割当プログラム110は、フィールド212が示すI/Oポート15の使用帯域とそのI/Oポート15に設定されているIPアドレスを取得する。
【0075】
動的ポート割当プログラム110は、ストレージシステム1から取得したポート性能応答データ210の内容をリダイレクトポートテーブル50に登録する(ステップ3004)。具体的には、フィールド212の値をフィールド51に登録し、フィールド213の値をフィールド54に登録し、フィールド214の値をフィールド52に登録し、フィールド214の値をフィールド53に登録する。
【0076】
次に、動的ポート割当プログラム110は、ステップ3001にて参照したストレージ管理テーブル90内のエントリのうちストレージシステム1が有する全てのI/Oポート15について、ステップ3002〜ステップ3004の処理を実行したか否かを確認する(ステップ3005)。全てI/Oポート15についてステップ3002〜ステップ3004の処理が完了している場合(ステップ3005;YES)、動的ポート割当プログラム110は、ステップ3006に遷移し、一部のI/Oポート15についてステップ3002〜ステップ3004の処理が完了してない場合(ステップ3005;NO)、残りのI/Oポート15についてステップ3002〜ステップ3004の処理を実行する。
【0077】
動的ポート割当プログラム110は、ステップ3006では、リダイレクトポートテーブル50内の全エントリのフィールド53を参照し、最大のリダイレクト後帯域と最小のリダイレクト後帯域の差分を算出する。図5に示す例では、最大のリダイレクト後帯域はポートnの“800”であり、最小のリダイレクト後帯域はポート1の“400”であるので、差分は“400”となる。
【0078】
次に、動的ポート割当プログラム110は、ステップ3006にて算出した最大のポート使用帯域の差分が、ストレージ管理テーブル90内のフィールド93の値より大きいか否かを確認し(ステップ3007)、大きい場合は(ステップ3007;YES)、ステップ3008に遷移し、小さい場合は(ステップ3007;NO)、ステップ3009に遷移する。
【0079】
動的ポート割当プログラム110は、ステップ3008では、リダイレクトするセッションを選択する。この処理の詳細は、後述する。動的ポート割当プログラム110は、リダイレクトするセッションを選択した後、セッションをリダイレクトした後の、最大のポート使用帯域の差分を再度算出し(ステップ3006)、その後、テップ3007を実行する。
【0080】
動的ポート割当プログラム110は、ステップ3009では、リダイレクトセッションテーブル60内のエントリの有無を確認することにより、リダイレクトするセッションの有無を確認する。リダイレクトするセッションが無い場合(ステップ3009;NO)、動的ポート割当プログラム110は、ステップ3011に遷移し、リダイレクトするセッションがある場合(ステップ3009;YES)、動的ポート割当プログラム110は、セッションリダイレクト処理を実行し(ステップ3010)、ステップ3011に遷移する。セッションリダイレクト処理(ステップ3010)の詳細については、後述する。
【0081】
動的ポート割当プログラム110は、ステップ3011では、全てのストレージシステム1について、ステップ3001〜ステップ3010の処理を実行したか否かを判定する。全てのストレージシステム1について、ステップ3001〜ステップ3010の処理を実行した場合には(ステップ3011;YES)、処理を終了し、一部のストレージシステム1についてステップ3001〜ステップ3010の処理を実行してない場合には(ステップ3011;NO)、ステップ3001〜ステップ3010の処理を再度実行する。
【0082】
図16は動的ポート割当プログラム110が、リダイレクトするセッションを特定する処理フロー(図15:ステップ3008)を示す。
動的ポート割当プログラム110は、リダイレクトポートテーブル50を参照し、I/Oポート15の最大使用帯域と最小使用帯域の平均帯域(Avg)を算出する(ステップ3001)。例えば、図5に示す例では、ポートnの使用帯域が“800”であり、ポート1の使用帯域が“400”であるので、この二つの平均帯域(Avg)は“600”となる。
【0083】
次に、動的ポート割当プログラム110は、I/Oポート15の使用帯域の最大使用帯域と平均帯域(Avg)を差分(d0)に代入する(ステップ3102)。図5に示す例では、ポートnの使用帯域“800”と平均帯域“600”の差分“200”が差分(d0)に代入される。
【0084】
次に、動的ポート割当プログラム110は、ステップ3102にて算出した差分(d0)を、差分(d1)に代入する(ステップ3103)。
【0085】
次に、動的ポート割当プログラム110は、最大使用帯域のI/Oポート15に接続しているセッション数を取得するためのセッション数取得コマンド220を作成し、これをストレージシステム1に対して送信する(ステップ3104)。
【0086】
図21(A)は、セッション数取得コマンド220のフォーマットを示す。セッション数取得コマンド220は、コマンドがセッション数取得コマンド220であることを示すフィールド221と、セッション数を取得するI/Oポート15の識別情報(例えばポート番号)を登録するフィールド222を含む。
【0087】
動的ポート割当プログラム110は、ステップ3104では、フィールド222に、最大使用帯域のI/Oポート15の識別情報を設定する。
【0088】
次に、動的ポート割当プログラム110は、ストレージシステム1がセッション数取得コマンド220の応答データとして送信するセッション数通知データ230を取得する(ステップ3105)。
【0089】
図21(B)はセッション数通知データ230のフォーマットを示す。セッション数通知データ230は、データがセッション数通知データ230であることを示すフィールド231と、セッション数取得コマンド220のフィールド222で指定されたI/Oポート15に接続しているセッション数を示すフィールド232を含む。
【0090】
動的ポート割当プログラム110は、ステップ3105にて取得したセッション数と同数の分だけ、ステップ3106〜ステップ3111の処理を繰り返し実行する。
【0091】
動的ポート割当プログラム110は、最大使用帯域のI/Oポート15に接続している全セッションの内、一つのセッションが使用している帯域を取得するセッション性能取得コマンド240を作成し、ストレージシステム1へ送信する(ステップ3106)。
【0092】
図21(C)は、セッション性能取得コマンド240のフォーマットを示す。セッション性能取得コマンド240は、コマンドがセッション性能取得コマンドであることを示すフィールド241と、使用帯域を取得するセッションが接続しているI/Oポート15の識別情報(例えばポート番号)を示すフィールド242と、使用帯域を取得するセッションの番号を示すフィールド243とを含む。
【0093】
尚、フィールド243内のセッションの番号は、1からステップ3105で取得したセッション数までの整数で表される。例えば、ステップ3105で取得したセッション数が3の場合、セッションの番号は“1”,“2”,“3”となる。動的ポート割当プログラム110は、ステップ3106では、このセッション番号の内、フィールド243に一つ設定する。
【0094】
次に、動的ポート割当プログラム110は、ストレージシステム1がセッション性能取得コマンド240の応答データとして送信する、セッション性能応答データ250を取得する(ステップ3107)。
【0095】
図21(D)は、セッション性能応答データ250のフォーマットを示す。セッション性能応答データ250は、応答データがセッション性能応答データ250であることを示すフィールド251と、セッション性能応答データ250にその情報を格納するセッションが接続しているI/Oポート15の識別情報(例えばポート番号)を示すフィールド252と、セッション性能取得コマンド240のフィールド243にて指定されたセッションの番号に対応するセッションIDを示すフィールド253と、フィールド253のセッションIDのセッションの使用帯域を示すフィールド254と、フィールド253のセッションIDのセッションでストレージシステム1に接続しているホスト計算機のI/Oポート6のIPアドレスを示すフィールド255を含む。
【0096】
次に、動的ポート割当プログラム110は、差分(d0)と、ステップ3107にて取得したセッション性能通知データ250内のフィールド254の値との差分(d2)を算出する(ステップ3108)。
【0097】
次に、動的ポート割当プログラム110は、差分(d1)と差分(d2)とを比較し(ステップ3109)、差分(d1)の方が小さい場合(ステップ3109;NO)、ステップ3112に遷移し、差分(d2)の方が小さい場合(ステップ3109;YES)、ステップ3110とステップ3111を実行した後にステップ3112へ遷移する。
【0098】
動的ポート割当プログラム110は、差分(d1)を差分(d2)に代入し(ステップ3110)、その後、ステップ3107で取得したセッション性能通知データ240をリダイレクトするセッションの候補に関する情報として保持する(ステップ3111)。
【0099】
動的ポート割当プログラム110は、ステップ3112では、ステップ3105にて取得したセッション数の同数の分だけ、ステップ3106からステップ3111の処理を実行したかを確認する(ステップ3112)。全てのセッションについて、ステップ3106〜ステップ3111の処理を完了している場合(ステップ3112;YES)、動的ポート割当プログラム110は、ステップ3113に遷移し、一部のセッションについて、ステップ3106〜ステップ3111の処理を完了してない場合(ステップ3112;NO)、動的ポート割当プログラム110は、残りのセッションについて、ステップ3106の処理を実行する。
【0100】
動的ポート割当プログラム110は、ステップ3113では、ステップ3111にてリダイレクトする候補のセッションとして選択したセッション性能通知データ40の内容をリダイレクトセッションテーブル60に記録する。具体的には、フィールド252の情報をフィールド65に登録し、フィールド253の情報をフィールド62に登録し、フィールド255の情報をフィールド63に登録し、フィールド254の情報をフィールド64に登録する。また、フィールド61には最小使用帯域のI/Oポート15の識別情報を登録する。
以上の処理を経て、リダイレクトするセッションの選択処理が完了する。
【0101】
図17は動的ポート割当プログラム100がホスト計算機2にリダイレクト指示を通知する処理フロー(図15:ステップ3010)を示す。
動的ポート割当プログラム110は、リダイレクトセッションテーブル60内の一つのエントリを取得し(ステップ3201)、ホスト計算機2に送信するリダイレクトコマンド260を作成する(ステップ3202)。
【0102】
図22(A)はリダイレクトコマンド260のフォーマットを示す。リダイレクトコマンド260は、コマンドがリダイレクトコマンド260であることを示すフィールド261と、リダイレクトするセッションのセッションIDを登録するためのフィールド262と、リダイレクト先のI/Oポート15のIPアドレスを示すフィールド263を含む。
【0103】
動的ポート割当プログラム110は、ステップ3202では、リダイレクトセッションテーブル60内のフィールド62の値をフィールド262に設定し、リダイレクトポートテーブル50内のフィールド51のI/Oポート15の識別情報が、リダイレクトテーブル60内のフィールド61が示す識別情報と一致するエントリのフィールド54の値をフィールド263に設定する。
【0104】
次に、動的ポート割当プログラム110は、ステップ3202にて作成したリダイレクトコマンド260を、リダイレクトコマンドを作成する際に参照したリダイレクトセッションテーブル60内のエントリのフィールド63のIPアドレス、即ち、セッションをリダイレクトするホスト計算機2のI/Oポート6のIPアドレス宛に送信する(ステップ3203)。
【0105】
次に、動的ポート割当プログラム110は、ステップ3203にて送信したリダイレクトコマンド260の応答データであるリダイレクトコマンド受信応答270を受信する(ステップ3204)。
【0106】
図22(B)はリダイレクトコマンド受信応答270のフォーマットを示す。リダイレクト受信応答270は、リダイレクトコマンド260を受信したことを示すフィールド271を含む。
【0107】
次に、動的ポート割当プログラム110は、リダイレクトセッションテーブル60の全てのエントリについて、ステップ3201〜ステップ3204の処理を実行されたか否かを確認する(ステップ3205)。全てのエントリについて、ステップ3201〜ステップ3204の処理が実行された場合(ステップ3205;YES)、動的ポート割当プログラム110は、リダイレクトセッションテーブル60の全エントリを削除し(ステップ3206)、処理を終了する。一方、一部のエントリについて、ステップ3201〜ステップ3204の処理が実行されてない場合(ステップ3205;NO)、動的ポート割当プログラム110は、残りのエントリについてステップ3201〜ステップ3204を実行する。
【0108】
図18はストレージシステム1のコントローラ16が動的ポート割当プログラム110から各種コマンドを受信した際の処理フローを示す。
コントローラ16は、管理計算機1からコマンドを受信する(ステップ1301)。
【0109】
コントローラ16は、コマンドの種別を判定する(ステップ1302)。コマンド種別の判定の結果、受信したコマンドがポート性能取得コマンド200の場合、コントローラ16は、ステップ1311に遷移する。受信したコマンドがセッション数取得コマンド220の場合、コントローラ16は、ステップ1321に遷移する。受信したコマンドがセッション性能取得コマンド240の場合、コントローラ16は、ステップ1331に遷移する。
【0110】
コントローラ16は、ステップ1311では、ポート性能取得コマンド200のフィールド202の識別情報に対応するI/Oポート15のポート性能情報テーブル30のエントリを取得する。具体的には、フィールド31の値がフィールド202の識別情報と一致するエントリを取得する。
【0111】
次に、コントローラ16は、ステップ1311にて取得したポート性能情報30のエントリの内容に基づいて、ポート性能応答データ210を作成する(ステップ1312)。具体的には、フィールド31の値をフィールド212に設定し、フィールド34の値をフィールド213に設定し、フィールド32の値をフィールド214に設定し、フィールド33の値をフィールド215に設定する。
【0112】
次に、コントローラ16は、ステップ1312にて作成したポート性能通知データ210を、ステップ1301にて受信したコマンドを送信してきた管理計算機1へ送信し(ステップ1313)、処理を終了する。
【0113】
コントローラ16は、ステップ1321では、セッション数取得コマンド220のフィールド222の識別情報に対応するI/Oポート15に接続されているセッション数を、セッション性能情報テーブル40から求める。具体的には、セッション性能情報テーブル40のフィールド41の値がセッション数取得コマンド220のフィールド222の値と一致するエントリ数を求める。
【0114】
次に、コントローラ16は、ステップ1321にて求めたセッション数を管理計算機1に通知するためのセッション数通知データ230を作成する(ステップ1322)。具体的には、セッション数通知データ230のフィールド232に、ステップ1321で求めたセッション数を設定する。
【0115】
次に、コントローラ16は、ステップ1322にて作成したセッション数通知データ230を、ステップ1301にて受信したコマンドを送信してきた管理計算機1へ送信し(ステップ1323)、処理を終了する。
【0116】
コントローラ16は、ステップ1331では、セッション性能取得コマンド240のフィールド242の識別情報に対応するI/Oポート15に接続している、フィールド243の番号のセッションのセッション性能情報テーブル40のエントリを取得する。具体的には、セッション性能情報テーブル40のフィールド41の値が、セッション性能取得コマンド240のフィールド242の値と一致するエントリの、フィールド243の番号のエントリを取得する。例えば、フィールド243の値が“2”の場合、2番目のエントリを取得する。
【0117】
次に、コントローラ16は、ステップ1331にて取得したセッション性能情報テーブル40のエントリの内容に基づいて、セッション性能通知データ250を作成する(ステップ1332)。具体的には、セッション性能情報テーブル40のフィールド41の値を、セッション性能通知データ250のフィールド252に設定し、フィールド42の値をフィールド253に設定し、フィールド44の値をフィールド254に設定し、フィールド43の値をフィールド255に設定する。
【0118】
次に、コントローラ16は、ステップ1332にて作成したセッション性能通知データ250を、ステップ1301で受信したコマンドを送信してきた管理計算機1へ送信し(ステップ1333)、処理を終了する。
【0119】
図19はホスト計算機2のエージェントプログラム500が動的ポート割当プログラム110からリダイレクトコマンドを受信した際の処理フローを示す。
エージェントプログラム500は、管理計算機100からリダイレクトコマンド260を受信し(ステップ2001)、そのコマンドを受信したことを示すリダイレクトコマンド受信応答270を管理計算機100へ送信する。
【0120】
エージェントプログラム500は、ステップ2001にて受信したリダイレクトコマンド260内のフィールド263のIPアドレスに対して、ログインを実行し(ステップ2002)、セッションを確立する。
【0121】
次に、エージェントプログラム500は、ステップ2001にて受信したリダイレクトコマンド260内のフィールド262のセッションIDのセッションでストレージシステム1へのアクセス処理が実行されているか否かを確認する(ステップ2003)。アクセス処理が実行されている場合(ステップ2003;YES)、再度、ステップ2003に戻る。アクセス処理が実行されてない場合(ステップ203;NO)、エージェントプログラム500は、フィールド262のセッションIDのセッションを切断し(ステップ2004)、処理を終了する。
【0122】
尚、ログイン処理と,セッションの切断の処理は、「RFC-3347 Small Computer Systems Interface protocol over the Internet (iSCSI) Requirements and Design ConsideratI/Ons」IETF 2002の仕様に基づく。
【0123】
以上説明したように、本発明の実施例2によれば、管理計算機100がストレージシステム1の各I/Oポート15の使用帯域を監視し、使用帯域の高いポートに接続しているホスト計算機2を、使用帯域の低いポートへ、移行する。このため、ストレージシステム1の複数のI/Oポート15の使用帯域を均等化できる効果がある。
【0124】
また、1台のホスト計算機2が大量にI/Oポートの帯域を消費した際に、同一のI/Oポート15に接続する他のホスト計算機2のストレージシステム1が提供するボリューム19へのアクセス性能の大幅な低下を防止することができる。
【0125】
また、ホスト計算機2が接続するストレージシステム1のI/Oポート15をそのポートの負荷に応じて、自動的に選択するため、ホスト計算機2を接続するストレージシステム1のI/Oポートの割当設計と設定不要になり、管理者の負担を軽減できる効果もある。
【図面の簡単な説明】
【0126】
【図1】実施例1に係わる計算機システムのシステム構成図である。
【図2】実施例1に係わるストレージシステムのシステム構成図である。
【図3】ポート性能情報テーブルのテーブル構造を示す説明図である。
【図4】セッション性能情報テーブルのテーブル構造を示す説明図である。
【図5】リダイレクトポートテーブルのテーブル構造を示す説明図である。
【図6】リダイレクトセッションテーブルのテーブル構造を示す説明図である。
【図7】切替え閾値の登録内容の説明図である。
【図8】セッションをリダイレクトする処理フローを示すフローチャートである。
【図9】リダイレクトするセッションを特定する処理フローを示すフローチャートである。
【図10】リダイレクトするセッションを切断する処理フローを示すフローチャートである。
【図11】再接続してきたホスト計算機にリダイレクト先のI/Oポートのアドレスを通知する処理フローを示すフローチャートである。
【図12】実施例2に係わる計算機システムのシステム構成図である。
【図13】管理計算機のシステム構成図である。
【図14】ストレージ管理テーブルのテーブル構造を示す説明図である。
【図15】動的ポート割当プログラムが、リダイレクトするセッションを特定し、セッションのリダイレクトを実行する処理フローを示すフローチャートである。
【図16】動的ポート割当プログラムが、リダイレクトするセッションを特定する処理フローを示すフローチャートである。
【図17】動的ポート割当プログラムが、ホスト計算機にリダイレクト指示を通知する処理フローを示すフローチャートである。
【図18】ストレージシステムのコントローラが、動的ポート割当プログラムから各種コマンドを受信した際の処理フローを示すフローチャートである。
【図19】ホスト計算機のエージェントプログラムが動的ポート割当プログラムからリダイレクトコマンドを受信した際の処理フローを示すフローチャートである。
【図20】ポート性能取得コマンドとポート性能通知データのフォーマットを示す説明図である。
【図21】セッション数取得コマンドとセッション数通知データとセッション性能取得コマンドとセッション性能通知データのフォーマットを示す説明図である。
【図22】リダイレクトコマンドとリダイレクトコマンド受信応答のフォーマットを示す説明図である。
【符号の説明】
【0127】
1…ストレージシステム
2…ホスト計算機
3…ストレージネットワーク
4,106…メモリ
5,105…CPU
6,15,102…I/Oポート
10,101…内部バス
11…イニシエータ
12,109…通信制御処理プログラム
14,120…管理ポート
16…コントローラ
17…プログラムメモリ
18…ディスク装置
19…ボリューム
30…ポート性能情報テーブル
40…セッション性能情報テーブル
50…リダイレクトポートテーブル
60…リダイレクトセッションテーブル
70…切替え閾値
90…ストレージ管理テーブル
100…管理計算機
103…出力装置
104…入力装置
107…表示装置
108…キーボード
110…動的ポート割当プログラム
111…ポート性能監視処理
112…ポート決定処理
113…ポート変更通知処理
200…ポート性能取得コマンド
210…ポート性能通知データ
220…セッション数取得コマンド
230…セッション数通知データ
240…セッション性能取得コマンド
250…セッション性能通知データ
260…リダイレクトコマンド
270…リダイレクトコマンド受信応答
300…管理用ネットワーク
500…エージェントプログラム

【特許請求の範囲】
【請求項1】
複数のホスト計算機と、前記複数のホスト計算機に接続するための複数のポートを有しストレージネットワークを介して前記複数のホスト計算機にボリュームを提供する少なくとも一つのストレージシステムとを有する計算機システムであって、
前記ストレージシステムは、
前記複数のポート間の負荷の差を監視するポート負荷監視部と、
前記複数のホスト計算機と前記ストレージシステムとの間の接続パスの負荷を監視するパス負荷監視部と、
前記複数のポート間の負荷の差が所定値以上になると、前記複数のポートのうち最も負荷の高いポートに接続している前記ホスト計算機を識別する識別部と、
前記識別した少なくとも一つの前記ホスト計算機と前記ストレージシステムとの間の接続を切断する接続制御部と、
前記ストレージシステムとの接続を切断された前記ホスト計算機が前記ストレージシステムへ再接続要求を送信してきたときに、前記複数のポートのうち最も負荷の低いポートにリダイレクトする指示を、前記再接続要求をしてきた前記ホスト計算機に送信する送信部と、
を備える計算機システム。
【請求項2】
請求項1に記載の計算機システムであって、
前記識別部は、前記複数のポートのうち最も負荷の高いポートと最も負荷の低いポートとの平均負荷を算出し、前記最も負荷の低いポート又は前記最も負荷の高いポートの負荷と前記平均負荷との差分負荷を算出し、前記複数のホスト計算機のうち前記ポートに加える負荷が前記差分負荷に最も近い前記ホスト計算機を選択する、計算機システム。
【請求項3】
請求項1又は請求項2に記載の計算機システムであって、
前記ストレージシステムは、前記識別した前記ホスト計算機を前記最も負荷の低いポートへ移行したときの前記複数のポート間の負荷の差を算出し、前記識別した前記ホスト計算機を前記最も負荷の低いポートへ移行したときの前記複数のポート間の負荷の差が所定値以上の場合に前記ホスト計算機を識別する処理を実行する、計算機システム。
【請求項4】
複数のホスト計算機と、前記複数のホスト計算機に接続するための複数のポートを有しストレージネットワークを介して前記複数のホスト計算機にボリュームを提供する少なくとも一つのストレージシステムと、前記複数のホスト計算機と前記ストレージシステムとのそれぞれに管理ネットワークを介して接続する管理計算機とを有する計算機システムであって、
前記管理計算機は、
前記複数のポート間の負荷の差を監視するポート負荷監視部と、
前記複数のポートに接続している前記ホスト計算機が前記ポートに加えている負荷を監視するホスト負荷監視部と、
前記複数のポート間の負荷の差が所定値以上になると、前記複数のポートのうち最も負荷の高いポートに接続している前記ホスト計算機を識別する識別部と、
前記識別した少なくとも一つの前記ホスト計算機に対し、前記複数のポートのうち最も負荷の低いポートに再接続する指示を送信する送信部と、
を備え、
前記ホスト計算機は、前記管理計算機による再接続指示にて指定された前記ポートへ再接続する、計算機システム。
【請求項5】
請求項4に記載の計算機システムであって、
前記識別部は、前記複数のポートのうち最も負荷の高いポートと、最も負荷の低いポートとの平均負荷を算出し、前記最も負荷の低いポート又は前記最も負荷の高いポートの負荷と、前記平均負荷との差分負荷を算出し、前記複数のホスト計算機のうち前記ポートに加える負荷が前記差分負荷に最も近い前記ホスト計算機を選択する、計算機システム。
【請求項6】
請求項4又は請求項5に記載の計算機システムであって、
前記管理計算機は、前記識別した前記ホスト計算機を前記最も負荷の低いポートへ移行したときの前記複数のポート間の負荷の差を算出し、前記識別した前記ホスト計算機を前記最も負荷の低いポートへ移行したときの前記複数のポート間の負荷の差が所定値以上の場合に前記ホスト計算機を識別するステップを再度実行する、計算機システム。
【請求項7】
請求項4乃至請求項6のうち何れか1項に記載の計算機システムであって、
前記ホスト計算機は、前記管理計算機が送信する再接続指示により指定される前記ストレージシステムの前記ポートへ再接続した後に、それまでに前記ホスト計算機が使用していた前記ポートへのアクセスが終了するときに、前記それまでに使用していたポートと前記ホスト計算機との接続を切断する、計算機システム。
【請求項8】
複数のホスト計算機と、前記複数のホスト計算機に接続するための複数のポートを有しストレージネットワークを介して前記複数のホスト計算機にボリュームを提供する少なくとも一つのストレージシステムとを有する計算機システムにおける動的ポート割当方法であって、
前記複数のポート間の負荷の差を前記ストレージシステムが監視するステップと、
前記複数のホスト計算機と前記ストレージシステムとの間の接続パスの負荷を前記ストレージシステムが監視するステップと、
前記複数のポート間の負荷の差が所定値以上になると、前記複数のポートのうち最も負荷の高いポートに接続している前記ホスト計算機を前記ストレージシステムが識別するステップと、
前記識別した少なくとも一つの前記ホスト計算機と前記ストレージシステムとの間の接続を前記ストレージシステムが切断するステップと、
前記ストレージシステムとの接続を切断された前記ホスト計算機が前記ストレージシステムへ再接続要求を送信してきたときに、前記複数のポートのうち最も負荷の低いポートにリダイレクトする指示を、前記再接続要求をしてきた前記ホスト計算機に前記ストレージシステムが送信するステップと、
を備える動的ポート割当方法。
【請求項9】
請求項8に記載の動的ポート割当方法であって、
前記ホスト計算機を識別するステップは、
前記複数のポートのうち最も負荷の高いポートと最も負荷の低いポートとの平均負荷を算出するステップと、
前記最も負荷の低いポート又は前記最も負荷の高いポートの負荷と前記平均負荷との差分負荷を算出するステップと、
前記複数のホスト計算機のうち前記ポートに加える負荷が前記差分負荷に最も近い前記ホスト計算機を選択するステップと、
を含む動的ポート割当方法。
【請求項10】
請求項8又は請求項9に記載の動的ポート割当方法であって、
前記識別した前記ホスト計算機を前記最も負荷の低いポートへ移行したときの前記複数のポート間の負荷の差を算出するステップと、
前記識別した前記ホスト計算機を前記最も負荷の低いポートへ移行したときの前記複数のポート間の負荷の差が所定値以上の場合に前記ホスト計算機を識別するステップを再度実行するステップと、
を更に備える動的ポート割当方法。
【請求項11】
複数のホスト計算機と、前記複数のホスト計算機に接続するための複数のポートを有しストレージネットワークを介して前記複数のホスト計算機にボリュームを提供する少なくとも一つのストレージシステムと、前記複数のホスト計算機と前記ストレージシステムとのそれぞれに管理ネットワークを介して接続する管理計算機とを有する計算機システムにおける動的ポート割当方法であって、
前記管理計算機が前記複数のポート間の負荷の差を監視するステップと、
前記複数のポートに接続している前記ホスト計算機が前記ポートに加えている負荷を前記管理計算機が監視するステップと、
前記複数のポート間の負荷の差が所定値以上になると、前記複数のポートのうち最も負荷の高いポートに接続している前記ホスト計算機を前記管理計算機が識別するステップと、
前記識別した少なくとも一つの前記ホスト計算機に対し、前記複数のポートのうち最も負荷の低いポートに再接続する指示を前記管理計算機が送信するステップと、
前記管理計算機による再接続指示にて指定された前記ポートへ前記ホスト計算機が再接続するステップと、
を備える動的ポート割当方法。
【請求項12】
請求項11に記載の動的ポート割当方法であって、
前記ホスト計算機を識別するステップは、
前記複数のポートのうち最も負荷の高いポートと、最も負荷の低いポートとの平均負荷を算出するステップと、
前記最も負荷の低いポート又は前記最も負荷の高いポートの負荷と、前記平均負荷との差分負荷を算出するステップと、
前記複数のホスト計算機のうち前記ポートに加える負荷が前記差分負荷に最も近い前記ホスト計算機を選択するステップと、
を含む動的ポート割当方法。
【請求項13】
請求項10又は請求項11に記載の動的ポート割当方法であって、
前記識別した前記ホスト計算機を前記最も負荷の低いポートへ移行したときの前記複数のポート間の負荷の差を算出するステップと、
前記識別した前記ホスト計算機を前記最も負荷の低いポートへ移行したときの前記複数のポート間の負荷の差が所定値以上の場合に前記ホスト計算機を識別するステップを再度実行するステップと、
を更に備える動的ポート割当方法。
【請求項14】
請求項10乃至請求項13のうち何れか1項に記載の動的ポート割当方法であって、
前記ホスト計算機が再接続するステップは、
前記管理計算機が送信する再接続指示により指定される前記ストレージシステムの前記ポートへ前記ホスト計算機が再接続した後に、それまでに前記ホスト計算機が使用していた前記ポートへのアクセスが終了するときに、前記それまでに使用していたポートと前記ホスト計算機との接続を切断するステップ、
を含む動的ポート割当方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate