(57)【要約】【課題】ディスクドライブがファブリックスイッチへのログイン処理を完了したか否かの診断をより効果的に行うためのディスクドライブ診断装置を提供する。【解決手段】ディスクドライブ単体でのループイニシャライズ診断がＯＫであったディスクドライブをFC-AL１５に接続し、デバイスエンクロージャ１１の、FC-AL１５に接続されたSESデバイス１４ａに内蔵された仮想ログインサーバと仮想ディレクトリサーバが、ディスクドライブ１６のファブリックスイッチ１７へのログイン処理を仮想的に行って、ディスクドライブ１６が正常にログインできるか否かを判断する。このログイン診断でＮＧだったディスクドライブ１６は、FC-AL１５から切り離される。ログイン診断がＯＫだったディスクドライブのみをFC-AL１５に接続し、FC-AL１５をファブリックスイッチ１７に接続して、ディスクドライブ１６にファブリックスイッチ１７へログインさせることにより、ディスクドライブ１６が使用可能となる。【選択図】図１
2008186377.tif 000002
【特許請求の範囲】
【請求項１】
RAID制御装置と、ディスクドライブを収容するドライブエンクロージャとがファブリックスイッチを介して接続されるRAIDシステムにおけるディスクドライブ診断装置において、
ディスクドライブのファブリックスイッチへのログイン処理を仮想的に実行する仮想ログイン処理手段と、
該仮想的なログイン処理の結果をRAID制御装置に通知すると共に、前記ドライブエンクロージャに対し、該仮想的なログイン処理を正常に行えなかったディスクドライブを、RAID制御装置への接続回線から切り離させる制御手段と、
を備えることを特徴とするディスクドライブ診断装置。
【請求項２】
請求項１のディスクドライブ診断装置は、デバイスエンクロージャに設けられていることを特徴とする請求項１に記載のディスクドライブ診断装置。
【請求項３】
請求項１のディスクドライブ診断装置は、ファブリックスイッチに設けられることを特徴とする請求項１に記載のディスクドライブ診断装置。
【請求項４】
前記ログイン処理は、ディスクドライブへ、アクセスのためのアドレスの割り振りを行うためのログインサービスと、ディスクドライブのアドレスをディレクトリに登録するためのディレクトリサービスを受けるための処理であることを特徴とする請求項１に記載のディスクドライブ診断装置。
【請求項５】
前記RAID制御装置への接続回線は、ループを形成することを特徴とする請求項１に記載のディスクドライブ診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、RAIDシステムにおけるディスクドライブ診断装置に関する。
【背景技術】
【０００２】
図８及び図９は、従来の技術を説明する図である。
図８において、各ディスクドライブ１６は、デバイスエンクロージャ１１に収納され、RAID制御装置１０を介して外部とデータのやり取りをする。従来はRAID制御装置１０とディスクドライブ１６間はFC-AL（Fiber  Channel  Arbitrated  Loop）１５で接続され、ディスクドライブ診断はディスクドライブ１６をFC-AL１５のループに接続する前に、ディスクドライブ１６とPBC (Port Bypass Circuit)１２ 間でループイニシャライズが完了するかテストを行い、正常であればそのディスクドライブ１６は問題ないとしてループに接続し、ループイニシャライズが完了しない場合は故障ディスクドライブとしてループから切り離していた。ループイニシャライズは、ディスクドライブ１６の２つのポートをループで接続し、ディスクドライブが、自身の装置に書き込み、読み出しが可能か否かを診断するプロセスと、ディスクドライブ１６自身が正常であった場合、プロセッサ１３によってディスクドライブ１６がループイニシャライズ処理を実行可能か否か診断するプロセスからなる。なお、このようなループを作ってディスクドライブの正常性を検査するための構成が、PBC１２である。また、同時にRAID制御装置１０は、PBC１２から各ディスクドライブ１６の診断結果をまとめて得る事により、故障ディスクドライブの存在を知ることが出来る。
【０００３】
しかし、図９に示されるように、デバイスエンクロージャ１１とRAID制御装置１０の間にファブリックスイッチ１７を挟んで接続する場合、ディスクドライブ１６はFC-AL１５での接続手順に加えて、ファブリックスイッチ１７に対するログイン(FLOGI（ファブリックスイッチ１７がルーティングするために必要なアドレスを割り振ってもらうためのログイン）、PLOGI（各ディスクドライブにディレクトリ名を割り振ってもらうためのログイン）など)などの手順が必要になる。これらのログインは、ファブリックスイッチ１７のプロセッサ１８内にあるログインサーバ２０及び、ディレクトリサーバ１９に対して行う。そのため、ディスクドライブ診断では従来のループイニシャライズ診断に加え、ログインが正常に行われているか否かの診断も実施し、故障ディスクドライブの検出を行う必要がある。しかし、このログイン処理はRAID制御装置１０を介せず行われるため、ログイン処理が完了していない等の故障ディスクドライブの存在をRAID制御装置１０が知るためには（ログイン診断を行うためには）、RAID制御装置１０が各ディスクドライブ１６に対してそれぞれコマンドを発行し、一つ一つ確認するしか方法がなかった。また、RAID制御装置１０から各ディスクドライブ１６にコマンドを発行して、ディスクドライブが正常か否かを判断する場合、ディスクドライブが故障していると、当該コマンドに対する返答がないので、発行されたコマンドが故障したディスクドライブを含むデバイスエンクロージャに接続されるファブリックスイッチのポートのバッファに滞留してしまい、故障したディスクドライブのみではなく、これを含むデバイスエンクロージャ全体が使用不可能となる可能性がある。
【０００４】
特許文献１には、RAID制御装置とディスクドライブとの間をファブリックスイッチで接続する構成が記載されている。
【特許文献１】特開２０００−２２２３３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、ディスクドライブがファブリックスイッチへのログイン処理を完了したか否かの診断をより効果的に行うためのディスクドライブ診断装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明のディスクドライブ診断装置は、RAID制御装置と、ディスクドライブを複数収容するデバイスエンクロージャとがファブリックスイッチを介して接続されるRAIDシステムにおけるディスクドライブ診断装置において、ディスクドライブのファブリックスイッチへのログイン処理を仮想的に実行する仮想ログイン処理手段と、該仮想的なログイン処理の結果をRAID制御装置に通知すると共に、デバイスエンクロージャに対し、該仮想的なログイン処理を正常に行えなかったディスクドライブを、RAID制御装置への接続回線から切り離させる制御手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ログイン診断をRAID制御装置が行わないので、RAID制御装置が各ディスクドライブにコマンドを発行する手間を省け、また、発行されたコマンドがファブリックスイッチのバッファに滞留してしまうために発生する障害を避けることが出来る。
【発明を実施するための最良の形態】
【０００８】
本発明の第１の実施形態では、ディスクドライブがファブリックスイッチへのログイン処理が完了したかどうかのログイン診断をRAID制御装置によりディスクドライブ一つ一つに対して確認するのではなく、ファブリックスイッチも使用しないで、PBC内に存在するSESデバイスによる事前テストにより行う。PBCはSESデバイスによる事前テストにより異常が発見されれば該当ディスクドライブの切り離しを行う。また、その結果をRAID制御装置に通知する。テストが正常であればディスクドライブは正常であるため、全体ループ接続後にファブリックスイッチに対するログイン処理が正しく行われる。
【０００９】
デバイスエンクロージャのみでログイン診断を行うため、ファブリックスイッチの種類に寄らず診断を行うことが可能である。ファブリックスイッチに同様の機能が実装されている場合は、デバイスエンクロージャでの診断は行わない。
【００１０】
具体的には以下のような流れとなる。
１．ループイニシャライズ診断を行う
２．ループイニシャライズ診断がOKだった場合、全体ループに接続しないでSESデバイスとディスクドライブだけのループを作成する。
３．SESデバイスがファブリックスイッチに成り代わりFL(Fabric Loop)ポートとなることで、ディスクドライブからのログイン処理を受信し、ログイン診断を行う。
４．ログイン処理の中で以下の異常が検出された場合は、該当ディスクドライブを故障とし全体ループに接続しない。
・FLOGIは発行するが、その後一定時間内にPLOGIを発行しないディスクドライブ
・PLOGIは発行するが、その後一定時間内にRFT_IDを発行しないディスクドライブ
・ファブリックスイッチがFLOGI、PLOGI、RFT_ID（ディレクトリサービスを行うネームサーバへ登録を行うためのコマンド）の応答を返そうとするが、その応答を受け取れないディスクドライブ
５．全ディスクドライブの診断が完了したらSESデバイスはファブリックスイッチの代わりとなるのをやめ、ファブリックスイッチを接続することで、再びループイニシャライズが実行され、通常の接続形態となる。
【００１１】
図１〜図４は、本発明の第１の実施形態を説明する図である。
図１において、ディスクドライブ１６は、自身の入出力ポートにループを形成して、自
身の動作が正常化否かを診断するループイニシャライズ診断を行う。ループイニシャライズ診断がＮＧである場合には、ディスクドライブ１６をFC-AL１５に接続しないようにする。ループイニシャライズ診断がＯＫの場合には、FC-AL１５に接続する。この時点で、FC-AL１５は、ループイニシャライズ診断の結果ＯＫであったディスクドライブ１６のみが接続され、ファブリックスイッチ１７には接続されていないループを形成する。FC-AL１５に接続されたプロセッサ１３のSESデバイス１４ａには、ファブリックスイッチ１７のログインサーバ２０及びディレクトリサーバ１９に代わってログイン診断を行う仮想ログインサーバと仮想ディレクトリサーバが設けられる。仮想ログインサーバと仮想ディレクトリサーバは、FC-AL１５に接続されたディスクドライブ１６からのログインを受付け、各ディスクドライブが正常にログインできる状態であるか否かを診断する。ログイン診断の結果、正常にログインできないディスクドライブが存在した場合には、そのディスクドライブ１６をFC-AL１５から切り離す。仮想ログインサーバと仮想ディレクトリサーバのログイン診断が終わったら、FC-AL１５には、正常なディスクドライブ１６のみが接続されていることになるので、FC-AL１５をファブリックスイッチ１７に接続して、各ディスクドライブ１６にログイン処理を行わせる。
【００１２】
図２は、第１の実施形態におけるディスクドライブ診断の全体フローである。
図２（ｂ）において、まず、ステップＳ１０で、ディスクドライブ毎にループイニシャライズ診断を行う（詳細は、図３参照）。ステップＳ１１において、ループイニシャライズ診断結果をディスクドライブ診断結果テーブルに反映する。ディスクドライブ診断結果テーブルは、図２（ａ）に一例が示されているが、各ディスクドライブの番号に対して、ループイニシャライズ診断とログイン診断の結果が格納されるものである。ステップＳ１２において、ディスクドライブごとにログイン診断を行う（詳細は、図４参照）。ステップＳ１３において、ループイニシャライズ診断結果をディスクドライブ診断結果テーブルに反映する。ステップＳ１４において、ディスクドライブ診断結果テーブルのログイン診断結果がＯＫなディスクドライブとSESデバイス、及びファブリックスイッチにつながるポートを接続し、ステップＳ１５において、ログイン診断結果をRAID制御装置に通知してディスクドライブ診断処理を終了する。
【００１３】
図３は、ループイニシャライズ診断の処理フローである。
ステップＳ１７において、ディスクドライブだけのループをつくり、PBCからディスクドライブに対してLIP(Loop Initialization Primitive)を送信する。そして、PBCはディスクドライブからLIPが返ってくるのを待つ。ステップＳ１８において、LIPが返ってきたか否かを判断する。ステップＳ１８の判断で、LIPが返ってきたと判断された場合には、ステップＳ１９において、ループイニシャライズ診断がＯＫだったとしてループイニシャライズ診断を終了する。ステップＳ１８において、LIPが返って来ないと判断された場合には、ステップＳ２０において、ループイニシャライズ診断結果をＮＧとして、ループイニシャライズ診断を終了する。
【００１４】
図４は、SESデバイスによるディスクドライブごとのログイン診断フローである。
ステップＳ２５において、SESデバイスの仮想ログインサーバ、仮想ディレクトリサーバを動作させ、SESデバイスをFLポートとする。ステップＳ２６において、ループイニシャライズ診断の結果を判断する。ループイニシャライズ診断の結果がＮＧの場合には、ステップＳ３８に進み、ＯＫの場合には、ステップＳ２７に進む。ステップＳ２７においては、SESデバイスと、ログイン診断を行う１つのディスクドライブだけのループを作る。ステップＳ２８において、SESデバイスがFLポートとなり、ループイニシャライズを開始する。このとき、ディスクドライブにログインするように要求する。ステップＳ２９において、ループイニシャライズが一定時間内に完了したか否かを判断する。この判断がＮｏの場合には、ステップＳ３８に進む。この判断がＹｅｓの場合には、ステップＳ３０において、ループイニシャライズ完了後、一定時間内にFLOGIを受信したか否かを判断する。
この判断がＮｏの場合には、ステップＳ３８に進む。ステップＳ３８では、ログイン診断がＮＧだったとして、ログイン診断を終了する。この判断がＹｅｓの場合には、ステップＳ３１に進む。ステップＳ３１においては、ディスクドライブにFLOGIに対するACC(ACCept、いわゆるacknowledgement)を送信できたか否かを判断する。ACCが送信できなかった場合には、ステップＳ３７に進む。ACCが送信できた場合には、ステップＳ３２において、ACC送信後、一定時間内にPLOGIを受信したか否かを判断する。この判断がＮｏの場合には、ステップＳ３７に進む。この判断がＹｅｓの場合には、ステップＳ３３において、ディスクドライブにPLOGIに対するACCを送信できたか否かを判断する。この判断がＮｏの場合には、ステップＳ３７に進む。この判断がＹｅｓの場合には、ステップＳ３４において、ACC送信後、一定時間内にRFT_IDを受信したか否かを判断する。この判断がＮｏの場合には、ステップＳ３７に進む。この判断がＹｅｓの場合には、ステップＳ３５において、ディスクドライブにRFT_IDに対するACCを送信できたか否かを判断する。この判断がＮｏの場合には、ステップＳ３７に進む。ステップＳ３７では、ログイン診断がＮＧだったとして、ログイン診断を終了する。この判断がＹｅｓの場合には、ステップＳ３６において、ログイン診断がＯＫだったとして、ログイン診断を終了する。
【００１５】
図５〜図７は、本発明の第２の実施形態を説明する図である。
本発明の第２の実施形態では、第１の実施形態のSESデバイスの代わりに、ファブリックスイッチによって確認を行い、結果をRAID制御装置に通知、もしくはPBCに通知しディスクドライブ切り離しを行うものである。
【００１６】
具体的には以下のディスクドライブを故障ディスクドライブと判断し通知を行う。
・ループに参加しているが一定時間内にFLOGIを発行しないディスクドライブ
・FLOGIは発行するが、その後一定時間内にPLOGIを発行しないディスクドライブ
・PLOGIは発行するが、その後一定時間内にRFT_IDを発行しないディスクドライブ
・ファブリックスイッチがFLOGI、PLOGI、RFT_IDの応答を返そうとするが、その応答を受け取れないディスクドライブ
図５において、まず、ディスクドライブ１６は、自身のポートにループを形成して、ループイニシャライズ診断を行い、ＯＫなら、FC-AL１５に接続する。次に、FC-AL１５をファブリックスイッチ１７に接続する。ディスクドライブ１６は、ファブリックスイッチ１７のプロセッサ１８に設けられる、ログインサーバ２０とディレクトリサーバ１９に対し、ログインを試みる。ログインサーバ２０と、ディレクトリサーバ１９は、ディスクドライブが正常にログインできた場合には、そのディスクドライブのログイン診断結果は、ＯＫであるとする。正常にログインできないディスクドライブがあった場合には、そのディスクドライブをＮＧとする。そして、ログイン処理の結果をRAID制御装置１０に報告し、ＮＧのディスクドライブをPBCに通知し、当該ディスクドライブをFC-AL１５から切り離させる。
【００１７】
図６は、第２の実施形態のディスクドライブ診断の全体フローである。
図６（ｂ）において、まず、ステップＳ４０において、ディスクドライブ毎にループイニシャライズ診断を行う（詳細については、図３参照）。ステップＳ４１において、ループイニシャライズ診断がＯＫであったディスクドライブだけ全体ループ（FC-AL１５）に接続する。ステップＳ４２において、PBCとファブリックスイッチが接続されるポートも接続する。ステップＳ４０〜Ｓ４２は、PBCが実行する。
【００１８】
次に、ステップＳ４３において、ループイニシャライズが完了したときにループ上（FC-AL１５上）に存在するディスクドライブをログイン診断テーブルに登録し、診断結果を診断中にする。ログイン診断テーブルの例は、図６（ａ）に示されている。ログイン診断テーブルでは、ループに存在するディスクドライブの番号と、診断結果が対応付けられて記録される。ステップＳ４４において、各ディスクドライブのログイン診断を並列で実施
する（詳細は、図７を参照）。次に、ステップＳ４５において、ログイン診断結果をRAID制御装置に通知し、ステップＳ４６において、ログイン診断テーブルで診断結果がＯＫとなったディスクドライブだけ、RAID制御装置から見えるようにして、ディスクドライブ診断を終了する。ここで、ステップＳ４３〜Ｓ４６は、ファブリックスイッチが実行する。
【００１９】
図７は、ファブリックスイッチによるログイン診断フローである。
まず、ステップＳ５０において、ループイニシャライズ完了後、一定時間内にFLOGIを受信したか否かを判断する。この判断がＮｏの場合には、ステップＳ５７に進む。この判断がＹｅｓの場合には、ステップＳ５１において、ディスクドライブにFLOGIに対するACCを送信できたか否かを判断する。この判断がＮｏの場合には、ステップＳ５７に進む。この判断がＹｅｓの場合には、ステップＳ５２において、ACC送信後、一定時間内にPLOGIを受信したか否かを判断する。この判断がＮｏの場合には、ステップＳ５７に進む。この判断がＹｅｓの場合には、ステップＳ５３において、ディスクドライブにPLOGIに対するACCを送信できたか否かを判断する。この判断がＮｏの場合には、ステップＳ５７に進む。この判断がＹｅｓの場合には、ステップＳ５４において、ACC送信後、一定時間内にRFT＿IDを受信したか否かを判断する。この判断がＮｏの場合には、ステップＳ５７に進む。この判断がＹｅｓの場合には、ステップＳ５５において、ディスクドライブにRFT＿IDに対するACCを送信できたか否かを判断する。この判断がＮｏの場合には、ステップＳ５７に進む。ステップＳ５７では、ログイン診断をＮＧとしてステップＳ５８に進む。ステップＳ５５の判断がＹｅｓの場合には、ステップＳ５６において、ログイン診断がＯＫとして、ステップＳ５８に進む。ステップＳ５８においては、診断結果をログイン診断結果テーブルに反映して、ディスクドライブ毎のログイン診断を終了する。
【００２０】
図７の処理は、ディスクドライブ毎の処理であるが、ファブリックスイッチは、これらをFC-ALに接続されているディスクドライブ全てについて並列に実行する。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施形態を説明する図（その１）である。
【図２】本発明の第１の実施形態を説明する図（その２）である。
【図３】本発明の第１の実施形態を説明する図（その３）である。
【図４】本発明の第１の実施形態を説明する図（その４）である。
【図５】本発明の第２の実施形態を説明する図（その１）である。
【図６】本発明の第２の実施形態を説明する図（その２）である。
【図７】本発明の第２の実施形態を説明する図（その３）である。
【図８】従来の技術を説明する図（その１）である。
【図９】従来の技術を説明する図（その２）である。
【符号の説明】
【００２２】
１０      RAID制御装置
１１      デバイスエンクロージャ
１２      PBC
１３、１８      プロセッサ
１４      SESデバイス
１４ａ      SESデバイス、仮想ログインサーバ、仮想ディレクトリサーバ
１５      FC-AL
１６      ディスクドライブ
１７      ファブリックスイッチ
１９      ディレクトリサーバ
２０      ログインサーバ
【図１】
2008186377.tif 000003
【図２】
2008186377.tif 000004
【図３】
2008186377.tif 000005
【図４】
2008186377.tif 000006
【図５】
2008186377.tif 000007
【図６】
2008186377.tif 000008
【図７】
2008186377.tif 000009
【図８】
2008186377.tif 000010
【図９】
2008186377.tif 000011