(57)【要約】【解決課題】外部接続方式が適用された複数のストレージ装置が計算機システムに存在する場合に、複数のストレージ装置間でお互いの記憶資源を有効に利用できるようにした計算機システムを提供する【解決手段】 複数のストレージ装置と、これらストレージ装置を管理する管理計算機と、を備える計算機システムであって、管理計算機が、複数のストレージ装置間で外部接続の可否、そして、一つのストレージ装置の記憶デバイスを他のストレージ装置に転用することの可否を条件テーブルに基づいて判定するようにし、複数のストレージ装置間で外部接続が可能であればこれを行い、外部接続が可能でないとしても、一つのストレージ装置の記憶デバイスを他のストレージ装置に転用するようにした。【選択図】 図１７
2011070345.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機と、
前記ホスト計算機に記憶領域を提供する複数のストレージ装置を有するストレージ装置群であって、所定のストレージ装置と、これに外部接続可能な他のストレージ装置との組み合わせを有し、前記所定のストレージ装置は、前記他のストレージを自身に外部接続させる機能を有し、この機能によって前記他のストレージ装置の論理ボリュームを自身の論理ボリュームとして前記ホスト計算機に提供する、前記ストレージ装置群と、
前記複数のストレージ装置のそれぞれから構成情報を取得し、この構成情報を利用して前記ストレージ装置を管理する管理計算機と、
を備える、計算機システムであって、
前記管理計算機は、コントローラと、メモリと、を有し、
前記メモリは、前記所定のストレージ装置の記憶領域の拡張を、前記外部接続機能によって前記所定のストレージ装置に提供する第１状況によって実現するか、前記他のストレージ装置の記憶デバイスを前記所定のストレージ装置に転用する第２状況によって実現するか、を判定するための判定情報プログラムを有し、
前記コントローラは、前記構成情報に基づいて前記判定プログラムを実行し、当該実行結果を出力する、計算機システム。
【請求項２】
前記コントローラは、前記所定のストレージ装置に新たな論理ボリュームを設定するリクエストを受信した際、当該論理ボリュームを前記所定のストレージ装置の記憶領域を利用して実現できるかの判定処理を実行し、この判定処理を否定する場合は、前記判定プログラムを実行する、請求項１記載の計算機システム。
【請求項３】
前記所定のストレージは、記憶容量が仮想化された仮想ボリュームと、前記仮想ボリュームに実の記憶領域を割り当てるプールと、を有し、当該プールに前記新たな論理ボリュームを追加するリクエストを前記コントローラが受信した際、当該コントローラは前記判定処理実行する、請求項２記載の計算機システム。
【請求項４】
前記コントローラが前記判定処理を否定すると、前記他のストレージ装置の記憶領域  を前記プールに追加される新たな論理ボリュームの記憶領域に割り当てる、請求項３記載の計算機システム。
【請求項５】
前記コントローラは、前記判定プログラムを用いた判定のステップを、前記所定のストレージ装置に外部接続されているか、あるいは、これに外部接続が可能なストレージ装置を前記他のストレージ装置として判別し、
当該判別された他のストレージ装置に対して前記第１状況、又は、前記第２状況を判定する、請求項１記載の計算機システム。
【請求項６】
前記コントローラは、前記判別された他のストレージ装置に対して、前記第１状況の判定を実行し、この第１判定を否定すると、前記第２判定を実行する、請求項５記載の計算機システム。
【請求項７】
前記コントローラは、所定のストレージ装置及び前記他のストレージ性能から前記構成情報を取得し、前記構成情報に基づいて、前記所定のストレージ装置及び前記他のストレージ装置に対する稼働率と電力性能を判定し、さらに、前記他のストレージ装置の記憶デバイスの前記所定のストレージ装置に対する互換性を判定し、この判定結果に基づいて、前記第１状況又は前記第２状況を判定する、請求項１記載の計算機システム。
【請求項８】
前記コントローラは、前記他のストレージ装置の稼働率が前記他のストレージ装置の稼働率以下であり、前記互換性を肯定判定した際、前記第１状況を選択する、請求項７記載の計算機システム。
【請求項９】
前記コントローラは、前記判定結果が前記第１状況及び前記第２状況に適合する場合には、前記第１の状況を選択する、請求項７記載の計算機システム。
【請求項１０】
前記コントローラは、前記新たな論理ボリュームの設定に対して、前記管理装置に入力されたポリシーに基づいて、前記他のストレージ装置の判定と、当該他のストレージ装置に対する前記判定プログラムの実行とを、適用する請求項２記載の計算機システム。
【請求項１１】
ホスト計算機と、そして、
前記ホスト計算機に記憶領域を提供する複数のストレージ装置を有するストレージ装置群であって、所定のストレージ装置と、これに外部接続可能な他のストレージ装置との組み合わせを有し、前記所定のストレージ装置は、前記他のストレージを自身に外部接続させる機能を有し、この機能によって前記他のストレージ装置の論理ボリュームを自身の論理ボリュームとして前記ホスト計算機に提供する、ストレージ装置群と、を有する計算機システムの前記複数のストレージ装置に接続し、前記複数のストレージ装置のそれぞれから構成情報を取得し、この構成情報を利用して前記ストレージ装置を管理する管理計算機であって、
コントローラと、メモリと、を有し、
前記メモリは、前記所定のストレージ装置の記憶領域の拡張を、前記外部接続機能によって前記所定のストレージ装置に提供する第１状況によって実現するか、前記他のストレージ装置の記憶デバイスを前記所定のストレージ装置に転用する第２状況によって実現するか、を判定する判定プログラムを有し、
前記コントローラは、前記構成情報に基づいて前記判定プログラムを実行し、当該実行結果を出力する、計算機システムの管理計算機。
【請求項１２】
複数のストレージ装置と、これらストレージ装置を管理する管理計算機と、を備える計算機システムにおける管理方法であって、
前記管理計算機は、複数のストレージ装置間で外部接続の可否、そして、一つのストレージ装置の記憶デバイスを他のストレージ装置に転用することの可否を条件情報に基づいて判定し、
複数のストレージ装置間で外部接続が可能であればこれを行い、外部接続が可能でないとしても、一つのストレージ装置の記憶デバイスを他のストレージ装置に転用するようにしたことを特徴とする、計算機システムにおける管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム、詳しくは、ストレージシステムに係わり、さらに詳しくは、複数のストレージ装置について外部接続機能を適応した計算機システムに関するものである。本発明はさらに計算機システムの管理装置及びその管理方法にも関するものである。
【背景技術】
【０００２】
ホスト計算機に大容量の記憶資源を提供する計算機としてストレージ装置がある。ストレージ装置は、記憶資源を論理化してホスト計算機に提供している。論理化した記憶領域は、論理ボリュームと呼ばれている。論理ボリュームの特殊な例として、その記憶容量が仮想化されたものがあり、これは仮想ボリュームと呼ばれ、この仮想ボリュームを利用したシステムシステムの一例が下記の特許文献１に記載されている。
【０００３】
特許文献１に記載された記憶制御システムは、シンプロビジョニングとして知られているものである。仮想ボリュームは、その記憶容量が仮想化されているものの、複数のアドレス範囲を有し、ホスト計算機はこのアドレスを指定して、仮想ボリュームにライトアクセスを発行する。
【０００４】
ストレージ装置は、ライトアクセスを受ける都度、論理ボリュームの一つであるプールボリュームを介して物理的な記憶領域を仮想ボリュームに割り当て、仮想ボリュームに割り当てられた物理領域にライト対象のデータをライトするようにしている。
【０００５】
このように、ストレージ装置は、仮想ボリュームの実記憶容量を動的に拡張することができるとともに、不要になったデータについては、このデータを記憶する記憶領域を、仮想ボリュームに対する割当てから解除し、解除した記憶領域を未使用の物理領域として管理する。
【０００６】
したがって、この方式は、論理ボリュームに大容量の記憶領域を固定的に割り当てる従前の方式に比較して、ストレージ装置の記憶資源を有効に利用できるという利点を有する。なお、ストレージ装置に新たに論理ボリュームを設定するために記憶容量を拡張することが必要となった場合、ストレージ装置に新たな記憶デバイスが増設される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１５９１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
既述のシンプロビジョニング方式は、一つ一つのストレージ装置の記憶資源を有効に活用しようとするものの、ストレージシステムに、ホスト計算機の他、複数のストレージ装置も存在する場合に、複数のストレージ装置間でお互いの記憶資源を有効に活用しようするものではなかった。
【０００９】
一方、一つのストレージ装置に他のストレージ装置を接続するという、外部接続方式が知られている。この方式によれば、第１のストレージ装置に接続している上位計算機は、第１のストレージ装置に接続された第２のストレージ装置の記憶領域を、第１のストレージ装置の論理ボリュームとして透過的に見ることができる。
【００１０】
しかしながら、第２のストレージ装置を第１のストレージ装置に接続できない場合には、第２のストレージ装置の記憶資源を第１のストレージ装置が利用することができない。
【００１１】
そこで、本発明は、外部接続方式が適用された複数のストレージ装置が計算機システムに存在する場合に、複数のストレージ装置間でお互いの記憶資源を有効に利用できるようにした計算機システムを提供することを目的とするものである。
【００１２】
さらに、本発明の他の目的は、第２のストレージ装置を第１のストレージ装置に外部接続できない場合にも、第２のストレージ装置の記憶資源を第１のストレージ装置に利用できるようにした計算機システムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明は、複数のストレージ装置と、これらストレージ装置を管理する管理計算機と、を備える計算機システムであって、管理計算機が、複数のストレージ装置間で外部接続を実現することの可否、そして、一つのストレージ装置の記憶デバイスを他のストレージ装置に転用することの可否を条件テーブルに基づいて判定するようにし、複数のストレージ装置間で外部接続が可能であればこれを行い、外部接続が可能でないとしても、一つのストレージ装置の記憶デバイスを他のストレージ装置に転用するようにしたことを特徴とするものである。
【発明の効果】
【００１４】
本発明によれば、外部接続方式が適用された複数のストレージ装置が計算機システムに存在する場合に、複数のストレージ装置間でお互いの記憶資源を有効に利用できるようにした計算機システムを提供することができる。
【００１５】
さらに、本発明によれば、第２のストレージ装置を第１のストレージ装置に外部接続できない場合にも、第２のストレージ装置の記憶資源を第１のストレージ装置に利用できるようにした計算機システムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係る計算機システムのハードウエアブロック図である。
【図２】ストレージのハードウエアブロック図である。
【図３】管理計算機のハードウエアブロック図である。
【図４】プール割当テーブルを示す。
【図５】仮想ボリューム割当テーブルを示す。
【図６】ストレージ識別テーブルを示す。
【図７】ＲＡＩＤグループ容量テーブルを示す。
【図８】ＲＡＩＤグループディスクテーブルを示す。
【図９】プール容量テーブルを示す。
【図１０】仮想ボリュームテーブルを示す。
【図１１】プールボリュームテーブルを示す。
【図１２】外部接続情報テーブルを示す。
【図１３】ストレージ稼働情報テーブルを示す。
【図１４】ディスク情報テーブルを示す。
【図１５】容量確保操作テーブルを示す。
【図１６】本発明の第１の実施形態に係るボリューム設定画面を示す。
【図１７】ボリューム作成処理のフローチャートを示す。
【図１８】ボリューム作成結果画面を示す
【図１９】本発明の第２の実施形態に係るボリューム設定画面を示す。
【図２０】ホストのハードウエアブロック図である。
【図２１】業務ストレージ構成テーブル２１０００を示す。
【図２２】業務ポリシーテーブルを示す。
【図２３】ホスト識別テーブルを示す。
【図２４】本発明の第４の実施形態に係るボリューム設定画面を示す。
【図２５】プールボリュームテーブルを示す。
【図２６】プールボリュームテーブルを示す。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本発明の実施形態を説明する。なお、以下の説明において、便宜上、フローチャートの実行主体をコンピュータプログラムとして説明するが、実際には、そのコンピュータプログラムを実行するプロセッサがフローチャートの実行主体となる。
【００１８】
図１は、本発明の第1の実施形態に係る計算機システムの構成を示す。複数のホスト計算機（以下、ホスト、と略称する。）１１００と、複数のストレージ装置（以下、ストレージ、と略称する。）１０００とが、データネットワーク１３００によって接続されている。
【００１９】
各ストレージ１０００は、データネットワーク１３００を介して、ホスト１１００から入出力要求（Ｉ／Ｏ要求）を受け付ける。Ｉ／Ｏ要求は、例えば、ストレージ１０００が管理する論理ボリュームを指定したライト要求又はリード要求である。各ストレージ１０００にとっての外部装置は、ホスト１１００である他、他のストレージ１０００でもある。
【００２０】
ホスト１１００からストレージ１０００へのアクセスは、例えば、ブロックレベルのアクセスである。このため、データネットワーク１３００は、通常、ＦＣ（Fibre Channel）ネットワークである。データネットワーク１３００は、ｉＳＣＳＩなどを通す、ＴＣＰ／ＩＰのネットワークであってもよい。
【００２１】
ホスト１１００にストレージ１０００が存在するものでもよい。すなわち、データネットワーク１３００がホスト１１００の内部バスとなり、ホスト１１００がストレージ１０００の機能を実現してもよい。このケースでは、ホスト及びストレージは、ＮＡＳ（Network Attached Storage）として実現される。
【００２２】
管理計算機１２００と各ストレージ１０００とは、管理ネットワーク１４００を介して接続されている。管理計算機１２００は、管理ネットワーク１４００を介して、ストレージ１０００が管理する情報（例えば、後述のストレージ構成情報１０４２（図２参照））をストレージから取得する。なお、ストレージ１０００が、自発的に、例えば、管理計算機１２００から何ら要求を受けることなく、その管理情報を管理計算機１２００に送信してもよい。
【００２３】
管理ネットワーク１４００は、特定の種類のネットワークに制限されない。管理ネットワーク１４００に各ホスト１１００が接続し、管理計算機１２００が各ホスト１１００と通信してもよい。
【００２４】
また、管理計算機１２００とホスト１１００とを接続する第1の管理ネットワークと、管理計算機１２００とストレージ１０００とを接続する第２の管理ネットワークとが、別々のネットワークにしてもよい。例えば、第１の管理ネットワークがＴＣＰ／ＩＰネットワークで、第２のネットワークがＦＣネットワークである。
【００２５】
図２は、ストレージ１０００の構成を示す。ストレージ１０００は、データネットワーク１３００に接続され、ホスト１１００からＩ／Ｏ要求を受け付けるインターフェース装置（入出力Ｉ／Ｆ）１０１０と、管理ネットワーク１４００に接続され、管理計算機１２００から種々の要求を受け付けるインターフェース装置（管理Ｉ／Ｆ）１０１１と、ストレージ１０００の動作を制御するコントローラ（例えば、マイクロプロセッサ、又は、マイクロプロセッサを備えた回路基板）１０２０と、コントローラ１０２０に接続されており、ストレージ１０００の性能を向上するために、例えば、論理ボリュームに読み書きされるデータを一時的に記憶するキャッシュメモリ（以下、キャッシュ、と略称する。）１０３０と、コントローラ１０２０に接続されるメモリ１０４０と、複数のハードディスクドライブ１０７０と、を有している。ここで、説明した各要素は、互いに内部ネットワークによって接続されている。
【００２６】
ハードディスクドライブ（以後、これを単に、ディスク、あるいは、ハードディスク、と略称することがある。）に変えて、他種のストレージ媒体、例えば、フラッシュメモリを採用してもよい。
【００２７】
複数のハードディスクドライブを利用して、ＲＡＩＤグループ１０８０が構築される。ＲＡＩＤグループ１０８０は、所定のＲＡＩＤレベルでデータを記憶するもので、二以上のハードディスク１０７０から構成される。ＲＡＩＤグループ１０８０の記憶空間を基にしている論理ボリューム、即ち、記憶容量が仮想化されていない論理ボリュームが実ボリューム１０５０である。
【００２８】
プールボリューム１０２２も実際に記憶空間を有する点において、実ボリュームと同じである。異なるのは、プールボリュームは、実ボリュームのように、特定のホストに割り当てられる記憶領域を持つものではなく、仮想ボリューム１０５１に割り当てられる記憶領域を有する点である。
【００２９】
複数のストレージのうちあるストレージ（第１のストレージ）に、他のストレージ（第２のストレージシ）を外部接続し、第２のストレージが有する実ボリュームを第１のストレージが自己の論理ボリュームとしてホストに見せるようにすることができる。第１のストレージの仮想ボリュームに第２のストレージのプールボリュームの記憶領域を割り当てるようにしてもよい。以後、この形態を外部接続と称することとする。
【００３０】
ストレージ１０００はプール１０６０を管理する。プール１０６０は、１又は複数のプールボリューム１０２２を有する。各プールボリューム１０２２は、記憶領域の単位の複数から構成されている。記憶領域の単位は「ページ」或いは「チャンク」として定義或いは分類されるものであって、これらはそれぞれ特定の記憶サイズを持っている。
【００３１】
ストレージ１０００は、さらに、仮想ボリューム１０５１を管理する。仮想ボリューム１０５１は、ホスト１１００に提供される論理ボリュームの一種であるが容量が仮想化されたものであるため、ＲＡＩＤグループ１０８０に基づかない論理ボリュームである。仮想ボリューム１０５１は、複数のアドレス範囲からなる仮想領域を有する。各アドレス範囲又は複数のアドレス範囲に、プールに属するプールボリュームからの物理的な記憶領域の単位が割り当てられる。
【００３２】
メモリ１０４０には、ストレージ構成プログラム１０４１と、ストレージ構成情報１０４２と、が記憶されている。ストレージ構成プログラム１０４１は、コントローラ１０２０によって実行される。ストレージ構成情報１０４２は、ストレージ構成プログラム１０４１が参照する情報であり、ストレージ１０００の構成に関する管理情報である。なお、この情報１０４２は、管理計算機１２００のメモリ１２３０に記憶され、管理計算機によって管理されてもよい（図３参照）。
【００３３】
ストレージ構成プログラム１０４１は、ストレージ１０００の構成を管理するプログラムであり、実ボリューム１０５０、仮想ボリューム１０５１、プールボリューム１０５２及び、プール１０６０を作成する第１の機能又は手段（以下、機能又は手段を総称して、機能、と略称する。）（ボリューム作成部）と、仮想ボリューム１０５１にプール１０６０内の物理的記憶領域を割り当てる第２の機能（割り当て部）と、実ボリューム１０５０や仮想ボリューム１０５１を入出力Ｉ／Ｆ１０１０経由でホスト１１００に提供する第３の機能（提供部）と、複数の実ボリューム１０５０同士、複数の仮想ボリューム１０５１同士、実ボリュームと仮想ボリュームとの間でのデータの移行を行なう第４の機能（データ移行部）と、を有する。
【００３４】
なお、実ボリューム１０５０及びプールボリューム１０５２は、ＲＡＩＤグループ１８０でなく、ハードディスク１０７０の単体に基づく論理ボリュームからなるものでもよい。
【００３５】
図３は、管理計算機１２００の構成を示す。管理計算機１２００は、入出力装置１２１０と、ＣＰＵ（Central Processing Unit）１２２０と、メモリ１２３０と、管理Ｉ／Ｆ１２４０と、を有する。
【００３６】
管理Ｉ／Ｆ１２４０は、管理ネットワーク１４００に接続されるインターフェース装置である。管理計算機１２００は、管理Ｉ／Ｆ１２４０を介して、ストレージ１０００、ホスト１１００と通信する。
【００３７】
入出力装置１２１０は、例えば、キーボード、ポインティングデバイス、そして、マイク等の入力装置と、例えば、ディスプレイ装置、プリンタ、そして、スピーカ等の出力装置とを有する。
【００３８】
メモリ１２３０は、管理ユーザ又は管理クライアント（以下、ユーザ、と略称する。）の要求を満たすように、ストレージの構成を調整するストレージ構成調整プログラム１２３１と、ストレージへ調整後の構成の設定を指示するストレージ操作指示プログラム１２３２と、ストレージからその構成情報を取得するストレージ構成取得プログラム１２３３と、ユーザから論理ボリュームを設定する指示を受け付けるボリューム設定プログラム１２３４と、ストレージ構成情報を取得したストレージ構成取得プログラム１２３３によって作成されたストレージ構成取得情報１２３５と、を記憶している。プログラム１２３１〜１２３４のそれぞれをＣＰＵ１２２０が実行する。
【００３９】
ストレージ１０００が有するストレージ構成情報１０４２は、プール割当テーブル４０００（図４）と、仮想ボリューム割当テーブル５０００（図５）と、を有する。なお、ストレージ構成取得プログラム１２３３が作成するストレージ構成取得情報１２３５は、ストレージ１０００のストレージ構成情報１０４２から派生するものである。
【００４０】
図４、図５に示すテーブルにおいて、特に、注釈が無い限り、記憶容量の単位は「バイト」とする。プール割当テーブル４０００（図４）は、プール１０６０の識別子を示すプールＩＤ４０１０と、プール１０６０が有するプールボリューム１０５２の識別子を示すプールボリュームＩＤ４０２０と、物理的記憶領域であるチャンクの識別子を示すチャンクＩＤ４０３０と、そのチャンクが占めるＬＢＡ（Logical Block Address）の範囲を表す割当ＬＢＡ４０４０と、そのチャンクが仮想ボリュームに割り当てられているか否かの状況を示す割当状態４０５０と、を有する。
【００４１】
割当状態４０５０の値としては、例えば、割当て済みを意味する「割当」と、未割当てを意味する「未割当」とがある。値が「割当」の場合、割当先の仮想ボリュームのＩＤも、その値に含まれる。例えば、このテーブル４０００によれば、チャンクＩＤ「Ｃ１１」のチャンクは、プールＰ１内のプールボリュームＶ１００の先頭から０ＧＢ目のアドレスを基点とし先頭から２ＧＢ目のアドレスを終点とする２Ｇバイトの物理領域であり、仮想ボリュームＶ１に割当済みであることが分かる。
【００４２】
なお、このテーブル４０００には、プールＰ１の一部のチャンクのみ記載されているが、実際には、全てのプールの全てのチャンクが同様に管理されている。
【００４３】
図５は、仮想ボリューム割当テーブル５０００を示す。仮想ボリューム割当テーブル５０００は、仮想ボリューム１０５１の識別子を示す仮想ボリュームＩＤ５０１０と、仮想ボリューム１０５１に対応付けられているプール１０６０の識別子を示すプールＩＤ５０２０と、割当てられているチャンクの識別子を示すチャンクＩＤ５０３０と、仮想ボリューム１０５１が有する複数のアドレス範囲のうちチャンクが割り当てられているアドレス範囲を示す割当ＬＢＡ５０４０と、を有する。
【００４４】
このテーブル５０００によれば、例えば、仮想ボリュームＶ２が有する複数のアドレス範囲のうちの、先頭から２Ｇバイト目のアドレスを基点とし先頭から４ＧＢ目のアドレスを終点とする２Ｇバイトのアドレス範囲に、チャンクＣ１３が割り当てられている。
【００４５】
なお、このテーブル５０００には、仮想ボリュームＶ１及びＶ２の一部のアドレス範囲についてのみ情報が記載されているが、他のアドレス範囲についても同様に管理されている。
【００４６】
ストレージ構成プログラムがプール割当テーブル４０００（図４）と、仮想ボリューム割当テーブル５０００（図５）を常時更新する。
【００４７】
次に、仮想ボリュームに対するホストからのＩ／Ｏをストレージ１０００が処理する動作を説明する。例えば、仮想ボリューム１０５１に対するライト要求を受信したストレージ１０００が実行する処理について説明する。
【００４８】
仮想ボリューム１０５１に対してライト要求がまだ一度も実行されていない場合、その仮想ボリューム１０５１には、チャンクが全く割り当てられていない。なお、仮想ボリューム１０５１の一部のアドレス範囲に最初からチャンクを割り当てることは許容される。
【００４９】
コントローラ１０２０は、仮想ボリューム１０５１のアドレス範囲を指定したライト要求を受信する。コントローラ１０２０は、指定されたアドレス範囲に、チャンクが割り当てられているか否かを確認する。チャンクが割り当てられている場合、コントローラ１０２０は、割り当てられたチャンクにライト対象のデータを格納する。
【００５０】
一方、指定されたアドレス範囲にチャンクが割り当てられていない場合、コントローラ１０２０は、指定されたアドレス範囲に、仮想ボリューム１０５１のいずれのアドレス範囲にも割り当てられていないチャンク（未割当てのチャンク）を割り当て、そのチャンクにデータを格納する。さらに、コントローラ１０２０は、その新たな割り当てをストレージ構成情報（プール割当テーブル４０００等）に反映させる。
【００５１】
次に、仮想ボリューム１０５１に対するリード要求を受信したストレージ１０００が実施する処理について説明する。コントローラ１０２０は、仮想ボリューム１０５１のアドレス範囲を指定したリード要求を受信する。
【００５２】
コントローラ１０２０は、指定されたアドレス範囲に、プール１０６０のチャンクが割り当てられているか否かを確認する。チャンクが割り当てられている場合、コントローラ１０２０は、割り当てられたチャンクからデータを読み出し、ホスト１１００に返す。
【００５３】
一方、指定されたアドレス範囲にチャンクが割り当てられていない場合、コントローラ１０２０は、指定されたアドレス範囲のデータ量に相当する所定のデータ（例えば、オール「０」）をホスト１１００に返す。
【００５４】
次に、管理計算機１２００が有するストレージ構成取得情報１２３５を説明する。ストレージ構成取得情報１２３５は、図６に示すストレージ識別テーブル６０００と、図７に示すＲＡＩＤグループ容量テーブル７０００と、図８に示すＲＡＩＤグループディスクテーブル８０００と、図９に示すプール容量テーブル９０００と、図１０に示す仮想ボリュームテーブル１００００と、図１１に示すプールボリュームテーブル１１０００と、図１２に示す外部接続情報テーブル１２０００と、図１３に示すストレージ稼動情報テーブル１３０００と、図１４に示すディスク情報テーブル１４０００と、図１５に示す容量確保操作テーブル１５０００と、を備えたものである。
【００５５】
以下、これらのテーブルを説明する。管理計算機１２００のストレージ構成取得プログラム１２３３は、各ストレージ１０００のストレージ構成情報１０４２を取得して図７乃至図１４のテーブルを作成し、これをストレージ構成取得情報としてメモリ１２３１に格納する。図６及び図１５はストレージの管理者によって管理計算機のメモリに設定される。
【００５６】
図６はストレージ識別テーブル６０００である。ストレージ識別テーブル６０００は、ストレージ１０００の識別子となるストレージＩＤ６０１０と、管理計算機１２００が管理ネットワーク１４００を介してストレージ１０００にアクセスするために利用する情報であるＩＰアドレス６０２０と、を有する。ＩＰアドレス６０２０は一つのストレージに対して複数登録されていてもよい。
【００５７】
図７は、ＲＡＩＤグループ容量テーブル７０００である。ＲＡＩＤグループ容量テーブル７０００は、ストレージ１０００の識別子となるストレージＩＤ７０１０と、各ストレージ１０００に存在するＲＡＩＤグループの識別子であるＲＡＩＤグループＩＤ７０２０と、ＲＡＩＤグループの全体の記憶容量を示す全体容量７０３０と、ＲＡＩＤグループの全体容量に対する使用した記憶領域の容量７０４０と、ＲＡＩＤグループの全体容量のうちの未使用の記憶領域の容量７０５０と、を有する。
【００５８】
使用容量７０４０とは、論理ボリューム（実ボリューム１０５０，プールボリューム１０５２）に割り当てられている記憶領域の合計容量である。未使用容量７０５０とは、論理ボリュームに割り当てられていない記憶領域の合計容量のことである。
【００５９】
ＲＡＩＤグループ単位ではなく、ストレージごとに、記憶資源の全体容量、使用容量、未使用容量をテーブルで管理する場合、ＲＡＩＤグループＩＤに“−"を格納すればよい。
【００６０】
第１のストレージに第２のストレージが接続された状態、即ち、外部接続の状態では、第２のストレージのＲＡＩＤグループのうち第１のストレージに割り当てられるＲＡＩＤグループの記憶容量は、第１のストレージのものと区別されて図７のテーブルにて管理される(図７の第５行目を参照)。
【００６１】
このとき、ＲＡＩＤグループＩＤ７０２０には、外部のストレージのものであることを示すＩＤ、例えば、“Ｅ”が格納される。そして、全体容量、使用量用、未使用容量のそれぞれの欄には、外部ストレージ（第２のストレージ）のデータが格納される。
【００６２】
一つ又は複数の外部ストレージの複数のＲＡＩＤグループを第１のストレージに割り当てる場合には、それぞれのＲＡＩＤグループは、Ｅ−１，Ｅ−２・・・の如くに、関連するＩＤによって区別される。また、外部ストレージの接続情報を示すために、Ｅ−１（Ｓ２）として、ストレージＩＤを一緒に格納してもよい。
【００６３】
図８は、ＲＡＩＤグループ容量テーブル８０００を示す。ＲＡＩＤグループ容量テーブル８０００は、ストレージ１０００の識別子となるストレージＩＤ８０１０と、各ストレージ１０００に存在するＲＡＩＤグループの識別子であるＲＡＩＤグループＩＤ８０２０と、ＲＡＩＤグループを構成するハードディスク１０７０の種別を示すディスク種別８０３０と、ＲＡＩＤ構成のＲＡＩＤレベルを示すＲＡＩＤタイプ８０４０と、そして、ＲＡＩＤグループを構成するハードディスク１０７０の数を示すディスク数８０５０と、のそれぞれの情報を有している。
【００６４】
図９は、プール容量テーブル９０００である。プール容量テーブル９０００は、プール毎に、ストレージ１０００の識別子であるストレージＩＤ９０１０と、各ストレージ１０００に存在するプール１０６０の識別子であるプールＩＤ９０２０と、プール１０６０の記憶容量（全体容量）を示す全体容量９０３０と、プール１０６０から仮想ボリューム１０５１に割り当てられた物理領域の総記憶容量を示す割当容量９０４０と、割当容量の閾値を示す閾値９０５０と、を有する。
【００６５】
閾値９０５０は、全体容量に対する割当容量の割合の所定の特定値であり、例えば、百分率で表される。全体容量に対する割当容量の割合が、閾値９０５０を超えることが、プールの全体容量を増やすかどうかの判断材料となる。例えば、全体容量に対する割当容量の比率が閾値９０５０を超えた場合には、プールが増設されないかぎり、ストレージは、仮想ボリューム１０５１に物理領域を割り当てないという制御を行ってもよい。
【００６６】
閾値９０５０は、ユーザが設定するか、プールの全体容量に応じてストレージ構成プログラム１０４１が自動的に設定する。また、閾値９０５０は、百分率ではなく、記憶容量で特定されてもよい。
【００６７】
プールの全体容量９０３０は、そのプールが有する全チャンクの総容量であり、プールについての割当容量９０４０は、そのプール１０６０からの仮想ボリュームに割当てられた複数のチャンクの総記憶容量である。
【００６８】
図１０は、仮想ボリュームテーブル１００００である。仮想ボリュームテーブル１００００は、仮想ボリューム毎に、ストレージ１０００の識別子であるストレージＩＤ１００１０と、各ストレージ１０００に存在する仮想ボリューム１０５１の識別子である仮想ボリュームＩＤ１００２０と、仮想ボリューム１０５１に対応付けられたプール（仮想ボリューム１０５１に割り当てられる物理領域の提供元のプール）１０６０の識別子を示すプールＩＤ１００３０と、仮想ボリューム１０５１の仮想化された記憶容量であって、ホスト１１００に認識されるもの（仮想容量）１００４０と、仮想ボリューム１０５１に割当て済みの物理領域の総記憶容量である実割当容量１００５０と、仮想ボリュームが読み取り専用か否かを示すRead-Onlyフラグ１００６０と、を有する。
【００６９】
ホスト１１００から仮想ボリューム１０５１に対して発行されたライト要求に応じて、仮想ボリューム１０５１に割り当てられる記憶領域の割当容量が増えていく。ホスト１１００に仮想ボリューム１０５１を認識させるために、ストレージ１０００は、各仮想ボリューム１０５１に対して、ＬＵＮ（論理ユニット番号）と、ＳＣＳＩのポートＩＤといった情報を設定する。この場合、ＬＵＮやポートＩＤが仮想ボリュームテーブル１００００に登録される。
【００７０】
また、Read-Onlyフラグ１００６０において、読み取り専用であれば、「Ｙ」をそうでなければ「Ｎ」を設定する。読み出し専用は、それ以上容量が増えないことを示している。
【００７１】
図１１は、プールボリュームテーブル１１０００を示す。プールボリュームテーブル１１０００は、プールボリューム毎に、ストレージ１０００の識別子であるストレージＩＤ１１０１０と、各ストレージ１０００に存在するプールボリュームの１０５２識別子を示すプールボリュームＩＤ１１０２０と、プールボリューム１０５２の基になっているＲＡＩＤグループ１０８０の識別子を示すＲＡＩＤグループＩＤ１１０３０と、プールボリューム１０５２の容量を示す容量１１０４０と、プールボリューム１０５２から仮想ボリュームに割当て済みのチャンクの総記憶容量を示す割当容量１１０５０と、を有する。
【００７２】
図１１の例では、また外部接続のボリュームも設定も可能であることを示しており、Ｖ１０６で示されるプールボリュームはＲＡＩＤグループＥ−１に属していることがわかる。図７で説明したとおり、Ｅ−１（Ｓ２）のＳ２はストレージＩＤを示す。
【００７３】
図１２は、外部接続情報テーブル１２０００を示す。外部接続情報テーブル１２０００は、ストレージごとに、第２のストレージが外部接続する対象となる側のストレージ（第１のストレージ）の識別子を示すストレージＩＤ１２０１０と、実際に、第１のストレージに外部接続しているストレージ識別子を示す外部ストレージＩＤ１２０２０と、ストレージＩＤ１２０１０で示すストレージに外部接続されることが可能なストレージの識別子を示す外部接続可能ストレージＩＤ１２０３０と、を有する。
【００７４】
外部ストレージ（ＩＤ１２０２０）は、外部接続機能を有するストレージ１０００のストレージ構成プログラムから、外部ストレージと外部ボリュームが接続されている状況を検知すること、たとえば、外部ボリュームへのマッピング設定の情報を格納することで情報を取得する。または、外部ストレージ（ＩＤ１２０２０）は、外部接続のマッピングが行なわれており、外部ストレージ先ボリュームが認識できることを、ネットワーク経由で確認することによって情報を取得する。
【００７５】
また、外部接続可能なストレージ（ＩＤ１２０３０）は、まだ、外部ボリュームはないが、外部ストレージとして接続可能な状況を、たとえば、外部ストレージのポートのディスカバリをすることによって取得する。外部接続可能ストレージＩＤはユーザが手動で登録してもよい。
【００７６】
図１２の例によれば、Ｓ１のストレージに既に外部接続しているストレージＳ２が存在し、また、ストレージＳ１に外部接続可能なストレージはＳ２に加えて、Ｓ３があることが分かる。但し、Ｓ３は、現在のところ、他のストレージに外部接続されていないが、ネットワークは繋がっており、ユーザが外部接続のための操作を行なえば、他のストレージに外部接続可能である。
【００７７】
図１３は、ストレージ稼動情報テーブル１３０００を示す。ストレージ稼動情報テーブル１３０００は、ストレージの識別子を示すストレージＩＤ１３０１０と、ストレージの稼動率を示す稼働率１３０２０と、ストレージの消費電力を示す電力１３０３０と、ストレージの消費電力の閾値を示す電力閾値１３０４０と、を有する。
【００７８】
テーブルは、ストレージの稼働率１３０２０を、便宜的に、「高」、「中」、「低」の三段階で分類している。稼働率が高いほど、例えば、ストレージにホスト計算機からＩ／Ｏが集中していることを示している。
【００７９】
電力１３０３０はストレージが消費している電力を示す。電力閾値１３０４０はストレージが使用可能な電力の上限値であり、電力閾値を超えると、ストレージに供給する電力に不足が生じるおそれがある。電力閾値１３０４０は、管理計算機のユーザによって設定される。電力閾値１３０４０を電力キャッピングの値に応じて設定してもよい。
【００８０】
図１４は、ディスク種別テーブル１４０００を示す。ディスク種別テーブル１４０００は、ストレージの識別子を示すストレージＩＤ１４０１０と、ＦＣやＳＡＴＡといったディスクの種別を示す種別１４０２０と、ディスクの型番を示す型番１４０３０と、ディスクのサイズを示すサイズ１４０４０と、ディスクが装填されている数を示す装填数１４０５０と、ディスクを今後装填できる数を示す装填可能数１４０６０と、を有する。
【００８１】
ストレージ管理者が、ストレージにディスクを装填する場合には、型番が一致したディスクを選択する。ストレージは装填されたディスクの型番をチェックし、ディスク種別テーブルを参照して型番が一致しないディスクが装填された場合にはストレージ管理者に通知する。互換性があれば、型番が異なってもよい。型番として、複数のものをテーブルに登録してもよい。
【００８２】
ストレージにディスクを装填する余裕がない場合には、ストレージに拡張筐体を敷設する。ストレージは、ストレージに拡張筐体を付設できる場合には、拡張筐体敷設後での、ディスクの装填可能数を、テーブルにおいて管理する。ストレージ管理者は、複数の拡張筐体を敷設できる場合で、一部の拡張筐体が敷設されたに過ぎない場合でも、最大敷設数を前提とした、ディスクドライブの最大装填数を装填可能数の項目に登録してもよい。
【００８３】
図１５は、容量確保操作テーブル１５０００を示す。容量確保操作テーブル１５０００は、第１のストレージに記憶容量を増設しようとする際、第２のストレージを第１のストレージに外部接続してその目的を達成するか、あるいは、第２のストレージのディスクドライブを第１のストレージに転用するかを決定するための判定に使用されるものである。このテーブルは、外部接続を優先するか、或いは、ディスクの転用（第２のストレージのディスクを第１のストレージに装填）にするかのポリシーに基づくなどして作成されるものである。
【００８４】
このテーブルにおいて、１５０１０の項目は容量確保操作の種別を示すものであり、さらに、１５０２０、１５０３０、１５０４０、１５０５０の項目は、それぞれ容量確保操作を決定するための判定項目である。これら複数の判定項目の複数の組み合わせのそれぞれに対して容量確保操作の形態が登録されている。
【００８５】
１５０２０の項目はディスクの互換性の有無に関するフラグであり、１５０３０の項目は第２のストレージ（容量提供側ストレージ）を第１のストレージ装置（容量増設側ストレージ）に外部接続できるかに関するフラグであり、１５０４０の項目は、第２のストレージの性能が第１のストレージの性能より勝っているか否かに関するフラグであり、１５０５０の項目は第２のストレージの電力容量が第１のストレージのそれより勝っているか否かに関するフラグである。「Ｙ」は条件に対して肯定を示し、「Ｎ」は条件に対して否定を示す。
【００８６】
例えば、ディスク互換性１５０２０が「Ｙ」、外部接続設定１５０３０が「Ｎ」、容量提供ストレージ性能１５０４０が「Ｙ」、容量提供ストレージ電力１５０５０が「Ｎ」であるとき、対応する容量確保操作１５０１０は、「ディスク装填」となっており、第１のストレージに対する容量確保をディスク装填で行なうべきであることを示している。
【００８７】
図１５のテーブルの項目のフラグは、ユーザによって指定される。このフラグの設定を管理計算機がストレージから情報を読み取って判定することもできる。管理計算機は設定されたフラグに基づいて図１５のテーブルを参照して、容量確保操作を特定する。管理計算機１２００は、ディスクの互換性を、互いに接続されようとするストレージ間で、前記図１４のテーブルを参照して決定する。また、管理計算機１２００は、外部接続の可能性を、互いに接続されようとするストレージ間で、前記図１２のテーブルを参照して決定する。
【００８８】
外部接続の候補となるストレージが複数存在する場合は、例えば、ストレージの性能に関する項目を優先する。一つのストレージについて、ストレージの性能の項目１５０４０が「Ｙ」で、電力に関する項目１５０５０が「Ｎ」であり、他のストレージについてのこの二つの項目のフラグが前者のストレージのそれとは逆であった場合は、管理者は、前者のストレージを外部接続用のストレージとして選択する。
【００８９】
例えば、ランダム/シーケンシャル、リード/ライトの特性の観点からのIOPS（I/O Per Second）によって性能の優劣が決定可能である。
【００９０】
一方、二つのストレージについて、この二つの項目のフラグが共に「Ｙ」の場合は、性能に、より余裕があるストレージが外部接続用として選択される。性能を優先させることに代えて電力を優先させるようにしてもよい。また、両者を勘案するようにしてもよい。
【００９１】
なお、ディスクを装填すべきストレージが複数存在する場合、ストレージの番号順によるなどして、複数のストレージ間での優劣が判定されることでもよい。
【００９２】
なお、ユーザが、どの項目を優先させるか、外部接続とディスク装填とのどちらを優先させるかを、管理計算機１２００に入力することによって、管理計算機１２００の側で図１５のテーブルを変更することができる。
【００９３】
図１５のテーブルは、ディスク互換性、外部接続設定が、ともに「Ｙ」の場合に、外部接続を容量確保操作として優先させている。この定義は、例えば、ユーザから管理計算機に対する設定の結果である。
【００９４】
一方、ディスク装填と外部接続のそれぞれについて、操作の早さなど、両者を判別する指標に係るデータがある場合には、そのデータを管理計算機が容量提供側或いは容量受領側のストレージから収集したり、或いは、ユーザからの入力によって、管理計算機が分析し、例えば、第２のストレージを第１のストレージに外部接続する方が、第２のストレージのディスクを第１のストレージに装填するより早いと判定して、「外部接続」を容量確保操作として図１５のテーブルに登録するようにしてもよい。
【００９５】
なお、外部接続対象となり得るストレージが複数存在する場合には、図１５のテーブルの内容をストレージ毎に変更してもよい。例えば、あるストレージを外部接続が優先されるものとして定義し、別のストレージをディスク装填が優先されるものとして定義されてもよい。
【００９６】
また、図１５に示す項目は一例であって、他の要素を排除するものではない。例えば、ストレージの未使用の記憶容量を利用して、複数あるストレージのうちどちらを外部接続対象とするかを管理計算機が決定するようにしてもよい。例えば、ボリューム１００Ｇを作成するときに、Ｓ１の空き容量が２００Ｇ、Ｓ２の空き容量が１Ｔであれば、空き容量を重視し、Ｓ２の容量を用いて、外部接続先ストレージにボリュームを作成してもよい。
【００９７】
図１６は、管理計算機に表示されるボリューム設定画面である。この画面１６０００は、ボリューム設定プログラム１２３４によってディスプレイ装置（入出力装置１２１０の一部）に表示される。この画面１６０００は、ユーザがボリュームを設定するためのものである。
【００９８】
この画面１６０００は、ボリュームを設定するストレージのＩＤを設定する欄１６１００と、ボリュームの容量を設定するための欄１６１１０と、ボリュームの数を設定するための欄１６１２０と、を有する。
【００９９】
また、この画面１６０００は、ボリュームを追加したい場合に押されるボタン１６２００と、各欄に設定された条件をもとにボリューム設定の指示を適用するためのボタン１６３００と、この画面の設定をキャンセルする場合のボタン１６４００とを有する。
【０１００】
図１７は、計算機システムに属するストレージにボリュームを作成するための処理を説明するフローチャートである。ボリューム設定プログラム１２３４が、１７０００、１７０１０の処理行い、１７０６０、１７０９０、１７１００の処理をストレージ操作指示プログラム１２３２が行なう。その他の処理は、ストレージ構成調整プログラム１２３１により実行される。
【０１０１】
ここで、作成されるボリュームには、実ボリュームと、プールボリュームと、仮想ボリュームとがある。仮想ボリュームには、プールが割り当てられた仮想ボリュームと、外部ストレージの実ボリュームが割り当てられた外部接続用の外部ボリュームとがある。
【０１０２】
ボリューム設定プログラム１２３４はボリューム設定要求を、ボリューム設定画面１６０００（図１６参照）を介してユーザから受ける（ステップ１７０００）。ボリューム設定プログラム１２３４は、設定画面を介することなく、ボリューム設定要求をコマンドラインやファイルなどの他の形式で受けてもよい。
【０１０３】
次に、ボリューム設定プログラム１２３４は、ボリューム設定画面１６０００に入力されたストレーに指定された容量のボリュームが指定可能か否かを判定する（ステップ１７０１０）。
【０１０４】
ステップ１７０１０での判定の結果が肯定的であれば、ステップ１７１００が行われ、ステップ１７０１０での判定の結果が否定的であれば、ステップ１７０２０が行われる。この判定（ステップ１７０１０）は、ボリューム設定画面１６０００に入力された情報と、ＲＡＩＤグループ容量テーブル７０００（図７参照）と、プール容量テーブル９０００（図９参照）とを基に行われる。
【０１０５】
図１６の例によれば、ストレージＩＤがＳ２のストレージに１００Ｇの容量のボリュームを１０個作成すること、また、ストレージＩＤがＳ３のストレージに２００Ｇのボリューム１個を作成することがわかる。
【０１０６】
また、図９の例によれば、ストレージＩＤがＳ２のストレージにあるプールＰ２は閾値を超えている。
【０１０７】
また、ストレージＩＤがＳ３のストレージにあるプールＰ３は閾値を超えていない。
【０１０８】
ボリューム設定プログラム１２３４は、さらに、他のプールや、プールにも入っていない容量、すなわちＲＡＩＤグループ容量テーブル７０００の未使用容量を用いて容量を確保できるかどうか調べるが、その場合、図７では、Ｓ２のストレージの未使用容量は０Ｇである。よって、ボリューム設定プログラム１２３４は、Ｓ２のストレージに、空き領域（未使用の記憶領域）を確保できないと判定する。Ｓ３のストレージには記憶領域を確保できると判定する。
【０１０９】
ボリューム設定プログラム１２３４が、ＲＡＩＤグループ容量テーブルとプール容量テーブルのどちらを先にチェックするかは特に問わない。
【０１１０】
仮想ボリュームをストレージに増設する際、ボリューム設定プログラムは、仮想ボリュームの作成直後に可能性のある書き込み分に対応する割当容量分が少なくとも仮想ボリュームを作成するストレージ自体に当初確保されることを判断してもよい。
【０１１１】
例えば、ボリュームサイズの５％、すなわち、図１６において、Ｓ２のストレージであれば５０Ｇ、Ｓ３のストレージであれば１０Ｇが空き容量として、それぞれのストレージに必要であるとしてもよい。この判定はステップＳ１７０１０において実行される。ストレージにこの空き容量を確保できないときには、ボリューム設定プログラム１２３４はこのステップを否定判定する。
【０１１２】
図９に従って説明すると、ストレージＳ２において、プールボリュームＰ２における割当容量が１２０Ｇであって、これは閾値以下あるが、５０Ｇをこれに加算すると閾値を超えてしまうので、ステップ１７０１０の判定は否定的となる。ストレージＳ３において、１０Ｇを割当容量である２０Ｇに１０Ｇ加算しても３０Ｇで、閾値を超えることないため、ステップ１７０１０はこの判定は肯定的になる。
【０１１３】
ストレージＳ２とストレージＳ３についてそれぞれボリュームを作成しようとする際に、一方について空き容量が存在し、他方について空き容量が存在しない場合には、ボリューム設定プログラム１２３４は、ステップ１７０１０を否定判定し、両方に空き容量が存在する場合、これを肯定判定する。
【０１１４】
なお、ストレージに仮想容量を持ったボリュームを増設する際に、ユーザは、図１６に、新規のプール又はプールボリュームを作成する入力を行って、自身のストレージ又は外部のストレージのＲＡＩＤグループの未使用領域又はプールの未使用領域に基づいて、これらの増設が終わった後、ストレージに仮想ボリュームを設定して、増設したプール、又はプールボリュームをこれに割り当ててもよい。
【０１１５】
以後の説明では、図１６で示した事例に沿わないが、説明を簡略にするために、便宜上、ストレージＳ２について、記憶領域を増設することについて説明し、ストレージＳ３について記憶領域を増設することについて考慮しないこととする。
【０１１６】
ステップ１７０２０では、ストレージ構成調整プログラム１２３２は、管理計算機によって管理される全ストレージのうち、ボリューム設定画面１６０００で設定されたストレージとは別のストレージに空き領域を設定可能か否かについて判定する。
【０１１７】
ステップ１７０２０での判定の結果が肯定的であれば、ステップ１７０３０に進み、ステップ１７０２０での判定の結果が否定的であれば、ステップ１７１１０に進む。この判定は、ボリューム設定画面１６０００に入力された情報と、ＲＡＩＤグループ容量テーブル７０００（図７参照）と、プール容量テーブル９０００（図９参照）を基にする。
【０１１８】
図１６は、ストレージＩＤがＳ２のストレージに１００Ｇの容量の仮想ボリュームを１０個作成することを示している。ストレージ構成調整プログラム１２３２は、図９にしたがって、ストレージＩＤがＳ２以外のストレージのプールの情報を検索し、ストレージＩＤがＳ１のストレージのプールＰ１、ストレージＩＤがＳ３のストレージにあるプールＰ３は閾値を超えていないことを検出する。
【０１１９】
したがって、ストレージＳ２とは別のストレージに、空き領域を確保可能であると判定し、ステップ１７０３０に進む。なお、プールＰ１、プールＰ３ともに、空き領域を確保できない場合、ステップ１７１１０に進む。また、プール容量テーブル９０００で空き容量が見つからなかった場合には、ＲＡＩＤグループ容量テーブル７０００（図７）を参照して、空き容量を確保できるかどうか判断する。ストレージ構成調整プログラム１２３２がＲＡＩＤグループ容量テーブルとプール容量テーブルとのどちらを先に参照してもよい。
【０１２０】
また空き領域の確保を判定する場合に、容量の増加傾向をみて判定してもよい。すなわち、定期的に図９のプールの割当容量を保存し、保存した容量の増加傾向を見て、容量増加傾向が高いプールであれば、閾値を超えていなくても、容量確保ができないと判断してもよい。
【０１２１】
また図１０に示した読み出し専用のボリュームが存在していれば、増加傾向を見なくても、書き込みがないため、容量は増えないと判断することができ、プール全体で読み出し専用のボリュームばかりであれば、すべてが読み出し専用となった時点で、容量が増えないと判断できるので、プールの空き容量全てを別の容量として確保可能とすると判断してもよい。
【０１２２】
ステップ１７０３０において、ストレージ構成調整プログラム１２３２は、どの領域確保操作（図１５）をすべきかの検索を行なう。ストレージ構成調整プログラム１２３２は、この判定を、図１２の外部接続情報テーブル１２０００、図１３のストレージ稼動情報テーブル１３０００、図１４のディスク種別テーブル１４０００、および、図１５の容量確保操作テーブル１５０００を参照して行う。
【０１２３】
ストレージ構成調整プログラム１２３２は、先ず、図１５に示す、ディスク互換性などの各種項目について情報を取得する。ディスク互換性１５０２０を図１４のディスク種別テーブル１４０００から、外部接続設定１５０３０を図１２の外部接続情報テーブル１２０００から、容量提供ストレージ性能１５０４０及び容量提供ストレージ電力１５０５０を図１３のストレージ稼動情報テーブル１３０００から取得する。また、ステップ１７０２０で参照した別のストレージの情報(図７,図９)も利用する。
【０１２４】
ディスク互換性について、図１４のディスク種別テーブルによれば、ストレージＳ２はＳＳＤを備えており、ステップ１７０２０で参照された他のストレージＳ１、Ｓ３はＳＳＤのストレージデバイスはＳＳＤから構成されていない。よって、ストレージ構成調整プログラム１２３２は、ディスク互換性は無いと判断する。
【０１２５】
外部接続設定に関して、図１２に示す外部接続情報テーブルによれば、ストレージＳ２に外部接続することが可能なストレージとしてストレージＳ３がある。よって、ストレージ構成調整プログラム１２３２は、外部接続が可能であると判定する。
【０１２６】
よって、ストレージ構成調整プログラム１２３２が、ディスク互換性、外部接続設定の両方を「Ｎ」と判定すると、ステップ１７０２０を否定判定して、ステップ１７１１０に移行する。
【０１２７】
一方、ストレージ構成調整プログラム１２３２は、いずれかを「Ｙ」と判定すると、これをユーザに通知し、ステップ１７０３０に移行する。図１４及び図１２に従えば、ストレージ構成調整プログラム１２３２は、ストレージＳ３を利用してストレージＳ２に記憶容量を提供するという情報をユーザに通知する。
【０１２８】
ステップ１７０３０において、ディスク互換性と外部接続について共に「Ｙ」と判定された仮定した場合、ディスク装置と外部接続のどちらを優先させるのかについて以後説明する。これは、ストレージの稼働率を例とした性能やストレージの電力特性（図１３）など外部ストレージの性能を勘案して決定される。
【０１２９】
ストレージ構成調整プログラム１２３２は、図１３に示すストレージ稼動情報テーブル１３０００を参照して、ストレージＳ２とストレージＳ３との性能を比較する。例えば、外部接続側（ストレージＳ３）の性能が低く、接続先（ストレージＳ２）の性能が高い場合、判定結果は「Ｎ」であり、その反対の場合、判定結果は「Ｙ」となる。
【０１３０】
図１３に従えば、両者はともに、「低」で同じである。同じである場合には、接続先ストレージに接続しようとするストレージから記憶資源を提供する形態をディスク装填と外部接続のどちらにするかの判断は、電力に関する判定結果による。すなわち、電力に関する判定結果と同じ値のフラグが、図１５の「容量提供ストレー性能」に登録される。
【０１３１】
図１３に係るストレージ稼動情報テーブル１３０００によれば、ストレージＳ２は１００Ｗ、ストレージＳ３も同じ１００Ｗである。ストレージＳ２は閾値１２０Ｗと低いために、ディスクドライブが外部から装填されると、ストレージＳ２で電力が超過するおそれあるのに対して、ストレージＳ３の閾値は３００Ｗと余裕がある。そこで、ストレージ構成調整プログラム１２３２は、電力閾値を参照して、外接側であるストレージＳ３に電力について余裕あるとして、フラグを「Ｙ」とする。
【０１３２】
ディスク互換性、外部接続設定に関する判定結果を共に「Ｙ」と仮定すると、性能、電力がともに「Ｙ」となり、図１５に係る容量確保操作テーブル１５０００から、ストレージ構成調整プログラム１２３２は、容量確保操作を外部接続とする判定を行う。ストレージ構成調整プログラム１２３２は、ステップ１７０４０を肯定判定して、ステップ１７０５０に移行する。
【０１３３】
ステップ１７０４０を否定判定する場合には、外部接続ではなく容量を確保するためにディスク装填を選択することとしてステップ１７０７０に移行する。なお、ストレージ構成調整プログラム１２３２がステップ１７０４０をエラーと判定すると、ステップ１７０７０に移行し、次いで、ステップ１７１１０に移行する。
【０１３４】
ステップ１７０５０において、ストレージ管理者が、ストレージＳ３をストレージＳ２に接続し、ストレージ構成調整プログラム１２３２は、前者から後者に提供するための記憶容量を確保するための処理を行う。ステップ１７０５０で行われる処理の一例を述べれば次のとおりである。
【０１３５】
ストレージ管理者は、ストレージＳ２に新たに仮想ボリュームを設定する。そこで、ストレージ管理者は、ストレージＳ３に、この仮想ボリュームに容量を提供するためのプール・プールボリュームを設定する。ストレージ管理者は、ストレージＳ３にある既存のプールから新たにプールボリュームを切り出し、これをストレージＳ２の新規仮想ボリュームにマッピングする。この時、必要に応じてストレージＳ３に新たなプールを設定する。
【０１３６】
或いは、ストレージＳ３のディスクドライブの容量或いはＲＡＩＤグループからの容量からプールあるいはプールボリュームを作成してもよい。ストレージＳ２に割り当てる容量をストレージＳ３内に作成するために、この容量のデータをプールまたはＲＡＩＤグループの他のボリュームにマイグレーションすることが必要な場合がある。
【０１３７】
より具体的な例を図２５、図２６を用いて説明する。図２５は図１１で説明したプールボリュームテーブルにおいて、ストレージＳ２，Ｓ３のプールボリュームの情報を格納した例である。ストレージＳ２には、プールボリュームＶ２００，Ｖ２０１で構成されるプールがあり、プールはＶ２００，Ｖ２０１の合計サイズ２００Ｇ、割当容量１８０Ｇであることを示している。これは図９で示すプールＰ２を示していりものとする。またストレージＳ３には、プールボリュームＶ３００，Ｖ３０１で構成されるプールがあり、プールはＶ３００，Ｖ３０１の合計サイズ１００Ｇ、割当容量２０Ｇであることを示している。このプールは図９で示すプールＰ３とする。そしてＳ３のプールから切り出された仮想ボリュームは図１０で示された仮想ボリュームとすると、この仮想ボリュームＶ３はＲｅａｄ−Ｏｎｌｙであることがわかる。よって、Ｖ３はすでに容量増加はないので、Ｖ３のデータを別のプールにマイグレーションして、プールＰ３の容量を空けて、仮想ボリュームを切り出し、ストレージＳ２に外部接続を行なうことで、Ｓ２に容量を提供する。
【０１３８】
図２６は図２５の状態から、プールＰ３のボリュームを外部接続して、プールボリュームＶ２０２を増設して、プールＰ２の容量が増加した状態を示している。また今までプールＰ３に格納されていたデータは別のプールのプールボリュームＶ３０２にあることを示している。上記の処理により、別のストレージから容量を確保し、外部接続にて容量を扱うことが可能となる。
【０１３９】
ストレージ操作指示プログラム１２３２は、ステップ１７０６０において、このような容量を確保する制御情報を作成してこれを、ストレージへ、或いはストレージ管理者へ送信する。
【０１４０】
ステップ１７０７０では、ストレージ構成調整プログラム１２３１は、容量提供側のストレージのディスクドライブを容量受領側のストレージに装填できるか否かを判定する。この判定を肯定すると、ステップ１７０８０に移行し、否定すると１７１１０に移行する。
【０１４１】
ストレージ構成調整プログラム１２３１は、ステップ１７０７０に係る判定にステップ１７０３０の検索結果を用いる。ステップ１７０３０の説明と重複するが、例えば、ディスク互換性があり、そして、外部接続設定ができない、という状態であれば、ストレージ構成調整プログラム１２３１は、ステップ１７０４０を否定し、ステップ１７０７０に進み、これを肯定判定してステップ１７０８０に進む。ディスク互換性がなく、そして、外部接続設定ができない、と判定すると、ステップ１７０７０を否定し、ステップ１７１１０に移行する。
【０１４２】
ステップ１７０８０においては、容量提供側のストレージから容量受領側のストレージディスクドライブを装填するに際して、ストレージ構成調整プログラム１２３１が、容量提供側のストレージのどのディスクドライブを選択（例えば、未使用ディスクドライブ）するかなど容量を確保するための態様を決定する。この際、容量提供側のストレージからディスクドライブを抜き出す際、データやボリュームをこのストレージに維持すべきディスクドライブに移動することが必要な場合がある。
【０１４３】
ストレージ操作指示プログラム１２３２は、ステップ１７０９０に移行して、このような容量を確保するための制御情報を作成して、ストレージ側、ストレージ管理者側へ指示する。ストレージ管理者は、容量提供元ストレージからディスクを抜いて、容量提供先ストレージに装填する（ステップ１７０９０）。
【０１４４】
ステップ１７１００において、ストレージ操作指示プログラム１２３２、又はストレージ管理者は、容量提供先ストレージに、容量提供元スレージからの記憶容量に基づいて、図１６で説明した要求に沿って、実ボリューム及び/又はプールボリュームを設定する。その際、容量提供先ストレージに、容量提供元ストレージからの記憶容量に基づいて、ＲＡＩＤグループ、及び/又はプールを設定してもよい。その結果は、後述の図１８に示すように、管理計算機１２００から管理ユーザ、管理クライアント、又は、ホスト計算機に提供される。
【０１４５】
ステップ１７１１０は、ストレージＳ２に、図１のストレージシステムに属する他のストレージ装置を利用して容量を拡張できないことを、管理計算機１２００管理ユーザに表示することを示している。複数のボリュームのうち、少なくとも一つを要領提供先ストレージ作成できない場合、管理計算機はエラーと判定する。この際、一部のボリュームを残して他のボリュームを容量提供先ストレージに作成してもよい。
【０１４６】
なお、エラーの表示に合わせて、管理計算機は、新たなディスクドライブ、必要に応じて拡張筐体の増設をストレージ管理者・管理ユーザに促すメッセージを通知するようにしてもよい。さらに、容量提供先ストレージに対する記憶容量の増設が限界である場合には、容量提供先ストレージの記憶総容量の削減を促すメッセージを通知するようにしてもよい。
【０１４７】
図１８は、ストレージ操作指示プログラム１２３２によって作成される、ボリューム設定の結果（図１７の１７１００）を表示する画面である。
【０１４８】
この画面１８０００は、ボリューム設定プログラム１２３４によってディスプレイ装置（入出力装置１２１０の一部）に表示される。この画面１８０００は、ユーザがボリュームの設定の結果を確認するための画面である。
【０１４９】
画面１８０００は、ストレージのＩＤを表示する欄１８１００と、容量を表示するための欄１８１１０と、ボリュームの数を表示するための欄１８１２０と、どの場所にボリュームを設定したか、構成を表示するための欄１８１３０を有する。この画面によって、ユーザは、図１６の画面で設定した情報がどのように処理されたかを、１８１３０で示す構成の欄によって確認することができる。
【０１５０】
すなわち、図１８は、次のことを明らかにしている。ストレージＳ２に設定しようとしたボリュームは、構成の欄１８１３０から、ストレージＳ３の容量を用いて外部接続によって実現された。ストレージＳ３に設定しようとしてボリュームは、１８１３０によって、ストレージＳ３内で構成された。
【０１５１】
なお、ディスク装填によってボリュームを設定することは、ディスク装填がストレージ管理者によって実行された後のことなので、ディスクの装填が終了したことをストレージ管理者が管理計算機に入力した後、図１８の出力情報に反映される。
【０１５２】
１８１３０に示す項目において、外部接続とディスク装填の両方が実現されている場合には、両者が区別されるように、例えば改行されて表示される。たとえば、ストレージＳ２について、１０個のボリューム中５個のボリュームがディスク装填に基づき、他の５個が外部接続に基づくものであれば、1行目に、ストレージＩＤ（１８１００）が「Ｓ２」と，容量（１８１１０）が「１００Ｇ」と、個数（１８１２０）が「５個」と、構成（１８１３０）が「ストレージＳ２内」と、表示される。
【０１５３】
２行目に、ストレージＩＤ（１８１００）が「Ｓ２」と，容量（１８１１０）が「１００Ｇ」と、個数（１８１２０）が「５個」と、構成（１８１３０）が「Ｓ３を外部接続」と表される。なお、ストレージに容量を拡張しようとする動機には、仮想ボリュームの設定ばかりでなく、実ボリュームの設定もある。
【０１５４】
次に本発明の第２の実施形態について説明する。ここでは、第１の実施形態との相違点を説明し、第１の実施形態との共通点についての説明を省略するか、それを簡潔にする。
【０１５５】
図１９は、第２の実施形態に係るボリューム設定画面であり、図１６の変形例である。その相違点は、前者が用途１９１３０の欄を有する点である。用途１９１３０はボリュームを設定する際のボリュームの用途を選択する際の条件を設定するとして使われる。図１９に基づくボリューム設定の処理を実行する際、図１７のフローチャートに相違が出てくる部分は、領域確保検索１７０３０の処理である。
【０１５６】
用途には、例えば、“性能重視”、そして、“コスト重視”がある。容量受領側ストレージにボリュームを設定する際、管理ユーザが“性能重視”を選択すると、ＦＣドライブを持ったストレージ、又は、ＳＳＤドライブを持ったストレージが容量提供側ストレージとして検索される。両方を持つストレージの場合には、ＳＳＤドライブが、外部接続用ドライブ、或いは、容量受領側ストレージに転用されるディスクとして選択される。
【０１５７】
“コスト重視”が選択されると、例えば、ＳＡＴＡドライブを備えたストレージが容量提供側ストレージとして選択される。検出されるストレージが用途によって影響を受けるという点において、この実施形態は、第１の実施形態の容量拡張に対する適用性を限定することになる。
【０１５８】
なお、ストレージ内のコントローラの性能差に着目して、用途の欄１９１３０に、その性能差を示す指標を設定してもよい。このような指標として、ストレージに使用されるコントローラの製品名称、クロック数などがある。コントローラの性能が高いストレージほど、容量受領側ストレージに接続される外部接続ストレージの候補として選択される。またコントローラのコスト差も、性能差の一つとしてもよい。
【０１５９】
次に本発明の第３の実施形態について、既述の実施形態との相違点について説明する。
【０１６０】
この実施形態は、図１６及び図１９に於けるボリューム設定画面に関して、ストレージＩＤを考えに入れないことを特徴とする。ユーザはホストの容量を確保したいわけで、ストレージ自体を選択したいわけでない。また、既にホストとストレージの接続構成が管理計算機で分かっているのであれば、敢えて、ユーザにストレージＩＤを選択させることなく、自動選択できるようにしてもよい。
【０１６１】
図１７のフローチャートにおいて、ステップ１７０２０の空き容量チェックのときに、管理計算機は、全てのストレージの空き容量をみて、空き容量があるか否かを判定する。そして、空き容量が複数のもので確保できるようであれば、図１３のストレージ稼動情報テーブルから性能、電力の余裕度で判定する。
【０１６２】
そして、余裕度、すなわち、性能であれば稼働率が低いもの、電力であれば、電力閾値に対して、電力を使っていないストレージを優先的に選択し、ステップ１７１００に進み、ボリュームを作成して処理を終了する。空き容量が見つからなければ、全てのストレージの空き容量の合計を調べて、確保できればボリュームを作成して終了する。
【０１６３】
また、本実施形態で、ストレージは選択しないが、一つのストレージで容量を確保したいというモードがあれば、各ストレージの空き容量をしらべ、空き容量があるストレージがあれば、そこでボリューム作成して、処理を終了する。
【０１６４】
また、複数のストレージに空き容量があれば、図１３のストレージ稼動情報テーブルから性能、電力を調べて、余裕があるものから選択して、ストレージの空き容量にボリューム作成し、処理を終了する。
【０１６５】
空き容量がない場合には、別のストレージを調べる。基本的には、図１７の処理となり、最終的に余裕度のある構成を選択して、ボリュームを作成し、処理を終了することになる。そして、図１８のような結果を出して終了することとなる。上記により、ユーザの用途に合った、既述のようにストレージを選択せずとも、他のストレージから、ボリュームに容量を提供することが可能となる。
【０１６６】
次に本発明の第４の実施形態を、特に既述の実施形態との差異を中心に説明する。図２０は、ホスト計算機１１００のブロック構成図である。ホスト（計算機）１１００は、入出力装置１１１０と、ＣＰＵ（Central Processing Unit）１１２０と、メモリ１１３０と、ホストボリューム１１４０と、ストレージへの入出力に関する通信を行なう入出力Ｉ／Ｆ１１５０と、管理ネットワーク１４００に接続されるインターフェース装置である管理Ｉ／Ｆ１１６０と、を有する。
【０１６７】
メモリ１１３０は、業務プログラム１１３１と、ストレージのボリュームへのアクセスを司るボリュームアクセスプログラム１１３２と、管理計算機との通信をつかさどる管理計算機連携プログラムと、を記録している。
【０１６８】
ホストボリューム１１４０は、ストレージ１０００のボリュームをホスト計算機側で参照きるように設定されたボリュームである。ストレージのボリュームをそのままホスト計算機にマウントすることもあれば、ＬＶＭ（Logical Volume Maneger）により論理ボリュームをマウントする場合もある。
【０１６９】
次に、管理計算機１２００が有するストレージ構成情報１２３５を説明する。ストレージ構成情報１２３５は、先の実施形態で説明したテーブルのほかに、図２１に示す業務ストレージ構成テーブル２１０００と、図２２に示す業務ポリシーテーブル２２０００と、図２３に示すホスト識別テーブル２３０００と、を有している。
【０１７０】
図２１に示す業務ストレージ構成テーブル２１０００は、業務に対する識別子である業務ＩＤ２１０１０と、利用しているボリュームが属すストレージＩＤ２１０２０と、利用しているボリュームが外部ストレージに実ボリュームとして存在する場合の外部ストレージのＩＤである外部ストレージＩＤ２１０３０と、ボリュームＩＤ２１０４０と、このボリュームがマウントされているホストのＩＤ２１０５０と、を有する。
【０１７１】
ストレージ構成取得プログラム１２３３がストレージ１０００のストレージ構成情報１０４２を取得すると同時に、管理計算機連携プログラム１１３３にアクセスしてホストの情報も取得することによって、ストレージ構成取得プログラム１２３３は業務ストレージ構成テーブル２１０００を生成する。
【０１７２】
具体的には、ホストが認識しているボリュームとストレージ側のボリュームの情報（ボリューム番号やＬＵＮなどの共有情報）を一致させることによって生成する。また、業務ＩＤもホストの業務プログラムから取得する。ただし、業務ＩＤをストレージ構成取得プログラム１２３３が取得できなければ、ユーザがこれを指定してもよい。
【０１７３】
図２２は、管理計算機のメモリに記録されている業務ポリシーテーブルを示す。業務ポリシーテーブル２２０００は、業務に対する識別子である業務ＩＤ２２０１０と、業務に関するポリシー２２０２０と、を有する。
【０１７４】
業務ポリシーには、性能重視、コスト重視を区別するフラグが設定され、ボリュームをストレージに設定するに、性能重視であれば、性能が高く、稼働率も低いストレージが容量提供ストレージとして選択される。コスト重視であれば、性能よりも、コストが低いストレージが選択される。
【０１７５】
図２３は、ホスト識別のテーブルを示す。ホスト識別テーブル２３０００は、ホスト１１００の識別子となるホストＩＤ２３０１０と、管理計算機１２００が管理ネットワーク１４００を介してホスト１１００にアクセスするために利用する情報であるＩＰアドレス２３０２０と、を有する。複数のＩＰアドレス２３０２０が登録されていてもよい。
【０１７６】
図２４はボリューム設定画面１６０００であり、図１６との相違点は、業務ＩＤ２４０００が存在し、一方、ストレージＩＤ１６１００が削除されている点である。
【０１７７】
管理計算機が図２４に示す要求を受けたとき、図１７のフローチャートの処理を実行する。その際、業務で利用しているボリュームの特性や構成を図２１の業務ストレージ構成テーブル２１０００より把握し、管理計算機に接続されているストレージにボリュームを作成する。この時、管理計算機は、図１６のようにストレージＩＤを指定しないが、図２１の情報によって、業務ＩＤを特定する。
【０１７８】
図２２に示す様に、業務ＩＤは業務ポリシーに対応しており、ユーザが、この業務ポリシーにしたがって、図２４に業務ＩＤを設定すると、この業務ＩＤに対応したストレージにボリュームが設定されることになる。この後、管理装置は、図１７のフローチャートを処理し、ボリュームを作成する。このように、ユーザは、業務のポリシーにしたがってボリュームをストレージに設定することができる。
【０１７９】
ステップ１７１１０においてエラーとなった後、新たなディスクを利用する以外に、記憶システムに存在している、容量に余裕がある他のストレージ（図１２に登録がない他のストレージ）を新たに外部接続可能ストレージとして図１２に登録した後、図１７のフローが最初から実行されてもよい。
【０１８０】
また、管理計算機は、外部接続が可能であれば、外部接続の方を優先するが、ネットワークにつながっていない等で他のストレージを外部接続ができない場合には、ディスク装填によってストレージの容量を増設する。
【０１８１】
また、第１のストレージについて容量を確保する場合、他の複数ストレージによって、初めて、それが可能である場合には、ディスク装填と外部接続の両方によって、ストレージの容量を確保できる場合もある。
【０１８２】
さらにまた、図７には閾値に関する設定がないが、ストレージが自動的にボリュームを作成・削除するような場合には閾値は有効である。
【０１８３】
さらにまた、第１のストレージにおいて記憶容量の確保は、プールとＲＡＩＤグループのどちらからも可能であるが、プールからの方を優先することが好ましい。
【０１８４】
なお、図１６において、ストレージＩＤがＳ２のストレージに１００Ｇの容量の仮想ボリュームを１０個作成することを説明したが、実ボリュームを作成することでもよいことは勿論である。この際、外部接続或いはディスク装填によって容量を他のストレージから確保できない場合には、図１７のフローチャートによって、エラー（１７１１０）が表示される。
【符号の説明】
【０１８５】
１０００…ストレージ
１１００…ホスト
１２００…管理計算機
【図１】
2011070345.tif 000003
【図２】
2011070345.tif 000004
【図３】
2011070345.tif 000005
【図４】
2011070345.tif 000006
【図５】
2011070345.tif 000007
【図６】
2011070345.tif 000008
【図７】
2011070345.tif 000009
【図８】
2011070345.tif 000010
【図９】
2011070345.tif 000011
【図１０】
2011070345.tif 000012
【図１１】
2011070345.tif 000013
【図１２】
2011070345.tif 000014
【図１３】
2011070345.tif 000015
【図１４】
2011070345.tif 000016
【図１５】
2011070345.tif 000017
【図１６】
2011070345.tif 000018
【図１７】
2011070345.tif 000019
【図１８】
2011070345.tif 000020
【図１９】
2011070345.tif 000021
【図２０】
2011070345.tif 000022
【図２１】
2011070345.tif 000023
【図２２】
2011070345.tif 000024
【図２３】
2011070345.tif 000025
【図２４】
2011070345.tif 000026
【図２５】
2011070345.tif 000027
【図２６】
2011070345.tif 000028