(57)【要約】【課題】  ストレージ・デバイス・ポートの選択を最適化する。【解決手段】  ストレージ・エリア・ネットワーク内のストレージ・デバイスに接続するために、各々が所定の作動パラメータを有するポートの対を選択するポート最適化コンポーネント及び方法であって、ポート最適化コンポーネントは、ストレージ・デバイスへのアクセスを構成する要求に応答して、ストレージ・デバイスに関する構成データ及びポリシー・データを要求するための判定コンポーネントと、ストレージ・デバイス上に配置された各々のストレージ・デバイス・ポートについての作動パラメータの差異を求め、検出された差異に応じて好ましい作動パラメータを有するポート対を選択するために、構成データをポリシー・データと比較する判定コンポーネントとを含む。【選択図】      図３
2009535681.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ・エリア・ネットワーク内のストレージ・デバイスに接続するために、各々が所定の作動パラメータを有するポートの対を選択するポート最適化コンポーネントであって、
ストレージ・デバイスへのアクセスを構成する要求に応答して、前記ストレージ・デバイスに関する構成データ及びポリシー・データを要求するための判定コンポーネントと、
前記ストレージ・デバイス上に配置された各々のストレージ・デバイス・ポートについての作動パラメータの差異を求め、検出された前記差異に応じて好ましい作動パラメータを有するポートの対を選択するために、前記構成データを前記ポリシー・データと比較する前記判定コンポーネントと、
を含むポート最適化コンポーネント。
【請求項２】
前記判定コンポーネントは、ポート選択のための適格なポートの対のリストを判定するために、各々のポートについて、各々のポートの現在の作業負荷と各々のポートの最大作業負荷とを検出することをさらに含む、請求項１に記載のポート最適化コンポーネント。
【請求項３】
前記判定コンポーネントは、前記要求されたストレージ・デバイスと関連付けられた前記ポリシー・ルールから、前記適格なポートの対における各々の対のアーキテクチャ・タイプを判定することをさらに含む、請求項２に記載のポート最適化コンポーネント。
【請求項４】
前記判定コンポーネントは、前記適格なポートの対を介して、前記要求されたストレージ・デバイスのストレージ・ボリュームに対するあらゆる限定を特定することをさらに含む、請求項２又は請求項３に記載のポート最適化コンポーネント。
【請求項５】
更新コンポーネントは、前記判定コンポーネントが性能基準を満たす前記ポートの対を判定したことに応答して、適格なポートの対の前記リストを限定する、前記請求項のいずれかに記載のポート最適化コンポーネント。
【請求項６】
ポリシー・ルールが前記ストレージ・デバイスの作動パラメータ・データを含む、前記請求項のいずれかに記載のポート最適化コンポーネント。
【請求項７】
前記要求されたストレージ・デバイスの現在の作動パラメータを用いて前記構成データを更新するための更新コンポーネントをさらに含む、前記請求項のいずれかに記載のポート最適化コンポーネント。
【請求項８】
前記ストレージ・デバイスの各々の現在の作動パラメータを特定するために、前記ストレージ・エリア・ネットワーク内で作動する各々のストレージ・デバイスに問い合わせするためのクエリ・コンポーネントをさらに含む、前記請求項のいずれかに記載のポート最適化コンポーネント。
【請求項９】
選択のために前記適格なポートの対の付加又は除外を通信するための通信コンポーネントをさらに含む、前記請求項のいずれかに記載のポート最適化コンポーネント。
【請求項１０】
前記構成データは、前記ストレージ・エリア・ネットワーク内で作動する各々のストレージ・デバイスの現在の作動パラメータを含む、前記請求項のいずれかに記載のポート最適化コンポーネント。
【請求項１１】
前記判定コンポーネントは、要求されたデータ・パス要件を満たすために利用可能な十分なストレージ・デバイス・ポートが存在するかどうかを判定することをさらに含む、請求項１に記載のポート最適化コンポーネント。
【請求項１２】
ストレージ・エリア・ネットワーク内のストレージ・デバイスに接続するために、各々が所定の作動パラメータを有するポートの対を選択する方法であって、
ストレージ・デバイスへのアクセスを構成する要求に応答して、前記ストレージ・デバイスに関する構成データ及びポリシー・データを要求するステップと、
前記ストレージ・デバイス上に配置された各々のストレージ・デバイス・ポートについての作動パラメータの差異を求め、検出された前記差異に応じて好ましい作動パラメータを有するポートの対を選択するために、前記構成データを前記ポリシー・データと比較するステップと、
を含む方法。
【請求項１３】
前記比較するステップは、ポート選択のための適格なポートの対のリストを判定するために、ポートの対のうちの各々のポートについて、各々のポートの現在の作業負荷と最大作業負荷とを検出することをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記比較するステップは、前記要求されたストレージ・デバイスと関連付けられた前記ポリシー・ルールから、前記適格なポートの対における各々の対のアーキテクチャ・タイプを判定するステップをさらに含む、請求項１２に記載の方法。
【請求項１５】
前記比較するステップは、前記適格なポートの対を介して、前記要求されたストレージ・デバイスのストレージ・ボリュームに対するあらゆる限定を特定することをさらに含む、請求項１２又は請求項１３に記載の方法。
【請求項１６】
性能基準を満たす前記ポートの対をさらに判定する判定ステップに応答して、適格なポートの対の前記リストを限定するステップをさらに含む、請求項１１乃至１５のいずれかに記載の方法。
【請求項１７】
前記要求されたストレージ・デバイスの現在の作動パラメータを用いて前記構成データを更新するステップをさらに含む、請求項１１乃至１６のいずれかに記載の方法。
【請求項１８】
前記ストレージ・デバイスの各々の現在の作動パラメータを特定するために、前記ストレージ・エリア・ネットワーク内で作動する各々のストレージ・デバイスに問い合わせするステップをさらに含む、請求項１１乃至１７のいずれかに記載の方法。
【請求項１９】
選択のために前記適格なポートの対の付加又は除外を通信するステップをさらに含む、請求項１１乃至１８のいずれかに記載の方法。
【請求項２０】
ポリシー・ルールが前記ストレージ・デバイスの作動パラメータ・データを含む、請求項１１乃至１９のいずれかに記載の方法。
【請求項２１】
前記構成データは、前記ストレージ・エリア・ネットワーク内で作動する各々のストレージ・デバイスの現在の作動パラメータを含む、請求項１１乃至２０のいずれかに記載の方法。
【請求項２２】
判定するステップは、要求されたデータ・パス要件を満たすために利用可能な十分なストレージ・デバイス・ポートが存在するかどうかを判定することをさらに含む、請求項１２に記載の方法。
【請求項２３】
デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、コンピュータ上で実行されたときに、請求項１２乃至２２に記載の方法を実施するように動作するソフトウェア・コード部分を含む、コンピュータ・プログラム。
【請求項２４】
ストレージ・エリア・ネットワーク内のストレージ・デバイスに接続するために、各々が所定の作動パラメータを有するポートの対を選択するためのデータ処理システムであって、中央演算処理ユニットと、メモリユニットと、請求項１に記載のポート最適化コンポーネントに適合されたストレージ・デバイスとを含む、データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ・エリア・ネットワークの分野に関する。特に、本発明は、ストレージ・デバイス・ポートの選択の最適化に関する。
【背景技術】
【０００２】
ストレージ・エリア・ネットワーク（ＳＡＮ）は、サーバとストレージ・デバイスとを接続するように作動可能な特殊な高速ネットワークである。ＳＡＮによって、ルータ、ハブ、スイッチ、及びディレクタといった相互接続要素を用いた、ネットワーク全体にわたる「ａｎｙ  ｔｏ  ａｎｙ  型」接続が可能になる。ＳＡＮは、サーバとストレージ・デバイスとの間の従来の専用接続を必要としない。ＳＡＮはまた、現在は個々のサーバに接続することができるストレージ・デバイスの数によって制限される、サーバがアクセス可能なデータの量の制約もなくす。
【０００３】
課題があることが分かっているＳＡＮの１つの態様は、人間が介入することなくストレージ・エリア・ネットワーク接続ストレージと共に作動するように構成し配置することができる、アプリケーション及びサーバの自動プロビジョニングである。アプリケーション、サーバ、及びストレージの自動プロビジョニングには、外部接続ストレージを備えたサーバ上にアプリケーションを配置し構成する全てのステップが人間の介入なしに自動化されることが必要となる。
【０００４】
ＳＡＮ環境における外部接続ストレージの自動プロビジョニングは、第１にストレージ・ボリュームを自動的に選択し、第２にそのボリュームをストレージ・デバイスからサーバに安全にマッピングし、第３にサーバからストレージ・デバイスにＳＡＮネットワーク・パスを構成し、最後にサーバ上にボリューム及びファイル・システムを作成する、といった多数の関連するステップを含む。
【０００５】
共有ストレージ・リソースの自動プロビジョニングには、ストレージ・エリア・ネットワーク環境におけるストレージを用いる各々のサーバについての異なるストレージ・エリア・ネットワーク・パス構成が必要となる。これは、共有ストレージ・リソースがユーザによって消費される際、並びに、サーバ及びストレージ・デバイスがさらに追加され除去される際の、環境の動的変化を考慮に入れなければならない。したがって、自動プロビジョニング・マネージャは、共有ストレージ環境におけるリソースの使用及び構成を判定し、さらに、ホストから選択されたストレージ・デバイスへの適切なストレージ・エリア・ネットワーク・パス構成を、管理者がかかわることなく判定し実装することができなければならない。
【０００６】
ストレージ・デバイスについてのストレージ・エリア・ネットワーク・パス構成を決定する問題に対する公知の解決策は、熟練したＳＡＮ管理者によってアプリケーション又はサーバについて作成されているパス構成を利用することである。このプロセスは、単一のサーバにも多数のサーバにも適用することができるが、決定された構成パス及び特定のデバイス・ネットワーク・ポートを介する全ての可能な接続が使い尽くされるか又は最大使用状態に達すると、構成を新しくしなければならない。或いは、ストレージ・デバイスが容量に達した場合には、新しいストレージ・デバイスへの構成パスが決定されなければならない。自動環境においては、パス選択は、自動的に決定及び実行され、環境の変化に適合されなければならない。重要な必要条件は、作成されたパス構成が、選択されたストレージ・デバイスについての設計ルールと使用の境界条件とに従うことである。そうしなければ、データへのアクセスに影響を与えるソフト及びハードの障害に起因して、データの利用可能性が全体として低いレベルになる。
【０００７】
【特許文献１】米国特許出願第２００３／０００５１１９号Ａ１
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記で強調した問題に対する部分的解決策が、２００３年１月２日に公開された特許文献１に開示されており、ここでは、ストレージ・エリア・ネットワーク接続サーバ上のアプリケーションとストレージ・エリア・ネットワーク接続ストレージ・サブシステム上のデータ・ボリュームとの間の自動ストレージ・プロビジョニングを提供するために、データ・パス・エンジンがストレージ・エリア・ネットワークに結合される。装置は、機構の稼働時間及び性能要件に合致するデータ・パスを選択するために基準について事前に作成されたポリシーをオペレータが使用できるようにする、ユーザ・インターフェースを提供する。しかしながら、特許文献１は、プロビジョニング要求を取り扱うのに最も適したパス及びストレージ・デバイス・ポートを決定する問題の態様に対処するものではない。ストレージ・エリア・ネットワークにおけるこの問題の解決は、ストレージ・エリア・ネットワークの全体にわたって使用を最大にしワークロードを均等に分散させることに加えて、作成された構成が、ストレージ・デバイスのサポートされた設計パラメータ及び最良の使用慣行の範囲内でなければならないため、極めて重要である。
【課題を解決するための手段】
【０００９】
したがって、第１の態様から見ると、本発明は、ストレージ・エリア・ネットワーク内のストレージ・デバイスに接続するために、各々が所定の作動パラメータを有するポートの対を選択するポート最適化コンポーネントであって、ストレージ・デバイスへのアクセスを構成する要求に応答して、ストレージ・デバイスに関する構成データ及びポリシー・データを要求するための判定コンポーネントと、ストレージ・デバイス上に配置された各々のストレージ・デバイス・ポートについての作動パラメータの差異を求め、検出された差異に応じて好ましい作動パラメータを有するポートの対を選択するために、構成データをポリシー・データと比較する前記決定コンポーネントとを含む、ポート最適化コンポーネントを提供する。
【００１０】
ポート最適化コンポーネントは、ハードウェア・コンポーネント障害モードを考慮に入れ、単一のハードウェア・コンポーネントの障害によって失ったホストへのパス数を最小にするように、ストレージ・デバイス・ポートを選択するという利点がある。さらに、本発明は、有効なサポートされたストレージ・デバイス構成を作成するために、ストレージ・デバイスのベンダの構成情報及び制約条件を適用する機能を提供するという利点がある。本発明はまた、モジュール型ストレージ・デバイスのポート又はクラスタに接続することができるホストの数などの作動パラメータを発見する。ポート最適化コンポーネントはさらに、公知の将来のアプリケーションの要件を満たすために確保されるパス選択ストレージ・リソースを含む。ポート最適化コンポーネントは、ストレージ・デバイスへの新しいホスト・アタッチメントを収容するための期待される入／出力負荷及び帯域幅ポート・スロットなどのリソースを含む。
【００１１】
好ましくは、ポート最適化コンポーネントは、ポート選択のための適格なポートの対のリストを判定するために、各々のポートについて、各々のポートの現在の作業負荷と各々のポートの最大作業負荷とを検出する、判定コンポーネントを提供する。
【００１２】
好ましくは、ポート最適化コンポーネントは、要求されたストレージ・デバイスと関連付けられたポリシー・ルールから、適格なポートの対における各々の対のアーキテクチャ・タイプを判定する、判定コンポーネントを提供する。
【００１３】
好ましくは、ポート最適化コンポーネントは、適格なポートの対を介して、要求されたストレージ・デバイスのストレージ・ボリュームに対するあらゆる限定を特定する、判定コンポーネントを提供する。
【００１４】
好ましくは、ポート最適化コンポーネントはまた、判定コンポーネントが性能基準を満たすポートの対を判定したことに応答して、適格なポートの対のリストを限定する、更新コンポーネントを提供する。
【００１５】
好ましくは、ポート最適化コンポーネントは、ストレージ・デバイスの作動パラメータ・データを含むポリシー・ルールを提供する。
【００１６】
好ましくは、ポート最適化コンポーネントは、要求されたストレージ・デバイスの現在の作動パラメータを用いて構成データを更新するための更新コンポーネントを提供する。したがって、ポート最適化コンポーネントは、各々のストレージ・デバイスについての構成データを連続的に更新することによって、ポート選択を連続的に最適化することができる。
【００１７】
好ましくは、ポート最適化コンポーネントは、ストレージ・デバイスの各々の現在の作動パラメータを特定するために、ストレージ・エリア・ネットワーク内で作動する各々のストレージ・デバイスに問い合わせするクエリ・コンポーネントを提供する。
【００１８】
好ましくは、ポート最適化コンポーネントはさらに、選択のために適格なポートの対の付加又は除外を通信するための通信コンポーネントを含む。
【００１９】
好ましくは、ポート最適化コンポーネントは、ストレージ・エリア・ネットワーク内で作動する各々のストレージ・デバイスの現在の作動パラメータを有する構成データを含む。
【００２０】
好ましくは、ポート最適化コンポーネントは、要求されたデータ・パス要件を満たすために利用可能な十分なストレージ・デバイス・ポートが存在するかどうかを判定することをさらに含む判定コンポーネントを提供する。
【００２１】
第２の態様から見ると、本発明は、ストレージ・エリア・ネットワーク内のストレージ・デバイスに接続するために、各々が所定の作動パラメータを有するポートの対を選択する方法であって、ストレージ・デバイスへのアクセスを構成する要求に応答して、ストレージ・デバイスに関する構成データ及びポリシー・データを要求するステップと、ストレージ・デバイス上に配置された各々のストレージ・デバイス・ポートについての作動パラメータの差異を求め、検出された差異に応じて好ましい作動パラメータを有するポートの対を選択するために、構成データをポリシー・データと比較するステップと、を含む方法を提供する。
【００２２】
第３の態様から見ると、本発明は、コンピュータ上で作動するときに上述の発明を実行するように動作するソフトウェア・コード部分を含む、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムを提供する。
【発明を実施するための最良の形態】
【００２３】
本発明の実施形態は、添付の図面を参照しながら、単なる例として以下に詳細に記載される。
【００２４】
図１は、典型的なストレージ・エリア・ネットワーク１００（一般にＳＡＮとして知られている）を示す。ＳＡＮ１００は、全体としてストレージ・エリア・ネットワーク１００を形成する、多くの異なるハードウェア・コンポーネントを含む。ＳＡＮ１００によって、スイッチ１０５、ハブ１１０、及びブリッジ１１５といった相互接続要素を用いた、ネットワーク１００全体にわたる「ａｎｙ  ｔｏ  ａｎｙ  型」接続が可能になる。これらの相互接続要素は、データ・フレーム・ルーティング、メディア及びインターフェース変換（すなわち銅線から光ファイバに）、ネットワーク強化、及び帯域幅管理といった機能を実行し、一次ストレージ・デバイス１２５、１３０（例えばＲＡＩＤシステム）、サーバ１４０、及びテープ・ドライブ１５０などのバック・アップ・システムといったハードウェア周辺機器の接続を可能にする。ＳＡＮ１００に接続される他のタイプのハードウェア周辺機器は、コンピュータ・システム１２０、１４５、１５５である。アクセス又は格納されるデータは、例えばＲＡＩＤストレージ・システムのようなストレージ・システム１２５、１３０上に配置される。
【００２５】
各々のストレージ・デバイス１２５、１３０は、１つ又は複数のストレージ・ボリュームを含む。ストレージ・ボリュームは、実際のストレージ要素の物理的レイアウト又はトポロジーに関係なく、物理的ストレージ・ディスクを多数の区分されたボリュームに分割する。典型的には、仮想ボリュームが、物理ディスクの抽象化されたものとしてオペレーティング・システムに与えられ、それらがオペレーティング・システムによって別個の物理ディスクであるかのように用いられる。したがって、データは、各々の仮想ボリュームに格納することができる。
【００２６】
典型的には、ＳＡＮ１００に接続されＳＡＮ１００から接続しているストレージ・デバイス１２５、１３０を管理する管理サーバ１４０が組み込まれる。管理サーバ１４０は、クエリ機構の使用によって、ＳＡＮネットワーク１００に接続されたストレージ・デバイス及びホスト並びにそれらの固有アドレスの全てを認識する。
【００２７】
管理サーバ１４０は、ＳＡＮ１００内の要求されたストレージ・デバイス１２５、１３０へのデータ（アプリケーション・データ）のルーティングを構成するためのスイッチ１０５とインターフェースする。例えば、コンピュータ・システム１２０、１４５、１５５が、ワード処理文書を保存するために仮想ストレージ・ボリュームにアクセスする必要がある場合には、コンピュータ・システム１２０、１４５、１５５からのパス設定を管理することを担当する管理サーバ１４０は、要求を受信し、スイッチと通信して、ストレージ・デバイス上の特定のポートを用いてコンピュータ・システム１２０、１４５、１５５からの論理パスを設定するようにスイッチに命令する。スイッチ１０５は、データを格納するためにハブ１１０及びブリッジ１１５とインターフェースする。
【００２８】
ファイバー・チャネル環境においては、例えば、各々のストレージ・デバイス・ポートには、例えば２４ビット・アドレスを形成する固有の１６進コードのような固有識別子が与えられる。スイッチ１０５は、固有識別子を維持し、それらをデバイス・ポートに割り当てることを担当する。例えば、図２を参照すると、２つのベイ２００、２０５を有し、各々のベイが２つのアダプタ２３０、２３５、２４０、２４５を有し、各々のアダプタが多数のポート２１０、２２０、２３０、２４０を有する、ストレージ・デバイス１２５が示されている。スイッチ１０５は、ＳＡＮ上に登録されたストレージ・デバイス１２５、１３０を特定するときに、固有識別子を各々のポートに割り当てる。例えば、
ポート・ナンバー    固有識別子
２１０              ａａｂｂｃｃ
２１５              ｄｄｅｅｆｆ
２２０              ｇｇｈｈｉｉ
２２５              ｊｊｋｋｌｌ
【００２９】
したがって、スイッチ１０５は、データをストレージ・デバイス・ポート２１０、２１５、２２０、２２５に転送する要求を受け取ると、要求されたストレージ・デバイス上にデータをルーティングするために、データ・ストア内のルックアップを実行してＳＡＮ１００上のポートの固有識別子を求める。
【００３０】
図２に示されるように、ストレージ・デバイス１２５は、多数のアダプタ２３０、２３５、２４０、２４５及びポート２１０、２１５、２２０、２２５を有するものとすることができる。多数のポートが用いられ、したがって多数のデータ・パスが用いられる。これは、１つのポートに障害が発生した場合でも別のポートを介してデータがストレージ・デバイスに到達することができるため、データの利用可能性を高める。さらに、多数のポートによって、データ・ワークロードを分散させて性能の低下を最小にすることも可能になる。データをストレージ・デバイス１２５、１３０上に格納するために、ホスト、例えばサーバ１４０は、多数のポート２１０、２１５、２２０、２２５を介してストレージ・デバイス１２５と通信する。少なくとも、これは典型的には、２つの別個のネットワークにわたって接続されるポートの対となる。典型的には、ＳＡＮ１００は、１つのネットワークの障害時に完全な耐障害性をもたらすように、２つの冗長ネットワークから形成される。この説明の残りの部分では、全て単一のＳＡＮ１００に言及するが、ポートの対に言及するときには、各々のポートは異なるネットワークにおいて接続されるものとする。
【００３１】
どのストレージ・デバイス・ポート１２５、１３０が要求者の要件に最も合っているかを判定して、有効なサポートされた構成を作成するために、ポート最適化コンポーネント３００が設けられる。
【００３２】
図３を参照すると、本発明の好ましい実施形態のポート最適化コンポーネント３００が示されている。ポート最適化コンポーネント３００は、ストレージ・ボリュームにアクセスするために多数のパスを設定する要求をトリガとして、ポリシー・ルールと構成データとを比較し、要求を満たすことができるか、及び、要求を満たすことができる場合には、ストレージ・デバイス１２５、１３０上のどのポートが要求を取り扱うのに最も適したポート２１０、２１５、２２０、２２５であるかを判定する。
【００３３】
ポート最適化コンポーネント３００は、ポリシー・ルール及び構成データを分析して、ａ）どのポート２１０、２１５、２２０、２２５が、ストレージ・デバイス１２５、１３０上での使用（作動／オンライン、及び、その使用がストレージ・デバイスのサポートされた特性及び設計特性に含まれる場合）のために利用可能であるか、及び、ｂ）利用可能なポートの中で、どのポートが要求者の要求を取り扱うのにより適しているか、を判定する。
【００３４】
ポート最適化コンポーネント３００は、管理サーバとして機能するサーバ１４０上か、スイッチ１０５上か、又はストレージ・デバイス１２５、１３０上に、インストールすることができる。ポート最適化コンポーネント３００は、ＳＡＮネットワーク１００全体にわたるストレージ要求を取り扱うのに最も適した利用可能なポートを判定するために、互いに会話しインターフェースする多数のサブ・コンポーネントを含む。
【００３５】
サブ・コンポーネントは、ストレージ要求を取り扱うことができるかどうか、及び、取り扱うことができる場合にどのポートがストレージ要求を取り扱うのに最も適したポートであるかを判定するために、ポリシー・ルールと構成データとを比較する判定コンポーネント３０５と、構成データ３１５を格納するためのデータ・ストアと、ポリシー・ルール３１０を格納するためのデータ・ストアと、ＳＡＮネットワーク１００内の装置に問い合わせするためのクエリ・コンポーネント３２０と、判定コンポーネント３０５の出力を用いて構成データを更新するための更新コンポーネント３３０とを含む。これらのコンポーネントの各々は、順番に説明されることになる。
【００３６】
判定コンポーネント３０５は、ストレージ・デバイス１２５、１３０上に配置された既存のストレージ・ボリュームの使用を要求する管理サーバ１４０からの要求、又は、ストレージ・デバイス１２５、１３０上の既存の予備容量上に作成される新しいストレージ・ボリュームについての要求を受信する。判定コンポーネント３０５は、この要求を受け取ると、要求されたストレージ・デバイス１２５、１３０に関する構成データを取得し、構成データに関連するポリシー・ルールも取得する、すなわち、ＳＡＮネットワーク１００内に配置された全てのストレージ・デバイス１２５、１３０は、関連する構成データと１つ又は複数の関連するポリシー・ルールとを有する。ポリシー・ルールは、ストレージ・デバイスの設計及び実装によって決定される。ポリシー・ルールは、障害が発生してデータへのアクセスが失われたり性能が低下したりしないように、最大の性能制限を示すルール、又は、超えてはならない接続制限を示す別のルールを含むものとすることができる。ルールはまた、例えば最大のパス数が許可され、結果として最大のポート数が選択される、マルチパス・ドライバのようなサポート・コンポーネントに適用することもできる。
【００３７】
判定コンポーネント３０５は、ポリシー・ルールを構成データと比較し、構成データと比較されたポリシー・データのパラメータのいずれかの差異を求める。例えば、特定のストレージ・デバイス１２５、１３０についての構成データが、１２のサーバがストレージ・デバイスに接続されていることを示す場合がある。しかしながら、ポリシー・ルールは、全部で２０のサーバをストレージ・デバイス１２５、１３０に接続できることを示す場合がある。したがって、判定コンポーネント３０５は、さらに８つのサーバをストレージ・デバイス１２５、１３５に接続することができると判定する。判定コンポーネント３０５は、データを通信コンポーネント３２５に通信し、マルチ・パス・アクセス構成要求が成功した場合に新しいサーバ使用情報を用いて構成データを更新するために、計算結果を更新コンポーネント３３０に送信する。
【００３８】
例えば、要求は、ストレージ・デバイス１２５、１３０上の既存のストレージ・ボリュームへのアクセスを要求することができる。判定コンポーネント３０５は、この要求を受信し、関連情報を抽出する。例えば、要求は、以下の情報、すなわち、
・アクセスされるストレージ・ボリューム
・要求されるデータ・パスの数
・予想されるＩ／Ｏプロファイル又は負荷
を含むものとすることができる。
【００３９】
判定コンポーネント３０５は、ストレージ・ボリュームが配置されるストレージ・デバイスの構成データへのアクセスを要求する要求を構成データ・ストア３１５に送信する。ストレージ・デバイスに関連するポリシー・ルールへのアクセスを要求するために、さらなる要求がポリシー・ルール・データ・ストア３１０に送信される。判定コンポーネント３０５は、構成データをポリシー・ルールと比較していずれかの差異を求める。例えば、構成データが、現時点でストレージ・デバイスがポート「Ａ」に接続された合計１２のホストを有することを示し、ポリシー・ルールが、合計２０のホストをポート「Ａ」を介してストレージ・デバイスに接続できることを示す場合がある。したがって、判定コンポーネント３０５は、さらに８つのホストをこのストレージ・デバイス１２５、１３０上のこのポートに接続することができると判定し、その結果、このポートは使用されることを許容される。ＳＡＮネットワーク上でサーバにアクセス可能なストレージ・デバイス１２５、１３０の全てのポートが分析される。ポリシー・ルールに適合しないものは、適切なポートのリストから外される。各々のポリシー・ルールが順番に適用される。全てのポリシー・ルールが適用されたときに、この出力は、用いられる資格のあるポートのグループである。このグループの全てのポートは、許容された装置使用範囲内に含まれ、ストレージ・デバイスのベンダ及び設計者によってサポートされる、妥当な構成を作成することになる。
【００４０】
ストレージ・デバイスのアーキテクチャに関するさらなるルールが適用される。アーキテクチャは、特定のポートを介するストレージ・デバイス内の特定のストレージ・ボリュームへのアクセス可能性を判定することができる。ストレージ・ボリュームにアクセスするのに用いることができる特定のポートは、ストレージ・デバイスのボリューム及び構成によって決まる。
【００４１】
判定コンポーネント３０５を参照しながら説明されたように、データ・ストア３１５に格納された構成データは、ＳＡＮファブリック内に配置された各々のストレージ・デバイスに関する構成データを含む。構成データ３１５は、ストレージ・ハードウェアの特徴、例えば、ストレージ・デバイス内に幾つのポートが配置されるか、ストレージ・デバイスのアーキテクチャ（すなわち、モジュール型かモノリシック型か）、ポートが内部にどのように構成されるか、ハードウェア特定情報、ポートが内部ストレージにどのように接続されるか、を詳細に示す。この情報は、その性質上静的なものであり、管理者定義情報として分類される。構成データは第２のタイプの情報も含み、これは、より動的な性質のものであり、更新コンポーネント３３０によって、環境が変化する際にＳＡＮファブリック内の全てのストレージ・デバイスに問い合わせてそれを更新された状態に保つ管理サーバ１４０などの外部ソースから、更新される。この構成データは、幾つのデータ・パスがストレージ・デバイス上のポートを使用しているか、幾つのホストがスイッチ１０５に接続されたストレージ・デバイス及びポートに既に接続されているか、といったデータを含む。このデータは、構成データ・ストア自体又はストレージ・デバイス１２５、１３０に保持され、必要に応じてデバイスから問い合わせることができる。
【００４２】
ポリシー・ルールは、データ・ストア３１０に格納される。ポリシー・ルールは、各々のストレージ・デバイスについての特定のルールを定義する。例示的なポリシー・ルールは、ポートの対を介して常に幾つのホストをストレージ・デバイスに接続することができるかを定義する。ポリシー・ルールは、管理者によって定義されたものであってもよく、或いは、ストレージ・デバイスが、ポリシー・ルールについてクエリ・コンポーネント３２０によって問い合わせされてもよい。
【００４３】
更新コンポーネント３３０は、判定コンポーネント３０５及び通信コンポーネント３２５とインターフェースする。更新コンポーネント３３０は、要求が受諾された場合に、新しい使用情報を用いてデータ・ストア３１５内に格納された動的構成データを更新する。例えば、接続されたホストのカウント又はポート上のパス・カウントを、１だけ増加させる。更新コンポーネントはまた、要求の受諾又は拒否の報告を要求者に返信するために、通知を通信コンポーネントに送信する。
【００４４】
前述のように、ここでモノリシック型及びモジュール型として説明された２つの基本的なタイプのストレージ・デバイス・アーキテクチャが存在する。図４はモノリシック型アーキテクチャを示し、図５はモジュール型アーキテクチャを示す。ストレージ・デバイス１２５、１３０は、設計及び実装が変化しているが、広義にはこれらの２つのカテゴリに入り、しかし両方のアーキテクチャの特徴を有するものとすることができる。
【００４５】
図４を参照すると、モノリシック型ストレージ・デバイス４００が示されている。モノリシック型アーキテクチャは、多数のストレージ・デバイス・ポート２１０、２１５、２２０、２２５に接続された２つのみの制御ユニット４０５、４１０（ＣＰＵ、プロセッサ、ノード、コントローラ）を含むことが多い。ポートは、単一の制御ユニット専用であるか、又は、両方の制御ユニットに接続されるかのいずれかである。作動時には、ストレージは、以下のステップによってアクセスされる。
【００４６】
データをストレージ・ボリューム２５０から読み取る要求又はそれに書き込む要求は、特定のポート２１０、２１５、２２０、２２５を介して入り、処理のために制御ユニット４０５、４１０にルーティングされる。典型的には、ボリュームは、好ましい制御ユニット４０５、４１０を有し、それを通じてデータ・アクセス要求が実行されることになる。制御ユニット４０５、４１０は、ストレージ・ボリューム２５０上でデータ・アクセス要求を実行する。ボリューム２５０にアクセスするのにどのポート２１０、２１５、２２０、２２５を用いることができるかについての制約はない。しかしながら、通常のアクセスのために用いられる優先ポート２１０、２１５、２２０、２２５と、優先ポート２１０、２１５、２２０、２２５又はコントローラ４０５、４１０の内部コンポーネントの障害が発生した場合にストレージ・ボリューム２５０にアクセスするのに用いることができる非優先ポート２１０、２１５、２２０、２２５とが存在する。
【００４７】
しかしながら、データ・アクセスのために用いるポート２１０、２１５、２２０、２２５の選択は、ストレージ・デバイス１２５、１３０の設計によって決まることになる。アクセス利用可能性を最大にするために、サーバ・アクセスのために選択されるポート２１０、２１５、２２０、２２５は、失われるパスの数を最小にすることによって内部コンポーネントの障害がその影響を最小にするようにすべきである。例えば、選択されるポートは、異なる内部データ・バス、電源、アダプタ・ベイ、アダプタに、及び、制御ユニットに直接接続される場合には両方の制御ユニットに、接続されるべきである。ポート選択のための１つの手法は、ポートの「利用可能な対」である。コンポーネントの典型的な二重冗長性のために、特定のポートは、最初のポートを通じたアクセスに影響を及ぼす異なるコンポーネントの障害によって影響される恐れが最も少ないパートナーをもつことになる。このパートナー・ポートはまた、典型的には、既に言及した第２の冗長ＳＡＮネットワーク上に存在する。
【００４８】
図５は、普通は仮想化装置のような多数のクラスタとして対で組み合わされる多数の制御ユニット５０５、５１０、５１５、５２０を含むモジュール型ストレージ・デバイス５００を示す。この場合には、幾つかの制御ユニット（５０５、５１０、５１５、５２０）が存在する場合が多く、典型的には全てのポート２１０、２１５、２２０、２２５が全ての制御ユニットに接続されない場合が多い、すなわち、アクセスは、クラスタ化された制御ユニットの対のうちの１つの制御ユニットに結合されるポートのサブセットを介するものである。さらに、既存のストレージ・ボリューム又はストレージの一部は、ストレージ・デバイス１２５、１３０の制御ユニット５０５、５１０、５１５、５２０の対（クラスタ）に対する、予め割り当てられた所有権をもつことになる。この図では、所有権が、クラスタ５３０、すなわち制御ユニット５０５及び５１０に割り当てられているため、ボリューム５５０は、ポート２１０及びポート２１５を介してのみアクセスすることができる。
【００４９】
作動時には、以下の処理ステップが実行される。データをボリューム５５０から読み取る要求又はそれに書き込む要求は、ポート２１０及び２１５を介して入らなければならず、アクセス・ポートに応じて処理のために制御ユニット５０５又は５１０にルーティングされる。典型的には、ストレージ・ボリューム５５０は、好ましい制御ユニット５０５又は５１０を有し、それを通じてデータ・アクセス要求が通常実行されることになる。次に、制御ユニットは、ストレージ・ボリューム上でデータ・アクセス要求を実行することになる。
【００５０】
このアーキテクチャにおいては、ボリューム５６０に対するアクセスは、このストレージ・ボリュームがクラスタ５４０に割り当てられているため、ポート２１０及び２１５を通して実行することはできない。ポート２２０及び２２５は制御ユニット５１５及び５２０に接続されているため、これらのポートのみをデータ・アクセスのために用いることができる。このモジュール型アーキテクチャにおいては、ポート選択は、クラスタへのストレージ・ボリュームの割り当てによって限定される。
【００５１】
図６及び図７を参照すると、前述の両方のタイプのアーキテクチャを考慮に入れた、最適化コンポーネント３００の作動ステップが示されている。ステップ６００において、ポート最適化コンポーネント３００は、ストレージ・デバイス１２５、１３０上のストレージ・ボリューム２５０へのパス・アクセスを構成するために、要求者からの要求を受信する。典型的には、要求者は、そのストレージ要件を満たすストレージ・ボリューム２５０、例えば、１ギガバイトのデータを格納することができ、特定の応答時間を示すなどといったストレージ・ボリューム２５０を、選択リストから選択する。或いは、ストレージ・デバイス１２５、１３０が、所望の特性を備えるボリュームを作成することができる自由容量をもつことが認識される。（この自由容量をもつデバイス又は既存のストレージ・ボリュームの選択は、従来技術によって扱われ、これ以上は説明されない。）ポート最適化コンポーネント３００は要求を受信し、判定コンポーネント３０５は、ストレージ・デバイス１２５、１３０の名前と要求者のストレージ要件とを抽出する。判定コンポーネント３０５は、要求において名前が挙げられたストレージ・デバイス１２５、１３０についての構成データ及びポリシー・データにアクセスするために、構成データ・ストア３１５及びポリシー・データ・ストア３１０に要求を送信する。
【００５２】
ステップ６０５において、判定コンポーネント３０５は、選択されたストレージ・デバイス１２５、１３０が、ストレージ・デバイス１２５、１３０に接続することができるホストの最大数又は許容されたストレージ・ボリューム２５０の総数を既に超えているかどうかを判定する。判定が肯定である場合には、制御はステップ６１０に進み、選択されたストレージ・デバイス１２５、１３０についての要求が不適切であることを報告する通知が、通信コンポーネント３２５を介して要求者に送信される。次に、要求者は、選択リストから別のストレージ・デバイス１２５、１３０を選択するように指示され、別のデバイスの再選択が、従来技術によって定義される所望の特性及び空き容量を有する選択されたデバイスのリストから、自動的に又は人間が介入して行われる。
【００５３】
判定が否定であり、ストレージ・デバイスに接続されるホストの数が可能なホストの最大数を超えない場合には、制御はステップ６１５に進み、要求されたストレージにアクセスできる制御ユニット又はクラスタが選択され、そのストレージは、要求者の品質又はサービス要件を満たすものである、すなわち、ストレージ・デバイス１２５、１３０は、例えば、１ギガバイトのデータを格納し、ｘ秒の性能応答時間とＲＡＩＤ５の可用性レベルとをもつことができなければならない。
【００５４】
次に、ステップ６２０において、判定コンポーネント３０５は、ポート選択がクラスタ又は制御ユニットの選択によって決まるかどうかを判定し、これは、ストレージ・ユニットのアーキテクチャ・タイプを判定することによって達成される。
【００５５】
アーキテクチャ・タイプがモノリシック型である（すなわち、ポート選択が、ストレージ・ボリュームと制御ユニットとの割り当てに依存しない）場合には、制御が図７のステップ６７５に移動し、選択されたストレージ・デバイスのポートの全てがポート選択のための候補として選択される。ステップ６８０において、ポートに関して最大のホスト又はボリューム・カウントが超過した場合にポートが除外されるべきであるかについて判定が行われる。判断部６８５において、アクセス要求に対するデータ・パス要件を満たすのに利用可能な十分なポートが存在するかどうかについて判定が行われる。判定が否定ある場合には、制御は図６のステップ６１０に進む。判定が肯定である場合には、制御は図６のステップ６６５に進む。
【００５６】
図６のステップ６２０に戻り、ポート選択がクラスタ／制御ユニット選択によって決まる場合、すなわちモジュール型アーキテクチャの場合には、制御はステップ６２５に進む。選択される制御ユニットの多数のクラスタが存在するかどうかについてさらなる判定が行われる。ボリュームが既に存在し、クラスタに割り当てられている場合には、選択されることが可能な唯一のクラスタが存在し、制御がステップ６３５に進む。ボリューム２５０がまだ作成されておらず、同じストレージ容量にアクセスすることができる多数のクラスタが存在する場合（６２５）には、制御は６３０に進む。判定コンポーネント３０５は、動的構成データから使用率が最小のクラスタを決定し、例えば、使用率は、ＣＰＵ（制御ユニット・プロセッサ）使用率又はスループット使用率とすることができる。制御はステップ６３５に進み、判定コンポーネント３０５は、構成データをポリシー・ルールと比較することによって、選択されたクラスタが最大数のホストを既に有しているかどうか又は既に接続されたボリュームを有しているかどうかを判定する。クラスタが、その最大ホスト及びボリューム・カウントに達していない場合には、制御は図７のステップ６４５に移り、そのクラスタが選択される。
【００５７】
ステップ６５０において、判定コンポーネント３０５は、ポート候補を、選択されたクラスタに接続されるものとして定義されたポートに限定する。ここでも、これは、ストレージ・デバイス１２５、１３０についての関連構成データを特定することによって達成される。ステップ６５５において、判定コンポーネント３０５により、ストレージ・デバイスの構成データをその対応するポリシー・ルールと比較することによって、どのポート候補がそれらの最大接続ホスト・カウントに達したかについてのさらなる判定が行われる。判定が肯定である場合には、最大ホスト・カウントを超えるポートが、候補ポート・リストから除外される。制御はステップ６６０に進み、判定コンポーネント３０５は、要求者のマルチパス要件を満たす、選択されたクラスタにおいて利用可能な十分な候補ポートが存在するかどうかを判定する。判定が肯定である場合、制御がステップ６６５及び６７０に進み、データ・パス要件を満たす最小の使用率をもつ必要な数のポートの対を選択することによって、利用できる最適なポートの対が選択されるが、関連するマルチパス・ドライバによってサポートされるものよりも多い対は存在しない。
【００５８】
ステップ６３５に戻り、判定が肯定である場合、要求者の要件を満たす、クラスタにおいて利用可能な十分なポートは存在せず、制御はステップ６４０に進み、選択されたストレージ・デバイス１２５、１３０についていずれかの残りのクラスタが存在するかどうかに関するさらなる判定が行われる。利用可能なクラスタが存在しない場合には、判定コンポーネント３０５は、ストレージ・デバイス１２５、１３０が不適切であることを要求者に通知するためにメッセージを更新コンポーネント３３０に送信し、要求者は、選択リストから別のストレージ・デバイス１２５、１３０を選択するように指示される。一方、判定が肯定であり、ストレージ・デバイスのために残っているクラスタが存在する場合には、制御はステップ６３０に進み、処理ステップは、最適なポートの対が選択されるまで、前述のようにステップ６３０から開始される。成功した要求の最後には、更新コンポーネントは、デバイスに接続されたホスト、ポート当たりのホスト接続、及びポート当たりのボリュームといった新しい使用カウントを用いて、構成データを更新する。
【００５９】
さらに、サーバ又はアプリケーションを廃止するためにデータ・パス・アクセスが除去されたときには、例えばホスト及びポート接続使用カウントといった使用カウントの値が減少される。
【００６０】
この処理のサブセットは、デバイスへの既存のパス構成をもつホストについて付加的なボリュームが要求される場合に用いられる。既存のパス構成は、既存のポート選択によって付加的な１つ又は複数のボリュームにアクセスすることができるかどうかを判定するために、再確認されなければならない。そうでなければ、新しいポート選択が判定されなければならない。
【００６１】
この方法は、特定のポート上のスループット輻輳によって引き起こされる障害を除去するために、Ｉ／Ｏワークロードの再バランシングが必要なときに適用することもできる。
【図面の簡単な説明】
【００６２】
【図１】典型的なストレージ・エリア・ネットワークの従来技術の図である。
【図２】当該技術分野では公知のストレージ・デバイスの多数のポート対を示すブロック図である。
【図３】本発明の好ましい実施形態に係るポート最適化コンポーネントのコンポーネントを示すブロック図である。
【図４】当該技術分野では公知のストレージ・デバイスのモノリシック型アーキテクチャを示すブロック図である。
【図５】当該技術分野では公知のストレージ・デバイスのモジュール型アーキテクチャを示すブロック図である。
【図６】本発明の好ましい実施形態の作動ステップを詳細に示すフロー・チャートである。
【図７】本発明の好ましい実施形態の作動ステップを詳細に示すフロー・チャートである。
【図１】
2009535681.tif 000003
【図２】
2009535681.tif 000004
【図３】
2009535681.tif 000005
【図４】
2009535681.tif 000006
【図５】
2009535681.tif 000007
【図６】
2009535681.tif 000008
【図７】
2009535681.tif 000009
【手続補正書】
【提出日】平成21年4月3日(2009.4.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ストレージ・エリア・ネットワーク内のストレージ・デバイスに接続するために、各々が所定の作動パラメータを有するポートの対を選択するポート最適化コンポーネントであって、
ストレージ・デバイスへのアクセスを構成する要求に応答して、前記ストレージ・デバイスに関する構成データ及びポリシー・データを要求するための判定コンポーネントと、
前記ストレージ・デバイス上に配置された各々のストレージ・デバイス・ポートについての作動パラメータの差異を求め、検出された前記差異に応じて好ましい作動パラメータを有するポートの対を選択するために、前記構成データを前記ポリシー・データと比較する前記判定コンポーネントと、
を含むポート最適化コンポーネント。
【請求項２】
前記判定コンポーネントは、ポート選択のための適格なポートの対のリストを判定するために、各々のポートについて、各々のポートの現在の作業負荷と各々のポートの最大作業負荷とを検出することをさらに含む、請求項１に記載のポート最適化コンポーネント。
【請求項３】
前記判定コンポーネントは、前記要求されたストレージ・デバイスと関連付けられた前記ポリシー・ルールから、前記適格なポートの対における各々の対のアーキテクチャ・タイプを判定することをさらに含む、請求項２に記載のポート最適化コンポーネント。
【請求項４】
前記判定コンポーネントは、前記適格なポートの対を介して、前記要求されたストレージ・デバイスのストレージ・ボリュームに対するあらゆる限定を特定することをさらに含む、請求項２又は請求項３に記載のポート最適化コンポーネント。
【請求項５】
更新コンポーネントは、前記判定コンポーネントが性能基準を満たす前記ポートの対を判定したことに応答して、適格なポートの対の前記リストを限定する、前記請求項のいずれかに記載のポート最適化コンポーネント。
【請求項６】
ポリシー・ルールが前記ストレージ・デバイスの作動パラメータ・データを含む、前記請求項のいずれかに記載のポート最適化コンポーネント。
【請求項７】
前記要求されたストレージ・デバイスの現在の作動パラメータを用いて前記構成データを更新するための更新コンポーネントをさらに含む、前記請求項のいずれかに記載のポート最適化コンポーネント。
【請求項８】
前記ストレージ・デバイスの各々の現在の作動パラメータを特定するために、前記ストレージ・エリア・ネットワーク内で作動する各々のストレージ・デバイスに問い合わせするためのクエリ・コンポーネントをさらに含む、前記請求項のいずれかに記載のポート最適化コンポーネント。
【請求項９】
選択のために前記適格なポートの対の付加又は除外を通信するための通信コンポーネントをさらに含む、前記請求項のいずれかに記載のポート最適化コンポーネント。
【請求項１０】
前記構成データは、前記ストレージ・エリア・ネットワーク内で作動する各々のストレージ・デバイスの現在の作動パラメータを含む、前記請求項のいずれかに記載のポート最適化コンポーネント。
【請求項１１】
前記判定コンポーネントは、要求されたデータ・パス要件を満たすために利用可能な十分なストレージ・デバイス・ポートが存在するかどうかを判定することをさらに含む、請求項１に記載のポート最適化コンポーネント。
【請求項１２】
ストレージ・エリア・ネットワーク内のストレージ・デバイスに接続するために、各々が所定の作動パラメータを有するポートの対を選択する方法であって、
ストレージ・デバイスへのアクセスを構成する要求に応答して、前記ストレージ・デバイスに関する構成データ及びポリシー・データを要求するステップと、
前記ストレージ・デバイス上に配置された各々のストレージ・デバイス・ポートについての作動パラメータの差異を求め、検出された前記差異に応じて好ましい作動パラメータを有するポートの対を選択するために、前記構成データを前記ポリシー・データと比較するステップと、
を含む方法。
【国際調査報告】
2009535681.tif 000010
2009535681.tif 000011