(57)【特許請求の範囲】
【請求項１】
計算機及び管理計算機と接続され、前記計算機によってアクセスされる記憶装置と、外部ストレージシステムに接続され、前記記憶装置を制御する制御部と、を備える主ストレージシステムを有し、
前記主ストレージシステムは、少なくとも一つの前記記憶装置の記憶領域に対応する記憶領域である第１の第１種論理デバイスと、前記外部ストレージシステムの記憶領域である第２の第１種論理デバイスと、仮想の記憶領域である仮想デバイスと、前記仮想デバイスが複数に分割されて前記計算機に対してアクセス対象となる複数の第２種論理デバイスと、が設定されており、
前記制御部は、
前記第１の第１種論理デバイスと前記第２の第１種論理デバイスとを含む特性が異なる二以上の第１種論理デバイスを、マッピングによって、ストレージプールの記憶領域として設定し、
前記ストレージプールにマッピングされている前記第１の第１種論理デバイス及び前記第２の第１種論理デバイスの記憶領域を前記仮想デバイスに割り当てることによって、前記計算機から送られるデータを前記第１の第１種論理デバイス又は前記第２の第１種論理デバイスに格納可能にし、
前記第２種論理デバイスを、前記計算機によってアクセス可能に設定し、
前記第２種論理デバイスの記憶領域の割り当てを、他の前記第１種論理デバイスの記憶領域に変更することによって、前記第２種論理デバイスの特性を変更することを特徴とするストレージシステム。
【請求項２】
前記第１の第１種論理デバイス又は前記第２の第１種論理デバイスを実領域化することを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記第１種論理デバイスは、遠隔地ストレージシステムに含まれる記憶装置の記憶領域を含むことを特徴とする請求項１に記載のストレージシステム。
【請求項４】
前記第１種論理デバイスは、テープ型記録媒体を用いる記憶装置の記憶領域を含むことを特徴とする請求項１に記載のストレージシステム。
【請求項５】
前記第１種論理デバイスは、ＡＴＡインターフェースによって接続される記憶装置の記憶領域を含むことを特徴とする請求項１に記載のストレージシステム。
【請求項６】
前記第１種論理デバイスは、ＦｉｂｒｅＣｈａｎｎｅｌインターフェースによって接続される記憶装置の記憶領域を含むことを特徴とする請求項１に記載のストレージシステム。
【請求項７】
前記第１種論理デバイスは、所定の容量毎に分割されたデータを連続した領域に記憶する記憶領域を含むことを特徴とする請求項１に記載のストレージシステム。
【請求項８】
前記第１種論理デバイスは、所定の容量毎に分割されたデータを並列にアクセス可能な記憶領域を含むことを特徴とする請求項１に記載のストレージシステム。
【請求項９】
前記第１種論理デバイスは、第３の第１種論理デバイスをさら含み、
前記制御部は、
前記第２種論理デバイスの記憶領域に割り当てられている前記第１及び第２の第１種論理デバイスの一方の第１種論理デバイスに格納されているデータを、前記一方の第１種論理デバイスとは特性が異なる前記第３の第１種論理デバイスにコピーし、
当該第２種論理デバイスの記憶領域の、前記一方の第１種論理デバイスの記憶領域への割り当てを解除し、
当該第２種論理デバイスの記憶領域を、前記第３の第１種論理デバイスの記憶領域に割り当てることによって、前記第２種論理デバイスの特性を変更することを特徴とする請求項１に記載のストレージシステム。
【請求項１０】
前記制御部は、
前記第２種論理デバイスの記憶領域に、前記一方の第１種論理デバイスの記憶領域が割り当てられているときに、
前記計算機から前記第２種論理デバイスへのアクセス特性及び前記一方の第１種論理デバイスの記憶領域の特性を取得し、
前記取得したアクセス特性及び前記取得した記憶領域の特性と予め設定した条件とを比較し、
前記比較結果が予め設定した条件を満たしている場合に、前記アクセス先の第２種論理デバイスの記憶領域の割り当てを前記第３の第１種論理デバイスの記憶領域に変更することによって、前記アクセス先の第２種論理デバイスの特性を変更することを特徴とする請求項９に記載のストレージシステム。
【請求項１１】
前記第１種論理デバイスは、所定の容量毎に分割されたデータを並列にアクセス可能な記憶領域に記憶する並列アクセス可能な第１種論理デバイスと、所定の容量毎に分割されたデータを連続した記憶領域に記憶する連続領域記憶の第１種論理デバイスとを含み、
前記制御部は
前記並列アクセス可能な第１種論理デバイス及び前記連続領域記憶の第１種論理デバイスを、マッピングによって、ストレージプール記憶領域として設定し、
前記第２種論理デバイスの記憶領域に割り当てられている前記並列アクセス可能な第１種論理デバイスに格納されているデータを前記連続領域記憶の第１種論理デバイスにコピーし、
当該第２種論理デバイスの記憶領域の、前記並列アクセス可能な第１種論理デバイスの記憶領域への割り当てを解除し、
当該第２種論理デバイスの記憶領域を、前記連続領域記憶の第１種論理デバイスの記憶領域に割り当てることによって、前記第２種論理デバイスの特性に変更することを特徴とする請求項１に記載のストレージシステム。
【請求項１２】
前記制御部は、
前記第２種論理デバイスの記憶領域に、前記並列アクセス可能な第１種論理デバイスの記憶領域が割り当てられているときに、
前記計算機から前記第２種論理デバイスへのアクセス特性及び前記並列アクセス可能な第１種論理デバイスの記憶領域の特性を取得し、
前記取得したアクセス特性及び前記取得した記憶領域の特性と予め設定した条件とを比較し、
前記比較結果が予め設定した条件を満たしている場合に、前記アクセス先の第２種論理デバイスの記憶領域の割り当てを前記連続領域記憶の第１種論理デバイスの記憶領域に変更することによって、前記アクセス先の第２種論理デバイスの特性を変更することを特徴とする請求項１１に記載のストレージシステム。
【請求項１３】
前記第１種論理デバイスは、第３の第１種論理デバイスを含み、
前記制御部は、
前記第２種論理デバイスの記憶領域に割り当てられている前記第１及び第２の第１種論理デバイスの一方の第１種論理デバイスに格納されているデータをストレージプールの記憶領域として設定されていない前記第３の第１種論理デバイスにコピーし、
前記第２種論理デバイスの記憶領域の、前記一方の第１種論理デバイスの記憶領域への割り当てを解除し、
当該第２種論理デバイスの記憶領域を、前記第３の第１種論理デバイスの記憶領域に割り当てることによって、前記第２種論理デバイスの特性を変更することを特徴とする請求項１に記載のストレージシステム。
【請求項１４】
前記制御部は、
前記第２種論理デバイスの記憶領域に、前記一方の第１種論理デバイスの記憶領域が割り当てられているときに、
前記計算機から前記第２種論理デバイスへのアクセス特性及び前記一方の第１種論理デバイスの記憶領域の特性を取得し、
前記取得したアクセス特性及び前記取得した記憶領域の特性と予め設定した条件とを比較し、
前記比較結果が予め設定した条件を満たしている場合に、前記アクセス先の第２種論理デバイスの記憶領域の割り当てを前記第３の第１種論理デバイスの記憶領域に変更することによって、前記アクセス先の第２種論理デバイスの特性を変更することを特徴とする請求項１３に記載のストレージシステム。
【請求項１５】
キャッシュメモリをさらに含み、
前記ストレージプールの移動の間において、前記計算機からのライト要求を受け付け、
前記制御部は、前記ストレージプールの移動の間において、前記キャッシュメモリが未反映ライトデータを格納しているか否かを判定し、
前記未反映のライトデータがあると判定した場合は、当該ライトデータを他の処理に優先して記憶装置の対応領域に書き込む、請求項１に記載のストレージシステム。
【請求項１６】
前記ストレージプールの移動中に前記計算機から前記ストレージプール内の領域へのライト要求があった場合、前記ライト要求に係る前記領域が既に移動が終了している領域である場合は、前記ライト要求のデータを移動元のストレージプールの領域及び移動先のストレージプールの領域に書き込み、
前記ライト要求に係る前記領域が未だ移動が終了していない領域である場合、前記ライト要求のデータを移動元のストレージプールの領域のみに書き込む、請求項１に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機が使用するデータを格納するストレージシステムに関し、特に、計算機からアクセスされる記憶領域の特性を変更できるストレージシステムに関する。
【背景技術】
【０００２】
従来のストレージシステムでは、記憶容量は搭載されるディスクドライブ等の物理的なデバイスの容量に依存する。従って、ストレージシステムに要求される記憶容量が大きければ、物理デバイスの搭載量も大きくなる。その一方で、ユーザからは、コストダウンや省スペース化という要望がある。
【０００３】
そのため、ストレージシステムの記憶容量を動的に変更させる仕組み急務となっている。このようなストレージシステムを実現する方法として、ホストから記憶装置の論理ボリュームへアクセスされるリードもしくはライトＩ／Ｏの論理ブロックアドレスを監視する。取得された論理ブロックアドレスを元に、論理ボリュームの記憶領域を動的に伸長する。また、ホストの命令部からボリュームサーバへ論理ボリュームの容量縮小／拡張の指示により論理ボリュームの記憶領域を縮小／拡張する記憶装置の容量自動拡張方法が知られている（例えば特許文献１参照。）。
【特許文献１】特開２００３−１５９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の技術では、ホストからアクセスされるデバイスの容量を動的に変更することは開示されているが、どのように応用するかは開示されていない。特にストレージシステムに仮想ボリュームを利用する場合に、仮想ボリュームにどのように論理デバイスを設定し、それをどのように利用するかは開示されていない。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、仮想ボリュームを利用したストレージシステムの記憶領域の特性を変更できる計算機システムを提供するものである。
【課題を解決するための手段】
【０００６】
本発明の一態様は、計算機及び管理計算機と接続され、前記計算機によってアクセスされる記憶装置と、外部ストレージシステムに接続され、前記記憶装置を制御する制御部と、を備える主ストレージシステムを有し、前記主ストレージシステムは、少なくとも一つの前記記憶装置の記憶領域に対応する記憶領域である第１の第１種論理デバイスと、前記外部ストレージシステムの記憶領域である第２の第１種論理デバイスと、仮想の記憶領域である仮想デバイスと、前記仮想デバイスが複数に分割されて前記計算機に対してアクセス対象となる複数の第２種論理デバイスと、が設定されており、前記制御部は、前記第１の第１種論理デバイスと前記第２の第１種論理デバイスとを含む特性が異なる二以上の第１種論理デバイスを、マッピングによって、ストレージプールの記憶領域として設定し、前記ストレージプールにマッピングされている前記第１の第１種論理デバイス及び前記第２の第１種論理デバイスの記憶領域を前記仮想デバイスに割り当てることによって、前記計算機から送られるデータを前記第１の第１種論理デバイス又は前記第２の第１種論理デバイスに格納可能にし、前記第２種論理デバイスを、前記計算機によってアクセス可能に設定し、前記第２種論理デバイスの記憶領域の割り当てを、他の前記第１種論理デバイスの記憶領域に変更することによって、前記第２種論理デバイスの特性を変更することを特徴とするストレージシステムである。
【発明の効果】
【０００７】
本発明によると、計算機がアクセスする仮想ボリュームと論理デバイスとの割り当てを変更して仮想ボリュームの記憶領域を変更することによって、仮想ボリュームの記憶領域を動的に変更することができる。このようにすることによって、ストレージシステムに備えられた物理デバイスの特性を変更することができ、計算機システムにおけるデータのアクセスの自由度が高まる。
【発明を実施するための最良の形態】
【０００８】
以下に、図面を用いて、本発明の実施の形態について説明する。
【０００９】
図１は本発明の実施の形態の計算機システムの構成ブロック図である。
【００１０】
本実施例の計算機システムは、ホスト計算機１０とストレージシステム管理装置２０とがストレージシステム３０に接続されている。
【００１１】
ホスト計算機１０は、ストレージシステム３０の記憶領域のデータをアクセスする。ストレージシステム管理装置２０は、ストレージシステム３０の記憶領域の構成を管理する。ストレージシステム３０は、物理デバイス３４を備え、物理デバイス３４に設定された記憶領域にデータを格納する。
【００１２】
ホスト計算機１０は、入力手段１１０、出力手段１２０、ＣＰＵ１３０、メモリ１４０、ディスクアダプタ１５０、ネットワークアダプタ１６０及びディスクドライブ１７０を備える。
【００１３】
入力手段１１０は、ホスト計算機１０を操作する管理者等の入力を受け付ける手段である。入力手段１１０は、例えばキーボードで構成される。出力手段１２０は、ホスト計算機１０の状態や設定項目を表示する手段である。出力手段１２０は、例えばディスプレイ装置で構成される。
【００１４】
ＣＰＵ１３０は、ディスクドライブ１７０に格納されているプログラムをメモリ１４０に読み込んで、そのプログラムに規定された処理を実行する。メモリ１４０は、例えばＲＡＭ等で構成され、プログラムやデータ等を格納する。
【００１５】
ディスクアダプタ１５０は、ストレージシステム３０とストレージネットワーク５０を介して接続し、ストレージシステム３０にデータを送受信する。ストレージネットワーク５０は、データ転送に適したプロトコル（例えば、Fibre Channel）で構成される。
【００１６】
ネットワークアダプタ１６０は、ストレージシステム管理装置２０又はストレージシステム３０と管理ネットワーク４０を介してデータを送受信する。管理ネットワーク４０は、例えばＥｔｈｅｒｎｅｔ（登録商標、以下同じ）で構成される。
【００１７】
ディスクドライブ１７０は、例えばハードディスク装置で構成され、データやプログラムを格納する。
【００１８】
ストレージシステム管理装置２０は、入力手段２１０、出力手段２２０、ＣＰＵ２３０、メモリ２４０、ネットワークアダプタ２５０及びディスクドライブ２６０を備える。
【００１９】
入力手段２１０は、ストレージシステム管理装置２０を操作する管理者等の入力を受け付ける手段である。入力手段２１０は、例えばキーボードで構成される。出力手段２２０は、ストレージシステム管理装置２０の状態や設定項目を表示する手段である。出力手段２２０は、例えばディスプレイ装置で構成される。
【００２０】
ＣＰＵ２３０は、ディスクドライブ２６０に格納されているプログラムをメモリ２４０に読み込んで、そのプログラムに規定された処理を実行する。メモリ２４０は、例えばＲＡＭ等で構成され、プログラムやデータ等を格納する。
【００２１】
ネットワークアダプタ２５０は、ホスト計算機１０又はストレージシステム３０と管理ネットワーク４０を介してデータを送受信する。
【００２２】
ディスクドライブ２６０は、例えばハードディスク装置で構成され、データやプログラムを格納する。
【００２３】
ストレージシステム３０は、コントローラ３１、ストレージキャッシュメモリ３２、共有メモリ３３、物理デバイス（ＰＤＥＶ）３４、電源スイッチ３５及び電源３６を備える。
【００２４】
コントローラ３１は、ＰＤＥＶ３４に構成された記憶領域へのデータの格納を制御する。
【００２５】
ストレージキャッシュメモリ３２は、ＰＤＥＶ３４に読み書きされるデータを一時的に格納する。共有メモリ３３は、コントローラ３１やＰＤＥＶ３４の構成情報を格納する。
【００２６】
ＰＤＥＶ３４は、複数のディスク装置によって構成される。
【００２７】
電源３６は、ストレージシステム３０の各部に電力を供給する。電源スイッチ３５は、電源３６からの電力の供給をＯＮ／ＯＦＦするスイッチである。
【００２８】
コントローラ３１は、ホストアダプタ３１０、ネットワークアダプタ３２０、不揮発性メモリ３３０、電源制御部３４０、メモリ３５０、プロセッサ３６０、ストレージアダプタ３７０及び共有メモリアダプタ３８０によって構成される。
【００２９】
ホストアダプタ３１０は、ストレージネットワーク５０を介してホスト計算機１０との間でデータを送受信する。ネットワークアダプタ３２０は、管理ネットワーク４０を介してホスト計算機１０又はストレージシステム管理装置２０との間でデータを送受信する。
【００３０】
不揮発性メモリ３３０は、ハードディスクやフラッシュメモリで構成され、コントローラ３１で動作するプログラムや構成情報等を格納する。
【００３１】
電源制御部３４０は、電源３６から供給される電力を制御する。
【００３２】
メモリ３５０は、例えばＲＡＭ等で構成され、プログラムやデータ等を格納する。
【００３３】
プロセッサ３６０は、不揮発性メモリ３３０に格納されているプログラムをメモリ３５０に読み込んで、そのプログラムに規定された処理を実行する。
【００３４】
ストレージアダプタ３７０は、ＰＤＥＶ３４及びストレージキャッシュメモリ３２との間でデータを送受信する。
【００３５】
共有メモリアダプタ３８０は、共有メモリ３３との間でデータを送受信する。
【００３６】
次に、ストレージプールについて説明する。
【００３７】
図２は、本実施例の計算機ステムにおける記憶領域の説明図である。
【００３８】
ホスト計算機１０は、ストレージシステム３０のボリュームをあて先として記憶領域にアクセスする。このボリュームは、何れかのＬＤＥＶが設定されている。
【００３９】
ストレージシステム３０において、ＰＤＥＶ３４からＲＡＩＤ構成によってＲＡＩＤグループが構成される。このＲＡＩＤグループから仮想デバイス（ＶＤＥＶ）４００が構成される（Ｓ１０１）。ＶＤＥＶ４００は記憶領域である複数の論理デバイス（ＬＤＥＶ）５００に分割されている。
【００４０】
なお、このＰＤＥＶ３４から構成されたＶＤＥＶを、以降は「第１種ＶＤＥＶ」と呼ぶ。この第１種ＶＤＥＶに含まれるＬＤＥＶを、以降は「第１種ＬＤＥＶ」と呼ぶ。
【００４１】
ホスト計算機１０は、ストレージシステム３０のボリュームをあて先としてアクセスする。ホスト計算機１０から見えるボリュームを「ターゲットデバイス」と呼ぶ。ターゲットデバイス７００は、第１種ＬＤＥＶ５００を含むボリュームにホスト計算機１０へのパス（アクセス経路）を定義して設定される（Ｓ１０２）。
【００４２】
なお、ストレージシステム３０の外部に接続されている外部装置、例えば、外部物理デバイス（ＥＤＥＶ）６００、テープライブラリ８００又は遠隔地ストレージシステム９００等を、ＰＤＥＶ３４と同様に扱うこともできる。すなわち、ＲＡＩＤ構成によって一以上の外部装置から複数の第１種ＶＤＥＶ４００が構成される（Ｓ１０３）。第１種ＤＥＶ４００は一つ以上の記憶領域である第１種ＬＤＥＶ５００に分割されている。この第１種ＬＤＥＶ５００にホスト計算機１０へのパスを設定して、ターゲットデバイス７００が設定される（Ｓ１０４）。
【００４３】
また、ストレージシステム３０において、第２種ＶＤＥＶ４０１を設定できる。第２種ＶＤＥＶとは、ＰＤＥＶ３４によって構成される第１種ＶＤＥＶとは異なり、アドレスと領域を持っているがＰＤＥＶ３４に対応する領域は持っていない仮想的なデバイスである。なお、第２種ＶＤＥＶに対応するキャッシュメモリの領域は持つことができる。この第２種ＶＤＥＶ４０１には、一つ以上の記憶領域であるＬＤＥＶが構成されている。このＬＤＥＶを２種ＬＤＥＶ５０１と呼ぶ。
【００４４】
この第２種ＬＤＥＶ５０１にホスト計算機１０へのパスを設定して、ターゲットデバイス７０１が設定される（Ｓ１１０）。このターゲットデバイスを仮想ボリュームと呼ぶ。
【００４５】
第２種ＶＤＥＶ及び第２種ＬＤＥＶは、物理的な実体を持っていない。これをホスト計算機１０が使用するためには、第２種ＬＤＥＶを、ストレージプールに関連付ける必要がある。ストレージプールとは、第１種ＬＤＥＶによって構成される集合であり、仮想的なデバイスである第２種ＬＤＥＶ４０１のストレージプールの記憶領域、すなわち第１種ＬＤＥＶに割り当てることによって、第２種ＬＤＥＶ４０１が第１種ＬＤＥＶの記憶領域として使用可能となる。すなわち、第２種ＬＤＥＶと設定すると、第２種ＬＤＥＶとストレージプールとの割り当てを変更することによって、ターゲットデバイスの記憶領域の特性（例えば、容量、アクセス特性等）を変更することができる。
【００４６】
ストレージプールは、前述した第１種ＬＤＥＶ５００をストレージプールの属性に設定することで構成される（Ｓ１１２）。このストレージプールに設定された第１種ＬＤＥＶ５００を第２種ＬＤＥＶ５０１に関連付け、アドレスをマッピングする（Ｓ１１１）。これによって、ホスト計算機１０が、仮想ボリュームの記憶領域である第２種ＬＤＥＶを使用できる。また、第１種ＬＤＥＶと第２種ＬＤＥＶとのマッピングを変更することで、仮想ボリュームの記憶領域を変更できる。
【００４７】
なお、以降は、「ＶＤＥＶ」とのみ表記したる場合は、第１種ＶＤＥＶ及び第２種ＶＤＥＶを含むことを意図する。同様に、「ＬＤＥＶ」とのみ表記したる場合は、第１種ＬＤＥＶ及び第２種ＬＤＥＶを含むことを意図する。
【００４８】
図３は、ストレージシステム３０のコントローラ３１のメモリ３５０のブロック図である。
【００４９】
メモリ３５０には、プロセッサ３６０によって読み込まれて実行される各種プログラムや、ＬＤＥＶの設定に関する構成情報３５１及びストレージプールの設定に関するプール情報３５２が格納される。
【００５０】
コマンド制御プログラム３５０１は、ホスト計算機１０又はストレージシステム管理装置２０からのコマンドを解釈し、そのコマンドに規定された処理を実行する。
【００５１】
パス制御プログラム３５０２は、ホスト計算機１０との間のパスを設定する。
【００５２】
構成制御プログラム３５０３は、ストレージシステム３０の構成を制御する。
【００５３】
ホストアダプタ制御プログラム３５０４は、ホストアダプタ３１０の入出力するデータを制御する。
【００５４】
ディスクＩ／Ｏプログラム３５０５は、ＰＤＥＶ３４へのアクセスを制御する。
【００５５】
ネットワーク制御プログラム３５０６は、ストレージネットワーク５０又は管理ネットワーク４０を介して送受信するデータを制御する。
【００５６】
プール制御プログラム３５０７は、ストレージプールを設定する。
【００５７】
電源制御プログラム３５０８は、電源３６の供給する電力のＯＮ／ＯＦＦを制御する。
【００５８】
キャッシュ制御プログラム３５０９は、ストレージキャッシュメモリ３２の領域及びデータを制御する。
【００５９】
ドライブ診断プログラム３５１０は、ＰＤＥＶ３４の各ディスク装置の状態を診断する。
【００６０】
ディスクマイグレーションプログラム３５１９は、ストレージプールの移動に関する処理を実行する。
【００６１】
構成情報３５１は、ストレージシステム３０のＶＤＥＶ及びＬＤＥＶに関する設定を格納する。
【００６２】
プール情報３５２は、ストレージプールに関する設定を格納する。
【００６３】
構成情報３５１は、アドレス管理テーブル３５１１、ＬＤＥＶ管理情報３５１２、ターゲットデバイス情報３５１３、ＶＤＥＶ管理情報３５１４、プール属性テーブル３５１６及びプランニングデータ３５１７を含む。
【００６４】
アドレス管理テーブル３５１１は、ターゲットデバイスとＬＤＥＶとＶＤＥＶと物理デバイスとのアドレスのマッピング情報を格納する。アドレス管理テーブル３５１１は、ターゲットデバイス−ＬＤＥＶマッピング情報３５１１１、ＬＤＥＶ−ＶＤＥＶマッピング情報３５１１２及びＶＤＥＶ−ＰＤＥＶマッピング情報３５１１３を含む。
【００６５】
プール特性テーブル３５１６は、ストレージプールの特性を示す。
【００６６】
プランニングデータ３５１７は、プランニング実行の条件として予め設定されたプランニングデータを格納する。
【００６７】
ＬＤＥＶ管理情報３５１２は、ＬＤＥＶに関する情報を格納する。
【００６８】
ターゲットデバイス管理情報３５１３は、ホスト計算機１０とでパスの設定されたボリュームのＬＤＥＶの情報を格納する。
【００６９】
ＶＤＥＶ管理情報３５１４は、仮想論理ボリュームに関する情報を格納する。
【００７０】
プール情報３５２は、ＰＯＯＬ管理情報３５２１、ＰＯＯＬ−ＶＯＬ管理情報３５２２、ＶＶＯＬ−ＤＩＲ３５２３、ＰＳＣＢ３５２４及びＳＹＳ領域情報３５２５を含む。
【００７１】
ＰＯＯＬ管理情報３５２１は、ストレージプールの設定を格納する。ＰＯＯＬ−ＶＯＬ管理情報３５２２は、ストレージプールのボリュームの情報を格納する。ＶＶＯＬ−ＤＩＲ３５２３は、ストレージプールのＬＤＥＶのアドレスの割り当てを格納する。ＰＳＣＢ情報は、ストレージプールのＬＤＥＶのアドレスの情報を格納する。ＳＹＳ領域情報３５２５は、ストレージシステム３０の構成情報を格納するＬＤＥＶの情報を格納する。
【００７２】
図４は、ストレージシステム管理装置２０の構成のより詳細なブロック図である。
【００７３】
ストレージシステム管理装置２０は、前述のように入力手段２１０、出力手段２２０、ＣＰＵ２３０、メモリ２４０、ネットワークアダプタ２５０及びディスクドライブ２６０を備える。
【００７４】
入力手段２１０は入力装置２１１を備える。また出力手段２２０は出力装置２２１を備える。
【００７５】
メモリ２４０は、半導体メモリ２４１を備える。またディスクドライブ２６０は、光ディスクドライブ２４２、磁気ディスクドライブ２４３を備える。
【００７６】
ＣＰＵ２３０は、光ディスクドライブ２４２又は磁気ディスクドライブ２４３からプログラムや構成情報を半導体メモリ２４１に読み出して、そのプログラムに規定された処理を実行する。
【００７７】
これら入力手段２１０、出力手段２２０、ＣＰＵ２３０、メモリ２４０、ネットワークアダプタ２５０及びディスクドライブ２６０は、バス２７０によって接続されている。
【００７８】
メモリ２４０には、ストレージシステム構成情報２４０１、記憶装置システム管理プログラム２４０２、ストレージ構成管理プログラム２４０３、ＰＯＯＬ管理プログラム２４０４、ストレージシステム保守プログラム２４０５及びＯＳ２４０６が読み込まれて動作している。
【００７９】
ＯＳ２４０６は、ストレージシステム管理装置２０の基本プログラムである。その他のプログラムはこのＯＳ２４０６上で動作する。
【００８０】
ストレージシステム構成情報２４０１は、ストレージシステム３０の構成に関する情報を格納する。
【００８１】
記憶装置システム管理プログラム２４０２は、ストレージシステム３０に設定される論理ボリュームによって構成される記憶装置の構成を管理する。
【００８２】
記憶装置システム管理サーバプログラム２４０３は、ストレージシステム３０に設定される論理デバイスによって構成される記憶装置の構成の管理を受け付ける。
【００８３】
ストレージ構成管理プログラム２４０４は、ストレージシステム３０の構成を管理する。そしてその構成情報をストレージシステム構成情報２４０１に格納する。
【００８４】
ＰＯＯＬ管理プログラム２４０５は、ストレージシステム３０のストレージプールの
構成を管理する。
【００８５】
ストレージシステム保守プログラム２４０６は、ストレージシステム３０の保守をする。
【００８６】
ストレージシステム管理装置２０は、これらのプログラムによって、ストレージシステム３０に構成の設定や変更、保守を実行する。
【００８７】
なお、このメモリ２４０に格納される各プログラムや情報は、ホスト計算機１０のメモリ１４０に備えられていてもよい。すなわちホスト計算機１０のメモリ１４０に格納されたプログラムによって、ストレージシステム３０の構成の設定や変更を実行してもよい。
【００８８】
このとき、ホスト計算機１０は、ストレージシステム３０のコマンドデバイスをあて先としてコマンドを送信する。コマンドデバイスとは、ストレージシステム３０のターゲットデバイスの何れかに予め設定される。ストレージシステム３０は、ホスト計算機１０からコマンドデバイスをあて先とするＩ／Ｏ要求を受け取ると、それを指示コマンドと解釈する。
【００８９】
図５は、ターゲットデバイスとＬＤＥＶ及びＰＤＥＶとの説明図である。
【００９０】
ホスト計算機１０は、ストレージシステム３０に設定されたターゲットデバイス７００をアクセスする。ターゲットデバイス７００の記憶領域は、ターゲットデバイス７００として設定された第１種ＬＤＥＶ５００である。
【００９１】
第１種ＬＤＥＶ５００は、物理ボリュームからＲＡＩＤ構成によって構成された第１種ＶＤＥＶ４００の領域である。第１種ＶＤＥＶ４００が一つ以上の第１種ＬＤＥＶ５００に分割されている。
【００９２】
また、ホスト計算機１０は、ストレージシステム３０に設定された仮想ボリュームをターゲットデバイス７０１としてアクセスする。このターゲットデバイス７０１の記憶領域は第２種ＬＤＥＶ５０１である。
【００９３】
第２種ＬＤＥＶ５０１は、ストレージプールとして設定されている第１種ＬＤＥＶ５００に関連付けられている。
【００９４】
ホスト計算機１０が、仮想ボリュームであるターゲットデバイス７０１にアクセスする。この仮想ボリュームの記憶領域は第２種ＬＤＥＶ５０１である。ストレージシステム３０は、第２種ＬＤＥＶ５０１へのアクセスを受け付けると、アドレス管理テーブル３５１１を参照して、第２種ＬＤＥＶ５０１に関連付けられている第１種ＬＤＥＶ５００をアクセス先に変換する。
【００９５】
図６は、アドレス管理テーブルの説明図である。
【００９６】
アドレス管理テーブル３５１１は、ターゲットデバイスとＬＤＥＶとＶＤＥＶと物理デバイスとのアドレスのマッピング情報を格納する。
【００９７】
アドレス管理テーブル３５１１は、ターゲットデバイス−ＬＤＥＶマッピング情報３５１１１、ＬＤＥＶ−ＶＤＥＶマッピング情報３５１１２及びＶＤＥＶ−ＰＤＥＶマッピング情報３５１１３を含む。
【００９８】
ターゲットデバイス−ＬＤＥＶマッピング情報３５１１１は、ターゲットデバイスのアドレスとＬＤＥＶのアドレスとの対応が格納される。
【００９９】
より具体的には、ターゲットデバイス−ＬＤＥＶマッピング情報３５１１１は、ポート番号３５１１１１と、ターゲットデバイス装置番号３５１１１及びターゲットデバイスアドレス３５１１１３と、ＬＤＥＶ装置番号３５１１１４及びＬＤＥＶアドレス３５１１１５と、の対応を格納する。
【０１００】
ＬＤＥＶ−ＶＤＥＶマッピング情報３５１１２は、ＬＤＥＶのアドレスとＶＤＥＶのアドレスの対応関係が格納される。
【０１０１】
より具体的には、ＬＤＥＶ−ＶＤＥＶマッピング情報３５１１２は、ＬＤＥＶ番号３５１１２１及びＬＤＥＶアドレス３５１１２２と、ＶＤＥＶ装置番号３５１１２３及びＶＤＥＶアドレス３５１１２４との対応を格納する。
【０１０２】
ＶＤＥＶ−ＰＤＥＶマッピング情報３５１１３は、ＶＤＥＶのアドレスとそのＲＡＩＤグループ番号（又はパリティグループ）とＰＤＥＶのアドレスとの対応関係が格納される。
【０１０３】
より具体的には、ＶＤＥＶ−ＰＤＥマッピング情報３５１１３は、ＶＤＥＶ装置番号３５１１３１及びＶＤＥＶアドレス３５１１３２と、ＲＡＩＤグループ番号３５１１３３、そのＲＡＩＤグループを構成するデータ領域のディスク装置番号３５１１３４並びにディスク装置内アドレス３５１１３５及びそのＲＡＩＤグループを構成するパリティ領域のディスク装置番号３５１１３６並びにディスク装置内アドレス３５１１３７と、当該ＶＤＥＶがプールに割り当てられているときにそのプールの識別子３５１１３８及びＰＯＯＬ内アドレス３５１１３９と、当該ＶＤＥＶが外部ストレージ装置である場合に、当該ストレージ装置の識別番号３５１１４０及び当該ストレージ装置内のアドレス３５１１４１と、の対応を格納する。
【０１０４】
ストレージシステム３０は、このアドレス管理テーブルを参照することによって、ターゲットデバイスのアドレスがどのＬＤＥＶのどのアドレスであるかを知ることができる。また、ＬＤＥＶのアドレスがどのＶＤＥＶのどのアドレスであるかを知ることができる。また、ＶＤＥＶのアドレスがどのＲＡＩＤグループに属しており、どのＰＤＥＶのどのアドレスであるかを知ることができる。
【０１０５】
図７は、ＶＶＯＬ−ＤＩＲ３５２３及びＰＳＣＢ３５２４の説明図である。
【０１０６】
ＶＶＯＬ−ＤＩＲ３５２３は、仮想ボリュームの記憶領域である第２種ＬＤＥＶの構成の情報である。ＰＳＣＢ（POOL Slot Control Brock）３５２４は、ストレージプールに設定された第１種ＬＤＥＶの構成の情報である。
【０１０７】
前述のように、ストレージシステム３０は、ＰＤＥＶ３４からＲＡＩＤ構成によって第１種ＶＤＥＶを構成する。この第１種ＶＤＥＶを、記憶領域である第１種ＬＤＥＶに分割する。そして、この第１種ＬＤＥＶをストレージプールに設定する。このストレージプールに設定された第１種ＬＤＥＶによって構成されるボリュームをＰＯＯＬ−ＶＯＬ９００とする。
【０１０８】
また、ストレージシステム３０は、仮想ボリューム（ＶＶＯＬ）を設定する。この仮想ボリュームを記憶領域である第２種ＬＤＥＶに分割する。
【０１０９】
ストレージシステム３０は、ＶＶＯＬ８００の第２種ＬＤＥＶを、ＰＯＯＬ−ＶＯＬ９００の第１種ＬＤＥＶに割り当てる。これによって、ホスト計算機１０がアクセスする仮想ボリュームの記憶領域が、物理デバイスであるＰＤＥＶ３４から構成された第１種ＬＤＥＶに設定される。
【０１１０】
仮想ボリュームの構成は、ＶＶＯＬ−ＤＩＲ３５２３に格納される。
【０１１１】
ＶＶＯＬ−ＤＩＲ３５２３は、ＬＤＥＶ番号（ＬＤＥＶ＃）３５２３１、ＰＯＯＬ使用量３５２３２及びエントリ３５２３３によって構成される。
【０１１２】
ＬＤＥＶ番号（ＬＤＥＶ＃）３５２３１は第２種ＬＤＥＶの識別子である。
【０１１３】
ＰＯＯＬ使用量は、当該仮想ボリュームに割り当てられたＰＯＯＬの使用量であり、ＰＳＣＢ３５２４の個数が格納される。
【０１１４】
エントリ３５２３３は、第２種ＬＤＥＶの構成情報である。エントリ３５２３３は、ＶＯＬアドレス３５２３３１、移動中フラグ３５２３３２、ＰＳＣＢポインタ（移動前）３５２３３３及びＰＳＣＢポインタ（移動後）３５２３３４を含む。
【０１１５】
ＶＶＯＬアドレス３５２３３１は、ＶＶＯＬの第２種ＬＤＥＶのアドレスが格納される。
【０１１６】
移動中フラグ３５２３３２は、後述するデータマイグレーション処理において、当該ＶＶＯＬの当該領域が移動中である場合に設定される。
【０１１７】
ＰＳＣＢポインタ（移動前）３５２３３３及びＰＳＣＢポインタ（移動後）３５２３３４は、第２種ＬＤＥＶがＰＯＯＬ−ＶＯＬ９００の第１種ＬＤＥＶに割り当てられた場合に、その第１種ＬＤＥＶの領域のポインタが格納される。またさらに、後述するデータマイグレーション処理によって、当該ＶＶＯＬの当該領域が移動された場合は、その移動前のＰＳＣＢポインタ及び移動後のＰＳＣＢポインタがそれぞれ格納される。
【０１１８】
なお、初期状態では第２種ＬＤＥＶは第１種ＬＤＥＶに割り当てられていないので、ＰＳＣＢポインタ（移動前）３５２３３及びＰＳＣＢポインタ（移動後）３５２３３４には、それぞれ「ＮＵＬＬ」が格納される。
【０１１９】
ＰＳＣＢ（POOL Slot Control Brock）３５２４は、ストレージプールに設定されている第１種ＬＤＥＶの情報である。このＰＳＣＢ３５２４は、ストレージプールに設定されている第１種ＬＤＥＶのスロット毎に設定される。
【０１２０】
ＰＳＣＢ３５２４は、ＬＤＥＶ番号（ＬＤＥＶ＃）３５２４１、ＰＯＯＬ−ＶＯＬアドレス３５２４２、ＰＳＣＢ前方ポインタ３５２４３及びＰＳＣＢ後方ポインタ３５２４４から構成される。
【０１２１】
ＬＤＥＶ番号（ＬＤＥＶ＃）３５２４２は、ＰＯＯＬ−ＶＯＬでの第１種ＬＤＥＶの識別子である。ＰＯＯＬ−ＶＯＬアドレス３５２４２は、ＰＯＯＬ−ＶＯＬ９００における第１種ＬＤＥＶのアドレスである。
【０１２２】
ＰＳＣＢ前方ポインタ３５２４３及びＰＳＣＢ後方ポインタ３５２４４は、ＰＯＯＬ−ＶＯＬ９００内の第１種ＬＤＥＶの前後のスロットの識別子である。
【０１２３】
また、ＰＯＯＬ−ＶＯＬ９００の領域のうち、未使用の領域は、その先頭がフリーＰＳＣＢキュー３５２４０で示される。フリーＰＳＣＢキュー３５２４０は、次のスロットを示すＰＳＣＢ３５２４へのポインタを含む。
【０１２４】
ストレージシステム３０は、フリーＰＳＣＢキュー３５２４０に示されたポインタを参照して、次のＰＳＣＢ３５２４を得る。さらに、得られた次のＰＳＣＢ３５２４のＰＳＣＢ後方ポインタ３５２４５を参照して、段階的にＰＳＣＢ３５２４を辿る。そして、その未使用の領域の最終のスロットに対応するＰＳＣＢ３５２４を得る。この最後のＰＳＣＢ３５２４のＰＳＣＢ後方ポインタ３５２４４はフリーＰＳＣＢキュー３５２４０である。ストレージシステム３０は、フリーＰＳＣＢキュー３５２４０を辿り、ＰＳＣＢ３５２４のポインタによって連結された集合によって、ストレージプールのＰＯＯＬ−ＶＯＬ９００の未使用の領域を知ることができる。
【０１２５】
ストレージシステム３０は、ストレージプールに設定された第１種ＬＤＥＶに対応するＰＳＣＢ３５２４を設定する。具体的には、ストレージプールに設定された第１種ＬＤＥＶの各スロットに対応するＰＳＣＢ３５２４を設定し、さらにフリーＰＳＣＢキュー３５２４０を設定する。初期状態ではストレージプールは全て未使用であるため、フリーＰＳＣＢキュー３５２４０によって連結される集合は、ストレージプールに設定された第１種ＬＤＥＶの全ての領域に対応する。
【０１２６】
そして、ストレージシステム３０は、このストレージプールの領域を使用する場合に、必要なスロット分のＰＳＣＢ３５２４を第２種ＬＤＥＶであるＶＶＯＬ−ＤＩＲ３５２３に割り当てることで、当該領域が使用可能となる。具体的には、ストレージシステム３０は、フリーＰＳＣＢキュー３５２４０を参照する。そして、第２種ＬＤＥＶに割り当てる必要な領域分のＰＳＣＢ３５２４を取得する。この取得したＰＳＣＢ３５２４を、それぞれＶＶＯＬ−ＤＩＲ３５２３のエントリに割り当てる。すなわち、ＶＶＯＬ−ＤＩＲ３５２３の各エントリのＰＳＣＢポインタ３５２３４に、対応するＰＳＣＢ３５２４を示すポインタを格納する。なお、割り当て済みのＰＳＣＢ３５２４は、フリーＰＳＣＢキュー３５２４０の連結から外す。
【０１２７】
これによって、第２種ＬＤＥＶの各スロットが、ＶＶＯＬ−ＤＩＲ３５２３の各エントリのＰＳＣＢポインタ３５２３４で示されるＰＳＣＢ３４２４に割り当てられる。ＰＳＣＢ３５２４は第１種ＬＤＥＶのスロットに対応しているので、結果として、第２種ＬＤＥＶが第１種ＬＤＥＶに割り当てられ、ホスト計算機１０のアクセス対象である仮想ボリュームが物理デバイスとして使用可能となる。
【０１２８】
図８は、ＰＳＣＢ３５２４の連結の一例の説明図である。
【０１２９】
ＰＯＯＬ−ＶＯＬ９００の第１種ＬＤＥＶのＰＳＣＢ３５２４の連結にはいくつかの方法がある。
【０１３０】
図８の例では、同一のＰＯＯＬ−ＶＯＬの第１種ＬＤＥＶの各スロットを連続して連結する。この連結方法をシーケンシャル構成と呼ぶ。このように設定することで、ＰＯＯＬ−ＶＯＬは、第１種ＬＤＥＶ上の連続した領域となる。このようにすることによって、ホスト計算機１０が、複数のＬＤＥＶにまたがるような大きなデータを格納した場合には、ストレージシステム３０では、一つのＰＯＯＬ−ＶＯＬのみのアクセスとなり、アクセス速度が向上する。
【０１３１】
図９は、ＰＳＣＢ３５２４の連結の他の例の説明図である。
【０１３２】
図９の例では、異なるＰＯＯＬ−ＶＯＬ９００に渡って分散して第１種ＬＤＥＶの各スロットを連結する。この連結方法をランダム構成と呼ぶ。このようにすることによって、ホスト計算機１０が、ＬＤＥＶの全体の容量を超えない比較的小さなデータを多数格納する場合には、ストレージシステム３０では、異なる第１種ＬＤＥＶに並列したアクセスとなり、アクセス速度が向上する。
【０１３３】
このように、ストレージシステム３０は、アクセスされるデータに適したＰＳＣＢ３５２４の連結方法を採ることができる。
【０１３４】
次に、第２種ＬＤＥＶを第１種ＬＤＥＶに割り当てて、ストレージプールに関連付ける処理を説明する。
【０１３５】
図１０は、第２種ＬＤＥＶの設定のフローチャートである。
【０１３６】
この処理は、ストレージシステム管理装置２０のストレージ構成管理プログラム２４０４によって実行される。この処理によってストレージプールに関連付けられた第２種ＬＤＥＶを、ストレージプールに設定された第１種ＬＤＥＶに割り当てることで、ホスト計算機１０が仮想ボリュームを記憶領域として使用できる。
【０１３７】
まず、管理者は、入力手段２１０を操作して、ストレージプールのＰＯＯＬ−ＶＯＬの識別子であるＰＯＯＬ−ＩＤ及び関連付ける第２種ＬＤＥＶのＬＤＥＶ番号を設定する（Ｓ３００１）。
【０１３８】
ストレージ構成管理プログラム２４０４は、設定された情報を含むストレージプール関連付けの指示コマンドを生成する。生成した指示コマンドをネットワークアダプタ２５０を介してストレージシステム３０に送信する（Ｓ３００２）。
【０１３９】
ストレージシステム３０において、ストレージシステム管理装置２０から送信された指示コマンドは、ネットワークアダプタ３２０を介してコマンド制御プログラム３５０１が受信する（Ｓ３００３）。コマンド制御プログラム３５０１は、受信した指示コマンドの内容を確認する。指示コマンドの内容が無効である場合はこれを拒否する（Ｓ３００４）。
【０１４０】
コマンド制御プログラム３５０１は、指示コマンドがストレージプール関連付けである場合は、プール制御プログラム３５０７に受信した指示コマンドを渡す。プール制御プログラム３５０７は指示コマンドを受け取って、第２種ＬＤＥＶ設定処理を実行する（Ｓ３００５）。
【０１４１】
まず、プール制御プログラム３５０７は、指示コマンドに係るＬＤＥＶ番号の第２種ＬＤＥＶのＶＶＯＬ−ＤＩＲ３５２３を作成する（Ｓ３００６）。具体的には、ＶＶＯＬ−ＤＩＲ３５２３のＬＤＥＶ＃３５２３１に当該ＬＤＥＶ番号を格納する。そして、そのＬＤＥＶ番号の各スロットに対応するＶＶＯＬ−ＤＩＲ３５２３のエントリ３５２３３を作成する。
【０１４２】
次に、プール制御プログラム３５０７は、ＬＤＥＶ管理情報３５１２を参照して、指示コマンドに係る第２種ＬＤＥＶのＬＤＥＶ固有情報を取得する。そして、取得したＬＤＥＶ固有情報に、指示コマンドに係るＰＯＯＬ−ＩＤを設定する（Ｓ３００７）。
【０１４３】
次に、プール制御プログラム３５０７は、ＰＯＯＬ管理情報３５２１を参照して、指示コマンドに係るＰＯＯＬ−ＩＤのＰＯＯＬ固有情報を設定する（Ｓ３００８）。具体的には、ＰＯＯＬ固有情報のＰＯＯＬを利用しているデバイス数及びＰＯＯＬを利用しているデバイス番号に、指示コマンドに係る仮想ボリュームに含まれる第２種ＬＤＥＶの情報を設定する。
【０１４４】
ストレージプールの関連付け後、構成制御プログラム３５０３は、ストレージシステム管理装置２０に、コマンドが成功した旨の応答を送信する（Ｓ３００９）。ストレージシステム管理装置２０のストレージ構成管理プログラム２４０４は、ストレージシステム３０からの応答を受信すると（Ｓ３０１０）、処理を終了する。
【０１４５】
この処理によって仮想ボリュームである第２種ＬＤＥＶがストレージプールに関連付けられる。
【０１４６】
図１１は、ストレージプールの特性を示すプール特性テーブル３５１６の説明図である。
【０１４７】
ストレージシステム３０の管理者は、自身が管理するボリューム、すなわち、ＰＤＥＶ３４、ＥＤＥＶ６００、テープライブラリ８００及び遠隔地ストレージシステム９００等の各装置によって構成された第１種ＶＤＥＶに設定されたストレージプールの各々に、前述の連結方法を予め設定しておく。これをプール特性テーブル３５１６に格納する。
【０１４８】
さらに、前述のシーケンシャル構成やランダム構成等の接続形態の他に、接続インターフェースやボリュームの設置形態等をストレージプールの一種として設定できる。
【０１４９】
接続インターフェースには、ＦＣ（FibreChannel）接続のディスク装置、ＡＴＡ（AT Attachment）接続のディスク装置等がある。また設置形態には、外部物理デバイス（ＥＤＥＶ）、遠隔地ストレージ装置のディスク装置、テープライブラリ等がある。
【０１５０】
ストレージシステム３０の運用において、ある特性のストレージプールが関連付けられたターゲットデバイスを、他の特性に変更する要求が生ずる場合がある。例えば、前述のように、小さなデータをランダム構成のターゲットデバイスに格納していたが、格納されるデータが大きくなると、ランダム構成ではアクセス速度が低下する場合がある。このような場合に、当該ターゲットデバイスに設定されているストレージプールを、シーケンシャル構成のストレージプールに変更することで、アクセス速度の低下を解消することができる。
【０１５１】
図１２は、ターゲットデバイスに設定されているストレージプールの変更の説明図である。
【０１５２】
ホスト計算機１０からのストレージシステム３０へのＩ／Ｏ要求は、ストレージシステム３０において、ターゲットデバイスに対して実行される。このターゲットデバイス７０１は、何れかのストレージプール６０に関連付けられている。
【０１５３】
ここで、ストレージシステム３０は、ホスト計算機１０からのＩ／Ｏ要求の性能情報を取得している。性能情報は、具体的には、利用率やアクセスパターン等である。
【０１５４】
ストレージシステム３０は、取得した性能情報を参照して、当該ターゲットデバイス７０１に設定されているストレージプールを、他の連結方法のストレージプールに変更するか否かを決定する。そして、当該ターゲットデバイスに設定されているストレージプールに格納されているデータを他のストレージプールに移行する。
【０１５５】
図１２の例では、ストレージシステム３０は、ランダム構成、すなわちディスク負荷分散構成であるストレージプール「ＰＯＯＬ１」に関連付けられているターゲットデバイスへの、ホスト計算機１０からのＩ／Ｏ要求の性能情報を取得する。この結果、ストレージシステム３０は、当該ターゲットデバイスへのＩ／Ｏは、シーケンシャル特性のデータが多いと判断する。そこで、ストレージシステム３０は、当該ターゲットデバイスに設定されているストレージプールを、ＰＯＯＬ１から、シーケンシャル特性のストレージプール「ＰＯＯＬ２」へと移動する。ストレージプールの移動は、ＰＳＣＢ３５２４の割り当てを変更することで実行される。また、このときにＰＯＯＬ１に格納されているデータはＰＯＯＬ２に移動する。
【０１５６】
次に、このストレージプールの移動処理について説明する。
【０１５７】
図１３は、ストレージプールの移動の説明図である。
【０１５８】
前述のように、ストレージシステム３０は、ランダム属性のストレージプールであるＰＯＯＬ１に関連付けられているターゲットデバイスを、シーケンシャル属性のストレージプールであるＰＯＯＬ２に変更する。
【０１５９】
具体的には、ディスクマイグレーションプログラム３５１９は、ＶＶＯＬ−ＤＩＲ３５２３に割り当てられているＰＯＯＬ１のＰＳＣＢ３５２４の割り当てを解放し、新たに、ＰＯＯＬ２のＰＳＣＢ３５２４をＶＶＯＬ−ＤＩＲ３５２３に割り当てる。このとき同時に、割り当てが変更されるＰＳＣＢ３５２４に対応する領域に格納されているデータを、新たに割り当てるＰＳＣＢ３５２４に対応する領域に移動する。この結果、ストレージシステム３０において、ターゲットデバイスに割り当てられているストレージプールが移動する。
【０１６０】
図１４は、ストレージプールの移動処理のフローチャートである。
【０１６１】
ストレージシステム３０において、ディスクマイグレーションプログラム３５１９は、ストレージプールの移動を実行することを決定すると、本フローチャートを実行する。
【０１６２】
まず、ディスクマイグレーションプログラム３５１９は、移動対象のターゲットデバイスのＶＶＯＬ−ＤＩＲ３５２３を参照する。そして、そのＶＶＯＬ−ＤＩＲ３５２４の先頭のエントリ３５２３３を参照する。（Ｓ１３０１）。そして、そのＶＶＯＬ−ＤＩＲ３５２３の内容から、当該エントリにＰＳＣＢ３５２４が割り当て済みであるか否か、すなわち、当該ストレージプールにデータが格納されているか否かを判定する（Ｓ１３０２）。
【０１６３】
ＰＳＣＢ３５２４が割り当て済みである場合は、ステップＳ１３０３に移行し、ＰＳＣＢ３５２４が割り当てられていない場合は、ステップＳ１３１２に移行する。
【０１６４】
Ｓ１３０３において、ディスクマイグレーションプログラム３５１９は、まず、対象ターゲットデバイスである仮想ボリュームの当該エントリに対応する領域をロックする。これによって、ホスト計算機１０からのアクセス等による当該領域のデータの変更を禁止する。
【０１６５】
次に、ディスクマイグレーションプログラム３５１９は、当該ＶＶＯＬ−ＤＩＲ３５２３のエントリの移動中フラグ３５２３３２を「移動中」設定する（Ｓ１３０４）。
【０１６６】
次に、ディスクマイグレーションプログラム３５１９は、移動先となるストレージプールのＰＳＣＢ３５２４を、ＶＶＯＬ−ＤＩＲ３５２３に割り当てる（Ｓ１３０５）。このとき、移動先となるストレージプールのＰＳＣＢ３５２４への割り当てが不可能であるか否かを判定する（Ｓ１３０６）。
【０１６７】
ＰＳＣＢ３５２４の割り当てが不可能であると判定した場合は、ステップＳ１３１４に移行する。ステップＳ１３１４では、ディスクマイグレーションプログラム３５１９は、ストレージプールの移動中断処理を実行する。すなわち、割り当て処理中のＰＳＣＢ３５２４を全てＶＶＯＬ−ＤＩＲ３５２３から解放し、処理を終了する。
【０１６８】
ＰＳＣＢ３５２４の割り当てが不可能でない、すなわち、ＰＳＣＢ３５２４の割り当てが成功した場合は、ディスクマイグレーションプログラム３５１９は、移動対象のＰＳＣＢ３５２４に対応するストレージプールの領域をロックする。また、移動先のＰＳＣＢ３５２４に対応するストレージプールの領域をロックする（Ｓ１３０７）。
【０１６９】
次に、ディスクマイグレーションプログラム３５１９は、移動対象のＰＳＣＢ３５２４に対応するストレージプールの領域のデータを、移動先のＰＳＣＢ３５２４に対応するストレージプールの領域にコピーする（Ｓ１３０８）。
【０１７０】
次に、ディスクマイグレーションプログラム３５１９は、ＶＶＯＬ−ＤＩＲ３５２３の当該エントリを変更する（Ｓ１３０９）。すなわち、ＰＳＣＢポインタ（移動前）３５２３３３に、移動対象のＰＳＣＢポインタを設定し、ＰＳＣＢポインタ（移動後）３５２３３４に、移動先のＰＳＣＢポインタを設定する。
【０１７１】
次に、ディスクマイグレーションプログラム３５１９は、移動対象のＰＳＣＢ３５２４に対応するストレージプールの領域のロックを解除する。また、移動先のＰＳＣＢ３５２４に対応するストレージプールの領域のロックを解除する（Ｓ１３１０）。
【０１７２】
次に、ディスクマイグレーションプログラム３５１９は、移動対象ターゲットデバイスである仮想ボリュームの当該エントリに対応する領域のロックを解除する（Ｓ１３１１）。
【０１７３】
次に、ディスクマイグレーションプログラム３５１９は、現在のエントリは仮想ボリュームの最終エントリであるか否かを判定する（Ｓ１３１２）。最終エントリでないと判定した場合は、次のエントリを参照して、前記ステップＳ１３０２乃至Ｓ１３１２の処理を実行する。
【０１７４】
最終のエントリであると判定した場合は、ステップＳ１３１５に移行し、ディスクマイグレーションプログラム３５１９は、後始末処理を実行する。すなわち、移動対象のストレージプールのＰＳＣＢ３５２４を解放してフリーＰＳＣＢキューに戻し、処理を終了する。
【０１７５】
以上の処理によって、ターゲットデバイスのストレージプールが移動される。
【０１７６】
次に、ストレージプールの移動の他の例を説明する。
【０１７７】
前述した図１３及び図１４では、ストレージシステム３０は、ターゲットデバイスに設定されているストレージプールを、他のストレージプールに割り当てを変更する。これに対して、予め確保しておいた予備のデバイス（以降、リザーブと呼ぶ）に、割り当てを変更することでストレージプールを移動する方法でもよい。
【０１７８】
図１５は、ストレージプールの移動の他の例の説明図である。
【０１７９】
前述した図１３では、ストレージシステム３０は、ＶＶＯＬ−ＤＩＲ３５２３に割り当てられているＰＯＯＬ１のＰＳＣＢ３５２４の割り当てを解放し、新たに、ＰＯＯＬ２のＰＳＣＢ３５２４をＶＶＯＬ−ＤＩＲ３５２３に割り当てことで、ストレージプールを移動した。これに対して、ストレージシステム３０は、ホスト計算機１０のアクセス対象であるターゲットデバイスである仮想ボリュームとは別の仮想ボリュームをリザーブとして予め設定しておく。
【０１８０】
そして、ストレージシステム３０は、ストレージプールの移動が必要となった場合は、移動元のターゲットデバイスに関連付けられているストレージプールと、移動先であるリザーブの仮想ボリュームに割り当てられているストレージプールとを入れ換える。この入れ替えは、ＶＶＯＬ−ＤＩＲ３５２３とＰＳＣＢ３５２４との割り当てを変更することによって実行される。この結果、ストレージプールが移動される。
【０１８１】
図１６は、ストレージプールの移動の他の例のフローチャートである。
【０１８２】
ストレージシステム３０において、ディスクマイグレーションプログラム３５１９は、ストレージプールの移動を実行することを決定すると、本フローチャートを実行する。
【０１８３】
なお、本処理は基本的には前述した図１４の処理とほぼ同一である。すなわち、ディスクマイグレーションプログラム３５１９は、移動対象の仮想ボリュームのＶＶＯＬ−ＤＩＲ３５２３の先頭のエントリ３５２３３を参照する。（Ｓ１６０１）。そして、当該ストレージプールにデータがあるか否かを判定する（Ｓ１６０２）。
【０１８４】
ＰＳＣＢ３５２４が割り当て済みである場合は、ステップＳ１６０３に移行し、ＰＳＣＢ３５２４が割り当てられていない場合は、ステップＳ１６１２に移行する。
【０１８５】
Ｓ１６０３において、ディスクマイグレーションプログラム３５１９は、まず、移動対象ターゲットデバイスの当該エントリに対応する領域及び移動先の仮想ボリュームの移動先エントリに対応する領域をロックする。これによって、ホスト計算機１０からのアクセス等による当該領域のデータの変更を禁止する。
【０１８６】
次に、ディスクマイグレーションプログラム３５１９は、当該ＶＶＯＬ−ＤＩＲ３５２３のエントリの移動中フラグ３５２３３２を「移動中」設定する（Ｓ１６０４）。
【０１８７】
次に、ディスクマイグレーションプログラム３５１９は、移動先となるストレージプールのＰＳＣＢ３５２４を、ＶＶＯＬ−ＤＩＲ３５２３に割り当てる（Ｓ１６０５）。このとき、移動先となるストレージプールのＰＳＣＢ３５２４への割り当てが不可能であるか否かを判定する（Ｓ１６０６）。
【０１８８】
ＰＳＣＢ３５２４の割り当てが不可能であると判定した場合は、ステップＳ１３１４において、ストレージプールの移動中断処理を実行し、処理を終了する。
【０１８９】
ＰＳＣＢ３５２４の割り当てが不可能でない、すなわち、ＰＳＣＢ３５２４の割り当てが成功した場合は、ディスクマイグレーションプログラム３５１９は、移動対象のＰＳＣＢ３５２４に対応するストレージプールの領域をロックする。また、移動先のＰＳＣＢ３５２４に対応するストレージプールの領域をロックする（Ｓ１６０７）。
【０１９０】
次に、ディスクマイグレーションプログラム３５１９は、移動対象のＰＳＣＢ３５２４に対応するストレージプールの領域のデータを、移動先のＰＳＣＢ３５２４に対応するストレージプールの領域にコピーする（Ｓ１６０８）。
【０１９１】
次に、ディスクマイグレーションプログラム３５１９は、ＶＶＯＬ−ＤＩＲ３５２３の当該エントリを変更する（Ｓ１６０９）。すなわち、ＰＳＣＢポインタ（移動前）３５２３３３に、移動対象のＰＳＣＢポインタを設定し、ＰＳＣＢポインタ（移動後）３５２３３４に、移動先のＰＳＣＢポインタを設定する。
【０１９２】
次に、ディスクマイグレーションプログラム３５１９は、移動対象のＰＳＣＢ３５２４に対応するストレージプールの領域のロックを解除する。また、移動先のＰＳＣＢ３５２４に対応するストレージプールの領域のロックを解除する（Ｓ１６１０）。
【０１９３】
次に、ディスクマイグレーションプログラム３５１９は、移動対象ターゲットデバイスの当該エントリに対応する領域及び移動先の仮想ボリュームの移動先エントリに対応する領域のロックを解除する（Ｓ１６１１）。
【０１９４】
次に、ディスクマイグレーションプログラム３５１９は、現在のエントリは移動対象の仮想ボリュームの最終エントリであるか否かを判定する（Ｓ１６１２）。最終エントリでないと判定した場合は、次のエントリを参照して、前記ステップＳ１６０２乃至Ｓ１６１２の処理を実行する。
【０１９５】
最終のエントリであると判定した場合は、ステップＳ１６１５に移行し、後始末処理を実行する。すなわち、ディスクマイグレーションプログラム３５１９は、移動対象のストレージプールのＰＳＣＢ３５２４を解放してフリーＰＳＣＢキューに戻し、処理を終了する。
【０１９６】
以上の処理によって、ターゲットデバイスのストレージプールを移動できる。
【０１９７】
図１７は、ストレージプールの移動のさらに他の例の説明図である。
【０１９８】
前述した図１３又は図１５の例では、ストレージシステム３０は、ターゲットデバイスに関連付けられているストレージプールを移動することによって、ストレージプールを移動した。これとは別に、ターゲットデバイスに対応する論理デバイスを、ストレージプールという仮想的なデバイス（第２種ＶＤＥＶ）から、実領域、すなわち、ＰＤＥＶ３４から構成されたデバイス（第１種ＶＤＥＶ）に変更したいという要求がある。例えば、ストレージシステム３０において、データへのアクセス頻度が減少し、当該データをテープデバイスやアーカイブボリューム等に移動したい場合や、他の用途のために直接第１種ＬＤＥＶにデータを格納したい場合にこのような要求が発生する。
【０１９９】
この場合は、ストレージシステム３０は、ホスト計算機１０のアクセス対象であるターゲットデバイスを、ストレージプールが割り当てられている仮想ボリュームから、第１種ＬＤＥＶによって構成される仮想ボリュームへと変更する。この変更は、アドレス管理テーブル３５１１の、当該ターゲットデバイスに関する情報を変更することによって実行される。
【０２００】
以上のように、ストレージシステム３０が、ＶＶＯＬ−ＤＩＲ３５２３、ＰＳＣＢ３５２４及びアドレス管理テーブル３５１１の割り当てを変更することによって、ホスト計算機１０に設定されたターゲットデバイスを変更することなく、ターゲットデバイスの中身であるストレージプールの内容を適切に変更することができる。
【０２０１】
図１８は、ストレージプールの移動処理のときにホストＩ／Ｏ要求があったときの処理のフローチャートである。
【０２０２】
通常、ストレージシステム３０がホスト計算機のＩ／Ｏ要求を受け付けている状態のまま、図１３又は図１６のストレージプールの移動を実行する。このとき、ストレージシステム３０において、ホスト計算機１０からのＩ／Ｏのうち、ロックされた領域へのライト要求が未処理ままキューイングされて処理待ち状態となっている場合がある。この未処理のライト要求を解消するために本フローチャートの処理を実行する。
【０２０３】
まず、ディスクマイグレーションプログラム３５１９は、メモリ３５０のキャッシュメモリ領域に、ディスクに未反映のライトデータがあるか否かを判定する（Ｓ１８０１）。
【０２０４】
ディスクに未反映のライトデータがあると判定した場合は、ディスクマイグレーションプログラム３５１９は、当該ライトデータをストレージシステム３０における他の処理に優先してライト対象の領域に書き込み（Ｓ１８０２）、Ｓ１８０１の処理に戻り、他のライトデータがあるか否かを判定する。ディスクに未反映のライトデータがないと判定した場合は、Ｓ１８０３に移行する。
【０２０５】
Ｓ１８０３では、ディスクマイグレーションプログラム３５１９は、仕掛かり中のＩ／Ｏ要求があるか否かを判定する。なお、仕掛かり中のＩ／Ｏ処理とは、本フローチャートの処理開始時点で、未完了のＩ／Ｏ処理（データの書き込みや読み出し）のことである。仕掛かり中のＩ／Ｏ要求があると判定した場合は、当該Ｉ／Ｏ要求を処理する（Ｓ１８０４）。特に当該Ｉ／Ｏ要求がライト要求であった場合は、ディスクマイグレーションプログラム３５１９は、当該ライトデータをストレージシステム３０における他の処理に優先して当該ライト要求を処理する。この処理後、Ｓ１８０３の処理に戻り、他のＩ／Ｏ要求があるか否かを判定する。仕掛かり中のＩ／Ｏ要求がないと判定した場合は、Ｓ１８０４に移行する。
【０２０６】
Ｓ１８０４では、ディスクマイグレーションプログラム３５１９は、キューイングされたＩ／Ｏ要求の処理を待ち状態に変更する。
【０２０７】
次に、アドレス管理テーブルのＬＤＥＶとＶＤＥＶの対応関係を変更する。
【０２０８】
図１９は、ストレージプールの移動の処理中に、ホスト計算機１０からデータ書き込みのＩ／Ｏ要求（ライト要求）があったときの説明図である。
【０２０９】
ホスト計算機１０から、ストレージプールの移動の処理中に、当該処理中のターゲットデバイスへのデータ書き込みのＩ／Ｏ要求があった場合は、ストレージシステム３０は、次のような処理を実行する。ホスト計算機１０からのライト要求に係る書き込み領域が、当該仮想ボリューム内の領域のうち、既にストレージプールの移動処理が終了している領域である場合は、ストレージシステム３０は、そのライト要求を、移動元のストレージプールの領域及び移動先のストレージプールの領域に同時に書き込み処理する。一方、ホスト計算機１０からのライト要求に係る書き込み領域が、当該仮想ボリューム内の領域のうち、未だストレージプールの移動処理が終了していない領域である場合は、ストレージシステム３０は、そのライト要求を、移動元のストレージプールの領域のみに書き込み処理する。
【０２１０】
なお、仮想ボリューム内の領域が移動済みであるか否かは、仮想ボリューム内のアドレスに対応したコピー進捗ポインタによって判断する。コピー進捗ポインタは、ストレージプール移動処理（図１４）のステップＳ１３０３の処理において、ロックする領域のアドレスに対応した値が格納される。
【０２１１】
図２０は、ストレージプールの移動の処理中に、ホスト計算機１０からデータ書き込みのＩ／Ｏ要求（ライト要求）があったときの処理のフローチャートである。
【０２１２】
ストレージシステム３０において、ディスクＩ／Ｏプログラム３５０５は、前述の図１４のストレージプール移動処理に係るターゲットデバイスの仮想ボリュームに対するライト要求あったか否かを判定する（Ｓ１９０１）。ストレージプール移動処理に係る仮想ボリュームへのライト要求である場合は、Ｓ１９０２に移行する。ストレージプール移動処理に係る仮想ボリュームへのライト要求でない場合、すなわち、他のターゲットデバイスへのライト要求又はその他の要求である場合は、当該要求に基づいた処理を実行し（Ｓ１９０６）、本フローチャートの処理を終了する。
【０２１３】
Ｓ１９０２では、ディスクＩ／Ｏプログラム３５０５は、ライト要求に係る書き込み対象領域のアドレスを、ライト処理アドレスＷＡに格納する。
【０２１４】
次に、ディスクＩ／Ｏプログラム３５０５は、ライト処理アドレスＷＡが、ストレージプール移動処理が完了した領域のアドレスよりも前方であるか否かを判定する（Ｓ１９０３）。
【０２１５】
ライト処理アドレスＷＡが、移動処理の完了した領域のアドレスよりも前方にある場合は、当該領域は、既にストレージプール移動処理が完了している。そこで、Ｓ１９０４に移行し、ディスクＩ／Ｏプログラム３５０５は、移動元であるストレージプールのライト処理アドレスＷＡに対応する領域に、ライトデータを書き込む。また、これと同時に、移動先であるストレージプールの適当な領域に、ライトデータを書き込む。
【０２１６】
一方、ライト処理アドレスＷＡが、移動処理の完了した領域のアドレスよりも後方にある場合は、当該領域は、ストレージプール移動処理が未だ完了していない。そこで、Ｓ１９０５に移行し、ディスクＩ／Ｏプログラム３５０５は、移動元であるストレージプールのライト処理アドレスＷＡに対応する領域に、ライトデータを書き込む。
【０２１７】
以上のように、ストレージプール移動処理中のライト要求が処理される。
【０２１８】
次に、ストレージプールの解放について説明する。
【０２１９】
図２１は、ストレージプールの解放のフローチャートである。
【０２２０】
前述の図１４のステップＳ１３１５において、移動対象のストレージプールのＰＳＣＢ３５２４を解放してフリーＰＳＣＢキューに戻す。このときの具体的な処理を以下に説明する。
【０２２１】
まず、ディスクマイグレーションプログラム３５１９は、プール解放進捗ポインタＣＰに移動対象ストレージプールの先頭アドレスを格納する（Ｓ２１０１）。
【０２２２】
次に、ディスクマイグレーションプログラム３５１９は、当該ストレージプールのＶＶＯＬ−ＤＩＲ３５２３を参照し、ＰＳＣＢポインタ（移動前）３５２３３３を取得する（Ｓ２１０２）。
【０２２３】
次に、ディスクマイグレーションプログラム３５１９は、ＶＶＯＬ−ＤＩＲ３５２３から、取得した移動前のＰＳＣＢポインタを解放する。そして、ＰＳＣＢポインタによって示されるＰＳＣＢをフリー化する（Ｓ２１０３）。
【０２２４】
次に、ディスクマイグレーションプログラム３５１９は、プール解放進捗ポインタＣＰに１を加算し（Ｓ２１０５）、プール解放進捗ポインタＣＰの値が、移動対象のストレージプールの容量を超えたか否かを判定する（Ｓ２１０６）。
【０２２５】
プール解放進捗ポインタの値がストレージプールの容量に満たない場合は、Ｓ２１０２に戻り、処理を繰り返す。プール解放進捗ポインタの値がストレージプールの容量を超えた場合は、処理を終了する。
【０２２６】
以上の処理によって、ストレージプールが解放される。
【０２２７】
次に、モニタリング及びプランニングについて説明する。
【０２２８】
本実施の形態のストレージシステム３０は、前述したストレージプールの移動を、当該ストレージプールのデータのアクセス形態に応じて最適なストレージプールを選ぶように処理する。具体的には、ターゲットデバイスに関連付けられているストレージプール毎に、当該ストレージプールに格納されているデータの構造やＩ／Ｏ特性等を取得する（以降、モニタリングと呼ぶ）。そして、モニタリングの結果、現在ターゲットデバイスに割り当てられているストレージプールを、他の特性のストレージプールに移行するか否かを決定し、現在のストレージプールから決定したストレージプールへの移動を実行する（以降、プランニングと呼ぶ）。
【０２２９】
モニタリングデータの取得は、ストレージシステム３０のコントローラ３１内において、ターゲットデバイスとストレージプールを構成する第１種ＬＤＥＶとのＩ／Ｏ特性（フロント側Ｉ／Ｏ特性）、及び、ストレージプールを構成する第１種ＬＤＥＶとＰＤＥＶとのＩ／Ｏ特性（バック側Ｉ／Ｏ特性）、を取得する。また、ストレージプールに格納されているデータのシーケンシャル特性を、データのアクセス単位とデータの格納領域とによって取得する。また、ストレージプール単位の使用量、使用率、稼働率等を取得する。
【０２３０】
図２２は、モニタリングデータの一例を示す説明図である。
【０２３１】
ストレージシステム３０において、ディスクＩ／Ｏプログラム３５０５が、ターゲットデバイス、当該ターゲットデバイスに割り当てられているストレージプール、当該ストレージプールを構成する第１種ＬＤＥＶ及び当該第１種ＬＤＥＶを構成するＰＤＥＶ毎に、データのライトやリード等のＩ／Ｏ特性を取得している。ディスクＩ／Ｏプログラム３５０５は、この取得したＩ／Ｏ特性を、モニタリングデータとしてコントローラ３１のメモリ３５０の構成情報３５１に格納する。
【０２３２】
図２２（Ａ）は、この第１種ＬＤＥＶへのデータのライト要求に関するモニタリングデータである。このモニタリングデータは、フロント側のＩＯＰＳ（I/O Per Second）、フロント側のＭＢＰＳ（Mega Byte Per Second）、ライト要求の占有時間、ライトデータへのアクセスがシーケンシャルである時間、バック側のＩＯＰＳ及びバック側のＭＢＰＳについて、それぞれの最大値（ＭＡＸ）及び平均値（ＡＶＥ）が格納される。
【０２３３】
図２２（Ｂ）は、第１種ＬＤＥＶへのデータのリード要求に関するモニタリングデータである。このモニタリングデータは、ライト要求と同様に、フロント側のＩＯＰＳ、フロント側のＭＢＰＳ、ライト要求の占有時間、ライトデータへのアクセスがシーケンシャルである時間、バック側のＩＯＰＳ及びバック側のＭＢＰＳについて、それぞれの最大値（ＭＡＸ）及び平均値（ＡＶＥ）が格納される。
【０２３４】
図２２（Ｃ）は、第１種ＬＤＥＶへのデータの全てのＩ／Ｏ要求に関するモニタリングデータである。このモニタリングデータは、当該第１種ＬＤＥＶへのリード要求トライと要求との比率、バックエンド側アクセスの占有時間、当該第１種ＬＤＥＶの全てのデータのキャッシュヒット率、当該第１種ＬＤＥＶの全てのデータのキャッシュのうち未書き込みデータの比率であるキャッシュダーティ率、当該第１種ＬＤＥＶの全てのデータのアクセスのうち、シーケンシャル特性のデータのアクセスの比率、当該第１種ＬＤＥＶの全てのデータのうち当該第１種ＬＤＥＶに設定されているストレージプールの利用量、及び、当該第１種ＬＤＥＶの全てのデータのうち当該第１種ＬＤＥＶに設定されているストレージプールのアクセス比率が格納される。
【０２３５】
図２２（Ｄ）は、ストレージプール単位のＩ／Ｏ要求に関するモニタリングデータである。このモニタリングデータは、当該ストレージプールの全体容量、ストレージプールの使用量、ストレージプールの使用率、ストレージプールの使用量の増加率、ストレージプールへのリード要求のＩＯＰＳの最高値と平均値、リード要求のＭＢＰＳの最高値と平均値、ストレージプールへのライト要求のＩＰＯＳの最高値と平均値、ストレージプールへのライト要求のＭＢＰＳの最高値と平均値、及び、ストレージプールの稼働率が格納される。
【０２３６】
ストレージシステム３０は、取得したモニタリングデータを参照して、当該ターゲットデバイスのストレージプールを移動するか否かを、プランニングデータを参照して決定する。
【０２３７】
次に、プランニングについて説明する。
【０２３８】
ストレージシステム３０において、モニタリングデータを取得した後、そのモニタリングデータを元に、プランニングを実行する。
【０２３９】
より具体的には、ストレージシステム３０は、取得したモニタリングデータを元に、予め設定されたプランニングデータを参照して、当該ターゲットデバイスのストレージプールをどのような特性のストレージプールに移動するか、又は、そのままにするか、を決定する。
【０２４０】
なお、モニタリングデータに関わらず、管理者等による指示によって、対象データのストレージシステムの特性を決定し、その特性に合致するストレージプールに移行するようにしてもよい。
【０２４１】
図２３及び図２４（２３Ａ乃至２３Ｈ）は、は、プランニングデータの説明図である。
【０２４２】
ストレージシステム３０において、ディスクマイグレーションプログラム３５１９は、取得したモニタリングデータ元に、プランニングデータに従って、ストレージプールの移動を決定する。又は、管理者等による指示によって、予め設定されたプランニングデータに従ってストレージプールを移動する。
【０２４３】
図２３管理者の指示によってストレージプールを移動する場合に用いられるプランニングデータである。また、図２４Ａ乃至図２４Ｈは、取得したモニタリングデータを元に、ストレージプールの移動する場合に用いられるプランニングデータである。これらは、まとめてメモリ３５０の構成情報３５１に予め格納されている。
【０２４４】
図２３は、管理者等の指示によって、対象ターゲットデバイスに割り当てる特性を決定し、その特性に合致するストレージプールに移行するためのプランニングデータである。
【０２４５】
管理者は、図２３（Ａ）に示されるプランニングデータを参照して、プランニングを実行する対象のターゲットデバイスをどのようにするかの設定を決定する。
【０２４６】
そして、管理者は、対象ターゲットデバイスを実領域（すなわちＰＤＥＶから構成された第１種ＬＤＥＶによって設定されたターゲットデバイス）に割り当てる場合は、図２３（Ｂ）の実領域割当要件を参照し、指定された要件に対応する処理内容を決定する。例えば、実領域への割り当ての要求が高い場合には、全実体化、すなわち、当該ターゲットデバイスの全てのデータを実領域に移行する。
【０２４７】
対象ターゲットデバイスをシーケンシャル設定にする場合は、管理者は、図２３（Ｃ）のシーケンシャル要件を参照し、指定された要件に対応する処理内容を決定する。例えば、シーケンシャル要求が中程度である場合には、当該ターゲットデバイスをシーケンシャル構成のストレージプールに移行することを決定する。ストレージシステム３０のディスクマイグレーションプログラム３５１９は、この決定を受けて、当該ターゲットデバイスをシーケンシャル構成のストレージプールに移行する処理を実行する。
【０２４８】
対象ターゲットデバイスのアクセス性能を変更する場合は、管理者は、図２３（Ｄ）性能要件を参照し、指定された要件に対応する処理内容を決定する。例えば、アクセス性能要求が高い場合には、当該ターゲットデバイスをＦＣ接続のストレージプールに移行することを決定する。ストレージシステム３０のディスクマイグレーションプログラム３５１９は、この決定を受けて、当該ターゲットデバイスをＦＣ接続のストレージプールに移行する処理を実行する。
【０２４９】
対象ターゲットデバイスの信頼性を変更する場合は、管理者は、図２３（Ｅ）の信頼性要件を参照し、指定された要件に対応する処理内容を決定する。例えば、信頼性要求が中程度である場合には、当該ターゲットデバイスをＥＤＥＶのストレージプールに移行することを決定する。ストレージシステム３０のディスクマイグレーションプログラム３５１９は、この決定を受けて、当該ターゲットデバイスをＥＤＥＶのストレージプールに移行する処理を実行する。
【０２５０】
対象ターゲットデバイスの可用性を変更する場合は、管理者は、図２３（Ｆ）の高可用要件を参照し、指定された要件に対応する処理内容を決定する。例えば、可用性の要求が高い場合には、当該ターゲットデバイスを、外部ストレージシステムとのリモートコピーを設定することを設定する。ストレージシステム３０のディスクマイグレーションプログラム３５１９は、この決定を受けて、当該ターゲットデバイスを外部ストレージシステムとのリモートコピーを設定する処理を実行する。
【０２５１】
図２４Ａ乃至図２４Ｈは、ストレージシステム３０が、取得したモニタリングデータを元に、当該ターゲットデバイスのストレージプールをどのような特性のストレージプールに移動するか、又は、そのままにするか、を決定するためのプランニングデータである。
【０２５２】
例えば、図２４Ａの例では、ターゲットデバイスに関連付けられているストレージプールを構成する第１種ＬＤＥＶの特性が、シーケンシャル比率が高く、ストレージプールに割り当て済みの領域のキャッシュヒット率が高く、キャッシュのライトヒット率が高く、キャッシュのダーティー率が高く、ストレージプールの利用率が高い場合であって、かつ、当該第１種ＬＤＥＶの連続空間割当閾値を超えた領域が多くある（レベル高）場合は、当該ターゲットデバイスに関連付けられているストレージプールを他のアクセス頻度の低いシーケンシャル特性のストレージプールに移動する、又は、ストレージプールに格納されているデータを実領域に移動（実領域化）する。
【０２５３】
また、図２４Ｂの例では、ターゲットデバイスに関連付けられているストレージプールを構成する第１種ＬＤＥＶの特性が、シーケンシャル比率が高く、ストレージプールに割り当て済みの領域のキャッシュヒット率が低く、キャッシュのライトヒット率が低く、キャッシュのダーティー率が高く、ストレージプールの利用率が高い場合であって、かつ、当該第１種ＬＤＥＶの連続空間割当閾値を超えた領域が若干ある（レベル低）場合は、当該ターゲットデバイスに関連付けられているストレージプールのデータのうち、一部のデータを実領域に移動する。
【０２５４】
また、図２４Ｃの例では、ターゲットデバイスに関連付けられているストレージプールを構成する第１種ＬＤＥＶの特性が、シーケンシャル比率が高く、ストレージプールに割り当て済みの領域のキャッシュヒット率が高く、キャッシュのライトヒット率が高く、キャッシュのダーティー率が高く、ストレージプールの利用率が高い場合であって、かつ、当該第１種ＬＤＥＶの連続空間割当閾値を超えた領域が多くある（レベル高）場合は、当該ターゲットデバイスに関連付けられているストレージプールを他のアクセス頻度の低いランダム特性のストレージプールに移動する、又は、ストレージプールに格納されているデータを実領域に移動する。
【０２５５】
また、図２４Ｄの例では、ターゲットデバイスに関連付けられているストレージプールを構成する第１種ＬＤＥＶの特性が、シーケンシャル比率が高く、ストレージプールに割り当て済みの領域のキャッシュヒット率が低く、キャッシュのライトヒット率が高く、キャッシュのダーティー率が高く、ストレージプールの利用率が高い場合であって、かつ、当該第１種ＬＤＥＶの連続空間割当閾値を超えた領域が多くある（レベル高）場合は、当該ターゲットデバイスに関連付けられているストレージプールに格納されているデータを実領域に移動する。
【０２５６】
さらに、図２４Ｅ乃至図２４Ｈでは、ストレージプールの移動において、外部接続デバイス又は接続形態の異なるデバイスへの移動を考慮した場合のプランニングデータの例を示す。
【０２５７】
図２４Ｅの例では、ターゲットデバイスに関連付けられているストレージプールを構成する第１種ＬＤＥＶの特性が、シーケンシャル比率が高く、ストレージプールに割り当て済みの領域のキャッシュヒット率が高く、キャッシュのライトヒット率が高く、キャッシュのダーティー率が高く、ストレージプールの利用率が高い場合であって、かつ、当該第１種ＬＤＥＶの連続空間割当閾値を超えた領域が多くある（レベル高）場合は、当該ターゲットデバイスに関連付けられているストレージプールを他のアクセス頻度の低いシーケンシャル特性のストレージプールに移動する、又は、ストレージプールに格納されているデータをＡＴＡ接続のＰＤＥＶ又はＥＤＥＶに実領域化する。
【０２５８】
また、図２４Ｆの例では、ターゲットデバイスに関連付けられているストレージプールを構成する第１種ＬＤＥＶの特性が、シーケンシャル比率が高く、ストレージプールに割り当て済みの領域のキャッシュヒット率が低く、キャッシュのライトヒット率が低く、キャッシュのダーティー率が高く、ストレージプールの利用率が高い場合であって、かつ、当該第１種ＬＤＥＶの連続空間割当閾値を超えた領域が若干ある（レベル低）場合は、当該ターゲットデバイスに関連付けられているストレージプールのデータのうち、一部のデータをストレージプールに格納されているデータをＡＴＡ接続のＰＤＥＶ又はＥＤＥＶに実領域化する。
【０２５９】
また、図２４Ｇの例では、ターゲットデバイスに関連付けられているストレージプールを構成する第１種ＬＤＥＶの特性が、シーケンシャル比率が高く、ストレージプールに割り当て済みの領域のキャッシュヒット率が高く、キャッシュのライトヒット率が高く、キャッシュのダーティー率が高く、ストレージプールの利用率が高い場合であって、かつ、当該第１種ＬＤＥＶの連続空間割当閾値を超えた領域が多くある（レベル高）場合は、当該ターゲットデバイスに関連付けられているストレージプールを他のアクセス頻度の低いランダム特性のストレージプールに移動する、又は、ストレージプールに格納されているデータをストレージプールに格納されているデータをＡＴＡ接続のＰＤＥＶ又はＥＤＥＶに実領域化する。
【０２６０】
また、図２４Ｈの例では、ターゲットデバイスに関連付けられているストレージプールを構成する第１種ＬＤＥＶの特性が、シーケンシャル比率が高く、ストレージプールに割り当て済みの領域のキャッシュヒット率が低く、キャッシュのライトヒット率が高く、キャッシュのダーティー率が高く、ストレージプールの利用率が高い場合であって、かつ、当該第１種ＬＤＥＶの連続空間割当閾値を超えた領域が多くある（レベル高）場合は、当該ターゲットデバイスに関連付けられているストレージプールに格納されているデータをＡＴＡ接続のＰＤＥＶ又はＥＤＥＶに実領域化する。
【０２６１】
図２５Ａ乃至２５Ｄは、ターゲットデバイスに設定されているストレージプールをどのように移動するかの説明図である。
【０２６２】
図２５Ａは、ターゲットデバイスに関連付けられたランダム特性のストレージプールＰＯＯＬ１をシーケンシャル特性のストレージプールに移動する場合の説明図である。
【０２６３】
これは、図１３及び図１４で前述したように、ストレージプールがランダム特性であり、かつ、ストレージプールを構成する第１種ＬＤＥＶのブロックサイズを超えたデータが多く格納されている場合に、ターゲットデバイスに割り当てられるストレージプールをシーケンシャル特性に移動することによって、データのアクセス性能を向上することができる。
【０２６４】
図２５Ｂは、ターゲットデバイスに関連付けられたストレージプールＰＯＯＬ１を実領域、すなわち、第１種ＬＤＥＶに直接割り当てられたターゲットデバイスに移動する場合の説明図である。
【０２６５】
これは、図１７及び図１８で前述したように、ストレージプールに格納されたデータを実領域に移動して、当該ストレージプールを解除する。このようにすることによって、データへのアクセス頻度が減少し、当該データをテープデバイスやアーカイブボリューム等に移動したい場合や、他の用途のためにデータを直接第１種ＬＤＥＶに格納することができる。
【０２６６】
図２５Ｃは、ターゲットデバイスに関連付けられたストレージプールＰＯＯＬ１を、他のストレージシステムの外部デバイス（ＥＤＥＶ）によって構成されたストレージプールＰＯＯＬ２に移動する場合の説明図である。
【０２６７】
図１１で前述したように、ストレージプールの特性は、ランダム／シーケンシャルといったストレージプールの構成の他、接続インターフェースや設置形態等がある。これを利用して、例えば、ストレージシステム３０内部に設定されている第１種ＬＤＥＶによって構成されたストレージプールから、外部物理デバイスによって構成されたストレージプールへの移動を実行することが可能となる。この処理は、前述したように、データをコピーして、ＶＶＯＬ−ＤＩＲ３５２３とＰＳＣＢ３５２４との割り当てを変更することによって実行される。
【０２６８】
なお、同様にして、ＦＣ接続のディスク装置から、ＡＴＡ接続のディスク装置へのデータの移動、遠隔地ストレージシステムへのデータの移動等が実行できる。
【０２６９】
図２５Ｄは、ターゲットデバイスに関連付けられたストレージプールＰＯＯＬ１を、遠隔地のストレージシステムの外部デバイス（ＥＤＥＶ）によって構成されたストレージプールＰＯＯＬ２にコピーして、ターゲットデバイスを二重化する場合の説明図である。
【０２７０】
これまでは、ターゲットデバイスに割り当てられたストレージプールを、他のストレージプール又は他の領域に移動する場合を説明した。これとは別に、ターゲットデバイスとストレージプールとの関連付けを保ったまま、さらに別のストレージプールをターゲットデバイスに関連付けることも可能である。
【０２７１】
より具体的には、ＶＶＯＬ−ＤＩＲ３５２３のエントリに、割り当て済みのＰＳＣＢポインタを複数格納する。このようにすることで、ターゲットデバイスへのＩ／Ｏ要求があった際に、当該ＶＶＯＬ−ＤＩＲ３５２３のエントリを参照して、割り当てられている複数のストレージプールに同時に当該Ｉ／Ｏ要求が処理される。結果として、そのターゲットデバイスのデータは主ストレージシステム３０と遠隔地ストレージシステム９００とに二重化して格納される。これによって、可用性の高いストレージシステムが提供される。
【０２７２】
なお、この図２５Ｄのような処理を実行するために、遠隔地ストレージシステム９００の記憶領域の構成をストレージシステム３０と同一に設定しておく必要がある。そのため、予めストレージシステム３０のシステム構成情報を遠隔地ストレージシステム９００に送信し、ストレージシステム９００がその情報に基づいて、論理デバイス、仮想ボリューム等の構成を構築しておく。
【０２７３】
図２６は、モニタリングデータを取得してプランニング実行処理のフローチャートである。
【０２７４】
ストレージシステム３０において、ディスクマイグレーションプログラム３５１９は、モニタリングデータを取得して、それを元にしたプランニングを実行する時間であるか否かを判定している（Ｓ２７０１）。なお、プランニングの実行は、所定の間隔で定期的に実行してもよいし、管理者等からの指示によって実行する時間を決定してもよい。
【０２７５】
プランを作成する時間であると判定した場合は、Ｓ２７０２に移行する。プランニングを実行する時間でない場合は処理を終了する。
【０２７６】
Ｓ２７０２では、ディスクマイグレーションプログラム３５１９は、対象ターゲットデバイスに関するモニタリングデータを取得する。より具体的には、ディスクマイグレーションプログラム３５１９は、所定の単位時間毎に、及び、ストレージプール毎に、統計情報を取得している。このモニタリングデータを取得し、さらにこれを統計した情報を取得する。
【０２７７】
次に、プラン実行処理を実行する（Ｓ２７０３）。このプラン実行処理が終了すると、本フローチャートの処理を終了する。
【０２７８】
図２７は、プラン実行処理のフローチャートである。
【０２７９】
まず、ディスクマイグレーションプログラム３５１９は、プランの実行時間であるか否かを判定する（Ｓ２８０１）。すなわち、ディスクマイグレーションプログラム３５１９は、前述の図２６の処理によって取得したモニタリングデータを元にプランを実行する時間であるか否かを判定する。このプランの実行は、図２６の処理後すぐに実行してもよいし、所定のタイミングで実行してもよい。
【０２８０】
プランを実行する時間であると判定した場合は、Ｓ２８０２に移行する。プランを実行する時間でない場合は処理を終了する。
【０２８１】
Ｓ２８０２では、ディスクマイグレーションプログラム３５１９は、取得したモニタリングデータを元に、プランニングデータを参照して、どのプランニングデータに基づいた処理を実行するか、又は、プランを実行しないか（そのままにするか）を決定する。
【０２８２】
次に、ディスクマイグレーションプログラム３５１９は、処理対象のターゲットデバイスの現在の状態をチェックする（Ｓ２８０３）。そして、前述したプランニングデータに従って、プランニングを実行する。すなわち、ディスクマイグレーションプログラム３５１９は、ターゲットデバイスに割り当てられているストレージプールの移動処理を実行する。又は、ターゲットデバイスを移動せず処理を終了する（Ｓ２８０４）。
【０２８３】
以上の処理によってプラン実行処理が終了する。
【０２８４】
このように、本発明の実施の形態の計算機システムでは、仮想的な領域である第２種ＬＤＥＶに物理デバイスであるＰＤＥＶ３４から構成された第１種ＬＤＥＶを関連付けることによって、第２種ＬＤＥＶを物理デバイスである記憶領域として利用できる。ホスト計算機１０は、この第２種ＬＤＥＶをターゲットデバイスとしてアクセスする。この第１種ＬＤＥＶと第２種ＬＤＥＶとの関連付けは、ＰＳＣＢ３５２４をＶＶＯＬ−ＤＩＲ３５２３に割り当てることよって設定する。また、このＰＳＣＢ３５２４とＶＶＯＬ−ＤＩＲ３５２３との割り当てを変更することで、仮想ボリュームの記憶領域を動的に変更することができる。このようにすることによって、ストレージシステム３０に備えられた物理デバイスの特性（例えば、連結方法や、接続インターフェース、設置形態等）を必要に応じて変更することが可能となり、計算機システムにおけるデータのアクセスの自由度が高まる。
【図面の簡単な説明】
【０２８５】
【図１】本発明の実施の形態の計算機システムの構成ブロック図である。
【図２】本発明の実施の形態の計算機ステムにおける記憶領域の説明図である。
【図３】本発明の実施の形態のメモリのブロック図である。
【図４】本発明の実施の形態のストレージシステム管理装置の構成ブロック図である。
【図５】本発明の実施の形態のターゲットデバイスとＬＤＥＶ及びＰＤＥＶとの説明図である。
【図６】本発明の実施の形態のアドレス管理テーブルの説明図である。
【図７】本発明の実施の形態のＶＶＯＬ−ＤＩＲ及びＰＳＣＢの説明図である。
【図８】本発明の実施の形態のＰＳＣＢの連結の一例の説明図である。
【図９】本発明の実施の形態のＰＳＣＢの連結の他の例の説明図である。
【図１０】本発明の実施の形態の第２種ＶＤＥＶの設定のフローチャートである。
【図１１】本発明の実施の形態のプール特性テーブルの説明図である。
【図１２】本発明の実施の形態のターゲットデバイスに設定されているストレージプールの変更の説明図である。
【図１３】本発明の実施の形態のストレージプールの移動の説明図である。
【図１４】本発明の実施の形態のストレージプールの移動処理のフローチャートである。
【図１５】本発明の実施の形態のストレージプールの移動の他の例の説明図である。
【図１６】本発明の実施の形態のストレージプールの移動の他の例のフローチャートである。
【図１７】本発明の実施の形態のストレージプールの移動のさらに他の例の説明図である。
【図１８】本発明の実施の形態のストレージプールの移動処理のときにホストＩ／Ｏ要求があったときの処理のフローチャートである。
【図１９】本発明の実施の形態のストレージプールの移動の処理中に、ホスト計算機からライト要求があったときの説明図である。
【図２０】本発明の実施の形態のストレージプールの移動の処理中に、ホスト計算機からライト要求があったときのフローチャートである。
【図２１】本発明の実施の形態のストレージプールの解放のフローチャートである。
【図２２】本発明の実施の形態のモニタリングデータの一例を示す説明図である。
【図２３】本発明の実施の形態のプランニングデータの説明図である。
【図２４Ａ】本発明の実施の形態のプランニングデータの説明図である。
【図２４Ｂ】本発明の実施の形態のプランニングデータの説明図である。
【図２４Ｃ】本発明の実施の形態のプランニングデータの説明図である。
【図２４Ｄ】本発明の実施の形態のプランニングデータの説明図である。
【図２４Ｅ】本発明の実施の形態のプランニングデータの説明図である。
【図２４Ｆ】本発明の実施の形態のプランニングデータの説明図である。
【図２４Ｇ】本発明の実施の形態のプランニングデータの説明図である。
【図２４Ｈ】本発明の実施の形態のプランニングデータの説明図である。
【図２５Ａ】本発明の実施の形態のターゲットデバイスに設定されているストレージプールをどのように移動するかの説明図である。
【図２５Ｂ】本発明の実施の形態のターゲットデバイスに設定されているストレージプールをどのように移動するかの説明図である。
【図２５Ｃ】本発明の実施の形態のターゲットデバイスに設定されているストレージプールをどのように移動するかの説明図である。
【図２５Ｄ】本発明の実施の形態のターゲットデバイスに設定されているストレージプールをどのように移動するかの説明図である。
【図２６】本発明の実施の形態のモニタリングデータを取得してプランを作成する処理のフローチャートである。
【図２７】本発明の実施の形態のプランニング実行処理のフローチャートである。
【符号の説明】
【０２８６】
１０      ホスト計算機
２０      ストレージシステム管理装置
３０      ストレージシステム
３２      ストレージキャッシュメモリ
３３      共有メモリ
３４      物理デバイス
３５      電源スイッチ
３６      電源
４０      管理ネットワーク
５０      ストレージネットワーク
６０      ストレージプール
１１０      入力手段
１２０      出力手段
１５０      ディスクアダプタ
１６０      ネットワークアダプタ
１７０      ディスクドライブ
２１０      入力手段
２２０      出力手段
【図１】
0004806556.tif 000002
【図２】
0004806556.tif 000003
【図３】
0004806556.tif 000004
【図４】
0004806556.tif 000005
【図５】
0004806556.tif 000006
【図６】
0004806556.tif 000007
【図７】
0004806556.tif 000008
【図８】
0004806556.tif 000009
【図９】
0004806556.tif 000010
【図１０】
0004806556.tif 000011
【図１１】
0004806556.tif 000012
【図１２】
0004806556.tif 000013
【図１３】
0004806556.tif 000014
【図１４】
0004806556.tif 000015
【図１５】
0004806556.tif 000016
【図１６】
0004806556.tif 000017
【図１７】
0004806556.tif 000018
【図１８】
0004806556.tif 000019
【図１９】
0004806556.tif 000020
【図２０】
0004806556.tif 000021
【図２１】
0004806556.tif 000022
【図２２】
0004806556.tif 000023
【図２３】
0004806556.tif 000024
【図２４Ａ】
0004806556.tif 000025
【図２４Ｂ】
0004806556.tif 000026
【図２４Ｃ】
0004806556.tif 000027
【図２４Ｄ】
0004806556.tif 000028
【図２４Ｅ】
0004806556.tif 000029
【図２４Ｆ】
0004806556.tif 000030
【図２４Ｇ】
0004806556.tif 000031
【図２４Ｈ】
0004806556.tif 000032
【図２６】
0004806556.tif 000033
【図２７】
0004806556.tif 000034
【図２５Ａ】
0004806556.tif 000035
【図２５Ｂ】
0004806556.tif 000036
【図２５Ｃ】
0004806556.tif 000037
【図２５Ｄ】
0004806556.tif 000038