(57)【要約】      （修正有）【課題】障害の発生を確実に検知し、これを迅速にユーザやオペレータ等に通知して障害原因の究明や復旧などの作業を円滑に進められるようなストレージシステムを提供する。【解決手段】情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、Ｉ／Ｏプロセッサから送信されるＩ／Ｏ要求に応じて記憶デバイスに対するデータ入出力を実行するディスク制御部と、チャネル制御部および前記ディスク制御部と通信可能に接続されるコンピュータとを含んで構成されるストレージシステムに、チャネル制御部が、チャネル制御部における障害の発生を検知した場合にその旨を前記コンピュータに通知するようにする。【選択図】      図１３
2004234555.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
前記チャネル制御部および前記ディスク制御部と通信可能に接続されるコンピュータと、
を含んで構成されるストレージシステムの制御方法であって、
前記チャネル制御部が、前記チャネル制御部における障害の発生を検知した場合にその旨を前記コンピュータに通知すること、
を特徴とするストレージシステムの制御方法。
【請求項２】
請求項１に記載のストレージシステムの制御方法において、
前記チャネル制御部は、前記チャネル制御部で実行されるオペレーティングシステムがダンプ情報を出力したことにより前記チャネル制御部に障害が発生したことを検知すること、
を特徴とするストレージシステムの制御方法。
【請求項３】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
を含んで構成されるストレージシステムの制御方法であって、
前記チャネル制御部が、前記チャネル制御部の障害を検知した場合にその旨を他のチャネル制御部に通知すること、
を特徴とするストレージシステムの制御方法。
【請求項４】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
前記チャネル制御部および前記ディスク制御部と通信可能に接続されるコンピュータと、
を含んで構成されるストレージシステムの制御方法であって、
前記チャネル制御部が、前記チャネル制御部の障害を検知した場合にその旨を前記コンピュータに通知し、
前記コンピュータが、前記通知を受信した場合に、前記障害を検知した旨を前記障害を検知した前記チャネル制御部とは異なる他のチャネル制御部に通知すること、
を特徴とするストレージシステムの制御方法。
【請求項５】
請求項４に記載のストレージシステムの制御方法において、
前記コンピュータは特定の前記チャネル制御部にのみ前記障害を検知した旨を通知すること、
を特徴とするストレージシステムの制御方法。
【請求項６】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
前記チャネル制御部および前記ディスク制御部と通信可能に接続されるコンピュータと、
を含んで構成されるストレージシステムの制御方法であって、
前記ディスク制御部が、前記チャネル制御部から出力されたダンプ情報が前記記憶デバイスに書き込まれることを検知した場合に、前記チャネル制御部において障害が発生した旨を前記コンピュータに通知すること、
を特徴とするストレージシステムの制御方法。
【請求項７】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
を含んで構成されるストレージシステムの制御方法であって、
前記ディスク制御部が、前記チャネル制御部から出力されたダンプ情報が前記記憶デバイスに書き込まれることを検知した場合に、前記チャネル制御部において障害が発生した旨を前記チャネル制御部とは異なる他の前記チャネル制御部に通知すること、
を特徴とするストレージシステムの制御方法。
【請求項８】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
前記チャネル制御部および前記ディスク制御部と通信可能に接続されるコンピュータと、
を含んで構成されるストレージシステムの制御方法であって、
前記ディスク制御部が、前記チャネル制御部から出力されたダンプ情報が前記記憶デバイスに書き込まれることを検知した場合に、前記チャネル制御部において障害が発生した旨を前記コンピュータに通知し、
前記コンピュータが、前記通知を受信した場合に、前記障害を検知した旨を前記障害を検知した前記チャネル制御部とは異なる他のチャネル制御部に通知すること、
を特徴とするストレージシステムの制御方法。
【請求項９】
請求項８に記載のストレージシステムの制御方法において、前記コンピュータは特定の前記チャネル制御部にのみ前記障害を検知した旨を通知すること、
を特徴とするストレージシステムの制御方法。
【請求項１０】
請求項６乃至９のいずれかに記載のストレージシステムの制御方法において、
前記ダンプ情報は、前記記憶デバイスの記憶領域に確保された専用の記憶領域に書き込まれること、
を特徴とするストレージシステムの制御方法。
【請求項１１】
請求項１乃至９のいずれかに記載のストレージシステムの制御方法において、
前記チャネル制御部は、前記チャネル制御部において障害が発生した旨の通知を前記コンピュータもしくは他の前記チャネル制御部から受信した場合に、その旨を前記情報処理装置に対して通知すること、
を特徴とするストレージシステムの制御方法。
【請求項１２】
請求項１乃至９のいずれかに記載のストレージシステムの制御方法において、
前記チャネル制御部は、前記チャネル制御部において障害が発生した旨の通知を受信した場合に、障害が発生している前記チャネル制御部により書き込まれたダンプ情報の前記記憶デバイス上の所在を前記通知に基づいて特定し、
前記チャネル制御部は、前記特定された前記所在に記憶されている前記ダンプ情報を取得してそのダンプ情報を前記情報処理装置に通知すること、
を特徴とするストレージシステムの制御方法。
【請求項１３】
請求項１２に記載のストレージシステムの制御方法において、
前記チャネル制御部は、前記記憶デバイスに記憶されている前記ダンプ情報を、前記情報処理装置を操作する人に参照させる形式に加工した形で前記情報処理装置に通知すること、
を特徴とするストレージシステムの制御方法。
【請求項１４】
請求項１乃至９のいずれかに記載のストレージシステムの制御方法において、
前記障害は、前記チャネル制御部で実行されるオペレーティングシステムもしくはアプリケーションプログラムのいずれかの障害に起因して生じたものであること、
を特徴とするストレージシステムの制御方法。
【請求項１５】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
前記チャネル制御部および前記ディスク制御部と通信可能に接続されるコンピュータとを含み、
前記チャネル制御部が、前記チャネル制御部における障害の発生を検知した場合にその旨を前記コンピュータに通知する手段
を備えることを特徴とするストレージシステム。
【請求項１６】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
前記チャネル制御部および前記ディスク制御部と通信可能に接続されるコンピュータとを含み、
前記ディスク制御部が、前記チャネル制御部から出力されたダンプ情報が前記記憶デバイスに書き込まれることを検知した場合に、前記チャネル制御部において障害が発生した旨を前記コンピュータに通知する手段
を備えることを特徴とするストレージシステムの制御方法。
【請求項１７】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
前記チャネル制御部および前記ディスク制御部と通信可能に接続されるコンピュータとを含んで構成されるストレージシステムにおける前記チャネル制御部に、前記チャネル制御部における障害の発生を検知した場合にその旨を前記コンピュータに通知する機能を実現させるためのプログラム。
【請求項１８】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
前記チャネル制御部および前記ディスク制御部と通信可能に接続されるコンピュータとを含んで構成されるストレージシステムにおける前記ディスク制御部に、前記チャネル制御部から出力されたダンプ情報が前記記憶デバイスに書き込まれることを検知した場合に、前記チャネル制御部において障害が発生した旨を前記コンピュータに通知する機能を実現させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ストレージシステムの制御方法、ストレージシステム、及びプログラムに関する。
【０００２】
【従来の技術】
近年コンピュータシステムで取り扱われるデータ量が急激に増加している。このようなデータを管理するためのストレージシステムとして、最近ではミッドレンジクラスやエンタープライズクラスと呼ばれるような、巨大な記憶資源を提供するＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）方式で管理された大規模なストレージシステムが注目されている。また、かかる膨大なデータを効率よく利用し管理するために、ディスクアレイ装置等のストレージシステムと情報処理装置とを専用のネットワーク（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、以下ＳＡＮと記す）で接続し、ストレージシステムへの高速かつ大量なアクセスを実現する技術が開発されている。
【０００３】
一方、ストレージシステムと情報処理装置とをＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコル等を用いたネットワークで相互に接続し、情報処理装置からのファイルレベルでのアクセスを実現するＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）と呼ばれるストレージシステムが開発されている。
【０００４】
【特許文献１】
特開平９−５０３８６号公報
【０００５】
【発明が解決しようとする課題】
ところで、膨大な量のデータを取り扱うストレージシステムに何らかの障害が発生し、これによりサービスが停止した場合には、ユーザに多大な損失を生じさせることになる。このためストレージシステムに対しては高可用が求められる。そしてこのような高可用の要請を満たすためには、障害の発生を確実に検知しこれを迅速にユーザやオペレータ等に通知して障害原因の究明や復旧などの作業を円滑に進められるよう、ストレージシステムには効率的な障害管理の仕組みが求められる。
本発明は上記課題を鑑みてなされたものであり、ストレージシステムの制御方法、ストレージシステム、及びプログラムを提供することを主たる目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するための本発明の主たる発明は、
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
前記チャネル制御部および前記ディスク制御部と通信可能に接続されるコンピュータと、
を含んで構成されるストレージシステムの制御方法であって、
前記チャネル制御部が、前記チャネル制御部における障害の発生を検知した場合にその旨を前記コンピュータに通知することとする。
【０００７】
なお、前記情報処理装置とは、前記構成の前記ストレージシステムにＬＡＮやＳＡＮを介してアクセスする、例えば、パーソナルコンピュータやメインフレームコンピュータである。ファイルアクセス処理部の機能はＣＰＵ上で実行されるオペレーティングシステムおよびこのオペレーティングシステム上で動作する例えばＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）等のソフトウェアによって提供される。記憶デバイスは例えばハードディスク装置などのディスクドライブである。Ｉ／Ｏプロセッサは例えばファイルアクセス処理部のハードウェア要素である前記ＣＰＵとは独立したＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）をハードウェア要素とし、ファイルアクセス処理部とディスク制御部との間の通信を制御する。ディスク制御部は、記憶デバイスに対してデータの書き込みや読み出しを行う。
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【０００８】
【発明の実施の形態】
＝＝＝全体構成例＝＝＝
ストレージシステム６００は、記憶デバイス制御装置１００と記憶デバイス（記憶装置）３００とを備えている。記憶デバイス制御装置１００は、情報処理装置２００から受信したコマンドに従って記憶デバイス３００に対する制御を行う。例えば情報処理装置２００からデータの入出力要求を受信して、記憶デバイス３００に記憶されているデータの入出力のための処理を行う。データは、記憶デバイス３００が備えるディスクドライブにより提供される物理的な記憶領域上に論理的に設定される記憶領域である論理ボリューム（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）（以下、ＬＵと記す）に記憶されている。また記憶デバイス制御装置１００は、情報処理装置２００との間で、ストレージシステム６００を管理するための各種コマンドの授受も行う。
【０００９】
情報処理装置２００はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やメモリを備えたコンピュータである。情報処理装置２００が備えるＣＰＵにより各種プログラムが実行されることにより様々な機能が実現される。情報処理装置２００は、例えばパーソナルコンピュータやワークステーションであることもあるし、メインフレームコンピュータであることもある。
【００１０】
図１において、情報処理装置２００は、外部のネットワークである外部ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）４００を介して記憶デバイス制御装置１００と接続されている。外部ＬＡＮ４００は、インターネットとすることもできるし、専用のネットワークとすることもできる。外部ＬＡＮ４００を介して行われる情報処理装置２００と記憶デバイス制御装置１００との間の通信は、例えばＴＣＰ／ＩＰプロトコルに従って行われる。情報処理装置２００からは、ストレージシステム６００に対して、ファイル名指定によるデータアクセス要求（以下、ファイルアクセス要求とも記す）が送信される。
【００１１】
記憶デバイス制御装置１００は、チャネル制御部１１０を備える。以下、このチャネル制御部１１０のことをＣＨＮとも記す。記憶デバイス制御装置１００は、チャネル制御部１１０により外部ＬＡＮ４００を介して情報処理装置２００との間で通信を行う。チャネル制御部１１０は、情報処理装置２００からのファイルアクセス要求を個々に受け付ける。すなわち、チャネル制御部１１０には、個々に外部ＬＡＮ４００上のネットワークアドレス（例えば、ＩＰアドレス）が割り当てられていてそれぞれが個別にＮＡＳとして振る舞い、個々のＮＡＳがあたかも独立したＮＡＳが存在しているかのようにＮＡＳのサービスを情報処理装置２００に提供することができる。以下、チャネル制御部１１０をＣＨＮと記す。このように１台のストレージシステム６００に個別にＮＡＳとしてのサービスを提供するチャネル制御部１１０を備えるように構成したことで、従来、独立したコンピュータで個別に運用されていたＮＡＳサーバが一台のストレージシステム６００に集約されて運用される。そして、この構成によってストレージシステム６００の統括的な管理が可能となり、各種設定・制御や障害管理、バージョン管理といった保守業務の効率化が図られる。
【００１２】
なお、本実施の形態に係る記憶デバイス制御装置１００のチャネル制御部１１０の機能は、後述するように、一体的にユニット化された回路基板上に形成されたハードウェア及びこのハードウェアにより実行されるオペレーティングシステム（以下、ＯＳと記す）やこのＯＳ上で動作するアプリケーションプログラムなどのソフトウェアにより実現される。このように本実施例のストレージシステム６００では、従来ハードウェアの一部として実装されてきた機能が主としてソフトウェアによって実現されている。このため、本実施例のストレージシステム６００では柔軟性に富んだシステム運用が可能となり、多様で変化の激しいユーザニーズに対応したきめ細かなサービスを提供することが可能となる。
【００１３】
＝＝＝記憶デバイス＝＝＝
記憶デバイス３００は多数のディスクドライブ（物理ディスク）を備えており情報処理装置２００に対して記憶領域を提供する。データは、ディスクドライブにより提供される物理的な記憶領域上に論理的に設定される記憶領域であるＬＵに記憶されている。ディスクドライブとしては、例えばハードディスク装置やフレキシブルディスク装置、半導体記憶装置等様々なものを用いることができる。
【００１４】
なお、記憶デバイス３００は例えば複数のディスクドライブによりディスクアレイを構成するようにすることもできる。この場合、情報処理装置２００に対して提供される記憶領域は、ＲＡＩＤにより管理された複数のディスクドライブにより提供されるようにすることもできる。
【００１５】
記憶デバイス制御装置１００と記憶デバイス３００との間は図１のように直接に接続される形態とすることもできるし、ネットワークを介して接続するようにすることもできる。さらに記憶デバイス３００は記憶デバイス制御装置１００と一体として構成されることもできる。
【００１６】
記憶デバイス３００に設定されるＬＵには、情報処理装置２００からアクセス可能なユーザＬＵや、チャネル制御部１１０の制御のために使用されるシステムＬＵ等がある。システムＬＵにはＣＨＮ１１０で実行されるオペレーティングシステムも格納される。また各ＬＵにはチャネル制御部１１０が対応付けられている。これによりチャネル制御部１１０毎にアクセス可能なＬＵが割り当てられている。また上記対応付けは、複数のチャネル制御部１１０で一つのＬＵを共有するようにすることもできる。なお以下において、ユーザＬＵやシステムＬＵをユーザディスク、システムディスク等とも記す。また、複数のチャネル制御部１１０で共有されるＬＵを共有ＬＵあるいは共有ディスクと記す。
【００１７】
＝＝＝記憶デバイス制御装置＝＝＝
記憶デバイス制御装置１００は、チャネル制御部１１０、共有メモリ１２０、キャッシュメモリ１３０、ディスク制御部１４０、管理端末１６０、接続部１５０を備える。
【００１８】
チャネル制御部１１０は情報処理装置２００との間で通信を行うための通信インタフェースを備え、情報処理装置２００との間でデータ入出力コマンド等を授受する機能を備える。例えばＣＨＮ１１０は情報処理装置２００からのファイルアクセス要求を受け付ける。そしてファイルの記憶アドレスやデータ長等を求めて、ファイルアクセス要求に対応するＩ／Ｏ要求を出力することにより、記憶デバイス３００へのアクセスを行う。これによりストレージシステム６００はＮＡＳとしてのサービスを情報処理装置２００に提供することができる。なおＩ／Ｏ要求にはデータの先頭アドレス、データ長、読み出し又は書き込み等のアクセスの種別が含まれている。またデータの書き込みの場合にはＩ／Ｏ要求には書き込みデータが含まれているようにすることもできる。Ｉ／Ｏ要求の出力は、後述するＩ／Ｏプロセッサ１１９により行われる。
【００１９】
各チャネル制御部１１０は管理端末（装置制御端末）１６０と共にストレージシステム６００内部のネットワークである内部ＬＡＮ１５１で接続されている。これによりチャネル制御部１１０に実行させるマイクロプログラム等を管理端末１６０から送信しインストールすることが可能となっている。チャネル制御部１１０の構成については後述する。
【００２０】
接続部１５０はチャネル制御部１１０、共有メモリ１２０、キャッシュメモリ１３０、ディスク制御部１４０を相互に接続する。チャネル制御部１１０、共有メモリ１２０、キャッシュメモリ１３０、ディスク制御部１４０間でのデータやコマンドの授受は接続部１５０を介することにより行われる。接続部１５０は例えば高速スイッチングによりデータ伝送を行う超高速クロスバスイッチなどの高速バスである。チャネル制御部１１０同士が高速バスで接続されていることで、個々のコンピュータ上で動作するＮＡＳサーバがＬＡＮを通じて接続する従来の構成に比べてチャネル制御部１１０間の通信パフォーマンスが大幅に向上する。またこれにより高速なファイル共有機能や高速フェイルオーバなども可能となる。
【００２１】
共有メモリ１２０及びキャッシュメモリ１３０は、チャネル制御部１１０、ディスク制御部１４０により共有される記憶メモリである。共有メモリ１２０は主に制御情報やコマンド等を記憶するために利用されるのに対し、キャッシュメモリ１３０は主にデータを記憶するために利用される。
【００２２】
例えば、あるチャネル制御部１１０が情報処理装置２００から受信したデータ入出力コマンドが書き込みコマンドであった場合には、当該チャネル制御部１１０は書き込みコマンドを共有メモリ１２０に書き込むと共に、情報処理装置２００から受信した書き込みデータをキャッシュメモリ１３０に書き込む。一方、ディスク制御部１４０は共有メモリ１２０を監視しており、共有メモリ１２０に書き込みコマンドが書き込まれたことを検出すると、当該コマンドに従ってキャッシュメモリ１３０から書き込みデータを読み出して記憶デバイス３００に書き込む。
【００２３】
またあるチャネル制御部１１０が情報処理装置２００から受信したデータ入出力コマンドが読み出しコマンドであった場合には、当該チャネル制御部１１０は読み出しコマンドを共有メモリ１２０に書き込むと共に、読み出し対象となるデータがキャッシュメモリ１３０に存在するかどうかを調べる。ここでキャッシュメモリ１３０に存在すれば、そのデータを情報処理装置２００に送信する。一方、読みだし対象となるデータがキャッシュメモリ１３０に存在しない場合には、共有メモリ１２０を監視することにより読み出しコマンドが共有メモリ１２０に書き込まれたことを検出したディスク制御部１４０が、記憶デバイス３００から読みだし対象となるデータを読み出してこれをキャッシュメモリ１３０に書き込むと共に、その旨を共有メモリ１２０に書き込む。そして、チャネル制御部１１０は共有メモリ１２０の監視により読みだし対象となるデータがキャッシュメモリ１３０に書き込まれたことを検出すると、そのデータを情報処理装置２００に送信する。
【００２４】
なお、このようにチャネル制御部１１０からディスク制御部１４０に対するデータの書き込みや読み出しの指示を共有メモリ１２０を介在させて間接に行う構成の他、例えばチャネル制御部１１０からディスク制御部１４０に対してデータの書き込みや読み出しの指示を共有メモリ１２０を介さずに直接に行う構成とすることもできる。
【００２５】
ディスク制御部１４０は記憶デバイス３００の制御を行う。例えば上述のように、チャネル制御部１１０が情報処理装置２００から受信したデータ書き込みコマンドに従って記憶デバイス３００へデータの書き込みを行う。また、チャネル制御部１１０により送信された論理アドレス指定によるＬＵへのデータアクセス要求を、物理アドレス指定による物理ディスクへのデータアクセス要求に変換する。記憶デバイス３００における物理ディスクがＲＡＩＤにより管理されている場合には、ＲＡＩＤ構成（例えば、ＲＡＩＤ０，１，５）に従ったデータのアクセスを行う。またディスク制御部１４０は、記憶デバイス３００に記憶されたデータの複製管理の制御やバックアップ制御を行う。さらにディスク制御部１４０は、災害発生時のデータ消失防止（ディザスタリカバリ）などを目的としてプライマリサイトのストレージシステム６００のデータの複製をセカンダリサイトに設置された他のストレージシステムにも記憶する制御（レプリケーション機能、又はリモートコピー機能）なども行う。
【００２６】
各ディスク制御部１４０は管理端末１６０と共に内部ＬＡＮ１５１で接続されており、相互に通信を行うことが可能である。これにより、ディスク制御部１４０に実行させるマイクロプログラム等を管理端末１６０から送信しインストールすることが可能となっている。ディスク制御部１４０の構成については後述する。
【００２７】
＝＝＝管理端末＝＝＝
管理端末１６０（装置制御端末）はストレージシステム６００の保守・管理、ストレージシステム６００におけるハードウェアやソフトウェアの動作状態や実行状態や障害発生の監視等をするためのコンピュータである。管理端末１６０を操作することにより、例えば記憶デバイス３００内の物理ディスク構成の設定や、ＬＵの設定、チャネル制御部１１０において実行されるマイクロプログラムのインストール等を行うことができる。ここで、記憶デバイス３００内の物理ディスク構成の設定としては、例えば物理ディスクの増設や減設、ＲＡＩＤ構成の変更（例えばＲＡＩＤ１からＲＡＩＤ５への変更等）等を行うことができる。さらに管理端末１６０からは、ストレージシステム６００の動作状態の確認や故障部位の特定、チャネル制御部１１０で実行されるオペレーティングシステムのインストール等の作業を行うこともできる。また管理端末１６０はＬＡＮや電話回線等で外部保守センタと接続されており、管理端末１６０を利用してストレージシステム６００の障害監視を行ったり、障害が発生した場合に迅速に対応することも可能である。障害の発生は例えばチャネル制御部で動作するＯＳ７０１やアプリケーションプログラム、ドライバソフトウェアなどから通知される。この通知はＨＴＴＰプロトコルやＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）、電子メールなどにより行われる。これらの設定や制御は、管理端末１６０で動作するＷｅｂサーバが提供するＷｅｂページをユーザインタフェースとしてオペレータなどにより行われる。オペレータ等は、管理端末１６０を操作して障害監視する対象や内容の設定、障害通知先の設定などを行うこともできる。
【００２８】
管理端末１６０は記憶デバイス制御装置１００に内蔵されている形態とすることもできるし、外付けされている形態とすることもできる。また管理端末１６０は、記憶デバイス制御装置１００及び記憶デバイス３００の保守・管理を専用に行うコンピュータとすることもできるし、汎用のコンピュータに保守・管理機能を持たせたものとすることもできる。
【００２９】
管理端末１６０の構成を示すブロック図を図２に示す。
管理端末１６０は、ＣＰＵ１６１、メモリ１６２、ポート１６３、記録媒体読取装置１６４、入力装置１６５、出力装置１６６、記憶装置１６８を備える。ＣＰＵ１６１は管理端末１６０の全体の制御を司るもので、メモリ１６２に格納されたプログラム１６２ｃを実行することにより上記Ｗｅｂサーバとしての機能等を実現する。メモリ１６２には、物理ディスク管理テーブル１６２ａとＬＵ管理テーブル１６２ｂとプログラム１６２ｃとが記憶されている。物理ディスク管理テーブル１６２ａは、記憶デバイス３００に備えられる物理ディスク（ディスクドライブ）を管理するためのテーブルである。物理ディスク管理テーブル１６２ａを図３に示す。図３においては、記憶デバイス３００が備える多数の物理ディスクのうち、ディスク番号＃００１乃至＃００６までが示されている。それぞれの物理ディスクに対して、容量、ＲＡＩＤ構成、使用状況が示されている。
【００３０】
ＬＵ管理テーブル１６２ｂは、上記物理ディスク上に論理的に設定されるＬＵを管理するためのテーブルである。ＬＵ管理テーブル１６２ｂを図４に示す。図４においては、記憶デバイス３００上に設定される多数のＬＵのうち、ＬＵ番号＃１乃至＃３までが示されている。それぞれのＬＵに対して、物理ディスク番号、容量、ＲＡＩＤ構成が示されている。
【００３１】
記録媒体読取装置１６４は、記録媒体１６７に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ１６２や記憶装置１６８に格納される。従って、例えば記録媒体１６７に記録されたプログラム１６２ｃを、記録媒体読取装置１６４を用いて上記記録媒体１６７から読み取って、メモリ１６２や記憶装置１６８に格納するようにすることができる。なお、記録媒体１６７に記録されるプログラムとは、例えば、管理端末１６０を機能させるためのプログラムの他、チャネル制御部１１０のＯＳやアプリケーションプログラムのインストールやバージョンアップのためのプログラムである。記録媒体１６７としてはフレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、半導体メモリ等を用いることができる。なお、上記プログラム１６２ｃは管理端末１６０を動作させるためのプログラムとすることができる他、チャネル制御部１１０やディスク制御部１４０にＯＳ７０１やアプリケーションプログラムをインストールするためのプログラムや、バージョンアップするためのプログラムとすることもできる。記録媒体読取装置１６４は管理端末１６０に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置１６８は、例えばハードディスク装置やフレキシブルディスク装置、半導体記憶装置等である。入力装置１６５はオペレータ等による管理端末１６０へのデータ入力等のために用いられる。入力装置１６５としては例えばキーボードやマウス等が用いられる。出力装置１６６は情報を外部に出力するための装置である。出力装置１６６としては例えばディスプレイやプリンタ等が用いられる。ポート１６３は内部ＬＡＮ１５１に接続されており、これにより管理端末１６０はチャネル制御部１１０やディスク制御部１４０等と通信を行うことができる。またポート１６３は、外部ネットワークである外部ＬＡＮ４００に接続するようにすることもできるし、電話回線に接続するようにすることもできる。
【００３２】
＝＝＝外観図＝＝＝
次に、本実施の形態に係るストレージシステム６００の外観構成を図５に示す。また、記憶デバイス制御装置１００の外観構成を図６に示す。
図５に示すように、本実施の形態に係るストレージシステム６００は記憶デバイス制御装置１００及び記憶デバイス３００がそれぞれの筐体に納められた形態をしている。記憶デバイス制御装置１００の筐体の両側に記憶デバイス３００の筐体が配置されている。
【００３３】
記憶デバイス制御装置１００は、正面中央部に管理端末１６０が備えられている。管理端末１６０はカバーで覆われており、図６に示すようにカバーを開けることにより管理端末１６０を使用することができる。なお図６に示した管理端末１６０はいわゆるノート型パーソナルコンピュータの形態をしているが、どのような形態とすることも可能である。
【００３４】
管理端末１６０の下部には、チャネル制御部１１０のボードを装着するためのスロットが設けられている。チャネル制御部１１０のボードとは、チャネル制御部１１０の回路基板が形成されたユニットであり、スロットへの装着単位である。本実施の形態に係るストレージシステム６００においては、スロットは８つあり、図５及び図６には８つのスロットにチャネル制御部１１０のハードウェアを構成する回路が形成されたボードが装着された状態が示されている。各スロットにはチャネル制御部１１０のボードを装着するためのガイドレールが設けられている。ガイドレールに沿ってチャネル制御部１１０のボードをスロットに挿入することにより、チャネル制御部１１０のボードを記憶デバイス制御装置１００に装着することができる。また各スロットに装着されたチャネル制御部１１０のボードは、ガイドレールに沿って手前方向に引き抜くことにより取り外すことができる。また各スロットの奥手方向正面部には、各チャネル制御部１１０のボードを記憶デバイス制御装置１００と電気的に接続するためのコネクタが設けられている。
【００３５】
なお、スロットには以上に説明したＮＡＳとして機能するタイプのチャネル制御部１１０以外にも、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続する機能を備えるタイプや、ＦＩＣＯＮ（Ｆｉｂｒｅ  Ｃｏｎｎｅｃｔｉｏｎ）（登録商標）やＥＳＣＯＮ（Ｅｎｔｅｒｐｒｉｓｅ  Ｓｙｓｔｅｍ  Ｃｏｎｎｅｃｔｉｏｎ）  （登録商標）等のメインフレーム系のプロトコルに従って通信を行う機能を備えるタイプのチャネル制御部１１０が装着されることもある。またチャネル制御部１１０のボードを装着しないスロットを設けるようにすることもできる。
【００３６】
各スロットのチャネル制御部１１０は、同種の複数のチャネル制御部１１０でクラスタを構成する。例えば２枚のＣＨＮ１１０をペアとしてクラスタを構成することができる。クラスタを構成することにより、クラスタ内のあるチャネル制御部１１０に障害が発生した場合でも、障害が発生したチャネル制御部１１０がそれまで行っていた処理をクラスタ内の他のチャネル制御部１１０に引き継ぐようにすることができる（フェイルオーバ制御）。２枚のＣＨＮ１１０でクラスタを構成している様子を示す図を図１２に示すが、詳細は後述する。
【００３７】
なお、記憶デバイス制御装置１００は信頼性向上のため電源供給が２系統化されており、チャネル制御部１１０のボードが装着される上記８つのスロットは電源系統毎に４つずつに分けられている。そこでクラスタを構成する場合には、両方の電源系統のチャネル制御部１１０のボードを含むようにする。これにより、片方の電源系統に障害が発生し電力の供給が停止しても、同一クラスタを構成する他方の電源系統に属するチャネル制御部１１０のボードへの電源供給は継続されるため、当該チャネル制御部１１０に処理を引き継ぐ（フェイルオーバ）ことができる。
【００３８】
なお、上述したように、チャネル制御部１１０は上記各スロットに装着可能なボードとして提供されるが、上記一つのボードは一体形成された複数枚数の回路基板から構成されているようにすることもできる。
ディスク制御部１４０や共有メモリ１２０等の、記憶デバイス制御装置１００を構成する他の装置については図５及び図６には示されていないが、記憶デバイス制御装置１００の背面側等に装着されている。
また記憶デバイス制御装置１００には、チャネル制御部１１０のボード等から発生する熱を放出するためのファン１７０が設けられている。ファン１７０は記憶デバイス制御装置１００の上面部に設けられる他、チャネル制御部１１０用スロットの上部にも設けられている。
【００３９】
ところで、筐体に収容されて構成される記憶デバイス制御装置１００および記憶デバイス３００としては、例えばＳＡＮ対応として製品化されている従来構成の装置を利用することができる。特に上記のようにＣＨＮ１１０のボードのコネクタ形状を従来構成の筐体に設けられているスロットにそのまま装着できる形状とすることで従来構成の装置をより簡単に利用することができる。つまり本実施例のストレージシステム６００は、既存の製品を利用することで容易に構築することができる。
【００４０】
＝＝＝チャネル制御部＝＝＝
本実施の形態に係るストレージシステム６００は、上述の通りＣＨＮ１１０により情報処理装置２００からのファイルアクセス要求を受け付け、ＮＡＳとしてのサービスを情報処理装置２００に提供する。
ＣＨＮ１１０のハードウェア構成を図７に示す。この図に示すようにＣＨＮ１１０のハードウェアは一体的にユニット化されたボードで構成される。以下、このユニットのことをＮＡＳボードとも記す。ＮＡＳボードは一枚もしくは複数枚の回路基板を含んで構成される。より具体的には、ＮＡＳボードは、ネットワークインタフェース部１１１、ＣＰＵ１１２、メモリ１１３、入出力制御部１１４、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）プロセッサ１１９、ＮＶＲＡＭ（Ｎｏｎ  Ｖｏｌａｔｉｌｅ  ＲＡＭ）１１５、ボード接続用コネクタ１１６、通信コネクタ１１７を備え、これらが一体的にユニット化された回路基板上に形成されて構成されている。
【００４１】
ネットワークインタフェース部１１１は、情報処理装置２００との間で通信を行うための通信インタフェースを備えている。ＣＨＮ１１０の場合は、例えばＴＣＰ／ＩＰプロトコルに従って情報処理装置２００から送信されたファイルアクセス要求を受信する。通信コネクタ１１７は情報処理装置２００と通信を行うためのコネクタである。ＣＨＮ１１０の場合は外部ＬＡＮ４００に接続可能なコネクタであり、例えばイーサネット（登録商標）に対応している。
ＣＰＵ１１２は、ＣＨＮ１１０をＮＡＳボードとして機能させるための制御を司る。
【００４２】
メモリ１１３には様々なプログラムやデータが記憶される。例えば図８に示すメタデータ７３０やロックテーブル７２０、また図１０に示すＮＡＳマネージャ７０６等の各種プログラムが記憶される。
【００４３】
図９にメタデータ７３０の一例を示す。メタデータ７３０はファイルシステムプログラム７０３により実現されるファイルシステムが管理しているファイルに対応させて生成される情報である。メタデータ７３０には例えばファイルのデータが記憶されているＬＵ上のアドレスやデータサイズなど、ファイルの保管場所を特定するための情報が含まれる。メタデータ７３０にはファイルの容量、所有者、更新時刻等の情報が含まれることもある。また、メタデータ７３０はファイルだけでなくディレクトリに対応させて生成されることもある。メタデータ７３０は記憶デバイス３００上の各ＬＵにも記憶されている。
【００４４】
入出力制御部１１４は、ディスク制御部１４０やキャッシュメモリ１３０、共有メモリ１２０、管理端末１６０との間でデータやコマンドの授受を行う。入出力制御部１１４はＩ／Ｏプロセッサ１１９やＮＶＲＡＭ１１５を備えている。Ｉ／Ｏプロセッサ１１９は例えば１チップのマイコンで構成される。Ｉ／Ｏプロセッサ１１９は上記データやコマンドの授受を制御し、ＣＰＵ１１２とディスク制御部１４０との間の通信を中継する。ＮＶＲＡＭ１１５はＩ／Ｏプロセッサ１１９の制御を司るプログラムを格納する不揮発性メモリである。ＮＶＲＡＭ１１５に記憶されるプログラムの内容は、管理端末１６０や、後述するＮＡＳマネージャ７０６からの指示により書き込みや書き換えを行うことができる。
【００４５】
ディスク制御部１４０のハードウェア構成を示す図を図１０に示す。
ディスク制御部１４０は、一体的にユニット化されたボードとして形成されている。ディスク制御部１４０のボードは、インタフェース部１４１、メモリ１４３、ＣＰＵ１４２、ＮＶＲＡＭ１４４、ボード接続用コネクタ１４５を備え、これらが一体的にユニット化された回路基板上に形成されている。
インタフェース部１４１は、接続部１５０を介してチャネル制御部１１０等との間で通信を行うための通信インタフェースや、記憶デバイス３００との間で通信を行うための通信インタフェースを備えている。
【００４６】
ＣＰＵ１４２は、ディスク制御部１４０全体の制御を司ると共に、チャネル制御部１１０や記憶デバイス３００、管理端末１６０との間の通信を行う。メモリ１４３やＮＶＲＡＭ１４４に格納された各種プログラムを実行することにより本実施の形態に係るディスク制御部１４０の機能が実現される。ディスク制御部１４０により実現される機能としては、記憶デバイス３００の制御やＲＡＩＤ制御、記憶デバイス３００に記憶されたデータの複製管理やバックアップ制御、リモートコピー制御等である。
【００４７】
ＮＶＲＡＭ１４４はＣＰＵ１４２の制御を司るプログラムを格納する不揮発性メモリである。ＮＶＲＡＭ１４４に記憶されるプログラムの内容は、管理端末１６０や、ＮＡＳマネージャ７０６からの指示により書き込みや書き換えを行うことができる。
またディスク制御部１４０のボードはボード接続用コネクタ１４５を備えている。ボード接続用コネクタ１４５が記憶デバイス制御装置１００側のコネクタと嵌合することにより、ディスク制御部１４０のボードは記憶デバイス制御装置１００と電気的に接続される。
【００４８】
＝＝＝ソフトウェア構成＝＝＝
次に、本実施の形態に係るストレージシステム６００におけるソフトウェア構成図を図１１に示す。
オペレーティングシステム７０１は例えばＵＮＩＸ（登録商標）である。オペレーティングシステム７０１上では、ＲＡＩＤマネージャ７０８、ボリュームマネージャ７０７、ＳＶＰマネージャ７０９、ファイルシステムプログラム７０３、ネットワーク制御部７０２、障害管理プログラム７０５、ＮＡＳマネージャ７０６などのソフトウェアが動作する。
【００４９】
オペレーティングシステム７０１上で動作するＲＡＩＤマネージャ７０８は、ＲＡＩＤ制御部７４０に対するパラメータの設定やＲＡＩＤ制御部７４０を制御する機能を提供する。ＲＡＩＤマネージャ７０８はオペレーティングシステム７０１やオペレーティングシステム７０１上で動作する他のアプリケーション、もしくは管理端末１６０からパラメータや制御指示情報を受け付けて、受け付けたパラメータのＲＡＩＤ制御部７４０への設定や、ＲＡＩＤ制御部指示情報に対応する制御コマンドの送信を行う。
【００５０】
ここで設定されるパラメータとしては、例えば、ＲＡＩＤグループを構成する記憶デバイス（物理ディスク）を定義（ＲＡＩＤグループの構成情報、ストライプサイズの指定など）するためのパラメータ、ＲＡＩＤレベル（例えば０，１，５）を設定するためのパラメータなどがある。また、ＲＡＩＤマネージャ７０８がＲＡＩＤ制御部７４０に送信する制御コマンドとしてはＲＡＩＤの構成・削除・容量変更を指示するコマンド、各ＲＡＩＤグループの構成情報を要求するコマンドなどがある。
【００５１】
ボリュームマネージャ７０７は、ＲＡＩＤ制御部７４０によって提供されるＬＵをさらに仮想化した仮想化論理ボリュームをファイルシステムプログラム７０３に提供する。１つの仮想化論理ボリュームは１以上の論理ボリュームによって構成される。なお、ＯＳ７０１およびこの上で実行される各種のアプリケーションプログラムは、ＬＵに直接アクセスすることもできるし、仮想化論理ボリュームに対してアクセスすることもできる。
【００５２】
ファイルシステムプログラム７０３の主な機能は、ネットワーク制御部７０２が受信したファイルアクセス要求に指定されているファイル名とそのファイル名が格納されているＬＵもしくは仮想化論理ボリューム上のアドレスとの対応づけを管理することである。例えば、ファイルシステムプログラム７０３はファイルアクセス要求に指定されているファイル名に対応するＬＵ上のアドレスもしくは仮想化論理ボリューム上のアドレスを特定する。
【００５３】
ネットワーク制御部７０２は、ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）７１１とＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｆａｃｅ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）７１３の２つのファイルシステムプロトコルを含んで構成される。ＮＦＳ７１１は、ＮＦＳ７１１が動作するＵＮＩＸ（登録商標）系の情報処理装置２００からのファイルアクセス要求を受け付ける。一方、ＣＩＦＳ７１３はＣＩＦＳ７１３が動作するＷｉｎｄｏｗｓ（登録商標）系の情報処理装置２００からのファイルアクセス要求を受け付ける。
【００５４】
ＮＡＳマネージャ７０６は、ストレージシステム６００について、その動作状態の確認、設定や制御などを行うためのプログラムである。ＮＡＳマネージャ７０６は外部ＬＡＮ４００に接続している情報処理装置２００に対するＷｅｂサーバとしての機能も有し、情報処理装置２００からストレージシステム６００の設定や制御、ストレージシステム６００の動作状態の監視や障害発生の有無の監視を行うための設定Ｗｅｂページを情報処理装置２００に提供する。設定Ｗｅｂページはチャネル制御部１１０の個々において動作するＮＡＳマネージャ７０６により提供される。ＮＡＳマネージャ７０６は、情報処理装置２００からのＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）リクエストに応じて、設定Ｗｅｂページのデータを情報処理装置２００に送信する。情報処理装置２００に表示された設定Ｗｅｂページを利用してシステムアドミニストレータなどによりストレージシステム６００の設定や制御の指示が行われる。
【００５５】
ＮＡＳマネージャ７０６は、設定Ｗｅｂページに対する操作に起因して情報処理装置２００から送信される設定や制御に関するデータを受信してそのデータに対応する設定や制御を実行する。これにより、情報処理装置２００からストレージシステム６００の様々な設定や制御を行うことができる。またＮＡＳマネージャ７０６は設定Ｗｅｂページの設定内容をチャネル制御部１１０上で動作するＯＳやアプリケーションプログラム、ディスク制御部１４０等に通知する。設定Ｗｅｂページで設定された内容は共有ＬＵ３１０に管理されることもある。
【００５６】
ＮＡＳマネージャ７０６の設定Ｗｅｂページを利用して行うことができる内容としては、例えば、ＬＵの管理や設定（容量管理や容量拡張・縮小、ユーザ割り当て等）、上述の複製管理やリモートコピー（レプリケーション）等の機能に関する設定や制御（複製元のＬＵと複製先のＬＵの設定など）、冗長構成されたＣＨＮ１１０のクラスタの管理（フェイルオーバさせる相手の対応関係の設定、フェイルオーバ方法など）、ＯＳやＯＳ上で動作するアプリケーションプログラムのバージョン管理、などがある。
【００５７】
なお、ＮＡＳマネージャ７０６によるストレージシステム６００の動作状態の確認、設定や制御には、上述した設定Ｗｅｂを介する方法以外に、クライアント・サーバシステムとすることもできる。その場合、ＮＡＳマネージャ７０６はクライアント・サーバシステムのサーバ機能を有し、情報処理装置２００のクライアント機能の操作に起因して送信される設定や制御を、上述した設定Ｗｅｂページと同じようにして実施することで、ストレージシステム６００の動作状態の確認、設定や制御を行う。
【００５８】
障害管理プログラム７０５は、クラスタを構成するチャネル制御部１１０間でのフェイルオーバ制御を行うためのプログラムである。
２枚のＣＨＮ１１０でクラスタ１８０が構成されている様子を示す図を図１２に示す。図１２では、ＣＨＮ１（チャネル制御部１）１１０とＣＨＮ２（チャネル制御部２）１１０とでクラスタ１８０が構成されている場合を示す。
【００５９】
上述したように、フェイルオーバ処理はクラスタ１８０を構成するチャネル制御部１１０間で行われる。つまり、例えばＣＨＮ１（１１０）に何らかの障害が発生し処理を継続することができなくなった場合には、ＣＨＮ１（１１０）がそれまで行っていた処理はＣＨＮ２（１１０）に引き継がれる。フェイルオーバ処理は、ＣＨＮ１（１１０）とＣＨＮ２（１１０）により実行される障害管理プログラム７０５により実行される。
【００６０】
ＣＨＮ１（１１０）及びＣＨＮ２（１１０）は共に障害管理プログラム７０５を実行し、共有メモリ１２０に対して自己の処理が正常に行われていることを書き込むようにする。そして、相手側の上記書き込みの有無を相互に確認するようにする。相手側による書き込みが検出できない場合には、相手側に何らかの障害が発生したと判断し、フェイルオーバ処理を実行する。フェイルオーバ実行時の処理の引き継ぎは、共有ＬＵ３１０を介して行われる。
【００６１】
フェイルオーバはこのように自動的に行われることもあるが、オペレータが管理端末１６０を操作して指示を与えることにより手動で行われることもある。またユーザがＮＡＳマネージャ７０６が提供する設定Ｗｅｂページを利用することにより、情報処理装置２００側からの手動による指示により行われることもある。このようにフェイルオーバを手動で行う目的としては、耐用年数の経過やバージョンアップ、定期診断などのためにチャネル制御部１１０のハードウェア（例えばＮＡＳボード）を交換する必要が生じた場合などがある。
【００６２】
ＳＶＰマネージャ７０９は、管理端末１６０からの要求に応じて各種のサービスを管理端末１６０に提供する。例えば、ＬＵの設定内容やＲＡＩＤの設定内容等のストレージシステム６００に関する各種設定内容の管理端末１６０への提供や、管理端末１６０から入力されたストレージシステム６００に関する各種設定の反映等を行う。
【００６３】
＝＝＝障害管理の仕組み＝＝＝
次に本実施例のストレージシステム６００における障害管理の仕組みについて図１３とともに説明する。なお、この図においては説明に必要となるハードウェア及びソフトウェアのみを示している。上述のように各チャネル制御部１１０ではＯＳ７０１及びアプリケーションプログラムが実行されている。この図に示すように、各チャネル制御部１１０で実行されているＯＳ７０１やアプリケーションプログラムに障害が発生すると、チャネル制御部１１０もしくはディスク制御部１４０から管理端末１６０に対してその旨の通知がなされる（Ｓ１３１１）。管理端末１６０は、障害が発生した旨の通知を受信すると、その旨のメッセージをディスプレイに表示したり警告音を出すなどして管理端末１６０のオペレータに知らせる。これにより管理端末１６０のオペレータ等は各チャネル制御部１１０で実行されているＯＳ７０１やアプリケーションプログラムに障害が発生していることを知ることができる。
【００６４】
また、あるチャネル制御部１１０で実行されているＯＳ７０１やアプリケーションプログラムに障害が発生した場合にはその旨が内部ＬＡＮ１５１を介して他のチャネル制御部１１０で実行されるＮＡＳマネージャ７０６に対して通知される。この通知は、チャネル制御部１１０やディスク制御部１４０から他のチャネル制御部１１０で実行されているＮＡＳマネージャ７０６に対し、内部ＬＡＮ１５１を介して直接的に行われる場合（Ｓ１３１２）と、管理端末１６０を介して間接的に行われる場合とがある（Ｓ１３１１，Ｓ１３１３）。このうちチャネル制御部１１０から他のチャネル制御部１１０に対して直接的に通知が行われる仕組みでは、例えば管理端末１６０における障害など他の機器の障害に影響されることがなく、障害が発生している箇所や障害の要因（障害要因がチャネル制御部１１０にあるのかそうではないのか）を特定し易くなる。また、他の装置を中継しない分、通知は迅速に行われることになる。一方、管理端末１６０を介してチャネル制御部１１０で実行されるＮＡＳマネージャ７０６に対して間接的に通知する仕組みの場合には、その通知先となるチャネル制御部１１０を管理端末１６０から指定することが可能である。このため、例えば通知する必要のないチャネル制御部１１０に対して通知しないようにすることができる。また、他のチャネル制御部１１０への通知を管理端末１６０に任せてしまうことで、各チャネル制御部１１０の構成も簡素化されるととともに、チャネル制御部１１０側の処理負荷も軽減される。さらに何らかの障害によりチャネル制御部１１０から直接他のチャネル制御部１１０に対して障害が発生した旨の通知を行えないような場合でも、管理端末１６０から他のチャネル制御部１１０に対して通知が行われることで、他のチャネル制御部１１０に対して確実に障害の発生を通知することができる。
【００６５】
ところで、ＮＡＳマネージャ７０６は、外部ＬＡＮ４００に接続する情報処理装置２００に対してＷｅｂサーバとして機能している。ＮＡＳマネージャ７０６は、チャネル制御部１１０やディスク制御部１４０などから通知されるＯＳ７０１やアプリケーションプログラムの障害の状況を記載したＷｅｂページを生成し、このＷｅｂページを外部ＬＡＮ４００を通じてアクセスしてくる情報処理装置２００に対して提供する（Ｓ１３１４）。情報処理装置２００のユーザやオペレータ等は、このＷｅｂページを利用して各チャネル制御部１１０で実行されているＯＳ７０１やアプリケーションプログラムの障害の発生の有無を知ることができる。
【００６６】
また、本発明のストレージシステム６００においては、管理端末１６０やＮＡＳマネージャ７０６に対する各チャネル制御部１１０で実行されているＯＳ７０１やアプリケーションプログラムにおける障害発生の通知はチャネル制御部１１０やディスク制御部１４０が自発的（プッシュ式）に行なう。すなわち、チャネル制御部１１０やディスク制御部１４０はあるチャネル制御部１１０で実行されているＯＳ７０１やアプリケーションプログラムに何らかの障害が発生したことを検知すると、その旨の通知を管理端末１６０や他のチャネル制御部１１０に対して自発的に行う。
【００６７】
このように本実施例におけるストレージシステム６００においては、あるチャネル制御部１１０において実行されているＯＳ７０１やアプリケーションプログラムにおいて障害が発生した旨の通知がチャネル制御部１１０やディスク制御部１４０から自発的に管理端末１６０や他のチャネル制御部１１０等に対してなされる。このためチャネル制御部１１０で実行されるＯＳ７０１やアプリケーションプログラムに障害が発生した場合には、その旨の通知を管理端末１６０や他のチャネル制御部１１０、情報処理装置２００に対して迅速に行うことができる。従って、ユーザやオペレータ等は、各チャネル制御部１１０において障害が発生していることを早期に知ることができ、フェイルオーバ処理や復旧処理を円滑に進めることが可能となる。またこのように通知が自発的になされることで、ポーリング処理などによる他の装置を監視するための仕組みが不要となり、管理端末１６０やチャネル制御部１１０の構成が単純化され、またこれらの処理負荷も軽減されることになる。
【００６８】
以下、以上に説明した本実施例のストレージシステム６００におけるチャネル制御部１１０で実行されているＯＳ７０１やアプリケーションプログラムについての障害監視の仕組みについてより具体的に説明する。
【００６９】
＝＝＝ダンプ情報＝＝＝
まずチャネル制御部１１０で実行されるＯＳ７０１から出力される上述のダンプ情報について説明する。ダンプ情報とは、ＯＳ７０１で実行されるプロセスが異常終了した場合やＯＳ７０１自身の異常などに起因して、ＯＳ７０１から出力される情報である。図１４にダンプ情報のデータフォーマットの一例を示している。データフォーマット１４００において、「ＮＡＳ装置番号」の欄にはチャネル制御部１１０のＩＤが設定される。「ネットワークアドレス」の欄にはチャネル制御部１１０のネットワークアドレスが設定される。ネットワークアドレスとは、例えば内部ＬＡＮ１５１上の装置に付与されるＩＰアドレスである。「生成日時」の欄にはそのダンプ情報が生成された日時が設定される。「ダンプデータ」の欄にはダンプ情報の実体が設定される。実体とは、例えばプロセスの異常終了時におけるメモリイメージである。なお、ＯＳ７０１が例えばＵＮＩＸ（登録商標）である場合には、ダンプ情報はＯＳ７０１で実行されるプロセスが特定のシグナルを受信したことを契機としてＯＳ７０１から出力される。ダンプ情報は例えばプロセスやＯＳ７０１の異常終了の原因究明に利用されたり、プログラムのデバッグなどに利用される。
【００７０】
本実施例のストレージシステム６００においては、各チャネル制御部１１０で実行されているＯＳ７０１から出力されるダンプ情報は、ＬＵに記憶される。このＬＵはユーザデータが記憶されるＬＵとは異なるダンプ情報を記憶するために専用に設けられる。以下、ダンプ情報が格納されるＬＵのことを、ダンプ専用ＬＵと称する。このようにダンプ情報を専用のＬＵに記憶するようにしているのは、例えばダンプ情報が記憶されることによりユーザ用の記憶領域が浸食されてしまうのを防ぐためである。なお、ダンプ専用ＬＵを設けずにユーザデータと同じＬＵにダンプ情報を格納する構成とすることもできることはもちろんである。また、本実施例のストレージシステムにおいては、ダンプ専用ＬＵは各チャネル制御部１１０に対応させて設けられることもあるし、共用される場合すなわち１つのダンプ専用ＬＵに異なるチャネル制御部で実行されるＯＳ７０１から出力されるダンプ情報が記憶されるように設定されることもある。このようにダンプ専用ＬＵを共用されるように運用している場合には、共用されないように運用されている場合に比べ、ダンプ情報を格納するためのＬＵの数を減らすことができるという利点がある。
【００７１】
ダンプ専用ＬＵが複数のチャネル制御部１１０に共用されるように運用している場合には、さらにそのダンプ専用ＬＵの記憶領域を複数の記憶領域（以下、パーティションと記す）に区分して管理し、パーティションごとに１つのチャネル制御部１１０のダンプ情報が記憶されるようにすることもできる。この場合には例えば図１５に示す記憶領域管理テーブル１５００のように、各ＬＵにそのＬＵのパーティションに記憶されているダンプ情報に関する情報が管理される。なお、図１５において、「格納域」の欄にはＬＵ内に設定されているパーティションの識別子が設定される。「ダンプデータの有無」の欄にはダンプ情報が書き込まれているかどうかを示す情報が設定される。「ＮＡＳ装置のＩＤ」の欄にはそのパーティションが割り当てられているチャネル制御部１１０のＩＤが設定される。「ダンプ生成日時」の欄にはダンプ情報が生成された日時が設定される。このようにパーティションごとにそのダンプ情報を記憶することができるチャネル制御部１１０が設定されるようにすることで、例えばあるチャネル制御部１１０から出力されるダンプ情報が他のチャネル制御部１１０から出力されるダンプ情報により上書きされてしまうのを防ぐことができる。
【００７２】
＝＝＝チャネル制御部から通知＝＝＝
次に、あるチャネル制御部１１０において実行されるＯＳ７０１やアプリケーションプログラムに何らかの障害が発生した場合に、その旨の通知がそのチャネル制御部１１０から管理端末１６０もしくは他のチャネル制御部１１０に対して自発的になされる仕組みについて、図１６に示すフローチャートとともに説明する。あるチャネル制御部１１０で実行されているＯＳ７０１が、当該ＯＳ７０１自身や当該ＯＳ７０１上で実行されているアプリケーションプログラムに何らかの障害が発生したことを検知する（Ｓ１６１１）。ここでチャネル制御部１１０は、例えば、障害に関する割り込み処理の発生や、チャネル制御部１１０で実行されるＯＳ７０１がダンプ情報を出力したことを検知することにより障害が発生したことを認知する。次にチャネル制御部１１０は、自身に障害が発生した旨を記載したメッセージを内部ＬＡＮ１５１を通じて管理端末１６０もしくは他のチャネル制御部１１０に対して送信する（Ｓ１６１２）。
【００７３】
上記メッセージのデータフォーマットの一例を図１７に示している。このデータフォーマット１７００において「障害発生中のＮＡＳ識別子」の欄には、障害が発生しているチャネル制御部１１０のＩＤが設定される。「ネットワークアドレス」の欄には、上記チャネル制御部１１０に割り当てられている内部ＬＡＮ１５１上のネットワークアドレスが設定される。ネットワークアドレスは例えばＩＰアドレスである。「障害発生日時」の欄には、その障害が発生した日時が設定される。「ダンプ情報記憶先ＬＵ」の欄には、そのチャネル制御部１１０で実行されるＯＳ７０１のダンプ情報の出力先のＬＵの識別子であるＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）が設定される。「格納域」の欄には、そのチャネル制御部１１０の出力先として割り当てられているパーティションの識別子（ＩＤ）が設定される。「障害発生要因」の欄には障害の発生の原因がＯＳ７０１の障害に起因するものであるのか、アプリケーションプログラムに起因するものであるのかを示す情報が設定される。なお、他のチャネル制御部１１０へのメッセージの送信に際しては、他のチャネル制御部１１０が正常に動作しているかどうかを管理端末１６０やＳＮＭＰによる問い合わせにより事前に確認するようにすることもできる。
【００７４】
再び図１６に戻って説明を進める。例えばＯＳ７０１が当該ＯＳ７０１自身の障害を検知した場合、ＯＳ７０１はＬＵにダンプ情報を出力する（Ｓ１６１３）。一方、管理端末１６０もしくは他のチャネル制御部１１０のＮＡＳマネージャ７０６は、上記メッセージを受信すると（Ｓ１６１４）これをメモリ１１３に記憶する（Ｓ１６１５）。このようにしてメモリ１１３に記憶されたメッセージの内容は例えば管理端末１６０のディスプレイに表示される。また、上記メッセージの内容は、ＮＡＳマネージャ７０６が提供するＷｅｂページに掲載される。以上のようにしてチャネル制御部１１０から管理端末１６０もしくは他のチャネル制御部１１０に対してチャネル制御部１１０から障害の発生が自発的に通知されることになる。
【００７５】
管理端末１６０もしくはＮＡＳマネージャ７０６は、上記メッセージを送信してきたチャネル制御部１１０からのダンプ情報の出力に関する処理が完了したかどうかを内部ＬＡＮ１５１を通じて監視している（Ｓ１６１６）。そして、管理端末１６０もしくはＮＡＳマネージャ７０６は、ダンプ情報の出力が完了したことを認知すると、上記メッセージを送信してきたチャネル制御部１１０に対してリセット信号を送信する（Ｓ１６１７）。リセット信号を受信したチャネル制御部１１０は（Ｓ１６１８）自身を再起動する（Ｓ１６１９）ように制御する。このように管理端末１６０やＮＡＳマネージャ７０６により障害が発生しているチャネル制御部１１０のリセット処理が自動的になされることで、障害の発生から復旧までにかかる時間が短くて済み、ユーザに対する影響を極力低減することができる。
【００７６】
＝＝＝ディスク制御部から通知＝＝＝
あるチャネル制御部１１０において何らかの障害が発生した場合には、ディスク制御部１４０からもその旨の通知が管理端末１６０もしくは他のチャネル制御部１１０に対してなされる。この場合の仕組について図１８に示すフローチャートとともに具体的に説明する。
【００７７】
ディスク制御部１４０は、記憶デバイス３００に対して何らかのデータの書き込みが行われていることを検知すると（Ｓ１８１１）、その書き込み先となるＬＵがダンプ専用ＬＵであるかどうかを判断する（Ｓ１８１２）。この判断はデータの書き込み先に設定されているＬＵとディスク制御部１４０のＮＶＲＡＭ１４４に記憶されている、後述するダンプ専用ＬＵ管理テーブル２０００（図２０）とを対照することにより行われる。
【００７８】
上記データの書き込み先は、キャッシュメモリ１３０に例えば、図１９に示すデータフォーマットで記憶されている。このデータフォーマット１９００には、この書き込みデータをキャッシュメモリ１３０に設定したチャネル制御部１１０（つまりそのデータ書き込みの指示元であるチャネル制御部１１０）のＩＤ、データの書き込み先となるＬＵの識別子（ＬＵＮ）、書き込み対象となるデータや書き込み先となるＬＵ上の記憶位置を特定する情報（例えば先頭アドレス）などが設定されている。図２０に示すように、ダンプ専用ＬＵ管理テーブル２０００には、ＬＵＮごとにそれがダンプ専用ＬＵであるのかそうでないのかが示されている。ディスク制御部１４０は、上記データフォーマットに設定されているＬＵＮをダンプ専用ＬＵ管理テーブル２０００に対照することにより書き込み先がダンプ専用ＬＵであるかどうかを判断する。そしてディスク制御部１４０は、上記判断でダンプ専用ＬＵが書き込み先であると判断すると（Ｓ１８１２：ＹＥＳ）、ダンプ専用ＬＵにデータを書き込む（すなわち、ダンプ情報をダンプ専用ＬＵに書き込む）（Ｓ１８１３）とともに、チャネル制御部１１０に何らかの障害が発生した旨を通知するためのメッセージを管理端末１６０もしくは他のチャネル制御部１１０に対して送信する（Ｓ１８１４）。なお、他のチャネル制御部１１０に対するメッセージの送信に際しては、他のチャネル制御部１１０が正常に動作しているかどうかを管理端末１６０に問い合わせることにより事前に確認するようにすることができる。なお、ここで送信されるメッセージの内容は例えば図１７に示したものと同様である。
【００７９】
管理端末１６０もしくは他のチャネル制御部１１０は、メッセージを受信する（Ｓ１８１５）とその内容を自身のメモリに記憶する（Ｓ１８１６）。一方、（Ｓ１８１２：ＮＯ）において前記データ書き込み要求がダンプ専用ＬＵ以外のＬＵを対象とするものである場合には、ディスク制御部１４０はデータの書き込みは行う（Ｓ１８１７）が、上記メッセージの送信は行わない。以上に説明した仕組みにより、ディスク制御部１４０から管理端末１６０もしくは他のチャネル制御部１１０に対し、チャネル制御部１１０において障害が発生している旨の自発的な通知が行われることになる。
【００８０】
ところで、このようにＯＳ７０１からダンプ情報が出力された旨の通知がディスク制御部１４０の仕組みによりディスク制御部１４０から自発的に行われることで、チャネル制御部１１０と、管理端末１６０もしくは他のチャネル制御部１１０との間の通信に何らかの障害が発生して管理端末１６０に障害発生の通知を行えないような場合でも、ＯＳ７０１からダンプ情報が出力された旨の通知を管理端末１６０や他のチャネル制御部１１０に対して通知することができる。なお、このような場合としては、例えば、ＯＳ７０１の障害により、ＯＳ７０１がダンプ情報を書き込むことはできるが、管理端末１６０もしくは他のチャネル制御部１１０に対して障害が発生した旨の通知を行えない場合があげられる。
【００８１】
また、ディスク制御部１４０と管理端末１６０もしくは他のチャネル制御部１１０との間の通信に何らかの障害が発生している場合には、上述した仕組みによりチャネル制御部１１０から管理端末１６０もしくは他のチャネル制御部１１０に対して障害が発生している旨の通知が自発的になされる。このように本発明のストレージシステム６００においては、チャネル制御部１１０からの通知とディスク制御部１４０からの通知とが相補的に行われることで、あるチャネル制御部１１０において障害が発生している旨の通知が、管理端末１６０や他のチャネル制御部１１０に対して確実に行なわれることになる。さらにこのようにチャネル制御部１１０とディスク制御部１４０の双方から相補的に通知が行われる場合には、各経路からの通知が正常に行われているかどうかを確認することで、ストレージシステム６００の構成要素のどの部分に障害が発生しているのかを推測することも可能となる。
【００８２】
＝＝＝管理端末からの通知＝＝＝
ところで、以上に説明した障害管理の仕組みにおいては、あるチャネル制御部１１０において障害が発生した場合における他のチャネル制御部１１０へのその旨の通知はチャネル制御部１１０もしくはディスク制御部１４０から直接他のチャネル制御部１１０に対して行われている。しかしながらこの通知は、チャネル制御部１１０において障害が発生した旨の通知を受信した管理端末１６０を介して間接的に他のチャネル制御部１１０に対して行うようにすることができる。図２１に示すフローチャートとともにこの仕組みについて説明する。
【００８３】
管理端末１６０は、チャネル制御部１１０もしくはディスク制御部１４０から送信されてくる（Ｓ２１１１）障害が発生した旨のメッセージを受信すると（Ｓ２１１２）、そのメッセージの内容を記憶する（Ｓ２１１３）。次に管理端末１６０は、そのメッセージに送信元として設定されているチャネル制御部１１０とは異なる他のチャネル制御部１１０（すなわち他のチャネル制御部１１０）に対し、そのメッセージの送信元であるチャネル制御部１１０において障害が発生している旨を設定したメッセージを送信する（Ｓ２１１４）。ここで送信先となるチャネル制御部１１０は、管理端末１６０が記憶している、図２２に一例を示す通知先テーブル２２００に登録されているチャネル制御部１１０が対象となる。図２２では「通知先」の欄には通知先となるチャネル制御部のネットワークアドレス（ＩＰアドレス）が、また「装置種類」の欄に通知先となる装置の種類が設定されている。通知先テーブル２２００の内容は、例えば管理端末１６０を操作するオペレータ等により設定される。
【００８４】
他のチャネル制御部１１０は、このようにして上記メッセージが送られてくるとこれを受信する（Ｓ２１１５）。そしてこのメッセージの内容は、例えばＮＡＳマネージャ７０６に利用される。なお、受信したメッセージの内容はチャネル制御部１１０で実行されているＮＡＳマネージャ７０６に通知される。
【００８５】
このように他のチャネル制御部１１０への通知が管理端末１６０を介して間接的になされることで、例えば、通知先となるチャネル制御部１１０を管理端末１６０から特定することが可能となる。すなわち障害が発生している旨の通知をする必要のないチャネル制御部１１０には通知を行わないようにすることができる。また、同じ通知が複数のチャネル制御部１１０に重複して行われるのを防ぐことができる。また、他のチャネル制御部１１０への通知が管理端末１６０を介して間接的になされることで、各チャネル制御部１１０の構成が簡素化されチャネル制御部１１０側の処理負荷が軽減される。さらに、何らかの障害によりチャネル制御部１１０から他のチャネル制御部１１０に障害が発生した旨の通知を直接行えないような場合でも、管理端末１６０から他のチャネル制御部１１０に通知を行うことが可能となる。
【００８６】
＝＝＝管理端末の機能＝＝＝
管理端末１６０は、各チャネル制御部１１０で実行されるＯＳ７０１やアプリケーションプログラムの実行状態を監視するためのユーザインタフェースを備えている。管理端末１６０は、チャネル制御部１１０やディスク制御部１４０から送信されてくる障害が発生した旨の通知を受信して、その通知の内容をオペレータ等に知らせる画面（以下、障害通知画面と記す）をディスプレイに表示する。
【００８７】
図２３に障害通知画面の一例を示している。この図に示す障害通知画面２３００において、「チャネル制御部ＩＤ」の欄には各チャネル制御部１１０に固有に割り当てられている識別子が表示される。「状態」の欄には各チャネル制御部１１０の動作状態が表示され、正常に動作している場合には『正常』が、障害（異常）が発生している場合には『障害』が表示される。「通知元」の欄には、「状態」の欄に『障害』が表示されているチャネル制御部１１０についてその障害通知がどこから通知されたのかが示されており、その通知を行った装置の内部ＬＡＮ１５１上のネットワークアドレス（例えばＩＰアドレス）が表示される。オペレータ等は、障害通知画面２３００を参照することにより各チャネル制御部１１０における障害発生の有無を知ることができる。またオペレータ等は「通知元」の欄を参照することにより障害の原因を推測できる。例えば「通知元」の欄にチャネル制御部１１０に割り当てられているネットワークアドレスが表示されている場合には、そのチャネル制御部１１０自身が障害の発生を通知しているので、少なくとも通知がなされた時点ではそのチャネル制御部１１０通知機能は正常に動作していたものと推測することができる。また「通知元」の欄にディスク制御部１４０に割り当てられているネットワークアドレスが表示されている場合には、チャネル制御部１１０の通知機能に何らかの障害が発生しているものと推測することができる。
【００８８】
＝＝＝障害の統合的な管理＝＝＝
あるチャネル制御部１１０で実行されるＯＳ７０１やアプリケーションプログラムに何らかの障害が発生した場合には、その旨がその障害を検知したＯＳ７０１やアプリケーションプログラムからＮＡＳマネージャ７０３に通知される。またチャネル制御部１１０は障害が発生した旨を他のチャネル制御部１１０で実行されているＮＡＳマネージャ７０６に通知する。また障害管理プログラム７０５は、クラスタを構成している他のチャネル制御部１１０における障害の発生を検知すると、その旨をＮＡＳマネージャ７０６に対して通知する。このように各チャネル制御部１１０で実行されているＮＡＳマネージャ７０６には、ストレージシステム６００の全体における障害に関する情報が集約され、これによりストレージシステム６００における障害の統合的な管理が可能となる。
【００８９】
ＮＡＳマネージャ７０６は、障害発生の通知を受信すると、その旨やその通知に基づいて生成したチャネル制御部１１０の障害に関する情報を、電子メール、ＳＮＭＰ、ＴＣＰ／ＩＰ等により情報処理装置２００や管理端末１６０に対して通知する。図２４は電子メール等により通知されるデータの内容の一例である。この図において、「障害発生中のＮＡＳ識別子」の欄には障害が発生しているチャネル制御部１１０のＩＤが設定される。「ネットワークアドレス」の欄には障害が発生しているチャネル制御部１１０のネットワークアドレス（例えばＩＰアドレス）が設定される。「障害発生日時」の欄にはチャネル制御部１１０において障害が発生した日時が設定される。「ダンプ情報記憶先ＬＵ」の欄には障害が発生したチャネル制御部１１０から出力されたダンプ情報が格納されているＬＵの識別子であるＬＵＮが設定される。「格納域」の欄にはダンプ情報が格納されるパーティションのＩＤが設定される。このように障害に関する情報が電子メールにより情報処理装置２００に通知されるため、情報処理装置２００のユーザやオペレータ等は障害が発生しているチャネル制御部１１０を容易に特定することが可能となる。また障害が発生した場合に原因究明や障害復旧のための処理を円滑に行うことができる。
【００９０】
またＮＡＳマネージャ７０６は、他のチャネル制御部１１０や管理端末１６０から通知されるメッセージに基づいてストレージシステム６００の各チャネル制御部１１０についての障害の状況を記載したＷｅｂページを生成する仕組みを備えている。図２５はそのようなＷｅｂページの一例である。このＷｅｂページ２５００において、「障害ＮＡＳ装置名称」の欄には障害が発生しているチャネル制御部１１０の名称が設定される。「障害発生日時」の欄には障害が発生した日時が設定される。「障害内容」にはその障害がＯＳ７０１によるものであるのか、アプリケーションによるものであるのかといった障害の状況を把握するために必要な情報が設定される。情報処理装置２００からこのＷｅｂページにアクセスすることで、情報処理装置２００のユーザやオペレータ等はストレージシステム６００のチャネル制御部の障害の状況を知ることができる。
【００９１】
またＮＡＳマネージャ７０６は、障害の発生の通知があると、例えば障害管理プログラム７０５と連携してチャネル制御部１１０間でのフェイルオーバや電子メール等による通知等の処理を実行する。この仕組みを図２６に示すフローチャートとともに説明する。
【００９２】
障害管理プログラム７０５は、ＯＳ７０１やアプリケーションプログラムの障害発生の有無を設定されたタイミングで監視している（Ｓ２６１１）。障害管理プログラム７０５は障害の発生を検知すると（Ｓ２６１２：ＹＥＳ）、障害の発生をＮＡＳマネージャ７０６に通知する（Ｓ２６１３）。一方、ＯＳ７０１やアプリケーションプログラムも、障害の発生を検知すると（Ｓ２６１４）、その旨をＮＡＳマネージャ７０６に通知する（Ｓ２６１５）。また、管理端末１６０も上述した仕組みによりあるチャネル制御部１１０において動作するＯＳ７０１に障害が発生した旨を検知すると（Ｓ２６１６）、その旨をＮＡＳマネージャ７０６に通知する（Ｓ２６１７）。そして、ＮＡＳマネージャ７０６は、障害管理プログラム７０５、ＯＳ７０１やアプリケーションプログラム、管理端末１６０、のそれぞれから送られてくる障害発生の通知を受信すると（Ｓ２６１８）、フェイルオーバ、電子メール等による情報処理装置２００への通知、障害に関する情報を記載したログ情報のＬＵへの出力などを行う。このようにＮＡＳマネージャ７０６を中心として進められる統合的な障害管理の仕組みにより、障害管理が一元化され、システムの運用・管理が容易となる。
【００９３】
＝＝＝障害発生箇所の特定方法＝＝＝
ところで、電子メール等により情報処理装置２００に対して何らかの通知を行うように、管理端末１６０から各チャネル制御部１１０で実行されるＮＡＳマネージャ７０６に対して指示した場合、その通知機能に障害のあるチャネル制御部１１０からはその通知が行われず、これにより障害が発生しているチャネル制御部１１０を特定することができる。図２７とともにこの仕組みについて具体的に説明する。
【００９４】
チャネル制御部１１０において障害が発生すると（Ｓ２７１１）その旨の通知が管理端末１６０になされる（Ｓ２７１２）。管理端末１６０はこの通知を受信すると（Ｓ２７１３）、そのチャネル制御部１１０を含む全てのチャネル制御部１１０に対してその旨の通知を電子メール等で情報処理装置２００に通知するように指示する（Ｓ２７１４）。この指示を受信した（Ｓ２７１５）各チャネル制御部１１０は、電子メール等により上記障害の発生についての通知を行う（Ｓ２７１６）。そして、情報処理装置２００はその電子メール等による通知を受信する（Ｓ２７１７）。ここで電子メール等の通知が行えないチャネル制御部１１０からは電子メール等による通知が情報処理装置２００に対してなされず、これにより情報処理装置２００のオペレータ等は通知がこないチャネル制御部１１０に障害が発生しているものと推定することができる（Ｓ２７１８）。
【００９５】
＝＝＝ダンプ情報通知機能＝＝＝
各チャネル制御部１１０で実行されるＮＡＳマネージャ７０６は、ダンプ情報の内容を電子メールに記載して情報処理装置２００に送信する機能を備えている。ここではＮＡＳマネージャ７０６からダンプ情報の内容が付帯された電子メールが情報処理装置２００に送信される場合を例として図２８に示すフローチャートとともにその仕組みについて説明する。
【００９６】
あるチャネル制御部１１０に何らかの障害が発生すると、そのチャネル制御部１１０のＯＳ７０１がダンプ専用ＬＵにダンプ情報を出力する。また障害が発生した旨が記載されたメッセージがそのチャネル制御部１１０またはディスク制御部１４０、もしくは管理端末１６０から他のチャネル制御部１１０に送信される（Ｓ２８１１）。ここで上記メッセージのデータフォーマットは、例えば図１７に示したものと同じである。他のチャネル制御部１１０で実行されるＮＡＳマネージャ７０６は、上記メッセージを受信すると（Ｓ２８１２）上記ダンプ情報が記憶されているＬＵにアクセス可能となるようにストレージシステム６００のアクセス制限の設定を変更した後（Ｓ２８１３）、上記メッセージから特定されるＬＵから内部ＬＡＮ１５１を通じてダンプ情報を読み出す（Ｓ２８１４）。なお、ＬＵに記憶領域が区分されている場合には、上記メッセージに設定されている「格納域」の欄の内容を参照することにより特定される。
【００９７】
次に他のチャネル制御部１１０で実行されているＮＡＳマネージャ７０６は、ＬＵから読み出したダンプ情報からキャッシュ情報などのユーザ等に参照させる必要のない情報の除去やデータ圧縮などの電子メールに付帯させるための参照用のダンプ情報を生成する（Ｓ２８１５）。また、ダンプ情報はそのままではファイルシステムが利用することができない形式でＬＵに記憶されていることがあるが、その場合にはファイルシステムから参照可能な形式（例えばテキストデータ形式）にダンプ情報を変換する処理も行われる。次に他のチャネル制御部１１０で実行されるＮＡＳマネージャ７０６は、生成された参照用のダンプ情報を付帯させた電子メールを生成し、生成した電子メールを情報処理装置２００に送信する（Ｓ２８１６）。情報処理装置２００はその電子メールを受信する（Ｓ２８１７）。なお、他のチャネル制御部１１０で実行される上記ＮＡＳマネージャ７０３は、電子メールを送信した後、必要な場合には上記アクセス制限の設定を元に戻す。
【００９８】
このように障害が発生するとそのダンプ情報が電子メールにより情報処理装置２００のユーザやオペレータ等に迅速に通知される。従って、ユーザやオペレータ等は障害原因の究明や障害復旧のための対策等の作業を円滑に進めることができる。また、ユーザやオペレータ等は、チャネル制御部１１０において発生した障害の原因究明や障害復旧を行うためにダンプ情報の所在を特定する作業や特有の形式でＬＵに記憶されているダンプ情報を参照可能な形式に変換するといったダンプ情報の収集のための面倒な作業から開放され、障害原因の究明や障害復旧のための対策等の作業を迅速に進めることができる。
【００９９】
なお、以上ではＮＡＳマネージャ７０６が主体となって情報処理装置２００にダンプ情報を提供する構成について説明したが、管理端末１６０と情報処理装置２００とを通信可能に接続することで管理端末１６０が主体となって情報処理装置２００に通知する構成とすることもできる。またチャネル制御部１１０において障害が発生した旨の通知を受信した管理端末１６０が他のチャネル制御部１１０で実行されるＮＡＳマネージャ７０６を制御してダンプ情報を記載した電子メールを送信するようにしてもよい。なお、この場合にはＮＡＳマネージャ７０６が参照用のダンプ情報を生成する構成としてもよいし、管理端末１６０が参照用のダンプ情報を生成してこれをＮＡＳマネージャ７０６に提供する構成としてもよい。また、上記の説明はＮＡＳマネージャ７０６がダンプ情報を電子メールに添付する構成としているが、電子メール以外にもＳＮＭＰやＴＣＰ／ＩＰ等の通信によりダンプ情報を情報処理装置２００に提供する構成とすることもできる。
【０１００】
以上本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【０１０１】
【発明の効果】
ストレージシステムの制御方法、ストレージシステム、及びプログラムを提供することができる。
【図面の簡単な説明】
【図１】本実施の形態に係るストレージシステムの全体構成を示すブロック図である。
【図２】本実施の形態に係る管理端末の構成を示すブロック図である。
【図３】本実施の形態に係る物理ディスク管理テーブルを示す図である。
【図４】本実施の形態に係るＬＵ管理テーブルを示す図である。
【図５】本実施の形態に係るストレージシステムの外観構成を示す図である。
【図６】本実施の形態に係る記憶デバイス制御装置の外観構成を示す図である。
【図７】本実施の形態に係るチャネル制御部のハードウェア構成を示す図である。
【図８】本実施の形態に係るメモリに記憶されるデータの内容を説明するための図である。
【図９】本実施の形態に係るメタデータの一例を示す図である。
【図１０】本実施の形態に係るディスク制御部のハードウェア構成を示す図である。
【図１１】本実施の形態に係るストレージシステムのソフトウエア構成を示す図である。
【図１２】本実施の形態に係る排他制御及びフェイルオーバ制御を説明するためのブロック図である。
【図１３】本実施の形態に係る、障害管理の仕組みを説明する図である。
【図１４】本実施の形態に係る、ダンプ情報のデータフォーマットの一例を示す図である。
【図１５】本実施の形態に係る、記憶領域管理テーブルの一例を示す図である。
【図１６】本実施の形態に係る、チャネル制御部において障害が発生した旨の通知が管理端末もしくは他のチャネル制御部に対して自発的になされる仕組みを説明するフローチャートである。
【図１７】本実施の形態に係る、障害が発生した旨を記載したメッセージのデータフォーマットの一例を示す図である。
【図１８】本実施の形態に係る、チャネル制御部において障害が発生した旨の通知がディスク制御部から管理端末もしくは他のチャネル制御部に対して自発的になされる仕組みを説明するフローチャートである。
【図１９】本実施の形態に係る、キャッシュメモリに記憶されているデータの書き込み先を示すデータのフォーマットを示す図である。
【図２０】本実施の形態に係る、ダンプ専用ＬＵ管理テーブルの一例を示す図である。
【図２１】本実施の形態に係る、チャネル制御部において障害が発生した旨の通知を管理端末から間接的に他のチャネル制御部に対して行う仕組みを説明するフローチャートである。
【図２２】本実施の形態に係る、通知先テーブルの一例を示す図である。
【図２３】本実施の形態に係る、障害通知画面の一例を示す図である。
【図２４】本実施の形態に係る、ＮＡＳマネージャから情報処理装置や管理端末に対して電子メール等により通知されるデータの内容の一例を示す図である。
【図２５】本実施の形態に係る、ＮＡＳマネージャが生成するＷｅｂページの一例を示す図である。
【図２６】本実施の形態に係る、ＮＡＳマネージャに障害の発生の通知があった場合にフェイルオーバや電子メール等による通知などの処理が実行される仕組みを説明するフローチャートである。
【図２７】本実施の形態に係る、障害の発生の通知を受信したＮＡＳマネージャが必ずその旨を電子メール等により情報処理装置に通知するようにすることにより障害が発生しているチャネル制御部を推測する仕組みを説明するフローチャートである。
【図２８】本実施の形態に係る、ダンプ情報の内容を電子メールに記載して情報処理装置に送信する仕組みを説明するフローチャートである。
【符号の説明】
１００    記憶デバイス制御装置
１１０    チャネル制御部（ＣＨＮ）
１１１    ネットワークインタフェース部
１１２    ＣＰＵ
１１３    メモリ
１１４    入出力制御部
１１５    ＮＶＲＡＭ
１１６    ボード接続用コネクタ
１１７    通信コネクタ
１１８    回路基板
１１９    Ｉ／Ｏプロセッサ
１２０    共有メモリ
１３０    キャッシュメモリ
１４０    ディスク制御部
１５０    接続部
１５１    内部ＬＡＮ
１６０    管理端末
２００    情報処理装置
３００    記憶デバイス
４００    ＬＡＮ
６００    ストレージシステム
７０１    ＯＳ
７３０    メタデータ
【図１】
2004234555.tif 000003
【図２】
2004234555.tif 000004
【図３】
2004234555.tif 000005
【図４】
2004234555.tif 000006
【図５】
2004234555.tif 000007
【図６】
2004234555.tif 000008
【図７】
2004234555.tif 000009
【図８】
2004234555.tif 000010
【図９】
2004234555.tif 000011
【図１０】
2004234555.tif 000012
【図１１】
2004234555.tif 000013
【図１２】
2004234555.tif 000014
【図１３】
2004234555.tif 000015
【図１４】
2004234555.tif 000016
【図１５】
2004234555.tif 000017
【図１６】
2004234555.tif 000018
【図１７】
2004234555.tif 000019
【図１８】
2004234555.tif 000020
【図１９】
2004234555.tif 000021
【図２０】
2004234555.tif 000022
【図２１】
2004234555.tif 000023
【図２２】
2004234555.tif 000024
【図２３】
2004234555.tif 000025
【図２４】
2004234555.tif 000026
【図２５】
2004234555.tif 000027
【図２６】
2004234555.tif 000028
【図２７】
2004234555.tif 000029
【図２８】
2004234555.tif 000030