(57)【要約】【課題】外部接続先ボリュームを利用してストレージプールを作成する場合に、ボリュームの物理的な属性のみを考慮しても同様の信頼性を持つボリュームをまとめることができない。また、ホスト計算機・ストレージ装置間で要望される信頼性と、ストレージ装置間の信頼性が必ずしも一致するとは限らない。【解決手段】データ処理システムにおいて、ストレージプールを作成する場合に、物理ディスク自体の特性のみではなく外部接続機能を有するストレージ装置とスイッチ、外部接続先のストレージ装置の間のバックエンドのネットワークの接続状況を考慮してストレージプールを作成する。また、ホスト計算機・ストレージ装置間で要望されるパス冗長度とストレージ装置間のバックエンドネットワークのパス冗長度を考慮してストレージプールからホスト計算機へボリュームを割り当てる。【選択図】図１
2009230263.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶装置と、この第１の記憶装置を外部記憶領域として利用する第２の記憶装置と、少なくとも１つ以上のホスト計算機と、前記第１の記憶装置と、前記第２の記憶装置と、前記ホスト計算機とを接続する少なくとも１つ以上のスイッチと、前記第１の記憶装置と、前記第２の記憶装置と、前記スイッチとを管理する管理サーバとを含むデータ処理システムであって、
前記第１の記憶装置は１つ以上の物理デバイスを有し、その１つ以上の物理デバイスデバイスから構成される第１の記憶領域を有し、
前記第２の記憶装置は１以上の物理デバイスと、前記第１の記憶領域を外部記憶領域とし、その外部記憶領域を仮想的なデバイスとして利用する外部デバイス管理部と、前記１以上の物理デバイスから構成される第２の記憶領域及び前記第１の記憶領域とから構成されるストレージプールとを有するものであり、
前記データ処理システムは、
前記第１の記憶領域と前記第２の記憶領域との間の接続情報に基づいて、前記第２の記憶領域の信頼性を判断し、その信頼性に基づいて前記第１及び前記第２の記憶領域を分類し、前記第２の記憶装置内に前記ストレージプールを作成する作成部と、
各前記ストレージプールの前記信頼性と同様の信頼性を保証するように前記ホスト計算機と前記第２の記憶装置との間にパスを生成し、前記ホスト計算機へ前記第２の記憶領域を提供する提供部とを有することを特徴とするデータ処理システム。
【請求項２】
請求項１に記載のデータ処理システムであって、
前記第１及び前記第２の記憶領域を分類してストレージプールを作成する場合に、そのストレージプールは、前記第１の記憶装置の前記１つ以上の物理デバイスの属性と、前記データ処理システム全体の構成条件を制約条件として作成されることを特徴とするデータ処理システム。
【請求項３】
請求項１に記載のデータ処理システムであって、
前記第２の記憶領域の前記信頼性を判断する基準として、前記第１の記憶領域と、前記第２の記憶領域との間のネットワークの距離を利用することを特徴とするデータ処理システム。
【請求項４】
請求項１に記載のデータ処理システムであって、
前記第２の記憶領域の前記信頼性を判断する基準として、前記第１の記憶領域と、前記第２の記憶領域との間のネットワークパスの冗長度を利用することを特徴とするデータ処理システム。
【請求項５】
請求項１に記載のデータ処理システムであって、
前記第２の記憶装置が前記第２の記憶領域を拡張する拡張部を有し、
前記提供部は、前記拡張部により前記第２の記憶領域を拡張させて前記ホスト計算機に提供することを特徴とするデータ処理システム。
【請求項６】
請求項５に記載のデータ処理システムであって、
前記作成部が前記第１及び前記第２の記憶領域を分類してストレージプールを作成する場合に、そのストレージプールは前記第１の記憶装置の前記１つ以上の物理デバイスの属性と、前記データ処理システム全体の構成条件を制約条件として作成されることを特徴とするデータ処理システム。
【請求項７】
請求項５に記載のデータ処理システムであって、
前記第２の記憶領域の前記信頼性を判断する基準として、前記第１の記憶領域と、前記第２の記憶領域との間のネットワークの距離を利用することを特徴とするデータ処理システム。
【請求項８】
請求項５に記載のデータ処理システムであって、
前記第２の記憶領域の前記信頼性を判断する基準として、前記第１の記憶領域と、前記第２の記憶領域との間のネットワークパスの冗長度を利用することを特徴とするデータ処理システム。
【請求項９】
第１の記憶装置と、この第１の記憶装置を外部記憶領域として利用する第２の記憶装置と、少なくとも１つ以上のホスト計算機と、前記第１の記憶装置と、前記第２の記憶装置と、前記ホスト計算機とを接続する少なくとも１つ以上のスイッチと、前記第１の記憶装置と、前記第２の記憶装置と、前記スイッチとを管理する管理サーバとを含むデータ処理システムの記憶領域割り当て方法であって、
前記第１の記憶装置は１つ以上の物理デバイスを有し、その１つ以上の物理デバイスから構成される第１の記憶領域を有し、
前記第２の記憶装置は１以上の物理デバイスと、前記第１の記憶領域を外部記憶領域とし、その外部記憶領域を仮想的なデバイスとして利用する外部デバイス管理部と、前記１以上の物理デバイスから構成される第２の記憶領域及び前記第１の記憶領域とから構成されるストレージプールとを有するものであり、
前記データ処理システムは、
前記第１の記憶領域と前記第２の記憶領域との間の接続情報に基づいて、前記第２の記憶領域の信頼性を判断し、その信頼性に基づいて前記第１及び前記第２の記憶領域を分類し、前記第２の記憶装置内に前記ストレージプールを作成し、
各前記ストレージプールの前記信頼性と同様の信頼性を保証するように前記ホスト計算機と前記第２の記憶装置との間にパスを生成し、前記ホスト計算機へ前記第２の記憶領域を提供することを特徴とする記憶領域割り当て方法。
【請求項１０】
請求項９に記載の記憶領域割り当て方法において、
前記第１及び前記第２の記憶領域を分類してストレージプールを作成する場合に、そのストレージプールは、前記第１の記憶装置の前記１つ以上の物理デバイスの属性と、前記データ処理システム全体の構成条件を制約条件として作成されることを特徴とする記憶領域割り当て方法。
【請求項１１】
請求項９に記載の記憶領域割り当て方法において、
前記第２の記憶領域の前記信頼性を判断する基準として、前記第１の記憶領域と、前記第２の記憶領域との間のネットワークの距離を利用することを特徴とする記憶領域割り当て方法。
【請求項１２】
請求項９に記載の記憶領域割り当て方法において、
前記第２の記憶領域の前記信頼性を判断する基準として、前記第１の記憶領域と、前記第２の記憶領域との間のネットワークパスの冗長度を利用することを特徴とする記憶領域割り当て方法。
【請求項１３】
請求項９に記載の記憶領域割り当て方法であって、
前記第２の記憶領域の提供は、前記第２の記憶装置が前記第２の記憶領域を拡張させて行なうことを特徴とする記憶領域割り当て方法。
【請求項１４】
請求項１３に記載の記憶領域割り当て方法において、
前記第１及び前記２の記憶領域を分類してストレージプールを作成する場合に、そのストレージプールは前記第１の記憶装置の前記１つ以上の物理デバイスの属性と、前記データ処理システム全体の構成条件を制約条件として作成されることを特徴とする記憶領域割り当て方法。
【請求項１５】
請求項１３に記載の記憶領域割り当て方法において、
前記第２の記憶領域の前記信頼性を判断する基準として、前記第１の記憶領域と、前記第２の記憶領域との間のネットワークの距離を利用することを特徴とする記憶領域割り当て方法。
【請求項１６】
請求項１３に記載の記憶領域割り当て方法において、
前記第２の記憶領域の前記信頼性を判断する基準として、前記第１の記憶領域と、前記第２の記憶領域との間のネットワークパスの冗長度を利用することを特徴とする記憶領域割り当て方法。
【請求項１７】
第１の記憶装置と、この第１の記憶装置を外部記憶領域として利用する第２の記憶装置と、少なくとも１つ以上のホスト計算機と、前記第１の記憶装置と、前記第２の記憶装置と、前記ホスト計算機とを接続する少なくとも１つ以上のスイッチとを含み、
前記第１の記憶装置は１つ以上の物理デバイスを有し、その１つ以上の物理デバイスから構成される第１の記憶領域を有し、
前記第２の記憶装置は１以上の物理デバイスと、前記第１の記憶領域を外部記憶領域とし、その外部記憶領域を仮想的なデバイスとして利用する外部デバイス管理部と、前記１以上の物理デバイスから構成される第２の記憶領域及び前記第１の記憶領域とから構成されるストレージプールとを有するものであるデータ処理システムにおいて、前記第１の記憶装置と、前記第２の記憶装置と、前記スイッチとを管理する管理サーバであって、
前記第１の記憶領域と前記第２の記憶領域との間の接続情報に基づいて、前記第２の記憶領域の信頼性を判断し、その信頼性に基づいて前記第１及び前記第２の記憶領域を分類し、前記第２の記憶装置内に前記ストレージプールを作成する作成部と、
各前記ストレージプールの前記信頼性と同様の信頼性を保証するように前記ホスト計算機と前記第２の記憶装置との間にパスを生成し、前記ホスト計算機へ前記第２の記憶領域を提供する提供部とを有することを特徴とする管理サーバ。
【請求項１８】
請求項１７に記載の管理サーバであって、
前記第１及び前記第２の記憶領域を分類してストレージプールを作成する場合に、そのストレージプールは、前記第１の記憶装置の前記１つ以上の物理デバイスの属性と、前記データ処理システム全体の構成条件を制約条件として作成されることを特徴とする管理サーバ。
【請求項１９】
請求項１７に記載の管理サーバであって、
前記第２の記憶領域の前記信頼性を判断する基準として、前記第１の記憶領域と、前記第２の記憶領域との間のネットワークの距離を利用することを特徴とする管理サーバ。
【請求項２０】
請求項１７に記載の管理サーバであって、
前記第２の記憶領域の前記信頼性を判断する基準として、前記第１の記憶領域と、前記第２の記憶領域との間のネットワークパスの冗長度を利用することを特徴とする管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システム及びその記憶領域割り当て方法に関し、特に、外部接続されたストレージ装置の記憶領域を割り当てるデータ処理システム及びその記憶領域の割り当て方法に適用しても好適なものである。
【背景技術】
【０００２】
近年、企業や個人の利用するデータの量は急激に増加している。そこで、ストレージ装置やホスト計算機をスイッチやハブで接続し、柔軟なデータ管理を可能にするＳＡＮ（Storage Area Network）や、ＮＡＳ（Network Attached Storage）といった技術を利用したストレージシステムが広く利用されている。
【０００３】
ＳＡＮ環境において、ホスト計算機が利用するストレージ装置の記憶領域（以下「ボリューム」と呼ぶ。）をストレージ装置からホスト計算機に割り当てる場合に、複数のボリュームをグループとしてまとめ（以下、このグループを「ストレージプール」と呼ぶ。また、ストレージプールに登録されたボリュームを「プールボリューム」と呼ぶ。）、ストレージプールからホスト計算機が要望する容量のボリュームを切り出し、割り当てる技術が一般的に存在している。さらに、ホスト計算機へのボリューム割り当てを効率化、容易化するために、物理ディスク自体の属性からアプリケーションごとの要求特性、要求性能及び信頼性に基づいて記憶領域を分類しストレージプールを作成し、利用するストレージプールの候補を利用者へ提示する技術が開示されている。（特許文献１参照）。
【０００４】
一方、ストレージ装置の管理コストを低減する技術として、ホスト計算機に対して仮想的なボリューム（以下「仮想ボリューム」と呼ぶ）を割り当て、ホスト計算機から仮想ボリュームへのI／Oに応じて実際の記憶領域を割り当てるシンプロビジョニング（Thin Provisioning）と呼ばれる技術が開示されている（特許文献２参照）。
【０００５】
当該技術を利用する場合、ストレージ装置の管理者は予め、１つ以上の記憶領域をシンプロビジョニング（Thin Provisioning）プール（以下「ＴＰプール」と呼ぶ。）と呼ばれる論理的なグループに登録しておく（以下、ＴＰプールに登録されたボリュームも「プールボリューム」と呼ぶ。）。その際、管理者はＴＰプールの容量の枯渇を警告するための閾値を設定する。そして、管理者は仮想ボリュームを生成し、ＴＰプールおよびホスト計算機に関連付ける。
【０００６】
ホスト計算機から仮想ボリュームに書き込みが行われると、書き込まれたデータは実際にはプールボリュームの記憶領域に格納される。仮想ボリュームへの書き込みの結果、ＴＰプールの実使用容量が閾値に近づくと、管理サーバが管理者に対して警告を通知する。この通知に基づいて管理者はストレージ装置に物理ディスクを追加するなどの処理を行う。
【０００７】
なお、ＴＰプールにディスクタイプやＲＡＩＤレベルなどといった属性が異なる性質のボリュームが混在している場合に、ホスト計算機が利用する仮想ボリュームの信頼性を保証するために、始めに書き込まれたプールボリュームと同様の性質をもつボリュームにデータを格納し続ける技術が開示されている（特許文献３参照）。
【０００８】
また、ホスト計算機とストレージ装置間の接続関係の統一、または高機能なストレージリソース（キャッシュメモリなど）を安価なストレージ装置で利用するという目的で、複数のストレージ装置をあたかも一台のストレージ装置として扱うことを可能にする技術が存在する。これは別のストレージ装置のボリュームを自分のストレージ装置の外部記憶領域として利用することが可能な技術（以下、「外部接続機能」と呼ぶ。）として開示されている（特許文献４参照）。当該技術を利用する場合、外部接続機能を有するストレージ装置と外部記憶領域として利用されるストレージ装置はネットワークを利用して接続される。
【特許文献１】特開２００４−３３４５６１号公報
【特許文献２】特開２００３−１５９１５号公報
【特許文献３】特開２００７−６６２５９号公報
【特許文献４】特開２００５−０１１２７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
特許文献４の外部接続ボリュームをストレージプールのプールボリュームとする場合、特許文献１の技術を利用してストレージプールを作成したとしても、ボリュームの信頼性に関して十分な分類が出来ない。これは外部接続先の物理ディスク自体の特性のみを考慮しても、外部接続機能を有するストレージ装置と外部接続先ストレージ装置の間のバックエンドのネットワーク構成次第で外部接続ボリュームの信頼性が変更するためである。
【００１０】
また、ＴＰプールに外部接続ボリュームを利用する場合、特許文献２、特許文献３の技術を利用して同様の性質を持つディスクにデータを書き込むようにしたとしても、1つの外部接続ボリュームがバックエンドのスイッチ障害等により利用できなくなった場合、ＴＰプール自体が利用できなくなってしまう。
【００１１】
さらに、外部接続機能を有するストレージ装置内の外部接続ボリュームはそれぞれ外部接続先ストレージ装置のボリュームと複数のパスを生成することが可能であるが、ホスト計算機と外部接続機能を有するストレージ装置間のパス本数と一致するとは限らず、場合によっては外部接続機能を有するストレージ装置と外部接続ボリュームの冗長度（パス本数）によっては、管理者がホスト計算機とストレージ装置のボリューム間で要求する信頼性が満足されない場合がある。
【００１２】
本発明は、以上の点を考慮してなされたもので、外部接続ボリュームを利用してストレージプールを作成するときに同様の信頼性を持つボリュームをまとめることが可能となり、さらにホスト計算機・ストレージ装置間で要望される信頼性を維持して外部接続ボリュームを割り当てることが可能となるストレージシステム及びその外部接続ボリューム割り当て方法を提案しようとするものである。
【課題を解決するための手段】
【００１３】
本発明は、第１の記憶装置と、この第１の記憶装置を外部記憶領域として利用する第２の記憶装置と、少なくとも１つ以上のホスト計算機と、前記第１の記憶装置と、前記第２の記憶装置と、前記ホスト計算機とを接続する少なくとも１つ以上のスイッチと、前記第１の記憶装置と、前記第２の記憶装置と、前記スイッチとを管理する管理サーバとを含むデータ処理システムであって、前記第１の記憶装置は１つ以上の物理デバイスを有し、その１つ以上の物理デバイスから構成される第１の記憶領域を有し、前記第２の記憶装置は１以上の物理デバイスと、前記第１の記憶領域を外部記憶領域とし、その外部記憶領域を仮想的なデバイスとして利用する外部デバイス管理部と、前記１以上の物理デバイスから構成される第２の記憶領域及び前記第１の記憶領域とから構成されるストレージプールとを有するものであり、前記データ処理システムは、前記第１の記憶領域と前記第２の記憶領域との間の接続情報に基づいて、前記第２の記憶領域の信頼性を判断し、その信頼性に基づいて前記第１及び前記第２の記憶領域を分類し、前記第２の記憶装置内に前記ストレージプールを作成する作成部と、各前記ストレージプールの前記信頼性と同様の信頼性を保証するように前記ホスト計算機と前記第２の記憶装置との間にパスを生成し、前記ホスト計算機へ前記第２の記憶領域を提供する提供部とを有するものである。
【００１４】
具体的には、ストレージプールを作成する場合に、物理ディスク自体の特性のみではなく外部接続機能を有するストレージ装置とスイッチ、外部接続先のストレージ装置の間のバックエンドのネットワークを考慮してストレージプールを作成する。すなわち、外部接続機能を有するストレージ装置の外部接続用ポート（以下、外部ポートと呼ぶ）、スイッチのポート、外部接続先ストレージ装置のターゲットポート（以下、ターゲットポートと呼ぶ）の間の接続情報から外部接続ボリューム、及び外部接続ボリュームとマッピングする外部接続先ストレージ装置のボリューム間に介するスイッチの最小の数（以下、ネットワークディスタンスと呼ぶ）、及び各ボリューム間のパス数をストレージプール作成の際のパラメタとして考慮する。
【００１５】
さらに、外部接続ボリューム、及び、外部接続ボリュームとマッピングする外部接続先ストレージ装置のボリューム間のパスが複数本存在する場合は、その外部接続ボリュームを記憶領域として利用するホスト計算機及びストレージ装置間のパスも複数本パスを生成しボリュームを割り当てるように、管理サーバから管理者へ指示を出す。または、ホスト計算機とストレージ装置間のパスが冗長化されている場合に、バックエンドネットワークが冗長化されている外部接続ボリュームから構成されているストレージプールからボリュームを割り当てるように管理者へ指示を出す。
【００１６】
以上のようにバックエンドのネットワークを考慮してストレージプールを構成し、さらにホスト計算機・ストレージ装置間と外部接続機能を有するストレージ装置・外部接続先のストレージ装置間の冗長度（パス本数）を考慮してボリューム割り当てを行なうことで、外部接続ボリュームを利用してストレージプールを作成するときに同様の信頼性を持つボリュームをまとめることが可能となり、さらにホスト計算機・ストレージ装置間で要望される信頼性を維持して外部接続ボリュームを割り当てることが可能となる。
【発明の効果】
【００１７】
本発明によれば、外部接続ボリュームを利用してストレージプールを作成するときに同様の信頼性を持つボリュームをまとめることが可能となり、さらにホスト計算機・ストレージ装置間で要望される信頼性を維持して外部接続ボリュームを割り当てることが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の各実施形態について説明する。なお、各実施形態によって本発明が限定されるものではない。
【００１９】
（第１の実施形態）
図１は、本発明のデータ処理システムを適用したデータ処理システムの構成を示す説明図である。このデータ処理システム９００はホスト計算機１００と、管理サーバ２００と、外部接続機能を有するストレージ装置３００と、ストレージ装置４００と、スイッチ５００とを有している。なお、この第１の実施形態では、データ処理システム９００の有するホスト計算機１００は１つの場合で説明するが、ホスト計算機を複数有する構成としても良い。
【００２０】
ホスト計算機１００と管理サーバ２００はＬＡＮ（Local Area Network）５１０で接続されている。ホスト計算機１００とストレージ装置３００，４００はＳＡＮ（Storage Area Network）５３０内のスイッチ５００を介して接続されている。なお、ホスト計算機１００とストレージ装置３００，４００はスイッチ５００を介さず直接接続する構成としてもよい。また、管理サーバ２００とストレージ装置３００，４００及びスイッチ５００は管理用ネットワーク５２０で接続されている。
【００２１】
ホスト計算機１００はＣＰＵ（Central Processing Unit）１１０と、メモリ１２０と、ＬＡＮ５１０と接続するためのＩ／Ｆ（ネットワークインタフェース）（Ａ）１９０と、ＳＡＮ５３０との接続のためのＩ／Ｆ（Ｂ）１９１とを有している。また、ＣＰＵ１１０、メモリ１２０、Ｉ／Ｆ（Ａ）１９０及びＩ／Ｆ（Ｂ）１９１はバス１８０を通じて互いに接続されている。
【００２２】
ホスト計算機１００の機能はＣＰＵ１１０が所定のプログラムを実行することにより実現される。メモリ１２０はＣＰＵ１１０が用いるプログラムとデータとを記憶する。メモリ１２０は、ストレージ装置３００から提供されるボリューム３３０にアクセスを行うプログラムを有しているが、該プログラムはボリュームにアクセスを行なうための一般的なプログラムで良い。なお、このプログラムに関しては一般的なプログラムであるため図示は省略する。
【００２３】
ホスト計算機１００は図示した構成の他に、ホスト計算機１００のユーザがデータを入力するための入力装置や、ホスト計算機１００のユーザに情報を提示する出力装置を有しているが、本特許とは直接関係がないため、図示は省略する。
【００２４】
管理サーバ２００は、ＣＰＵ２１０と、メモリ２２０と、ＬＡＮ５１０との接続のためのＩ／Ｆ（Ａ）２９０と、管理用ネットワーク５２０との接続のためのＩ／Ｆ（Ｃ）２９１と、を有している。これらＣＰＵ２１０、メモリ２２０、Ｉ／Ｆ（Ａ）２９０及びＩ／Ｆ（Ｂ）２９１は、バス２８０を通じて互いに接続されている。
【００２５】
管理サーバ２００の機能はＣＰＵ２１０が所定のプログラムを実行することにより実現される。メモリ２２０はＣＰＵ２１０が用いるプログラムとデータを記憶する。メモリ２２０に記憶されるプログラムは、管理サーバ２００の管理機能を実行させるための一般的なプログラムに加え、ストレージ管理プログラム２２１と、プール管理プログラム２２２と、ボリューム割り当てプログラム２２３とを有している。また、メモリ２２０に記憶されるデータには、管理サーバ２００の管理機能を実行させるための一般的なデータを有するとともに、外部ボリューム管理テーブル２２４と、プール基準テーブル２２５と、ボリュームグループ管理テーブル２２６と、が含まれている。
【００２６】
ストレージ管理プログラム２２１はＣＰＵ２１０によって実行されるプログラムであり、ストレージ装置３００，４００及びスイッチ５００を管理する処理を行なうプログラムである。
【００２７】
プール管理プログラム２２２はＣＰＵ２１０によって実行されるプログラムであり、ストレージ装置３００内にストレージプールを作成する処理を行なうためのプログラムである。
【００２８】
ボリューム割り当てプログラム２２３はＣＰＵ２１０によって実行されるプログラムであり、ストレージ装置３００内のボリューム（仮想ボリュームを含む）とホスト計算機１００の間のパスを生成するプログラムである。
【００２９】
なお、外部ボリューム管理テーブル２２４、プール基準テーブル２２５及びボリュームグループ管理テーブル２２６については後述する。
【００３０】
管理サーバ２００は図示した構成の他に、管理サーバ２００のユーザがデータを入力するための入力装置や、管理サーバ２００のユーザに情報を提示するための出力装置を有しているが、本特許とは直接関係ないため、図示を省略する。
【００３１】
ストレージ装置３００は、制御装置３０５と、ボリューム３３０と、物理ディスク３４０と、ストレージプール３６０と、仮想ボリューム３７０と、ホスト計算機と接続するためのＩ／Ｆ（Ｂ）３９０と、外部接続先のストレージ装置４００と接続するためのＩ／Ｆ（Ｂ）３９１（外部ポート）と、管理ネットワーク５２０との接続のためのＩ／Ｆ（Ｃ）３９２と、を有している。
【００３２】
なお、図１においてはＩ／Ｆ（Ｂ）３９０，３９１はそれぞれスイッチ５００内のＩ／Ｆ（Ｂ）５９１、５９２と接続されているが、必ずしもスイッチ５００を介する必要は無く、それぞれ直接ホスト計算機１００のＩ／Ｆ（Ｂ）１９１、ストレージ装置４００のＩ／Ｆ（Ｂ）４９０（ターゲットポート）と接続してもよい。
【００３３】
ここで、ボリューム３３０とは、1つ以上の物理ディスク３４０によって提供される物理リソースから構成される論理的な記憶領域のことを表している。図中では、ボリューム３３０が４つ（ボリューム３３１、３３２、３３３、３３４）存在しているがこの限りではなく、１つ以上存在すればよい。また、物理ディスク３４０が２つ（物理ディスク３４１、３４２）存在しているがこの限りではなく、０個以上存在すればよい。また図中では、ボリューム３３１、３３２が物理ディスク３４１、３４２から構成され、ボリューム３３３、３３４が外部接続先ストレージ装置４００のボリューム４３１、４３２に対応しているが、この限りではなく、ボリューム３３０と、物理ディスク３４０及びボリューム４３０との関係は１以上対１以上の関係であれば良い。
【００３４】
また、ストレージプール３６０とは、１つ以上のボリューム３３０からなるグループのことを表している。図中では、ストレージプール３６０が２つ（ストレージプール３６１、ストレージプール３６２）存在しているがこの限りではなく、１つ以上存在すればよい。なお、図中ではストレージプール３６１がボリューム３３１、３３２から構成され、ストレージプール３６２がボリューム３３３、３３４から構成されているがこの限りではなく、ストレージプールとボリュームとの関係は1対1以上の関係であれば良い。
【００３５】
さらに、仮想ボリューム３７０とは、仮想的な記憶領域のことを表している。仮想ボリューム３７０はホスト計算機１００に割り当てられ、ホスト計算機１００からデータの書き込みや読み込みのアクセスを受ける。ただし仮想ボリューム３７０は実際の記憶領域を有しておらず、ホスト計算機１００から仮想ボリューム３７０への書き込みアクセスは、仮想ボリューム３７０と関連付けられたストレージプール３６０を通じて、ストレージプール３６０を構成するボリューム３３０に伝播され、ホスト計算機１００が書き込んだデータはボリューム３３０に格納される。同様にホスト計算機１００から仮想ボリューム３７０への読み込みアクセスも、仮想ボリューム３７０と関連付けられたプール３６０を通じて、プール３６０を構成するボリューム３３０に伝播され、ホスト計算機１００が読み込むデータはボリューム３３０から読み出される。なお、図中では仮想ボリュームが３つ（仮想ボリューム３７１、３７２、３７３）存在しているがこの限りではなく、１つ以上存在すれば良い。また、図中では仮想ボリューム３７１、３７２がプール３６１に関連付けられ、仮想ボリューム３７３がストレージプール３６２に関連付けられているが、この限りではなく、仮想ボリュームとストレージプールとの関係は1以上対１であれば良い。
【００３６】
制御装置３０５は、ＣＰＵ３１０と、メモリ３２０とを有している。これらＣＰＵ３１０とメモリ３２０は、バス３８０を通じて互いに接続されている。メモリ３２０はＣＰＵ３１０が用いるプログラムとデータを記憶する。メモリ３２０はストレージ装置として機能するための一般的なプログラムに加え、外部接続プログラム３２１を有している。
【００３７】
外部接続プログラム３２１はＣＰＵ３１０によって実行されるプログラムであり、外部接続先のストレージ装置４００内のボリューム４３０と、ボリューム３３０のマッピングするためのプログラムである。ＣＰＵ３１０は、外部接続プログラム２３１を実行することにより、ストレージ装置４００を外部ストレージ装置として使用する外部接続機能を実現することができる。
【００３８】
ストレージ装置３００は図示した構成の他に、ストレージ装置３００のユーザがデータを入力するための入力装置や、ストレージ装置３００のユーザに情報を提示するための出力装置を有していても良いが、本特許とは直接関係ないため、図示を省略する。
【００３９】
ストレージ装置４００は、制御装置４０５と、ボリューム４３０と、物理ディスク４４０と、外部接続機能を有するストレージ装置３００と接続するためのＩ／Ｆ（Ｂ）４９０（ターゲットポート）と、管理ネットワーク５２０との接続のためのＩ／Ｆ（Ｃ）４９１とを有している。
【００４０】
なお、図中ではＩ／Ｆ（Ｂ）４９０はＳＡＮ５３０内ではスイッチ５００内のＩ／Ｆ（Ｂ）５９３と接続されているが、必ずしもスイッチ５００を介する必要は無く、ストレージ装置３００のＩ／Ｆ（Ｂ）３９１と直接接続してもよい。
【００４１】
また、図中では、ボリューム４３１、４３２それぞれ物理ディスク４４１、４４２に対応しているが、この限りではなく、ボリューム４３０と、物理ディスク４４０との関係は１以上対１以上の関係であれば良い。また、図中では外部接続先のストレージ装置４００は１台しか記載していないが、複数台存在してもよい。
【００４２】
スイッチ５００は、ホスト計算機１００、ストレージ装置３００，４００と接続するためのＩ／Ｆ（Ｂ）５９０、５９１、５９２、５９３と、管理用ネットワーク５２０と接続するためのＩ／Ｆ（Ｃ）５９４を有する。なお、Ｉ／Ｆ（Ｂ）、Ｉ／Ｆ（Ｃ）はそれぞれ１個以上存在すればよい。また、図中ではＳＡＮ５３０内にスイッチ５００は一台しか記載していないがこの限りではなく、複数個存在してよい。
【００４３】
次に、外部ボリューム管理テーブル２２４、プール基準テーブル２２５及びボリュームグループ管理テーブル２２６について図２から図４を参照して説明する。
【００４４】
先ず、外部ボリューム管理テーブル２２４について説明する。図２は、外部ボリューム管理テーブル２２４の一例を示す図である。
【００４５】
図２に示すように、外部ボリューム管理テーブル２２４は、装置ＩＤ欄２２４０、ボリュームＩＤ欄２２４１、外部接続装置ＩＤ欄２２４２、外部ＬＵＮ（Logical Unit Number）欄２２４３、装置ベンダ欄２２４４、ディスク種別欄２２４５、ネットワークディスタンス欄２２４６及び交替パス数欄２２４７を有している。
【００４６】
装置ＩＤ欄２２４０は、ボリューム３３０を提供するストレージ装置３００を識別するための装置ＩＤを記憶する。ボリュームＩＤ欄２２４１は、ボリューム３３０の識別番号を記憶する。外部接続装置ＩＤ欄２２４２は、外部接続先ストレージ装置を識別するための外部接続装置ＩＤを記憶する。外部ＬＵＮ欄２２４３は、外部接続先のストレージ装置内のボリュームを識別するＬＵＮＩＤを記憶する。装置ベンダ欄２２４４は、ストレージ装置の製造ベンダを表す情報を記憶する。ディスク種別欄２２４５は、外部接続先のストレージ装置内のボリューム４３０を構成するディスク種別を表す情報を記憶する。ネットワークディスタンス欄２２４６は、外部接続機能を有するストレージ装置内のボリューム３３０と外部接続先ストレージ装置内のボリューム４３０の間のネットワークの距離を表す情報を記憶する。交替パス数欄２２４７は、外部接続機能を有するストレージ装置内のボリューム３３０と外部接続先ストレージ装置内のボリューム４３０の間のパスの本数を表す情報を記憶する。
【００４７】
ただし、装置ＩＤ欄２２４０とボリュームＩＤ欄２２４１とに記憶されるそれぞれの情報はストレージ装置３００とボリューム３３０とをそれぞれ一意に識別できる情報であれば、図中の表現に限らず、どのような形態でもよい。同様に、外部接続装置ＩＤ欄２２４２と外部ＬＵＮ欄２２４３とに記憶される情報はストレージ装置４００とボリューム４３０とを一意に識別できる情報であれば、図中の表現に限らず、どのような形態でもよい。
【００４８】
外部ボリューム管理テーブル２２４には、例えば、装置ＩＤとして“Storage１”、ボリュームＩＤとして“０”、外部接続装置ＩＤとして“Storage２”、外部ＬＵＮとして“０”、装置ベンダとして“Ａ社”、ディスク種別として“ＦＣ（Fiber channel）”、ネットワークディスタンスとして“０”、交替パス数として“４”が記憶される。
【００４９】
次にプール基準テーブル２２５について説明する。図３は、プール基準テーブル２２５の一例を示す図である。
【００５０】
プール基準テーブル２２５は、図３に示すように、装置ＩＤ欄２２５０、プールＩＤ欄２２５１及び制限項目欄２２５２を有している。
【００５１】
装置ＩＤ欄２２５０は、ストレージプール３６０を有するストレージ装置を識別する装置ＩＤを記憶する。プールＩＤ欄２２５１は、ストレージプール３６０を識別するプールＩＤを識別する情報であるプールＩＤを記憶する。制限項目欄２２５２は、ストレージプール作成のときにプールから除外するボリュームの条件を設定する制限項目を表す情報を記憶する。この制限項目欄２２５２に設定される制限項目は管理サーバ２００から管理者に対して提示され、ストレージプールごとに値が設定可能となっている。この制限項目は、例えば、図示のように、“交替パスなし”、“ディスクタイプ＝ＳＡＴＡ”、“ＳＴVendor（ストレージベンダ）＝Ａ社”、“交代パスが３本以下”、“異なるベンダ間の装置のまたがり”などの制限項目が設定される。これらの制限項目の条件は、１つの制限項目だけでなく複数の制限項目を１つのプールＩＤに対して設定することが可能となっている。なお、図中の表現に限らず、管理サーバ２００が認識可能な識別条件であれば、制限項目はどのような条件を設定してもよい。
【００５２】
プール基準テーブル２２５には、例えば、装置ＩＤとして“Storage１”、プールＩＤとして“０”、制限項目として“交替パスなし”、“ディスクタイプ＝ＳＡＴＡ”、“ＳＴVendor（ストレージベンダ）＝Ａ社”が記憶される。
【００５３】
次にボリュームグループ管理テーブル２２６について説明する。図４は、ボリュームグループ管理テーブル２２６の一例を示す図である。
【００５４】
ボリュームグループ管理テーブル２２６は、装置ＩＤ欄２２６０、プールＩＤ欄２２６１、グループＩＤ欄２２６２、グループ採用フラグ欄２２６３、ボリュームＩＤ欄２２６４、優先度欄２２６５、容量欄２２６６及び割当済みフラグ２２６７を有している。
【００５５】
装置ＩＤ欄２２６０は、ストレージプール３６０を有するストレージ装置を識別する装置ＩＤである。プールＩＤ欄２２６１は、ストレージプール３６０を識別するプールＩＤを識別する情報であるプールＩＤを記憶する。グループＩＤ欄２２６２は、プール基準テーブル２２５の条件にしたがって分類されたボリュームグループのグループを識別するＩＤであるグループＩＤを記憶する。グループ採用フラグ欄２２６３は、ストレージプール３６０に利用されるボリュームグループであることを示すグループ採用フラグを記憶する。ボリュームＩＤ欄２２６４は、ボリュームグループに含まれるボリュームを識別する情報であるボリュームＩＤを記憶する。優先度欄２２６５は、信頼性の高さを表す情報を記憶する。容量欄２２６６は、ボリュームの容量を表す情報を記憶する。割当済フラグ欄２２６７は、ホスト計算機１００に割り当て済みであることを表す情報を記憶する。
【００５６】
なお、図４においてはグループ採用フラグ欄２２６３に記憶されるグループ採用フラグ、割り当て済みフラグ欄２２６７に記憶される割当済みフラグは、真の場合は“１”、偽の場合は“０”として設定しているが必ずしもこれに限定されるものではない。
【００５７】
ボリュームグループ管理テーブル２２６には、例えば、装置ＩＤとして“Storage１”、プールＩＤとして“０”、グループＩＤとして“０”、グループ採用フラグとして“１”、ボリュームＩＤとして“１”、優先度として“１”、容量として“３００ＧＢ”、割当済フラグとして“１”が記憶される。
【００５８】
次に上述のように構成されたデータ処理システム９００におけるデータ処理について説明する。なお、図５は、このデータ処理全体の処理を示すフローチャートであり、図６から図８は図５における各ステップＳ１０２，Ｓ１０３，Ｓ１０４のサブフローチャートである。
【００５９】
図５に示すように、まず、ステップＳ１０１にて、管理サーバ２００のストレージ管理プログラム２２１がストレージ装置３００，４００、スイッチ５００の構成情報（ボリューム３３０、３７０、４３０、ディスク３４０、４４０、ポート３９０、４９０、５９０の識別情報など）及び接続情報（各ポート３９０、４９０、５９０間の接続関係）を取得し、ネットワークディスタンス以外の値を外部ボリューム管理テーブル２２４に保持する。
【００６０】
ステップＳ１０２にて、ストレージ管理プログラム２２１がストレージ装置３００，４００、スイッチ５００の接続情報から、ネットワークディスタンスを算出し、外部ボリューム管理テーブル２２４に保持する。このステップＳ１０２の処理の詳細は図６のサブフローチャートを用いて後述する。
【００６１】
ステップＳ１０３にて、管理者が管理サーバ２００にストレージプールの制限項目を入力し、管理サーバ２００のプール管理プログラム２２２は入力された情報をプール基準テーブル２２５に保持する。このステップＳ１０３の処理の詳細は図７のサブフローチャートを用いて後述する。
【００６２】
ステップＳ１０４にて、管理サーバ２００のプール管理プログラム２２２が、外部ボリューム管理テーブル２２４とプール基準テーブル２２５からボリュームグループ管理テーブル２２６を作成する。このステップＳ１０４の処理の詳細は図８のサブフローチャートを用いて後述する。
【００６３】
ステップＳ１０５にて、管理者がボリュームグループ管理テーブル２２６内のストレージプール３６０（グループＩＤ２２６２）を1つ選択する（このときのバックエンドの接続パス数（交替パス数）をN本とする）。
【００６４】
ステップＳ１０６にて、管理サーバ２００のプール管理プログラム２２２は選択されたストレージプール３６０に関してボリュームグループ管理テーブル２２６のグループ採用フラグ２２６３を“１”に変更する。
【００６５】
ステップＳ１０７にて、管理者は作成したいボリュームの容量を管理サーバ２００のストレージ管理プログラム２２１に入力する。
【００６６】
ステップＳ１０８にて、管理サーバ２００のストレージ管理プログラム２２１は指定されたストレージプールから、ステップＳ１０７において指定された容量のボリュームを作成する。
【００６７】
ステップＳ１０９にて、管理サーバ２００が管理者に対し、ホスト計算機１００、ストレージ装置３００間のパスを複数本（Ｎ本以下）生成するよう指示する。なお、指示するだけでなく、管理サーバ２００のボリューム割り当てプログラムが自動でパスを複数本生成してもよい。
【００６８】
以下、ステップＳ１０２、Ｓ１０３、Ｓ１０４の各処理について説明する。
【００６９】
図６は、ステップＳ１０２の処理の詳細を示すサブフローチャートである。ステップＳ２０１にて、管理サーバ２００のストレージ管理プログラム２２１はストレージ装置３００の外部ポート３９１、スイッチのポート５９２、５９３、及び外部接続先のストレージ装置４００のターゲットポート４９０に異なるノード番号を付与する。
【００７０】
ステップＳ２０２にて、管理サーバ２００のストレージ管理プログラム２２１は各ノード間の距離を１とし、最短経路アルゴリズム（ここでは例として“Ｄｉｊｋｓｔｒａ”
のアルゴリズムとする）により、各外部ポート３９１から各ターゲットポート４９０の最短距離を算出する。
【００７１】
ステップＳ２０３にて、管理サーバ２００のストレージ管理プログラム２２１は算出された最短距離をネットワークディスタンス２２４６として外部ボリューム管理テーブル２２４に保持する。なお、“Ｄｉｊｋｓｔｒａ”のアルゴリズムで各ノード間の距離を１とすると最短距離の最小値は１となる。しかし、ネットワークディスタンスはボリューム３３０、４３０間のスイッチの数を表すことから、“Ｄｉｊｋｓｔｒａ”のアルゴリズムで算出された値から１を引いた値をネットワークディスタンスの値とする。以上がステップＳ１０２の処理の詳細である。
【００７２】
図７は、ステップＳ１０３の処理の詳細を示すサブフローチャートである。
【００７３】
まず、ステップＳ３０１において、管理サーバ２００のストレージ管理プログラム２２１は管理者に対し、ボリューム３３０が持つ個別の属性を提示する。例えば、ストレージ管理プログラム２２１は、ディスク種別の場合として、ＳＡＴＡ（Serial Advanced Technology Attachment）をストレージプール用ボリュームとして利用しないような条件を提示する。
【００７４】
ステップＳ３０２において、管理者は提示された各項目の属性のうち、必要な制限項目を選択する。
【００７５】
ステップＳ３０３において、管理サーバ２００のストレージ管理プログラム２２１は管理者に対し、システム構成全体に関わる制限条件を提示する。例えば、異なるストレージ装置間をまたがるストレージプールは作成しない、という制限条件を提示する。
【００７６】
ステップＳ３０４において、管理者は提示された制限項目のうち必要なものを選択する。
【００７７】
ステップＳ３０５において、管理サーバ２００のプール管理プログラム２２２は選択された制限項目をプール基準テーブル２２５に保持する。以上がステップＳ１０３の処理の詳細である。
【００７８】
図８は、ステップＳ１０４の処理の詳細を示すサブフローチャートである。
【００７９】
ステップＳ４０１において、管理サーバ２００のプール管理プログラム２２２は、プール基準テーブル２２５の各項目のうち、ディスク個別の属性で非該当のボリュームを外部ボリューム管理テーブル２２４のボリュームからフィルタリングする。
【００８０】
ステップＳ４０２において、ディスク個別の属性でのフィルタリングが完了すればステップＳ４０３の処理へ進む。フィルタリング条件が残っている場合はステップＳ４０１の処理へ戻る。
【００８１】
ステップＳ４０３において、管理サーバ２００のプール管理プログラム２２２は外部ボリューム管理テーブル２２４の各パラメタに対し、最大のものに１点、最小のものに０点をつける。それ以外の値については正規化した値（０より多く１未満）を設定し、各ボリュームに得点をつける。
【００８２】
ステップＳ４０４において、管理サーバ２００のプール管理プログラム２２２はプール基準テーブル２２５のうち、データ処理システム９００の構成全体に関わる条件によりボリュームをグルーピングする。
【００８３】
ステップＳ４０５において、構成全体に関わる条件でのフィルタリングが完了すればステップＳ４０６へ進む。フィルタリング条件が残っている場合はステップＳ４０４へ戻る。
【００８４】
ステップＳ４０６において、管理サーバ２００のプール管理プログラム２２２はグルーピングされたボリュームをボリュームグループ管理テーブル２２６に設定する。各ボリュームの得点の高いものから優先度を高くする。なお、図４中では優先度の高いものの数字を小さくしているが必ずしもこの限りではない。以上がステップＳ１０４の処理の詳細である。
【００８５】
以上のようにデータ処理システム９００は、ネットワークディスタンスや交替パスといったバックエンドのネットワークの接続構成を考慮したうえで、ストレージプールを構成し、さらにホスト計算機１００、外部接続機能を有するストレージ装置３００、外部接続先のストレージ装置４００の間のパス本数を考慮してボリューム割り当てを行なうことができる。これにより、データ処理システム９００は、外部接続ボリュームを利用してストレージボリュームを作成するときにネットワークを考慮した信頼性を持つボリュームをまとめることが可能となり、さらにホスト計算機・ストレージ装置間で要望される信頼性を維持して外部接続ボリュームを割り当てることが可能となる。
【００８６】
（第１の実施形態の変形例）
次に第１の実施形態の変形例について説明する。この変形例と第１の実施形態とで異なる構成は、外部接続機能を有するストレージ装置３００とスイッチ５００の代わりに、これら両装置の機能を有する仮想化装置をデータ処理システム９００に用いたことである。
【００８７】
図９は、仮想化装置を用いたデータ処理システム９００ｄの構成を示す図である。図９に示すように、データ処理システム９００ｄには、ストレージ装置３００とスイッチ５００の代わりに、仮想化装置６００が用いられている。なお、仮想化装置６００、ストレージ装置７００を用いた構成以外は図１に示した構成と同様であるため、同一の構成には同一の符号を付すこととし、仮想化装置６００以外の構成については詳細な説明を省略する。
【００８８】
ストレージ装置７００は、制御装置７０５と、ボリューム７３０（７３１，７３２）、物理ディスク７４０（７４１，７４２）と、仮想化装置と接続するためのＩ／Ｆ（Ｂ）７９０と、管理ネットワーク５２０と接続するためのＩ／Ｆ（ｂ）７９１と、を有している。
【００８９】
仮想化装置６００は、制御装置６０５と、ボリューム６３０と、ストレージプール６６０と、仮想ボリューム６７０と、ホスト計算機１００と接続するためのＩ／Ｆ（Ｂ）６９０と、外部接続先ストレージ装置４００，７００と接続するためのＩ／Ｆ（Ｂ）（外部ポート）６９１、６９２と、管理ネットワーク５２０との接続するためのＩ／Ｆ（Ｃ）６９４と、を有している。
【００９０】
制御装置６０５は、ＣＰＵ６１０と、メモリ６２０と、を有している。これらＣＰＵ６１０とメモリ６２０バス６８０を通じて接続されている。メモリ６２０はＣＰＵ６１０が用いるプログラムとデータを記憶する。特に、メモリ６２０は仮想化プログラム６２１を有している。
【００９１】
仮想化プログラム６２１はＣＰＵ６１０によって実行されるプログラムであり、外部接続先のストレージ装置４００，７００内のボリューム４３０，７３０と、ボリューム６３０のマッピングするためのプログラムである。ＣＰＵ６１０が仮想化プログラム６２１を実行することにより、ホスト計算機１００は、ボリューム４３０，７３０を使用することが可能となる。
【００９２】
このように構成されたデータ処理システム９００ｄと第１の実施形態のデータ処理システム９００との構成の差異は、外部接続先のストレージ装置４００内のボリューム４３０を利用する装置が外部接続機能を有するストレージ装置３００から仮想化装置６００へ変更したことにある。このため、データ処理システム９００ｄの処理は、データ処理システム９００と同様な処理を実行すればよいので、既述の図５から図８を用いて説明した処理と同様である。
【００９３】
このように仮想化装置６００を用いたデータ処理システム９００ｄとしても、データ処理システム９００と同様な効果を奏することができる。
【００９４】
（第２の実施形態）
次に第２の実施形態について説明する。図１０は、第２の実施形態におけるデータ処理システムの構成を示す図である。このデータ処理システム９００ｂは１つ以上のホスト計算機１００と、管理サーバ２００ｂと、外部接続機能を有するストレージ装置３００ｂと、ストレージ装置４００と、スイッチ５００と、を有している。なお、データ処理システム９００ｂの構成の大部分は第１の実施形態と同一であるため、同一の構成については同一の符号を付すこととし、以下では異なる構成について詳細に説明する。
【００９５】
図１に示すデータ処理システム９００との差異は、管理サーバ２００ｂがプール基準テーブル２２５ｂを有している点と、ストレージ装置３００ｂがメモリ３２０上に空き容量監視プログラム３２２と、閾値監視テーブル３２３と、ＴＰプール３６０ｂと、を有している点である。
【００９６】
図１１は、プール基準テーブル２２５ｂを示す図である。プール基準テーブル２２５ｂは、装置ＩＤ欄２２５０ｂと、プールＩＤ欄２２５１ｂと、閾値欄２２５２ｂと、制限項目欄２２５３ｂとを記憶する各項目を有している。
【００９７】
装置ＩＤ欄２２５０ｂは、ＴＰプール３６０ｂを有するストレージ装置を識別する装置ＩＤを記憶する。プールＩＤ欄２２５１ｂは、ＴＰプール３６０ｂを識別するプールＩＤを記憶する。閾値欄２２５２ｂはＴＰプールの空き容量枯渇時にボリューム追加するときの基準となる閾値を設定する閾値を記憶する。制限項目２２５３ｂはＴＰプール作成のときにＴＰプールから除外するボリュームの条件を設定する制限項目を記憶する。第１の実施形態のプール基準テーブル２２５の制限項目２２５２と同様、制限項目２２５３ｂで設定する項目は管理サーバ２００から管理者に対して提示され、ストレージプールごとに値を設定可能である。また、制限項目２２５３ｂには、複数個の条件を設定可能である。なお、制限項目２２５３ｂは、図中の表現の条件に限らず、管理サーバ２００ｂが認識可能な識別条件であれば、どのような条件を設定してもよい。
【００９８】
空き容量監視プログラム３２２は、ＣＰＵ３１０によって実行されるプログラムであり、ＴＰプールの空き容量監視と空き容量枯渇時に管理サーバ２００ｂのストレージ管理プログラム２２１に対して警告を通知するプログラムである。
【００９９】
図１２は、閾値管理テーブル３２３を示す図である。図１２に示すように、閾値管理テーブル３２３は、プールＩＤ欄３２３０と、閾値欄３２３１と、プール割り当てボリュームＩＤ欄３２３２と、ボリューム容量欄３２３３と、使用量欄３２３４とを有している。
【０１００】
プールＩＤ３２３０欄はＴＰプールを識別するためのプールＩＤを記憶する。閾値３２３１欄はＴＰプールのＴＰプールの空き容量枯渇時にボリューム追加するときの基準となる閾値を設定する閾値を記憶する。プール割り当てボリュームＩＤ欄３２３２はＴＰプールに割り当てられ、利用されているボリュームを識別するプール割り当てボリュームＩＤを記憶する。ボリューム容量欄３２３３はそれぞれのボリュームの容量を表すボリューム容量を記憶する。使用量欄３２３４はそれぞれのボリュームの使用量を記憶する。  
【０１０１】
ＴＰプール３６０ｂは、シンプロビジョニングの仮想ボリューム３７０へ記憶領域を割り当てるためのプールであり、ボリューム３３０から構成される。ＴＰプール３６０ｂはストレージ装置３００が有する物理ディスク３４０から構成されるボリュームから構成されてもよく、外部接続先のストレージ装置４００が有するボリュームを外部接続したボリュームから構成されてもよい。
【０１０２】
次に、データ処理システム９００ｂで実行される処理について説明する。データ処理システム９００ｂで実行される処理は、第１の実施形態のデータ処理システム９００で実行される処理と大部分が同じ処理であるため、異なる処理の部分のみを説明する。
【０１０３】
データ処理システム９００ｂでは、データ処理システム９００で実行される処理のうち管理者がプール条件を設定する処理と、管理者が指定したプールから管理サーバがボリュームを作成する処理が変更し、ＴＰプール閾値を管理サーバ２００からストレージ装置へ渡す処理、ストレージ装置が閾値管理テーブルを作成する処理が追加される。また、データ処理システム９００ｂには、ＴＰプール作成、ホストへのボリューム割り当てが終了した後の処理で、ＴＰプールへボリュームを割り当てる処理が追加される。
【０１０４】
データ処理システム９００ｂで実行される処理を図１３及び図１４を参照して説明する。図１２は、第２の実施形態におけるＴＰプール作成及びパス割り当て処理の概要を示すフローチャートである。
【０１０５】
ステップＳ５０１，Ｓ５０２の処理はそれぞれ、第１の実施形態のステップＳ１０１，Ｓ１０２の処理と同じ処理であるため、説明を省略する。
【０１０６】
ステップＳ５０３において、第１の実施形態ステップＳ１０３では管理者は制限項目だけ設定していたが、ＴＰプールの空き容量枯渇時の警告をストレージ装置３００から受けるための閾値を設定する処理が追加される。このように管理者により入力されたプール容量の閾値及び制限項目は、プール基準テーブル２２５ｂに保持される。
【０１０７】
ステップＳ５０４，Ｓ５０５の処理はそれぞれ、第１の実施形態のステップＳ１０４，Ｓ１０５の処理と同じ処理であるため、説明を省略する。
【０１０８】
ステップＳ５０６において、第１の実施形態のステップＳ１０６の処理に加えて、管理サーバ２００のプール管理プログラム２２２からストレージ装置３００の空き容量監視プログラム３２２に対し、採用されたＴＰプールの情報（ボリューム構成と閾値）を渡す処理が追加される。
【０１０９】
ステップＳ５０７において、ストレージ装置３００の空き容量監視プログラム３２２が、ステップＳ５０６で受け取った情報から閾値管理テーブル３２３を作成する。
【０１１０】
ステップＳ５０８において、管理サーバ２００のストレージ管理プログラム２２１は指定されたＴＰプールから仮想ボリュームを作成する。
【０１１１】
ステップＳ５０９の処理は第１の実施形態のステップＳ１０９の処理と同じ処理であるため、説明を省略する。
【０１１２】
次に、ＴＰプール作成及びボリューム３７０をホスト計算機１００へ割り当てが完了した後に運用が開始された後のＴＰプールへのボリューム割り当て処理について説明する。図１４は、第２の実施形態のＴＰプールへのボリューム割り当て処理を示すフローチャートである。
【０１１３】
ステップＳ６０１において、ストレージ装置３００の空き容量監視プログラム３２２がプールの空き容量を監視する。また、空き容量監視プログラム３２２は、定期的に閾値管理テーブル３２３の空き容量を更新する。
【０１１４】
ステップＳ６０２において、ストレージ装置３００の空き容量監視プログラム３２２が空き容量を監視した結果、空き容量が閾値より少なくなったことを検知した場合、ステップＳ６０３の処理へ進む。空き容量が閾値より多い場合はステップＳ６０１の処理へ戻る。
【０１１５】
ステップＳ６０３において、ストレージ装置３００の空き容量監視プログラム３２２が管理サーバ２００のストレージ管理プログラム２２１へ空き容量枯渇警告を通知する。
【０１１６】
ステップＳ６０４において、管理サーバ２００のストレージ管理プログラム２２１はボリュームグループ管理テーブル２２６の未割り当てのボリュームを優先度の高い順にＴＰプールに割り当て、割り当て済みフラグ２２６７を“１”へ変更し、割り当てたボリュームの情報をストレージ装置３００の空き容量管理プログラム３２２へ通知する。
【０１１７】
ステップＳ６０５において、ストレージ装置３００の空き容量監視プログラム３２２は閾値監視テーブル３２３内の指定されたＴＰプールのボリュームの情報を追加する。
【０１１８】
以上の処理により、ストレージシステム９００ｂにおいて、ＴＰプールへの外部接続ボリュームの割り当てを行なうときにバックエンドの接続構成および冗長度を考慮したＴＰプールの作成及びホスト計算機へのボリューム割り当てを行なうことが可能となる。
【０１１９】
（第３の実施形態）
次に第３の実施形態について説明する。図１５は、第３の実施形態におけるデータ処理システムの構成を示す説明図である。
【０１２０】
このデータ処理システム９００ｃは、１つ以上のホスト計算機１００と、管理サーバ２００ｂと、外部接続機能を有するストレージ装置３００ｃと、ストレージ装置４００と、スイッチ５００と、を有している。なお、データ処理システム９００ｃの構成の大部分は第２の実施形態と同一であるため、同一の構成については同一の符号を付すこととし、以下では異なる構成について詳細に説明する。
【０１２１】
図１０に示すデータ処理システム９００ｂとの差異は、ストレージ装置３００ｃがメモリ３２０上に、閾値監視テーブル３２３ｃと、セグメント割り当てプログラム３２４と、ボリューム内部プール対応テーブル３２５と、ＴＰプール３６０ｃ、内部プール３６５、３６６を有している点である。
【０１２２】
図１６は閾値管理テーブル３２３ｃを示す図である。閾値管理テーブル３２３ｃは第２の実施形態で説明した閾値監視テーブル３２３に加え、プール割り当てボリューム毎に交替パスの情報を記憶する交替パス欄３２３５が追加されている。また、プールＩＤ欄３２３０は内部プール３６５、３６６を識別する内部プールＩＤ欄３２３０ｃに変更されている。
【０１２３】
内部プール３６５、３６６は、ＴＰプール内に仮想的に存在するボリュームグループである。そして、仮想ボリュームに割り当てられるセグメントはこの内部プール３６５，３６６に含まれるボリュームから割り当てられる。内部プール３６５，３６６はストレージ装置３００ｃのみが認識する。
【０１２４】
ＴＰプール３６０ｃは第２の実施形態のものと異なり一つのプールとなる。この場合、管理者は仮想ボリューム作成時に指定対象となるＴＰプールを選択する負担が無くなる。ＴＰプール３６０ｃ中に、同様の信頼性を持った、複数の内部プールが含まれる。
【０１２５】
セグメント割り当てプログラム３２４は、仮想ボリュームに対してデータの書き込み命令があったときに、ＴＰプール３６０ｃ内に存在する内部プール３６５、３６６から仮想ボリュームに対して、記憶領域であるセグメントを割り当てるプログラムである。
【０１２６】
図１７はボリューム内部プール対応テーブル３２５を示す図である。ボリューム内部プール対応テーブル３２５は仮想ボリュームと、仮想ボリュームにセグメントを割り当てる内部プールの関係を示すものである。図１７に示すように、ボリューム対応テーブル３２５は、ボリュームＩＤ欄３２５０と、内部プールＩＤ欄３２５１とを有している。ボリュームＩＤ欄３２５０は、ボリュームＩＤを記憶する欄であり、内部プールＩＤ欄３２５１は内部プールＩＤを記憶する欄である。
【０１２７】
セグメント割り当てプログラム３２４により、ボリューム内部プール対応テーブル３２５が参照され、ホスト計算機１００とストレージシステム（管理サーバ２００ｂ、ストレージ装置３００ｃ，４００、スイッチ５００）間のボリュームパスの信頼性（冗長性）以上の交替パスを有する内部プールが選択され、仮想ボリュームと内部プールの関係が関連付けられる。
【０１２８】
次にデータ処理システム９００ｃの処理について説明する。データ処理システム９００ｃで実行される処理は、第２の実施形態のデータ処理システム９００ｂで実行される処理と大部分が同じ処理であるため、異なる処理の部分のみを説明することとする。第２の実施形態の処理と本実施の形態処理では、プール作成処理の一部が変更されており、パス割り当て処理、セグメント割り当て処理が異なっている。
【０１２９】
データ処理システム９００ｃで実行される処理を図１８，図１９及び図２０を参照して説明する。
【０１３０】
図１８は、第３の実施形態におけるプール作成処理を示すフローチャートである。図１８において、ステップＳ７０１からＳ７０５までの処理は第２実施の形態における図１３で説明したプール作成処理及びパス割り当て処理の、ステップＳ５０１からＳ５０５までの処理とそれぞれ同じ処理であるため、説明を省略する。
【０１３１】
ステップＳ７０６において、管理サーバ２００ｂのプール管理プログラム２２２は選択されたプールに関してボリュームグループ管理テーブル２２６のグループ採用フラグ２２６３を“１”に変更し、またストレージ装置３００の空き容量監視プログラム３２２にプールの情報（ボリューム構成、閾値に加えて交替パスまで）を渡す。
【０１３２】
ステップＳ７０７の処理は第２の実施形態のステップＳ５０７の処理と同じ処理であるため、説明を省略する。
【０１３３】
図１９は、第３の実施形態におけるパス割り当て処理を示すフローチャートである。
【０１３４】
ステップＳ８０１において、管理サーバ２００のストレージ管理プログラム２２１はＴＰプール３６０ｃから仮想ボリューム３７０を作成し、ホスト計算機１００へ割り当てる（ホスト計算機１００−ストレージ装置３００ｃ間のパス数をNとする）。
【０１３５】
ステップＳ８０２において、管理サーバ２００ｂのストレージ管理プログラム２２１はＮ本以上の交替パスのある内部プールがあるかどうかを調べる。条件に該当するプールがある場合はステップＳ８０３の処理へ進む。条件に該当するプールがない場合はステップＳ８０４の処理へ進む。
【０１３６】
ステップＳ８０３において、ストレージ装置３００のセグメント割り当てプログラム３２４はＮ本以上の交替パスがある内部プールを選択し、仮想ボリュームと関連付け、ボリューム内部プール対応テーブル３２５を作成する。
【０１３７】
ステップＳ８０４において、管理サーバ２００ｂのストレージ管理プログラム２２１は、管理者に対して、ホスト計算機１００とストレージシステム３００ｃ間の信頼性（冗長性）と同等以上のＴＰプールが存在しないことを通知する。
【０１３８】
図２０は、第３の実施形態におけるセグメント割り当て処理を示すフローチャートである。
【０１３９】
ステップＳ９０１において、ストレージ装置３００ｃのセグメント割り当てプログラム３２４がホスト計算機１００から入力データを受領する。
【０１４０】
ステップＳ９０２において、ストレージ装置３００ｃのセグメント割り当てプログラム３２４がボリューム内部プール対応テーブル３２５の内容から、入力データを書き込むボリュームを持つ内部プールを判断し、セグメントを仮想ボリュームへ割り当てる。
【０１４１】
以上の処理により、データ処理システム９００ｃは、ＴＰプールへの外部接続ボリュームの割り当てを行なうときにバックエンドの接続構成および冗長度を考慮したＴＰプールの作成及びホスト計算機へのボリューム割り当てを行なうことが可能となる。また、管理者はＴＰプールの種別、信頼性を意識せずに仮想ボリュームの作成が可能となる。
【産業上の利用可能性】
【０１４２】
本発明は、データ処理システム及びその記憶領域割り当て方法に広く適用することができる。
【図面の簡単な説明】
【０１４３】
【図１】本発明の第１の実施形態に係わるデータ処理システムの構成を示す図である。
【図２】同実施形態に係わるボリューム管理テーブルの一例を示す図である。
【図３】同実施形態に係わるプール基準テーブルの一例を示す図である。
【図４】同実施形態に係わるボリュームグループ管理テーブルの一例を示す図である。
【図５】同実施形態に係わる各装置間の処理のシーケンスの概要を示す図である。
【図６】同実施形態に係わる外部ボリューム管理テーブルを作成する際のネットワークディスタンスを算出する処理の一例を示す図である。
【図７】同実施形態に係わるプール基準テーブルを作成する処理の一例を示す図である。
【図８】同実施形態に係わるボリュームグループ管理テーブルを作成する処理の一例を示す図である。
【図９】本発明の第１の実施形態の変形例に係わるデータ処理システムの構成を示す図である。
【図１０】本発明の第２の実施形態に係わるシステム構成を示す図である。
【図１１】同実施形態に係わる閾値監視テーブルの一例を示す図である。
【図１２】同実施形態に係わるＴＰプール作成及びパス割り当て処理の概要を示す図である。
【図１３】同実施形態に係わるＴＰプール作成及びパス割り当て処理の概要を示す図である。
【図１４】同実施形態に係わるＴＰプールへボリュームを割り当てる処理の一例を示す図である。
【図１５】本発明の第３の実施形態に係わるおけるデータ処理システムの構成を示す図である。
【図１６】同実施形態に係わる交替パスが追加された閾値管理テーブルを示す図である。
【図１７】同実施形態に係わるボリューム内部プール対応テーブルを示す図である。
【図１８】同実施形態に係わるＴＰプール作成処理の概要を示す図である。
【図１９】同実施形態に係わるパス割り当て処理の一例を示す図である。
【図２０】同実施形態に係わるセグメント割り当て処理の一例を示す図である。
【符号の説明】
【０１４４】
１００：ホスト計算機
１１０：ホスト計算機のＣＰＵ
１２０：ホスト計算機のメモリ
１８０：ホスト計算機のバス
１９０、１９１：ホスト計算機のインタフェース
２００、２００ｂ：管理サーバ
２１０：管理サーバのＣＰＵ
２２０：管理サーバのメモリ
２２１：ストレージ管理プログラム
２２２：プール管理プログラム
２２３：ボリューム割り当てプログラム
２２４：外部ボリューム管理テーブル
２２４ｂ：外部接続情報を持つボリューム管理テーブル
２２５：プール基準テーブル
２２６：ボリュームグループ管理テーブル
２８０：管理サーバのバス
２９０、２９１：管理サーバのインタフェース
３００、４００、７００：ストレージ装置
３００ｂ、３００ｃ：外部接続機能を有するストレージ装置
３０５、４０５、７０５：ストレージ装置の制御装置
３１０、４１０、７１０：ストレージ装置のＣＰＵ
３２０、４２０、７２０：ストレージ装置のメモリ
３２１：外部接続プログラム
３２２：空き容量監視プログラム
３２３、３２３ｃ：閾値監視テーブル
３２４：セグメント割り当てプログラム
３２５：ボリューム内部プール対応テーブル
３３０、３３１、３３２、３３３、３３４、４３０、４３１、４３２、７３０、７３１、７３２：ストレージ装置のボリューム
３４０、３４１、３４２、４４０、４４１、４４２、７４０、７４１、７４２：ストレージ装置の物理ディスク
３６０、３６１、３６２、３６０ｂ、３６０ｃ：ストレージ装置のプール
３７０、３７１、３７２、３７３：ストレージ装置の仮想ボリューム
３８０、４８０：ストレージ装置のバス
３９０、３９１、３９２、４９０、４９１、７９０、７９１：ストレージ装置のインタフェース
５００：スイッチ
５９０、５９１、５９２、５９３、５９４：スイッチのインタフェース
５１０：ローカルエリアネットワーク（ＬＡＮ）
５２０：管理用ネットワーク（ＭＮ）
５３０：ストレージエリアネットワーク（ＳＡＮ）
６００：仮想化装置
６０５：仮想化装置の制御装置
６１０：仮想化装置のＣＰＵ
６２０：仮想化装置のメモリ
６２１：仮想化プログラム
６３０、６３１、６３２：仮想化装置のボリューム
６６０、６６１、６６２：仮想化装置のストレージプール
６７０、６７１、６７２：仮想化装置の仮想ボリューム
６８０：仮想化装置のバス
６９０、６９１、６９２、６９４：仮想化装置のインタフェース
９００、９００ｂ、９００ｃ：データ処理システム
【図１】
2009230263.tif 000003
【図２】
2009230263.tif 000004
【図３】
2009230263.tif 000005
【図４】
2009230263.tif 000006
【図５】
2009230263.tif 000007
【図６】
2009230263.tif 000008
【図７】
2009230263.tif 000009
【図８】
2009230263.tif 000010
【図９】
2009230263.tif 000011
【図１０】
2009230263.tif 000012
【図１１】
2009230263.tif 000013
【図１２】
2009230263.tif 000014
【図１３】
2009230263.tif 000015
【図１４】
2009230263.tif 000016
【図１５】
2009230263.tif 000017
【図１６】
2009230263.tif 000018
【図１７】
2009230263.tif 000019
【図１８】
2009230263.tif 000020
【図１９】
2009230263.tif 000021
【図２０】
2009230263.tif 000022