(57)【要約】【課題】プールに関連付けられる仮想ボリュームを提供するストレージシステムのＩＯ性能の低下を避ける。【解決手段】ストレージ管理システムは、ＰＧ（パリティグループ）選択部と、プール作成要求部とを備える。ＰＧ選択部は、ストレージシステムが有する複数のＰＧの各々を、ＩＯ性能に影響しパティグループに関する１つ又は複数の条件のうちの何れの条件に該当するかに応じて評価し、当該評価結果を基に、ストレージシステムにより提供される１つ以上の仮想ボリュームに関連付けられるプールの構成要素とされる１つ又は複数のボリュームである１つ又は複数のプールボリュームの基になる１つ以上のＰＧを選択する。プール作成要求部は、当該選択された１つ以上のＰＧに基づく１つ又は複数のプールボリュームで構成されたプールを作成することの要求であるプール作成要求をストレージシステムに送信する。【選択図】図１
2020119474.tif 000002
【特許請求の範囲】
【請求項１】
複数のパリティグループを有し１つ以上のホストに提供される１つ以上の仮想ボリュームに関連付けられるプールをプール作成要求に応答して作成するストレージシステムを管理するストレージ管理システムであって、
前記複数のパリティグループの各々を、ＩＯ性能に影響しパリティグループに関する１つ又は複数の条件のうちの何れの条件に該当するかに応じて評価し、当該評価結果を基に、前記ストレージシステムにより提供される１つ以上の仮想ボリュームに関連付けられるプールの構成要素とされる１つ又は複数のボリュームである１つ又は複数のプールボリュームの基になる１つ以上のパリティグループを選択するパリティグループ選択部と、
当該選択された１つ以上のパリティグループに基づく１つ又は複数のプールボリュームで構成されたプールを作成することの要求であるプール作成要求を前記ストレージシステムに送信するプール作成要求部と、
を備えるストレージ管理システム。
【請求項２】
前記ストレージシステムは、前記複数のパリティグループが関連付けられる複数のストレージ装置で構成された分散ストレージシステムであり、
前記パリティグループ選択部は、前記複数のパリティグループに関する複数通りのパリティグループ組合せの各々を、当該パリティグループ組合せを構成する各パリティグループの評価を基に評価し、当該評価結果を基に、前記プールの構成要素とされる前記１つ又は複数のボリュームの基になるパリティグループ組合せを選択し、
前記プール作成要求は、当該選択されたパリティグループ組合せに基づく１つ又は複数のプールボリュームで構成されたプールを作成することの要求である、
請求項１に記載のストレージ管理システム。
【請求項３】
前記１つ又は複数の条件の各々は、ＩＯ性能が低下し得る条件であり、
前記１つ又は複数の条件は、第１条件、第２条件、第３条件及び第４条件のうちの少なくとも１つであり、
前記第１条件は、プールボリューム以外のボリュームが存在することであり、
前記第２条件は、作成されたプールボリュームの容量がプールボリュームの最大容量と異なることであり、
前記第３条件は、プールボリュームの最低容量よりも空き容量が大きいことであり、
前記第４条件は、１つ以上の別のパリティグループと連結していることである、
請求項２に記載のストレージ管理システム。
【請求項４】
前記複数の条件は、前記第１条件、前記第２条件、前記第３条件及び前記第４条件である、
請求項３に記載のストレージ管理システム。
【請求項５】
パリティグループの評価が下がる度合は、
前記第１条件に該当することが最も高く、
前記第４条件に該当することが２番目に高く、
前記第３条件に該当することが３番目に高く、
前記第２条件に該当することが４番目に高い、
請求項４に記載のストレージ管理システム。
【請求項６】
前記パリティグループ選択部は、下記の（Ａ）及び（Ｂ）のうちの少なくとも１つ、
（Ａ）前記第１条件に該当するパリティグループを含んだパリティグループ組合せの評価よりも、前記第１条件に該当するパリティグループを１つも含まないパリティグループ組合せの評価を高くする、
（Ｂ）比率差分が０に近いパリティグループ組合せほど評価を高くする、
を行い、
各パリティグループ組合せについて、前記比率差分は、当該パリティグループの容量比率と、当該パリティグループの均等比率との差分であり、
各パリティグループ組合せについて、前記容量比率は、当該パリティグループ組合せを構成する２つ以上のパリティグループが前記プールを占めるそれぞれの割合であり、
各パリティグループ組合せについて、前記均等比率は、当該パリティグループ組合せを構成する２つ以上のパリティグループが前記プールをそれぞれ均等に占めると仮定した場合のそれぞれの割合である、
請求項３に記載のストレージ管理システム。
【請求項７】
前記パリティグループ選択部は、（Ａ）及び（Ｂ）を行い、
（Ｂ）では、前記パリティグループ選択部は、前記第１条件に該当するパリティグループを１つも含まないパリティグループ組合せについて、前記比率差分が０に近いパリティグループ組合せほど評価を高くする、
請求項６に記載のストレージ管理システム。
【請求項８】
（Ａ）及び（Ｂ）の少なくとも１つの結果、最も評価の高いパリティグループ組合せが２つ以上存在する場合、前記パリティグループ選択部は、下記（Ｃ）及び（Ｄ）のうちの少なくとも１つ、
（Ｃ）当該２つ以上のパリティグループ組合せの各々の評価を、当該パリティグループ組合せのうち最も評価の低いパリティグループの容量が少ない程、当該パリティグループ組合せの評価を相対的に高くする、
（Ｄ）当該２つ以上のパリティグループ組合せの各々の評価を、当該パリティグループ組合せのうち最も評価の高いパリティグループの容量が多い程、当該パリティグループ組合せの評価を相対的に高くする、
を行う、
請求項６に記載のストレージ管理システム。
【請求項９】
（Ｃ）及び（Ｄ）のうち、前記パリティグループ選択部は、（Ｃ）を行い、
（Ｃ）の結果、最も評価の高いパリティグループ組合せが２つ以上存在する場合、前記パリティグループ選択部は、（Ｄ）を行う、
請求項８に記載のストレージ管理システム。
【請求項１０】
前記パリティグループ組合せの数は、前記分散ストレージシステムを構成するストレージ装置毎に関連付いているパリティグループの数に基づく、
請求項２に記載のストレージ管理システム。
【請求項１１】
１つ以上のホストに提供される１つ以上の仮想ボリュームに関連付けられストレージシステムに作成されるプールの構成を決定するプール構成決定方法であって、
前記ストレージシステムにおける複数のパリティグループの各々を、ＩＯ性能に影響しパリティグループに関する１つ又は複数の条件のうちの何れの条件に該当するかに応じて評価し、
当該評価結果を基に、前記１つ以上の仮想ボリュームに関連付けられるプールの構成要素とされる１つ又は複数のボリュームである１つ又は複数のプールボリュームの基になる１つ以上のパリティグループを選択する、
プール構成決定方法。
【請求項１２】
１つ以上のホストに提供される１つ以上の仮想ボリュームに関連付けられストレージシステムにおける複数のパリティグループの各々を、ＩＯ性能に影響しパリティグループに関する１つ又は複数の条件のうちの何れの条件に該当するかに応じて評価し、
当該評価結果を基に、前記１つ以上の仮想ボリュームに関連付けられるプールの構成要素とされる１つ又は複数のボリュームである１つ又は複数のプールボリュームの基になる１つ以上のパリティグループを選択する、
ことをコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ仮想化技術に従う１つ以上の仮想的なボリュームに関連付けられるプールの構成の決定に関する。
【背景技術】
【０００２】
現在、コンピュータを用いたデータ処理が広く行われるようになり、データを保存及び利用するためのストレージ技術が一層重要となっている。ストレージ技術の１つとして、ストレージ仮想化の技術が知られており、ストレージ仮想化技術によれば、複数のボリュームを統合した単一の論理的な記憶領域（以下、「プール」）が作成され、当該プールに関連付けられた仮想的なボリュームが提供される。
【０００３】
また、複数のストレージノードで構成された分散ストレージシステムが知られている。例えば、特許文献１において、分散ストレージシステムを管理するコンピュータは、データアクセスの対象となる各仮想記憶領域と、複数のストレージノードが有する記録装置内の各実記憶領域と、の割り当て関係を管理する。負荷情報取得手段は、各ストレージノードが備える各実記憶領域に対するアクセス情報を各ストレージノードから取得する。負荷情報取得手段は、取得したアクセス情報に基づいて各実記憶領域の負荷情報を生成して、生成した負荷情報を負荷情報記憶手段に格納する。割当手段は、負荷情報記憶手段に記憶された負荷情報に基づいて、各ストレージノードの負荷が均一になるように仮想記憶領域への実記憶領域の割り当て関係を変更する。指示手段は、仮想記憶領域に割り当てる実記憶領域の変更に伴い、各ストレージノードに対して実記憶領域のデータの移動を指示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５３８１３３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、分散ストレージシステムにストレージ仮想化技術が適用された場合、複数のストレージノードの複数のＰＧ（パリティグループ）を基に作成された複数のボリュームから１つ又は複数のプールが構成されることが考えられる。複数のＰＧと１つ又は複数のプールの関係が、ＩＯ性能に影響する。
【０００６】
しかしながら、特許文献１には、複数のＰＧと１つ又は複数のプールの関係がＩＯ性能に影響することを考慮したプール作成は開示も示唆もされていない。このため、特許文献１の技術では、ＩＯ性能が低下するおそれがある。
【０００７】
このような課題は、分散ストレージシステム以外のストレージシステム（例えば、単一の物理ストレージ装置としてのストレージシステム）についてもあり得る。
【０００８】
本発明はこのような点に鑑みてなされたものであり、プールに関連付けられる仮想ボリュームを提供するストレージシステムのＩＯ性能の低下を避けることを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のストレージ管理システムは、ＰＧ選択部と、プール作成要求部とを備える。ＰＧ選択部は、ストレージシステムが有する複数のＰＧの各々を、ＩＯ性能に影響しパティグループに関する１つ又は複数の条件のうちの何れの条件に該当するかに応じて評価し、当該評価結果を基に、ストレージシステムにより提供される１つ以上の仮想ボリュームに関連付けられるプールの構成要素とされる１つ又は複数のボリュームである１つ又は複数のプールボリュームの基になる１つ以上のＰＧを選択する。プール作成要求部は、当該選択された１つ以上のＰＧに基づく１つ又は複数のプールボリュームで構成されたプールを作成することの要求であるプール作成要求をストレージシステムに送信する。
【発明の効果】
【００１０】
本発明によれば、プールに関連付けられる仮想ボリュームを提供するストレージシステムのＩＯ性能の低下を避けることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る計算機システム（以下、「本システム」ともいう）の全体構成を示すブロック図である。
【図２】図１の本システムを筐体毎のモジュールに分けてより詳細に説明するためのブロック図である。
【図３】図１の本システムにおける記憶階層を示すブロック図である。
【図４】図１の本システムにおけるプール作成までの動作手順を示すフローチャートである。
【図５】図１の本システムにおいて、ＰＧ選択に必要な情報を取得するための動作手順を示すシーケンス図である。
【図６】図１の本システムにおいて、ＰＧ組み合わせ確定後にプール作成する動作手順を示すシーケンス図である。
【図７】図７（Ａ）は要素数（ＰＧ組合せ数）の決定のための式、図７（Ｂ）はＰＧ組合せの一具体例、図７（Ｃ）は具体的な要素数の例、をそれぞれ示す。
【図８】図８（Ａ）はＰＧの優先順位の決定に関する条件、図８（Ｂ）は優先順位テーブル、をそれぞれ示す。
【図９】ＰＧ組合せテーブルを示す図である。
【図１０】構成情報、ＰＧ情報及びモジュール情報を示す図である。
【図１１】算出情報を示す図である。
【図１２】固定情報を示す図である。
【発明を実施するための形態】
【００１２】
本発明に係る実施の形態について、図面を参照して説明する。
【００１３】
図１は、本実施の形態に係る計算機システム（本システム）の全体構成を示すブロック図である。以下の説明では、同種の要素を区別しないで説明する場合には、参照符号のうちの共通部分を使用し、同種の要素を区別する場合は、要素の参照符号を使用することがある。例えば、ホストを区別しない場合には、「ホスト１」といい、ホストを区別する場合には、「ホスト１Ａ」、「ホスト１Ｂ」のようにいうことがある。
【００１４】
図１に示すように、複数（又は１つ）のホスト１が、複数のストレージモジュール（以下、単に「モジュール」ともいう）１１を含んだ分散ストレージシステム（以下、単に「ストレージシステム」ともいう）１００に接続される。各モジュール１１は、１つ以上のストレージノード（以下、単に「ノード」ともいう）１０と、１つ以上の物理ドライブ群９とを有する。モジュール１１が、ストレージ装置の一例である。各ノード１０は、汎用計算機でも良いが、本実施形態では、ストレージ装置における冗長化されたストレージ制御部に相当する。なお、各ノード１０がストレージ装置の一例でも良い。
【００１５】
各ホスト１は、ストレージシステム１００における複数のノード１０のうちの少なくとも１つのノード１０にネットワーク４９経由で通信可能に接続される。このネットワーク４９とは異なる（又は同一の）ネットワーク５０に、ストレージシステム１００と、ストレージ管理サーバ（以下、単に「管理サーバ」ともいう）２０１とが接続される。ネットワーク４９，５０は、ファイバチャネル（Fibre Channel）、イーサネット（登録商標）、InfiniBand又はＬＡＮ（Local Area Network）などから構成される１つ以上のネットワークで良い。管理サーバ２０１が、ストレージ管理システムの一例である。
【００１６】
ストレージシステム１００は、１つ又は複数のＳＮ（Service and Network box）４を有する。１つ又は複数のＳＮ４は、管理サーバ２０１にネットワーク５０経由で接続され、かつ、複数のノード１０の各々に接続される。ＳＮ４は、スイッチ装置の一例である。ＳＮ４は、専用線４８（又はネットワーク５０）を介して、別のＳＮ４に接続される。
【００１７】
各ＳＮ４に関しては、ＳＮ４Ａを例に取れば、例えば次の通りである。すなわち、ＳＮ４Ａは、ストレージ管理端末（以下、単に「管理端末」ともいう）２Ａと、ＩＳＷ（Interconnect-Switch）群３と、を有する。管理端末２Ａは、プロセッサ及びメモリを有する計算機である。管理端末２Ａは、ネットワーク５０を介して管理サーバ２０１と通信可能に接続される。ＩＳＷ群３は、１つ以上のＩＳＷ３、本実施形態では、冗長化されたＩＳＷ３Ａ０及び３Ａ１である。各ＩＳＷ３は、後述の冗長化されているストレージコントローラ（以下、単に「コントローラ」ともいう）６Ａ０及び６Ａ１間を、後述の冗長化されているＩＥ５Ａ０及び５Ａ１をそれぞれ介して接続するスイッチ装置である。
【００１８】
各ノード１０に関しては、ノード１０Ａを例に取れば、例えば次の通りである。ノード１０Ａは、複数（又は１つ）のＦＥ−ＩＦ（Front End Interface）群７、１つ（又は複数）のコントローラユニット群８、及び、複数（又は１つ）のＩＥ（Interconnect-Edge）群５を有する。各ＦＥ−ＩＦ群７は、冗長化されたＦＥ−ＩＦ７である（例えば、ＦＥ−ＩＦ７Ａ０及び７Ａ１が、冗長化されたＦＥ−ＩＦ７である）。各ＦＥ−ＩＦ７は、ホスト１からＩＯ（Input/Output）要求を受け付けるインターフェースデバイスである。
【００１９】
コントローラユニット群８は、冗長化されたコントローラユニット８Ａ０及び８Ａ１である。例えばコントローラユニット８Ａ０は、コントローラ６Ａ０と、コントローラ６Ａ０に接続されたＢＥ−ＩＦ（Back End Interface）１２Ａ０とを有する。コントローラ６Ａ０は、例えばプロセッサ及びメモリを計算機である。コントローラ６Ａ０（及び６Ａ１）に、管理端末２Ａが、例えばＬＡＮ経由で接続されている。ＢＥ−ＩＦ１２Ａ０は、物理ドライブ群９Ａ及び９Ｅ内のドライブと通信するインターフェースデバイスである。
【００２０】
各ＩＥ群５は、冗長化されたＩＥ５である。例えば、ＩＥ５Ａ０及び５Ａ１が、冗長化されたＩＥである。ＩＥ５は、何れかのＳＮ４内の何れかのＩＳＷ３に例えばＬＡＮ（Local Area Network）経由で接続される。また、ＩＥ５は、何れかのコントローラ６に接続される。つまり、ＩＥ５は、ＩＳＷ３とコントローラ６を接続するためのインターフェースデバイスである。例えば、ＩＥ５Ａ０は、ＩＳＷ３Ａ０とコントローラ６Ａ０を接続するためのインターフェースデバイスである。
【００２１】
本実施形態では、ストレージシステム１００は、ホスト１からのＩＯ要求に従うデータが何れのノード１０を介して何れの物理ドライブ群９にも入出力可能に構成されている。例えば、モジュール１１も冗長化されている。モジュール１１Ａ内のノード１０Ａ及び１０Ｂの何れも、モジュール１１Ａ内の物理ドライブ群９Ａ〜９Ｄの何れにもアクセス可能であり、かつ、モジュール１１Ｂ内の物理ドライブ群９Ｅ〜９Ｈの何れにもアクセス可能である。同様に、モジュール１１Ｂ内のノード１０Ｃ及び１０Ｄの何れも、モジュール１１Ｂ内の物理ドライブ群９Ｅ〜９Ｈの何れにもアクセス可能であり、かつ、モジュール１１Ａ内の物理ドライブ群９Ａ〜９Ｄの何れにもアクセス可能である。
【００２２】
ホスト１からのＩＯ要求は、ノード１０Ａ〜１０Ｄが有するＦＥ−ＩＦ７Ａ〜７Ｄのうちの何れによって受け付けられても良いし、ノード１０Ａ〜１０Ｄが有するコントローラ６Ａ〜６Ｄの何れによって処理されても良い。より具体的に、ＩＯ要求がノード１０Ａにより受け付けられたが、当該ＩＯ要求の処理担当はノード１０Ｄである場合を例示する。つまり、当該ＩＯ要求で指定されたボリュームの担当がノード１０Ｄである場合について説明する。
【００２３】
この場合、ＦＥ−ＩＥ７Ａ０〜７Ａ７の何れかを経由してコントローラ６Ａ０又は６Ａ１に受け付けられた当該ＩＯ要求は、下記の（Ｐ）又は（Ｑ）経由でコントローラ６Ｄ０又は６Ｄ１に転送され、コントローラ６Ｄ０又は６Ｄ１が、当該ＩＯ要求に従うデータを、ＢＥ−ＩＦ１２Ｄ０又は１２Ｄ１を経由して、物理ドライブ群９Ａ〜９Ｈの何れかにおけるドライブに入出力する。
（Ｐ）ＩＥ５Ａ０又は５Ａ１、ＩＳＷ３Ａ０、ＳＮ４Ａ、専用線４８Ａ、ＳＮ４Ｃ、ＩＳＷ３Ｃ１、及び、ＩＥ５Ｄ０又は５Ｄ１。
（Ｑ）ＩＥ５Ａ２又は５Ａ３、ＩＳＷ３Ｂ０、ＳＮ４Ｂ、専用線４８Ｂ、ＳＮ４Ｄ、ＩＳＷ３Ｄ１、及び、ＩＥ５Ｄ２又は５Ｄ３。
【００２４】
また、ストレージシステム１００は、管理サーバ２０１がネットワーク５０経由で何れのノード１０とも通信可能に構成されている。具体的には、例えば、管理サーバ２０１は、ＳＮ４Ａ〜４Ｄにおける管理端末２Ａ〜２Ｄを介してノード１０Ａ〜１０Ｄからそれぞれ構成情報を取得することができる。
【００２５】
図２は、各モジュール１１及び管理サーバ２０１における機能と情報の一例を示す。図２に示すように、モジュール１１Ａ及び１１Ｂの各々について、物理ドライブ群９Ａと、ノード１０Ａ内のコントローラ６Ａ０と、管理端末２Ａとを例に取れば、例えば次の通りである。
【００２６】
物理ドライブ群９Ａが、複数のドライブ６８Ａを有する。各ドライブ６８Ａは、永続記憶デバイスの一例である。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス（例えば補助記憶デバイス）であり、具体的には、例えば、ＨＤＤ又はＳＳＤ（Solid State Drive）である。
【００２７】
コントローラ６Ａ０のメモリ２９２が、構成情報５５Ａ０を格納する。構成情報５５Ａ０は、ＰＧ情報７１Ａ０と、モジュール情報７２Ａ０とを含む。ＰＧ情報７１Ａ０は、物理ドライブ群９Ａ〜９Ｈ（図１参照）のうち少なくともモジュール１１Ａにある物理ドライブ群９Ａ〜９Ｄの各々におけるＰＧ（パリティグループ）の構成に関する情報である。モジュール情報７２Ａ０は、モジュール１１Ａ及び１１Ｂのうちの少なくともモジュール１１Ａの構成に関する情報である。
【００２８】
コントローラ６Ａ０が、構成情報取得部５４Ａ０のような機能を有する。構成取得部５４Ａ０は、メモリ２９２からプロセッサ２９３に１つ以上のプログラムが読み出されて実行されることで実現されても良いし、ＦＰＧＡ（Field-Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）のようなハードウェア回路により実現されても良い。構成情報取得部５４Ａ０の詳細は、後に説明する。
【００２９】
管理端末２Ａが、構成情報取得要求部２７１Ａのような機能を有する。構成取得部５４Ａ０は、メモリ２９２からプロセッサ２９３に１つ以上のプログラムが読み出されて実行されることで実現されても良いし、ＦＰＧＡやＡＳＩＣのようなハードウェア回路により実現されても良い。構成情報取得要求部２７１Ａの詳細は、後に説明する。
管理サーバ２０１は、インターフェース装置２９１、メモリ２９２及びそれらに接続されたプロセッサ２９３を有する。
【００３０】
インターフェース装置２９１に、ネットワーク５０経由で各管理端末２が接続される。メモリ２９２が、ＰＧ選択ソフトウェア２２０を格納する。ＰＧ選択ソフトウェア２２０がプロセッサ２９３により実行されることで、プール作成要求部２２１、ＰＧ選択部２２２及び構成情報取得部２２３といった機能が実現され、固定値情報２２４がメモリ２９２に格納される。構成情報取得部２２３が、各モジュール１１から構成情報５５を取得し、各モジュール１１の構成情報５５に従う構成情報２４１（図１０）を格納する。
【００３１】
構成情報２４１は、各モジュール１１のＰＧ情報７１に従うＰＧ情報２５１（図１０）と、各モジュール１１のモジュール情報７２に従うモジュール情報２５２（図１０）とを含む。ＰＧ選択部２２２は、優先順位テーブル２３１（図２、図８（Ｂ））を有し、優先順位テーブル２３１とＰＧ情報２５１とを基に算出情報２６１を生成する。ＰＧ選択ソフトウェア２２０の詳細は、後に説明する。
【００３２】
図３は、ストレージシステム１００（図１参照）における記憶階層を示す。図３に示すように、ストレージシステム１００には、複数のＰＧ３０１が存在する。各ＰＧ３０１は、複数のドライブ６８から構成されたドライブグループであり、ＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）である。各ＰＧ３０１について、当該ＰＧ３０１を構成する複数のドライブ６８は、異なる複数の物理ドライブ群９に存在してもよいが、ＩＯ性能の観点から１つの物理ドライブ群９に存在することが好ましい。
【００３３】
各ＰＧ３０１について、当該ＰＧ３０１の記憶空間から１つ以上のボリューム（論理ボリューム）が提供される。ＰＧ３０１に基づくボリュームとしては、ホスト１に提供されるボリュームであるオンラインボリュームと、ホスト１に提供されないボリュームであるオフラインボリュームとのうちの少なくとも１つがある。オフラインボリュームの一例が、プール３５０の構成要素とされるボリュームであるプールボリューム３０２がある。プールボリューム３０２とオンラインボリュームの両方が１つのＰＧ３０１から提供されることもあり得る。
【００３４】
プール３５０は、１つ以上のプールボリューム３０２から構成された論理記憶空間である。プール３５０に、１つ以上の仮想ボリューム３６１が関連付けられる。仮想ボリューム３６１は、ホスト１に提供される仮想的な論理ボリュームである。本実施形態では、仮想ボリューム３６１は、複数の仮想領域（仮想的な記憶領域）で構成されており容量仮想化技術（典型的にはThin Provisioning）に従うボリュームである。
【００３５】
具体的には、例えば、プール３５０（各プールボリューム３０２）は、複数の実領域（実体的な記憶領域）で構成されている。コントローラ６が、例えばホスト１から仮想ボリューム３６１に属するアドレスを指定したライト要求を受信し、当該アドレスが属する仮想領域に実領域が割り当てられていなければ、当該仮想領域にプール３５０から実領域を割り当て、当該実領域に、受信したライト要求に付随するライト対象データを書き込む。
【００３６】
図４は、図１の本システムにおけるプール作成までの動作手順を示すフローチャートである。図４に示すように、ステップＳ１では、管理サーバ２０１が、作成するプールの容量の指定を例えばユーザインターフェース経由で管理者から受ける。ステップＳ２では、管理サーバ２０１が、ＰＧ選択ソフトウェア２２０を起動する。ステップＳ３では、ＰＧ選択部２２２が、各ＰＧに優先順位を付与する。ステップＳ３が、各ＰＧを評価することの一例である。
【００３７】
ステップＳ４では、ＰＧ選択部２２２が、ＰＧ組合せをリスト化する。つまり、複数通りのＰＧ組合せが決定される。各ＰＧ組合せは、複数のモジュール１１に関連付けられた複数のＰＧ３０１のうちの２つ以上のＰＧ３０１で構成される。本実施形態では、各ＰＧ組合せには、各モジュール１１につき少なくとも１つのＰＧ３０１が含まれる。
【００３８】
ステップＳ５では、ＰＧ選択部２２２が、合計容量がステップＳ１で指定されたプール容量以下のＰＧ組合せをリストから除外する。そのようなＰＧ組合せを構成する全てのＰＧの各々の容量が全て空き容量でも、当該ＰＧ組合せからは、指定されたプール容量のプールを作成することができないためである。ステップＳ６では、ＰＧ選択部２２２が、リストにある各ＰＧ組合せについて、容量比率を算出する。
【００３９】
ステップＳ７では、ＰＧ選択部２２２が、ステップＳ１で指定されたプール容量以上の合計空き容量（複数のＰＧが持つ複数の空き容量の合計）を持つＰＧ組合せがあるか否か判断する。ステップＳ７の判断結果が偽の無い場合（Ｓ７でＮｏ）、ステップＳ８で、ＰＧ選択部２２２が、警告を表示する。
【００４０】
ステップＳ７の判断結果が真の場合（Ｓ７でＹｅｓ）、ステップＳ９で、ＰＧ選択部２２２が、以下の条件１）〜条件４）でリストにある各ＰＧ組合せの優先順位を決定する。
【００４１】
条件１）  図８（Ｂ）の優先順位テーブル２３１における優先順位７番又は８番のＰＧを１つも含まないＰＧ組合せの優先順位を、優先順位７番又は８番のＰＧを含むＰＧ組合せの優先順位よりも高くする。
条件２）  図９を用いて後述する比率差分が“０”（ゼロ）に近いＰＧ組合せほど優先順位を高くする。
【００４２】
条件３）  上記条件２）で優劣がつかない場合は（すなわち、最も優先順位が高いＰＧ組合せが２つ以上存在する場合は）、優先順位の低いＰＧの容量が少ないＰＧ組合せほど優先順位を高くする。
条件４）  上記条件３）で優劣がつかない場合は、最も優先順位の高いＰＧの容量が多いＰＧ組合せほど優先順位を高くする。
【００４３】
ステップＳ１０で、ＰＧ選択部２２２は、最も優先順位の高いＰＧ組合せを、最適構成のＰＧ組合せ（プールを構成する複数のプールボリュームを提供するＰＧ組合せとして最適なＰＧ組合せ）として選択する。ここで選択されたＰＧ組合せからプールを作成することのプール作成要求が、プール作成要求部２２１によりストレージシステム１００に送信される。当該プール作成要求に応答して、最適構成のＰＧ組合せに基づく複数のプールボリュームで構成されたプールが、ストレージシステム１００により作成される。
【００４４】
図５は、図１の本システムにおいて、ＰＧ選択に必要な情報を取得するための動作手順を示すシーケンス図である。図５に示すように、ステップＳ１１〜ステップＳ１８は、例えば図４のステップＳ２とステップＳ３の間に行われるが、図４のステップＳ１〜ステップＳ１０に示す処理の前に予め行われる処理であってもよいし、あるいは、定期的に行われる処理であってもよい。
【００４５】
まず、管理サーバ２０１において、ＰＧ選択部２２２が、構成情報取得部２２３に対して、構成情報の取得を指示する（Ｓ１１）。その指示に応じて、構成情報取得部２２３は、構成情報の取得要求をモジュール１１の管理端末２に送信する（Ｓ１２）。その要求に応じて、管理端末２は、構成情報の取得要求をコントローラ６に送信（Ｓ１３）。その要求に応じて、コントローラ６は、構成情報を取得する（Ｓ１４）。
【００４６】
コントローラ６は、管理端末２に、取得された構成情報を応答する（Ｓ１５）。その応答を受けた管理端末２は、構成情報取得部２２３に、構成情報を応答する（Ｓ１６）。構成情報取得部２２３は、その構成情報をＰＧ選択部２２２に応答する。これに応じて、ＰＧ選択部２２２は、構成情報からＰＧ選択に必要な情報としての算出情報２６１（図２及び図１１参照）を算出する（Ｓ１８）。
【００４７】
図６は、図１の本システムにおいて、ＰＧ組み合わせ確定後にプール作成する動作手順を示すシーケンス図である。図６に示すように、まず、管理サーバ２０１において、ＰＧ選択部２２２がプール作成要求部２２１に対して、最適なＰＧ組合せ（図４のステップＳ１０で選択されたＰＧ組合せ）を通知する（Ｓ２１）する。プール作成要求部２２１は、その通知されたＰＧ組合せを構成する各ＰＧを指定したプール作成要求を、管理端末２に送信する（Ｓ２２）。これを受けた管理端末２は、コントローラ６に対し、プール作成要求を送信する（Ｓ２３）。これを受けたコントローラ６は、最適なＰＧ組合せに基づく複数のプールボリュームで構成されたプールを作成する（Ｓ２４）。コントローラ６は、プール３５０の作成が完了した旨を管理端末２経由でプール作成要求部２２１に応答する（Ｓ２５及びＳ２６）。
【００４８】
図７（Ａ）は、要素数（ＰＧ組合せ数）の決定のための式、図７（Ｂ）はＰＧ組合せの一具体例、図７（Ｃ）は具体的な要素数の例、をそれぞれ示している。図７（Ａ）に示すように、要素数（ＰＧ組合せ）は、各モジュールにおけるＰＧ数のコンビネーションｎＣｋ値の各総和を算出し、これら総和値を全モジュール１，２，３，・・・分だけ乗じた値である。なお、モジュール１，２，３を始めとして図７で用いた数字は、他の図で用いた符号と関係しない。例えば、図７（Ｂ）及び図７（Ｃ）で示すように、モジュール１，２，３それぞれのｎ＝４，３，２であれば、ＰＧの組み合わせ数は、１６，８，４と具体的な数値例が算出される。
【００４９】
図８（Ａ）はＰＧの優先順位の決定に関する条件、図８（Ｂ）は優先順位テーブル、をそれぞれ示している。図８（Ａ）に示すように、ＰＧの優先順位の決定に関する条件は、ＩＯ性能に影響しパリティグループに関する１つ又は複数の条件の一例であり、第１条件〜第４条件である。これらは、ＩＯ性能が低下し得る条件の一例である。
【００５０】
第１条件は、プールボリューム３０２以外のボリュームが存在することである。プールボリューム以外のボリュームが存在するＰＧは、プールボリューム以外のボリュームが存在しないＰＧに比べて、ＰＧを構成するドライブへの負荷が高いため、当該条件に該当するＰＧに基づくプールボリュームがプールの構成要素となると、プールのＩＯ性能が低下することが考えられる。
【００５１】
第２条件は、作成されたプールボリューム３０２の容量が、プールボリューム３０２の最大容量でないことである。第２条件に該当するＰＧが、マルテティアのプール（ＰＧのＩＯ性能の高さに応じて階層化されたプール）について高階層のＰＧの場合、高階層の容量が使用されず、ストレージシステム全体のＩＯ性能が低くなるおそれがある。なお、第２条件は、プール容量効率に影響する（例えばプール容量効率を低下し得る）条件にも該当する。第２条件に該当するＰＧがプールに採用されると、ＰＧで使用可能な領域が使用されずプールの容量効率が悪くなるおそれがあるからである。
【００５２】
第３条件は、ＰＧ３０１の空き容量＞プールボリューム３０２に設定可能な最低容量、である。第３条件に該当するＰＧが、マルテティアのプールについて高階層のＰＧの場合、高階層の容量が使用されず、ストレージシステム全体の性能ポテンシャルが低くなるおそれがある。なお、第３条件は、プール容量効率に影響する（例えばプール容量効率を低下し得る）条件にも該当する。第３条件に該当するＰＧがプールに採用されると、ＰＧで使用可能な領域が使用されずプールの容量効率が悪くなるおそれがあるからである。
【００５３】
第４条件は、ＰＧ連結、すなわち、１つ以上の別のＰＧと連結していることである。ＰＧ連結とは、異なる複数の物理ドライブ群内の２つ以上のＰＧで、ボリュームの基となる記憶空間を構成することをいう。このため、ＰＧ連結に該当するＰＧから提供されるプールボリュームは、別の物理ドライブ群内のＰＧにも基づいているので、一方のＰＧのＩＯ性能が高くても、別のＰＧのＩＯ性能が低ければ、その低いＩＯ性能に引きずられてしまい、高いＩＯ性能を出せなくなるおそれがある。このため、第４条件として、ＰＧ連結が採用されている。
【００５４】
ストレージシステム１００に関し、例えば、第１の課題として、プール３５０の容量効率が良いこと、第２の課題として、他のＩＯに対する相互干渉の少ないこと、第３の課題として、ＦＥのパス故障時や、プール３５０へドライブ６８を追加した時に、ホスト１に対し、アクセス性能が劣化したような印象を与えないようにすること、が考えられる。ＰＧ選択部２２２が、各ＰＧが第１条件〜第４条件のいずれに該当するかに応じて各ＰＧに優先順位を付与し、各ＰＧ組合せの優先順位を、当該ＰＧ組合せを構成する各ＰＧの優先順位と、上記条件１）〜４）とに基づいて決定し、最も優先順位の高いＰＧ組合せを、プールの基になるＰＧ組合せとすることで、上記第１の課題〜第３の課題を解決することが期待できる。
【００５５】
優先順位テーブル２３１の一例は、次のとおりである。すなわち、図８（Ｂ）の優先順位１番の行に示すように、第１条件〜第４条件の何れにも非該当の場合に優先順位１番でＰＧを選択する。図８（Ｂ）優先順位２番の行に示すように、第２条件のみ該当し、それ以外の第１条件、第３条件、及び第４条件が非該当の場合に優先順位２番でＰＧを選択する。
【００５６】
また、図８（Ｂ）優先順位６番の行に示すように、第１条件のみ非該当で、それ以外の第２条件〜第４条件が該当する場合に優先順位６番でＰＧを選択する。また、途中省略して、図８（Ｂ）優先順位８番の行に示すように、第３条件のみ無関係で、それ以外の第１条件、第２条件、及び第４条件が該当する場合に優先順位８番の最下位、すなわち最も後回しでＰＧを選択する。上記第１条件〜第４条件と課題との関係の一例を説明する。
【００５７】
まず、第１条件でいうところの、プールボリューム以外のボリュームが存在すれば、当然に無駄である。したがって、第１条件による評価に基づく制御は、容量効率に係る第１の課題を解決する。また、第２条件でいうところの、作成されたプールボリュームの容量が、プールボリュームの最大容量と等しいならば、当然にプールボリューム容量を効率的に使える。したがって、第２条件による評価に基づく制御は、容量効率に係る第１の課題を解決する。
【００５８】
第３条件でいうところの、ＰＧの空き容量＞プールボリュームに設定可能な最低容量ならば、第２条件とは逆であり、ＰＧを余らせることになるので無駄である。したがって、第３条件による評価に基づく制御も、容量効率に係る第１の課題を解決する。つまり、第１条件〜第３条件は、プールの容量効率が良いＰＧの組み合わせとなるようにＰＧを選択するための基準となる。
【００５９】
第４条件でいうところの、ＰＧ連結であるならば、高いＩＯ性能を出せなくなる弊害もある。ＰＧ連結に該当するＰＧから提供されるプールボリュームは、別の物理ドライブ群内のＰＧにも基づいているので、一方のＰＧのＩＯ性能が高くても、別のＰＧのＩＯ性能が低ければ、その低いＩＯ性能に引きずられてしまうからである。したがって、第４条件は、他のＩＯに対する相互干渉に係る第２の課題を解決する。つまり、第４条件は、他のＩＯへの影響が無いＰＧを選択するための基準となる。
【００６０】
さらに、ＦＥのパス故障時や、プールへのドライブ追加時に、ホストに対し、アクセス性能が劣化したような印象を与え難くするといった第３の課題も、第４条件による評価に基づく制御によって改善される。つまり、ドライブ交換等によって、アクセス性能が劣化する原因は、上述したＰＧ連結によるプールボリュームが、別の物理ドライブ群内のＰＧに基づいていることに似ているためである。すなわち、第４条件は、ホスト接続位置に依存して性能バラツキが発生しないＰＧの組み合わせとなるようにＰＧを選択するための基準となる。
【００６１】
図９は、図１の本システムで用いる各種管理テーブルを示す表であり、ＰＧ組み合わせパターンリストを示している。図９のＰＧ組み合わせパターンリストのＰＧ１（１）の行における右端の列で、比率差分＝１１％については、次の要領で算出している。３つを均等割りした均等比率＝３３％である。容積比率＝３６：３６：２８について、それぞれ３６−３３＝３，３６−３３＝３，２８−３３＝５、これらの差分３＋３＋５＝１１である。均等割の３３％に対する差が少ないほど良好である。
【００６２】
このような判断基準に基づいて、比率差分の数値がゼロに近いほどバラツキが少なくて良好である。これについて、図９の右端の列で、上の行から順に、１１，１１，２１，３８，３８，３７，１４と算出されている。その結果より、１１，１４，２１，３８の順に良好であることが示される。
【００６３】
図１０は、図１の本システムで用いる各種管理テーブルを示す表であり、図２に示した構成情報２４１として、ＰＧ情報２５１、モジュール情報、その他を示している。なお、ＰＧ情報２５１に示すようにＰＧ毎にＰＧ＿Ａ〜ＣといったＰＧの情報が存在する。この図１０は、構成情報２４１の構成を示しており、ＰＧ情報２５１の詳細を示し、ＰＧ＿Ａ〜Ｃ毎に情報１００１があり、情報１００１の＃６の詳細が情報１００２である。
【００６４】
図１０に示すＰＧ情報には、以下の内容を有している。すなわち、概要としてのモジュール数と、各リストの要素に対し容量比率を算出する条件判定で使用することと、構成情報取得要求時に情報を取得することが明示されている。
【００６５】
表１００１に示すＰＧ情報には、以下の内容を有している。例えば、表１００１の１行目には、項目「ＰＧ内のＬＤＥＶ（Logical Device）の個数」について、その個数と、ＰＧ情報を第１条件の条件判定で使用し、構成情報取得要求時に情報を取得することが明示されている。なお、ＬＤＥＶとは、管理単位とされる記憶領域のボリュームをいう。つまり、ＬＤＥＶはボリュームと同等である。
【００６６】
表１００１の２行目には、項目「ＰＧに属するプールボリュームの数」について、その数と、ＰＧ情報を第１条件の条件判定で使用し、構成情報取得要求時に情報を取得することが明示されている。
【００６７】
表１００１の３行目には、項目「ＰＧの連結状態情報」について、その連結／非連結と、ＰＧ情報を第４条件の条件判定で使用し、構成情報取得要求時に情報を取得することが明示されている。
【００６８】
表１００１の４行目には、項目「ＰＧ容量」について、その容量と、ＰＧ情報を第３条件の条件判定で使用し、構成情報取得要求時に情報を取得することが明示されている。
【００６９】
表１００１の５行目には、項目「ＰＧ内の総プールボリューム容量」について、その数と、ＰＧ情報を第３条件の条件判定で使用し、構成情報取得要求時に情報を取得することが明示されている。
【００７０】
表１００１の６行目には、項目「ＰＧ内のプールボリューム情報リスト」について、そのプールボリューム情報リストと、ＰＧ情報を第２条件の条件判定で使用し、構成情報取得要求時に情報を取得することが明示されている。
【００７１】
表１００１の７行目には、項目「ＰＧが存在するモジュールの番号」について、その番号と、各リストの要素に対し容量比率を算出することと、構成情報取得要求時にＰＧ情報を取得することが明示されている。
【００７２】
図１１は、図１の本システムで用いる各種管理テーブルを示す算出情報の表である。図１１の表２６１の１行目には、項目「ＰＧ内の使用可能なプールボリューム以外のＬＤＥＶ数」について、そのＰＧ内のＬＤＥＶの個数−ＰＧに属するプールボリュームの数と、ＰＧ情報を第１条件の条件判定で使用し、各ＰＧに優先順位情報を付与する時に情報を取得することが明示されている。
【００７３】
図１１の表２６１の２行目には、項目「ＰＧ内の空き容量」について、そのＰＧ容量―ＰＧ内の総プールボリューム容量と、ＰＧ情報を第１条件の条件判定で使用し、各ＰＧに優先順位情報を付与する時に情報を取得することが明示されている。
【００７４】
図１２は、図１の本システムで用いる各種管理テーブルのうち固定情報を示す表である。図１２の表２２４の１行目には、項目「ＬＤＥＶの最小容量／ＭＦボリュームの最小容量」について、その容量と、ＰＧ情報を第３条件の条件判定で使用し、固定値情報を取得するタイミングで情報を取得することが明示されている。
【００７５】
図１２の表２２４の２行目には、項目「最大切り出し容量(ＬＤＥＶの最大容量で定義)」について、その容量と、ＰＧ情報を第２条件の条件判定で使用し、固定値情報を取得するタイミングで情報を取得することが明示されている。
【００７６】
また、上記課題を解決するために上記ストレージシステムと同様の機能を実現するために実行される処理を有する分散ストレージ管理方法が提供される。また、上記分散ストレージ管理方法の処理と同様の処理を行う分散ストレージ管理プログラムを実行するコンピュータが提供される。
【００７７】
ここで、ＬＤＥＶオーナー権について補足しておく。ＬＤＥＶオーナー権とは、ＰＧの振り分けテーブル（対応テーブル）で規定されるが、これは、同一モジュールに対応するとは限らない。ＬＤＥＶオーナー権を別のモジュールが持つと、そのＬＤＥＶオーナー権のために、モジュール跨ぎでＩＯ転送が生じるのでアクセス性能が落ちる。別モジュールへの転送が生じると速度が落ちる。ＩＳＷ経由するか否かで通信容量、速度が変わる。
【００７８】
すなわち、ＩＳＷ経由するかしないかで、性能劣化の程度が変わる。つまり、ＩＳＷ経由することによる転送容量の制約があって、それがボトルネックとなる。そこで、ＬＤＥＶオーナー権に関し、分かり易く例えるならば、この人はこのＰＧで、あの人はそのＰＧを優先（専用）利用する旨を、予め決めていた方が良いということである。良い形で負荷分散するために、より均一になる組み合わせをテーブルで選ぶ。つまり、優先順位が設定されている点で、本システムの前提技術となっているが、これより一般化された点で本システムの方が優位である。
【００７９】
以上説明したように、本実施形態によれば、ストレージノードの負荷に対する均一化を図ることにより、プールボリューム容量を効率的に使えるようにプール効率を良くしたストレージシステムを提供できる。より具体的には、第１に、複数の物理ストレージから作成されるプールの性能ばらつきが軽減され、上位アプリケーションの性能見積もりが容易になる。第２に、性能及び容量設計を簡易化することで、分散ストレージ管理コストが低減される。
【００８０】
ところで、システムの運用管理において、システムを構成するノードで発生する負荷の監視が行われる。負荷の監視により、負荷の集中しやすいノードや処理能力に余裕があるノードを特定することができる。その結果に基づいて、システム全体のチューニング、データ容量の均一化、ハードウェア資源の拡充及び機能の追加等を各ノードの利用状況に応じて的確に行うことができる。
【００８１】
例えば、ストレージ装置（例えば、ディスクアレイ装置）１１では、内蔵された複数のＨＤＤ６８（図３）に対するアクセス頻度やリード／ライトに要した時間等を取得することが考えられる。具体的には、各ＨＤＤ６８上の複数のストライプのうちアクセス頻度の高いストライプを、各ＨＤＤ６８のうち現在のものよりも高性能なＨＤＤ６８上に置き換えることが考えられている。また、ディスクアレイ装置に設けた論理領域ごとに取得した情報と与えられた条件（要求性能や信頼性レベル等）とに応じて、論理ユニット（１以上の論理領域の結合）に格納されたデータの配置先を他の論理ユニットに変更することが考えられている。以下、ＨＤＤ６８の符号を省略してＨＤＤとする。
【００８２】
なお、従来技術には、以下の第１〜第３の課題が残されていた。第１に、プールの容量効率をより良く向上させる点である。第２に、他のＩＯに対する相互干渉を低減させる点である。第３に、ＦＥ（Front End）のパス故障時や、プールへのドライブ追加時に、ホストに対し、アクセス性能が劣化したような印象を与え難くする点である。
【００８３】
従来技術に係る課題の原因は次のとおりである。従来は複数のストレージノードからスライスごとの負荷情報を収集する技術がなかった。そのため、ネットワーク経由でストレージノードのスライス割り当てを行うストレージシステムでは、各スライスの負荷を考慮して、ディスクノード間の負荷を均一化させることができなかった。そこで、ストレージシステムに属するストレージノードに対する負荷の均一化を図ることが求められていた。
【００８４】
本実施形態は、上記課題を解決したものであり、ストレージノードの負荷に対する均一化を図ることにより、プールボリューム容量を効率的に使えるようにプール効率を良くしたストレージシステムを実現した。このように、第１の課題であるプールの容量効率をより良く向上させる点が改善された。
【００８５】
これに伴って、第２の課題である、他のＩＯに対する相互干渉を低減させる点も改善された。さらに、第３の課題である、ＦＥのパス故障時や、プールへのドライブ追加時に、ホストに対し、アクセス性能が劣化したような印象を与え難くする点も改善された。
【００８６】
このように第１〜第３の課題が解決できた理由は、主に、図８を用いて説明したＰＧ選択の優先順位が課題解決できるように設定されているからである。すなわち、第１条件〜第４条件に対する該当数が多くなるにつれて、そのＰＧは上記課題の原因になり易いので、アクセス頻度が少なくなるように優先順位を低く設定し、逆に非該当のＰＧを優先的にアクセスさせるように管理サーバ２０１で制御することにより課題解決できるのである。
【００８７】
最後に、上述の実施形態を、例えば下記のように総括することもできる。なお、以下の説明において符号は省略している。
［１］本実施形態のストレージ管理システム（本システム）は、以下の要件を備えている。すなわち、本システムは、複数のパリティグループを有し１つ以上のホストに提供される１つ以上の仮想ボリュームに関連付けられるプールをプール作成要求に応答して作成するストレージシステムを管理するものである。さらに、本システムは、パリティグループ選択部と、プール作成要求部と、を備える。
【００８８】
パリティグループ選択部は、複数のパリティグループの各々を、ＩＯ性能に影響しパリティグループに関する１つ又は複数の条件のうちの何れの条件に該当するかに応じて評価し、その評価結果を基に、ストレージシステムにより提供される１つ以上の仮想ボリュームに関連付けられるプールの構成要素とされる１つ又は複数のボリュームである１つ又は複数のプールボリュームの基になる１つ以上のパリティグループを選択する。
【００８９】
プール作成要求部は、上記パリティグループ選択部により選択された１つ以上のパリティグループに基づく１つ又は複数のプールボリュームで構成されたプールを作成することの要求であるプール作成要求をストレージシステムに送信する。
【００９０】
このような本システムによれば、プールに関連付けられる仮想ボリュームを提供するストレージシステムのＩＯ性能の低下を避けることができる。
【００９１】
［２］また、上記［１］の本システムにおいて、ストレージシステムは、複数のパリティグループが関連付けられる複数のストレージ装置で構成された分散ストレージシステムであることが好ましい。さらに、上記パリティグループ選択部は、複数のパリティグループに関する複数通りのパリティグループ組合せの各々を、そのパリティグループ組合せを構成する各パリティグループの評価を基に評価し、その評価結果を基に、プールの構成要素とされる１つ又は複数のボリュームの基になるパリティグループ組合せを選択することが好ましい。さらに、プール作成要求は、その選択されたパリティグループ組合せに基づく１つ又は複数のプールボリュームで構成されたプールを作成することの要求であることが好ましい。
【００９２】
［３］また、上記［２］の本システムにおいて、１つ又は複数の条件の各々は、ＩＯ性能が低下し得る条件であることが好ましい。その場合、１つ又は複数の条件は、以下に示す第１条件、第２条件、第３条件及び第４条件のうちの少なくとも１つである。
第１条件は、プールボリューム以外のボリュームが存在することである。
第２条件は、作成されたプールボリュームの容量がプールボリュームの最大容量と異なることである。
第３条件は、プールボリュームの最低容量よりも空き容量が大きいことである。
第４条件は、１つ以上の別のパリティグループと連結していることである。
【００９３】
［４］また、上記［３］の本システムにおいて、複数の条件は、第１条件、第２条件、第３条件及び第４条件である。
［５］また、上記［４］の本システムにおいて、パリティグループの評価が下がる度合は、以下のとおりである。
第１条件に該当することが最も高い。
第４条件に該当することが２番目に高い。
第３条件に該当することが３番目に高い。
第２条件に該当することが４番目に高い。
【００９４】
［６］また、上記［３］の本システムにおいて、パリティグループ選択部は、下記の（Ａ）及び（Ｂ）のうちの少なくとも１つ、を実行することが好ましい。この場合、比率差分と、容量比率と、均等比率と、は下記のとおりである。
（Ａ）第１条件に該当するパリティグループを含んだパリティグループ組合せの評価よりも、第１条件に該当するパリティグループを１つも含まないパリティグループ組合せの評価を高くする。
（Ｂ）比率差分が０に近いパリティグループ組合せほど評価を高くする。
【００９５】
各パリティグループ組合せについて、比率差分は、そのパリティグループの容量比率と、そのパリティグループの均等比率との差分である。
各パリティグループ組合せについて、容量比率は、そのパリティグループ組合せを構成する２つ以上のパリティグループがプールを占めるそれぞれの割合である。
各パリティグループ組合せについて、均等比率は、そのパリティグループ組合せを構成する２つ以上のパリティグループがプールをそれぞれ均等に占めると仮定した場合のそれぞれの割合である。
【００９６】
［７］また、上記［６］の本システムにおいて、パリティグループ選択部は、上記（Ａ）及び上記（Ｂ）を行う。上記（Ｂ）では、パリティグループ選択部は、第１条件に該当するパリティグループを１つも含まないパリティグループ組合せについて、比率差分が０に近いパリティグループ組合せほど評価を高くする。
【００９７】
［８］また、上記［６］の本システムにおいて、上記（Ａ）及び上記（Ｂ）の少なくとも１つの結果、最も評価の高いパリティグループ組合せが２つ以上存在する場合、パリティグループ選択部は、下記（Ｃ）及び下記（Ｄ）のうちの少なくとも１つを実行することが好ましい。
（Ｃ）その２つ以上のパリティグループ組合せの各々の評価を、そのパリティグループ組合せのうち最も評価の低いパリティグループの容量が少ない程、そのパリティグループ組合せの評価を相対的に高くする。
（Ｄ）その２つ以上のパリティグループ組合せの各々の評価を、そのパリティグループ組合せのうち最も評価の高いパリティグループの容量が多い程、そのパリティグループ組合せの評価を相対的に高くする。
【００９８】
［９］また、上記［８］の本システムにおいて、上記（Ｃ）及び上記（Ｄ）のうち、パリティグループ選択部は、（Ｃ）を行うことが好ましい。上記（Ｃ）の結果、最も評価の高いパリティグループ組合せが２つ以上存在する場合、パリティグループ選択部は、（Ｄ）を行うことが好ましい。
【００９９】
［１０］上記［２］の本システムにおいて、パリティグループ組合せの数は、分散ストレージシステムを構成するストレージ装置毎に関連付いているパリティグループの数に基づくことが好ましい。
【０１００】
［１１］また、本実施形態に係るプール構成決定方法（本方法）は、１つ以上のホストに提供される１つ以上の仮想ボリュームに関連付けられストレージシステムに作成されるプールの構成を決定する方法である。すなわち、本方法において、まず、ストレージシステムにおける複数のパリティグループの各々を、ＩＯ性能に影響しパリティグループに関する１つ又は複数の条件のうちの何れの条件に該当するかに応じて評価する。つぎに、その評価結果を基に、１つ以上の仮想ボリュームに関連付けられるプールの構成要素とされる１つ又は複数のボリュームである１つ又は複数のプールボリュームの基になる１つ以上のパリティグループを選択する。
【０１０１】
［１２］また、本実施形態に係るプール構成決定のためのコンピュータプログラム（本プログラム）は、以下のことをコンピュータに実行させるコンピュータプログラムである。本プログラムにおいて、まず、１つ以上のホストに提供される１つ以上の仮想ボリュームに関連付けられストレージシステムにおける複数のパリティグループの各々を、ＩＯ性能に影響しパリティグループに関する１つ又は複数の条件のうちの何れの条件に該当するかに応じて評価する。つぎに、その評価結果を基に、１つ以上の仮想ボリュームに関連付けられるプールの構成要素とされる１つ又は複数のボリュームである１つ又は複数のプールボリュームの基になる１つ以上のパリティグループを選択する。
【０１０２】
上記［１１］の本方法、又は上記［１２］の本プログラムによれば、上記［１］の本システムによる効果と同様に、プールに関連付けられる仮想ボリュームを提供するストレージシステムのＩＯ性能の低下を避けることができる。
【符号の説明】
【０１０３】
１  ホスト、２  ストレージ管理端末、３  ＩＳＷ（Interconnect-Switch）、４  ＳＮ（Service and Network box）、５  ＩＥ（Interconnect-Edge）、６  ストレージコントローラ、７  ＦＥ−ＩＦ（Front End Interface）、８  コントローラユニット、９  物理ドライブ、１０  ノード、１１  ストレージ装置（モジュール、ストレージシステム）、１２  ＢＥ−ＩＦ（Back End Interface）、１３  ストレージ情報取得部、４８  専用線、４９，５０  ネットワーク、５５  構成情報、６８  ドライブ、７１，２５１  ＰＧ情報、７２  モジュール情報、１００  ストレージシステム、２０１  （ストレージ）管理サーバ、２２０  ＰＧ選択ソフトウェア、２２１  プール作成要求部、２２２  ＰＧ選択部、２２３  構成情報取得部、２２４  固定値情報、２３１  優先順位テーブル、２４１  構成情報、２５２  モジュール情報、２６１  算出情報、２９１  インターフェース装置、２９２  メモリ、２９３  プロセッサ、３０１  パリティグループ、３０２  プールボリューム、３５０  プール、３６１  仮想ボリューム
【図１】
2020119474.tif 000003
【図２】
2020119474.tif 000004
【図３】
2020119474.tif 000005
【図４】
2020119474.tif 000006
【図５】
2020119474.tif 000007
【図６】
2020119474.tif 000008
【図７】
2020119474.tif 000009
【図８】
2020119474.tif 000010
【図９】
2020119474.tif 000011
【図１０】
2020119474.tif 000012
【図１１】
2020119474.tif 000013
【図１２】
2020119474.tif 000014