(57)【要約】【課題】複数台の物理的な記憶装置に亘って少なくとも１つの論理的なボリュームを作成する方法において、各ボリュームの要求性能を考慮した作成を行う。【解決手段】記憶容量と要求平均性能情報を指定するボリューム作成要求を受け付け、複数台の記憶装置に亘って要求された記憶容量を満足する空き領域があるか否か判定し、空き領域が存在する場合に作成要求されたボリュームと記憶装置を共用する既存ボリュームについての記憶手段上の各要求平均性能情報を参照して既存ボリュームに作成要求されたボリュームを加えた全ボリュームの各々がその要求平均性能を満足するか否か判定し、全ボリュームが各要求平均性能を満足する場合に、作成要求されたボリュームを作成する。【選択図】図４
2008146677.tif 000002
【特許請求の範囲】
【請求項１】
各々複数台の物理的な記憶装置によって構成される複数のパリティグループを有し、前記パリティグループの各々に少なくとも１台の論理的なボリュームが割り当てられるストレージと接続され、前記ストレージについて空き領域をもつパリティグループを探索する管理用計算機によって実現されるボリューム管理方法において、前記管理用計算機は、
新規ボリュームのための空き領域の探索要求を受け付けるステップと、
前記複数のパリティグループの各々について、同一パリティグループを共用する既存ボリュームごとに各要求平均性能情報が設定される記憶手段を参照し、空き領域を有し、同一パリティグループを共用する前記既存ボリュームに前記新規ボリュームが前記空き領域を占有するとした場合の前記新規ボリュームを加えた全ボリュームに含まれる各々のボリュームがその要求平均性能を満足するようなパリティグループを探索するステップと、
前記新規ボリュームに対して許される平均性能を含む前記空き領域についての情報を表示するステップとを実行することを特徴とするボリューム管理方法。
【請求項２】
各々複数台の物理的な記憶装置によって構成される複数のパリティグループを有し、前記パリティグループに少なくとも１つの論理的なボリュームを移動するストレージにおいて、
要求平均性能情報と特定のパリティグループを指定するボリューム移動要求を受け付ける手段と、
前記パリティグループについて、同一パリティグループを共用する既存ボリュームごとに各要求平均性能情報が設定される記憶手段と、
前記記憶手段上の要求平均性能情報を参照し、指定されたパリティグループを共用する前記既存ボリュームに前記移動要求されたボリュームを加えた全ボリュームに含まれる各々のボリュームがその要求平均性能を満足するか否か判定する手段と、
前記全ボリュームが各要求平均性能を満足する場合に、指定されたパリティグループの空き領域に前記移動要求されたボリュームを設定する手段とを有することを特徴とするストレージ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ内の物理的記憶装置上に定義されるボリュームの管理方式に係わり、特に他のボリュームの性能に与える影響を考慮しながらボリュームの作成や移動を行なうための処理方式に関する。
【背景技術】
【０００２】
２台以上の物理ディスクをグループ化して冗長性をもたせ、信頼性や性能を向上させるＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）と呼ばれる技術がある。ＲＡＩＤ技術を採用しているストレージを使用する場合、まずストレージ内の物理ディスク（物理記憶装置）を２台以上集めてパリティグループと呼ばれるグループを構成する。そしてパリティグループ内にボリュームと呼ばれる論理記憶領域を定義し、計算機側からはこのボリュームを使用する。多くの場合、１個のパリティグループ内に２個以上のボリュームが定義可能である。定義例を図１（ａ）に示す。図１（ａ）では、物理ディスク１００１、物理ディスク１００２、物理ディスク１００３及び物理ディスク１００４が１個のパリティグループ１００５を構成し、その中にボリューム１００６、ボリューム１００７及びボリューム１００８が定義されている。このときパリティグループ１００５内に定義されているボリューム１００６、ボリューム１００７及びボリューム１００８は、全て物理ディスク１００１、物理ディスク１００２、物理ディスク１００３及び物理ディスク１００４を使用している。この異なるボリュームが同じ物理ディスクを共有しているという状態は、ＲＡＩＤ技術を採用しているストレージを使用する場合だけでなく、単一の物理ディスク内に２個以上のボリュームを定義する場合にも存在する。
【０００３】
このようなＲＡＩＤ技術を使用して、複数の物理ディスクからパリティグループを構成する方法は数通り定義されており、これらの基準はＲＡＩＤレベルと呼ばれる。例えば複数の物理ディスクに一定サイズ毎に順にデータを書くＲＡＩＤレベル０（ストライプとも呼ばれる）や、２個の物理ディスクの両方に読み書きを行なうＲＡＩＤレベル１（ミラーとも呼ばれる）、複数の物理ディスクの１台を除きデータを分散して記憶させそのデータを記憶させなかった物理ディスクには、他の物理ディスクが故障して使用不可能になっても、当該データを復活できるような冗長データを記述するＲＡＩＤレベル４やＲＡＩＤレベル５（これらは冗長データの持ち方が異なる）等がある。
【０００４】
物理ディスク全体の集合ではなく、物理ディスクの一部領域の集合を使用してパリティグループを構成することが可能なストレージがある。この場合、１個の物理ディスクは複数のパリティグループに属することができる。例を図１（ｂ）に示す。パリティグループ１０１５は、物理ディスク１００９、物理ディスク１０１０、物理ディスク１０１１及び物理ディスク１０１２のそれぞれの一部領域から構成されており、当該パリティグループ内にはボリューム１０１６が定義されている。パリティグループ１０１３は、物理ディスク１００９、物理ディスク１０１０のそれぞれ一部領域から構成されており、当該パリティグループ内にはボリュームは定義されていない。パリティグループ１０１４は、物理ディスク１０１１、物理ディスク１０１２のそれぞれ一部領域から構成されており、当該パリティグループ内にはボリューム１０１７が定義されている。ここで物理ディスク１００９、物理ディスク１０１０、物理ディスク１０１１及び物理ディスク１０１２は、それぞれ２個のパリティグループに属している。
【０００５】
ＲＡＩＤ技術を採用しているストレージの幾つかは、パリティグループ内に直接ボリュームを定義するのではなく、パリティグループ内に論理ディスクを定義し、その後論理ディスクの分割や結合を数階層に渡って繰り返し、最上層の論理ディスクをボリュームとして定義する機能を持つ。例えば図１（ｂ）において、パリティグループ１０１３内とパリティグループ１０１４内にそれぞれ論理ディスクを定義し、それらを結合したものをボリュームとして見せる等である。
【０００６】
以上で述べたＲＡＩＤに関する文献として、非特許文献１がある。
【０００７】
一方、近年、複数のストレージとそれらのストレージを使用する複数のクライアント計算機をファイバチャネル等の高速なネットワークで接続したＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）が注目を集めている。ＳＡＮ環境では、1台のクライアント計算機が２台以上のストレージを同時に使用可能であるとともに、１台のストレージを２台以上のクライアント計算機から使用可能である。ＳＡＮの構成例を図２に示す。図２では、ストレージ２００５、ストレージ２００６、ストレージ２００７と、これらストレージを利用するクライアント計算機２００２、クライアント計算機２００３と、これらストレージを管理する管理計算機２００４が全てネットワーク２００１により接続されている。ここで管理計算機２００４は、ネットワーク２００１に接続されているストレージ内の構成定義やアクセス許可制御等を行なうための管理用計算機である。図２に示したＳＡＮ環境において、管理計算機２００４からアクセス許可さえ与えられれば、クライアント計算機２００２は、ストレージ２００５、ストレージ２００６及びストレージ２００７の全てを使用可能である。同様にクライアント計算機２００３とクライアント計算機２００４がストレージ２００５を共有することも可能である。
【０００８】
図２におけるストレージ２００５、ストレージ２００６及びストレージ２００７のようなＳＡＮ環境で使用するストレージは、前述のＲＡＩＤ技術を採用していることが多い。このときストレージ２００５中に同じ物理ディスクを使用した複数のボリュームを作成し、それぞれのボリュームをクライアント計算機２００２とクライアント計算機２００３が使用することも可能である。
【０００９】
以上で述べたＳＡＮに関する文献として、非特許文献２がある。
【００１０】
パリティグループやボリュームの作成・移動作業には、ストレージ管理プログラムを使用する。このストレージ管理プログラムは、ＳＡＮに接続された管理計算機やストレージ備え付けの端末等で動作する。このとき処理対象ストレージ内の物理ディスク容量や定義テーブル等のストレージ内の必要な資源が全て利用可能であれば、要求された操作は常に実行される。
【００１１】
一方、ストレージの管理プログラムには、物理ディスクやボリュームの性能管理に関する機能を持つものがある。ある管理プログラムは、物理ディスク内のボリュームの平均アクセスタイムを監視し、予め指定された平均アクセスタイムの上限以上になったら警告する機能を持つ。また別の管理プログラムは、性能履歴を蓄積しておき、後にこの情報を利用してボリュームの再配置による性能最適化を行なう機能を持つ。
【００１２】
【非特許文献１】Ｍａｒｋ  Ｆａｒｌｅｙ，“Ｂｕｉｌｄｉｎｇ  Ｓｔｏｒａｇｅ  Ｎｅｔｗｏｒｋｓ”，Ｎｅｔｗｏｒｋ  Ｐｒｏｆｅｓｓｉｏｎａｌ’ｓ  Ｌｉｂｒａｒｙ，Ｏｓｂｏｒｎｅ
【非特許文献２】「データストレージ・レポート２０００」、日経コンピュートピア別冊、２０００年
【発明の開示】
【発明が解決しようとする課題】
【００１３】
図１（ａ）、（ｂ）に示すように、２個以上のボリュームが同じ物理ディスクを使用している場合、あるボリュームにアクセスが集中すると、同じ物理ディスクを使用している他のボリュームの性能が低下する可能性がある。例えば図１（ａ）においてボリューム１００６にアクセスが集中すると、同じ物理ディスクを使用しているボリューム１００７およびボリューム１００８の性能が低下する等である。別の見方をすると、既存ボリュームの性能が要求されている性能を出している状態で、当該ボリュームと同じ物理ディスクを使用して新たなボリュームを作成したり、他の物理ディスクからボリュームを移動してきたりすると、既存ボリュームの性能が要求されている性能を満たせなくなる可能性がある。例えば図１（ａ）において、ボリューム１００６の現在の平均アクセスタイムが１８ミリ秒であり、要求されている平均アクセスタイム２０ミリ秒を満たしているとき、パリティグループ１００５内に新たなボリュームを作成すると、ボリューム１００６の平均アクセスタイムが２３ミリ秒に低下し、要求されている平均アクセスタイム２０ミリ秒を満たさなくなる等である。
【００１４】
図２で示したＳＡＮ環境のように、１個の物理ディスクを複数のクライアント計算機から利用することができる環境では、上述した問題は特に注意する必要がある。これは異なるクライアント計算機から利用されるボリュームが、同じ物理ディスク上に定義することができるためである。このような場合、あるクライアント計算機が利用するために新たにボリュームを作成すると、別のクライアント計算機が使用しているボリュームの性能が低下するということが起きる。さらにＳＡＮ環境で使用されているストレージの多くはＲＡＩＤ技術を採用しており、上記のように物理ディスクとボリュームとの関係は多階層に渡る分割・結合を繰り返し複雑になっている。このような環境では、どのボリュームとどのボリュームが同じ物理ディスクを使用しているかを管理者が手作業で確認しながらボリューム構成の変更を行なうことは非現実的である。
【００１５】
既存のストレージが以上で述べた問題を持つのに対し、従来の管理プログラムやストレージでは、他のボリュームの性能に与える影響を考慮しながらボリュームの作成・移動を行なう機能は提供されていない。
【００１６】
さらに従来の性能に関する機能を持つ管理プログラムは、ボリュームの作成・移動時には他のボリュームの性能に対する影響は考慮せず、実際にボリュームを使用してから性能低下の検出及び改善を図る方式をとっている。そのため各ボリュームが一時的に要求される平均性能を満たせなくなったり、性能低下を回避するボリューム再配置を行なった後でも再び別のボリュームの性能が低下したりする可能性がある。
【００１７】
本発明の目的は、各ボリュームの要求性能を考慮したボリュームの作成・移動操作を行なう管理方式を提供することにある。
【課題を解決するための手段】
【００１８】
本発明は、複数台の物理的な記憶装置に亘って少なくとも１つの論理的なボリュームを設定する方式において、記憶容量と要求平均性能情報を指定するボリューム作成要求を受け付け、複数台の記憶装置に亘って要求された記憶容量を満足する空き領域があるか否か判定し、空き領域が存在する場合に作成要求されたボリュームと記憶装置を共用する既存ボリュームについての記憶手段上の各要求平均性能情報を参照して既存ボリュームに作成要求されたボリュームを加えた全ボリュームの各々がその要求平均性能を満足するか否か判定し、その全ボリュームが各要求平均性能を満足する場合に、作成要求されたボリュームを設定するボリューム管理方式を特徴とする。
【００１９】
また本発明は、複数台の物理的な記憶装置に亘って少なくとも１つの論理的なボリュームが設定されるストレージ中に新規ボリュームのための空き領域を探索する方式であって、要求平均性能情報を指定する空き領域の探索要求を受け付け、各空き領域と記憶装置を共用する既存ボリュームについての記憶手段上の各要求平均性能情報を参照して既存ボリュームにこの新規ボリュームを加えるとした場合に全ボリュームの各々がその要求平均性能を満足するか否か判定し、この判定条件を満足するような空き領域についての情報を表示するボリューム管理方式を特徴とする。
【発明の効果】
【００２０】
本発明により、ボリュームの作成又は移動に際して他ボリュームの要求性能を考慮しながらボリュームの作成・移動操作を行なえるようになる。
【発明を実施するための最良の形態】
【００２１】
第１の実施例として、ボリュームを作成する際に、他ボリュームの平均アクセスタイム（以下アクセスタイム）が当該ボリュームに要求される平均アクセスタイム（以下要求アクセスタイム）より大きくならないことを確認し、その可能性があれば警告と代替案を表示する手順を示す。なおアクセスタイムは、値が小さいほうが短時間でデータにアクセスでき高性能であるものとする。また以後(要求)アクセスタイムを満たすとは、(要求)アクセスタイム以下のアクセスタイムで平均的にアクセス可能であることを意味する。
【００２２】
図３は、図２に示す管理計算機２００４の構成を示すブロック図である。ここでストレージ３０１１は、図２のストレージ２００５、ストレージ２００６、ストレージ２００７のいずれか１個に該当する。またストレージ３０１１内には、物理ディスク３０１５と物理ディスク３０１６が存在する。ボリューム作成要求受け付け部３００１は、管理者が発行したボリューム作成要求と、作成するボリュームの容量、その作成先パリティグループの情報、当該ボリュームへの平均入出力要求数（以下、平均Ｉ／Ｏ数）及び要求アクセスタイムを受け取る。ボリューム作成要求処理部３００３は、ボリューム作成要求受け付け部３００１が受け取った要求を受け取り、要求アクセスタイム維持確認部３００５、ボリューム構成情報取得部３００８、代替案探索部３００４、ボリューム作成要求発行部３００７及び警告・代替案表示部３００２と連携しながら処理を行なう。
【００２３】
ボリューム構成情報取得部３００８は、物理ディスク３０１５および物理ディスク３０１６上に定義されているボリュームの構成情報取得要求をストレージ３０１１内のボリューム構成情報提供部３０１３に発行し、結果を取得する。ボリューム作成要求発行部３００７は、ストレージ３０１１内のボリューム構成要求変更部３０１２にボリューム作成要求を発行し、ストレージ３０１１内の物理ディスク３０１５および物理ディスク３０１６上に定義されているボリュームの構成情報を変更する。ストレージ３０１１内のボリューム構成提供部３０１３は、ボリューム構成保持部３０１４が保持するボリュームの構成情報を参照し、ボリューム構成情報取得部３００８に提供する。ボリューム構成情報変更部３０１２は、ボリューム構成情報保持部３０１４が保持するボリュームの構成情報をボリューム作成要求発行部３００７からのボリューム作成要求に従って変更する。ボリューム構成情報保持部３０１４は、ストレージ３０１１内の物理ディスク３０１５および物理ディスク３０１６上に定義されているボリュームの構成情報を保持し、ボリューム構成情報提供部３０１３やボリューム構成情報変更部３０１２からの要求にしたがい、保持するボリューム構成情報の提供・変更を行なう。要求アクセスタイム維持確認部３００５は、ボリューム構成情報取得部３００８、要求アクセスタイム保持部３００６、ボリューム作成後アクセスタイム決定部３００９及び代替案探索部３００４と連携しながら、ボリューム作成要求処理部３００３からの要求に従い、指定されたボリュームを作成した場合に他のボリュームのアクセスタイムが要求アクセスタイムを満たせるかどうかを確認する。要求アクセスタイム保持部３００６は、ボリュームごとに要求される性能情報として、要求アクセスタイムを保持しており、要求アクセスタイム維持確認部３００５からの要求に従い、指定されたボリュームの要求アクセスタイムを提供する。ボリューム作成後アクセスタイム決定部３００９は、要求アクセスタイム維持確認部３００５からの要求に従い、指定された位置にボリュームを作成した場合に各ボリュームが満たすことのできるアクセスタイムを決定する。代替案探索部３００４は、要求アクセスタイム維持確認部３００５からの要求に従い、指定された容量の指定されたアクセスタイムを満たす空き領域を探索する。警告・代替案表示部３００２は、ボリューム作成要求処理部３００３からの要求に従い、利用者から要求されたボリューム作成操作を行なうと他ボリュームのアクセスタイムが当該ボリュームの要求アクセスタイムを満たさなくなる旨を表示するとともに、代替案探索部３００４で探索した代替案を表示する。
【００２４】
本実施例では、平均利用情報の例として、平均入出力要求数を使用しており、入出力データサイズは固定を仮定している。本実施例では図３に示したように、発明の内容を全て管理計算機２００４内で実施しているが、任意の処理ブロックもしくは任意の処理ブロックを分割したブロックの一部を、ストレージ３０１１や図２に示すクライアント計算機２００２やクライアント計算機２００３、もしくは管理計算機２００４上に配置してもよい。
【００２５】
図４は、図２の管理計算機２００４内で、本発明を使用してボリューム作成要求を処理する際の処理の流れを示している。まずステップ４００１で、ボリューム作成要求と作成するボリュームの容量、当該ボリュームの平均Ｉ／Ｏ数、要求アクセスタイム及びボリューム作成先パリティグループの情報を受け取る。この処理は、図３におけるボリューム作成要求受け付け部３００１で行なう。なお当該ステップにおいて、ボリューム作成要求と共に要求アクセスタイムや平均Ｉ／Ｏ数が指定されなければ、以後の処理では予め決めておいた固定値、例えば５０ｍｓｅｃと１０００要求／秒を使用する。ステップ４００１の次にステップ４００２で、図３のボリューム構成情報取得部３００８によって上記のボリューム作成先パリティグループを構成する全ての物理ディスクを使用している全てのパリティグループの構成情報を取得する。さらにステップ４００３で、作成要求されたボリュームの容量が指定されたボリューム作成先パリティグループに存在するかを調べる。もし十分な空き領域がない場合は、ステップ４００７で、指定された容量、指定された要求アクセスタイムを満たす空き領域を探索し、ステップ４００８で、結果を警告とともに代替案として表示し終了する。ここで空き領域有無判断ステップ４００３は図３のボリューム作成要求処理部３００３で、代替案探索ステップ４００７は代替案探索部３００４で、警告及び代替案表示ステップ４００８は警告・代替案表示部３００２で処理する。
【００２６】
一方、ステップ４００３で指定されたボリューム作成先パリティグループに指定された容量の空き容量があると判断すれば、ステップ４００４で、要求されたボリュームを作成した後に、指定されたパリティグループを構成する物理ディスク上に定義されている全てのボリュームのアクセスタイムが、要求アクセスタイムを満たせるかを確認する。この処理は、図３の要求アクセスタイム維持確認部３００５で行う。この確認の結果、ステップ４００５で要求アクセスタイムを満たせると判断すれば、ステップ４００６でボリューム作成要求をストレージに送る。このときステップ４００５は図３のボリューム作成要求処理部３００３で、ステップ４００６はボリューム作成要求発行部３００７で処理される。ステップ４００５の判断の結果、ボリューム作成後、１個以上のボリュームのアクセスタイムが要求アクセスタイムを満たせなければ、ステップ４００７で代替案を探索し、ステップ４００８で前記探索結果を警告と共に表示する。ここでステップ４００７は代替案探索部３００４で、ステップ４００８は警告・代替案表示部３００２で処理される。
【００２７】
図５は、図４に示すボリューム作成処理後に全ボリュームが要求アクセスタイムを満たせるかを確認するステップ４００４の処理手順を示している。まずステップ５００１で、同じパリティグループに属する既存ボリュームと新たに作成するボリュームの一覧を作成する。ただし同一の物理ディスクを使用している他のパリティグループがあれば、そのグループ内のボリュームも一覧に含める。次にステップ５００２で、このボリューム一覧に含まれる全てのボリュームの要求アクセスタイムと平均Ｉ／Ｏ数を取得する。次にステップ５００３で、要求されたボリューム作成後の選択したボリュームに割り当てるアクセスタイムを決定する。次にステップ５００４で、ボリューム一覧の中に要求アクセスタイム維持確認を行なっていないボリュームがあるかどうかを調べ、もしなければステップ５００８で全てのボリュームが要求アクセスタイムを満たせると判断して終了する。しかしステップ５００４で、要求アクセスタイム維持確認を行なっていないボリュームがまだあると判断すれば、ステップ５００５でそのうちの１個を選択する。次にステップ５００６で、先に決定したアクセスタイムがステップ５００２で取得した要求アクセスタイムを満たすかどうかを判断する。それが成り立てばステップ５００４に戻って上記処理を繰り返す。成り立たなければ、ステップ５００７で要求アクセスタイムを満たせないボリュームが存在すると判断して終了する。
【００２８】
以上で述べたステップのうち、ステップ５００１の既存ボリュームの情報は図３のボリューム構成情報取得部３００８で取得し、またステップ５００２の要求アクセスタイムは要求アクセスタイム保持部３００６から取得する。またボリューム作成後アクセスタイム決定ステップ５００３は、図３のボリューム作成後アクセスタイム決定部３００９で処理し、それ以外のステップは、全て要求アクセスタイム維持確認部３００５で処理する。
【００２９】
本実施例では、ステップ５００１で、既存ボリューム全ての一覧を取得し、全てのボリュームについて要求アクセスタイムを満たせるかどうかを調べたが、これを指定されたパリティグループと同じ物理ディスクを使用している全てのボリュームもしくは指定したパリティグループ内の全てのボリュームのみについてしらべてもよい。
【００３０】
図６は、図４に示す代替案探索ステップ４００７の処理手順である。代替案を探索する際は、まずステップ６００１で指定された容量と指定されたアクセスタイムを満たせる空き領域を全ての物理ディスクの中から探索する。ここで使用するボリューム構成情報は、先に図４で述べたボリューム構成情報取得ステップ４００２で取得した情報を再利用する。ステップ６００１の探索の結果、要求された容量と要求アクセスタイムを満たせる空き領域があれば（ステップ６００２）、ステップ６００７で結果を代替案として終了する。しかしステップ６００２で要求を満たせる空き領域がないと判断したときは、ステップ６００３で、要求された容量を１０％減らした容量について要求アクセスタイムを満たせる空き領域を探索する。さらにその結果に関わらず、ステップ６００４で、指定された容量で指定された要求アクセスタイムを１０％増やした値（１０％長くアクセスに時間がかかってもよいことを示す）を要求アクセスタイムとしてこれを満たす空き領域を探索する。そしてステップ６００５で、ステップ６００３及びステップ６００４の探索結果が空かどうかを調べ、その探索結果が空でなければ、ステップ６００７で前記ステップ６００３とステップ６００４の探索結果を代替案として終了する。しかしステップ６００５で探索結果が空であると判断されれば、ステップ６００６で代替案はないと判断して探索を終了する。以上図６で述べたステップは全て図３の代替案探索部３００４で処理する。
【００３１】
図６の説明において、代替案探索方法としてステップ６００３、ステップ６００４でそれぞれ要求された容量を１０％減らした値、要求アクセスタイムを１０％増やした値を使用したが、この割合に制限はない。別の方法として本発明の利用者が指定した値を使用したり、過去の探索履歴から代替案が見つかる確率が高い割合を使用したりすることもできる。また代替案が見つからなかった場合、ステップ６００３又はステップ６００４の割合を変えて、ステップ６００３以降を再び実行してもよい。またステップ６００３もしくはステップ６００４のどちらか一方のみを実行したり、ステップ６００３もしくはステップ６００４の処理手順を繰り返したりしてもよい。
【００３２】
図７は、図６のステップ６００１、ステップ６００３及びステップ６００４で使用した、指定した容量又は指定した要求アクセスタイムを満たせる空き領域を探索するステップの処理手順である。まずステップ７００１で全てのパリティグループ内の空き領域一覧を取得する。これは図３のボリューム構成情報取得部３００８を使用する。次にこの空き領域一覧のうち、指定された容量で指定されたアクセスタイムを満たすかどうかを調べていない空き領域があるかどうかをステップ７００２で判断し、なければ終了する。もしステップ７００２で調べていない空き領域があれば、ステップ７００３でそのうちの１個を選択する。そしてステップ７００４で、当該空き領域にボリュームを作成したと仮定した場合、当該空き領域を構成するパリティグループ内に定義されている全てのボリュームが、ボリューム作成後にも要求アクセスタイムを満たせるかどうか、図５に示した処理手順で調査する。次にステップ７００５で、ステップ７００４の結果、要求アクセスタイムが満たせないと判断すれば終了する。ステップ７００５でボリューム作成後も要求アクセスタイムを満たせると判断すれば、ステップ７００６で空き領域を探索結果に加え、再びステップ７００２に戻り、処理を継続する。なお図７に示したステップのうち、ステップ７００４については図３の要求アクセスタイム維持確認部３００５で処理し、それ以外のステップは全て代替案探索部３００４で処理する。
【００３３】
図８は、図５におけるボリューム作成後アクセスタイム決定ステップ５００３の処理の手順である。まずステップ８００１で、ボリューム一覧に含まれる全ての既登録ボリュームの平均Ｉ／Ｏ回数の合計を計算する。次にステップ８００２で、ボリューム作成要求時に指定された平均Ｉ／Ｏ数をステップ８００１の結果に足す。ステップ８００２の結果により、要求されたボリュームを定義した後の当該パリティグループ内に定義されているボリュームの平均Ｉ／Ｏ数の総和が求められる。ステップ８００２の処理終了後、ステップ８００３でボリューム作成後アクセスタイム決定テーブルを参照し、その結果をボリューム作成後アクセスタイムとする。ただしステップ８００３で、ボリューム作成後アクセスタイム決定テーブルの表の値が式である場合は、当該式を計算し、計算結果をボリューム作成後アクセスタイムとする。
【００３４】
本実施例ではボリューム作成後アクセスタイム決定ステップ５００３を、図３における管理計算機２００４内のボリューム作成後アクセスタイム決定部３００９において実現する例を示したが、本ステップを実行するブロックをストレージ３０１１内に設けても良い。この場合、ストレージ３０１１内に新規にパリティグループの性能履歴を採取するパリティグループ性能履歴採取部と、ボリューム作成後アクセスタイム決定部と、ボリューム作成後アクセスタイム決定要求受け付け部を設け、このボリューム作成後アクセスタイム決定部は、パリティグループ性能履歴採取部が採取した履歴からボリューム作成後アクセスタイム決定要求受け付け部が受け取った要求により指定された平均Ｉ／Ｏ数に最も近い履歴の平均アクセスタイムを抽出し、その抽出結果をボリューム作成後アクセスタイムとする。このとき管理計算機２００４では、ボリューム作成後アクセスタイム決定部３００９の代わりにボリューム作成後アクセスタイム決定要求送信部を新規に設け、ストレージ３０１１内のアクセスタイムボリューム作成後アクセスタイム決定部に要求を発行する。
【００３５】
図９は、図８に示したボリューム作成後アクセスタイム決定ステップのステップ８００３で参照するボリューム作成後アクセスタイム決定テーブルを示したものである。列９００１はボリューム作成要求と共に指定されたボリューム定義先のパリティグループ内に定義されているボリュームの平均Ｉ／Ｏ数の合計であり、列９００２はその平均Ｉ／Ｏ数の合計に対して当該パリティグループが達成可能な平均アクセスタイムの値もしくは式を示す。なお図９に示したボリューム作成後アクセスタイム決定テーブルは、ストレージ内での全てのパリティグループで共通のテーブルを持っても良いし、パリティグループ毎にもってもよい。
【００３６】
図９に示した数値は例であり、実際の場合は異なる値を使用してもよい。また常に固定した表を使用するのではなく、図２に示すクライアント計算機２００２やクライアント計算機２００３上で性能履歴を収集し、当該パリティグループもしくは構成する物理ディスクの構成及び性能が同じ他のパリティグループの平均Ｉ／Ｏ数と平均アクセスタイムを抽出し、その結果を管理計算機２００４に送って、ボリューム作成後アクセスタイム決定テーブルに反映してもよい。
【００３７】
またアクセスタイム決定テーブルの値を当該パリティグループを構成する物理ディスクの台数やそれらの性能、カタログに記述されている仕様性能値、当該パリティグループのＲＡＩＤレベルや利用可能なキャッシュメモリの容量から計算してもよい。例えば平均アクセスタイムを求めるのに、当該パリティグループを構成する物理ディスクの平均アクセスタイムの平均値もしくは最も遅い値にパリティグループのＲＡＩＤレベルにより決定される固定値を積算する等である。このときのＲＡＩＤレベルにより決定される固定値の例として、ＲＡＩＤレベル１の場合は２倍、データ用物理ディスクを３台と冗長データ１台を使用するＲＡＩＤレベル５の場合は１／２等がある。
【００３８】
図１０は、図３に示す要求アクセスタイム保持部３００６が保持する情報である。列１０００１は、ボリュームの識別子を示し、列１０００２及び列１０００３は、それぞれ列１０００１で示されたボリュームの要求アクセスタイムと平均Ｉ／Ｏ数を示す。
【００３９】
本実施例では、要求アクセスタイムを図３の要求アクセスタイム保持部３００６で集中管理する例を述べたが、クライアント計算機、管理計算機もしくはストレージの内にまとめて保持したり、ストレージ内のボリューム定義ごとに持ったりしてもよい。
【００４０】
図１１は、図３に示すストレージ３０１１内のボリューム情報保持部３０１４が保持するボリューム構成情報を示す。図１１（ａ）は、パリティグループと当該パリティグループを構成している物理ディスクと、そのパリティグループのＲＡＩＤレベルの一覧である。列１１００１はパリティグループの識別子であり、列１１００２及び列１１００３は、それぞれ当該パリティグループを構成する物理ディスク一覧及び当該パリティグループのＲＡＩＤレベルである。また図１１（ｂ）は、パリティグループ内に定義されているボリュームもしくは空き領域の一覧とそれらの容量を示している。列１１００４はパリティグループで、列１１００５はそのパリティグループ内に定義されているボリューム識別子もしくは空き領域を示す情報であり、列１１００６は列１１００５で示した内容に割り当てられている容量である。
【００４１】
本実施例では、指定したボリューム作成後、要求アクセスタイムを下回るボリュームがでる場合に警告及び代替案を表示する例を示したが、警告のみでとどめ代替案を表示しなくてもよい。このときは、図４においてステップ４００７の代替案探索の処理は行なわず、ステップ４００８では警告のみを表示する。また警告を出した後、要求されたボリュームを作成するかどうかを確認し、継続すると選択されたら、他のボリュームのアクセスタイムが要求アクセスタイムを満たさなくなってもボリュームを作成するようにしてもよい。このとき図４の処理の流れは、ステップ４００８の後、継続確認をして継続を選択したらステップ４００６を、中止を選択したら終了するという流れになる。
【００４２】
また本実施例では、ボリュームの作成に限定して述べたが、ボリュームの移動に関しても同様である。ボリュームの作成の場合は、ボリュームを作成するパリティグループに着目して性能に関する影響を考慮したが、ボリュームの移動の場合は、ボリュームの移動先のパリティグループに着目して性能に関する影響を考慮する。
【００４３】
図９で示したボリューム作成後アクセスタイム決定テーブル及び図１０で示した要求アクセスタイム保持部３００６が保持する情報は、管理者が指定して変更する以外に、指定した時間に自動的に変更してもよい。例えばタイマ部を設けて、テーブルエントリを定期的に変更したり、有効期限をつけたりするなどである。また図３で示した要求アクセスタイム保持部３００６が保持する情報について、要求アクセスタイムに優先度をつけ、優先度により図４のステップ４００８で警告を表示して終了するか、前述のように継続確認するかを切り替えてもよい。
【００４４】
次に第２の実施例として、要求アクセスタイムを指定し、その要求を満たす空き領域を表示する手順を示す。図１２は、要求アクセスタイムを指定し、それを満たせる空き領域の一覧を表示する手順である。まずステップ１２００１で要求アクセスタイムを取得する。次にステップ１２００２で、その要求アクセスタイムと容量５００メガバイト以上を条件として、条件を満たす空き領域を探索する。このときの探索方式は、図６で示した手順を使用する。また容量５００メガバイトという条件は特にこの値に限定しない。ステップ１２００２の次にステップ１２００３で、探索結果の各空き領域の容量とボリューム定義後アクセスタイムを全て表示する。本実施例によれば、新しいボリュームを作成する前に要求アクセスタイムを満たす空き領域が物理ディスク上に存在するかを否か判定することができる。
【００４５】
本実施例では、要求アクセスタイムを指定してそれを満たす空き領域の一覧を指定したが、同様に容量を指定して、それ以上の容量の空き領域の一覧を表示してもよい。また容量や要求アクセスタイムを指定せずに、全ての空き領域について、容量とボリューム定義後アクセスタイムを表示してもよい。
【００４６】
次に第３の実施例として、第１の実施例で使用した各ボリュームの要求アクセスタイムを登録する手順を示す。図１３は、既存ボリュームの要求アクセスタイムを登録する手順である。まずステップ１３００１で要求アクセスタイムを登録するボリュームの情報を取得し、ステップ１３００２で、図８に示した手順でボリューム作成後アクセスタイムを決定する。そしてステップ１３００３でボリューム作成後アクセスタイム以上の値に制限して、本発明の利用者に要求アクセスタイムとして登録する値を選択させ、ステップ１３００４で選択された結果を要求アクセスタイムとして登録する。
【００４７】
第１の実施例、第２の実施例及び第３の実施例では性能評価基準の例としてアクセスタイムを使用したが、ボリュームによってデータ転送速度が異なるならば転送速度でもよい。またアクセスタイムと転送速度を組み合わせた性能基準でもよい。また読み出し性能と書き込み性能を別々に扱ってもよい。また性能に限らず、ＲＡＩＤレベルやストレージが持つ機能の限定等の信頼性を表す情報や、他のボリュームとの相対的位置関係、例えば指定した２個のボリュームは同じ物理ディスクを使用しない、等の評価基準を使用してもよい。さらにこれらの基準を２個以上混在して指定し、全てが成り立つもしくはそのうちの１個のみが成り立つという基準で警告するかどうかを決定してもよい。
【００４８】
第３の実施例で示した要求アクセスタイムの登録は、ボリューム作成直後に限らずボリュームを作成してしばらくたってからでも、ボリュームを作成すると決定してからボリュームを作成するまでの間でもよい。また図４におけるボリューム作成ステップ４００６の前もしくは後で処理してもよい。
【００４９】
第１の実施例及び第２の実施例及び第３の実施例では、各ボリュームの平均利用情報として平均Ｉ／Ｏ数を使用した。ところが当該ボリュームを使用するクライアント計算機が常に登録された平均Ｉ／Ｏ数前後で当該ボリュームを使用するとは限らない。場合により、極端にＩ／Ｏ要求数が増えて何倍にもなり、そのために他のボリュームの性能が低下し要求性能を満たさなくなる可能性がある。クライアント計算機の単位時間あたりの平均Ｉ／Ｏ数が極端に増加するのを回避する方式として、いくつかの方式が考えられる。そのうちの１個として、クライアント側で発行するＩ／Ｏ要求数を制限する方法である。この場合、現在の平均Ｉ／Ｏ要求発行数がボリューム作成時に指定した平均Ｉ／Ｏ数の超えた時点から、Ｉ／Ｏ要求の発行を自ら遅らせる、もしくは一定時間は要求を発行しない等である。また別の方法として、ストレージ側で各ボリュームに指定された平均Ｉ／Ｏ数を現在の平均Ｉ／Ｏ要求処理数が超えたら、しばらくの間、当該ボリュームへのＩ／Ｏ要求の処理の優先度を下げる、もしくは一定時間前期要求は処理しないという方法がある。
【図面の簡単な説明】
【００５０】
【図１】物理ディスクとボリュームの関係を説明する図である。
【図２】実施例のコンピュータシステムの構成を示す図である。
【図３】実施例の管理計算機の構成を示す図である。
【図４】実施例のボリューム作成処理の手順を示すフローチャートである。
【図５】実施例のボリューム作成処理後に全ボリュームが要求アクセスタイムを満たすかを調べる手順を示すフローチャートである。
【図６】実施例の代替案を探索する手順を示すフローチャートである。
【図７】実施例の要求アクセスタイムを満たす空き領域を探索する手順を示すフローチャートである。
【図８】実施例のボリューム作成後アクセスタイムを決定する手順を示すフローチャートである。
【図９】ボリューム作成後アクセスタイム決定テーブルの例を示す図である。
【図１０】実施例の要求アクセスタイム保持手段の保持する内容を示す図である。
【図１１】実施例のストレージ構成情報保持部が保持する情報を示す図である。
【図１２】実施例の要求アクセスタイムを満たすボリューム一覧を取得する手順を示すフローチャートである。
【図１３】実施例の要求アクセスタイムを登録する手順を示すフローチャートである。
【符号の説明】
【００５１】
２００４：管理計算機、２００５，２００６，２００７，３０１１：ストレージ、３００１：ボリューム作成要求受け付け部、３００２：警告・代替案表示部、３００３：ボリューム作成要求処理部、３００４：代替案探索部、３００５：要求アクセスタイム維持確認部、３００６：要求アクセスタイム保持部、３００９：ボリューム作成後アクセスタイム決定部、
【図１】
2008146677.tif 000003
【図２】
2008146677.tif 000004
【図３】
2008146677.tif 000005
【図４】
2008146677.tif 000006
【図５】
2008146677.tif 000007
【図６】
2008146677.tif 000008
【図７】
2008146677.tif 000009
【図８】
2008146677.tif 000010
【図９】
2008146677.tif 000011
【図１０】
2008146677.tif 000012
【図１１】
2008146677.tif 000013
【図１２】
2008146677.tif 000014
【図１３】
2008146677.tif 000015