(57)【特許請求の範囲】
【請求項１】
複数のストレージ装置を含むストレージシステムであって、
外部装置から送られてくるデータ入出力要求に応じて、記憶装置へのデータの書き込み、又は前記記憶装置からのデータの読み出しを行うストレージ制御部と、
前記データ入出力要求に対する処理の結果を前記外部装置に応答し、前記外部装置から送信される、少なくとも二つ以上のプロトコルに従った前記データ入出力要求に応答可能なプロトコル処理部と、
前記ストレージシステムの有する複数の前記ストレージ装置のうちの一部をグルーピングして構成した第１クラスタに付与される第１クラスタ識別子と、前記第１クラスタに含まれる前記ストレージ装置の識別子と、前記第１クラスタに含まれる前記ストレージ装置のうちの一部をさらにプロトコル別でグルーピングして構成した第２クラスタに付与される第２クラスタ識別子と、前記第２クラスタに含まれる前記ストレージ装置の識別子とを含むクラスタ管理情報と、
前記クラスタ管理情報を参照して前記クラスタを構成し、前記外部装置から受信した前記データ入出力要求を、他の前記ストレージ装置に、前記クラスタ管理情報を参照して、フォワーディング又はリダイレクションするクラスタ処理部と、
を備えるストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、
前記ストレージ装置における前記プロトコルを処理するための資源のうち、前記ストレージ装置が所属している前記第２クラスタが担当する前記プロトコル以外の前記プロトコルを実現するための資源を不活性にする
ストレージシステム。
【請求項３】
請求項２に記載のストレージシステムであって、
前記ストレージ装置は、論理的に設定された記憶領域である論理ボリュームを単位として前記記憶装置の記憶領域を前記外部装置に提供し、
前記クラスタ処理部は、複数の前記第２クラスタを含む第２クラスタが既に構成されている状態で前記クラスタ管理情報の内容が変更された場合に、前記論理ボリュームが対応していた前記プロトコルが、当該論理ボリュームに所属している前記ストレージ装置が前記変更後に担当することとなる前記プロトコルに合致していない場合に、前記論理ボリュームのデータを、前記変更後に当該論理ボリュームが対応していた前記プロトコルを担当することとなる他の前記ストレージ装置の前記論理ボリュームに移行させる
ストレージシステム。
【請求項４】
請求項３に記載のストレージシステムであって、
前記クラスタ処理部は、前記第２クラスタが既に構成されている状態で、既に構成されている前記第２クラスタに新たに前記ストレージ装置を追加する内容に前記クラスタ管理情報の内容が変更された場合に、前記論理ボリュームの負荷情報に応じてデータの再配置が必要か否かを判定し、再配置が必要な場合は前記論理ボリューム間でデータを移行させる
ストレージシステム。
【請求項５】
請求項４に記載のストレージシステムであって、
前記クラスタ処理部は、前記第２クラスタが既に構成されている状態で、既に構成されている前記第２クラスタから前記ストレージ装置を削除する内容に前記クラスタ管理情報の内容が変更された場合に、削除される前記ストレージ装置の前記論理ボリュームのデータを、当該ストレージ装置が担当していた前記プロトコルを担当している他のストレージ装置の前記論理ボリュームに移行させる
ストレージシステム。
【請求項６】
請求項５に記載のストレージシステムであって、
前記クラスタ処理部は、前記第２クラスタが既に構成されている状態で、ある前記第２クラスタを構成している前記ストレージ装置が、他の前記第２クラスタに移行する内容に前記クラスタ管理情報の内容が変更された場合に、前記論理ボリュームの負荷情報に応じてデータの再配置が必要か否かを判定し、再配置が必要な場合は前記論理ボリューム間でデータを移行させる
ストレージシステム。
【請求項７】
請求項６に記載のストレージシステムであって、
前記プロトコルは、ｉＳＣＳＩ（Internet Small Computer System Interface）、ＮＦＳ／ＣＩＦＳ（NFS: Network File System, CIFS: Common Internet File System）、ＦＣ（Fibre Channel）のうち少なくともいずれかである
ストレージシステム。
【請求項８】
複数のストレージ装置を含むストレージシステムにおける制御方法であって、
前記ストレージ装置は、
前記ストレージシステムの有する複数の前記ストレージ装置のうちの一部をグルーピングして構成した第１クラスタに付与される第１クラスタ識別子と、前記第１クラスタに含まれる前記ストレージ装置の識別子と、前記第１クラスタに含まれる前記ストレージ装置のうちの一部をさらにプロトコル別でグルーピングして構成した第２クラスタに付与される第２クラスタ識別子と、前記第２クラスタに含まれる前記ストレージ装置の識別子とを含むクラスタ管理情報
を備え
外部装置から送られてくるデータ入出力要求に応じて、記憶装置へのデータの書き込み又は前記記憶装置からのデータの読み出しを行うステップと、
前記データ入出力要求に対する処理の結果を前記外部装置に応答し、前記外部装置から送信される、少なくとも二つ以上のプロトコルに従った前記データ入出力要求に応答するステップと、
前記クラスタ管理情報を参照して前記クラスタを構成するステップと、
前記外部装置から受信した前記データ入出力要求を、他の前記ストレージ装置に、前記クラスタ管理情報を参照してフォワーディング又はリダイレクションするステップと、
を含むストレージシステムの制御方法。
【請求項９】
請求項８に記載のストレージシステムの制御方法であって、さらに、
前記ストレージ装置における前記プロトコルを処理するための資源のうち、前記ストレージ装置が所属している前記第２クラスタが担当する前記プロトコル以外の前記プロトコルを実現するための資源を不活性にするステップ
を含むストレージシステムの制御方法。
【請求項１０】
請求項９に記載のストレージシステムの制御方法であって、さらに、
論理的に設定された記憶領域である論理ボリュームを単位として前記記憶装置の記憶領域を前記外部装置に提供するステップと、
前記プロトコルごとの前記第２クラスタが既に構成されている状態で前記クラスタ管理情報の内容が変更された場合に、前記論理ボリュームが対応していた前記プロトコルが、前記論理ボリュームが所属している前記ストレージ装置が前記変更後に担当することとなる前記プロトコルに合致していない場合に、前記論理ボリュームのデータを、前記変更後に当該論理ボリュームが担当していた前記プロトコルを担当することとなる他の前記ストレージ装置の前記論理ボリュームに移行させるステップ
を含むストレージシステムの制御方法。
【請求項１１】
請求項１０に記載のストレージシステムの制御方法であって、さらに、
前記プロトコルごとの前記第２クラスタが既に構成されている状態で、既に構成されている前記第２クラスタに新たに前記ストレージ装置を追加する内容に前記クラスタ管理情報の内容が変更された場合に、前記論理ボリュームの負荷情報に応じてデータの再配置が必要か否かを判定し、再配置が必要な場合は前記論理ボリューム間でデータを移行させるステップ
を含むストレージシステムの制御方法。
【請求項１２】
請求項１１に記載のストレージシステムの制御方法であって、さらに、
前記プロトコルごとの前記第２クラスタが既に構成されている状態で、既に構成されている前記第２クラスタから前記ストレージ装置を削除する内容に前記クラスタ管理情報の内容が変更された場合に、削除される前記ストレージ装置の前記論理ボリュームのデータを、当該ストレージ装置が担当していた前記プロトコルを担当している他のストレージ装置の前記論理ボリュームに移行させるステップ
を含むストレージシステムの制御方法。
【請求項１３】
請求項１２に記載のストレージシステムの制御方法であって、さらに、
前記プロトコルごとの前記第２クラスタが既に構成されている状態で、ある前記第２クラスタを構成している前記ストレージ装置が、他の前記第２クラスタに移行する内容に前記クラスタ管理情報の内容が変更された場合に、前記論理ボリュームの負荷情報に応じてデータの再配置が必要か否かを判定し、再配置が必要な場合は前記論理ボリューム間でデータを移行させるステップ
を含むストレージシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム、及びストレージシステムの制御方法に関し、とくにプロトコルの使用状況に応じた性能分離やストレージシステムの性能を最適化する技術に関する。
【背景技術】
【０００２】
ストレージシステムの効率的な運用を実現すべく、ストレージシステムを複数の論理区画（Logical Partition : LPAR）に分割してクラスタを構成し、ユーザから各クラスタを個別の複数のストレージシステムとして提供する技術が存在する。
【０００３】
例えば特許文献１には、複数台の比較的小規模なストレージシステム（クラスタ）を相互結合網により接続して１つのシステムとして運用するクラスタ型ストレージシステムにおいて、相互結合網の帯域制限下で論理分割を行うと、論理区画に割り当てた資源に見合う性能を保証できないという課題を解決すべく、１つの論理区画に対して同一のクラスタ内の資源を割り当てることが記載されている。
【０００４】
また特許文献２には、ストレージシステムで使用されない資源を有効に活用すべく、制御プロセッサが、ホストＩＦ、ドライブＩＦ、ディスクドライブ、データ転送エンジン、キャッシュメモリ、及び制御プロセッサを含む資源を分割対象の資源として論理的に分割して複数の論理区画を構成し、各論理区画に分割する割合を、ホスト計算機からのアクセス量に応じて動的に変化させることが開示されている。
【０００５】
特許文献３には、ストレージコンソリデーションがなされたサブシステムの論理分割の管理に際し、ＲＡＩＤの構成変更に際し管理者等による操作誤りを回避すべく、ＲＡＩＤの構成変更機能を所定範囲において開放可能とすることが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２８５８０８号公報
【特許文献２】特開２００８−２５７５７２号公報
【特許文献３】特開２００５−７１１０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
低ＴＣＯ（Total Cost of Ownership）を実現すべく、初期投資が少なく小規模で運用を開始することができ、急速な成長にも対応（スケールアウト（Scale Out）：既存のストレージシステムの構成を維持したまま、新たなストレージ装置を導入）可能で、柔軟な構成変更可能なクラウドサービス向けのストレージ（COS: Cloud Optimized Storage）の需要増大が見込まれている。
また、単体でｉＳＣＳＩ（Internet Small Computer System Interface）、ＮＦＳ／ＣＩＦＳ（NFS: Network File System，CIFS: Common Internet File System）、ＦＣ（Fibre Channel）といった複数のプロトコルに対応可能なストレージ装置（以下、ユニファイドストレージ（Unified Storage）と称する。）が普及し始めている。
【０００８】
スケールアウト構成のユニファイドストレージを用いたクラウドサービス向けストレージシステムの運用では、性能を最適化するために、ユニファイドストレージが備える資源（ＣＰＵ，キャッシュメモリ等）を有効に活用（パーティショニング）するニーズが顕在化することが予想される。
【０００９】
しかしユニファイドストレージは、複数のプロトコルを共通のＣＰＵで処理し、キャッシュメモリも各プロトコルが共有するので、各プロトコルの使用状況に応じた性能分離やストレージシステムの性能を最適化することは困難である。
【００１０】
本発明は、このような背景に鑑みてなされたもので、プロトコルの使用状況に応じた性能分離やストレージシステムの性能を最適化することが可能な、ストレージシステム、及びストレージシステムの制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記のおよび他の課題を解決するための本発明の一態様は、
複数のストレージ装置を含むストレージシステムであって、
外部装置から送られてくるデータ入出力要求に応じて、記憶装置へのデータの書き込み、又は前記記憶装置からのデータの読み出しを行うストレージ制御部と、
前記データ入出力要求に対する処理の結果を前記外部装置に応答し、前記外部装置から送信される、少なくとも二つ以上のプロトコルに従った前記データ入出力要求に応答可能なプロトコル処理部と、
前記ストレージシステムの有する複数の前記ストレージ装置のうちの一部をグルーピングして構成した第１クラスタに付与される第１クラスタ識別子と、前記第１クラスタに含まれる前記ストレージ装置の識別子と、前記第１クラスタに含まれる前記ストレージ装置のうちの一部をさらにプロトコル別でグルーピングして構成した第２クラスタに付与される第２クラスタ識別子と、前記第２クラスタに含まれる前記ストレージ装置の識別子とを含むクラスタ管理情報と、
前記クラスタ管理情報を参照して前記クラスタを構成し、前記外部装置から受信した前記データ入出力要求を、他の前記ストレージ装置に、前記クラスタ管理情報を参照して、フォワーディング又はリダイレクションするクラスタ処理部と、
を備えるストレージシステムである。
【００１２】
このように外部装置から送信されてくる少なくとも二つ以上のプロトコルに従ったデータ入出力要求に応答可能なプロトコル処理部を備えるストレージ装置（ユニファイドストレージ）を用いたストレージシステムを用いて、プロトコルごとのクラスタを構成することで、プロトコルの使用状況に応じた性能分離や、ストレージシステム全体の性能の最適化を図ることが可能となる。
【００１４】
また、本発明によれば、ストレージ装置の夫々が所属しているクラスタが担当するプロトコルが管理されたクラスタ管理テーブルと、クラスタ処理部が備えるフォワーディング又はリダイレクションの機能により、プロトコルごとのクラスタを容易に構成することができる。
【００１５】
本発明の他の一態様は、上記ストレージシステムであって、
前記ストレージ装置における前記プロトコルを処理するための資源のうち、前記ストレージ装置が所属している前記第２クラスタが担当する前記プロトコル以外の前記プロトコルを実現するための資源を不活性にする。
【００１６】
ストレージ装置が所属している前記第２クラスタが担当するプロトコル以外のプロトコルを実現するための資源は活性（active）させておく必要が無いので、そのような資源を不活性（Inactive）にすることで、ストレージ装置の処理負荷が低減され、ストレージ装置を効率よく機能させることができる。
【００１７】
本発明の他の一態様は、上記ストレージシステムであって、
前記ストレージ装置は、論理的に設定された記憶領域である論理ボリュームを単位として前記記憶装置の記憶領域を前記外部装置に提供し、
前記クラスタ処理部は、前記第２クラスタが既に構成されている状態で前記クラスタ管理情報の内容が変更された場合に、前記論理ボリュームが対応していた前記プロトコルが、当該論理ボリュームに所属している前記ストレージ装置が前記変更後に担当することとなる前記プロトコルに合致していない場合に、前記論理ボリュームのデータを、前記変更後に当該論理ボリュームが対応していた前記プロトコルを担当することとなる他の前記ストレージ装置の前記論理ボリュームに移行させる。
【００１８】
このように、クラスタ管理情報の内容が変更された場合には、クラスタ処理部が、論理ボリュームが対応しているプロトコルに合致する他のストレージ装置の論理ボリュームに自動的にデータを移行する。このため、例えば管理装置からクラスタ管理情報を変更することで、第２クラスタの構成を容易かつ柔軟に変更することができる。
【００１９】
本発明の他の一態様は、上記ストレージシステムであって、
前記クラスタ処理部は、前記第２クラスタが既に構成されている状態で、既に構成されている前記第２クラスタに新たに前記ストレージ装置を追加する内容に前記クラスタ管理情報の内容が変更された場合に、前記論理ボリュームの負荷情報に応じてデータの再配置が必要か否かを判定し、再配置が必要な場合は前記論理ボリューム間でデータを移行させる。
【００２０】
このように、プロトコルごとの前記第２クラスタが既に構成されている状態で既に構成されている前記第２クラスタに新たにストレージ装置を追加する内容にクラスタ管理情報が変更された場合には、クラスタ処理部が論理ボリュームの負荷情報に応じてデータの再配置が必要か否かを判定し、再配置が必要な場合は自動的に論理ボリューム間でデータを移行する。このように本発明によれば、クラスタ管理情報の内容を変更することで、既に構成されている前記第２クラスタに容易に新たなストレージ装置を追加することができる。また再配置に際して負荷分散を図ることによりストレージシステムの性能を最適化することができる。
【００２１】
本発明の他の一態様は、上記ストレージシステムであって、
前記クラスタ処理部は、前記第２クラスタが既に構成されている状態で、既に構成されている前記第２クラスタから前記ストレージ装置を削除する内容に前記クラスタ管理情報の内容が変更された場合に、削除される前記ストレージ装置の前記論理ボリュームのデータを、当該ストレージ装置が担当していた前記プロトコルを担当している他のストレージ装置の前記論理ボリュームに移行させる。
【００２２】
このように、プロトコルごとの第２クラスタが既に構成されている状態で既に構成されている第２クラスタからストレージ装置を削除する内容にクラスタ管理情報が変更された場合には、クラスタ処理部が、当該ストレージ装置が担当していたプロトコルを担当している他のストレージ装置の論理ボリュームにデータを移行させる。このように、本発明によれば、クラスタ管理情報の内容を変更することで、既に構成されている第２クラスタから容易にストレージ装置を削除することができる。
【００２３】
本発明の他の一態様は、上記ストレージシステムであって、
前記クラスタ処理部は、前記第２クラスタが既に構成されている状態で、ある前記第２クラスタを構成している前記ストレージ装置が、他の前記第２クラスタに移行する内容に前記クラスタ管理情報の内容が変更された場合に、前記論理ボリュームの負荷情報に応じてデータの再配置が必要か否かを判定し、再配置が必要な場合は前記論理ボリューム間でデータを移行させる。
【００２４】
このように、プロトコルごとの第２クラスタが既に構成されている状態で、ある第２クラスタを構成しているストレージ装置が、他の第２クラスタに移行する内容にクラスタ管理情報の内容が変更された場合には、クラスタ処理部が論理ボリュームの負荷情報に応じてデータの再配置が必要か否かを判定し、再配置が必要な場合は自動的に論理ボリューム間でデータを移行する。このように本発明によれば、クラスタ管理情報の内容を変更することで、ある第２クラスタを構成しているストレージ装置を、他の第２クラスタに容易に移行させることができる。また再配置に際して負荷分散を図ることによりストレージシステムの性能を最適化することができる。
【００２５】
尚、前記プロトコルは、ｉＳＣＳＩ（Internet Small Computer System Interface）、ＮＦＳ／ＣＩＦＳ（NFS: Network File System，CIFS: Common Internet File System）、ＦＣ（Fibre Channel）のうちの少なくともいずれかである。
【００２６】
その他本願が開示する課題やその解決方法については、発明の実施形態の欄、及び図面により明らかにされる。
【発明の効果】
【００２７】
本発明によれば、プロトコルの使用状況に応じた性能分離やストレージシステムの性能を最適化することができる。
【図面の簡単な説明】
【００２８】
【図１】ストレージシステム１の概略的な構成を説明する図である。
【図２】クライアント装置１０００、管理装置１１００、及びストレージ装置２４００の機能を説明する図である。
【図３】ストレージ装置２４００の動作を説明する図である。
【図４】ユニファイドストレージを新たに導入する場合における、ＬＵ２４２０へのアクセスの仕組みを説明する図である。
【図５】フォワーディングによりクラスタを実現する場合を説明する図である。
【図６】クラスタ管理テーブル２５１７の一例を示す図である。
【図７】リダイレクションによりクラスタを実現する場合を説明する図である。
【図８】プロトコル単位でクラスタグループ２８１２を設定する場合を説明する図である。
【図９】クラスタ管理テーブル２５１７の一例である。
【図１０】クラスタ設定処理Ｓ１０００を説明するフローチャートである。
【図１１】クラスタグループ２８１２の設定を変更する場合を説明する図である。
【図１２】設定変更処理Ｓ１２００を説明するフローチャートである。
【図１３】ボリューム管理テーブル１３００の一例である。
【図１４】移行処理Ｓ１２３４を説明するフローチャートである。
【図１５】クラスタグループ２８１２に新たなノードを追加する場合を説明する図である。
【図１６】ノード追加処理Ｓ１６００を説明するフローチャートである。
【図１７】クラスタグループ２８１２からノードを削除する場合を説明する図である。
【図１８】ノード削除処理Ｓ１８００を説明するフローチャートである。
【図１９】クラスタグループ２８１２間でノードを移動する場合を説明する図である。
【図２０】ノード移動処理Ｓ２０００を説明するフローチャートである。
【発明を実施するための形態】
【００２９】
以下、実施形態について説明する。図１に実施形態として説明するストレージシステム１の概略的な構成を示している。同図に示すように、このストレージシステム１は、データセンタやシステム運用センタなどの第１サイト６０００に設置された、複数のストレージ装置２４００、一つ以上のクライアント装置１０００（外部装置）、及び管理装置１１００を備えている。
【００３０】
クライアント装置１０００とストレージ装置２４００とは、データネットワーク５０００を介して通信可能に接続している。データネットワーク５０００は、例えば、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、ＳＡＮ（Storage Area Network）である。ストレージ装置２４００は、管理ネットワーク５００１を介して、管理装置１１００と通信可能に接続している。管理ネットワーク５００１は、例えば、ＬＡＮ、ＷＡＮである。ストレージ装置２４００は、内部ネットワーク５００２及び外部ネットワーク５００３を介して、他のサイト（第２サイト７０００、第３サイト８０００）に設けられている他のストレージシステムと通信可能に接続している。内部ネットワーク５００２は、例えばＬＡＮ、ＷＡＮ、ＳＡＮである。外部ネットワーク５００３は、ＬＡＮ、ＷＡＮ、ＳＡＮ、インターネット、公衆通信網、専用線である。尚、データネットワーク５０００、管理ネットワーク５００１、内部ネットワーク５００２、及び外部ネットワーク５００３は、ＶＬＡＮ（Virtual LAN）等の通信帯域を論理的に分割する方法により、同一の物理的な通信媒体を共有する方式で実現されていてもよい。
【００３１】
クライアント装置１０００は、ストレージ装置２４００にアクセスする装置であり、ストレージ装置２４００にデータ入出力要求（データ書き込み要求、データ読み出し要求）を送信する。クライアント装置１０００は、ストレージ装置２４００に対して、ブロック単位又はファイル単位のデータ入出力要求を送信する。
【００３２】
クライアント装置１０００は、例えばパーソナルコンピュータやオフィスコンピュータ、メインフレーム等の情報処理装置（コンピュータ）である。クライアント装置１０００は、少なくともプロセッサ１００１（例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit））、メモリ１００２（例えば揮発性または不揮発性のＲＡＭ（Random Access Memory）又はＲＯＭ（Read Only Memory））、及び通信インタフェース１００３（例えばＮＩＣ（Network Interface Card）やＨＢＡ（Host Bus Adaptor））を備えている。クライアント装置１０００は、更に記憶装置（例えばハードディスク、半導体記憶装置（ＳＳＤ（Solid State Drive）））、キーボードやマウス等の入力装置、液晶モニタやプリンタ等の出力装置を備えていてもよい。
【００３３】
クライアント装置１０００とストレージ装置２４００との間の通信は、例えばＴＣＰ／ＩＰ、ＦＩＣＯＮ（Fibre Connection）（登録商標）やＥＳＣＯＮ(Enterprise System Connection) （登録商標）、ＡＣＯＮＡＲＣ（Advanced Connection Architecture）（登録商標）、ＦＩＢＡＲＣ（Fibre Connection Architecture）（登録商標）等のプロトコルに従って行われる。
【００３４】
管理装置１１００は、例えばパーソナルコンピュータやオフィスコンピュータ等の情報処理装置（コンピュータ）である。管理装置１１００は、少なくともプロセッサ１１０１（例えばＣＰＵ、ＭＰＵ）、メモリ１１０２（揮発性または不揮発性のＲＡＭ又はＲＯＭ）、及び通信インタフェース１００３（例えばＮＩＣやＨＢＡ）を備えている。
【００３５】
管理装置１１００は、更に記憶装置（例えばハードディスク、半導体記憶装置（ＳＳＤ）、キーボードやマウス等の入力装置、液晶モニタやプリンタ等の出力装置を備えていてもよい。管理装置１１００は、管理ネットワーク５００１を介してストレージ装置２４００と通信可能に接続する。管理装置１１００は、ＧＵＩ（Graphical User Interface）、ＣＬＩ（Command Line Interface）等によるユーザインタフェースを備えており、ユーザ又はオペレータがストレージ装置２４００の制御や監視を行うための機能を提供する。管理装置１１００は、ストレージ装置２４００の一部であってもよい。
【００３６】
ストレージ装置２４００は、ヘッダ装置２５００、ドライブ制御装置２１００、及び記憶ドライブ２２００（記憶装置）を備える。ヘッダ装置２５００、ドライブ制御装置２１００、及び記憶ドライブ２２００は、これらの全てが独立した筐体に収容されていてもよいし、これらのうちの少なくともいずれかの組み合わせが同一筐体に収容されていてもよい。またヘッダ装置２５００及びドライブ制御装置２１００の機能は、共通のハードウエアによって実現するようにしてもよい。
【００３７】
ストレージ装置２４００は、複数のプロトコル（ｉＳＣＳＩ（Internet Small Computer System Interface）、ＮＦＳ／ＣＩＦＳ（NFS: Network File System，CIFS: Common Internet File System）、ＦＣ（Fibre Channel）等）に対応した（複数のプロトコルに従ったデータ入出力要求に応答可能な）、ユニファイドストレージ（Unified Storage）である。
【００３８】
ヘッダ装置２５００は、データネットワーク５０００、管理ネットワーク５００１、及び内部ネットワーク５００２に接続するための外部通信インタフェース２５０４，２５０５，２５０７（例えばＮＩＣ、ＨＢＡ）、プロセッサ２５０１（例えばＣＰＵ、ＭＰＵ、ＤＭＡ（Direct Memory Access）、カスタムＬＳＩ（Large Scale Integration））、メモリ２５０２（揮発性または不揮発性のＲＡＭ又はＲＯＭ）、キャッシュメモリ２５０３（揮発性または不揮発性のＲＡＭ）、及びドライブ制御装置２１００と通信するための内部通信インタフェース２５０６（例えばＮＩＣ、ＨＢＡ、ＰＣＩ（Peripheral Component Interconnect）、ＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標））を備えている。
【００３９】
ヘッダ装置２５００は、クライアント装置１０００との間の通信に必要なプロトコル（例えばＮＡＳ、ｉＳＣＳＩ、ＮＦＳ／ＣＩＦＳ、ＦＣ）に関する制御を行う機能、ファイルの制御に関する機能（ファイルシステム）、クライアント装置１０００との間で送受信するデータやデータ入出力要求のキャッシング機能等を備える。ヘッダ装置２５００が備える機能の詳細については後述する。
【００４０】
ドライブ制御装置２１００は、ヘッダ装置２５００及び管理ネットワーク５００１に接続するための外部通信インタフェース２１０４，２１０５（例えばＮＩＣ、ＨＢＡ、ＰＣＩ、ＰＣＩ−Ｅｘｐｒｅｓｓ）、プロセッサ２１０１（例えばＣＰＵ、ＭＰＵ、ＤＭＡ、カスタムＬＳＩ）、メモリ２１０２（揮発性または不揮発性のＲＡＭ又はＲＯＭ）、キャッシュメモリ２１０３（揮発性または不揮発性のＲＡＭ）、及び記憶ドライブと通信するためのドライブ通信インタフェース２１０６（例えばＳＡＳ（Serial Attached SCSI）、ＳＡＴＡ（Serial ATA）、ＰＡＴＡ（Parallel ATA）、ＦＣ、ＳＣＳＩ）を備えている。
【００４１】
ドライブ制御装置２１００は、ヘッダ装置２５００から送られてくるデータ入出力要求（以下、ドライブアクセス要求と称する。）に応じて記憶ドライブ２２００に対するデータの書き込みや記憶ドライブ２２００からのデータの読み出しを行う。ドライブ制御装置２１００は、記憶ドライブ２２００をＲＡＩＤ（RAID: Redundant Arrays of Inexpensive （or Independent) Disks）によって制御する機能、ヘッダ装置２５００やクライアント装置に論理的な記憶装置（ＬＤＥＶ（Logical DEVice））を提供する機能、データの健全性を検証する機能、スナップショット取得機能等の、記憶ドライブ２２００を安全にもしくは効率的に利用できるようにするための様々な機能を備える。ドライブ制御装置２１００が備える機能の詳細については後述する。
【００４２】
記憶ドライブ２２００は、例えば、所定の規格（ＳＡＳ、ＳＡＴＡ、ＦＣ、ＰＡＴＡ、ＳＣＳＩ）に準拠したハードディスクドライブ、複数のハードディスクドライブを用いて構成したＪＢＯＤ（Just a Bunch Of Disks）、半導体記憶装置（ＳＳＤ（Solid State Drive））である。
【００４３】
図２にクライアント装置１０００、管理装置１１００、及びストレージ装置２４００の機能を示している。クライアント装置１０００では、アプリケーションソフトウエア（以下、アプリケーション１０１１と称する。）、及び通信クライアント１０１２が実行されている。アプリケーション１０１１は、例えば、ファイル共有、Email、データベース、などを提供するソフトウエアである。
【００４４】
通信クライアント１０１２（Protocol Client）は、ストレージ装置２４００と通信する（例えば、データ入出力要求の送信及びその応答の受信）。通信クライアント１０１２は、上記通信に際し、プロトコル（例えばｉＳＣＳＩ、ＮＦＳ／ＣＩＦＳ、ＦＣ）に関する処理（例えばフォーマット変換、通信制御）を行う。尚、これらの機能は、クライアント装置１０００のプロセッサ１００１が、メモリ１００２に格納されているプログラムを読み出して実行することにより実現される。
【００４５】
管理装置１１００は、管理部１１１１を備えている。管理部１１１１は、ストレージ装置２４００の動作に関する設定、制御、及び監視を行う。尚、管理部１１１１は、管理装置１１００のプロセッサ１１０１が、メモリ１１０２に格納されているプログラムを読み出して実行することにより実現される。管理部１１１１の機能は、ストレージ装置２４００とは異なる装置で実現されていてもよいし、ストレージ装置２４００で実現するようにしてもよい。
【００４６】
ストレージ装置２４００のヘッダ装置２５００は、オペレーティングシステム２５１１（ドライバソフトウエアを含む）、ボリューム管理部２５１２、ファイルシステム２５１３、１つ以上の通信サーバ２５１４（Protocol Server）（プロトコル処理部）、及びクラスタ処理部２５１６を備えている。尚、これらの機能は、ヘッダ装置２５００のハードウエアによって、もしくは、プロセッサ２５０１がメモリ２５０２に格納されているプログラムを読み出して実行することにより実現される。
【００４７】
ボリューム管理部２５１２は、記憶ドライブ２２００によって提供される論理的な記憶領域に基づく仮想的な記憶領域(以下、仮想ボリュームと称する。）を、クライアント装置１０００に提供する。
【００４８】
ファイルシステム２５１３は、クライアント装置１０００からファイル指定方式によるデータ入出力要求を受け付ける。ヘッダ装置２５００は、データネットワーク５０００上でＮＡＳサーバ(NAS: Network Attached Storage）として機能する。尚、本実施形態では、ヘッダ装置２５００はファイルシステム２５１３を備えるものとして説明するが、ヘッダ装置２５００は、必ずしもファイルシステム２５１３を備えていなくてもよい。ヘッダ装置２５００は、例えばブロックアドレス（LBA: Logical Block Address）指定方式によるデータ入出力要求を受け付けてもよい。  
【００４９】
通信サーバ２５１４は、クライアント装置１０００の通信クライアント１０１２、及び管理装置１１００の管理部１１１１と通信する。通信サーバ２５１４は、上記通信に際し、プロトコル（例えばｉＳＣＳＩ、ＮＦＳ／ＣＩＦＳ、ＦＣ）に関する処理（例えばフォーマット変換、通信制御）を行う。
【００５０】
クラスタ処理部２５１６は、クライアント装置１０００からのデータ入出力要求を、予め設定されたクラスタの定義に従って処理する。例えばクラスタ処理部２５１６は、クライアント装置１０００から受信したデータ入出力要求が自らを宛先としている場合には、自らそのデータ入出力要求を処理する。また受信したデータ入出力要求が、他のストレージ装置２４００を対象としている場合には、そのデータ入出力要求の処理を担当である他のストレージ装置２４００に、当該データ入出力要求を転送する。クラスタ処理部２５１６は、上記クラスタの定義を、クラスタ管理テーブル２５１７に管理している。
【００５１】
ストレージ装置２４００のドライブ装置２０００は、ストレージ制御部２４１０を備えている。ストレージ制御部２４１０は、記憶ドライブ２２００に基づく論理的な記憶領域である論理ボリューム（以下、ＬＵ２４２０（LU: Logical Unit）と称する。）をヘッダ装置２５００に提供する。ヘッダ装置２５００は、ＬＵ２４２０の識別子（ＬＵＮ（Logical Unit Number））を指定することにより、ＬＵ２４２０を指定することができる。ストレージ制御部２４１０の機能は、例えばＬＶＭ（Logical Volume Manager）によって実現されている。
【００５２】
＜ユニファイドストレージ＞
図３はストレージ装置２４００の動作を説明する図である。前述したように、ストレージ装置２４００は、複数のプロトコル（ｉＳＣＳＩ、ＮＦＳ／ＣＩＦＳ、ＦＣ）に対応可能な（複数のプロトコルに従ったデータ入出力要求に応答可能な）ユニファイドストレージである。同図に示したストレージ装置２４００は、ＮＦＳとｉＳＣＳＩの双方のプロトコルに対応しており、ストレージ装置２４００は、ＮＦＳサーバとして機能する通信サーバ２５１４と、ｉＳＣＳＩターゲットとして機能する通信サーバ２５１４とを備える。このうちＮＦＳサーバとして機能する上記通信サーバ２５１４は、クライアント装置１０００のＮＦＳクライアントとして機能する通信クライアント１０１２から送信されてくるデータ入出力要求を受け付ける。一方、ｉＳＣＳＩターゲットとして機能する上記通信サーバ２５１４は、クライアント装置１０００のｉＳＣＳＩイニシエータとして機能する通信クライアント１０１２から送信されてくるデータ入出力要求を受け付ける。
【００５３】
＜資源の割り当て＞
図４はユニファイドストレージである第１ストレージ装置２４００を用いて構成されているストレージシステム１に、資源（性能、容量等）の増強等を目的として、ユニファイドストレージである第２ストレージ装置２４００を新たに導入する場合における、ＬＵ２４２０へのアクセスの仕組みを説明する図である。ユーザ又はオペレータは、管理装置１１００の管理部１１１１が提供するユーザインタフェースを利用して、各クライアント装置１０００にマウントするＬＵ２４２０の設定やクライアント装置１０００からＬＵ２４２０へのアクセスパスの設定等を行うことにより、第２のストレージ装置２４００を追加する。尚、この方法では、クライアント装置１０００から、各ストレージ装置２４００（第１ストレージ装置２４００及び第２ストレージ装置２４００）が独立した２つの装置として認識される。
【００５４】
＜クラスタ＞
図５は、図４と同様、第２ストレージ装置２４００を新たに導入する場合を説明している。但し、第１ストレージ装置２４００及び第２ストレージ装置２４００の２つのストレージ装置２４００を用いてクラスタ２８１１を構成している点が図４とは異なる。このようにクラスタ２８１１を構成した場合には、クライアント装置１０００からは第１ストレージ装置２４００及び第２ストレージ装置２４００が１つの仮想的なストレージシステムとして認識される。このようなクラスタ２８１１は、クライアント装置１０００から送信されてくるデータ入出力要求を、例えばストレージ装置２４００において、フォワーディング（Forwarding）又はリダイレクション（Redirection）することで実現することができる。
【００５５】
図５はフォワードディングによりクラスタ２８１１を実現した場合を説明する図であり、図７はリダイレクションによりクラスタ２８１１を実現した場合を説明する図である。
【００５６】
図５に示すように、フォワーディングの場合には、クラスタ処理部２５１６は、まずクライアント装置１０００から受信したデータ入出力要求を処理すべきストレージ装置２４００を特定する。そしてクラスタ処理部２５１６は、自身が処理すべきデータ入出力要求であれば自身で処理し、他のストレージ装置２４００が処理すべきデータ入出力要求であれば、受信したデータ入出力要求を他のストレージ装置２４００に転送する。
【００５７】
図６はデータ入出力要求を処理すべきストレージ装置２４００を特定する際にクラスタ処理部２５１６が参照する情報（以下、クラスタ管理テーブル２５１７と称する。）である。同図に示すように、クラスタ管理テーブル２５１７は、クラスタ名６１１、及びノード６１２の各項目からなる、一つ以上のレコードからなる。クラスタ名６１１には、構成されたクラスタごとに付与される識別子（以下、クラスタＩＤと称する。）が設定される。ノード６１２には、各クラスタの構成要素であるストレージ装置２４００の識別子（以下、装置ＩＤと称する。）が設定される。
【００５８】
図７に示すように、リダイレクションでは、クラスタ処理部２５１６は、まずクライアント装置１０００から受信したデータ入出力要求を処理すべきストレージ装置２４００を、クラスタ管理テーブル２５１７を参照して特定する。そしてクラスタ処理部２５１６は、自身が処理すべきデータ入出力要求であれば自身で処理し、他のストレージ装置２４００が処理すべきデータ入出力要求であれば、受信したデータ入出力要求を送信してきたクライアント装置１０００に、リダイレクト先（特定した他のストレージ装置２４００（例えばネットワークアドレス））を通知する。通知を受けたクライアント装置１０００は、通知されたリダイレクト先にデータ入出力要求を再送信する。
【００５９】
＜プロトコルごとのクラスタグループ＞
以上、プロトコルに依存しないクラスタ２８１１の実現方法について説明したが、ユニファイドストレージの特徴（複数のプロトコルに対応可能）を利用すれば、プロトコル単位でクラスタ群（以下、クラスタグループ２８１２と称する。）を設定することができる。
【００６０】
図８はプロトコル（同図ではＮＦＳサーバ、ｉＳＣＳＩターゲット）単位でクラスタグループ２８１２を設定する場合を説明する図である。プロトコル単位でのクラスタグループ２８１２も、前述したクラスタ管理テーブル２５１７を用意し、フォワーディング又はリダイレクションを行うことで実現することができる。
【００６１】
図９はクラスタグループ２８１２の管理に用いる、クラスタ管理テーブル２５１７の一例である。同図に示すように、クラスタ管理テーブル２５１７は、クラスタ名９１１、ノード９１２、役割９１３、及びノード９１４の各項目からなる一つ以上のレコードが含まれる。クラスタ名９１１には、構成されたクラスタごとに付与される識別子（以下、クラスタＩＤと称する。）が設定される。ノード９１２には、各クラスタの構成要素であるストレージ装置２４００の識別子（以下、装置ＩＤと称する。）が設定される。役割９１３には、各クラスタグループ２８１２によってサポートされるプロトコルを特定する識別子（以下、プロトコルＩＤと称する。）が設定される。ノード９１４には、各役割に割り当てられているストレージ装置２４００の識別子が設定される。
【００６２】
図９に示すクラスタ管理テーブル２５１７では、クラスタ名９１１が「クラスタ１」のノード９１４が「10.1.1.1-10.1.1.5」のストレージ装置２４００群によって、役割９１３が「ＮＡＳ−１」というＮＦＳサーバのクラスタグループ２８１２が構成されている。またクラスタ名９１１が「クラスタ１」のノード９１４が「10.1.1.6-10.1.1.10」のストレージ装置２４００群によって、役割９１３が「ｉＳＣＳＩ−１」というｉＳＣＳＩサーバのクラスタグループ２８１２が構成されている。またクラスタ名９１１が「クラスタ２」のノード９１４が「10.1.1.11-10.1.1.15」のストレージ装置２４００群によって、役割９１３が「ＦＣ−１」というＦＣ（Fibre Channel）サーバのクラスタグループ２８１２が構成されている。またクラスタ名９１１が「クラスタ２」のノード９１４が「10.1.1.15-10.1.1.20」のストレージ装置２４００群によって、役割９１３が「ＮＡＳ−２」というＮＦＳサーバのクラスタグループ２８１２が構成されている。
【００６３】
尚、プロトコル単位のクラスタグループ２８１２を設定する場合には、個々のストレージ装置２４００において使用されないプロトコルを実現するための資源（ハードウエア資源、ソフトウエア資源）を不活性（inactive）にすることが考えられる。図８では活性（active）している資源を実線で、不活性の資源を破線で示している。このように、不使用プロトコルの資源を不活性化することで、ストレージ装置２４００の処理負荷が低減され、ストレージ装置２４００を効率よく機能させることができる。
【００６４】
＜初期設定＞
図１０は、ユーザ又はオペレータが、管理装置１１００を操作してクラスタ２８１１及びクラスタグループ２８１２を初期設定する際に行われる処理（以下、クラスタ設定処理Ｓ１０００と称する。）を説明するフローチャートである。尚、以下の説明において、符号の前に付した「Ｓ」の文字はステップを意味する。
【００６５】
まず管理装置１１００の管理部１１１１が、ユーザ又はオペレータからクラスタ２８１１の設定情報、及びクラスタグループ２８１２の設定情報を受け付ける（Ｓ１０１１〜Ｓ１０１２）。このとき、管理部１１１１は、例えば図９に示したクラスタ管理テーブル２５１７の設定画面を表示して設定情報を受け付ける。
【００６６】
次に管理部１１１１は、受け付けた設定情報を管理ネットワーク５００１を介してストレージ装置２４００に送信する（Ｓ１０１３）。各ストレージ装置２４００のクラスタ処理部２５１６は、管理装置１１００から送られてきた設定情報を受信し（Ｓ１０２１）、受信した設定情報をクラスタ管理テーブル２５１７に反映する（Ｓ１０２２）。クラスタ管理テーブル２５１７に設定情報を反映した後、各ストレージ装置２４００のクラスタ処理部２５１６は、管理装置１１００に登録完了通知を送信する（Ｓ１０２３）。
【００６７】
管理部１１１１は、登録完了通知を受信すると（Ｓ１０３１）、各ストレージ装置２４００のクラスタ処理部２５１６に資源の設定指示（活性又は不活性の設定指示）を送信する（Ｓ１０３２）。各ストレージ装置２４００のクラスタ処理部２５１６は、資源設定指示を受信すると（Ｓ１０４１）、自身が担当するプロトコルに関する資源を活性に、自身が担当しないプロトコルに関する資源を不活性にする（Ｓ１０４２）。
これらの処理（Ｓ１０３１、Ｓ１０３２、Ｓ１０４１、Ｓ１０４２）は必須の処理ではなく、オプションの処理としてもよい。以下も同様である。
なお、ソフトウェア資源の活性化（activation）の操作とは、ソフトウェアのプロセスを起動することを意味する。また、ソフトウェア資源の非活性化（inactivation）の操作とは、ソフトウェアのプロセスを停止又は削除することを意味する。
クラスタ処理部は、ノードに割り当てられたインタフェースプロトコルに応じて、インタフェース処理プロセス（nfsdやiSCSI target software）に対し、起動・停止・削除の各操作を行う。
【００６８】
＜クラスタグループの設定を変更する場合＞
次に、図１１に示すように、ストレージシステム１に既にクラスタ２８１１及びクラスタグループ２８１２が設定されている場合に、クラスタグループ２８１２の設定を変更する場合について説明する。図１２は、ストレージシステム１に既にクラスタ２８１１及びクラスタグループ２８１２が設定されている場合に、クラスタグループ２８１２の設定を変更する場合に行われる処理（以下、設定変更処理Ｓ１２００と称する。）を説明するフローチャートである。
【００６９】
まず管理装置１１００の管理部１１１１は、ユーザ又はオペレータから、クラスタグループ２８１２の設定情報を受け付ける（Ｓ１２１１）。管理部１１１１は、例えば図９に示したクラスタ管理テーブル２５１７の設定画面を表示して、設定情報を受け付ける。
【００７０】
次に管理部１１１１は、受け付けた設定情報を、管理ネットワーク５００１を介して各ストレージ装置２４００に送信する（Ｓ１２１２）。各ストレージ装置２４００のクラスタ処理部２５１６は、管理装置１１００から送られてきた設定情報を受信し（Ｓ１２２１）、受信した設定情報をクラスタ管理テーブル２５１７に反映する（Ｓ１２２２）。クラスタ管理テーブル２５１７に設定情報を反映すると、各ストレージ装置２４００のクラスタ処理部２５１６は、管理装置１１００に登録完了通知を送信する（Ｓ１２２３）。
【００７１】
管理装置１１００の管理部１１１１は、登録完了通知を受信すると（Ｓ１２３１）、次に新たに設定された（設定変更後の）クラスタグループ２８１２の設定内容に合致していないＬＵ２４２０（設定変更後のクラスタグループ２８１２の用途に適合していないＬＵ）を特定する（Ｓ１２３２）。ここでそのようなＬＵ２４２０の特定は、各ストレージ装置２４００において管理されているＬＵ２４２０に関する情報を参照して行う。図１３は、そのような情報の一例として示すテーブル（以下、ボリューム管理テーブル１３００と称する。）である。同図に示すボリューム管理テーブル１３００には、各ＬＵ２４２０の（ＬＵＮ１３１１）の現在の用途１３１２（プロトコル）が管理されている。
【００７２】
次に管理部１１１１は、Ｓ１２３２で特定したＬＵ２４２０の移行先のストレージ装置２４００（以下、移行先ストレージ装置２４００と称する。）を決定する（Ｓ１２３３）。この決定は、管理部１１１１が、上記設定変更後において、Ｓ１２３２で特定したＬＵ２４２０の用途に適合するプロトコルをサポートするストレージ装置２４００のうちの一つを、クラスタ管理テーブル２５１７から選択することにより行われる。尚、このときに複数の移行先ストレージ装置２４００を選択できる場合には、管理部１１１１は、例えばラウンドロビン方式、負荷分散又は記憶領域の残容量の観点等から、最適なものを一つ選択する。
【００７３】
次に管理部１１１１は、特定したＬＵ２４２０のデータを、決定した移行先に移行（Migration）させる処理（以下、移行処理Ｓ１２３４と称する。）を開始する（Ｓ１２３４）。図１４は移行処理Ｓ１２３４の詳細を説明するフローチャートである。
【００７４】
まず管理装置１１００の管理部１１１１は、特定したＬＵ２４２０（以下、移行元ＬＵ２４２０と称する。）のうちの一つを選択する（Ｓ１４１１）。次に管理部１１１１は、選択した移行元ＬＵ２４２０が存在するストレージ装置２４００（以下、移行元ストレージ装置２４００と称する。）に、移行元ＬＵ２４２０のスナップショットを取得させる指示を送信する（Ｓ１４１２）。移行元ストレージ装置２４００は、スナップショット取得指示を受信すると（Ｓ１４１３）、移行元ＬＵ２４２０のスナップショットを取得する（Ｓ１４１４）。
【００７５】
次に管理部１１１１は、Ｓ１２３３で決定した移行先ストレージ装置２４００に、移行元ＬＵ２４２０の移行先のＬＵ（以下、移行先ＬＵ２４２０と称する。）の生成指示を送信する（Ｓ１４２１）。移行先ストレージ装置２４００は、上記生成指示を受信すると（Ｓ１４２２）、移行先ＬＵ２４２０を生成する（Ｓ１４２３）。
【００７６】
次に管理部１１１１は、移行元ＬＵ２４２０に記憶されているデータの移行先ＬＵ２４２０への複製指示を、移行元ストレージ装置２４００及び移行先ストレージ装置２４００に送信する（Ｓ１４３１）。移行元ストレージ装置２４００及び移行先ストレージ装置２４００は、上記複製指示を受信すると（Ｓ１４３２、Ｓ１４３３）、Ｓ１４１４で取得したスナップショットを、移行元ＬＵ２４２０から移行先ＬＵ２４２０に転送する（Ｓ１４３４、Ｓ１４３５）。複製完了後は、移行先ストレージ装置２４００から（移行元ストレージ装置２４００からでもよい）、スナップショットの複製完了報告が、管理装置１１００に送信される（Ｓ１４３６）。管理装置１１００は、送られてきた複製完了報告を受信する（Ｓ１４３７）。
【００７７】
尚、移行元ストレージ装置２４００が、クライアント装置１０００へのサービスを停止させずに上記複製を行う機能（以下、無停止マイグレーション機能と称する。）を備えている場合には、上記複製が行われている間の更新差分のデータが、キャッシュメモリ２５０３（キャッシュメモリ２１０３でもよい）や記憶ドライブ２２００に管理され、複製完了後は移行先ＬＵ２４２０に管理していた更新差分が反映される。
【００７８】
次に管理部１１１１は、移行元ＬＵ２４２０が接続しているポートを、移行先ＬＵ２４２０が接続しているポートに引き継ぐための処理を実行する（Ｓ１４６１）。この処理は、例えば移行先ＬＵ２４２０が接続していたｉＳＣＳＩポートのＩＰアドレスを、移行元ＬＵ２４２０が接続されるｉＳＣＳＩポートのＩＰアドレスに設定することにより行う。尚、この引き継ぎは、例えば移行前後でサービス名等の変更はせず、ＤＮＳ（Domain Name Server（System））によってＩＰアドレスを変換するようにするなど、クライアント装置１０００側の設定を変更させない方法で行うことが好ましい。
【００７９】
Ｓ１４６２では、管理部１１１１がＳ１４１１で未選択のＬＵ２４２０が存在するか否かを判定する。存在すれば（Ｓ１４６２：ＹＥＳ）Ｓ１４１１に戻る。存在しなければ（Ｓ１４６２：ＮＯ）、移行処理Ｓ１２３４が終了し、図１２のＳ１２３５に戻る。
【００８０】
尚、以上における移行処理Ｓ１２３４の説明は、ストレージ装置２４００が備える、ストレージ装置２４００間のデータ複製機能を利用することを前提としているが、移行元ＬＵ２４２０から移行先ＬＵ２４２０へのデータの複製は、データネットワーク５０００を構成しているネットワークスイッチが備える複製機能、クライアント装置１０００が有する複製機能等を利用して行うようにしてもよい。
【００８１】
再び図１２に戻って説明する。Ｓ１２３５では、管理部１１１１が、各ストレージ装置２４００のクラスタ処理部２５１６に、資源設定指示を送信する（Ｓ１２３５）。各ストレージ装置２４００のクラスタ処理部２５１６は、送られてきた資源設定指示を受信すると（Ｓ１２４１）、変更後における自身のクラスタグループ２８１２の設定に従い、資源の設定（活性又は不活性の設定）を行う（Ｓ１２４２）。
【００８２】
以上に説明したように、クラスタ管理テーブル２５１７の内容が変更された場合には、クラスタ処理部２５１６が、ＬＵ２４２０が対応しているプロトコルに合致する他のストレージ装置２４００のＬＵ２４２０に自動的にデータを移行する。このため、例えば管理装置１１００からクラスタ管理テーブル２５１７を変更することで、クラスタグループ２８１２の構成を容易かつ柔軟に変更することができる。
【００８３】
＜既存のクラスタグループに新たにノードを追加する場合＞
次に、図１５に示すように、既存のクラスタグループ２８１２に新たなノード（ストレージ装置２４００）を追加する場合について説明する。図１６は、この際に行われる処理（ノード追加処理Ｓ１６００）を説明するフローチャートである。以下、同図とともにノード追加処理Ｓ１６００について説明する。
【００８４】
まず管理装置１１００の管理部１１１１が、ユーザ又はオペレータから、クラスタグループ２８１２に、新たなノード（同図では第５ストレージ装置２４００）を追加する内容の設定情報を受け付ける（Ｓ１６１１）。このとき、管理部１１１１は、例えば図９に示したクラスタ管理テーブル２５１７の設定画面を表示して設定情報を受け付ける。
【００８５】
次に管理部１１１１は、受け付けた上記設定情報を、管理ネットワーク５００１を介して各ストレージ装置２４００に送信する（Ｓ１６１２）。各ストレージ装置２４００のクラスタ処理部２５１６は、管理装置１１００から送られてきた設定情報を受信し（Ｓ１６２１）、受信した設定情報をクラスタ管理テーブル２５１７に反映する（Ｓ１６２２）。クラスタ管理テーブル２５１７に設定情報を反映すると、各ストレージ装置２４００のクラスタ処理部２５１６は、管理装置１１００に登録完了通知を送信する（Ｓ１６２３）。
【００８６】
管理部１１１１は、登録完了通知を受信すると（Ｓ１６３１）、ノードを追加したことにより、データの移行（データの再配置）が必要になるか否かを判定する（Ｓ１６３２）。この判定は、例えば各ストレージ装置２４００の各ＬＵ２４２０の利用状況や各ＬＵ２４２０が接続しているポートの性能情報などの、ＬＵ２４２０の負荷情報に基づいて行われる。データ移行が必要と判定した場合（Ｓ１６３２：ＹＥＳ）、管理部１１１１は、データの移行処理を開始する（Ｓ１６３３）。この移行処理Ｓ１６３３は前述した図１４に示した移行処理Ｓ１２３４と同様である。
【００８７】
次に管理部１１１１は、各ストレージ装置２４００のクラスタ処理部２５１６に、資源設定指示を送信する（Ｓ１６３５）。各ストレージ装置２４００のクラスタ処理部２５１６は、送られてきた資源設定指示を受信すると（Ｓ１６４１）、変更後における自身のクラスタグループ２８１２の設定に従い資源の設定（活性又は不活性の設定）を行う（Ｓ１６４２）。
【００８８】
このように、既存のクラスタグループ２８１２に新たにストレージ装置２４００を追加するようにクラスタ管理テーブル２５１７の内容が変更された場合には、クラスタ処理部２５１６がＬＵ２４２０の負荷情報に応じてデータの再配置が必要か否かを判定し、再配置が必要な場合は自動的にＬＵ２４２０間でデータを移行する。このように、以上の方法によれば、既に構成されているクラスタグループ２８１２に容易に新たなストレージ装置２４００を追加することができる。また再配置に際して負荷分散を図ることでストレージシステム１の性能を最適化することができる。
【００８９】
＜クラスタグループからノードを削除する場合＞
次に、図１７に示すように、既存のクラスタグループ２８１２からノードを削除する場合について説明する。図１８は、この際に行われる処理（ノード削除処理Ｓ１８００）を説明するフローチャートである。以下、同図とともにノード削除処理Ｓ１８００について説明する。
【００９０】
まず管理装置１１００の管理部１１１１が、ユーザ又はオペレータから、クラスタグループ２８１２からノード（同図では第１ストレージ装置２４００）を削除する内容の設定情報を受け付ける（Ｓ１８１１）。このとき、管理部１１１１は、例えば図９に示したクラスタ管理テーブル２５１７の設定画面を表示して設定情報を受け付ける。
【００９１】
次に管理部１１１１は、受け付けた設定情報を、管理ネットワーク５００１を介して各ストレージ装置２４００に送信する（Ｓ１８１２）。各ストレージ装置２４００のクラスタ処理部２５１６は、管理装置１１００から送られてきた設定情報を受信し（Ｓ１８２１）、受信した設定情報をクラスタ管理テーブル２５１７に反映する（Ｓ１８２２）。クラスタ管理テーブル２５１７に設定情報を反映すると、各ストレージ装置２４００のクラスタ処理部２５１６は、管理装置１１００に登録完了通知を送信する（Ｓ１８２３）。
【００９２】
登録完了通知を受信すると（Ｓ１８３１）、管理部１１１１は、削除されるストレージ装置２４００のＬＵ２４２０（削除されるＬＵ２４２０）に格納されていたデータの移行先となるストレージ装置２４００（以下、移行先ストレージ装置２４００と称する。）を決定する（Ｓ１８３２）。この決定は、管理部１１１１が、上記設定変更後において、削除されるＬＵ２４２０の用途に適合するプロトコルをサポートしているストレージ装置２４００のうちの一つを、クラスタ管理テーブル２５１７から選択することにより行われる。尚、このときに複数の移行先ストレージ装置２４００を選択できる場合には、管理部１１１１は、例えばラウンドロビン方式、負荷分散又は記憶領域の残容量の観点等から、最適なものを一つ選択する。
【００９３】
次に管理部１１１１が、削除される第１ストレージ装置２４００のＬＵ２４２０に格納されていたデータの、Ｓ１８３２で決定した他のストレージ装置２４００のＬＵ２４２０への移行を開始する（Ｓ１８３３）。この処理は前述した図１４に示した移行処理Ｓ１２３４と同様である。
【００９４】
以上のように、プロトコルごとのクラスタグループ２８１２が既に構成されている状態で既に構成されているクラスタグループ２８１２からストレージ装置２４００を削除する内容にクラスタ管理テーブル２５１７が変更された場合には、クラスタ処理部２５１６が、当該ストレージ装置２４００が担当していたプロトコルを担当している他のストレージ装置２４００のＬＵ２４２０にデータを移行させる。これによれば、既に構成されているクラスタグループ２８１２から容易にストレージ装置２４００を削除することができる。
【００９５】
＜クラスタグループ間でノードを移動させる場合＞
次に図１９に示すように、既存のあるクラスタグループ２８１２に所属しているノード（ストレージ装置２４００）を、既存の他のクラスタグループ２８１２に移動させる場合について説明する。図２０は、この際に行われる処理（ノード移動処理Ｓ２０００）を説明するフローチャートである。以下、同図とともにノード移動処理Ｓ２０００について説明する。
【００９６】
まず管理装置１１００の管理部１１１１は、ユーザ又はオペレータから、クラスタグループ２８１２に、ノードを移動（図１９は、ＮＡＳクラスタのクラスタグループ２８１２に所属する第２ストレージ装置２４００を、クラスタグループ２８１２（ｉＳＣＳＩクラスタ）に移動する場合）する内容の設定情報を受け付ける（Ｓ２０１１）。このとき、管理部１１１１は、例えば図９に示したクラスタ管理テーブル２５１７の設定画面を表示して、設定情報を受け付ける。
【００９７】
次に管理部１１１１は、受け付けた設定情報を、管理ネットワーク５００１を介して各ストレージ装置２４００に送信する（Ｓ２０１２）。各ストレージ装置２４００のクラスタ処理部２５１６は、管理装置１１００から送られてきた設定情報を受信し（Ｓ２０２１）、受信した設定情報をクラスタ管理テーブル２５１７に反映する（Ｓ２０２２）。クラスタ管理テーブル２５１７に設定情報を反映すると、各ストレージ装置２４００のクラスタ処理部２５１６は、管理装置１１００に登録完了通知を送信する（Ｓ２０２３）。
【００９８】
管理部１１１１は、登録完了通知を受信すると（Ｓ２０３１）、データの移行（データの再配置）が必要か否かを判定する（Ｓ２０３２）。この判定は、例えば各ストレージ装置２４００の各ＬＵ２４２０の利用状況や各ＬＵ２４２０が接続しているポートの性能情報などの、ＬＵ２４２０の負荷情報に基づいて行われる。データ移行が必要と判定した場合（Ｓ２０３２：ＹＥＳ）、管理部１１１１は、データの移行処理を開始する（Ｓ２０３３）。この処理は図１４に示した移行処理Ｓ１２３４と同様である。
【００９９】
次に管理部１１１１は、各ストレージ装置２４００のクラスタ処理部２５１６に、資源設定指示を送信する（Ｓ２０３５）。各ストレージ装置２４００のクラスタ処理部２５１６は、資源設定指示を受信すると（Ｓ２０４１）、変更後における自身のクラスタグループ２８１２の設定に従い、資源の設定（活性又は不活性の設定）を行う（Ｓ２０４２）。
【０１００】
以上のように、プロトコルごとのクラスタグループ２８１２が既に構成されている状態で、あるクラスタグループ２８１２を構成しているストレージ装置２４００が、他のクラスタグループ２８１２に移行する内容にクラスタ管理テーブル２５１７の内容が変更された場合には、クラスタ処理部２５１６がＬＵ２４２０の負荷情報に応じてデータの再配置が必要か否かを判定し、再配置が必要な場合は自動的にＬＵ２４２０間でデータを移行する。このようにクラスタ管理テーブル２５１７の内容を変更することで、あるクラスタグループ２８１２を構成しているストレージ装置２４００を、他のクラスタ群に容易に移行させることができる。また再配置に際して負荷分散を図ることにより、ストレージシステム１の性能を最適化することができる。
【０１０１】
以上に説明したように、本実施形態のストレージシステム１によれば、クライアント装置１０００から送信されてくる少なくとも二つ以上のプロトコルに従ったデータ入出力要求に応答可能な通信サーバ２５１４（プロトコル処理部）を備えるストレージ装置２４００（ユニファイドストレージ）を用いてプロトコルごとのクラスタグループ２８１２（クラスタ群）を容易に構成することができる。そしてこれによりプロトコルの使用状況に応じた性能分離や、ストレージシステム１全体の性能の最適化を図ることができる。
【０１０２】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図１】
0005255127.tif 000002
【図２】
0005255127.tif 000003
【図３】
0005255127.tif 000004
【図４】
0005255127.tif 000005
【図５】
0005255127.tif 000006
【図６】
0005255127.tif 000007
【図７】
0005255127.tif 000008
【図８】
0005255127.tif 000009
【図９】
0005255127.tif 000010
【図１０】
0005255127.tif 000011
【図１１】
0005255127.tif 000012
【図１２】
0005255127.tif 000013
【図１３】
0005255127.tif 000014
【図１４】
0005255127.tif 000015
【図１５】
0005255127.tif 000016
【図１６】
0005255127.tif 000017
【図１７】
0005255127.tif 000018
【図１８】
0005255127.tif 000019
【図１９】
0005255127.tif 000020
【図２０】
0005255127.tif 000021