(57)【要約】  計算機システムは、１以上の記憶デバイスにより構成される論理ボリュームを一意に特定する識別情報を含む入出力処理要求を送信するサーバと、前記入出力処理要求を処理可能な複数の入出力処理ユニットと、複数の前記論理ボリュームと、を有するストレージ装置と、前記ストレージ装置を管理する管理計算機と、を含む。入出力処理要求が通過するサーバと論理ボリュームとの間の経路上に存在する特定のリソース群を管理する特定のプロセッサが、計算機システム内に存在する。特定のプロセッサは、特定のリソース群の中の第１のリソースが過負荷である場合に、第１のリソースの負荷の一部を特定のリソース群の中の第２のリソースへ分散する負荷分散案を算出し、負荷分散案を表示可能に出力し、負荷分散案を出力した結果、負荷分散案の実行指示を受け付けた場合、負荷分散案にしたがって、第１のリソースの負荷を前記第２のリソースに分散する。
2016031041.tif 000002
【特許請求の範囲】
【請求項１】
１以上の記憶デバイスにより構成される論理ボリュームを一意に特定する識別情報を含む入出力処理要求を送信するサーバと、
前記入出力処理要求を処理可能な複数の入出力処理ユニットと、複数の前記論理ボリュームと、を有するストレージ装置と、
前記ストレージ装置を管理する管理計算機と、
を含む計算機システムであって、
前記計算機システム内に存在し、前記入出力処理要求が通過する前記サーバと前記論理ボリュームとの間の経路上に存在する特定のリソース群を管理する特定のプロセッサが、
前記特定のリソース群の中の第１のリソースが過負荷である場合に、前記第１のリソースの負荷の一部を前記特定のリソース群の中の第２のリソースへ分散する負荷分散案を算出し、
前記負荷分散案を表示可能に出力し、
前記負荷分散案を出力した結果、前記負荷分散案の実行指示を受け付けた場合、前記負荷分散案にしたがって、前記第１のリソースの負荷を前記第２のリソースに分散する、
ことを特徴とする計算機システム。
【請求項２】
前記負荷分散案を算出する場合、前記特定のプロセッサは、前記第１のリソースの負荷が閾値を超過した量である閾値超過量を算出し、
前記第１のリソースからの前記入出力処理要求が到達する複数の論理ボリュームの各々についての前記第１のリソースの負荷の量を取得し、
前記各論理ボリュームの負荷の量のうち、前記閾値超過量以上であり、かつ、前記閾値超過量との差が最小となる論理ボリュームを選択し、
前記選択した論理ボリュームにアクセスするリソースを前記第１のリソースから前記第２のリソースに変更する負荷分散案を算出する、
ことを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記特定のプロセッサは、
前記負荷分散案の算出において、変更対象の論理ボリュームと、前記変更対象の論理ボリュームに対する変更元のリソースと、前記変更対象の論理ボリュームに対する変更先のリソースと、の組み合わせである複数の割当変更案が前記負荷分散案として得られた場合、前記変更対象の論理ボリュームが同一である複数の割当変更案を特定し、
特定した前記複数の割当変更案の各々において、前記複数の割当変更案の中のある割当変更案の変更元のリソースは、他の割当変更案の変更元のリソースに設定されていないが前記他の割当変更案のいずれかの変更先のリソースに設定されており、かつ、前記ある割当変更案の変更先のリソースは、前記他の割当変更案の変更先のリソースに設定されていないが前記他の割当変更案のいずれかの変更元のリソースに設定されている状態である振動を検出し、
前記振動が検出された場合、前記複数の割当変更案のうち最新の割当変更案を削除し、
前記複数の割当変更案において共通する論理ボリュームを変更不可対象に設定する、
ことを特徴とする請求項２に記載の計算機システム。
【請求項４】
前記第１のリソースからの前記入出力処理要求が到達する複数の論理ボリュームの各々についての前記第１のリソースの負荷の量を取得する場合、前記特定のプロセッサは、前記複数の論理ボリュームの各々に設定された重要度を特定し、
前記重要度に応じて、前記複数の論理ボリュームの各々についての前記第１のリソースの負荷の量を調整する、
ことを特徴とする請求項２に記載の計算機システム。
【請求項５】
前記特定のプロセッサは、
前記論理ボリュームのスケールアップが検出されたことを契機として、前記負荷分散案を算出する、
ことを特徴とする請求項１に記載の計算機システム。
【請求項６】
前記特定のプロセッサは、
前記論理ボリュームのスケールアップが検出されたことを契機として、前記負荷分散案を算出し、
前記第１のリソースからの前記入出力処理要求が到達する複数の論理ボリュームの各々についての前記第１のリソースの負荷の量を取得する場合、前記特定のプロセッサは、前記複数の論理ボリュームのうち前記スケールアップが検出された論理ボリュームについての前記第１のリソースの負荷の量を調整する、
処理を実行することを特徴とする請求項２に記載の計算機システム。
【請求項７】
前記特定のプロセッサは、
前記サーバのスケールアップが検出されたことを契機として、前記負荷分散案を算出する、
ことを特徴とする請求項１に記載の計算機システム。
【請求項８】
前記特定のプロセッサは、
前記サーバのスケールアップが検出されたことを契機として、前記負荷分散案を算出し、
前記第１のリソースからの前記入出力処理要求が到達する複数の論理ボリュームの各々についての前記第１のリソースの負荷の量を取得する場合、前記特定のプロセッサは、前記複数の論理ボリュームのうち前記スケールアップが検出されたサーバからの前記入出力処理要求が到達する論理ボリュームについての前記第１のリソースの負荷の量を調整する、
ことを特徴とする請求項２に記載の計算機システム。
【請求項９】
前記特定のプロセッサは、
前記特定のリソース群のうち前記閾値を超過したリソースを特定し、
前記閾値を超過したリソースに入力された前記入出力要求の数に基づいて、前記閾値を超過したリソースの閾値超過原因が前記入出力処理要求の増加であるか否かを判断し、
前記閾値超過原因が前記入出力処理要求の増加である場合、前記負荷分散案を算出し、前記閾値超過原因が前記入出力処理要求の増加でない場合、前記負荷分散案を算出しない、
ことを特徴とする請求項２に記載の計算機システム。
【請求項１０】
前記特定のプロセッサは、前記管理計算機または前記ストレージ装置に存在することを特徴とする請求項１に記載の計算機システム。
【請求項１１】
前記特定のリソース群は、前記複数の入出力処理ユニットのプロセッサであることを特徴とする請求項１に記載の計算機システム。
【請求項１２】
前記特定のリソース群は、前記入出力処理要求が入出力される前記ストレージ装置のポート群であることを特徴とする請求項１に記載の計算機システム。
【請求項１３】
前記特定のリソース群は、前記複数の論理ボリュームであることを特徴とする請求項１に記載の計算機システム。
【請求項１４】
１以上の記憶デバイスにより構成される論理ボリュームを一意に特定する識別情報を含む入出力処理要求を送信するサーバと、前記入出力処理要求を処理可能な複数の入出力処理ユニットと複数の前記論理ボリュームとを有するストレージ装置と、前記ストレージ装置を管理する管理計算機と、を含む計算機システム内に存在し、前記入出力処理要求が通過する前記サーバと前記論理ボリュームとの間の経路上に存在する特定のリソース群を管理する特定のプロセッサに、
前記特定のリソース群の中の第１のリソースが過負荷である場合に、前記第１のリソースの負荷の一部を前記特定のリソース群の中の第２のリソースへ分散する負荷分散案を算出させ、
前記負荷分散案を表示可能に出力させ、
前記負荷分散案を出力した結果、前記負荷分散案の実行指示を受け付けた場合、前記負荷分散案にしたがって、前記第１のリソースの負荷を前記第２のリソースに分散させる、
ことを特徴とする負荷平準化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷を平準化する計算機システムおよび負荷平準化プログラムに関する。
【背景技術】
【０００２】
従来、論理記憶装置を担当するプロセッサを容易に変更するストレージシステムがある（たとえば、下記特許文献１を参照）。特許文献１のストレージシステムにおいて、ホストＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）部は、論理記憶装置の記憶領域に対する入出力処理の制御を担当する制御部を管理する管理テーブルを有する。ホストＩ／Ｆ部は、ホスト計算機から論理記憶装置に対する入出力要求があった場合に、管理テーブルに基づいて、論理記憶装置の入出力処理を担当する制御部に入出力要求を受け渡す。制御部のマイクロプロセッサは、入出力要求に基づいて入出力処理を行う。また、制御部のマイクロプロセッサは、論理記憶装置に対する入出力処理を担当する制御部を変更するか否かを判定する。制御部のマイクロプロセッサは、担当する制御部を変更すると判定した場合に、担当している制御部と異なる制御部が論理記憶装置に対する入出力処理を担当するように管理テーブルを設定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２６９４２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した特許文献１では、論理記憶装置に対する入出力処理を担当する制御部の変更という負荷分散案を、管理者に提示せずに管理テーブルに設定するため、管理者は、論理記憶装置に対する入出力処理を担当する制御部の変更の妥当性を確認することができないという問題がある。【０００５】
本発明は、論理記憶装置に対する入出力処理の担当変更前に、負荷分散案の妥当性を判断する機会を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願において開示される発明の一側面となる計算機システムは、１以上の記憶デバイスにより構成される論理ボリュームを一意に特定する識別情報を含む入出力処理要求を送信するサーバと、前記入出力処理要求を処理可能な複数の入出力処理ユニットと、複数の前記論理ボリュームと、を有するストレージ装置と、前記ストレージ装置を管理する管理計算機と、を含む計算機システムであって、前記計算機システム内に存在し、前記入出力処理要求が通過する前記サーバと前記論理ボリュームとの間の経路上に存在する特定のリソース群を管理する特定のプロセッサが、前記特定のリソース群の中の第１のリソースが過負荷である場合に、前記第１のリソースの負荷の一部を前記特定のリソース群の中の第２のリソースへ分散する負荷分散案を算出し、前記負荷分散案を表示可能に出力し、前記負荷分散案を出力した結果、前記負荷分散案の実行指示を受け付けた場合、前記負荷分散案にしたがって、前記第１のリソースの負荷を前記第２のリソースに分散する。
【発明の効果】
【０００７】
本発明の代表的な実施の形態によれば、論理記憶装置に対する入出力処理の担当変更前に、負荷分散案の妥当性を判断する機会を提供することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】本実施例にかかる計算機システムにおける負荷分散案の提示例を示す説明図である。
【図２】管理計算機のハードウェア構成例を示すブロック図である。
【図３】ストレージシステムのシステム構成例を示すブロック図である。
【図４】システム構成情報において規定されるテナントとＩ／Ｏ処理ユニットと論理ボリューム群との関係の一例を示す模式図である。
【図５】システム構成情報に含まれるテナント−ボリューム対応テーブルの一例を示す説明図である。
【図６】システム構成情報に含まれるＩ／Ｏ処理ユニット−ボリューム対応テーブルの一例を示す説明図である。
【図７】負荷平準化許可ユニット管理テーブルの一例を示す説明図である。
【図８】割当変更許可ボリューム管理テーブルの一例を示す説明図である。
【図９】運用品質−閾値対応テーブルの一例を示す説明図である。
【図１０】閾値情報の一例を示す説明図である。
【図１１】第１のリソース使用率情報の一例を示す説明図である。
【図１２】第２のリソース使用率情報の一例を示す説明図である。
【図１３】テナント重要度管理テーブルの一例を示す説明図である。
【図１４】ジョブ管理テーブルの一例を示す説明図である。
【図１５】管理計算機の負荷平準化処理手順例を示すフローチャートである。
【図１６】図１５に示した閾値超過判定処理（ステップＳ１５０１）の詳細な処理手順例を示すフローチャートである。
【図１７】図１５に示した割当変更プラン生成処理（ステップＳ１５０２）の詳細な処理手順例を示すフローチャートである。
【図１８】図１７に示した割当変更対象選択処理（ステップＳ１７０３）の詳細な処理手順例を示すフローチャートである。
【図１９】ステップＳ１７０２のソート処理の一例を示す説明図である。
【図２０】割当変更プランの最適化処理（ステップＳ１７０８）の一例を示す説明図である。
【図２１】割当変更プランの最適化処理（ステップＳ１７０８）の詳細な処理手順例を示すフローチャートである。
【図２２】管理計算機の負荷平準化処理によって得られる割当変更プランの出力画面例を示す説明図である。
【図２３】各Ｉ／Ｏ処理ユニットのリソース使用率の内訳の変化を示す出力画面例を示す説明図である。
【発明を実施するための形態】
【０００９】
以後の説明では「ａａａテーブル」、「ａａａリスト」、「ａａａＤＢ（Ｄａｔａｂａｓｅ）」、「ａａａキュー」（ａａａは任意の文字列）等の表現にて本実施例の情報を説明するが、これら情報は必ずしもテーブル、リスト、ＤＢ、キュー、等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「ａａａテーブル」、「ａａａリスト」、「ａａａＤＢ」、「ａａａキュー」等について「ａａａ情報」と呼ぶことがある。
【００１０】
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）」という表現を用いるが、これらについてはお互いに置換が可能である。
【００１１】
また、以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信制御デバイス）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。
【００１２】
また、各種プログラムは、プログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。この場合、プログラム配布サーバは、プロセッサと記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムを記憶する。そして、配布プログラムをプロセッサが実行することで、プログラム配布サーバのプロセッサは、配布対象のプログラムを他の計算機に配布する。
【００１３】
また、計算機は入出力デバイスを有する。入出力デバイスの例としてはディスプレイとキーボードとポインタデバイスが考えられるが、これ以外のデバイスであってもよい。また、入出力デバイスの代替としてシリアルインタフェースやイーサーネットインタフェースを入出力デバイスとし、当該インタフェースにディスプレイ又はキーボード又はポインタデバイスを有する表示用計算機を接続し、表示用情報を表示用計算機に送信したり、入力用情報を表示用計算機から受信することで、表示用計算機で表示を行ったり、入力を受け付けることで入出力デバイスでの入力及び表示を代替してもよい。
【００１４】
以後、情報処理システムを管理し、本実施例の表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理用の計算機（以下、管理計算機）が表示用情報を表示する場合は管理計算機が管理システムである、また、管理計算機と表示用計算機の組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理計算機と同等の処理を実現してもよく、この場合は当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機も含む）が管理システムである。
【００１５】
＜負荷分散案の提示例＞
図１は、本実施例にかかる計算機システムにおける負荷分散案の提示例を示す説明図である。計算機システム１００は、管理計算機１０１と、サーバ１０２と、ストレージ装置１０３と、表示用計算機１０４と、がネットワーク１０５を介して通信可能に接続されたシステムである。
【００１６】
管理計算機１０１は、負荷平準化プログラム１１１と、システム構成情報１１２と、リソース性能情報１１３と、テナント契約情報１１４と、を記憶する。負荷平準化プログラム１１１は、システム構成情報１１２と、リソース性能情報１１３と、テナント契約情報１１４と、を用いて、負荷分散対象であるリソースの負荷を平準化するプログラムである。
【００１７】
システム構成情報１１２は、どのストレージ装置１０３がどの論理記憶装置（以下、論理ボリューム）に接続されているかなど、計算機システム１００のシステム構成を規定する情報である。システム構成情報１１２の詳細については図３〜図８で後述する。リソース性能情報１１３は、リソースの経時的な使用率など、リソースの性能を示す情報である。リソース性能情報１１３の詳細については図９〜図１２で後述する。テナント契約情報１１４は、テナント４００の契約内容を規定する情報である。テナント４００は、顧客やサービスごとに用意されたサーバ１０２やソフトウェア、仮想マシンの集合である。テナント契約情報１１４の詳細については図１３および図１４で後述する。
【００１８】
サーバ１０２は、テナント４００を構成するコンピュータである。サーバ１０２は、テナント４００を構成するソフトウェアや仮想マシンを実行する。サーバ１０２は、ストレージ装置１０３にアクセスして、ストレージ装置１０３からデータを読み出したり、ストレージ装置１０３へデータを書き込んだりする。具体的には、サーバ１０２は、論理ボリューム１３４を一意に特定する識別情報であるＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）により論理ボリュームを指定して、Ｉ／Ｏ処理要求をストレージ装置１０３に送信し、論理ボリュームにアクセスする。
【００１９】
ストレージ装置１０３は、データを格納する。ストレージ装置１０３は、ポート１３１と、Ｉ／Ｏ（入出力：Ｉｎｐｕｔ−Ｏｕｔｐｕｔ）処理ユニット１３２と、論理ボリューム群１３３と、を有する。ポート１３１は、ネットワーク１０５に接続され、サーバ１０２からのＩ／Ｏ処理要求を入力したり、当該Ｉ／Ｏ処理要求に対する応答をサーバ１０２に出力する。
【００２０】
Ｉ／Ｏ処理ユニット１３２は、内部に不図示のプロセッサおよびメモリを有する。メモリには、そのＩ／Ｏ処理ユニット１３２が担当する論理ボリュームの識別情報が格納される。負荷分散案により担当する論理ボリュームが変更される場合は、Ｉ／Ｏ処理ユニット１３２が担当する論理ボリュームの識別情報は、管理計算機１０１からの更新要求により更新される。Ｉ／Ｏ処理ユニット１３２は、担当する論理ボリュームに接続される。Ｉ／Ｏ処理ユニット１３２は、ポート１３１から入力されたＩ／Ｏ処理要求を受け付けて、担当する論理ボリュームにアクセスして、当該論理ボリュームからデータを読み出したり、当該論理ボリュームにデータを書き込んだりする。
【００２１】
論理ボリューム群１３３は、論理ボリューム１３４の集合である。論理ボリューム１３４は、たとえば、１以上の記憶デバイスにより構成される。記憶デバイスは、データを記憶するデバイスであり、その種類の例は、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）)ＨＤＤ、ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）ＨＤＤ、ＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）ＨＤＤといったＨＤＤデバイスである。なお記憶デバイスは、フラッシュメモリやバックアップ機能を持つＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＦｅＲＡＭ等の不揮発メモリを用いた記憶デバイスでもよい。以後はこうした不揮発メモリを用いた記憶デバイスの代表としてフラッシュＳＳＤ（以後は単にＳＳＤと呼ぶ）を例として説明するが、各説明は他の不揮発メモリを用いた記憶デバイスであっても実現できることは言うまでも無い。なお、記憶デバイスは、どのＩ／Ｏ処理ユニット１３２にも接続可能である。
【００２２】
表示用計算機１０４は、ネットワーク１０５を介して、管理計算機１０１からの計算結果の一例である負荷分散案１０６を表示する。図１では、表示用計算機１０４は、ネットワーク１０５を介して管理用計算機と接続されるが、管理計算機１０１に直接接続されてもよい。また、表示用計算機１０４のかわりに、管理計算機１０１に接続された表示装置が用いられてもよい。
【００２３】
つぎに、計算機システム１００における負荷分散案１０６の提示例について説明する。負荷分散案１０６は、ある論理ボリューム１３４を担当するリソースを他のリソースに変更する割当変更プランである。ここでは、負荷分散対象となるリソースをＩ／Ｏ処理ユニット１３２内のプロセッサとする。管理計算機１０１は、計算機システム１００を監視し、リソース使用率が閾値超過したＩ／Ｏ処理ユニット１３２を検出する。
【００２４】
リソース使用率が閾値超過したＩ／Ｏ処理ユニット１３２が検出された場合、管理計算機１０１の負荷平準化プログラム１１１は、閾値超過した時間帯において最大使用率となるピーク時刻における各リソース使用率を特定する。そして、負荷平準化プログラム１１１は、割当変更対象の論理ボリューム１３４を論理ボリューム群１３３から特定する。割当変更対象の論理ボリューム１３４は、閾値との差分が許容範囲内の論理ボリューム１３４である。許容範囲外の論理ボリューム１３４は、閾値との差分が割当変更による悪影響が大きい、または、割当変更による負荷分散の効果が低いため採用されない。
【００２５】
このようにして、負荷平準化プログラム１１１は、負荷分散案１０６を生成する。負荷標準化プログラムは、生成された負荷分散案１０６を表示用計算機１０４に出力する。これにより、管理計算機１０１は、割当変更前に、管理者に対し負荷分散案１０６を提示することができる。したがって、管理者は、事前に負荷分散案１０６の妥当性を確認することができる。またこれにより、管理者が負荷分散案１０６を妥当でないと判断した場合に、業務の優先度等の要件に応じて負荷分散案１０６を調整し、重要なシステムへの悪影響を回避することができる。
【００２６】
＜管理計算機１０１のハードウェア構成例＞
図２は、管理計算機１０１のハードウェア構成例を示すブロック図である。図２では、図１に示した一部の構成が省略されている。管理計算機１０１は、プロセッサ２０１と、主記憶デバイス２０２と、補助記憶デバイス２０３と、入力デバイス２０４と、出力デバイス２０５と、ネットワークＩ／Ｆ２０６と、を有する。プロセッサ２０１、主記憶デバイス２０２、補助記憶デバイス２０３、入力デバイス２０４、出力デバイス２０５、およびネットワークＩ／Ｆ２０６は、バス２０７に接続される。
【００２７】
プロセッサ２０１が、負荷平準化プログラム１１１を実行する。なお、負荷平準化プログラム１１１による処理は、プロセッサ２０１で実行される代わりに、例えば、集積回路等のハードウェアで実現してもよい。主記憶デバイス２０２は、負荷平準化プログラム１１１を記憶する。
【００２８】
補助記憶デバイス２０３は、システム構成情報１１２と、リソース性能情報１１３と、テナント契約情報１１４と、を記憶する。システム構成情報１１２、リソース性能情報１１３、およびテナント契約情報１１４は、それぞれ異なる記憶デバイスに保存されていてもよい。
【００２９】
補助記憶デバイス２０３は、管理計算機１０１の外部装置へのＩ／Ｆ（不図示）や、ネットワークＩ／Ｆ２０６を介して接続される記憶装置であってもよい。また、主記憶デバイス２０２と補助記憶デバイス２０３は、同一デバイスであってもよい。
【００３０】
入力デバイス２０４は、管理者の操作によりデータを入力するデバイスである。出力デバイス２０５は、プロセッサ２０１の実行結果を表示するデバイスである。入力デバイス２０４と出力デバイス２０５は、一体型のデバイスでもよい。
【００３１】
また、計算機システム１００には、操作端末２１１が接続されていてもよい。操作端末２１１は、管理計算機１０１を操作するコンピュータである。操作端末２１１は、入力デバイス２１２と出力デバイス２１３とを有する。入力デバイス２１２は、管理者の操作によりデータを入力するデバイスである。入力データは、ネットワーク１０５を介して管理計算機１０１に送信される。出力デバイス２１３は、管理計算機１０１からのデータを表示するデバイスである。入力デバイス２１２と出力デバイス２１３は、一体型のデバイスでもよい。
【００３２】
また、計算機システム１００には、ネットワーク装置２２０が含まれる。ネットワーク装置２２０は、サーバ１０２とストレージ装置１０３との間のデータを中継する。
【００３３】
図３は、ストレージシステムのシステム構成例を示すブロック図である。ストレージシステムは、サーバ１０２と、ストレージ装置１０３と、ネットワーク装置２２０と、がネットワーク１０５やＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介して相互に通信可能に接続されるシステムである。
【００３４】
サーバ１０２は、プロセッサ３０１と、メモリ３０２と、ネットワークＩ／Ｆ３０３と、主記憶デバイス３０４と、ＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）３０５と、を含むコンピュータである。サーバ１０２は、管理計算機１０１の管理対象装置である。サーバ１０２は、テナント４００を構成するソフトウェアや仮想マシンを実行する。ネットワークＩ／Ｆ３０３は、他のネットワークＩ／Ｆ３１１，３１６、ネットワーク装置２２０の一例であるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）スイッチ２２０Ａ、ネットワーク１０５に接続される。ＨＢＡ３０５は、ネットワーク装置２２０の一例であるＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）スイッチ２２０Ｂのポート１３１に接続される。
【００３５】
ストレージ装置１０３は、管理計算機１０１の管理対象装置であり、サーバ１０２上で動作するソフトウェアが使用する記憶容量を提供する。ストレージ装置１０３は、Ｉ／Ｏ処理ユニット１３２と、ネットワークＩ／Ｆ３１１と、Ｉ／Ｏポート３１２およびＩ／Ｏポート３１３と、論理ボリューム群１３３と、を有する。ネットワークＩ／Ｆ３１１は、例えばイーサネットによるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワーク１０５に接続するためのインタフェースであり、ポート１３１を含む。
【００３６】
Ｉ／Ｏポート３１２およびＩ／Ｏポート３１３は、例えば、ファイバチャネルなどのようなＳＡＮに接続するインタフェースである。ＲＡＩＤグループ３１５は、複数の記憶デバイスを１以上の論理ボリューム１３４としてサーバ１０２に提供する。また、ストレージ装置１０３はＩ／Ｏポート３１３を介して接続される外部のストレージ装置１０３Ａ上に存在する論理ボリューム１３４を管理していてもよい。
【００３７】
ネットワーク装置２２０には、ＩＰスイッチ２２０ＡとＦＣスイッチ２２０Ｂがある。ＩＰスイッチ２２０Ａは、管理計算機１０１のネットワークＩ／Ｆ２０６、サーバ１０２のネットワークＩ／Ｆ３０３、ストレージ装置１０３のネットワークＩ／Ｆ３１１、ＦＣスイッチ２２０ＢのネットワークＩ／Ｆ３１６に接続される。
【００３８】
ＦＣスイッチ２２０Ｂは、サーバ１０２とストレージ装置１０３との間でデータを転送する。ＦＣスイッチ２２０Ｂは複数のポート３１７を有する。ＦＣスイッチ２２０Ｂのポート３１７は、サーバ１０２のＨＢＡ３０５やストレージ装置１０３のＩ／Ｏポート３１２に接続される。ネットワーク装置２２０は、管理計算機１０１による管理対象装置であってもよい。
【００３９】
＜システム構成情報１１２＞
つぎに、上述したシステム構成情報１１２の一例について図４〜図８を用いて説明する。
【００４０】
図４は、システム構成情報１１２において規定されるテナント４００とＩ／Ｏ処理ユニット１３２と論理ボリューム群との関係の一例を示す模式図である。テナント４００は、それぞれサーバ１０２およびサーバ１０２上で動作するソフトウェアまたは仮想マシンの組み合わせにより構成される。テナント４００は、顧客ごとに分けられてもよく、同一顧客内の業務やサービスごとに分けられてもよい。本例では、たとえば、テナントＴａは本番環境であり、テナントＴｂは開発環境であり、テナントＴｃは最重要環境である。
【００４１】
ストレージ装置１０３は、複数（例として３台）のＩ／Ｏ処理ユニット１３２を有する。論理ボリューム群１３３は、例として、論理ボリュームＶｏｌ  Ａ〜Ｖｏｌ  Ｇを含む。
【００４２】
Ｉ／Ｏ処理ユニットＰ０は、論理ボリュームＶｏｌ  Ａ〜Ｖｏｌ  Ｃを担当する。Ｉ／Ｏ処理ユニットＰ１は、論理ボリュームＶｏｌ  Ｄ〜Ｖｏｌ  Ｆを担当する。Ｉ／Ｏ処理ユニットＰ２は、論理ボリュームＶｏｌ  Ｇを担当する。
【００４３】
図５は、システム構成情報１１２に含まれるテナント−ボリューム対応テーブル５００の一例を示す説明図である。テナント−ボリューム対応テーブル５００は、テナント４００と論理ボリューム１３４とを対応付ける情報である。テナント−ボリューム対応テーブル５００は、あらかじめ用意された情報である。テナント−ボリューム対応テーブル５００は、テナントＩＤフィールド５０１とストレージ装置ＩＤフィールド５０２とボリュームＩＤフィールド５０３を有する。
【００４４】
テナントＩＤフィールド５０１は、テナントＩＤを格納する領域である。テナントＩＤは、テナント４００を一意に特定する識別情報である。ストレージ装置ＩＤフィールド５０２は、ストレージ装置ＩＤを格納する領域である。ストレージ装置ＩＤは、ストレージ装置１０３を一意に特定する識別情報である。
【００４５】
ボリュームＩＤフィールド５０３は、ボリュームＩＤを格納する領域である。ボリュームＩＤは、論理ボリューム１３４を一意に特定する識別情報である。ボリュームＩＤは、たとえば、ＬＵＮである。
【００４６】
なお、図５の一行目のエントリは、テナントＩＤ：Ｔａのテナント４００は、ストレージ装置ＩＤ：ＳＴ１のストレージ装置１０３内のボリュームＩＤ：Ｖｏｌ  Ａの論理ボリューム１３４にアクセス可能であることを示す。
【００４７】
図６は、システム構成情報１１２に含まれるＩ／Ｏ処理ユニット−ボリューム対応テーブル６００の一例を示す説明図である。Ｉ／Ｏ処理ユニット−ボリューム対応テーブル６００は、Ｉ／Ｏ処理ユニット１３２と論理ボリューム１３４とを対応付ける情報である。Ｉ／Ｏ処理ユニット−ボリューム対応テーブル６００は、あらかじめ用意された情報であり、Ｉ／Ｏ処理ユニット１３２の割当変更により更新される。Ｉ／Ｏ処理ユニット−ボリューム対応テーブル６００は、Ｉ／Ｏ処理ユニットＩＤフィールド６０１とボリュームＩＤフィールド６０２を有する。
【００４８】
Ｉ／Ｏ処理ユニットＩＤフィールド６０１は、Ｉ／Ｏ処理ユニットＩＤを格納する領域である。Ｉ／Ｏ処理ユニットＩＤは、Ｉ／Ｏ処理ユニット１３２を一意に特定する識別情報である。ボリュームＩＤフィールド６０２は、図５に示したボリュームＩＤフィールド５０３と同様、ボリュームＩＤを格納する領域である。
【００４９】
なお、図６の一行目のエントリは、Ｉ／Ｏ処理ユニットＩＤ：Ｐ０のＩ／Ｏ処理ユニット１３２が、ボリュームＩＤ：Ｖｏｌ  Ａ、Ｖｏｌ  Ｂ，Ｖｏｌ  Ｃの論理ボリューム１３４にアクセス可能であることを示す。
【００５０】
図７は、負荷平準化許可ユニット管理テーブル７００の一例を示す説明図である。負荷平準化許可ユニット管理テーブル７００は、担当する論理ボリューム１３４の割当変更をしてもよいＩ／Ｏ処理ユニット１３２を規定する情報である。負荷平準化許可ユニット管理テーブル７００は、あらかじめ用意され、管理計算機１０１の入力デバイス２０４または外部の入力デバイス２１２から任意に変更可能である。
【００５１】
負荷平準化許可ユニット管理テーブル７００は、Ｉ／Ｏ処理ユニットＩＤフィールド７０１と割当変更許可フィールド７０２とを有する。Ｉ／Ｏ処理ユニットＩＤフィールド７０１は、Ｉ／Ｏ処理ユニットＩＤを記憶する領域である。割当変更許可フィールド７０２は、Ｉ／Ｏ処理ユニット１３２が担当する論理ボリューム１３４について割当変更許可を示す情報（「可」または「不可」）を記憶する領域である。例えば、Ｉ／Ｏ処理ユニットＰ２では重要ホストとなるサーバ１０２のＩ／Ｏ処理を行うため、割当変更許可フィールド７０２の値が「不可」に設定されている。
【００５２】
管理計算機１０１は、割当変更許可フィールド７０２の値が「可」であるＩ／Ｏ処理ユニット１３２の間で負荷平準化されるような割当変更プランの生成処理を行う。Ｉ／Ｏ処理ユニットＰ０、Ｐ１の割当変更許可フィールド７０２の値は「可」であるため、負荷平準化プログラム１１１は、たとえば、Ｉ／Ｏ処理ユニットＰ０が担当する論理ボリューム１３４をＩ／Ｏ処理ユニットＰ１に変更することができる。
【００５３】
図８は、割当変更許可ボリューム管理テーブル８００の一例を示す説明図である。割当変更許可ボリューム管理テーブル８００は、割当変更されてもよい論理ボリューム１３４を規定する情報である。割当変更許可ボリューム管理テーブル８００は、あらかじめ用意され、管理計算機１０１の入力デバイス２０４または外部の入力デバイス２１２から任意に変更可能である。割当変更許可ボリューム管理テーブル８００は、ストレージ装置１０３ごとに分けられてもよい。
【００５４】
割当変更許可ボリューム管理テーブル８００は、ボリュームＩＤフィールド８０１と割当変更許可フィールド８０２とを有する。ボリュームＩＤフィールド８０１は、ボリュームＩＤを記憶する領域である。割当変更許可フィールド８０２は、ボリュームＩＤにより特定される論理ボリューム１３４について割当変更許可を示す情報（「可」または「不可」）を記憶する領域である。例えば、論理ボリュームＶｏｌ  Ｂでは、重要ホストとなるサーバ１０２のＩ／Ｏ処理に用いられるため、割当変更許可フィールド８０２の値が「不可」に設定されている。
【００５５】
＜リソース性能情報１１３＞
つぎに、管理計算機１０１が記憶するリソース性能情報１１３の一例について図９〜図１２を用いて説明する。
【００５６】
図９は、運用品質−閾値対応テーブル９００の一例を示す説明図である。運用品質−閾値対応テーブル９００は、運用品質ごとに管理対象であるＩ／Ｏ処理ユニット１３２のリソース使用率の閾値を規定した情報である。運用品質−閾値対応テーブル９００は、あらかじめ用意され、管理計算機１０１の入力デバイス２０４または外部の入力デバイス２１２から任意に変更可能である。運用品質−閾値対応テーブル９００は、ストレージ装置１０３ごとに用意されていてもよく、Ｉ／Ｏ処理ユニット１３２ごとに用意されてもよい。
【００５７】
運用品質−閾値対応テーブル９００は、運用品質フィールド９０１と閾値フィールド９０２とを有する。運用品質フィールド９０１は、運用品質を格納する領域である。運用品質は、たとえば、ストレージ装置１０３の耐障害性の高さを示す指標である。運用品質の例として、「金」、「銀」、「銅」がある。「金」、「銀」、「銅」の中では、「金」が最も運用品質が高く、「銅」が最も品質運用が低い。なお、運用品質は、「金」、「銀」、「銅」の３種類に限定されない。閾値フィールド９０２は、管理対象であるＩ／Ｏ処理ユニット１３２のリソース使用率の閾値を格納する領域である。運用品質が高いほど閾値は低く設定される。
【００５８】
図１０は、閾値情報１０００の一例を示す説明図である。閾値情報１０００は、管理対象であるＩ／Ｏ処理ユニット１３２のリソース使用率の閾値を格納する。閾値情報１０００は、あらかじめ用意され、管理計算機１０１の入力デバイス２０４または外部の入力デバイス２１２から任意に変更可能である。閾値情報１０００は、ストレージ装置１０３ごとに用意されていてもよく、Ｉ／Ｏ処理ユニット１３２ごとに用意されてもよい。また、閾値情報１０００には、時間帯ごとに閾値が格納されてもよい。
【００５９】
図１１は、Ｉ／Ｏ処理ユニット１３２のリソース使用率の時系列情報（以下、「第１のリソース使用率情報１１００」）の一例を示す説明図である。第１のリソース使用率情報１１００は、Ｉ／Ｏ処理ユニット１３２のリソース使用率の時間推移を格納する情報である。第１のリソース使用率情報１１００は、ストレージ装置ＩＤフィールド１１０１と、Ｉ／Ｏ処理ユニットＩＤフィールド１１０２と、リソース使用率フィールド１１０３と、を有する。
【００６０】
ストレージ装置ＩＤフィールド１１０１は、ストレージ装置ＩＤを格納する領域である。Ｉ／Ｏ処理ユニットＩＤフィールド１１０２は、Ｉ／Ｏ処理ユニットＩＤを格納する領域である。リソース使用率フィールド１１０３は、所定時間間隔でＩ／Ｏ処理ユニット１３２のリソース使用率を格納する領域である。管理計算機１０１は、たとえば、所定時間ごとにＩ／Ｏ処理ユニット１３２からリソース使用率を受信することにより、受信したリソース使用率を第１のリソース使用率情報１１００に格納する。
【００６１】
図１２は、論理ボリューム１３４ごとのＩ／Ｏ処理ユニット１３２のリソース使用率の時系列情報（以下、「第２のリソース使用率情報１２００」）の一例を示す説明図である。第２のリソース使用率情報１２００は、第１のリソース使用率情報１１００を論理ボリューム１３４ごとにリソース使用率を分割した情報である。第２のリソース使用率情報１２００は、ストレージ装置ＩＤフィールド１２０１と、Ｉ／Ｏ処理ユニットＩＤフィールド１２０２と、ボリュームＩＤフィールド１２０３と、リソース使用率フィールド１２０４と、を有する。
【００６２】
ストレージ装置ＩＤフィールド１２０１は、ストレージ装置ＩＤを格納する領域である。Ｉ／Ｏ処理ユニットＩＤフィールド１２０２は、Ｉ／Ｏ処理ユニットＩＤを格納する領域である。ボリュームＩＤフィールド１２０３は、ボリュームＩＤを格納する領域である。リソース使用率フィールド１２０４は、所定時間間隔でＩ／Ｏ処理ユニット１３２のリソース使用率を格納する領域である。管理計算機１０１は、たとえば、所定時間ごとにＩ／Ｏ処理ユニット１３２から論理ボリューム１３４ごとのリソース使用率を受信することにより、受信したリソース使用率を第２のリソース使用率情報１２００に格納する。
【００６３】
＜テナント契約情報１１４＞
つぎに、管理計算機１０１が記憶するテナント契約情報１１４の一例について図１３および図１４を用いて説明する。
【００６４】
図１３は、テナント重要度管理テーブルの一例を示す説明図である。テナント重要度管理テーブル１３００は、テナント４００の重要度を管理するテーブルである。テナント重要度管理テーブル１３００は、あらかじめ用意され、管理計算機１０１の入力デバイス２０４または外部の入力デバイス２１２から任意に変更可能である。
【００６５】
テナントＩＤフィールド１３０１は、テナントＩＤを格納する領域である。テナントＩＤは、テナント４００を一意に特定する識別情報である。重要度フィールド１３０２は、テナントＩＤで特定されるテナント４００の重要度を格納する領域である。
【００６６】
図１４は、ジョブ管理テーブル１４００の一例を示す説明図である。ジョブ管理テーブル１４００は、ストレージ装置１０３で実行される管理処理であるジョブの実行状態を管理するテーブルである。ジョブ管理テーブル１４００は、ジョブＩＤフィールド１４０１と、ボリュームＩＤフィールド１４０２と、実行開始フィールド１４０３と、実行終了フィールド１４０４と、を有する。
【００６７】
ジョブＩＤフィールド１４０１は、ジョブＩＤを格納する領域である。ジョブＩＤは、ジョブを一意に特定する識別情報である。ボリュームＩＤフィールド１４０２は、ボリュームＩＤを格納する領域である。実行開始フィールド１４０３は、実行開始時刻を格納する領域である。実行開始時刻は、ジョブＩＤで特定されるジョブの実行が、ボリュームＩＤで特定される論理ボリューム１３４を用いて開始される時刻である。実行終了フィールド１４０４は、実行終了時刻を格納する領域である。実行終了時刻は、ジョブＩＤで特定されるジョブの実行が終了した時刻である。まだジョブが終了していない場合は、空欄となる。
【００６８】
＜管理計算機１０１の負荷平準化処理＞
つぎに、管理計算機１０１の負荷平準化処理について説明する。負荷平準化処理は、管理計算機１０１に記憶されている負荷平準化プログラム１１１をプロセッサ２０１に実行させることにより実行される処理である。
【００６９】
図１５は、管理計算機１０１の負荷平準化処理手順例を示すフローチャートである。まず、本フローチャートが実行される際のトリガについて説明する。
【００７０】
本フローチャートによる負荷平準化処理は、管理計算機１０１の入力デバイス２０４から入力される管理者からの指示によって実行されてもよい。また、管理計算機１０１が、スケールアップを検知した場合に、実行されてもよい。
【００７１】
例えば、サーバ１０２のスケールアップが検知された場合に、本フローチャートによる負荷平準化処理の実行が開始されてもよい。当該スケールアップの例としては、管理対象であるテナント４００を構成するサーバ１０２上で動作する仮想マシンにおけるＣＰＵリソースが向上した場合（たとえば、ＣＰＵ使用率が閾値以下となった場合）がある。
【００７２】
このほか、サーバ１０２のスケールアップの例としては、サーバ１０２内のプロセッサやＨＢＡ、メモリの増加があった場合、また、複数のサーバ１０２をクラスタ化しているのであれば、サーバ１０２をクラスタに追加することがある。いずれのスケールアップの場合も、サーバ１０２からのＩ／Ｏ処理要求が増加するため、関係するリソース（例えばＩ／Ｏ処理ユニット１３２）にさらなる負荷を与える契機となり得るためである。
【００７３】
また、管理計算機１０１が論理ボリューム１３４のスケールアップを検知した場合に、本フローチャートによる負荷平準化処理の実行が開始されてもよい。当該スケールアップの例としては、論理ボリューム１３４を構成するＲＡＩＤグループ３１５が変更された場合である。こうした変更は論理ボリューム１３４の限界性能（性能の例としてはＩＯＰＳ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）がある）が向上し、その結果として他のリソース（例えばＩ／Ｏ処理ユニット１３２）にさらなる負荷を与える契機となり得るためである。なお、前述の「論理ボリューム１３４を構成するＲＡＩＤグループ１３５の変更」は例えば、元々の構成元であった第１のＲＡＩＤグループ１３５に、第２のＲＡＩＤグループが新規に追加（又は代替）される第１パターンや、第１のＲＡＩＤグループ１３５自体の構成変更される第２パターンがある。
【００７４】
第１パターンは例えば、階層制御によって所定の論理ボリューム１３４を構成するＲＡＩＤグループ１２５が、ＦＣやＳＡＳやＳＡＴＡ  ＨＤＤといった比較的中位又は低位の階層の記憶デバイスで構成されたＲＡＩＤグループ１２５から、ＳＳＤといった上位階層の記憶デバイスで構成されたＲＡＩＤグループ１２５に代替された場合がある。なお、この時の代替する単位としては論理ボリュームを構成するＲＡＩＤグループ１２５がそのまま代替される、論理ボリュームを単位とした場合のほか、論理ボリュームの記憶領域を複数の領域に分割し、当該分割領域毎にＲＡＩＤグループの代替を行う分割領域を単位とした場合がある。追加についても同様である。
【００７５】
特にランダムリードにおいてヘッドシークが存在しないＳＳＤのＩＯＰＳ性能はＨＤＤデバイスと比較して非常に優れている半面、他のリソースに負荷を与え得るため、こうした代替・追加は負荷平準化を行う重要な契機の一つである。なお、このような代替・追加の検知方法はこのような構成の変更を検知することが考えられる。また、プールを用いて論理ボリュームを作成する場合は、代替・追加の検知方法として、所定の論理ボリューム１３４を構成する記憶デバイスの種類毎の比率の変化を検知してもよい。
【００７６】
第２パターンは例えば、ＲＡＩＤグループ１２５自体の構成変更によりＲＡＩＤレベルを変更したり、ＲＡＩＤグループ１２５を構成する記憶デバイスを増加させた場合である。
【００７７】
また、サーバ１０２のスケールアップや論理ボリューム１３４のスケールアップにより、ストレージのＩ／Ｏ処理量が増加することでＩ／Ｏ処理ユニット１３２のリソース使用率が上昇することが想定される。このため、管理計算機１０１は、スケールアップが検知されたサーバ１０２が利用している論理ボリューム１３４に対するＩ／Ｏ処理ユニット１３２のリソース使用率を、例えば、１．２倍するなどして、所定量高く設定する。また、スケールアップが検知された論理ボリューム１３４に対するＩ／Ｏ処理ユニット１３２のリソース使用率を、例えば、１．２倍するなどして、所定量高く設定する。これにより、リソース使用率と閾値との間のマージンを持たせることができる。これにより、サーバ１０２のスケールアップや論理ボリューム１３４のスケールアップによりＩ／Ｏ処理ユニット１３２のリソース使用率が上昇してＩ／Ｏ処理ユニット１３２のリソース使用率が閾値超過することを事前に防ぐことができる。
【００７８】
図１５において、管理計算機１０１は、閾値超過判定処理（ステップＳ１５０１）、割当変更プラン生成処理（ステップＳ１５０２）、プラン実行時刻特定処理（ステップＳ１５０３）、レポート出力処理（ステップＳ１５０４）、負荷分散実行処理（ステップＳ１５０５）を実行する。なお、閾値超過判定処理（ステップＳ１５０１）、プラン実行時刻特定処理（ステップＳ１５０３）、レポート出力処理（ステップＳ１５０４）は必ずしも実行されなくてもよい。
【００７９】
閾値超過判定処理（ステップＳ１５０１）は、Ｉ／Ｏ処理ユニット１３２のリソース使用率の閾値超過の有無を判定する処理である。閾値超過判定処理（ステップＳ１５０１）で閾値超過であると判定されなかった場合、管理計算機１０１は、以降の処理（Ｓ１５０２〜Ｓ１５０４）を実行しなくてもよい。閾値超過判定処理（ステップＳ１５０１）で閾値超過と判定された場合、管理計算機１０１は、以降の処理（Ｓ１５０２〜Ｓ１５０４）を実行する。なお、閾値超過判定処理（ステップＳ１５０１）では、運用品質−閾値対応テーブル９００または閾値情報１０００に格納されている閾値が用いられる。閾値超過判定処理（ステップＳ１５０１）の詳細は、図１６で後述する。
【００８０】
割当変更プラン生成処理（ステップＳ１５０２）では、管理計算機１０１は、割当変更プランを生成し、主記憶デバイス２０２または補助記憶デバイス２０３に書き込む。ここで、割当変更プランとは、１回以上の論理ボリューム１３４の割当変更案（割当変更元のＩ／Ｏ処理ユニット１３２と割当変更させる論理ボリューム１３４と割当変更先のＩ／Ｏ処理ユニット１３２の組み合わせ）である。割当変更プラン生成処理（ステップＳ１５０２）は、の詳細は、図１７で後述する。
【００８１】
プラン実行時刻特定処理（ステップＳ１５０３）では、管理計算機１０１は、割当変更プラン生成処理（ステップＳ１５０２）で生成された割当変更プランを実行する時刻を特定する。
【００８２】
また、例えば、割当変更プランが、第１の割当変更案と第２の割当変更案を含む。第１の割当変更案は、たとえば、Ｉ／Ｏ処理ユニットＰ０からＩ／Ｏ処理ユニットＰ１への論理ボリュームＶｏｌ  Ａの割当変更をするプランである。第２の割当変更案は、たとえば、Ｉ／Ｏ処理ユニットＰ２からＩ／Ｏ処理ユニットＰ１への論理ボリュームＶｏｌ  Ｂの割当変更をするプランである。この場合、第１の割当変更案と第２の割当変更案を同時刻に実行すると、Ｉ／Ｏ処理ユニットＰ０〜Ｐ２において割当変更処理の負荷が同時に高まり、ストレージ装置１０３のＩ／Ｏ処理性能に悪影響を与えることになる。
【００８３】
そこで、プラン実行時刻特定処理（ステップＳ１５０３）では、管理計算機１０１は、割当変更が実行されるＩ／Ｏ処理ユニット１３２について負荷が低減する時間帯の中の時刻（たとえば、負荷が最低となる時刻）を、割当変更の実行時刻として特定する。また、割当変更プランが複数回の割当変更案を含んでいる場合は、管理計算機１０１は、それぞれの割当変更案が別の時刻に実行するように特定する。
【００８４】
具体的には、たとえば、管理計算機１０１は、Ｉ／Ｏ処理ユニット１３２の過去一定期間のリソース使用率の統計情報からリソース使用率の推移の傾向を特定する。そして、例えば、管理計算機１０１は、「毎週土曜日と日曜日は負荷が所定値以下になる」、「毎日夜は負荷が所定値以下になる」等の負荷の傾向を特定する。管理計算機１０１は、直近の数日から数時間以内で、特定した負荷の傾向に該当する時間帯の中で最も負荷の下がる時刻を特定する。
【００８５】
なお、プラン実行時刻特定処理（ステップＳ１５０３）を実行せずに、管理者が任意の実行時刻を設定しても良い。また、割当変更プラン生成処理（ステップＳ１５０２）にてＩ／Ｏ処理ユニット１３２の閾値超過状態を回復させる割当変更プランを生成できなかった場合、プラン実行時刻特定処理（ステップＳ１５０３）は実行されなくても良い。管理計算機１０１は、割当変更プランの実行時刻を、主記憶デバイス２０２または補助記憶デバイス２０３に書き込む。
【００８６】
レポート出力処理（ステップＳ１５０４）では、管理計算機１０１は、割当変更プラン生成処理（ステップＳ１５０２）で生成された割当変更プランと、プラン実行時刻特定処理（ステップＳ１５０３）で特定された時刻とを、管理計算機１０１の出力装置２１５または表示用計算機１０４に出力する。
【００８７】
また、レポート出力処理（ステップＳ１５０４）では、管理計算機１０１は、第１のリソース使用率情報１１００を用いて割当変更前のＩ／Ｏ処理ユニット１３２のリソース使用率をまとめたグラフを作成して表示してもよい。また、管理計算機１０１は、割当変更前と同一の条件下において、割当変更後のシステム構成でシミュレーションを実行し、その実行結果である割当変更後のＩ／Ｏ処理ユニット１３２のリソース使用率をまとめたグラフを作成して表示してもよい。また、管理計算機１０１は、両グラフを重ねて表示してもよい。これにより、管理者は、割当変更後のリソース使用率の変化を直感的に把握することができる。
【００８８】
また、割当変更プラン生成処理（ステップＳ１５０２）にてＩ／Ｏ処理ユニット１３２の閾値超過状態を回復させる割当変更プランを生成できなかった場合、管理計算機１０１は、割当変更プラン以外の対処策を出力する。これにより、管理計算機１０１は、管理者の作業を促すことができる。例えば、Ｉ／Ｏ処理ユニット１３２のリソース使用率の閾値が８０％よりも低く、閾値を緩和しても性能障害の発生に直結しないと判定できる場合には、管理計算機１０１は、閾値の緩和に関する提案情報を出力する。また、閾値超過している時刻にデータコピー処理などのＩ／Ｏ処理以外のジョブが実行されている場合、ジョブが実行されていることによりＩ／Ｏ処理ユニット１３２の使用率が閾値超過する。したがって、管理計算機１０１は、ジョブの実行時刻の変更に関する提案情報を出力してもよい。
【００８９】
また、テナント４００毎にテナント契約情報１１４の一部として、不図示のＩ／Ｏ処理の上限が保持されてもよい。この場合、Ｉ／Ｏ処理ユニット１３２のリソース使用率の閾値超過している時刻にＩ／Ｏ処理の上限を超えたＩ／Ｏ処理要求を出しているテナント４００が存在する場合、管理計算機１０１は、Ｉ／Ｏ処理の上限を超えたＩ／Ｏ処理要求を制限する提案情報を出力してもよい。また、ストレージ装置１０３の要素を管理する情報が管理計算機１０１に保持されてもよい。この場合、例えば、Ｉ／Ｏ処理ユニット１３２をストレージ装置１０３に追加可能である場合、管理計算機１０１は、Ｉ／Ｏ処理ユニット１３２の追加に関する提案情報を出力してもよい。
【００９０】
負荷分散実行処理（ステップＳ１５０５）では、管理計算機１０１は、割当変更プランに従って負荷分散処理を実行する。
【００９１】
＜閾値超過判定処理（ステップＳ１５０１）＞
図１６は、図１５に示した閾値超過判定処理（ステップＳ１５０１）の詳細な処理手順例を示すフローチャートである。
【００９２】
ストレージ装置１０３は、サーバ１０２からのＩ／Ｏ処理要求の他に、ストレージ装置１０３の性能情報の管理計算機１０１への送信や、データコピーなどのジョブの実行のためにＩ／Ｏ処理ユニット１３２を使用することがある。サーバ１０２からのＩ／Ｏ処理要求以外のジョブによるＩ／Ｏ処理ユニット１３２の負荷が上昇しても、当該負荷は短期間で減少する。このような場合は、管理計算機１０１は、割当変更を実行させなくてもよい。したがって、閾値超過判定処理（ステップＳ１５０１）では、管理計算機１０１は、Ｉ／Ｏ処理要求の増加が原因となるＩ／Ｏ処理ユニット１３２の閾値超過を判定する。また、閾値超過判定処理（ステップＳ１５０１）は、Ｉ／Ｏ処理ユニット１３２ごとに実行される。
【００９３】
図１６において、管理計算機１０１は、閾値超過判定対象のＩ／Ｏ処理ユニット１３２のリソース使用率が閾値超過したか否かを判断する（ステップＳ１６０１）。閾値超過でない場合（ステップＳ１６０１：Ｎｏ）、管理計算機１０１は、閾値超過判定対象のＩ／Ｏ処理ユニット１３２についての閾値超過判定処理（ステップＳ１５０１）を終了する。
【００９４】
一方、閾値超過である場合（ステップＳ１６０１：Ｙｅｓ）、管理計算機１０１は、Ｉ／Ｏ処理要求の増加が閾値超過の原因であるか否かを判断する（ステップＳ１６０２）。具体的には、たとえば、閾値超過判定対象のＩ／Ｏ処理ユニット１３２が担当する全論理ボリューム１３４へのＩ／Ｏ処理要求の数が、所定数以上であるか否かを判断する。所定数以上であれば、Ｉ／Ｏ処理要求の増加が、閾値超過判定対象のＩ／Ｏ処理ユニット１３２のリソース使用率の閾値超過の原因となる。
【００９５】
管理計算機１０１は、Ｉ／Ｏ処理要求の増加が閾値超過の原因と判断した場合（ステップＳ１６０２：Ｙｅｓ）、閾値超過判定対象のＩ／Ｏ処理ユニット１３２のリソース使用率が閾値超過したと判定し、判定結果を主記憶デバイス２０２または補助記憶デバイス２０３に格納する（ステップＳ１６０３）。これにより、管理計算機１０１は、当該Ｉ／Ｏ処理ユニット１３２についての閾値超過判定処理（ステップＳ１５０１）を終了する。
【００９６】
また、たとえば、閾値超過判定対象のＩ／Ｏ処理ユニット１３２が担当する全論理ボリューム１３４へのＩ／Ｏ処理要求の数が、所定数以上でない場合、Ｉ／Ｏ処理要求の増加が、閾値超過判定対象のＩ／Ｏ処理ユニット１３２のリソース使用率の閾値超過の原因ではない。この場合、閾値超過判定対象のＩ／Ｏ処理ユニット１３２でのバックエンド処理や集計処理といったＩ／Ｏ処理以外のジョブにより、閾値超過判定対象のＩ／Ｏ処理ユニット１３２のリソース使用率が閾値超過したことになる。すなわち、Ｉ／Ｏ処理によるリソース使用率の閾値超過が直接的な原因ではないため、ジョブの実行が終了すれば、閾値超過判定対象のＩ／Ｏ処理ユニット１３２のリソース使用率が閾値以下になる。
【００９７】
このため、管理計算機１０１は、Ｉ／Ｏ処理要求の増加が閾値超過の原因ではないと判断した場合（ステップＳ１６０２：Ｎｏ）、閾値超過判定対象のＩ／Ｏ処理ユニット１３２のリソース使用率は実質的に閾値以下であると判定し、判定結果を主記憶デバイス２０２または補助記憶デバイス２０３に格納する（ステップＳ１６０４）。この場合、管理計算機１０１は、閾値超過判定対象のＩ／Ｏ処理ユニット１３２のリソース使用率を閾値未満の値に設定しておく。これにより、後述する割当変更プラン生成処理（ステップＳ１５０２）のステップＳ１７０２において、リソース使用率が閾値超過しているＩ／Ｏ処理ユニット１３２のみを特定することができる。以上により、管理計算機１０１は、当該Ｉ／Ｏ処理ユニット１３２についての閾値超過判定処理（ステップＳ１５０１）を終了する。
【００９８】
＜割当変更プラン生成処理（ステップＳ１５０２）＞
図１７は、図１５に示した割当変更プラン生成処理（ステップＳ１５０２）の詳細な処理手順例を示すフローチャートである。
【００９９】
割当変更プラン生成処理（ステップＳ１５０２）では、管理計算機１０１は、Ｉ／Ｏ処理ユニット１３２と論理ボリューム１３４の全ての組合せをチェックすることなく、Ｉ／Ｏ処理ユニット１３２の閾値超過している状態を改善する割当変更プランを生成し、さらに、その割当変更プランの中から、割当変更回数の少ない割当変更プランを生成する。
【０１００】
まず、管理計算機１０１は、割当変更回数が上限に達したか否かを判断する（ステップＳ１７０１）。割当変更回数とは、ステップＳ１７０５が実行された回数である。上限は、あらかじめ設定される。何回割当変更を繰り返しても閾値超過を解決できない場合も存在する場合があるため、上限が設定される。
【０１０１】
上限に達していない場合（ステップＳ１７０１：Ｎｏ）、ステップＳ１７０２に移行し、上限に達した場合（ステップＳ１７０１：Ｙｅｓ）、ステップＳ１７０８に移行する。
【０１０２】
上限に達していない場合（ステップＳ１７０１：Ｎｏ）、管理計算機１０１は、負荷平準化対象の未選択Ｉ／Ｏ処理ユニット１３２があるか否かを判断する（ステップＳ１７０２）。負荷平準化対象とは、閾値超過判定処理（ステップＳ１５０１）で閾値超過と判定され、かつ、負荷平準化許可ユニット管理テーブル７００の割当変更許可フィールド７０２の値が「可」であるＩ／Ｏ処理ユニット１３２である。したがって、閾値超過判定処理（ステップＳ１５０１）で閾値超過と判定されたＩ／Ｏ処理ユニット１３２であっても、負荷平準化許可ユニット管理テーブル７００の割当変更許可フィールド７０２の値が「不可」であるＩ／Ｏ処理ユニット１３２は、負荷平準化対象に該当しない。
【０１０３】
負荷平準化対象の未選択Ｉ／Ｏ処理ユニット１３２がない場合（ステップＳ１７０２：Ｎｏ）、ステップＳ１７０８に移行する。一方、負荷平準化対象の未選択Ｉ／Ｏ処理ユニット１３２がある場合（ステップＳ１７０２：Ｙｅｓ）、管理計算機１０１は、未選択Ｉ／Ｏ処理ユニット１３２を１つ選択して、割当変更対象選択処理を実行する（ステップＳ１７０３）。割当変更対象選択処理（ステップＳ１７０３）では、管理計算機１０１は、割当変更させる論理ボリューム１３４の候補を選択する。割当変更対象選択処理（ステップＳ１７０３）の詳細は、図１８で後述する。
【０１０４】
割当変更対象選択処理（ステップＳ１７０３）のあと、管理計算機１０１は、割当変更させる論理ボリューム１３４の処理を引き受ける割当変更先Ｉ／Ｏ処理ユニット１３２の候補を選択する（ステップＳ１７０４）。具体的には、たとえば、管理計算機１０１は、割当変更先Ｉ／Ｏ処理ユニット１３２を、過去一定期間のリソース使用率の平均使用率が低い順に選択する。ただし、管理計算機１０１は、負荷平準化許可ユニット管理テーブル７００の割当変更許可フィールド７０２の値が「不可」であるＩ／Ｏ処理ユニット１３２を、割当変更先Ｉ／Ｏ処理ユニット１３２候補として選択しない。
【０１０５】
管理計算機１０１は、割当変更元のＩ／Ｏ処理ユニット１３２と同一のストレージ装置１０３に存在するＩ／Ｏ処理ユニット１３２の中から割当変更先のＩ／Ｏ処理ユニット１３２を選択してもよい。また、管理計算機１０１は、割当変更元のＩ／Ｏ処理ユニット１３２が存在するストレージ装置１０３とは異なるストレージ装置１０３の中から割当変更先のＩ／Ｏ処理ユニット１３２を選択してもよい。
【０１０６】
なお、割当変更先のＩ／Ｏ処理ユニット１３２と割当変更元のＩ／Ｏ処理ユニット１３２の限界性能（例えば、ＣＰＵ動作周波数）が異なる場合は、管理計算機１０１は、Ｉ／Ｏ処理ユニット１３２の限界性能の差分に合わせて、第２のリソース使用率情報１２００の値を修正して、ステップＳ１６０４以降の処理を実行する。
【０１０７】
たとえば、割当変更元のＩ／Ｏ処理ユニット１３２のＣＰＵ動作周波数が４［ＧＨｚ］で、割当変更先のＩ／Ｏ処理ユニット１３２のＣＰＵ動作周波数が８［ＧＨｚ］の場合、割当変更先のＩ／Ｏ処理ユニット１３２のＣＰＵ性能が２倍優れており、Ｉ／Ｏ処理のリソース使用率に与える影響が０．５倍になる。したがって、管理計算機１０１は、第２のリソース使用率情報１２００において、割当変更される論理ボリューム１３４のリソース使用率を０．５倍した値を用いて、ステップＳ１７０５以降の処理を実行する。
【０１０８】
つぎに、管理計算機１０１は、最適な割当変更案を選択する（ステップＳ１７０５）。具体的には、たとえば、管理計算機１０１は、割当変更対象選択処理（ステップＳ１７０３）で選択された論理ボリューム１３４と、ステップＳ１７０４で選択された割当変更先Ｉ／Ｏ処理ユニット１３２の候補との組み合わせである割当変更案の集合の中から、最も閾値超過の改善に効果的な割当変更案を選択し、割当変更プランの末尾に追加する。
【０１０９】
より具体的には、たとえば、管理計算機１０１は、まず、ステップＳ１７０２で選択された割当変更元となるＩ／Ｏ処理ユニット１３２と、割当変更対象選択処理（ステップＳ１７０３）で選択された論理ボリューム１３４と、ステップＳ１７０４で選択された割当変更先のＩ／Ｏ処理ユニット１３２の候補との組み合わせである割当変更案を作成する。
【０１１０】
つぎに、管理計算機１０１は、作成した割当変更案の全組み合わせについてシミュレーションを実行する。具体的には、たとえば、管理計算機１０１は、シミュレーション期間中の所定時間間隔で、作成した割当変更案ごとに、割当変更案を適用した場合の割当変更後における割当変更元のＩ／Ｏ処理ユニット１３２のリソース使用率（以下、リソース使用率Ｒａ）と割当変更案を適用した場合の割当変更後における割当変更先のＩ／Ｏ処理ユニット１３２のリソース使用率（以下、リソース使用率Ｒｂ）とをそれぞれ算出する。
【０１１１】
リソース使用率Ｒａは、ステップＳ１７０２で選択された割当変更元のＩ／Ｏ処理ユニット１３２のリソース使用率から、ステップＳ１７０３で選択された論理ボリューム１３４分のリソース使用率を引いた値である。
【０１１２】
リソース使用率Ｒｂは、ステップＳ１７０４で選択された割当変更先のＩ／Ｏ処理ユニット１３２のリソース使用率から、ステップＳ１７０３で選択された論理ボリューム１３４分のリソース使用率を足した値である。
【０１１３】
これにより、シミュレーション期間中において、作成した割当変更案ごとに、所定時間間隔で計算されたリソース使用率Ｒａ，Ｒｂの時系列データが得られる。
【０１１４】
そして、管理計算機１０１は、リソース使用率Ｒａ，Ｒｂの時系列データの各々の閾値超過期間を算出し、両閾値超過期間の総和を求める。閾値は、運用品質−閾値対応テーブル９００または閾値情報１０００から選択される。
【０１１５】
また、管理計算機１０１は、リソース使用率Ｒａ，Ｒｂの時系列データの各々の閾値超過期間について、閾値超過量を算出し、両閾値超過量の総和を求める。リソース使用率Ｒａの閾値超過量は、その閾値超過期間におけるリソース使用率Ｒａの時系列データの各々から閾値を引いた値の合計である。同様に、リソース使用率Ｒｂの閾値超過量は、その閾値超過期間におけるリソース使用率Ｒｂの時系列データの各々から閾値を引いた値の合計である。
【０１１６】
そして、管理計算機１０１は、たとえば、閾値超過期間の総和が最短となる割当変更案を、最も効果のある割当変更として選択する。また、閾値超過期間の総和が最短となる割当変更案が複数存在する場合、管理計算機１０１は、閾値超過量の総和が最小となる割当変更案を選択する。選択された割当変更案は、主記憶デバイス内または補助記憶デバイス内の割当変更プランの末尾に追加される。追加後の割当変更プランが基底状態となる。
【０１１７】
なお、上記の例では、リソース使用率Ｒａ，Ｒｂを用いたが、管理計算機１０１は、リソース使用率Ｒａ，Ｒｂのうちいずれか一方のみ用いてもよい。なお、ステップＳ１７０５で割当変更が選択された場合は、管理計算機１０１は、ステップＳ１７０１で用いられる割当変更回数をインクリメントする。
【０１１８】
つぎに、管理計算機１０１は、ステップＳ１７０５で選択された割当変更案について、割当変更の振動の有無を検出する（ステップＳ１７０６）。ここで、割当変更の振動とは、ある割当変更案の変更元のリソースは、他の割当変更案の変更元のリソースに設定されていないが他の割当変更案のいずれかの変更先のリソースに設定されており、かつ、ある割当変更案の変更先のリソースは、他の割当変更案の変更先のリソースに設定されていないが他の割当変更案のいずれかの変更元のリソースに設定されている状態をいう。
【０１１９】
例えば、論理ボリュームＶｏｌ  ＸがＩ／Ｏ処理ユニットＰａとＩ／Ｏ処理ユニットＰｂの間で割当変更が繰り返されている、論理ボリュームＶｏｌ  ＸがＩ／Ｏ処理ユニットＰａとＩ／Ｏ処理ユニットＰｂとＩ／Ｏ処理ユニットＰｃの間で割当変更が繰り返されているというような、特定の論理ボリューム１３４が同じＩ／Ｏ処理ユニット１３２間で割当変更を繰り返しているような状態をいう。
【０１２０】
割当変更の振動が検出された場合（ステップＳ１７０６：Ｙｅｓ）、ステップＳ１７０７に移行し、振動が検出されなかった場合（ステップＳ１７０６：Ｎｏ）、ステップＳ１７０１に戻る。
【０１２１】
また、割当変更の振動が検出された場合（ステップＳ１７０６：Ｙｅｓ）、管理計算機１０１は、振動を回避する処理を行い（ステップＳ１７０７）、ステップＳ１７０１に戻る。具体的には、たとえば、管理計算機１０１は、割当変更プランの中から振動に該当する割当変更案のエントリを削除する。管理計算機１０１は、割当変更許可ボリューム管理テーブル８００の振動に該当する論理ボリューム１３４のエントリにおいて、割当変更許可フィールド８０２の値を「不可」に更新する。なお、ステップＳ１６０１に進む場合は、振動に該当する割当変更案のエントリの削除後の割当変更プランが基底状態となる。
【０１２２】
また、管理計算機１０１は、割当変更プランの最適化処理を実行して（ステップＳ１７０８）、割当変更プラン生成処理（ステップＳ１５０２）を終了し、ステップＳ１５０３に移行する。割当変更プランの最適化処理（ステップＳ１７０８）の詳細については後述する。
【０１２３】
＜割当変更対象選択処理（ステップＳ１７０３）＞
図１８は、図１７に示した割当変更対象選択処理（ステップＳ１７０３）の詳細な処理手順例を示すフローチャートである。割当変更対象選択処理（ステップＳ１７０３）では、ある時刻におけるＩ／Ｏ処理ユニット１３２のリソース使用率の閾値超過量に近いＩ／Ｏ処理ユニット１３２のリソース使用率である論理ボリューム１３４を選択する処理である。これにより、論理ボリューム１３４の処理を引き受けることになるＩ／Ｏ処理ユニット１３２の負荷の上昇を最小限に抑える論理ボリューム１３４を選択することができる。
【０１２４】
閾値超過量よりも小さいリソース使用率であるＩ／Ｏ処理ユニット１３２が担当する論理ボリューム１３４が選択されると、Ｉ／Ｏ処理ユニット１３２の閾値超過状態を解決するために割当変更回数が増加し、リスクをうける論理ボリューム１３４の数を増やすことになる。このため、割当変更対象選択処理（ステップＳ１７０３）では、管理計算機１０１は、割当変更先の悪影響を抑えつつ、少ない割当変更回数でＩ／Ｏ処理ユニット１３２の閾値超過状態を解決する割当変更対象を探索する。
【０１２５】
図１８において、管理計算機１０１は、ステップＳ１７０２で選択されたＩ／Ｏ処理ユニット１３２を割当変更元のＩ／Ｏ処理ユニット１３２として、そのリソース使用率の閾値超過量を算出する（ステップＳ１８０１）。管理計算機１０１は、たとえば、割当変更元のＩ／Ｏ処理ユニット１３２のリソース使用率が閾値超過した期間の中の最大値から閾値を減算することにより、閾値超過量を算出する。閾値は、運用品質−閾値対応テーブル９００または閾値情報１０００から選択される。
【０１２６】
つぎに、管理計算機１０１は、割当変更元のＩ／Ｏ処理ユニット１３２の論理ボリューム１３４ごとのリソース使用率を、第２のリソース使用率情報１２００から取得し、閾値超過量を超えている論理ボリューム１３４を、閾値超過量との差分が小さい順にソートする（ステップＳ１８０２）。閾値超過量を超えていない論理ボリューム１３４は、閾値超過量を超えているボリュームの次に、閾値超過量との差分が小さい順に並び替えられる。
【０１２７】
図１９は、ステップＳ１７０２のソート処理の一例を示す説明図である。図１９では、説明を単純化するため、第２のリソース使用率情報１２００のボリュームＩＤフィールド５０３と、ある時刻のリソース使用率フィールド１２０４とを抜粋したテーブル１９００を用いて説明する。
【０１２８】
ソート前のテーブル１９００では、論理ボリュームＶｏｌ  Ａのリソース使用率が１［％］、論理ボリュームＶｏｌ  Ｂは２［％］、論理ボリュームＶｏｌ  Ｃは３［％］、論理ボリュームＶｏｌ  Ｄは４［％］、論理ボリュームＶｏｌ  Ｅは５［％］、論理ボリュームＶｏｌ  Ｆは６［％］である。ここで、Ｉ／Ｏ処理ユニット１３２の閾値超過量が４［％］として、ソート処理（ステップＳ１８０２）が実行された場合、論理ボリュームＶｏｌ  Ｄ（４［％］）、論理ボリュームＶｏｌ  Ｅ（５［％］）、論理ボリュームＶｏｌ  Ｆ（６［％］）、論理ボリュームＶｏｌ  Ｃ（３［％］）、論理ボリュームＶｏｌ  Ｂ（２［％］）、論理ボリュームＶｏｌ  Ａ（１［％］）の順にソートされる。
【０１２９】
図１８に戻り、管理計算機１０１は、割当変更候補となる論理ボリューム１３４を複数個選択する（ステップＳ１８０３）。具体的には、たとえば、管理計算機１０１は、ステップＳ１８０２でソートした上位の論理ボリューム１３４の中から、テナント重要度管理テーブル１３００の重要度フィールド１３０２の値である重要度が最も低い論理ボリューム１３４を優先して選択する。
【０１３０】
例えば、ソート結果において上位１０個の論理ボリューム１３４の中から５個の論理ボリューム１３４を候補として選択する場合を例に挙げる。管理計算機１０１は、ソート処理（ステップＳ１８０２）でソートされた論理ボリューム群１３３の上位１０件の中から重要度が「低」のテナント４００がアクセス可能な論理ボリューム１３４を選択する。
【０１３１】
また、管理計算機１０１は、候補として選択した論理ボリューム１３４が５個に満たない場合、残余の論理ボリューム１３４の中から重要度が「低」の次に高い「中」のテナント４００がアクセス可能な論理ボリューム１３４を、ソート結果が上位の論理ボリューム１３４から選択する。同様に、管理計算機１０１は、候補として選択した論理ボリューム１３４が５個に満たない場合、残余の論理ボリューム１３４の中から重要度が「中」よりも高い「高」の論理ボリューム１３４を、ソート結果が上位の論理ボリューム１３４から選択する。
【０１３２】
なお、論理ボリューム１３４が存在する記憶デバイスがＩ／Ｏポート３１３を介して外部のストレージ装置１０３上に存在する場合がある。この場合、実際のＩ／Ｏ処理は、外部のストレージ装置１０３のＩ／Ｏ処理ユニット１３２で行われる。外部のストレージ装置１０３のＩ／Ｏ処理ユニット１３２のリソース使用率は、割当変更元のＩ／Ｏ処理ユニット１３２のリソース使用率よりも高い場合があり、現在時点で大量のＩ／Ｏ処理が行われている可能性がある。このため、外部のストレージ装置１０３上の記憶デバイス上に存在する論理ボリューム１３４については、上位であっても、管理計算機１０１は、割当変更先ボリュームの選択対象外としてもよい。
【０１３３】
このように、割当変更対象選択処理（ステップＳ１７０３）は、ある時刻におけるＩ／Ｏ処理ユニット１３２のリソース使用率の閾値超過量に近いＩ／Ｏ処理ユニット１３２のリソース使用率である論理ボリューム１３４を選択する。これにより、論理ボリューム１３４の処理を引き受けることになるＩ／Ｏ処理ユニット１３２の負荷の上昇を最小限に抑える論理ボリューム１３４を選択することができる。
【０１３４】
一方、割当変更後では、論理ボリューム１３４が割当変更されたＩ／Ｏ処理ユニット１３２のリソース使用率と閾値との間のマージンが最小限に抑制される。このため、管理計算機１０１は、テナント重要度管理テーブル１３００の重要度が高い（たとえば、「高」）テナント４００が利用している論理ボリューム１３４を、テナント−ボリューム対応テーブル５００から特定する。そして、管理計算機１０１は、第２のリソース使用率情報１２００のうち重要度の高いテナント４００が利用している論理ボリューム１３４のリソース使用率について、例えば、１．２倍した値を用いて、負荷平準化プログラム１１１を実行することとしてもよい。これにより、管理計算機１０１は、重要テナント４００については、論理ボリューム１３４が割当変更されたＩ／Ｏ処理ユニット１３２のリソース使用率と閾値との間のマージンの拡大を図りつつ、当該マージンを最小限に抑制することができる。
【０１３５】
また、図１５で述べたように、サーバ１０２のスケールアップや論理ボリューム１３４のスケールアップを契機にして負荷平準化プログラム１１１の実行が開始される場合がある。スケールアップしたサーバ１０２が利用している論理ボリューム１３４または、スケールアップした論理ボリューム１３４のＩ／Ｏ処理ユニット１３２のリソース使用率を、例えば、１．２倍するなどして、所定量高く設定し、負荷平準化プログラム１１１を実行する。
【０１３６】
これにより、管理計算機１０１は、スケールアップにより所定量リソース使用率が高く設定された論理ボリューム１３４が割当変更された場合、当該論理ボリューム１３４に対するＩ／Ｏ処理ユニット１３２のリソース使用率と閾値との間のマージンの拡大を図りつつ、当該マージンを最小限に抑制することができる。
【０１３７】
サーバ１０２がスケールアップすると、ストレージ装置１０３へのアクセス量も増加するため、Ｉ／Ｏ処理ユニット１３２のリソース使用率が、サーバ１０２のスケールアップと連動して上昇する。マージンを持たないで負荷平準化プログラム１１１が実行される場合、スケールアップしたサーバ１０２が利用している論理ボリューム１３４の処理を行っているＩ／Ｏ処理ユニット１３２のリソース使用率が閾値超過し、ストレージ装置１０３の応答性能に悪影響をあたえる可能性がある。このため、論理ボリューム１３４に対するＩ／Ｏ処理ユニット１３２のリソース使用率をあらかじめゆとりをもたせて設定しておくことにより、ストレージ装置１０３の応答性能の悪化を抑制することができる。
【０１３８】
また、論理ボリューム１３４のスケールアップも同様であり、論理ボリューム１３４の限界性能が上昇することによりＩ／Ｏ処理量が増加し、スケールアップした論理ボリューム１３４のＩ／Ｏ処理を行っているＩ／Ｏ処理ユニット１３２のリソース使用率が閾値を超過して応答性能が悪化する可能性がある。このような場合でも、論理ボリューム１３４に対するＩ／Ｏ処理ユニット１３２のリソース使用率をあらかじめゆとりをもたせて設定しておくことにより、ストレージ装置１０３の応答性能の悪化を抑制することができる。
【０１３９】
＜割当変更プランの最適化処理（ステップＳ１７０８）＞
つぎに、図１７に示した割当変更プランの最適化処理（ステップＳ１７０８）について説明する。図１７のステップＳ１７０１からＳ１７０７までの処理の繰り返しにより作成された割当変更プランでは、Ｉ／Ｏ処理ユニット１３２のリソース使用率を最適化する処理の段階で、ある割当変更の組み合わせの割当変更先が他の割当変更の組み合わせの割当変更元になることが許容される。例えば、特定の論理ボリューム１３４の担当がＩ／Ｏ処理ユニットＰａからＩ／Ｏ処理ユニットＰｂへ、Ｉ／Ｏ処理ユニットＰｂからＩ／Ｏ処理ユニットＰｃへ割当変更されるような場合を許容する。
【０１４０】
割当変更処理の実行によるリスクを最小化するために、このように複数回に分けて割当変更するよりは、Ｉ／Ｏ処理ユニットＰａからＩ／Ｏ処理ユニットＰｃへ一度で割当変更する方が効率的である。そのための最低化が割当変更プランの最適化処理（ステップＳ１７０８）で実行される。
【０１４１】
図２０は、割当変更プランの最適化処理（ステップＳ１７０８）の一例を示す説明図である。割当変更プラン２０００は、番号フィールド２００１と、変更元フィールド２００２と、割当変更ボリュームフィールド２００３と、変更先フィールド２００４と、を有し、エントリごとに割当変更の組み合わせを規定する。図２０において、（Ａ）が最適化前の割当変更プラン２０００であり、（Ｂ）が最適化後の割当変更プラン２０００である。
【０１４２】
割当変更プラン２０００において、番号フィールド２００１は、割当変更案に固有な番号を格納する領域である。変更元フィールド２００２は、割当変更元のＩ／Ｏ処理ユニット１３２を一意に特定する識別情報を格納する領域である。割当変更ボリュームフィールド２００３は、割当変更対象となる論理ボリューム１３４を一意に特定する識別情報を格納する領域である。変更先フィールド２００４は、割当変更先のＩ／Ｏ処理ユニット１３２を一意に特定する識別情報を格納する領域である。
【０１４３】
（Ａ）の割当変更プラン２０００では、番号１のエントリの割当変更案において、論理ボリュームＶｏｌ  Ａが、Ｉ／Ｏ処理ユニットＰ０からＩ／Ｏ処理ユニットＰ３に変更される。番号２のエントリの割当変更案において、論理ボリュームＶｏｌ  Ａが、Ｉ／Ｏ処理ユニットＰ３からＩ／Ｏ処理ユニットＰ５に変更される。番号４のエントリの割当変更案において、論理ボリュームＶｏｌ  Ａが、Ｉ／Ｏ処理ユニットＰ５からＩ／Ｏ処理ユニットＰ６に変更される。
【０１４４】
最適化後の（Ｂ）の割当変更プラン２０００では、番号１のエントリの割当変更案において、論理ボリュームＶｏｌ  Ａが、Ｉ／Ｏ処理ユニットＰ０からＩ／Ｏ処理ユニットＰ６に変更される。なお、番号２のエントリの割当変更案は、最適化前の（Ａ）の割当変更プラン２０００の番号３のエントリの割当変更案に対応する。このように、最適化前後では、エントリ数が削減され、割当変更回数が短縮化される。
【０１４５】
図２１は、割当変更プラン２０００の最適化処理（ステップＳ１７０８）の詳細な処理手順例を示すフローチャートである。管理計算機１０１は、同一論理ボリューム１３４の割当変更案をすべて探索する（ステップＳ２１０１）。図２０の（Ａ）の割当変更プラン２０００では、番号１、２、４のエントリの割当変更案が探索される。
【０１４６】
つぎに、管理計算機１０１は、ステップＳ２１０１で探索された割当変更案から論理ボリューム１３４が同一である未選択の割当変更案をすべて選択する（ステップＳ２１０２）。図２０の（Ａ）の割当変更プラン２０００では、番号１、２、４のエントリの割当変更案が選択される。
【０１４７】
そして、管理計算機１０１は、ステップＳ２１０２で選択されたエントリのうち、番号が最小のエントリの変更先フィールド２００４の値を、番号が最大のエントリの変更先フィールド２００４の値で上書きする（ステップＳ２１０３）。図２０の（Ａ）の割当変更プラン２０００では、管理計算機１０１は、番号１のエントリの変更先フィールド２００４の値「Ｐ３」を、番号４のエントリの変更先フィールド２００４の値「Ｐ６」に変更する。
【０１４８】
そして、管理計算機１０１は、ステップＳ２１０２で選択されたエントリのうち、番号が最小でないエントリを割当変更プラン２０００から削除する（ステップＳ２１０４）。図２０の（Ａ）では、番号２と番号４のエントリの割当変更案が削除される。削除後は、番号フィールド２００１の番号は昇順に上書きされる。したがって、（Ａ）の割当変更プラン２０００の番号３のエントリの割当変更案は、（Ｂ）では番号２のエントリの割当変更案となる。
【０１４９】
このあと、管理計算機１０１は、ステップＳ２１０１で探索された割当変更案の中に論理ボリューム１３４が同一である未選択の割当変更案があるか否かを判断する（ステップＳ２１０５）。ある場合（ステップＳ２１０５：Ｙｅｓ）、ステップＳ２１０２に戻る。一方、ない場合（ステップＳ２１０５：Ｎｏ）、割当変更プラン２０００の最適化処理（ステップＳ１７０８）が終了する。
【０１５０】
＜出力画面例＞
図２２は、管理計算機１０１の負荷平準化処理によって得られる割当変更プラン２０００の出力画面例を示す説明図である。図２２の出力画面２２００は、レポート出力処理（ステップＳ１５０４）により表示される。管理計算機１０１が、生成した割当変更プラン２０００と、割当変更される論理ボリューム１３４を利用しているテナント名とを合わせた負荷分散案２２０１を表示することにより、管理者は、悪影響を受けるテナント４００を確認することができる。なお、負荷分散案２２０１は、少なくとも割当変更プラン２０００が含まれていればよい。
【０１５１】
割当変更される論理ボリューム１３４をマウントしているストレージ装置名を表示するために、管理計算機１０１は、テナント−ボリューム対応テーブル５００を参照してもよい。また、出力画面は、管理計算機１０１の出力装置に表示されてもよく、管理計算機１０１が出力画面に関する情報を表示用計算機１０４に送信し、表示用計算機１０４が出力画面２２００を表示することとしてもよい。
【０１５２】
図２２では、管理計算機１０１は、負荷分散案２２０１と併せて割当変更の効果を示すグラフ情報２２０２を表示する。グラフ情報２２０２のうち、第１のグラフ２２１０は、割当変更プラン２０００の実行前でＩ／Ｏ処理ユニット１３２のリソース使用率のばらつきがどのように変化するかを示す。管理計算機１０１は、第１のリソース使用率情報１１００を用いて第１のグラフ２２１０を作成し、表示する。
【０１５３】
第２のグラフ２２２０は、割当変更プラン２０００の実行後でＩ／Ｏ処理ユニット１３２のリソース使用率のばらつきがどのように変化するかを示す。具体的には、たとえば、管理計算機１０１は、割当変更前と同一の条件下において、割当変更後のシステム構成でシミュレーションを実行し、その実行結果である割当変更後のＩ／Ｏ処理ユニット１３２のリソース使用率をまとめたグラフを作成して表示する。第１のグラフ２２１０および第２のグラフ２２２０はともに、各Ｉ／Ｏ処理ユニット１３２のリソース使用率の各時刻の最大値を通る線２２１１，２２２１と最小値を通る線２２１２，２２２２で囲まれる領域を示す。
【０１５４】
グラフの幅が狭いほど、Ｉ／Ｏ処理ユニット１３２間のリソース使用率のばらつきが小さく、グラフの幅が広いほど、Ｉ／Ｏ処理ユニット１３２間のリソース使用率のばらつきが大きいことを示す。図２２の例では、第１のグラフ２２１０のほうが第２のグラフ２２２０よりも幅が広いため、Ｉ／Ｏ処理ユニット１３２間のリソース使用率のばらつきが大きいことを示す。管理計算機１０１が割当変更プラン２０００の効果をグラフとして表示することにより、管理者は視覚的に割当変更プラン２０００の実行によるリソース使用率のばらつきの収まりや閾値超過の改善度合いを確認することができる。
【０１５５】
なお、編集ボタン２２０３の押下により、管理者は、負荷分散案２２０１を変更することができる。そして、変更があった場合、管理計算機１０１は、変更後の負荷分散案２２０１により再度シミュレーションを実行し、変更後の第２のグラフ２２２０を作成して表示する。
【０１５６】
また、ＯＫボタン２２０４の押下により、管理計算機１０１は、負荷分散案２２０１にしたがって、システム構成を変更する。図２２の例では、論理ボリュームＶｏｌ  Ａの担当がＩ／Ｏ処理ユニットＰ０からＩ／Ｏ処理ユニットＰ６に変更され、論理ボリュームＶｏｌ  Ｂの担当がＩ／Ｏ処理ユニットＰ２からＩ／Ｏ処理ユニットＰ４に変更される。すなわち、管理計算機１０１は、Ｉ／Ｏ処理ユニットＰ０、Ｐ２に更新指示を送り、Ｉ／Ｏ処理ユニットＰ０、Ｐ２は、その内部メモリに格納されている論理ボリューム１３４の管理情報から、それぞれ「Ｖｏｌ  Ａ」、「Ｖｏｌ  Ｂ」を削除する。同様に、管理計算機１０１は、Ｉ／Ｏ処理ユニットＰ６、Ｐ４に更新指示を送り、Ｉ／Ｏ処理ユニットＰ６、Ｐ４は、その内部メモリに格納されている論理ボリューム１３４の割当情報に、それぞれ「Ｖｏｌ  Ａ」、「Ｖｏｌ  Ｂ」を追加する。また、管理計算機１０１は、同様に、Ｉ／Ｏ処理ユニット−ボリューム対応テーブル６００を更新する。これにより、更新処理が完了する。
【０１５７】
図２３は、各Ｉ／Ｏ処理ユニット１３２のリソース使用率の内訳の変化を示す出力画面例を示す説明図である。図２２の出力画面２２００も、レポート出力処理（ステップＳ１５０４）により表示される。出力画面２３００は、管理計算機１０１の出力装置に表示されてもよく、管理計算機１０１が出力画面２３００に関する情報を表示用計算機１０４に送信し、表示用計算機１０４が出力画面２３００を表示することとしてもよい。
【０１５８】
出力画面２３００は、負荷平準化処理によって生成された割当変更プラン２０００の効果の確認するための画面例である。任意のＩ／Ｏ処理ユニット１３２のリソース使用率の論理ボリューム１３４毎または論理ボリューム群１３３ごとの内訳が積み上げられた面グラフが、割当変更プラン２０００の効果の確認のために表示される。
【０１５９】
例えば、変更元のＩ／Ｏ処理ユニット１３２から、割当変更される論理ボリューム１３４のＩ／Ｏ処理に裂いていたリソース使用率が削減される。図２３の出力画面２３００を管理者が見ることにより、管理計算機１０１は、削減されるリソース使用率が時系列でどのように影響を与えているかを出力画面２３００に表示することができる。
【０１６０】
また、例えば、変更先のＩ／Ｏ処理ユニット１３２のリソース使用率は、割当変更される論理ボリューム１３４のＩ／Ｏ処理に必要な分だけ増加する。管理計算機１０１は、この増加分のリソース使用率がＩ／Ｏ処理ユニット１３２のリソース使用率に対し時系列でどのような影響を与えているかを出力画面２３００に表示することができる。たとえば、図２３の出力画面２３００は、Ｉ／Ｏ処理ユニットＰ０のリソース使用率の割当変更プラン２０００の実行前後の変化を示す。論理ボリュームＶｏｌ  Ａのリソース使用率が減少しているため、管理者は、Ｉ／Ｏ処理ユニットＰ０について閾値超過している状態を改善できていることを確認することができる。
【０１６１】
以上の通り、本実施例によれば、ストレージ装置１０３のＩ／Ｏ処理ユニット１３２に負荷の片寄りが生じた場合に、管理計算機１０１が負荷を平準化させる割当変更プラン２０００を算出し、算出した割当変更プラン２０００を管理者に提示する。これにより、管理者は事前に割当変更プラン２０００の妥当性を判断することができる。
【０１６２】
なお、本実施例ではＩ／Ｏ処理ユニット１３２負荷平準化処理を管理計算機１０１上で実行したが、この負荷平準化処理は、ストレージ装置１０３上で実行されてもよい。また、その際ストレージ装置１０３が保持していない情報に関しては、ストレージ装置１０３が管理計算機１０１に問い合わせればよい。また、管理者からの事前承認が得られている場合、負荷平準化処理は自動実行されてもよい。
【０１６３】
また、本実施例では、Ｉ／Ｏ処理ユニット１３２について割当変更プラン２０００を生成する処理を説明したが、同様の手法を用いて、管理計算機１０１は、Ｉ／Ｏ処理ユニット１３２に替えてＩ／Ｏポート１３１やネットワークＩ／Ｆ３０３のリソース使用率を平準化する割当変更プラン２０００を生成してもよい。この場合のリソース使用率は、たとえば、１秒あたりのＩ／Ｏ処理要求の数を、限界ＩＯＰＳで割った値が用いられる。なお、リソース使用率は１秒単位に限定されず、あらかじめ設定された所定時間単位でもよい。
【０１６４】
また、本実施例では、Ｉ／Ｏ処理ユニット１３２について割当変更プラン２０００を生成する処理を説明したが、同様の手法を用いて、管理計算機１０１は、Ｉ／Ｏ処理ユニット１３２のリソース使用率に替えて、論理ボリューム１３４を構成する論理デバイスやＲＡＩＤグループ３１５、論理ボリューム１３４のリソース使用量を平準化する割当変更プラン２０００を生成してもよい。
【０１６５】
このように、ストレージ装置１０３において、Ｉ／Ｏ処理ユニット１３２の負荷は、その担当する記憶デバイスの種類や数により決まる。通常は、適切な負荷で運用されていても、突発的なアクセスの増加により、あるＩ／Ｏ処理ユニット１３２に負荷が集中する場合がある。また、記憶デバイスの種類により限界ＩＯＰＳ（Ｉ／Ｏ  ｐｅｒ  Ｓｅｃｏｎｄ）が異なるため、たとえば、ＨＤＤデバイスよりも高速なＳＳＤが記憶デバイスに採用された場合には、ＳＳＤの限界性能が向上し、ＳＳＤを担当するＩ／Ｏ処理ユニット１３２の限界性能がボトルネックになる。また、サーバ１０２の仮想化や記憶デバイス群の階層制御により、ストレージ装置１０３の中に複数あるＩ／Ｏ処理ユニット１３２の負荷の片寄りが発生し、ストレージ装置１０３の応答時間が悪化する性能障害が発生しやすくなる。
【０１６６】
しかしながら、本実施例により、管理計算機１０１は、割当変更回数を最小限に抑制することにより、Ｉ／Ｏ処理ユニット１３２の負荷を平準化する割当変更プラン２０００を生成し、管理者に提案することができる。これにより、動的にシステム構成に変化が起こりストレージ装置１０３への負荷の変動が激しい環境においても、管理計算機１０１は、重要なサーバ１０２への悪影響を抑えながら、容易にＩ／Ｏ処理ユニット１３２の負荷を平準化することができる。
【０１６７】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【０１６８】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【０１６９】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【０１７０】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【図１】
2016031041.tif 000003
【図２】
2016031041.tif 000004
【図３】
2016031041.tif 000005
【図４】
2016031041.tif 000006
【図５】
2016031041.tif 000007
【図６】
2016031041.tif 000008
【図７】
2016031041.tif 000009
【図８】
2016031041.tif 000010
【図９】
2016031041.tif 000011
【図１０】
2016031041.tif 000012
【図１１】
2016031041.tif 000013
【図１２】
2016031041.tif 000014
【図１３】
2016031041.tif 000015
【図１４】
2016031041.tif 000016
【図１５】
2016031041.tif 000017
【図１６】
2016031041.tif 000018
【図１７】
2016031041.tif 000019
【図１８】
2016031041.tif 000020
【図１９】
2016031041.tif 000021
【図２０】
2016031041.tif 000022
【図２１】
2016031041.tif 000023
【図２２】
2016031041.tif 000024
【図２３】
2016031041.tif 000025
【手続補正書】
【提出日】平成28年12月26日(2016.12.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項９
【補正方法】変更
【補正の内容】
【請求項９】
前記特定のプロセッサは、
前記特定のリソース群のうち前記閾値を超過したリソースを特定し、
前記閾値を超過したリソースに入力された前記入出力処理要求の数に基づいて、前記閾値を超過したリソースの閾値超過原因が前記入出力処理要求の増加であるか否かを判断し、
前記閾値超過原因が前記入出力処理要求の増加である場合、前記負荷分散案を算出し、前記閾値超過原因が前記入出力処理要求の増加でない場合、前記負荷分散案を算出しない、
ことを特徴とする請求項２に記載の計算機システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
サーバ１０２は、プロセッサ３０１と、メモリ３０２と、ネットワークＩ／Ｆ３０３と、主記憶デバイス３０４と、ＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）３０５と、を含むコンピュータである。サーバ１０２は、管理計算機１０１の管理対象装置である。サーバ１０２は、テナント４００を構成するソフトウェアや仮想マシンを実行する。ネットワークＩ／Ｆ３０３は、他のネットワークＩ／Ｆ３１１，３１６、ネットワーク装置２２０の一例であるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）スイッチ２２０Ａ、ネットワーク１０５に接続される。ＨＢＡ３０５は、ネットワーク装置２２０の一例であるＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）スイッチ２２０Ｂのポート３１７に接続される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７３
【補正方法】変更
【補正の内容】
【００７３】
また、管理計算機１０１が論理ボリューム１３４のスケールアップを検知した場合に、本フローチャートによる負荷平準化処理の実行が開始されてもよい。当該スケールアップの例としては、論理ボリューム１３４を構成するＲＡＩＤグループ３１５が変更された場合である。こうした変更は論理ボリューム１３４の限界性能（性能の例としてはＩＯＰＳ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）がある）が向上し、その結果として他のリソース（例えばＩ／Ｏ処理ユニット１３２）にさらなる負荷を与える契機となり得るためである。なお、前述の「論理ボリューム１３４を構成するＲＡＩＤグループ３１５の変更」は例えば、元々の構成元であった第１のＲＡＩＤグループ３１５に、第２のＲＡＩＤグループが新規に追加（又は代替）される第１パターンや、第１のＲＡＩＤグループ３１５自体の構成変更される第２パターンがある。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
第１パターンは例えば、階層制御によって所定の論理ボリューム１３４を構成するＲＡＩＤグループ３１５が、ＦＣやＳＡＳやＳＡＴＡ  ＨＤＤといった比較的中位又は低位の階層の記憶デバイスで構成されたＲＡＩＤグループ３１５から、ＳＳＤといった上位階層の記憶デバイスで構成されたＲＡＩＤグループ３１５に代替された場合がある。なお、この時の代替する単位としては論理ボリュームを構成するＲＡＩＤグループ３１５がそのまま代替される、論理ボリュームを単位とした場合のほか、論理ボリュームの記憶領域を複数の領域に分割し、当該分割領域毎にＲＡＩＤグループの代替を行う分割領域を単位とした場合がある。追加についても同様である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
第２パターンは例えば、ＲＡＩＤグループ３１５自体の構成変更によりＲＡＩＤレベルを変更したり、ＲＡＩＤグループ３１５を構成する記憶デバイスを増加させた場合である。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
レポート出力処理（ステップＳ１５０４）では、管理計算機１０１は、割当変更プラン生成処理（ステップＳ１５０２）で生成された割当変更プランと、プラン実行時刻特定処理（ステップＳ１５０３）で特定された時刻とを、管理計算機１０１の出力デバイス２０５または表示用計算機１０４に出力する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１０６
【補正方法】変更
【補正の内容】
【０１０６】
なお、割当変更先のＩ／Ｏ処理ユニット１３２と割当変更元のＩ／Ｏ処理ユニット１３２の限界性能（例えば、ＣＰＵ動作周波数）が異なる場合は、管理計算機１０１は、Ｉ／Ｏ処理ユニット１３２の限界性能の差分に合わせて、第２のリソース使用率情報１２００の値を修正して、ステップＳ１７０５以降の処理を実行する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１２１
【補正方法】変更
【補正の内容】
【０１２１】
また、割当変更の振動が検出された場合（ステップＳ１７０６：Ｙｅｓ）、管理計算機１０１は、振動を回避する処理を行い（ステップＳ１７０７）、ステップＳ１７０１に戻る。具体的には、たとえば、管理計算機１０１は、割当変更プランの中から振動に該当する割当変更案のエントリを削除する。管理計算機１０１は、割当変更許可ボリューム管理テーブル８００の振動に該当する論理ボリューム１３４のエントリにおいて、割当変更許可フィールド８０２の値を「不可」に更新する。なお、ステップＳ１７０１に進む場合は、振動に該当する割当変更案のエントリの削除後の割当変更プランが基底状態となる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１２７
【補正方法】変更
【補正の内容】
【０１２７】
図１９は、ステップＳ１８０２のソート処理の一例を示す説明図である。図１９では、説明を単純化するため、第２のリソース使用率情報１２００のボリュームＩＤフィールド１２０３と、ある時刻のリソース使用率フィールド１２０４とを抜粋したテーブル１９００を用いて説明する。
【国際調査報告】
2016031041.tif 000026
2016031041.tif 000027
2016031041.tif 000028