(57)【要約】  複数の仮想ストレージ・サブシステムにおけるストレージ割り当てを管理するためのボリューム・プロビジョニング・アドバイザが開示される。データ・ストレージおよび作業負荷要求についての要求はユーザから受信される。仮想化エンジン内のストレージ・コントローラおよび管理ディスクのためのパフォーマンス情報が受信される。受信されたパフォーマンス情報および利用可能な管理ディスク、ならびに追跡されたそれらの利用度に基づいて、リソース・グループが定義される。仮想化エンジン内のリソース・グループ・パフォーマンスは、ユーザ作業負荷要求および現在または履歴リソース・グループ利用度に基づいて予測される。ストレージは、予測されたリソース・グループ・パフォーマンスに基づいて、仮想化エンジン内の１つ以上の管理ディスクに割り当てられる。
2008527555.tif 000002
【特許請求の範囲】
【請求項１】
プログラム・ストレージ・デバイスであって、
仮想ストレージ・システムにおけるストレージ割り当てを管理するための操作を実行する処理デバイスにより実行可能なプログラム命令を含み、前記操作は、
作業負荷プロファイルを評価するステップと、
管理ディスクのパフォーマンス特性を決定するステップと、
前記管理ディスクとリソース・グループとの間の関係を決定するステップと、
前記管理ディスクが割り当てられるリソース・グループに基づいて、前記管理ディスクのセットを含む少なくとも１つの仮想ディスクの割り当てを推奨するステップとを含む、
プログラム・ストレージ・デバイス。
【請求項２】
前記操作は、
前記作業負荷プロファイルを定義するステップをさらに含む、
請求項１に記載のプログラム・ストレージ・デバイス。
【請求項３】
前記操作は、
前記管理ディスクが割り当てられるリソース・グループに基づいて、管理ディスクのセットを含む仮想ディスクを作成するステップをさらに含む、
請求項１または２に記載のプログラム・ストレージ・デバイス。
【請求項４】
関係を決定する前記ステップは、ユーザ入力に基づく、請求項１、２または３に記載のプログラム・ストレージ・デバイス。
【請求項５】
関係を決定する前記ステップは、自動的に提供される入力に基づく、請求項１〜３のいずれか１項に記載のプログラム・ストレージ・デバイス。
【請求項６】
仮想ディスクを作成する前記ステップは、前記管理ディスクが割り当てられる前記リソース・グループに基づいて、管理ディスクの前記セット内に複数の仮想ディスクを作成するステップをさらに含む、請求項３に記載のプログラム・ストレージ・デバイス。
【請求項７】
管理ディスクのセットおよび特定の作業負荷についてのスループット・ケイパビリティを含むリソース・グループと関連付けられたパフォーマンス特性のセットを識別することにより仮想ディスクのための位置を選択するステップと、
管理ディスクのセットおよびリソース・グループと関連付けられたパフォーマンス特性のセットに基づいて最適なリソース利用度を推定するステップとをさらに含む、
先行請求項のいずれか１項に記載のプログラム・ストレージ・デバイス。
【請求項８】
作業負荷プロファイルを定義する前記ステップは、所望ストレージ量、前記作業負荷の特性の識別および所望のスループットのレベル、ならびに割り当てヒントから成るグループから選ばれる少なくとも１つのものを選択するステップをさらに含む、請求項２に記載のプログラム・ストレージ・デバイス。
【請求項９】
管理ディスクのパフォーマンス・ケイパビリティを得るステップをさらに含む、先行請求項のいずれか１項に記載のプログラム・ストレージ・デバイス。
【請求項１０】
管理ディスクのパフォーマンス・ケイパビリティを得る前記ステップは、管理ディスクのパフォーマンス・ケイパビリティを示す手動入力を提供するステップをさらに含む、請求項９に記載のプログラム・ストレージ・デバイス。
【請求項１１】
管理ディスクのパフォーマンス・ケイパビリティを得る前記ステップは、管理ディスク・コンフィギュレータからパフォーマンス・ケイパビリティを受信するステップをさらに含む、請求項９に記載のプログラム・ストレージ・デバイス。
【請求項１２】
管理ディスク・コンフィギュレータからパフォーマンス・ケイパビリティを受信する前記ステップは、管理ディスクの前記パフォーマンス特性およびそれらの関連付けられたリソース・グループに関する情報を得るステップをさらに含み、前記リソース・グループは、管理ディスク間の潜在的な関係を識別する、請求項１１に記載のプログラム・ストレージ・デバイス。
【請求項１３】
管理ディスクのパフォーマンス・ケイパビリティを得る前記ステップは、制御された較正を実行するステップおよび前記制御された較正からの前記結果を用いるステップをさらに含む、請求項９に記載のプログラム・ストレージ・デバイス。
【請求項１４】
制御された較正を実行する前記ステップは、前記管理ディスクの挙動を識別するために、前記管理ディスクに対して指定されたＩ／Ｏロードを動作させるステップを含む、請求項１３に記載のプログラム・ストレージ・デバイス。
【請求項１５】
管理ディスクのパフォーマンス・ケイパビリティを得る前記ステップは、制御されない較正を実行するステップおよび前記制御されない較正からの前記結果を用いるステップをさらに含む、請求項９に記載のプログラム・ストレージ・デバイス。
【請求項１６】
制御されない較正を実行する前記ステップは、前記管理ディスクの挙動を識別するために、アプリケーションが制御されない作業負荷として作動する際に前記パフォーマンス挙動を分析するステップを含む、請求項１５に記載のプログラム・ストレージ・デバイス。
【請求項１７】
管理ディスクのパフォーマンス・ケイパビリティを得る前記ステップは、ユーザからインタフェースを介して入力を受信するステップをさらに含む、請求項９に記載のプログラム・ストレージ・デバイス。
【請求項１８】
管理ディスクのパフォーマンス特性を決定する前記ステップは、前記管理ディスクが属するリソース・グループを識別するステップをさらに含む、先行請求項のいずれか１項に記載のプログラム・ストレージ・デバイス。
【請求項１９】
前記ユーザ入力は、管理ディスクのパフォーマンス・プロファイルからの選択を含む、請求項１７に記載のプログラム・ストレージ・デバイス。
【請求項２０】
前記ユーザ入力は、パフォーマンス・プロファイル・リソース・グループからの選択を含む、請求項１７に記載のプログラム・ストレージ・デバイス。
【請求項２１】
作業負荷プロファイルを評価するステップと、
管理ディスクのパフォーマンス特性を決定するステップと、
前記管理ディスクとリソース・グループとの間の関係を決定するステップと、
前記管理ディスクが割り当てられるリソース・グループに基づいて、前記管理ディスクのセットを含む少なくとも１つの仮想ディスクの割り当てを推奨するステップとを含む、
方法。
【請求項２２】
前記作業負荷プロファイルを定義するステップをさらに含む、
請求項２１に記載の方法。
【請求項２３】
前記管理ディスクが割り当てられるリソース・グループに基づいて、前記管理ディスクのセットを含む仮想ディスクを作成するステップをさらに含む、
請求項２１または２２に記載の方法。
【請求項２４】
関係を決定する前記ステップは、ユーザ入力に基づく、請求項２１、２２または２３に記載の方法。
【請求項２５】
関係を決定する前記ステップは、自動的に提供される入力に基づく、請求項２１〜２３のいずれか１項に記載の方法。
【請求項２６】
仮想ディスクを作成する前記ステップは、前記管理ディスクが割り当てられる前記リソース・グループに基づいて、管理ディスクの前記セット内に複数の仮想ディスクを作成するステップをさらに含む、請求項２３に記載の方法。
【請求項２７】
管理ディスクのセットおよび特定の作業負荷についてのスループット・ケイパビリティを含むリソース・グループと関連付けられたパフォーマンス特性のセットを識別することにより仮想ディスクのための位置を選択するステップと、
管理ディスクのセットおよびリソース・グループと関連付けられたパフォーマンス特性のセットに基づいて最適なリソース利用度を推定するステップとをさらに含む、
請求項２１〜２６のいずれか１項に記載の方法。
【請求項２８】
作業負荷プロファイルを定義する前記ステップは、所望ストレージ量、前記作業負荷の特性の識別および所望のスループットのレベル、ならびに割り当てヒントから成る前記グループから選ばれる少なくとも１つのものを選択するステップをさらに含む、請求項２２に記載の方法。
【請求項２９】
管理ディスクのパフォーマンス・ケイパビリティを得るステップをさらに含む、請求項２１〜２８のいずれか１項に記載の方法。
【請求項３０】
管理ディスクのパフォーマンス・ケイパビリティを得る前記ステップは、管理ディスクのパフォーマンス・ケイパビリティを示す手動入力を提供するステップをさらに含む、請求項２９に記載の方法。
【請求項３１】
管理ディスクのパフォーマンス・ケイパビリティを得る前記ステップは、管理ディスク・コンフィギュレータからパフォーマンス・ケイパビリティを受信するステップをさらに含む、請求項２９に記載の方法。
【請求項３２】
管理ディスク・コンフィギュレータからパフォーマンス・ケイパビリティを受信する前記ステップは、管理ディスクの前記パフォーマンス特性およびそれらの関連付けられたリソース・グループに関する情報を得るステップをさらに含み、前記リソース・グループは、管理ディスク間の潜在的な関係を識別する、請求項３１に記載の方法。
【請求項３３】
管理ディスクのパフォーマンス・ケイパビリティを得る前記ステップは、制御された較正を実行するステップおよび前記制御された較正からの前記結果を用いるステップをさらに含む、請求項２９に記載の方法。
【請求項３４】
制御された較正を実行する前記ステップは、前記管理ディスクの挙動を識別するために、前記管理ディスクに対して指定されたＩ／Ｏロードを動作させるステップを含む、請求項３３に記載の方法。
【請求項３５】
管理ディスクのパフォーマンス・ケイパビリティを得る前記ステップは、制御されない較正を実行するステップおよび前記制御されない較正からの前記結果を用いるステップをさらに含む、請求項２９に記載の方法。
【請求項３６】
制御されない較正を実行する前記ステップは、前記管理ディスクの挙動を識別するために、アプリケーションが制御されない作業負荷として作動する際に前記パフォーマンス挙動を分析するステップを含む、請求項３５に記載の方法。
【請求項３７】
管理ディスクのパフォーマンス・ケイパビリティを得る前記ステップは、ユーザからインタフェースを介して入力を受信するステップをさらに含む、請求項２９に記載の方法。
【請求項３８】
管理ディスクのパフォーマンス特性を決定する前記ステップは、前記管理ディスクが属するリソース・グループを識別するステップをさらに含む、請求項２１〜３７のいずれか１項に記載の方法。
【請求項３９】
前記ユーザ入力は、管理ディスクのパフォーマンス・プロファイルからの選択を含む、請求項３７に記載の方法。
【請求項４０】
前記ユーザ入力は、パフォーマンス・プロファイルリソース・グループからの選択を含む、請求項３７に記載の方法。
【請求項４１】
仮想ストレージ・システムにおけるストレージ割り当てを管理するためのボリューム・プロビジョニング・アドバイザであって、該ボリューム・プロビジョニング・アドバイザは、請求項２１〜４０のいずれか１項に記載の方法を実行するために動作可能である、ボリューム・プロビジョニング・アドバイザ。
【請求項４２】
リソース・グループは、名称、パフォーマンス属性および前記リソース・グループに属する管理ディスクのセットを含む、請求項４１に記載のボリューム・プロビジョニング・アドバイザ。
【請求項４３】
管理ディスクは、１つ以上のリソース・グループに属し、リソース・グループは、管理ディスク間の潜在的な関係を識別する、請求項４１または４２に記載のボリューム・プロビジョニング・アドバイザ。
【請求項４４】
コンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行される場合、請求項２１〜４０のいずれか１項に記載の方法を実行するようにされたプログラム・コード手段を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク・ストレージ・システムに関し、より具体的には、仮想化ストレージ・サブシステム内の仮想化ストレージ割り当ての自動パフォーマンス最適化を提供するための方法、装置およびプログラム・ストレージ・デバイスに関する。
【背景技術】
【０００２】
会社、政府機関または他の事業体において用いられるような企業データ処理機構において、情報は、サーバに上に格納され、例えば、ネットワーク越しにユーザによりアクセスされることがよくある。情報は、処理されるべきどのようなタイプのプログラムまたはデータあるいはその両方の情報も含み得る。自分のパーソナル・コンピュータ、ワークステーション等（一般に、「コンピュータ」）を使用するユーザは、自分のコンピュータが、処理されるべき情報を取得し、さらに、情報を、例えば、遠隔サーバ上に格納できるようにする。
【０００３】
一般に、サーバは、多くのディスク・ストレージ・ユニットを通常含む大容量ストレージ・サブシステムにデータを格納する。データは、ファイルのような単位で格納される。１つのサーバ中で、１つのファイルは、１つのディスク・ストレージ・ユニット上に格納されてもよく、あるいは、１つのファイルのいくつかの部分がいくつかのディスク・ストレージ・ユニット上に格納されてもよい。サーバは、多くのユーザからのアクセス要求に同時にサービスでき、同時にサービスされるアクセス操作が、それらのアクセス操作が同時にサービスされるように複数のディスク・ストレージ・ユニット全体にわたって分布された情報と関連していることが好ましいことが理解されるであろう。別の言い方をすれば、他のディスク・ドライブ・ユニットが軽負荷またはアイドル状態になっている一方で、１つのディスク・ドライブ・ユニットに負荷がかかりすぎる、すなわちビジー・サービンシグ・アクセスにならないやり方で情報をディスク・ストレージ・ユニット中に格納することが一般に望ましい。
【０００４】
ビジネスのコンピュータ・ネットワークは、互いにそしてビジネス・ユーザから離れて位置する複数のストレージ・ネットワークを有することがある。ストレージ・ネットワークは、異なるタイプのシステム上でホストされることもある。作業を正しく実行するため、ビジネス・ユーザは、ストレージ・ネットワークのすべてに含まれているデータへの迅速かつ信頼性の高いアクセスを要求することがある。情報科学（ＩＴ）要員は、高速で信頼性の高いアクセスをビジネス・ユーザに提供できなければならない。
【０００５】
ストレージ・エリア・ネットワーク（ＳＡＮ）は、データ・ストレージ・デバイスをサーバに論理的に接続する高速な高帯域幅ストレージ・ネットワークである。そして今度は、ビジネス・ユーザが通常、サーバを介してデータ・ストレージ・デバイスに接続される。ＳＡＮは、伝統的なサーバ／ストレージ接続により示される概念を拡張し、より高い柔軟性、可用性、統合管理およびパフォーマンスを提供する。ＳＡＮは、企業内の情報へユーザがいつでもアクセスできるようにするための第１のＩＴソリューションである。一般に、ＳＡＮは、ホスト、相互接続デバイス、ストレージ・デバイス、およびネットワーク・アタッチ・サーバ（ＮＡＳ）デバイスのようなネットワーク・デバイスを定義するための管理ソフトウェアを含む。ＳＡＮ管理ソフトウェアは、リンクがデバイス間で定義されることも可能にする。ＳＡＮ内では、ソフトウェアは、単一の仮想ディスクとして特徴付けられると同時に、多数のストレージ・ディスクにわたってデータが格納される仮想ストレージを定義することができる。
【０００６】
高速で信頼性の高いアクセスをビジネス・ユーザに提供するというこの目標に到達する際の１つの重要な構成要素は、ＳＡＮを設計および保守する人々にＳＡＮが完全に理解されるようにすることである。ＳＡＮは、その複雑さため、迅速に理解することが困難なことがよくある。ＳＡＮおよびＳＡＮ内の仮想システムの構成を迅速に理解および変更されるようにするツールが有益である。
【０００７】
ＳＡＮの利点の１つは、多数のクライアントについてストレージ・アクセスを管理するサーバにおいて生じ得る隘路の排除である。ストレージへの共用アクセスを可能にすることにより、ＳＡＮは、より低いデータ・アクセス待ち時間および向上したパフォーマンスに備えることができる。しかしながら、ＳＡＮアタッチ・ストレージのような大きいストレージ・ネットワークにおいては、新たに割り当てられたスペースが考え得る最良のパフォーマンスを達成するように、ストレージの増加分をどこに割り当てるかをストレージ・アドミニストレータが知ることは困難である。これは、多数の仮想化ストレージ・サブシステムを含み得るネットワークが複雑であること、作業負荷を分析することが複雑であること、および物理ストレージ属性がアプリケーションから隠されることがあるためである。
【０００８】
過去において、大ストレージ環境のためのストレージ割り当ては手動で実行されてきた。アルゴリズムに基づいてストレージを割り当て、またはどこに割り当てるかを推奨できるストレージ管理ソフトウェアが利用可能である。それにもかかわらず、これらのアルゴリズムは実際に、ＳＡＮ内の仮想ストレージ・システムを含む利用可能なストレージの制約内で生産性能要件を満たすことを試みない。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、仮想化ストレージ・サブシステム内の仮想化ストレージ割り当ての自動パフォーマンス最適化を提供するための方法、装置およびプログラム・ストレージ・デバイスを開示する。
【課題を解決するための手段】
【００１０】
第１の態様によれば、プログラム・ストレージ・デバイスが提供され、プログラム・ストレージ・デバイスは、仮想ストレージ・システムにおいてストレージ割り当てを管理するための操作を実行する処理デバイスにより実行可能なプログラム命令を含み、操作は、作業負荷プロファイルを評価するステップと、管理ディスクのパフォーマンス特性を決定するステップと、管理ディスクとリソース・グループとの間の関係を決定するステップと、管理ディスクが割り当てられるリソース・グループに基づいて、管理ディスクのセットを含む少なくとも１つの仮想ディスクの割り当てを推奨するステップとを含む。
【００１１】
１つの実施形態において、操作は、作業負荷プロファイルを定義するステップをさらに含む。
【００１２】
１つの実施形態において、操作は、管理ディスクが割り当てられるリソース・グループに基づいて、管理ディスクのセットを含む仮想ディスクを作成するステップをさらに含む。
【００１３】
１つの実施形態において、関係を決定するステップは、ユーザ入力に基づく。
【００１４】
１つの実施形態において、関係を決定するステップは、自動的に提供される入力に基づく。
【００１５】
１つの実施形態において、仮想ディスクを作成するステップは、管理ディスクが割り当てられるリソース・グループに基づいて管理ディスクのセット内に複数の仮想ディスクを作成するステップをさらに含む。
【００１６】
１つの実施形態において、仮想ディスクのための位置は、管理ディスクのセットおよび特定の作業負荷についてのスループット・ケイパビリティを含むリソース・グループと関連付けられたパフォーマンス特性のセットを識別することにより選択され、最適なリソース利用度は、管理ディスクおよびリソース・グループと関連付けられたパフォーマンス特性のセットに基づいて推定される。
【００１７】
１つの実施形態において、作業負荷プロファイルを定義するステップは、所望ストレージ量、作業負荷の特性の識別および所望のスループットのレベル、ならびに割り当てヒントから成るグループから選ばれる少なくとも１つのものを選択するステップをさらに含む。
【００１８】
１つの実施形態において、管理ディスクのパフォーマンス・ケイパビリティが得られる。
【００１９】
１つの実施形態において、管理ディスクのパフォーマンス・ケイパビリティを得るステップは、管理ディスクのパフォーマンス・ケイパビリティを示す手動入力を提供することをさらに含む。
【００２０】
１つの実施形態において、管理ディスクのパフォーマンス・ケイパビリティを得るステップは、管理ディスク・コンフィギュレータからパフォーマンス・ケイパビリティを受信するステップをさらに含む。
【００２１】
１つの実施形態において、管理ディスク・コンフィギュレータからパフォーマンス・ケイパビリティを受信するステップは、管理ディスクのパフォーマンス特性および管理ディスクの関連付けられたリソース・グループに関する情報を得るステップをさらに含み、リソース・グループは、管理ディスク間の潜在的な関係を識別する。
【００２２】
１つの実施形態において、管理ディスクのパフォーマンス・ケイパビリティを得るステップは、制御された較正を実行するステップおよび制御された較正からの結果を用いるステップをさらに含む。
【００２３】
１つの実施形態において、制御された較正を実行するステップは、管理ディスクの挙動を識別するために、管理ディスクに対して指定されたＩ／Ｏロードを動作させるステップを含む。
【００２４】
１つの実施形態において、管理ディスクのパフォーマンス・ケイパビリティを得るステップは、制御されない較正を実行するステップおよび制御されない較正からの結果を用いるステップをさらに含む。
【００２５】
１つの実施形態において、制御されない較正を実行するステップは、管理ディスクの挙動を識別するために、アプリケーションが制御されない作業負荷として作動する際にパフォーマンス挙動を分析するステップを含む。
【００２６】
１つの実施形態において、管理ディスクのパフォーマンス・ケイパビリティを得るステップは、ユーザからインタフェースを介して入力を受信するステップをさらに含む。
【００２７】
１つの実施形態において、管理ディスクのパフォーマンス特性を決定するステップは、管理ディスクが属するリソース・グループを識別するステップをさらに含む。
【００２８】
１つの実施形態によれば、プログラム・ストレージ・デバイスが提供され、プログラム・ストレージ・デバイスは、仮想ストレージ・システムにおけるストレージ割り当てを管理するための操作を実行する処理デバイスにより実行可能なプログラム命令を含み、操作は、作業負荷プロファイルを定義するステップと、管理ディスクのパフォーマンス特性を決定するステップと、管理ディスクとリソース・グループとの間の関係を決定するステップと、管理ディスクが割り当てられるリソース・グループに基づいて管理ディスクのセットを含む仮想ディスクを作成するステップとを含む。
【００２９】
１つの実施形態によれば、仮想ストレージ・システムにおけるストレージ割り当てを管理するデバイスが提供される。このデバイスは、ストレージ・システム情報を格納するためのメモリおよびこのメモリに結合されたプロセッサを含む。このプロセッサは、作業負荷プロファイルを定義する際に使用するユーザ・インタフェースならびに管理ディスクのパフォーマンス特性を決定し、管理ディスクとリソース・グループとの間の関係をユーザ定義されたまたは自動化された入力に基づいて決定し、管理ディスクが割り当てられるリソース・グループを考慮して管理ディスクのセットを含む仮想ディスクを作成するための仮想ディスク・アロケータを提供するように構成される。
【００３０】
１つの実施形態において、プロセッサは、管理ディスクが割り当てられるリソース・グループを考慮して管理ディスクのセット内に１つ以上の仮想ディスクを作成する。
【００３１】
１つの実施形態において、プロセッサ・アロケータは、管理ディスクのセットおよび特定の作業負荷についてのスループット・ケイパビリティを含むリソース・グループに関連付けられたパフォーマンス特性のセットを識別し、管理ディスクのセットおよびリソース・グループに関連付けられたパフォーマンス特性に基づいて最適リソース利用を推定することにより、仮想ディスクのための位置を推奨する。
【００３２】
１つの実施形態において、作業負荷プロファイルは、所望ストレージの量、作業負荷の特性の識別および所望のスループットのレベル、ならびに割り当てヒントから成るグループから選ばれる少なくとも１つのものを含む。
【００３３】
１つの実施形態において、プロセッサは、グラフィック・インタフェースを提供する。
【００３４】
１つの実施形態において、プロセッサは、コマンド・ライン・インタフェースを用いるスクリプト化されたアプリケーションを提供する。
【００３５】
１つの実施形態において、プロセッサは、アプリケーション・プログラミング・インタフェース（ＡＰＩ））を用いるスクリプト化されたアプリケーションを提供する。
【００３６】
１つの実施形態において、プロセッサは、手動入力、管理ディスク・コンフィギュレータ、制御された較正結果、制御されない較正結果および標準インタフェース入力を含むグループのうちの少なくとも１つを用いて管理ディスクのパフォーマンス・ケイパビリティを決定する。
【００３７】
１つの実施形態において、手動入力は、管理ディスクのパフォーマンス・プロファイルからの選択を含む。
【００３８】
１つの実施形態において、手動入力は、パフォーマンス・プロファイル・リソース・グループからの選択を含む。
【００３９】
本発明の１つの実施形態において、仮想ストレージ・システムにおいてストレージ割り当てを管理するための方法が提供される。この方法は、ユーザ定義された作業負荷プロファイルを得るステップと、管理ディスクのパフォーマンス特性を決定するステップと、管理ディスクとリソース・グループとの間の関係をユーザ定義されたまたは自動化された入力に基づいて決定するステップと、管理ディスクが割り当てられるリソース・グループを考慮して管理ディスクのセットを含む仮想ディスクを作成するステップとを含む。
【００４０】
別の態様によれば、作業負荷プロファイルを評価するステップと、管理ディスクのパフォーマンス特性を決定するステップと、管理ディスクとリソース・グループとの間の関係を決定するステップと、管理ディスクが割り当てられるリソース・グループに基づいて管理ディスクのセットを含む１つ以上の仮想ディスクの割り当てを推奨するステップとを含む方法が提供される。
【００４１】
１つの実施形態によれば、仮想ストレージ・システムにおいてストレージ割り当てを管理するボリューム・プロビジョニング・アドバイザが提供される。ボリューム・プロビジョニング・アドバイザは、作業負荷プロファイルを定義する際に使用するユーザ・インタフェースおよびこのユーザ・インタフェースに作動的に結合された仮想ディスク・アロケータを含み、仮想ディスク・アロケータは、管理ディスクのパフォーマンス特性を決定し、管理ディスクとリソース・グループとの間の関係をユーザ定義されたまたは自動化された入力に基づいて決定し、管理ディスクが割り当てられるリソース・グループを考慮して管理ディスクのセットを含む仮想ディスクを作成する。
【００４２】
１つの実施形態において、作業負荷プロファイルは、所望ストレージの量、作業負荷の特性の識別および所望のスループットのレベル、ならびに割り当てヒントから成るグループから選ばれる少なくとも１つのものを含む。
【００４３】
１つの実施形態において、リソース・グループは、名称、パフォーマンス属性、およびリソース・グループに属する管理ディスクのセットを含む。
【００４４】
１つの実施形態において、管理ディスクは、１つ以上のリソース・グループに属し、リソース・グループは、管理ディスク間の潜在的な関係を識別する。
【００４５】
別の態様によれば、仮想ストレージ・システムにおいてストレージ割り当てを管理するためのボリューム・プロビジョニング・アドバイザが提供され、このボリューム・プロビジョニング・アドバイザは、作業負荷プロファイルを評価する作業負荷評価器および仮想ディスク・アロケータを含み、仮想ディスク・アロケータは、管理ディスクのパフォーマンス特性を決定し、管理ディスクとリソース・グループとの間の関係を決定し、管理ディスクが割り当てられるリソース・グループに基づいて管理ディスクのセットを含む１つ以上の仮想ディスクの割り当てを推奨する。
【００４６】
別の実施形態によれば、仮想ストレージ・システムにおいてストレージ割り当てを管理するためのボリューム・プロビジョニング・アドバイザが提供され、このボリューム・プロビジョニング・アドバイザは、ユーザ定義された作業負荷プロファイルを得るための手段と、管理ディスクのパフォーマンス特性を決定するための手段と、管理ディスクが割り当てられるリソース・グループを考慮して管理ディスクのセットを含む仮想ディスクの割り当てを推奨するための手段とを含む。
【００４７】
本発明の別の実施形態において、別のボリューム・プロビジョニング・アドバイザが提供される。ボリューム・プロビジョニング・アドバイザのこの実施形態は、ユーザ定義された作業負荷プロファイルを得るための手段と、管理ディスクのパフォーマンス特性を決定するための手段と、管理ディスクとリソース・グループとの間の関係をユーザ定義されたまたは自動化された入力に基づいて決定するための手段と、管理ディスクが割り当てられるリソース・グループを考慮して管理ディスクのセットを含む仮想ディスクを作成するための手段とを含む。
【００４８】
別の実施形態によれば、別のボリューム・プロビジョニング・アドバイザが提供される。このボリューム・プロビジョニング・アドバイザは、ユーザ定義された作業負荷プロファイルを得るための手段と、管理ディスクのパフォーマンス特性を決定するための手段と、管理ディスクが割り当てられるリソース・グループを考慮して管理ディスクのセットを含む仮想ディスクを作成するための手段とを含む。
【００４９】
別の実施形態によれば、仮想ストレージ・システムにおいてストレージ割り当てを管理するための方法が提供され、この方法は、ユーザ定義された作業負荷プロファイルを得るステップと、管理ディスクのパフォーマンス特性を決定するステップと、管理ディスクが割り当てられるリソース・グループを考慮して管理ディスクのセットを含む仮想ディスクの割り当てを推奨するステップとを含む。
【００５０】
１つの実施形態において、管理ディスクが割り当てられるリソース・グループを考慮して管理ディスクのセットを含む仮想ディスクが作成される。
【００５１】
１つの実施形態において、仮想ディスクを作成するステップは、管理ディスクのセットおよび特定の作業負荷についてのスループット・ケイパビリティを含むリソース・グループと関連付けられたパフォーマンス特性のセットを識別するステップと、管理ディスクのセットおよびリソース・グループと関連付けられた識別されたパフォーマンス特性のセットから導き出されたリソース利用を推定するステップとをさらに含む。
【００５２】
１つの実施形態において、ユーザ定義された作業負荷プロファイルを得るステップは、所望ストレージの量、作業負荷の特性の識別および所望のスループットのレベル、ならびに割り当てヒントから成るグループから少なくとも１つを選択するステップをさらに含む。
【００５３】
１つの実施形態において、管理ディスクのパフォーマンス・ケイパビリティを決定するステップは、手動入力、得られた構成データ、制御された較正結果、制御されない較正結果および標準インタフェース入力をから成るグループのうちの少なくとも１つを用いるステップを含む。
【発明を実施するための最良の形態】
【００５４】
本発明の実施形態は、単に例として、そして以下の図面（同じ参照符号は、全体を通して対応する部材を表す）に関連して説明される。
【００５５】
実施形態の以下の説明において、本明細書の一部を成す添付図面が参照され、図面には、本発明を実施できる特定の実施形態が例示として示される。他の実施形態が利用され得ることが理解されるべきである。なぜならば、構造変化は、本発明の範囲を逸脱することなくなされ得るからである。
【００５６】
本発明は、仮想化ストレージ・サブシステム内の仮想化ストレージ割り当ての自動パフォーマンス最適化を提供するための方法、装置およびプログラム・ストレージ・デバイスを提供する。
【００５７】
図１は、ローカル・エリア・ネットワーク（ＬＡＮ）の形態のコンピュータ・ネットワーク１００を例示する。図１において、ワークステーション・ノード１０２は、ＬＡＮ相互接続１０４を介してサーバ１２０に結合されている。データ・ストレージ１３０は、データ・バス１５０を介してサーバ１２０に結合されている。ＬＡＮ相互接続１００は、イーサネット（登録商標）のような、任意数のネットワーク・トポロジーであってよい。
【００５８】
図１に示されるネットワークは、ネットワークのクライアント−サーバ・モデルとして知られている。クライアントは、サービスまたは他のリソースを共用するネットワークに接続されたデバイスである。サーバ１２０が、これらのサービスまたはリソースを管理する。サーバ１２０は、コンピュータまたはソフトウェアプログラムであって、クライアント１０２にサービスを提供する。サーバにより管理され得るサービスとしては、データ・ストレージ１３０へのアクセス、サーバ１２０または他の接続されたノード（図示せず）から提供されるアプリケーション、あるいはプリンタ１６０の共用が含まれる。
【００５９】
図１において、ワークステーション１０２は、サーバ１２０のクライアントであり、サーバ１２０により管理されるデータ・ストレージ１３０へのアクセスを共用する。ワークステーション１０２の１つがデータ・ストレージ１３０へのアクセスを必要とする場合、ワークステーション１０２は、ＬＡＮ相互接続１００を介してサーバ１２０に要求を提出する。サーバ１２０は、ワークステーション１０２からデータ・ストレージ１３０へのアクセスについての要求に応える。サーバとストレージとの間での考え得る相互接続技術は、ファイバ・チャンネル・プロトコル（ＦＣＰ）またはスモール・コンピュータ・システム・インタフェース（ＳＣＳＩ）である。
【００６０】
図１に示されるようなネットワークが成長すると、新しいクライアント１０２が付加され、より多くのストレージ１３０が付加され、サービス要求が増大し得る。上述のように、サーバ１２０は、ストレージ１３０へのアクセスについてのすべての要求に応える。その結果、ストレージ１３０上でのＩＯ負荷が劇的に増大することがあり、サーバ１２０上での作業負荷が劇的に増大し、パフォーマンス低下の可能性という結果になることがある。従来のクライアント・サーバ・モデルの帯域幅制限の低減を助けるため、ストレージ・エリア・ネットワーク（ＳＡＮ）が近年いよいよ普及してきている。ストレージ・エリア・ネットワークは、サーバおよびストレージと高速で相互接続する。ＬＡＮのような既存のネットワーキング・モデルをストレージ・エリア・ネットワークと組み合わせることにより、コンピュータ・ネットワーク全体のパフォーマンスが改善され得る。
【００６１】
図２は、本発明の実施形態によるＳＡＮ２００の１つの実施形態を示す。図２において、サーバ２０２は、ＳＡＮ相互接続２０４を介してデータ・ストレージ・デバイス２３０に結合されている。各サーバ２０２および各ストレージ・デバイス２３０は、ＳＡＮ相互接続２０４に結合されている。サーバ２０２は、ＳＡＮ相互接続に接続されたストレージ・デバイス２３０のいずれにも直接アクセスできる。ＳＡＮ相互接続２０４は、ファイバ・チャンネルまたはＳＣＳＩのような、高速相互接続であり得る。図２が示すように、サーバ２０２およびストレージ・デバイス２３０は、それら自体の内外にネットワークを含む。
【００６２】
図２のＳＡＮ２００において、どのサーバ２０２も、ＬＡＮにおけるように特定のストレージ・デバイス２３０の専用ではない。どのサーバ２０２も、図２におけるＳＡＮ２００上のどのストレージ・デバイス２３０にもアクセスできる。ＳＡＮ２００の典型的な特性としては、高帯域幅、サーバからストレージ・ノードへの多数の経路、大きい接続距離、および非常に大きいストレージ容量が含まれ得る。その結果、ＳＡＮの複雑さに伴い、ファイバ・チャンネル・ベースのＳＡＮ２００のパフォーマンス、柔軟性およびスケーラビリティは、典型的なＳＣＳＩベースのシステムのそれよりもかなり大きくなり得る。
【００６３】
図２は、ＳＡＮ相互接続２０４に結合されたネットワーク・アドミニストレータ２７０も示す。ディスクからデータ経路まで、すべての利用可能なＳＡＮリソースを有効に利用し、十分なデータ保護および回復性に備えるやり方でＳＡＮ２００中のストレージ２３０を割り当てることが特に重要である。アドミニストレータ２７０は、ストレージ要素の大きいネットワーク内のストレージ位置の選択を支援するように構成され得る。アドミニストレータ２７０は、仮想ディスク・アロケータ（ＶＤＡ）２７２を含み、これは、本発明の実施形態によれば、所望のパフォーマンスの水準、ユーザの作業負荷の属性、ストレージの変化するパフォーマンス属性および異なるタイプの作業負荷に対するその応答、ならびにネットワーク内の競合作業負荷の存在が与えられれば、顧客の指定パフォーマンスおよびスペース要件に従って入力／出力ストレージ割り当てを処理する。
【００６４】
仮想ディスク・アロケータ２７２は、ストレージ要素のネットワーク内でのストレージについての要求を、要求によって、またはストレージ方針機構を介して指定されたパフォーマンス要求を適合するようなやり方で満足させる。仮想ディスク・アロケータ２７２は、仮想化ストレージ・サブシステムであるＩＢＭ（登録商標）２１４５  ＳＡＮボリューム・コントローラ（ＳＡＮ  ＶＣ）のような環境において動作し得る。（ＩＢＭは、インターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標である。）仮想ディスク・アロケータ２７２は、管理ディスクのパフォーマンス特性を決定する。仮想ディスク・アロケータ２７２は、管理ディスクとリソース・グループとの間の関係を、ユーザ定義されたまたは自動化された入力に基づいて決定し、リソース・グループ、ならびに管理ディスクが割り当てられるキャッシュおよびデータ経路のようなリソース・グループ・ストレージリソースを考慮して、管理ディスクのセットを含む仮想ディスクを作成する。
【００６５】
仮想ディスク・アロケータ２７２は、ポリシー・ベースの考え方をオーブン・システム環境に拡張し、パフォーマンス要件を満たすために仮想化ストレージ・サブシステム内のストレージ要素の選択を自動化する。仮想化ストレージ・システム内の記憶素子を選択して提示する際には、ＯＳまたはボリューム・マネージャ・ソフトウェア、あるいはＤＢ２（登録商標）およびその他のデータベース製品のようなストライプ化ボリュームの概念をサポートする（データベース・アプリケーションのような）アプリケーションが最適に使用されることを考慮する。（ＤＢ２は、インターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標である。）仮想ディスク・アロケータ２７２は、長期データ使用パターンを考慮してストレージを割り当てるという考えも拡張する。仮想ディスク・アロケータ２７２は、データ配置のインテリジェント選択を行うために必要とされる様々なアルゴリズムを実装している。
【００６６】
仮想ディスク・アロケータ２７２が、どのノード、すなわち、仮想化エンジン２７４のようなエンジンがデータにアクセスしてよいか、およびどの管理ディスク・グループ（ＭＤＧ）、すなわち仮想ディスクをサポートするディスクのグループが、選択されるべきＬＵＮを構成するかの決定を行うようにしてもよい。ＭＤＧ内には少なくとも１つの管理ディスクがあり、この管理ディスクは、仮想ディスク内のデータをストライプ化するために仮想化エンジン２７４およびボリューム・マネージャ２７６により用いられ、これは、エンタブライズ・ストレージ・システム（ＥＳＳ）の論理ディスクに相当する。従って、仮想ディスク・アロケータ２７２は、顧客の所望のパフォーマンス・レベルを満たすために、１つのＬＵＮまたは複数のストレージ要素全体にわたる複数のリソース・グループ中の複数のＬＵＮを選択することができる。
【００６７】
アドミニストレータは、システムに接続されているディスクのパフォーマンス・ケイパビリティを見出すために、較正プロセス２７８を実行できる。これには、リソース・グループにおいて特定の構成に編成された個々のディスクのパフォーマンス・ケイパビリティについての特定の知識を単に用いるのではなく、それらのディスクのグループのパフォーマンス・パラメータを見出すために、特定のテストを実施することも当然含まれよう。
【００６８】
図３は、本発明の実施形態による仮想ディスク・アロケータ２７２に実装される属性表３００を例示する。これらの属性としては、ユーザ作業負荷属性および所望のパフォーマンス・レベルの情報（３１０）、管理ディスクまたは任意のリソース・グループのパフォーマンス特性の決定（３１２）、ユーザ定義されたまたは自動化された入力に基づいて決定される管理ディスクとリソース・グループとの間の関係（３１４）、および管理ディスクが割り当てられるリソース・グループを考慮に入れて生成される管理ディスクのセットを有する仮想ディスク（３１６）が含まれる。
【００６９】
アプリケーションが要求する作業負荷、あるいは少なくともそれらの作業負荷について妥当な見積もりをすることなく、インテリジェントにデータ配置の決定を行うことはほとんど不可能である。例えば、ユーザが１００ＧＢのストレージを要求すれば、軽い性能が要求されるのならば、単一の１００ＧＢ論理ディスクの割り当てでもよいかもしれないが、高性能アプリケーションの場合は、１０台のディスク・アレイ全体にわたり１０個の１０ＧＢ論理的ディスクの割り当て、およびそれらの論理ディスク全体にわたるデータのストライピングを要求するかも知れない。あいにく、ほとんどの顧客は、自らの作業負荷がどのように見えるかについて知識を持っていない。
【００７０】
図４は、本発明の実施形態による、管理ディスクをリソース・グループに割り当てる際に、仮想ディスク・アロケータによって使用される作業負荷プロファイルを得るためのユーザ・インタフェースのための機構４００を例示する。作業負荷プロファイルは、作業負荷および所望のスループットのレベルの特性を記述し、所望のストレージの量および割り当てヒントのような情報を含んでもよい。
【００７１】
最初に、予め用意された作業負荷プロファイル（ｃａｎｎｅｄ  ｗｏｒｋｌｏａｄ  ｐｒｏｆｉｌｅ）が提供されてもよい（４１０）。図２を参照すると、仮想ディスク・アロケータ２７２が、メモリ２９２中に予め用意された作業負荷プロファイルを提供してもよい。予め用意された作業負荷プロファイル４１０は、様々な産業および用途における顧客環境の特性に基づいて定めることができる。例として、有名な所与のキャンド作業負荷のセット、例えば、ＳＡＰ＿ＯＬＴＰ、ＤＢ２ビジネス・インテリジェンス等が、提供され得る。アプリケーション専門家からの助言を得て、顧客は最初に、これらの所与の作業負荷４１０のうちの１つを選択する。
【００７２】
作業負荷プロファイルはまた、顧客の作業負荷４１２の観測に基づいて自動的に作成されてもよい。それぞれの顧客の作業負荷は固有の属性を有するので、顧客の環境におけるストレージ・アクセス・パターンを観測することにより、より良好な作業負荷見積もりが得られる。図２を参照すると、仮想ディスク・アロケータ２７２は、その判断の多くを、観測されたディスク・アクセス挙動に基づかせることができ、仮想ディスク・アロケータ２７２は、この観測されたディスク・アクセス挙動をデータベースの形でメモリ２９２中に保持する。仮想ディスク・アロケータ２７２と関連して動作するグラフィック・インタフェースのようなユーザ・インタフェースにより、ユーザはボリュームをグループ化し特定の時間枠を指定し、次にそれらのボリュームの観測された挙動に基づいて作業負荷プロファイルを作成できる。このように、仮想ディスク・アロケータ２７２は、顧客の作業負荷について学習し、時間の経過につれてその意志決定を向上させる。なお、ユーザ・インタフェースは、コマンド・ライン・インタフェース（ＣＬＩ）を用いるスクリプト化アプリケーションであってもよい。
【００７３】
作業負荷プロファイルは、インテリジェント・ソフトウェア・コンポーネント４１４によっても提供され得る。図２を参照すると、仮想ディスク・アロケータ２７２は、作業負荷プロファイルを提供するインテリジェント・ソフトウェア・コンポーネントも含み得る。これらの作業負荷プロファイルは、アプリケーション固有の特別な知識に基づくこともある。
【００７４】
図５は、管理ディスクまたは任意のリソース・グループ（以下、管理ディスク）のパフォーマンス・ケイパビリティを決定するための機構５００を例示する。管理ディスク・パフォーマンス・ケイパビリティは、管理ディスクをリソース・グループに割り当てるために、作業負荷プロファイルと共に仮想ディスク・アロケータ２７２により用いられる。そのような機構は、アドミニストレータからからの手動入力から、パフォーマンス・ケイパビリティを導き出すための自動化された発見的方法に及ぶあらゆる方法を含む。また、制御されたまたは制御されないストレージ環境のいずれかにおいて、較正作業負荷の使用によるケイパビリティの較正を用いることによりパフォーマンスを決定するための機構も含まれる。
【００７５】
管理ディスクのパフォーマンス・ケイパビリティを決定するための１つの機構として、手動入力アプローチ５１０でもよい。このアプローチは簡単であるが、管理ディスク・パフォーマンス・ケイパビリティの理解へのアプローチとしてはあまり望ましくない。例えば、少数の管理ディスク・パフォーマンス・プロファイルが定義できるにすぎないであろう（例えば、「ミラード・ディスク」、「８つのディスクを備えるＲＡＩＤ−５アレイ」）。これらのプロファイルの各々は、特定のデフォルト性能属性を有する。アドミニストレータはその場合、管理されたディスク構成に一致する適切なプロファイルを選択するであろう。このアプローチでは、管理ディスク・ケイパビの非常に多様性が生かされないであろう。
【００７６】
管理ディスクのパフォーマンス・ケイパビリティの把握への別のアプローチは、管理ディスク・コンフィギュレータ５１２を用いることである。デバイス特有のコンフィギュレータは、「把握された」ディスク・コントローラの有限集合に対するパフォーマンス・特性および管理ディスクとストレージ・コントローラ間の関係に関する入力を提供できるであろう。例えば、ＦＡＳｔＴ９００コンフィギュレータは、ＲＡＩＤアレイ、ＬＵＮ、および管理ディスクをサブシステム上に作成する統一的な技術を提供し、それらの管理ディスクについて管理ディスク・パフォーマンス見積もりを提供するであろう。コンフィギュレータは、管理ディスクとストレージ・コントローラとの間の関係を動的に認識することもできるであろう。
【００７７】
別のアプローチにおいて、管理ディスクの挙動を観測する間、管理ディスクに対し指定されたＩ／Ｏ負荷を走らせるために、制御された較正（キャリブレーション）５１４が用いられる。通常、制御された較正は、管理ディスク上にスペースが割り当てられる前に実行されるが、スペースが予約されていれば、後に実行されてもよい。
【００７８】
制御されない較正を行う手法５１６では、管理ディスクのパフォーマンス挙動は、アプリケーションが管理ディスクに対して正常作業負荷を走らせる際に分析される。管理ディスクがすでに割り当てられる場合には（そして、較正用に予約された空きスペースがまったくなければ）、このアプローチが用いられるであろう。制御された較正ステップ以来条件が変わった（例えば、管理ディスクが、劣化した条件で動作している）かどうかを決定することも有用である。例として、制御されない較正によれば、特定の負荷点において応答時間が一貫して高いことを観測し、この負荷点が最大スループット・ケイパビリティをより正確に反映すると見積もることもあるだろう。
【００７９】
もう１つのアプローチは、ＬＵＮおよびＬＵＮと物理リソースとの関連付け、ならびにそれらの要素の静的パフォーマンス・ケイパビリティを識別する概念モデルをＳＭＩＳ仕様が提供できるようにし得る標準化インタフェース５１８を用いる。
【００８０】
上述のアプローチに類似した他のアプローチを用いて割り当て決定を行うことができる。同様に、上述のアプローチの組み合わせを選ぶことができる。例えば、アドミニストレータは、ＳＡＮＶＣの背後に構成された特定のタイプの第１のストレージ・コントローラに対して、制御された較正ステップを走らせ、次に、その後のコントローラについてその同じタイプの属性、例えば、「これらの管理ディスクは、それらの管理ディスクと同様に見える」、を手動で割り当てるかも知れない。
【００８１】
仮想ディスク・アロケータ２７２により用いられる作業負荷パラメータは、ディスク・ストレージ・パフォーマンスを正確に予測するそれらの能力に基づいて、またデータ収集ツールを介してのそれらの一般的な入手しやすさに基づいて選択される。用いられる作業負荷パラメータとしては、管理ディスクの各々に最大スループット、毎秒あたりの最大ランダム読み取りおよび書き込み、毎秒あたりの最大混合読み取りおよび書き込み、毎秒あたりの最大順次読み取りおよび書き込み、毎秒あたりの最大混合読み取りおよび書き込み、ならびに低負荷および最大負荷における待ち時間が含まれる。
【００８２】
混合読み取りおよび書き込みは、コンポーネントが双方向機能を有しているかどうかを決定するのに重要である。短ブロック・ランダム操作は、処理能力およびコストを決定するために用いられ、大ブロック順次計量は、データ転送能力およびコストを決定するために用いられる。
【００８３】
これらの最大スループットは次に、読み取りおよび書き込み操作あたり、ならびに読み取りおよび書き込み転送メガバイトあたりのオーバーヘッドを決定するために用いられる。オーバーヘッドは次に、管理ディスクの予測される利用を決定するために、予測される作業負荷特性に適用される。
【００８４】
管理ディスクは、個別のパフォーマンス・ケイパビリティを有しており、それらの管理ディスクと関連付けられた他のリソースのパフォーマンス・ケイパビリティを考慮する場合に異なるパフォーマンス・ケイパビリティを有するので、仮想ディスク・アロケータ２７２は、リソース・グループのセットを定義し、各リソース・グループは、そのリソース・グループに属する管理ディスクのセットについて関連するパフォーマンス属性を有する。管理ディスク・パフォーマンス・ケイパビリティおよびそれらの関連付けられたリソースのパフォーマンス・ケイパビリティを考慮することにより、管理ディスクの全体パフォーマンスを決定することができる。これらの他のリソースは、管理ディスクがある物理ディスクまたはコントローラを含むかも知れない。しかしながら、管理ディスクと関連付けられた考え得るリソースすべてを識別する必要はない。代わりに、仮想ディスク・アロケータ２７２は、リソース・グループを定義する時に、リソースとの関連付けを一般化する。
【００８５】
各リソース・グループは、（管理ディスクについてと同じ）パフォーマンス属性を与えられる。リソース・グループのパフォーマンス・ケイパビリティは、手動で指定、または制御された較正と呼ばれる制御されたベンチマーク手順を介して決定され得る。較正は、識別された管理ディスクに対して、アドミニストレータにより識別された時間で実行され得る。管理ディスクが仮想ディスクに割り当てられる前に、較正は管理ディスクに対して実行され得る。これは、指定されたストレージ・コントローラ上での管理ディスクの作成を自動化する操作手順内に含まれることもあり得る。較正は、グループ中の管理ディスクすべてが割り当てられない限り、個別の管理ディスクおよび関連付けられたリソース・グループすべてに対して実行されるであろう。較正において用いられる技術は、競合するディスク・サブシステムに対してエンジニアリング測定を実施する際に用いられる技術と同様である。
【００８６】
管理ディスクが１つ以上のリソース・グループに属し得るので、リソース・グループの較正により、データ割り当て決定の最適化が可能になる。しかしながら、管理ディスクと関連リソースとの間の潜在的な関係すべてを見出す必要はなく、疑われる関係が存在しない場合、影響はまったく生じない。仮想ディスク・アロケータ２７２を様々に実施することにより、関係を見出す際に、可変レベルの高度化を組み込むことができるかも知れない。
【００８７】
図６は、本発明の実施形態による、仮想化ストレージ・サブシステム中の重要なパフォーマンス要素を抽出するために仮想ディスク・アロケータ２７２により使用されるデータ構造６００を例示する。データ構造は、クラスタ、デバイス・アダプタ、個別ディスクまたはディスク・アレイおよび任意の関連リソースのようなストレージ素子を表すノードのツリーとして表すことができる。しかしながら、当業者は、本発明が図６に示される構造に限定されることを意図するものでないことを理解するであろう。むしろ、ツリー構造ではなく、より一般的なノードのネットワークが用いられることがある。
【００８８】
データ構造６００は、ストレージ割り当への目標志向アプローチを提供するために使用される。例として、ＳＡＮ  ＶＣは、伝統的なストレージ・コントローラと多少異なるストレージのモデルを提示する。アプリケーション・サーバは、ＩＢＭエンタープライズ・ストレージ・サーバ（登録商標）（ＥＳＳ）における論理ディスクに相当する仮想ディスクを目指して提示される。仮想ディスク・アロケータ２７２は、特定の作業負荷についてのスループット・ケイパビリティを含む、管理ディスクのセットおよびリソース・グループと関連付けられたパフォーマンス特性を識別し、管理ディスクのセットおよびリソース・グループと関連付けられたパフォーマンス特性のセットから導き出されたリソース利用を推定することにより、仮想ディスクを作成する。仮想ディスクは、例えば、ＳＡＮＶ  Ｃ１次ノードを介してアクセスされ、仮想ディスクのためのデータはそのノード中にキャッシュされ、これはＥＳＳクラスタに相当する機能である。図６を参照すると、仮想ディスク６０５のためのストレージは、１つ以上の管理ディスク６１０、６２０、６３０および６４０にわたって割り当てられる。例示される管理ディスクは、管理ディスク・グループ（ＭＤＧ）６５０にグループ化される。仮想ディスク６０５は、単一のＭＤＧ６５０に関連付けられている。一般に、最高パフォーマンスのため、仮想ディスク６０５は、ＭＤＧ６５０中の管理ディスクすべてにわたってストライプされるであろう。
【００８９】
管理ディスク６１０、６２０、６３０および６４０の各々は、他のアプリケーションと共用される単一の物理ディスクの一部として割り当てられたり、いくつかのディスクから成るＲＡＩＤアレイ全体として割り当てられるかも知れない。加えて、ストレージ・アドミニストレータは、管理ディスク構成の選択において非常に大きい柔軟性を与えられる。他のアプリケーションとの関連付けの結果として、１つの管理ディスク上でアクティビティは、別の管理ディスクのパフォーマンスに対して、それらが同じストレージ・デバイス上または同じストレージ・コントローラの背後にある場合のように、影響を与え得る。図６に関連して、管理ディスク６１０は、３つのリソース６１１、６１２、および６１３に関連付けられている一方で、管理ディスク６２０は、リソース６１３、６２１および６２２に関連付けられている。リソース６１３が両方の管理ディスク６１０、６２０に関連付けられているので、管理ディスクのパフォーマンス特性の各々は、未知かつ非常に可変であり得る。従って、インテリジェントなデータ配置決定の鍵は、管理ディスクのケイパビリティおよび挙動に関する妥当なパフォーマンス見積もりを取得し、維持することである。
【００９０】
本発明の実施形態によれば、各管理ディスクは、１以上のリソース・グループ（ＲＧ）に関連付けられる。ＲＧ１（６６０）、ＲＧ２（６７０）、およびＲＧ３（６８０）が仮想ディスク・アロケータ２７２により定義される。ＲＧ１（６６０）は、管理ディスク６１０ならびにリソース６１１、６１２および６１３を含む。ＲＧ２（６７０）は、管理ディスク６２０、６３０および管理ディスク６４０の一部を含み、かつリソース６１３、６２１、６２２、６３１、６３２および６４１を有する。ＲＧ３（６８０）は、管理ディスク６４０、ならびにリソース６３２および６４１の一部を含む。見て取れるように、リソース６１３は、管理ディスク６１０および６２０により共用され、リソース６３２および６４１は、管理ディスク６３０および６４０により共用される。管理ディスクおよび関連付けられたリソースがグループ化されて、リソース・グループ内およびリソース・グループ間での相互作用の観測が可能になるので、管理ディスクのケイパビリティおよび挙動に関し、強化されたパフォーマンス見積もりが仮想ディスク・アロケータ２７２によりなされ得る。
【００９１】
例えば、ボリューム選択プロセスの間、仮想ディスク・アロケータ２７２は、管理ディスクおよびリソース・グループの利用度を、ＥＳＳ用ＶＰＡにおける構成ツリーの構成要素についてそれらの利用度を維持するやり方と同様に、常時監視する。当てのための潜在的な管理ディスクを選択する場合、１つの管理ディスクが属するリソース・グループのすべてについて影響が評価される。管理ディスクの利用度は次に、すべての関連ＲＧのうちで最も高いと想定される。これは、ＶＰＡの現行バージョンにより用いられる構成ツリーを進む手法と同様である。仮想ディスク・アロケータ２７２は、指定された容量およびパフォーマンス要件を満たすストレージ割り当について推奨する。
【００９２】
図２を再度参照すると、仮想ディスク・アロケータ２７２は、ストレージ素子が実際にどのように動作しているかを知ることにより改善されるが、極めて正確な情報には依存せず、これは、仮想ディスク・アロケータ２７２が、異なるベンダの不均質タイプのストレージのために動作できるからである。しかしながら、正確なリアルタイムまたは履歴パフォーマンス・データは、１つのベンダ売主の製品を他と区別するため、ならびにストレージ割り当てにバイアスをかけて、対象となる期間の間競合する可能性がある作業負荷から離すために用いられ得る。
【００９３】
仮想ディスク・アロケータ２７２の重要な側面は、利用可能なリソース全体にわたってストレージ割り当てを均衡させるために容量およびパフォーマンス構造の使用を伴う。仮想ディスク・アロケータ２７２において複数の選択が可能な場合、容量およびパフォーマンス構造は、疑似乱数を使用して割り当てを１つのリソースのセットにバイアスするために用いることができる。いくつかのサンプル割り当てをこのようにして選択することができ、サンプル中で最良のものが答えとして選ばれる。この手法により、同様な状況でアルゴリズムが同じ推奨をすることを防止でき、利用可能なリソース全体にわたって作業負荷の広がりを増大させる。このように、ストレージ割り当ては、指定された作業負荷を扱う能力が最も高い、ネットワーク中の要素に向かってバイアスをかけられる。
【００９４】
図７は、本発明の実施形態による、仮想ストレージ・システムにおけるストレージ割り当てを管理するための方法の流れ図７００を例示する。この方法は、ユーザ定義された作業負荷プロファイルを得るステップ７１０と、管理ディスクのパフォーマンス特性を決定するステップ７２０とを含む。管理ディスクとリソース・グループとの間の関係が、ユーザ定義されたまたは自動化された入力に基づいて決定される（７３０）。管理ディスクが割り当てられるリソース・グループを考慮して管理ディスクのセットを含む仮想ディスクが生成される（７４０）。
【００９５】
図３図７に関連して例示されるプロセスは、コンピュータ可読媒体またはキャリア、例えば、図２に例示される固定式または取り外し可能あるいはその両方のデータ・ストレージ・デバイス２８８のうちの１つ以上、あるいは他のデータ・ストレージ・デバイスまたはデータ通信デバイスにおいて具体化され得る。データ・ストレージ・デバイス２８８またはコンピュータ・プログラム２９０は、実行のためにアドミニストレータ２７０または仮想ディスク・アロケータ２７２を構成するために、メモリ２９２にロードされ得る。そのようなコンピュータ・プログラムは命令を含んでおり、これらの命令は、図２のプロセッサ２９４のようなプロセッサによって読み取られると、アドミニストレータ２７０または仮想ディスク・アロケータ２７２に、本発明のステップまたは要素を実行するのに必要なステップを実行させる。
【００９６】
本発明の代表的な実施形態の上記の説明は、例示および説明の目的で提示された。網羅的であることや、本発明を、開示された正確な形態に限定することは意図されていない。上記の教示に照らし、多くの変更および変形が可能である。本発明の範囲は、この詳細な説明によってではなく、むしろ添付の特許請求の範囲により限定されるものである。
【図面の簡単な説明】
【００９７】
【図１】ローカル・エリア・ネットワークの形態のコンピュータ・ネットワークを例示する。
【図２】本発明の実施形態によるストレージ・エリア・ネットワークの１つの実施形態を例示する。
【図３】本発明の実施形態による仮想ディスク・アロケータに組み込まれる属性の表を例示する。
【図４】本発明の実施形態による、管理ディスクをリソース・グループに割り当てる際に仮想ディスク・アロケータによって使用される作業負荷プロファイルを得るユーザ・インタフェースのための機構を例示する。
【図５】本発明の１つの実施形態による、管理ディスクのパフォーマンス・ケイパビリティを決定するための機構を例示する。
【図６】本発明の実施形態による、仮想化ストレージ・サブシステム中の重要なパフォーマンス要素を抽出するために仮想ディスク・アロケータにより使用されるデータ構造を例示する。
【図７】本発明の実施形態による、仮想ストレージ・システムにおけるストレージ割り当てを管理するための方法の流れ図を例示する。
【図１】
2008527555.tif 000003
【図２】
2008527555.tif 000004
【図３】
2008527555.tif 000005
【図４】
2008527555.tif 000006
【図５】
2008527555.tif 000007
【図６】
2008527555.tif 000008
【図７】
2008527555.tif 000009
【国際調査報告】
2008527555.tif 000010
2008527555.tif 000011