(57)【特許請求の範囲】
【請求項１】
複数の論理的な記憶デバイス（ＬＤＥＶ）の基になる仮想的な記憶デバイス（ＶＤＥＶ）の基になるＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）グループを構成する複数の物理的な記憶デバイス（ＰＤＥＶ）と、
外部装置からＩ／Ｏ（Input/Output）コマンドを処理するマイクロプロセッサを含み前記複数のＬＤＥＶのうちの少なくとも１つのＬＤＥＶのオーナ権を有するマイクロプロセッサパッケージ（ＭＰ−ＰＫ）を複数個と、
前記複数のＬＤＥＶの各々について決定された、ＬＤＥＶの重みを表す値（ＬＩ）、を記憶する記憶資源と、
前記複数のＬＤＥＶのうちの少なくとも１つのＬＤＥＶが関連付けられており前記Ｉ／Ｏコマンドを前記外部装置から受信し前記複数のＭＰ−ＰＫのうち前記受信したＩ／Ｏコマンドから特定されるＬＤＥＶのオーナ権を有するＭＰ−ＰＫへ前記受信したＩ／Ｏコマンドを転送するポートを複数個と
を備え、
前記複数のポート各々は、前記外部装置及び前記ＭＰ−ＰＫに接続されており、
前記複数のＰＤＥＶの各々は、前記ＭＰ−ＰＫに接続されており、
前記複数のＬＤＥＶの各々について、ＬＤＥＶの前記ＬＩは、
（Ｅ１）そのＬＤＥＶの基になっているＶＤＥＶの基になっているＲＡＩＤグループのＲＡＩＤレベル；
（Ｅ２）そのＬＤＥＶの基になっているＶＤＥＶの基になっているＲＡＩＤグループを構成するＰＤＥＶのタイプ；
（Ｅ３）そのＬＤＥＶの基になっているＶＤＥＶが有するＬＤＥＶの数、
を基に決定された値であり、
ＬＤＥＶが追加された場合に、いずれかのＭＰ−ＰＫが、
前記追加されたＬＤＥＶの基になっているＶＤＥＶの基になるＰＤＥＶのタイプがＳＳＤ（Solid State Drive）かどうかを判断し、
前記判断が肯定の場合、前記追加されたＬＤＥＶの基になっているＶＤＥＶについて、オーナ権の分散単位をＬＤＥＶ単位と設定し、
前記判断が否定の場合、前記追加されたＬＤＥＶの基になっているＶＤＥＶについて、オーナ権の分散単位をＶＤＥＶ単位と設定し、
前記複数のＭＰ−ＰＫのうち、ＭＰ−ＰＫがオーナ権を有する１以上のＬＤＥＶの前記ＬＩの合計値であるＡＬＩが最小のＭＰ−ＰＫを選択し、
ＡＬＩが最小のＭＰ−ＰＫに、前記追加されたＬＤＥＶのオーナ権を設定し、追加されたＬＤＥＶのＬＩを用いてそのＭＰ−ＰＫのＡＬＩを更新する、
ことを特徴とするストレージシステム。
【請求項２】
いずれかのＭＰ−ＰＫが、前記ＶＤＥＶについてオーナ権の分散単位がＬＤＥＶ単位の場合、前記追加されたＬＤＥＶについて、オーナ権を、ＡＬＩが最小のＭＰ−ＰＫに設定する、
ことを特徴とする請求項１記載のストレージシステム。
【請求項３】
いずれかのＭＰ−ＰＫが、前記ＶＤＥＶについてオーナ権の分散単位がＶＤＥＶ単位の場合、前記複数のＬＤＥＶのうち、前記追加されたＬＤＥＶの基になっているＶＤＥＶに基づいて構成される前記追加されたＬＤＥＶを含む複数のＬＤＥＶについて、オーナ権を同一のＭＰ−ＰＫに設定する
ことを特徴とする請求項２記載のストレージシステム。
【請求項４】
ＬＤＥＶの前記ＬＩは、そのＬＤＥＶについての前記（Ｅ１）及び（Ｅ２）によって決定された値がそのＬＤＥＶについての前記（Ｅ３）で割られることによって算出された値である、
請求項３記載のストレージシステム。
【請求項５】
複数の論理的な記憶デバイス（ＬＤＥＶ）の基になる仮想的な記憶デバイス（ＶＤＥＶ）の基になるＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）グループを構成する複数の物理的な記憶デバイス（ＰＤＥＶ）と、
外部装置からＩ／Ｏ（Input/Output）コマンドを処理するマイクロプロセッサを含み前記複数のＬＤＥＶのうちの少なくとも１つのＬＤＥＶのオーナ権を有するマイクロプロセッサパッケージ（ＭＰ−ＰＫ）を複数個と、
前記複数のＬＤＥＶの各々について決定された、ＬＤＥＶの重みを表す値（ＬＩ）、を記憶する記憶資源と、
前記複数のＬＤＥＶのうちの少なくとも１つのＬＤＥＶが関連付けられており前記Ｉ／Ｏコマンドを前記外部装置から受信し前記複数のＭＰ−ＰＫのうち前記受信したＩ／Ｏコマンドから特定されるＬＤＥＶのオーナ権を有するＭＰ−ＰＫへ前記受信したＩ／Ｏコマンドを転送するポートを複数個と
を備え、
前記複数のポート各々は、前記外部装置及び前記ＭＰ−ＰＫに接続されており、
前記複数のＰＤＥＶの各々は、前記ＭＰ−ＰＫに接続されており、
前記複数のＬＤＥＶの各々について、ＬＤＥＶの前記ＬＩは、
（Ｅ１）そのＬＤＥＶの基になっているＶＤＥＶの基になっているＲＡＩＤグループのＲＡＩＤレベル；
（Ｅ２）そのＬＤＥＶの基になっているＶＤＥＶの基になっているＲＡＩＤグループを構成するＰＤＥＶのタイプ；
（Ｅ３）そのＬＤＥＶの基になっているＶＤＥＶが有するＬＤＥＶの数、
を基に決定された値であり、
ＬＤＥＶが追加された場合に、いずれかのＭＰ−ＰＫが、
前記追加されたＬＤＥＶの基になっているＶＤＥＶの基になるＰＤＥＶのタイプがＳＳＤ（Solid State Drive）かどうかを判断し、
前記判断が肯定の場合、前記追加されたＬＤＥＶの基になっているＶＤＥＶについて、オーナ権の分散単位をＬＤＥＶ単位と設定し、
前記判断が否定の場合、前記追加されたＬＤＥＶの基になっているＶＤＥＶについて、オーナ権の分散単位をＶＤＥＶ単位と設定し、
ＭＰ−ＰＫが追加された場合に、いずれかのＭＰ−ＰＫが、
ＶＤＥＶについて分散単位がＬＤＥＶ単位かＶＤＥＶ単位かを判断し、
前記ＶＤＥＶについて分散単位がＬＤＥＶ単位の場合、そのＶＤＥＶの基になっているＬＤＥＶについて、（ｂ−１）そのＬＤＥＶのオーナ権を有するＭＰ−ＰＫを、ＡＬＩが最小のＭＰ−ＰＫに変更し、（ｂ−２）その（ｂ−１）の後のＭＰ−ＰＫのＡＬＩを、そのＬＤＥＶのＬＩを基に更新し、（ｂ−３）そのＶＤＥＶについて未だ（ｂ−１）及び（ｂ−２）が行われていないＬＤＥＶがあればそのＬＤＥＶについて（ｂ−１）及び（ｂ−３）を実行し、
前記ＶＤＥＶについて分散単位がＶＤＥＶ単位の場合、（ｃ）そのＶＤＥＶが基になっている全てのＬＤＥＶのオーナ権を有するＭＰ−ＰＫを、ＡＬＩが最小のＭＰ−ＰＫに変更する、
ことを特徴とするストレージシステム。
【請求項６】
いずれかのＭＰ−ＰＫが、各ＭＰ−ＰＫについて、そのＭＰ−ＰＫがオーナ権を有する１以上のＬＤＥＶの前記ＬＩの合計値であるＡＬＩを算出し、
いずれかのＭＰ−ＰＫが、前記複数のＭＰ−ＰＫのＡＬＩの平均値を算出し、
いずれかのＭＰ−ＰＫが、前記ＶＤＥＶについて分散単位がＬＤＥＶ単位の場合、そのＶＤＥＶのＬＤＥＶについて、そのＬＤＥＶのオーナ権を有するＭＰ−ＰＫをＡＬＩが最小のＭＰ−ＰＫに変更されても下記の（Ｈ１）及び（Ｈ２）の両方の条件、
（Ｈ１）そのＬＤＥＶのオーナ権を有するＭＰ−ＰＫのＡＬＩが前記平均値以上であること、
（Ｈ２）ＡＬＩが最小のＭＰ−ＰＫのＡＬＩのＡＬＩが前記平均値以下であること、
が維持されるか否かを判断し、その判断が肯定の場合に、そのＬＤＥＶについて前記（ｂ−１）及び（ｂ−２）を実行する、
ことを特徴とする請求項５記載のストレージシステム。
【請求項７】
いずれかのＭＰ−ＰＫが、前記ＶＤＥＶについて分散単位がＶＤＥＶ単位の場合、前記ＶＤＥＶが基になっている全てのＬＤＥＶについて、オーナ権を有するＭＰ−ＰＫがＡＬＩが最小のＭＰ−ＰＫに変更されても下記の（ｈ１）及び（ｈ２）の両方の条件、
（ｈ１）そのＶＤＥＶ内の全てのＬＤＥＶのオーナ権を有する１以上のＭＰ−ＰＫの各々についてＡＬＩが前記平均値以上である、
（ｈ２）ＡＬＩが最小のＭＰ−ＰＫのＡＬＩが前記平均値以下である、
が維持されるか否かを判断し、その判断が肯定の場合に、前記（ｃ）を実行する、
ことを特徴とする請求項６記載のストレージシステム。
【請求項８】
ＬＤＥＶの前記ＬＩは、そのＬＤＥＶについての前記（Ｅ１）及び（Ｅ２）によって決定された値がそのＬＤＥＶについての前記（Ｅ３）で割られることによって算出された値である、
請求項７記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサユニットを備えたストレージシステムに関する。
【背景技術】
【０００２】
複数のプロセッサユニットを備えたストレージシステムとして、例えば、特許文献１に開示のストレージシステムが知られている。
【０００３】
この種のストレージシステムでは、各プロセッサユニットに、複数のＬＤＥＶのうちの１以上のＬＤＥＶのオーナ権が付与される。ここで言う「ＬＤＥＶのオーナ権」とは、そのＬＤＥＶにアクセスする権限のことである。「ＬＤＥＶ」とは、ストレージシステムが管理する論理的な記憶デバイスのことである。
【０００４】
例えば、ストレージシステムが、プロセッサユニット＃０及び＃１を有し、且つ、ＬＤＥＶ＃０、＃１及び＃２を管理しており、プロセッサユニット＃０に、ＬＤＥＶ＃１のオーナ権が付与されているとする。このストレージシステムが、ＬＤＥＶ＃１に対するＩ／Ｏ（Input/Output）コマンドをストレージシステムが受信した場合、ＬＤＥＶ＃１のオーナ権を有するプロセッサユニット＃０が、そのＩ／Ｏコマンドを処理することになる。
【０００５】
一つのプロセッサユニットに複数のＬＤＥＶのオーナ権が集中すると、そのプロセッサユニットに負荷が集中することになる。特許文献１によれば、各プロセッサユニットの負荷が監視され、その監視の結果に応じて、オーナ権がプロセッサユニット間で変更される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２６９４２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ストレージシステムの構成が変更された後（例えば、ＬＤＥＶが追加された後、或いは、プロセッサユニットが追加された後）、ストレージシステムの運用が開始される（すなわち、ストレージシステムが、外部装置からＩ／Ｏコマンドを受信し処理し得るようになる）。各プロセッサユニットの負荷は、ストレージシステムの運用中に変化し得る。
【０００８】
通常、ストレージシステムの構成変更が行われてからプロセッサユニットの負荷が安定するまでに時間がかかる。このため、オーナ権の変更（負荷分散）が行われるまで待つ必要が生じる。
【０００９】
また、オーナ権の変更を行っている間、通常、ストレージシステムのＩ／Ｏ性能が低下する。なぜなら、オーナ権の変更のためには、種々の処理（例えば、ポートの設定変更処理や、プロセッサ間でＬＤＥＶに関する制御情報を移動する処理）が必要になるからである。
【００１０】
そこで、本発明の目的は、ストレージシステムのＩ／Ｏ性能になるべく影響を与えることなくプロセッサユニット間の負荷分散を行えるようにすることにある。
【課題を解決するための手段】
【００１１】
ＬＤＥＶに対するＩ／Ｏコマンドの数に応じて動的に変化することの無い静的な情報を基に、ＬＤＥＶのオーナ権の変更が行われる。具体的には、下記の通りである。
【００１２】
複数のプロセッサユニットに、外部装置からのＩ／Ｏ（Input/Output）コマンドを処理する二以上のプロセッサユニットが含まれている。
【００１３】
ストレーシステムの記憶資源（例えば、複数のプロセッサユニットからアクセス可能な共有メモリ）に、ＬＤＥＶ毎に決定された負荷指標が記憶される。各ＬＤＥＶの負荷指標は、ＬＤＥＶに対するＩ／Ｏコマンドの数に応じて動的に変化することが無い静的な値である。
【００１４】
複数のプロセッサユニットのいずれかが、以下の（Ｘ１）及び（Ｘ２）：
（Ｘ１）上記二以上のプロセッサユニットのそれぞれに割り当てられている負荷指標；
（Ｘ２）対象のＬＤＥＶの負荷指標、
を基に、上記二以上のプロセッサユニットの中から、対象のＬＤＥＶのオーナ権の割当先とするプロセッサユニットを選択し、そのオーナ権を、選択したプロセッサユニットに割り当てる。この処理を行うプロセッサユニットは、上記二以上のプロセッサユニットのいずれか（つまり、Ｉ／Ｏコマンドを処理し得るプロセッサユニット）であっても良いし、それとは別のプロセッサユニット（例えば、ＬＤＥＶのオーナ権の変更を行うがＩ／Ｏコマンドの処理を行わないプロセッサユニット）であっても良い。
【００１５】
プロセッサユニットについての上記（Ｘ１）の負荷指標は、そのプロセッサユニットに割り当てられている一以上のオーナ権にそれぞれ対応した一以上のＬＤＥＶの負荷指標に基づく値である。その値は、一以上の負荷指標を用いた計算式で算出された値（例えば、一以上の負荷指標の和）である。
【００１６】
プロセッサユニットは、１又は複数のプロセッサ（例えばマイクロプロセッサ）を有する。すなわち、プロセッサユニットは、１つのプロセッサであっても良いし、複数のプロセッサのグループであっても良い。
【００１７】
また、ＬＤＥＶの基になっているＰＤＥＶ（物理記憶デバイス）は、ストレージシステムに備えられていても良いし、ストレージシステムの外部（例えば別のストレージシステム）に備えられていても良い。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明の実施例１の概要を示す。
【図２】図２は、ストレージシステム１１１のハードウェア構成を示す。
【図３】図３は、ストレージシステム１１１での記憶領域の管理方式を示す。
【図４】図４は、ＭＰ２１３で実行されるコンピュータプログラム、及び、共有メモリ２１７内の構成情報４２０に含まれている情報を示す。
【図５】図５は、ＶＤＥＶテーブル４１１の構成を示す。
【図６】図６は、ＶＤＥＶセットアップ画面６０１を示す。
【図７】図７は、ＶＤＥＶセットアップ処理のフローを示す。
【図８】図８は、ＬＤＥＶテーブル４１２の構成を示す。
【図９】図９は、ＭＰ−ＰＫテーブル４１４の構成を示す。
【図１０】図１０は、ＬＤＥＶセットアップ画面１００１を示す。
【図１１】図１１は、ＬＤＥＶセットアップ処理のフローを示す。
【図１２】図１２は、オーナセットアップ処理のフローを示す。
【図１３】図１３は、ルーティングテーブル４１５（及びＬＵパステーブル４１３）の構成を示す。
【図１４】図１４は、ＬＵセットアップ画面１４０１を示す。
【図１５】図１５は、ＬＵセットアップ処理のフローを示す。
【図１６】図１６は、ＬＩ計算表を示す。
【図１７】図１７は、ＬＤＥＶ増設の全体の流れを示す。
【図１８】図１８は、本発明の実施例２の概要を示す。
【図１９】図１９は、実施例２においてＭＰ２１３で実行されるコンピュータプログラムを示す。
【図２０】図２０は、オーナ再分散処理のフローを示す。
【図２１】図２１は、ＭＰ−ＰＫ増設の全体の流れを示す。
【図２２】図２２は、実施例３でのストレージシステムでの記憶領域の管理方式を示す。
【図２３】図２３は、実施例３においてＭＰ２１３で実行されるコンピュータプログラムと、実施例３における構成情報２３０４を示す。
【図２４】図２４は、プールテーブル４１６の構成を示す。
【図２５】図２５は、プールＶＤＥＶセットアップ画面２５０１を示す。
【図２６】図２６は、プールＶＤＥＶセットアップ処理のフローを示す。
【図２７】図２７は、仮想ＬＤＥＶ増設の全体の流れを示す。
【符号の説明】
【００１９】
１１１・・・ストレージシステム
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して、本発明の幾つかの実施例を説明する。また、以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するマイクロプロセッサ（ＭＰ）によって処理が行われるものとする。
【実施例１】
【００２１】
図１は、本発明の実施例１の概要を示す。図１では、同種の要素の参照符号は、同一の親番号と異なる子符号との組合せで構成されている。しかし、以下の説明では、同種の構成要素を格別区別しない場合には、親番号のみを用いて説明する。
【００２２】
第一の通信ネットワーク（例えばＬＡＮ（Local Area Network）１０３）を介して、管理計算機１０１とストレージシステム１１１が互いに通信できる。
【００２３】
第二の通信ネットワーク（例えばＳＡＮ（Storage Area Network）１０４）を介して、ストレージシステム１１１が、複数（又は１つ）のホスト計算機（以下、ホスト）１０２からＩ／Ｏコマンドを受け付ける。
【００２４】
ストレージシステム１１１は、複数のポート１１２と、複数のマイクロプロセッサパッケージ（以下、ＭＰ−ＰＫ）１１５を有する。
【００２５】
各ポート１１２には、１以上のＬＵ１１３が関連付けられている。ＬＵ（Logical Unit）１１３に、ＬＤＥＶ１１６が関連付けられている。言い換えれば、ＬＤＥＶ１１６へのパスが、ポート１１２とＬＵ１１３の組合せで定義されている。
【００２６】
ホスト１０２は、ポート１１２とＬＵ１１３とを指定してＬＤＥＶ１１６へアクセスする。具体的には、例えば、ホスト１０２は、ポート番号とＬＵＮ（Logical Unit Number）とを含んだＩ／Ｏコマンドを送信する。この場合、ポート番号及びＬＵＮに対応したＬＤＥＶ１１６が特定され、特定されたＬＤＥＶ１１６のオーナ権を有するＭＰ−ＰＫ１１５に、そのＩ／Ｏコマンドが転送される。図１の例では、ＭＰ−ＰＫ１１５Ｄ以外のＭＰ−ＰＫ１１５Ａ、１１５Ｂ及び１１５Ｃには、それぞれ、２つのＬＤＥＶのオーナ権が割り当てられている。ポート１１２Ｄのポート番号とＬＵ１１３ＧのＬＵＮとを含んだＩ／Ｏコマンドが受信された場合、そのＩ／Ｏコマンドは、ポート１１２Ｄ及びＬＵ１１３Ｇに対応したＬＤＥＶ１１６Ｃのオーナ権を有するＭＰ−ＰＫ１１５Ｂに転送され、処理される。
【００２７】
本実施例では、ＬＤＥＶ１１６Ｋが追加されると、いずれかのＭＰ−ＰＫ１１５が、ＬＤＥＶ１１６ＫのＬＩ（Load Index）に基づき、ＡＬＩ（Assigned Load Index）が最も小さいＭＰ−ＰＫ１１５Ｄに、ＬＤＥＶ１１６Ｋのオーナ権を割り当てる。ＬＤＥＶのＬＩは、当該ＬＤＥＶへのＩ／Ｏコマンドを処理するために必要なＭＰ性能の指標であり、ＭＰ−ＰＫ１１５は、ＬＤＥＶに関する構成情報を基にＬＩを算出する。また、ＭＰ−ＰＫ１１５のＡＬＩは、そのＭＰ−ＰＫ１１５がオーナ権を有するＬＤＥＶのＬＩの総和である。ＭＰ−ＰＫ１１５は、各ＭＰ−ＰＫ１１５のＡＬＩがなるべく均等になるよう、ＬＤＥＶ１１６のオーナ権の割当先を決定することで、各ＭＰ−ＰＫ１１５の負荷を均等化する。
【００２８】
図２は、ストレージシステム１１１のハードウェア構成を示す。
【００２９】
ストレージシステム１１１は、１又は複数のディスクユニット２０５とコントローラに大別される。
【００３０】
ディスクユニット２０５は、ディスクドライブ２１８をＢＥ（Back End）ポート２１５と接続するためのエンクロージャーである。ディスクユニット２０５は、複数のディスクスロットを有し、各ディスクスロットにディスクドライブ２１８が挿される。これにより、ディスクユニット２０５は、複数のディスクドライブ２１８を有する。ディスクドライブ２１８は、物理記憶デバイス（ＰＤＥＶ）の一つである。ディスクドライブ２１８は、例えば、ＨＤＤ（Hard Disk Drive）又はＳＳＤ（Solid State Drive）である。ＨＤＤとしては、例えば、ＳＡＳ（Serial Attached SCSI）ドライブとＳＡＴＡ（Serial ATA（Advanced Technology Attachment））ドライブがある。これらに限られず、他の種類のディスクドライブ（例えば、ＦＣドライブ、ＤＶＤ（Digital Versatile Disk）ドライブ）が採用されても良い。同様に、ディスクドライブ２１８に限らず、他の種類のＰＤＥＶが採用されても良い。
【００３１】
コントローラは、複数のフロントエンドパッケージ（以下、ＦＥ−ＰＫ）２０１と、複数のＭＰ−ＰＫ１１５と、複数のキャッシュメモリパッケージ（以下、ＣＭ−ＰＫ）２０４と、複数のバックエンドパッケージ（以下、ＢＥ−ＰＫ）２０３と、ネットワークインタフェース２０２と、内部ネットワーク２１９とを有する。各パッケージが、内部ネットワーク（例えばクロスバスイッチ）２８０を介して相互に接続されている。なお、ＦＥ−ＰＫ２０１、ＭＰ−ＰＫ１１５、ＣＭ−ＰＫ２０４及びＢＥ−ＰＫ２０３の少なくとも一つの数は、１でも良い。本実施例では、ＭＰ−ＰＫ１１５毎にＬＤＥＶオーナ権が割り当てられるが、ＭＰ−ＰＫ１１５が１つの場合には、そのＭＰ−ＰＫ１１５が有する複数のＭＰ毎にＬＤＥＶオーナ権が割り当てられても良い。
【００３２】
ＦＥ−ＰＫ２０１は、一以上のＦＥ（Front End）ポート１１２と、ローカルルータ２１２とを有する。ＦＥポート１１２は、図１に示したポート１１２である。ＦＥポート１１２は、ホスト１０２からＩ／Ｏコマンド（ライトコマンド／リードコマンド）を受け付ける。ローカルルータ２１２は、図４に示すように、ルーティングテーブル４１５を有する。ローカルルータ２１２は、ルーティングテーブル４１５を基に、受信したＩ／Ｏコマンド内のポート番号及びＬＵＮに対応するＬＤＥＶのオーナＭＰ−ＰＫ（オーナ権を有するＭＰ−ＰＫ）１１５を特定し、そのオーナＭＰ−ＰＫ１１５に、そのＩ／Ｏコマンドを転送する。なお、ローカルルータ２１２は無くても良い。その場合、特定のＭＰ−ＰＫが、Ｉ／Ｏコマンドを受信し、ルーティングテーブル４１５を参照して、Ｉ／ＯコマンドをオーナＭＰ−ＰＫに転送しても良い。
【００３３】
ＭＰ−ＰＫ１１５は、複数（又は１つ）のＭＰ２１３と、ローカルメモリ２１４とを有する。ＭＰ２１３は、コンピュータプログラムを実行することで、種々の処理（例えば、ホスト１０２からのＩ／Ｏコマンドの処理、ＬＤＥＶオーナ権の変更）を実行する。ローカルメモリ２１４は、種々のデータ、例えば、ＭＰ２１３が実行するコンピュータプログラムや、コンピュータプログラムにおいて使用される制御情報を記憶することができる。ＭＰ−ＰＫ１１５は、ネットワークインタフェース２０２を通じて、管理計算機１０１と通信する。ネットワークインタフェース２０２は、通信インタフェース装置であり、例えばＬＡＮコントローラである。
【００３４】
ＣＭ−ＰＫ２０４は、一又は複数のメモリを有する。例えば、ＣＭ−ＰＫ２０４は、キャッシュメモリ２１６と、共有メモリ２１７とを有する。キャッシュメモリ２１６には、ホスト１０２からＬＤＥＶ１１６に書き込まれるホストデータや、ＬＤＥＶ１１６からホスト１０２によって読み出されるホストデータが一時的に記憶される。共有メモリ２１７は、ＭＰ−ＰＫ間で通信するための制御情報を記憶する。制御情報には、ストレージシステム１１１の構成に関する構成情報が含まれている。
【００３５】
ＢＥ−ＰＫ２０３は、一つ以上のＢＥポート２１５を有する。ＢＥポート２１５には、ディスクドライブ２１８が通信可能に接続される。
【００３６】
このストレージシステム１１１では、ライトコマンドが、例えば次のような処理流れで処理される。すなわち、ＦＥ−ＰＫ２０１のＦＥポート１１２が、ホスト１０２からライトコマンドを受信する。ローカルルータ２１２が、そのライトコマンド内のポート番号及びＬＵＮに対応するＬＤＥＶ（以下、この段落で「対象ＬＤＥＶ」と言う）のオーナＭＰ−ＰＫ１１５を特定し、そのオーナＭＰ−ＰＫ１１５に、そのライトコマンドを転送する。オーナＭＰ−ＰＫ１１５内のいずれかのＭＰ２１３が、そのライトコマンドに応答して、そのコマンドに従うデータ（ライトデータ）を、キャッシュメモリ２１６に書き込む。そのＭＰ２１３は、ライト完了をホスト１０２に報告する。オーナＭＰ−ＰＫ１１５内のいずれかのＭＰ２１３が、キャッシュメモリ２１６からライトデータを読み出し、そのライトデータを、対象ＬＤＥＶの基になっているディスクドライブ２１８に書き込む。
【００３７】
このストレージシステム１１１では、リードコマンドが、例えば次のような処理流れで処理される。すなわち、ＦＥ−ＰＫ２０１のＦＥポート１１２が、ホスト１０２からリードコマンドを受信する。ローカルルータ２１２が、そのリードコマンド内のポート番号及びＬＵＮに対応するＬＤＥＶ（以下、この段落で「対象ＬＤＥＶ」と言う）のオーナＭＰ−ＰＫ１１５を特定し、そのオーナＭＰ−ＰＫ１１５に、そのリードコマンドを転送する。オーナＭＰ−ＰＫ１１５内のいずれかのＭＰ２１３が、そのリードコマンドに応答して、対象ＬＤＥＶの基になっているディスクドライブ２１８から、そのコマンドに従うデータ（リードデータ）を読み出し、そのリードデータを、キャッシュメモリ２１６に書き込む。そのＭＰ２１３は、キャッシュメモリ２１６からリードデータを読み出し、読み出したリードデータを、ＦＥ−ＰＫ２０１を通じて、ホスト１０２に送信する。
【００３８】
図３は、ストレージシステム１１１での記憶領域の管理方式を示す。
【００３９】
複数のディスクドライブ２１８でＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）グループが構成されている。ＲＡＩＤグループに基づく記憶空間として、仮想デバイス（ＶＤＥＶ）３０１がある。図３に示すＶＤＥＶ３０１は、ＲＡＩＤレベルがＲＡＩＤ−５のＲＡＩＤグループに基づくデバイスである。ＶＤＥＶ３０１を基に、１又は複数のＬＤＥＶ１１６が形成される。
【００４０】
図４は、ＭＰ２１３で実行されるコンピュータプログラム、及び、共有メモリ２１７内の構成情報４２０に含まれている情報を示す。
【００４１】
構成情報４２０は、以下のテーブル：
ＶＤＥＶ３０１に関する情報が設定されているＶＤＥＶテーブル４１１；
ＬＤＥＶ１１６に関する情報が設定されているＬＤＥＶテーブル４１２；
パス（ＬＵとＬＤＥＶの関係）に関する情報が設定されているＬＵパステーブル４１３；
ＭＰ−ＰＫ１１５に関する情報が設定されているＭＰ−ＰＫテーブル４１４；
を含んでいる。
【００４２】
ＭＰ２１３で実行されるコンピュータプログラムとして、例えば、Ｉ／Ｏ処理プログラム４０２、ＶＤＥＶセットアップ処理プログラム４０３、ＬＤＥＶセットアップ処理プログラム４０４、ＭＰ−ＰＫ処理プログラム４０５、ＬＵセットアップ処理プログラム４０６及びオーナセットアップ処理プログラム４０７がある。
【００４３】
Ｉ／Ｏ処理プログラム４０２は、構成情報４２０を基に、ローカルルータ２１２から転送されて来たＩ／Ｏコマンドを処理する。Ｉ／Ｏコマンドの処理を高速化するために、構成情報４２０の一部がローカルメモリ２１４（図２参照）にコピーされて、そのコピーされた情報が参照されても良い。
【００４４】
ＶＤＥＶセットアップ処理プログラム４０３は、ＶＤＥＶ３０１をセットアップする（ＶＤＥＶテーブル４１１を設定する）。
【００４５】
ＬＤＥＶセットアップ処理プログラム４０４は、ＬＤＥＶ１１６をセットアップする（ＬＤＥＶテーブル４１２を設定する）。
【００４６】
ＭＰ−ＰＫ処理プログラム４０５は、ＭＰ−ＰＫ１１５をセットアップする（ＭＰ−ＰＫテーブル４１４を設定する）。
【００４７】
ＬＵセットアップ処理プログラム４０６は、ＬＵをセットアップする（ＬＵパステーブル４１３を設定する）。
【００４８】
オーナセットアップ処理プログラム４０７は、ＬＤＥＶセットアップ処理プログラム４０４から呼び出される。オーナセットアップ処理プログラム４０７は、ＬＤＥＶ１１６のオーナ権を設定する。
【００４９】
プログラム４０３〜４０６が、ネットワークＩＦ２０２を介して、管理計算機１０１との間で通信を行う。Ｉ／Ｏ処理プログラム４０２が、ＢＥポート２１５を通じてディスクドライブ２１８にアクセスする。
【００５０】
本実施例では、全てのＭＰ−ＰＫ１１５が、上述したプログラム４０２〜４０７を実行するが、少なくとも１つのＭＰ−ＰＫが、プログラム４０２を実行しなくても良い（この場合、そのＭＰ−ＰＫには、ＬＤＥＶオーナ権が割り当てられない）。
【００５１】
図５は、ＶＤＥＶテーブル４１１の構成を示す。
【００５２】
ＶＤＥＶテーブル４１１は、ＶＤＥＶ毎に、ＶＤＥＶ  ＩＤ、ステータス、ＲＡＩＤタイプ、ドライブタイプ、分散モード、及びディスクドライブスロットＩＤのリストを有する。以下、これらの要素を、一つのＶＤＥＶ（以下、図５〜７の説明において「対象ＶＤＥＶ」と言う）を例に採り、説明する。
【００５３】
ＶＤＥＶ  ＩＤは、対象ＶＤＥＶの識別子である。
【００５４】
ステータスは、対象ＶＤＥＶのステータスである。ステータスの値としては、例えば、対象ＶＤＥＶが搭載された状態である「Installed」、対象ＶＤＥＶが搭載されていない状態である「Not Installed」がある。
【００５５】
ＲＡＩＤタイプは、対象ＶＤＥＶの基になっているＲＡＩＤグループのＲＡＩＤタイプである。
【００５６】
ドライブタイプは、対象ＶＤＥＶの基になっているＲＡＩＤグループが有する各ディスクドライブのタイプである。本実施例では、ドライブタイプとして、「ＳＡＳ  ＨＤＤ」、「ＳＡＴＡ  ＨＤＤ」及び「ＳＳＤ」の３タイプがある。
【００５７】
分散モードは、ＬＤＥＶオーナ権の自動分散に関するモードである。分散モードの値としては、例えば、ＶＤＥＶ単位でＬＤＥＶオーナ権を設定する「ＶＤＥＶ」と、ＬＤＥＶ単位でＬＤＥＶオーナ権を設定する「ＬＤＥＶ」がある。分散モード「ＶＤＥＶ」の場合、対象ＶＤＥＶに含まれる全てのＬＤＥＶのオーナ権が一つのＭＰ−ＰＫ１１５に割り当てられる。一方、分散モード「ＬＤＥＶ」の場合、対象ＶＤＥＶに含まれる全てのＬＤＥＶのオーナ権が一つのＭＰ−ＰＫ１１５に割り当てられることもあれば、二以上のＭＰ−ＰＫ１１５に割り当てられることもある。
【００５８】
ディスクドライブスロットＩＤのリストは、対象ＶＤＥＶの基になっているＲＡＩＤグループを構成する各ディスクドライブが挿されているスロットのＩＤのリストである。
【００５９】
このテーブル４１１は、図６に示す画面６０１に入力された情報を基に設定される。
【００６０】
図６は、ＶＤＥＶセットアップ画面６０１を示す。
【００６１】
この画面６０１は、ＶＤＥＶテーブル４０３の各種パラメータを管理計算機１０１から入力するための画面である。この画面６０１に、管理計算機１０１のオペレータによって、対象ＶＤＥＶについてのＶＤＥＶ  ＩＤ、ディスクタイプ、ＲＡＩＤタイプ、ディスクスロット、及び分散モードが指定される。
【００６２】
ディスクスロットは、例えば以下のように指定される。すなわち、画面６０１に、各ディスクユニットについての複数のスロットに対応する複数のセルが表示され、オペレータ所望のスロットに対応したセルが指定される。オペレータ指定のＲＡＩＤタイプのＲＡＩＤグループは、オペレータに指定されたセルに対応したスロットに挿されているディスクドライブ（オペレータ所望のディスクタイプのディスクドライブ）で構成され、そのＲＡＩＤグループを基に、オペレータ指定のＶＤＥＶ  ＩＤのＶＤＥＶが設定される。
【００６３】
分散モードとして、マニュアルで、「ＶＤＥＶ」又は「ＬＤＥＶ」を設定できるが、それ以外に「ＡＵＴＯ」を指定可能である。分散モード「ＡＵＴＯ」が指定された場合は、ＶＤＥＶセットアップ処理プログラム４０３によって、自動で、分散モードとして「ＶＤＥＶ」及び「ＬＤＥＶ」のいずれかが設定される。
【００６４】
図７は、ＶＤＥＶセットアップ処理のフローを示す。
【００６５】
ＶＤＥＶセットアップ処理プログラム４０３が、図６の画面６０１に入力されたパラメータ（ＶＤＥＶ  ＩＤ、ディスクタイプ、ＲＡＩＤタイプ、ディスクスロットのＩＤ、分散モード）を管理計算機１０１から受信する（Ｓ７０１）。
【００６６】
プログラム４０３は、受信したパラメータのうち分散モード以外のパラメータを、ＶＤＥＶテーブル４１１に設定する（Ｓ７０２）。
【００６７】
プログラム４０３は、分散モードが「ＡＵＴＯ」か否かを判断し（Ｓ７０３）、この判断の結果が否定的であれば（Ｓ７０３：Ｎ）、受信した分散モード値をＶＤＥＶテーブル４１１に設定する（Ｓ７０５）。
【００６８】
Ｓ７０３の判断の結果が肯定的であれば（Ｓ７０３：Ｙ）、プログラム４０３は、ディスクタイプが「ＳＳＤ」か否かを判断する（Ｓ７０４）。
【００６９】
Ｓ７０４の判断の結果が肯定的であれば（Ｓ７０４：Ｙ）、プログラム４０３は、分散モード「ＬＤＥＶ」をＶＤＥＶテーブル４１１に設定する（Ｓ７０６）。なぜなら、ディスクタイプがＳＳＤの場合、ＳＳＤよりＭＰの方が性能ボトルネックになりやすく、ＬＤＥＶ単位でＬＤＥＶオーナ権を設定することで、ＭＰ性能ボトルネックの解消が期待できるからである。
【００７０】
一方、Ｓ７０４の判断の結果が否定的であれば（Ｓ７０４：Ｎ）、プログラム４０３は、分散モード「ＶＤＥＶ」をＶＤＥＶテーブル４１１に設定する（Ｓ７０７）。なぜなら、ディスクタイプがＳＡＳ  ＨＤＤ又はＳＡＴＡ  ＨＤＤの場合、ＨＤＤの性能がボトルネックになりやすく、ＶＤＥＶ単位でＬＤＥＶオーナ権を設定することで、ＭＰ−ＰＫ間の負荷の均等化が期待できるからである。
【００７１】
図８は、ＬＤＥＶテーブル４１２の構成を示す。
【００７２】
ＬＤＥＶテーブル４１２は、ＬＤＥＶ毎に、ＬＤＥＶ  ＩＤ、ステータス、ＶＤＥＶ  ＩＤ、スタートアドレス、ＬＤＥＶサイズ、ＬＩ（Load Index）、オーナモード及びオーナＭＰ−ＰＫ  ＩＤを有する。以下、これらの要素を、一つのＬＤＥＶ（以下、図８〜図１２及び図１６の説明において「対象ＬＤＥＶ」と言う）を例に採り、説明する。
【００７３】
ＬＤＥＶ  ＩＤは、対象ＬＤＥＶの識別子である。
【００７４】
ステータスは、対象ＬＤＥＶのステータスである。ステータスの値としては、例えば、対象ＬＤＥＶが搭載された状態である「Installed」がある。
【００７５】
ＶＤＥＶ  ＩＤは、対象ＬＤＥＶの基になっているＶＤＥＶの識別子である。
【００７６】
スタートアドレスは、対象ＬＤＥＶがＶＤＥＶのアドレス空間のどのアドレスから開始されているか（つまり、ＶＤＥＶにおけるＬＤＥＶの開始位置）を表す。
【００７７】
ＬＤＥＶサイズは、対象ＬＤＥＶの記憶容量である。
【００７８】
オーナモードは、対象ＬＤＥＶのオーナ権の設定モードを示す。オーナモードの値としては、例えば、「ＡＵＴＯ」と「ＭＡＮＵＡＬ」がある。「ＡＵＴＯ」ならば、オーナセットアップ処理プログラム４０７によって自動で対象ＬＤＥＶのオーナＭＰ−ＰＫが決定される。「ＭＡＮＵＡＬ」ならば、オペレータから指定されたＭＰ−ＰＫが対象ＬＤＥＶのオーナＭＰ−ＰＫとされる。
【００７９】
オーナＭＰ−ＰＫ  ＩＤは、対象ＬＤＥＶのオーナ権が割り当てられたＭＰ−ＰＫの識別子（つまり、対象ＬＤＥＶに対するＩ／Ｏ処理を行うＭＰ−ＰＫの識別子）である。
【００８０】
ＬＩは、ＬＤＥＶに関する構成を基に決定された値であり、ＬＤＥＶの重みである。別の言い方をすれば、ＬＩは、Ｉ／Ｏコマンドの処理による最大ＭＰ負荷を相対的に比較するための指標である。対象ＬＤＥＶのＬＩは、種々の要素を基に決定することができるが、本実施例では、下記の三つの要素：
（Ｅ１）対象ＬＤＥＶの基になっているＶＤＥＶのＲＡＩＤレベル；
（Ｅ２）対象ＬＤＥＶの基になっているＶＤＥＶのディスクタイプ；
（Ｅ３）対象ＬＤＥＶの基になっている１つのＶＤＥＶが有するＬＤＥＶの数、
を基に、決定される。例えば、ＬＩは、要素（Ｅ１）及び（Ｅ２）によって決定された値が要素（Ｅ３）で割られることによって算出される。具体的には、例えば、アクセスパターンが、リード：ライト＝１：１であり、キャッシュヒット率が５０％であるとした場合、対象ＬＤＥＶのＬＩは、下記（１）式、
ＬＩ＝（１つのＩ／Ｏ処理あたりの平均時間（ＭＰが要する時間））×（ドライブ性能)×（対象ＬＤＥＶの基になっているＶＤＥＶの基になっているディスクドライブの数）÷（１つのＩ／Ｏ処理あたりの平均ドライブアクセス回数）÷（対象ＬＤＥＶの基になっているＶＤＥＶに含まれるＬＤＥＶの数）・・・・（１）
を計算することで、算出することができる。
【００８１】
「キャッシュヒット」とは、キャッシュメモリ２１６にアクセスしたときにライト或いはリードの対象のデータが見つかることである。「キャッシュヒット率」とは、キャッシュヒットの確率である。
【００８２】
「ドライブ性能」は、例えば、ディスクドライブの単位時間当たりに処理可能なＩ／Ｏコマンド数（ＩＯＰＳ）、或いは、単位時間当りのディスク回転数（ｒｐｍ）で表される。
【００８３】
（１つのＩ／Ｏ処理あたりの平均時間（ＭＰが行う処理にかかる時間））や、（１つのＩ／Ｏ処理あたりの平均ドライブアクセス回数）は、例えばＶＤＥＶのＲＡＩＤタイプがＲＡＩＤ５の場合、パリティ生成に伴う処理やディスクアクセスが必要なため、ＲＡＩＤタイプがＲＡＩＤ１のＶＤＥＶより多い。つまり、これらの値は、ＲＡＩＤタイプに応じて異なる。
【００８４】
そこで、図１６に示すようなＬＩ計算表を用いて、ＬＩが、下記（２）式、
ＬＩ＝（計算表に記述されている値）÷（対象ＬＤＥＶの基になっているＶＤＥＶに含まれるＬＤＥＶの数）・・・・（２）
を計算することで、算出されても良い。
【００８５】
図１６に示すＬＩ計算表は、ＲＡＩＤタイプとディスクタイプに応じたＶＤＥＶのＬＩを示す表である。
【００８６】
ＬＩ計算表の各数値は、人間によって決定された経験的な値であっても良いが、近似的には以下のように計算することができる。
【００８７】
すなわち、アクセスパターンがリード：ライト＝１：１であるすると、ＲＡＩＤタイプのディスクドライブへのアクセス回数との関係は、下記の通り：
（ＲＡＩＤ１）リードは１回、ライトは２回、合計３回；
（ＲＡＩＤ５）リードは１回、ライトは３回、合計４回；
（ＲＡＩＤ６）リードは１回、ライトは５回、合計６回；
となる。ＭＰ処理時間は、ディスクドライブへのアクセス回数にほぼ比例する。よって、両者は相殺されると考えられる。このため、ＶＤＥＶ全体のＬＩは、（ドライブ性能）ｘ（１ＶＤＥＶ当たりのドライブ数）で計算される。図１６の例では、ＳＡＳ  ＨＤＤのドライブ性能は２００ＩＯＰＳ、ＳＡＴＡ  ＨＤＤのドライブ性能は１５０ＩＯＰＳ、ＳＳＤのドライブ性能は１００００ＩＯＰＳとされている。このため、図１６によれば、ＲＡＩＤタイプが「ＲＡＩＤ１（２Ｄ２Ｐ）」について、ディスクタイプが「ＳＡＳ  ＨＤＤ」の場合、ＶＤＥＶのＬＩは８００（２００ＩＯＰＳ×４）とされ、ディスクタイプが「ＳＡＴＡ  ＨＤＤ」の場合、ＶＤＥＶのＬＩは６００（１５０ＩＯＰＳ×４）とされ、ディスクタイプが「ＳＳＤ」の場合、ＶＤＥＶのＬＩは４００００（１００００ＩＯＰＳ×４）とされる。
【００８８】
図９は、ＭＰ−ＰＫテーブル４１４の構成を示す。
【００８９】
ＭＰ−ＰＫテーブル４１４は、ＭＰ−ＰＫ毎に、ＭＰ−ＰＫ  ＩＤ、ステータス及びＡＬＩ（Assigned Load Index）を有する。以下、これらの要素を、一つのＭＰ−ＰＫ（以下、図９〜図１２の説明において「対象ＭＰ−ＰＫ」と言う）を例に採り、説明する。
【００９０】
ＭＰ−ＰＫ  ＩＤは、ＭＰ−ＰＫの識別子である。
【００９１】
ステータスは、対象ＭＰ−ＰＫのステータスである。ステータスの値としては、例えば、対象ＭＰ−ＰＫが搭載された状態である「Installed」と、対象ＭＰ−ＰＫが搭載されていない状態である「Not-Installed」がある。
【００９２】
ＡＬＩは、割り当てられている全てのオーナ権に対応したＬＤＥＶのＬＩの総和である。
【００９３】
ＭＰ−ＰＫセットアップ処理プログラム４０５は、対象ＭＰ−ＰＫが搭載された場合、対象ＭＰ−ＰＫのステータスを「Not-Installed」から「Installed」に変更し、対象ＭＰ−ＰＫのＡＬＩとして「０」を設定する。
【００９４】
図１０は、ＬＤＥＶセットアップ画面１００１を示す。
【００９５】
この画面１００１は、対象ＬＤＥＶの基とするＶＤＥＶのＩＤと、そのＶＤＥＶを基に作成されるＬＤＥＶの基準ＩＤ（例えばスタートＩＤ）と、そのＶＤＥＶを基に作成されるＬＤＥＶの数（ＬＤＥＶ  ＮＵＭ）を入力するための画面である。基準ＩＤを基準（例えばスタート）としたＩＤが、各ＬＤＥＶのＩＤとして設定される。また、この画面１００１には、対象ＬＤＥＶのオーナＭＰ−ＰＫのＩＤを設定可能である。対象ＬＤＥＶのオーナＭＰ−ＰＫのＩＤとして、「ＡＵＴＯ」が指定された場合、オーナＭＰ−ＰＫは自動で決定される。
【００９６】
図１１は、ＬＤＥＶセットアップ処理のフローを示す。
【００９７】
ＬＤＥＶセットアップ処理プログラム４０４が、図１０の画面１００１に入力されたパラメータ（ＶＤＥＶ  ＩＤ、ＬＤＥＶ  ＩＤ、ＬＤＥＶ数、ＬＤＥＶ毎のオーナＭＰ−ＰＫ  ＩＤ）を管理計算機１０１から受信する（Ｓ１１０１）。
【００９８】
プログラム４０４が、受信したパラメータのうちオーナＭＰ−ＰＫ  ＩＤ以外のパラメータを、ＬＤＥＶテーブル４１２に設定する（Ｓ１１０２）。
【００９９】
そして、プログラム４０４が、オーナセットアップ処理プログラム４０７を呼び出す（Ｓ１１０３）。
【０１００】
図１２は、オーナセットアップ処理のフローを示す。
【０１０１】
オーナセットアップ処理プログラム４０７は、ＭＰ−ＰＫテーブル４１４を参照して、ＡＬＩが最も小さいＭＰ−ＰＫ（以下、ＭＰ−ＰＫ“Ｘ”）を選択する（Ｓ１２０１）。そして、オーナセットアップ処理プログラム４０７は、画面１００１で指定された各対象ＬＤＥＶについて、以下のＳ１２０３〜Ｓ１２０７を行う。
【０１０２】
Ｓ１２０３では、プログラム４０７は、対象ＬＤＥＶのオーナモードが「ＡＵＴＯ」か否かを判断する。この判断の結果が肯定的であれば（Ｓ１２０３：Ｙ）、Ｓ１２０４が行われ、この判断の結果が否定的であれば（Ｓ１２０３：Ｎ）、Ｓ１２０８が行われる。
【０１０３】
Ｓ１２０４では、プログラム４０７は、ＭＰ−ＰＫ“Ｘ”のＩＤを、対象ＬＤＥＶのオーナＭＰ−ＰＫ  ＩＤとして、ＬＤＥＶテーブル４１２に設定する。
【０１０４】
Ｓ１２０５では、プログラム４０７は、対象ＬＤＥＶのオーナＭＰ−ＰＫのＡＬＩに、対象ＬＤＥＶのＬＩを加算する。
【０１０５】
Ｓ１２０６では、プログラム４０７は、対象ＬＤＥＶを有するＶＤＥＶ（画面１００１で指定されたＶＤＥＶ  ＩＤから識別されるＶＤＥＶ）の分散モードが「ＬＤＥＶ」か否かを判断する。この判断の結果が肯定的であれば（Ｓ１２０６：Ｙ）、Ｓ１２０７が行われ、この判断の結果が否定的であれば（Ｓ１２０６：Ｎ）、Ｓ１２０７がスキップされる。
【０１０６】
Ｓ１２０７では、プログラム４０７は、ＭＰ−ＰＫテーブル４１４を参照して、ＡＬＩが最も小さいＭＰ−ＰＫ“Ｘ”を選択する。ここで選択されたＭＰ−ＰＫ“Ｘ”は、Ｓ１２０１で選択されたＭＰ−ＰＫ“Ｘ”とは異なる場合がある。なぜなら、Ｓ１２０１で選択されたＭＰ−ＰＫ“Ｘ”のＡＬＩがＳ１２０５で更新され、その結果、Ｓ１２０１で選択されたＭＰ−ＰＫ“Ｘ”のＡＬＩが他のＭＰ−ＰＫのＡＬＩを超える可能性があるからである。つまり、分散モードが「ＬＤＥＶ」の場合には、１つの対象ＬＤＥＶのオーナ権が割り当てられる都度に、ＡＬＩが最も小さいＭＰ−ＰＫ“Ｘ”が再選択されることになる。
【０１０７】
Ｓ１２０８では、プログラム４０７は、画面１００１で入力されたＭＰ−ＰＫ  ＩＤを、対象ＬＤＥＶのオーナＭＰ−ＰＫ  ＩＤとして、ＬＤＥＶテーブル４１２に設定する。
【０１０８】
図１３は、ルーティングテーブル４１５（及びＬＵパステーブル４１３）の構成を示す。
【０１０９】
ルーティングテーブル４１５（及びＬＵパステーブル４１３）は、ＦＥポート１１２毎に、ＦＥポートＩＤ、ＬＵＮ、ＬＤＥＶ  ＩＤ、及びオーナＭＰ−ＰＫ  ＩＤを有する。以下、これらの要素を、一つのＦＥポート（以下、図１３〜１５の説明において「対象ＦＥポート」と言う）を例に採り、説明する。
【０１１０】
ＦＥポートＩＤは、対象ＦＥポートの識別子（前述したポート番号）である。
【０１１１】
ＬＵＮは、対象ＦＥポートに関連付けられているＬＵの番号である。
【０１１２】
ＬＤＥＶ  ＩＤは、対象ＦＥポートに対応したＬＵＮに関連付けられているＬＤＥＶの識別子である。
【０１１３】
オーナＭＰ−ＰＫ  ＩＤは、対象ＦＥポートに対応したＬＤＥＶのオーナ権が割り当てられているＭＰ−ＰＫの識別子である。
【０１１４】
図１４は、ＬＵセットアップ画面１４０１を示す。
【０１１５】
この画面１４０１は、ルーティングテーブル４１５（及びＬＵパステーブル４１３）の各種パラメータを管理計算機１０１から入力するための画面である。この画面１４０１に、管理計算機１０１のオペレータによって、対象ＦＥポートについて、ＦＥポート  ＩＤ、ＦＥポートに関連付けるＬＵＮ、そのＬＵＮに関連付けるＬＤＥＶ  ＩＤが指定される。
【０１１６】
図１５は、ＬＵセットアップ処理のフローを示す。
【０１１７】
ＬＵセットアップ処理プログラム４０６が、図１４の画面１４０１に入力されたパラメータ（ＦＥポート  ＩＤ、ＬＵＮ、ＬＤＥＶ  ＩＤ）を管理計算機１０１から受信する（Ｓ１５０１）。
【０１１８】
プログラム４０６は、受信したパラメータを、ＬＵパステーブル４１３に設定する（Ｓ１５０２）。
【０１１９】
また、プログラム４０６は、受信したパラメータを、ルーティングテーブル４１５に設定する（Ｓ１５０２）。
【０１２０】
図１７は、ＬＤＥＶ増設の全体の流れを示す。
【０１２１】
オペレータ１００が、１又は複数のディスクドライブ２１８（例えばＲＡＩＤグループ）をストレージシステム１１１に追加する（Ｓ１７０１）。なお、余剰のディスクドライブ２１８があれば、Ｓ１７０１は必ずしも行われなくても良い。
【０１２２】
管理計算機１０１が、ＶＤＥＶセットアップ画面６０１（図６参照）を表示し、オペレータからパラメータの入力を受ける（Ｓ１７０２）。管理計算機１０１が、入力されたパラメータをストレージシステム１１１に送信する。
【０１２３】
ＶＤＥＶセットアップ処理プログラム４０３が、ＶＤＥＶセットアップ処理（図７参照）を行う（Ｓ１７０３）。ここでは、前述したように、パラメータとして入力された分散モードが「ＡＵＴＯ」であり、ＶＤＥＶのディスクタイプがＳＳＤであれば、分散モードとして「ＬＤＥＶ」がＶＤＥＶテーブル４１２に設定される。一方、パラメータとして入力された分散モードが「ＡＵＴＯ」であり、ＶＤＥＶのディスクタイプがＳＳＤ以外（ＳＡＴＡ  ＨＤＤ又はＳＡＳ  ＨＤＤ）であれば、分散モードとして「ＶＤＥＶ」がＶＤＥＶテーブル４１２に設定される。
【０１２４】
管理計算機１０１が、ＬＤＥＶセットアップ画面１００１（図１０参照）を表示し、オペレータからパラメータの入力を受ける（Ｓ１７０４）。管理計算機１０１が、入力されたパラメータをストレージシステム１１１に送信する。
【０１２５】
ＬＤＥＶセットアップ処理プログラム４０４が、ＬＤＥＶセットアップ処理（図１１参照）を行う（Ｓ１７０５）。その処理では、前述したように、ＬＤＥＶセットアップ処理プログラム４０４が、オーナセットアップ処理プログラム４０７を呼び出す。
【０１２６】
オーナセットアップ処理プログラム４０７が、オーナセットアップ処理（図１２参照）を行う（Ｓ１７０６）。その処理では、ＡＬＩが最少のＭＰ−ＰＫに、追加されたＬＤＥＶのオーナ権が割り当てられる。追加されたＬＤＥＶを有するＶＤＥＶ（新たに設定されたＶＤＥＶ）の分散モードが「ＶＤＥＶ」であれば、オーナセットアップ処理の開始時点でＡＬＩが最小のＭＰ−ＰＫに、そのＶＤＥＶに含まれている全てのＬＤＥＶのオーナ権が割り当てられる。一方、そのＶＤＥＶの分散モードが「ＬＤＥＶ」であれば、そのＶＤＥＶ内の１つのＬＤＥＶのオーナ権が、ＡＬＩが最小のＭＰ−ＰＫに割り当てられ、且つ、そのＭＰ−ＰＫのＡＬＩが更新される（そのＡＬＩにＬＤＥＶのＬＩが加算される）都度に、ＡＬＩが最小のＭＰ−ＰＫが再選択される。
【０１２７】
管理計算機１０１が、ＬＵセットアップ画面１４０１（図１４参照）を表示し、オペレータからパラメータの入力を受ける（Ｓ１７０７）。管理計算機１０１が、入力されたパラメータをストレージシステム１１１に送信する。
【０１２８】
ＬＵセットアップ処理プログラム４０６が、ＬＵセットアップ処理（図１５参照）を行う（Ｓ１７０８）。
【０１２９】
以上、本発明の実施例１によれば、ＬＤＥＶが追加された直後、つまり構成変更の直後に、そのＬＤＥＶが、ＡＬＩが最小のＭＰ−ＰＫに割り当てられる。このため、構成変更の直後から、負荷分散が完了した状態での運用が可能になる。言い換えれば、ストレージシステム１１１の運用中（Ｉ／Ｏコマンドをホストから受け付けて処理する期間中）以外の期間（例えば保守中）に、ＭＰ−ＰＫ間での負荷分散が完了するので、ストレージシステム１１１のＩ／Ｏ性能に悪影響を与えないようにすることができる。
【実施例２】
【０１３０】
以下、本発明の実施例２を説明する。その際、実施例１との相違点を主に説明し、実施例１との共通点については説明を省略或いは簡略する（これは、後述の実施例３についても同様である）。
【０１３１】
図１８は、本発明の実施例２の概要を示す。
【０１３２】
本実施例では、ＭＰ−ＰＫが追加されると、ＬＤＥＶオーナ権の変更（再分散）が行われる。具体的には、例えば、図１８に示すように、ＭＰ−ＰＫ１１５Ｃ及び１１５Ｄが追加されたとする。この場合、ＬＤＥＶ１１６Ｌのオーナ権が、ＭＰ−ＰＫ１１５ＡからＭＰ−ＰＫ１１５Ｃに変更され、ＬＤＥＶ１１６Ｍのオーナ権が、ＭＰ−ＰＫ１１５ＢからＭＰ−ＰＫ１１５Ｄに変更される。つまり、ＭＰ−ＰＫ１１５の追加を契機として、追加されたＭＰ−ＰＫを含む複数のＭＰ−ＰＫにおける負荷が分散される。
【０１３３】
図１９は、実施例２においてＭＰ２１３で実行されるコンピュータプログラムを示す。
【０１３４】
ＭＰ２１３では、オーナ再分散処理プログラム４０８が実行される。オーナ再分散処理プログラム４０８は、追加されたＭＰ−ＰＫを含む複数のＭＰ−ＰＫのＡＬＩが平均化されるよう、ＬＤＥＶオーナ権の再分散（変更）を行う。
【０１３５】
図２０は、オーナ再分散処理のフローを示す。
【０１３６】
オーナ再分散処理プログラム４０８は、ＭＰ−ＰＫテーブル４１４を参照し、追加されたＭＰ−ＰＫを含む複数のＭＰ−ＰＫのＡＬＩの平均値を計算する（Ｓ２００１）。ここで算出された平均値は、オーナ再分散の際に使用される目標値である。目標値は、平均値に限らず、他種の値であっても良い。
【０１３７】
ストレージシステム１８０１で管理されている全てのＶＤＥＶの各々について、Ｓ２００３〜Ｓ２００８が行われる。或る一つのＶＤＥＶ（以下、図２０の説明において「対象ＶＤＥＶ」と言う）を例に採り、Ｓ２００３〜Ｓ２００８を説明する。
【０１３８】
Ｓ２００３では、プログラム４０８が、ＶＤＥＶテーブル４１１を参照し、対象ＶＤＥＶの分散モードが「ＬＤＥＶ」か否かを判断する。この判断の結果が肯定的であれば（Ｓ２００３：Ｙ）、対象ＶＤＥＶ内の各ＬＤＥＶについて、Ｓ２００５及びＳ２００６が行われる。一方、この判断の結果が否定的であれば（Ｓ２００３：Ｎ）、Ｓ２００７が行われる。
【０１３９】
Ｓ２００５では、プログラム４０８が、対象ＶＤＥＶ内の対象のＬＤＥＶのオーナ権を変更する必要があるか否かを判断する。具体的には、例えば、オーナ再分散処理プログラム４０８は、対象ＬＤＥＶのオーナ権をＡＬＩが最小のＭＰ−ＰＫに移しても下記の（Ｈ１）及び（Ｈ２）の両方の条件：
（Ｈ１）対象ＬＤＥＶの現在のオーナＭＰ−ＰＫのＡＬＩ“Ｐ”が、ステップ２００１で算出された平均値“ＡＶＥ”以上になる（つまり、ＡＬＩ“Ｐ”から対象ＬＤＥＶのＬＩを引いた値が平均値“ＡＶＥ”以上になる）；
（Ｈ２）ＡＬＩが最小のＭＰ−ＰＫのＡＬＩ“Ｑ”が、ステップ２００１で算出された平均値“ＡＶＥ”以下になる（つまり、ＡＬＩ“Ｑ”と対象ＬＤＥＶのＬＩとの和が平均値“ＡＶＥ”以下になる）、
が維持されれば、オーナ権の変更が必要と判断する（つまり、Ｓ２００５の判断の結果が肯定的となる）。言い換えれば、（Ｈ１）及び（Ｈ２）のいずれか一方でも満たされなければ、オーナ権の変更が不要と判断される（つまり、Ｓ２００５の判断の結果が否定的となる）。これにより、ＬＤＥＶオーナ権が必要以上に変更されることを防ぐことができ、以って、性能の低下を抑えることができる。
【０１４０】
Ｓ２００５の判断の結果が肯定的の場合（Ｓ２００５：Ｙ）、Ｓ２００６が行われ、Ｓ２００５の判断の結果が否定的の場合（Ｓ２００５：Ｎ）、Ｓ２００６がスキップされ、別のＬＤＥＶについて再度Ｓ２００５が行われる。
【０１４１】
Ｓ２００６では、プログラム４０８が、対象ＬＤＥＶのオーナ権をＡＬＩが最小のＭＰ−ＰＫに変更し、変更元のＭＰ−ＰＫのＡＬＩ“Ｐ”の更新（つまり、更新後のＡＬＩ＝ＡＬＩ“Ｐ”−（対象ＬＤＥＶのＬＩ））と、変更先のＭＰ−ＰＫのＡＬＩ“Ｑ”の更新（つまり、更新後のＡＬＩ＝ＡＬＩ“Ｑ”＋（対象ＬＤＥＶのＬＩ））とを行う。
【０１４２】
Ｓ２００７では、プログラム４０８が、対象ＶＤＥＶ内の全てのＬＤＥＶのオーナ権を変更する必要があるか否かを判断する。具体的には、例えば、オーナ再分散処理プログラム４０８は、対象ＶＤＥＶ内の全てのＬＤＥＶのオーナ権をＡＬＩが最小のＭＰ−ＰＫに移しても下記の（ｈ１）及び（ｈ２）の両方の条件：
（ｈ１）対象ＶＤＥＶ内の全てのＬＤＥＶの現在のオーナＭＰ−ＰＫのＡＬＩ“ｐ”が、ステップ２００１で算出された平均値“ＡＶＥ”以上になる（つまり、ＡＬＩ“ｐ”から対象ＶＤＥＶ内の全てのＬＤＥＶのＬＩの和“ｋ”を引いた値が平均値“ＡＶＥ”以上になる）；
（ｈ２）ＡＬＩが最小のＭＰ−ＰＫのＡＬＩ“ｑ”が、ステップ２００１で算出された平均値“ＡＶＥ”以下になる（つまり、ＡＬＩ“ｑ”と上記値“ｋ”との和が平均値“ＡＶＥ”以下になる）、
が維持されれば、オーナ権の変更が必要と判断する（つまり、Ｓ２００７の判断の結果が肯定的となる）。言い換えれば、（ｈ１）及び（ｈ２）のいずれか一方でも満たされなければ、オーナ権の変更が不要と判断される（つまり、Ｓ２００７の判断の結果が否定的となる）。これにより、ＬＤＥＶオーナ権が必要以上に変更されることを防ぐことができ、以って、性能の低下を抑えることができる。
【０１４３】
Ｓ２００７の判断の結果が肯定的の場合（Ｓ２００７：Ｙ）、Ｓ２００８が行われ、Ｓ２００７の判断の結果が否定的の場合（Ｓ２００７：Ｎ）、Ｓ２００８がスキップされる。
【０１４４】
Ｓ２００８では、プログラム４０８が、対象ＶＤＥＶ内の全てのＬＤＥＶのオーナ権をＡＬＩが最小のＭＰ−ＰＫに変更し、変更元のＭＰ−ＰＫのＡＬＩ“ｐ”の更新（つまり、更新後のＡＬＩ＝ＡＬＩ“ｐ”−上記値“ｋ”）と、変更先のＭＰ−ＰＫのＡＬＩ“ｑ”の更新（つまり、更新後のＡＬＩ＝ＡＬＩ“ｑ”＋上記値“ｋ”）とを行う。
【０１４５】
Ｓ２００６及びＳ２００８では、ＬＤＥＶのオーナモードが「ＭＡＮＵＡＬ」の場合には、そのＬＤＥＶのオーナ権の変更は行われない。
【０１４６】
図２１は、ＭＰ−ＰＫ増設の全体の流れを示す。
【０１４７】
オペレータ１００が、１又は複数のＭＰ−ＰＫ１１５をストレージシステム１８０１に追加する（Ｓ２１０１）。
【０１４８】
管理計算機１０１が、オーナ再分散をストレージシステム１８０１に依頼する（Ｓ２１０２）。
【０１４９】
オーナ再分散処理プログラム４０８が、その依頼に応答して、オーナ再分散処理（図２０参照）を行う。
以上が、本発明の実施例２の説明である。なお、オーナ再分散処理の契機は、ＭＰ−ＰＫの追加に限らない。例えば、ＬＤＥＶが削除されたときに行われても良い。但し、ＬＤＥＶの削除のように、ストレージシステム１８０１の全体として負荷が軽減されるイベント（負荷軽減イベント）が行われた場合には、そのイベントの直後にはオーナ再分散処理は行われなくても良い。例えば、負荷軽減イベントが行われてから所定のイベントが検出されるまでは、オーナ再分散は行われなくても良い。所定のイベントとは、例えば、以下のイベント（Ａ）〜（Ｃ）；
（Ａ）オペレータから管理計算機１０１を通じてオーナ再分散指示を受信した；
（Ｂ）ストレージシステム１８０１の全体としての負荷が所定値以下になった；
（Ｃ）現在時刻が或る時刻を過ぎた（例えば夜間の時間帯になった）；
のうちの少なくとも１つである。負荷軽減イベントの直後にオーナ再分散処理を行わないとする理由は、ＭＰ−ＰＫ間での負荷分散よりも、ＬＤＥＶオーナ権の変更に伴う性能の一時的な低下を抑えることが好ましいと考えられることにある。
【０１５０】
本発明の実施例２によれば、ＭＰ−ＰＫの追加という構成変更の直後に、オーナ再分散処理が行われる。構成変更の直後のオーナ再分散処理が保守期間中に完了すれば、負荷分散が完了した状態での運用が可能になる。
【実施例３】
【０１５１】
図２２は、実施例３でのストレージシステムでの記憶領域の管理方式を示す。
【０１５２】
ＶＤＥＶ３０１を基に形成されたＬＤＥＶ１１６としては、実施例１と同様にホスト１０２に提供されるＬＤＥＶもあれば、図２２に示すように、ホスト１０２に提供されずプールＶＤＥＶ３５１の構成要素とされるＬＤＥＶ（以下、プールＬＤＥＶ）１１６もある。図２２では、３つのプールＬＤＥＶ１１６で一つのプールＶＤＥＶ３５１が構成されている。
【０１５３】
プールＶＤＥＶ３５１は、複数の実領域を有する。プールＶＤＥＶ３５１に、仮想ＬＤＥＶ２１１６が関連付けられる。仮想ＬＤＥＶ２１１６は、複数の仮想領域（アドレス空間）を有する。
【０１５４】
仮想ＬＤＥＶ２１１６に対するＩ／Ｏ処理は、例えば以下の通りである。
【０１５５】
すなわち、仮想ＬＤＥＶ２１１６に対するライトコマンドが受領された場合、そのコマンドで指定されている仮想領域（ライト仮想領域）に、実領域が割り当てられているか否かが判断される。割り当てられていれば、その実領域に、ライトデータが書かれる。実領域が割り当てられていなければ、プールＶＤＥＶ３５１内の未割当ての実領域がライト仮想領域に割り当てられる。割り当てられた実領域に、ライトデータが書かれる。
【０１５６】
仮想ＬＤＥＶ２１１６に対するリードコマンドが受領された場合、そのコマンドで指定されている仮想領域に割り当てられている実領域から、リードデータが読み出される。読み出されたリードデータが、ホストに送信される。
【０１５７】
本実施例では、仮想ＬＤＥＶ２１１６が追加されたとき（及び／又はＭＰ−ＰＫが追加されたとき）、ＬＤＥＶオーナ権の変更が行われる。本実施例では、ＬＤＥＶ１１６ではなく、仮想ＬＤＥＶ２１１６のオーナ権がＭＰ−ＰＫ１１５に割り当てられる。
【０１５８】
仮想ＬＤＥＶ２１１６のＬＩは、例えば以下のように決定される。
【０１５９】
例えば、図示のプールＶＤＥＶ３５１が、ＬＩが“１０”である３つのプールＬＤＥＶ１１６で構成されているとする。この場合、プールＶＤＥＶ３５１のＬＩは、３０（３×１０）である。そして、このプールＶＤＥＶ３５１に、４つの仮想ＬＤＥＶ２１１６が関連付けられている。このため、それぞれの仮想ＬＤＥＶ２１１６のＬＩは、７．５（３０÷４）とされる。
【０１６０】
図２３は、実施例３においてＭＰ２１３で実行されるコンピュータプログラムと、実施例３における構成情報２３０４を示す。
【０１６１】
ＭＰ２１３では、プールＶＤＥＶセットアップ処理プログラム４０９が実行される。プールＶＤＥＶセットアップ処理プログラム４０９は、プールＶＤＥＶ３５１のセットアップ処理を行う。
【０１６２】
構成情報２３０４は、プールテーブル４１６を含む。プールテーブル４１６には、プールＶＤＥＶ３５１に関する情報が設定される。
【０１６３】
図２４は、プールテーブル４１６の構成を示す。
【０１６４】
プールテーブル４１６は、プールＶＤＥＶ毎に、ＶＤＥＶ  ＩＤ、ステータス、トータルＬＩ、分散モード、仮想ＬＤＥＶ数（Ｖ−ＬＤＥＶ  ＮＵＭ）、及びプールＬＤＥＶ  ＩＤのリストを有する。以下、これらの要素を、一つのプールＶＤＥＶ（以下、図２４〜２６の説明において「対象プールＶＤＥＶ」と言う）を例に採り、説明する。
【０１６５】
ＶＤＥＶ  ＩＤは、対象プールＶＤＥＶの識別子である。
【０１６６】
ステータスは、対象プールＶＤＥＶのステータスである。ステータスの値としては、例えば、対象プールＶＤＥＶが搭載された状態である「Installed」がある。
【０１６７】
トータルＬＩは、対象プールＶＤＥＶを構成する全てのプールＬＤＥＶのＬＩの合計である。対象プールＶＤＥＶに関連付けられている各仮想ＬＤＥＶのＬＩは、（対象プールＶＤＥＶのトータルＬＩ）÷（対象プールＶＤＥＶに関連付けられている仮想ＬＤＥＶの数）で算出される。
【０１６８】
分散モードは、対象プールＶＤＥＶに関連付けられている仮想ＬＤＥＶのオーナ権の自動分散に関するモードである。分散モードの値としては、実施例１と異なり、仮想ＬＤＥＶ単位でオーナ権を設定する「ＬＤＥＶ」のみとされる。
【０１６９】
仮想ＬＤＥＶ数は、対象プールＶＤＥＶに関連付けられている仮想ＬＤＥＶの数である。
【０１７０】
プールＬＤＥＶ  ＩＤのリストは、対象プールＶＤＥＶを構成するプールＬＤＥＶの識別子のリストである。
【０１７１】
図２５は、プールＶＤＥＶセットアップ画面２５０１を示す。
【０１７２】
この画面２５０１は、プールテーブル４１６の各種パラメータを管理計算機１０１から入力するための画面である。この画面２５０１に、管理計算機１０１のオペレータによって、対象プールＶＤＥＶについて、プールＶＤＥＶ  ＩＤ、対象プールＶＤＥＶを構成するプールＬＤＥＶのＩＤが指定される。
【０１７３】
図２６は、プールＶＤＥＶセットアップ処理のフローを示す。
【０１７４】
プールＶＤＥＶセットアップ処理プログラム４０９が、図２５の画面２５０１に入力されたパラメータ（プールＶＤＥＶ  ＩＤ、プールＬＤＥＶ  ＩＤ）を管理計算機１０１から受信する（Ｓ２６０１）。
【０１７５】
プログラム４０９は、受信したパラメータをプールテーブル４１６に設定する（Ｓ２６０２）。
【０１７６】
プログラム４０９は、対象プールＶＤＥＶの分散モードとして「ＬＤＥＶ」をプールテーブル４１６に設定する（Ｓ２６０３）。
【０１７７】
対象プールＶＤＥＶを構成する各プールＬＤＥＶについて、Ｓ２６０５及びＳ２６０６が行われる。
【０１７８】
Ｓ２６０５では、プログラム４０９は、対象プールＶＤＥＶのトータルＬＩに、対象プールＶＤＥＶを構成するプールＬＤＥＶのＬＩを加算する（Ｓ２６０５）。
【０１７９】
Ｓ２６０６では、プログラム４０９は、そのプールＬＤＥＶのＬＩ（ＬＤＥＶテーブル４１２におけるＬＩ）を、現在の値からゼロに変更する。
【０１８０】
図２７は、仮想ＬＤＥＶ増設の全体の流れを示す。
【０１８１】
管理計算機１０１が、プールＶＤＥＶセットアップ画面２５０１（図２５参照）を表示し、オペレータからパラメータの入力を受ける（Ｓ２７０２）。管理計算機１０１が、入力されたパラメータをストレージシステム１１１に送信する。
【０１８２】
プールＶＤＥＶセットアップ処理プログラム４０９が、プールＶＤＥＶセットアップ処理（図２６参照）を行う（Ｓ２７０２）。ここでは、前述したように、分散モードとして必ず「ＬＤＥＶ」がプールテーブル４１６に設定される。また、プールＶＤＥＶを構成するプールＬＤＥＶのＬＩはゼロに更新される。
【０１８３】
その後、Ｓ１７０４〜Ｓ１７０８と同様の処理が行われる（Ｓ２７０３〜Ｓ２７０７）。
【０１８４】
以上、本発明の実施例３によれば、容量拡張技術（例えばいわゆるＴｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇ技術）でも、構成変更直後にＬＤＥＶオーナ権の変更を行うことができる。仮想ＬＤＥＶのオーナ権は、仮想ＬＤＥＶ単位で設定される。
【０１８５】
以上、本発明の好適な幾つかの実施例を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【０１８６】
例えば、実施例１〜３のうちの少なくとも２つ以上を組み合わせることが可能である。具体的には、例えば、実施例３でも、実施例２のように、ＭＰ−ＰＫの増設時に、オーナ再分散処理が行われても良い。
【０１８７】
また、ＬＤＥＶオーナ権の変更は、オペレータからの指示があったときに行なわれても良い。
【０１８８】
また、オーナ再分散処理は、ＭＰ−ＰＫの増設時に代えて又は加えて、ＭＰ−ＰＫの減設時に行われても良い。この場合、減設されたＭＰ−ＰＫに割り当てられていたＬＤＥＶのオーナ権が、残っているＭＰ−ＰＫに分散される。
【０１８９】
また、ＬＤＥＶの追加及び／又は削除は、運用中に行われても良い。同様に、ＭＰ−ＰＫの増設及び／又は減設は、運用中に行われても良い。
【０１９０】
また、ＬＤＥＶの追加及び／又は削除は、ストレージシステム１８０１の全体としての負荷が低い期間（例えば夜間）に行われて良い。同様に、ＭＰ−ＰＫの増設及び／又は減設は、ストレージシステム１８０１の全体としての負荷が低い期間（例えば夜間）に行われて良い。
【０１９１】
また、ストレージシステム１８０１の全体としての負荷が低い期間（例えば夜間）では、運用中であれば、各ＭＰ−ＰＫの負荷に応じて、負荷分散が行われても良い。
【０１９２】
また、本発明は、例えば、外部接続（第一のストレージシステムが第二のストレージシステム内の記憶資源を第一のストレージシステム内の記憶資源であるかのようにホストに提供する技術）などの種々の技術にも適用可能である。
【図１】
0005425913.tif 000002
【図２】
0005425913.tif 000003
【図３】
0005425913.tif 000004
【図４】
0005425913.tif 000005
【図５】
0005425913.tif 000006
【図６】
0005425913.tif 000007
【図７】
0005425913.tif 000008
【図８】
0005425913.tif 000009
【図９】
0005425913.tif 000010
【図１０】
0005425913.tif 000011
【図１１】
0005425913.tif 000012
【図１２】
0005425913.tif 000013
【図１３】
0005425913.tif 000014
【図１４】
0005425913.tif 000015
【図１５】
0005425913.tif 000016
【図１６】
0005425913.tif 000017
【図１７】
0005425913.tif 000018
【図１８】
0005425913.tif 000019
【図１９】
0005425913.tif 000020
【図２０】
0005425913.tif 000021
【図２１】
0005425913.tif 000022
【図２２】
0005425913.tif 000023
【図２３】
0005425913.tif 000024
【図２４】
0005425913.tif 000025
【図２５】
0005425913.tif 000026
【図２６】
0005425913.tif 000027
【図２７】
0005425913.tif 000028