説明

ストレージ装置及びこれの制御方法

【課題】ホストに依存することなく、パスの切り替えを実施できるようにしたストレージを提供する。
【解決手段】ネットワーク上のOpenFlow対応型スイッチを介してホストに接続されるストレージ装置であって、データを格納するディスクアレイと、ネットワークに接続するためのポートを有し、ディスクアレイに対するI/O処理を制御する複数のコントローラユニットとを備え、第1のコントローラユニットは、スイッチに対して、ホストが送信した第2のコントローラユニットへのパケットを第1のコントローラユニットへ送信するように第1の設定を行うとともに、第2のコントローラユニットが送信したホストへのパケットを第1のコントローラユニットが送信したようにホストにみせかける第2の設定を行い、第2のコントローラユニットは、第1のコントローラユニットにおける障害の発生を検出した場合に、スイッチに対して、第1の設定を解除する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージ装置及びこれの制御方法に関し、特に、FCoE(Fibre channel over ethernet)に対応したストレージ装置の制御技術に関する。
【背景技術】
【0002】
FCoEは、イーサネット(登録商標)上にFC(Fibre Channel)のフレームをカプセル化する技術として知られている。このFCoEは、物理層(MACとイーサネットヘッダ)にイーサネット(登録商標)を使用するが、上位層にはFCを使用することで、FC上のリソースを有効に活用することができる。
【0003】
下記特許文献1は、ネットワーク接続されたデバイスのホストバスアダプタ(HBA)モジュールによって、ファイバーチャネル通信を生成し、該ネットワーク接続されたデバイスのFCoEモジュールによって、該ファイバーチャネル通信をイーサネット(登録商標)通信に変換し、送信する技術を開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特表2011-508523号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
FCoEベースのストレージシステムでは、通常、耐障害性を考慮して、ホストとストレージとは複数のパスにより接続される。このようなストレージシステムにおいて、ストレージに障害が発生すると、ホストは、パス切替プログラムを実装している場合には、当該パス切替プログラムにより、パスの切り替えを実施する。
【0006】
従って、従来は、ストレージが主導的にパスの切り替えを制御することはなかった。また、ホストがパス切替プログラムを実装していない場合、パスの切り替えを実施することができなかった。
【0007】
そこで、本発明は、FCoEベースのストレージシステムにおいて、ホストに依存することなく、パスの切り替えを実施できるようにしたストレージを提供することである。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明は、ストレージ装置がネットワークスイッチ(OpenFlowスイッチ)と連携することによって、ストレージ装置が主体的にパスを切り替えることを特徴とする。
【0009】
即ち、第1の観点に従う本発明は、ネットワーク上のネットワークスイッチを介してホストに通信可能に接続されるストレージ装置であって、データを格納する記憶媒体を有するディスクアレイと、前記ネットワークに接続するためのポートを有し、前記ディスクアレイに対するI/O処理を制御する複数のコントローラユニットと、を備え、前記複数のコントローラユニットのうちの第1のコントローラユニットは、前記ネットワークスイッチに対して、前記ホストが送信した第2のコントローラユニットへのパケットを前記第1のコントローラユニットへ送信するように第1の設定を行うとともに、前記第2のコントローラユニットが送信した前記ホストへのパケットを前記第1のコントローラユニットが送信したように前記ホストにみせかける第2の設定を行い、前記第2のコントローラユニットは、前記第1のコントローラユニットにおける障害の発生を検出した場合に、前記ネットワークスイッチに対して、前記第1の設定を解除する、ストレージ装置である。
【0010】
また、第2の観点に従う本発明は、ネットワーク上のネットワークスイッチを介してホストに通信可能に接続される複数のノードから構成されるストレージ装置であって、
前記複数のノードのそれぞれは、データを格納する記憶媒体を有するディスクアレイと、
前記ネットワークに接続するためのポートを有し、前記ディスクアレイに対するI/O処理を制御する複数のコントローラユニットと、を備え、前記複数のノードは、相互に通信可能に接続されてなり、前記複数のノードのそれぞれは、一のノードにおける前記複数のコントローラユニットのそれぞれのポートが、前記ホストからのログイン要求を受け付け、他のノードにおける前記複数のコントローラユニットのそれぞれのポートが、前記ホストからのログイン要求に対して拒否するように設定する、ストレージ装置である。
【0011】
また、本発明は、上記装置の発明を方法の観点から把握した方法の発明としても成立し、また、ストレージ装置を制御するプログラムの発明としても成立する。
【発明の効果】
【0012】
本発明によれば、ホストの処理に依存することなく、ストレージ装置が、ホスト−ストレージ装置間のパスの切り替えを制御することができるようになる。特に、ストレージ装置が主導的にOpenFlow対応型のネットワークスイッチに対して、パス切り替えの制御を行うので、ホスト上にパス切り替えプログラムを実装する必要がなくなる。
【0013】
また、ストレージ装置は、自身に障害が発生した場合であっても、ホストによる障害発生の検出をする必要がなく、パス切り替えを高速に行うことができるようになる。
【図面の簡単な説明】
【0014】
【図1】本発明の一実施形態に係るストレージシステムの概略構成を示すブロックダイアグラムである。
【図2】本発明の一実施形態に係るストレージシステムにおけるホスト−ストレージ装置間の接続構成を説明するためのブロックダイアグラムである。
【図3】本発明の一実施形態に係るストレージシステムの概略構成を示すブロックダイアグラムである。
【発明を実施するための形態】
【0015】
次に、本発明の実施の形態について、図面を参照しつつ説明する。
【0016】
図1は、本発明の一実施形態に係るストレージシステムの概略構成を示すブロックダイアグラムである。同図に示すように、ストレージシステム100は、ホスト110と、ネットワーク及びネットワークスイッチを介して接続されたストレージ装置120を含んで構成される。ストレージシステム100はまた、ストレージ装置を保守・管理するための管理端末装置130を含む。
【0017】
ストレージ装置120は、典型的には、コントローラユニット121とディスクアレイ122とから構成される。コントローラユニット121は、例えば、ホストインタフェース1211と、キャッシュメモリ1212と、ディスクコントローラユニット121A213とを備える。コントローラユニットは、複数備えてられていても良い。後述するように、本実施形態では、ストレージ装置120は、2つのコントローラユニット121A及び121Bを備える(図2参照)。
【0018】
ホストインタフェース1211は、ホスト110とのプロトコル通信を行うインターフェース回路である。ホストインターフェース1211は、例えば、ホスト110からリードコマンドやライトコマンド等のI/O要求を受信し、その応答をホスト110に送信する。キャッシュメモリ1212は、ホスト110から受信したコマンドやデータ及びホスト110へ送信したデータをキャッシュする。
【0019】
例えば、ホストインタフェース1211は、ホスト110からリードコマンドを受信した場合、キャッシュメモリ1212上にその要求するデータが存在する場合は、キャッシュメモリ1212上のデータを送信し、一方、当該データが存在しない場合には、ディスクコントローラ213に対してディスクアレイ122からデータを読み出すように要求し、その結果、ディスクアレイ122からキャッシュメモリ1212に書き込まれるデータを、ホスト110に送信する。
【0020】
また、ホストインタフェース1211は、ホスト110からライトコマンドを受信した場合、当該ライトコマンドに従うデータをキャッシュメモリ1212に書き込むとともに、ディスクコントローラ213にそれを通知する。これによって、ディスクコントローラ213は、ディスクアレイ122へのデータの書き込みを開始する。書き込みが完了すると、ディスクコントローラ213は、ホストインタフェース1211に書き込み完了を報告し、ホストインタフェース1211はその応答をホスト110に送信する。
【0021】
ディスクアレイ122は、典型的には、複数のハードディスクドライブから構成されるが、これに限定されない。ディスクアレイ122は、ディスクコントローラユニット121A213のRAID制御の下、RAIDによる仮想ディスクを構成する。
【0022】
ディスクコントローラ213は、上記RAID制御の他、ディスクアレイ123の動作を制御する制御回路である。
【0023】
管理端末装置130は、ストレージ装置120に対する様々なパラメータを設定し、変更を行う装置である。管理端末装置130は、典型的には、このような設定・変更を行うための管理プログラムを実装した汎用コンピュータである。
【0024】
図2は、本発明の一実施形態に係るストレージシステムにおけるホスト−ストレージ装置間の接続構成を説明するためのブロックダイアグラムである。
【0025】
同図に示すように、本実施形態のストレージ装置120は、2つのコントローラユニット121A及び121Bを備える。コントローラユニット121A及び121Bはそれぞれ、ホストインターフェース1211A及び1211Bを備える。ホストインターフェース1211A及び1211Bのそれぞれは、ネットワークスイッチ210を介して、ホスト110に接続されている。従って、ホスト110は、ネットワークスイッチ210を介して、ストレージ装置120上のホストインターフェース1211A又は1211Bにアクセスする。本例では、ネットワークスイッチ210は、OpenFlow対応のスイッチデバイスである。OpenFlowは、ネットワーク制御技術の一つとして知られるプログラマブルなネットワーク構成を実現することができる。
【0026】
次に、複数のコントローラユニット121のいずれか一つに障害が発生した場合のストレージ装置120の処理(パスの切り替え処理)について説明する。ストレージ装置120は、コントローラユニット121の障害を検出すると、ネットワークスイッチ210に対してフローを設定し、これによって、障害のあったコントローラユニット121に関わるパスを他のパスで代替し、I/O処理の継続を可能にする機能を有する。ここでは、コントローラユニット121Aの障害に対して、コントローラユニット121Bが代替する例を示す。
【0027】
まず、ストレージ装置120は、ネットワークスイッチ210にI/Oトランザクションのパス情報を設定する。I/Oトランザクションのパス情報は、ホスト110とコントローラユニット121A及び121Bそれぞれとの間の経路を示す。本例では、ホスト110がコントローラユニット121Bに対して送信したデータ(パケット)がコントローラユニット121A21Aに送信されるように、パス情報が設定される。つまり、コントローラユニット121Aがアクティブの状態となり、コントローラユニット121Bがスタンバイの状態となる。具体的には、コントローラユニット121Aは、コントローラユニット121Bに割り当てられたMac addressを取得し、ネットワークスイッチ210に以下のルール及びアクションを設定する。
・ルール:(1) パケットの送信先MAC addressがコントローラユニット121Bのそれと一致し、かつ、(2) FCoEパケットにおけるFC Header内のD_IDがコントローラユニット121A21BのN_Port_IDと一致する、パケットを検出する。ここで、D_IDは、パケットの送信先のN_Port_IDを格納する領域であり、N_Port_IDは、FCoE通信におけるデバイスを特定する識別子である。
・アクション:パケットの送信先MAC addressをコントローラユニット121Aのそれに置換する。
【0028】
また、コントローラユニット121Aは、コントローラユニット121Bのホストインタフェース1211Bが有するN_Port_IDを取得し、コントローラユニット121Aのホストインタフェース1211AにおいてFCoE通信を制御するプロセッサチップに対して、コントローラユニット121Bのホストインタフェース1211BのN_Port_IDにより宛先が指定されたパケットを受信できるよう設定する。
【0029】
なお、プロセッサチップが、FCoEパケットを受信する場合、受信したFCoEパケットのD_IDが自ポートのN_Port_IDと一致する必要がある。その場合、予め、プロセッサチップに対して、受信可能なN_Port_ID(つまり、FCoE受信フレームにおけるD_ID)が設定される。
【0030】
以上により、ホスト110がコントローラユニット121A及び121Bに対して発行された全てのI/Oトランザクションは、コントローラユニット121Aに送信されることになり、ホストインタフェース1211Aによって通信処理されることになる。
【0031】
次に、コントローラユニット121Aがホスト110に送信したパケットが、コントローラユニット121Bからホスト110へ送信されたパケットとしてホスト110に見せかける方法について説明する。
【0032】
コントローラユニット121Aは、ネットワークスイッチ210に対して、コントローラユニット121Aからホスト110へ送信されるパケットがコントローラユニット121Bからホスト110へ送信されるパケットであるかのように、ホスト110に見せかけるための設定を行う。
【0033】
具体的には、コントローラユニット121Aから送信されるパケットの送信元MAC addressを、コントローラユニット121Bの送信元MAC addressに置換するため、ネットワークスイッチ210に以下のルール及びアクションを設定する。
・ルール:(1) パケットの送信先MAC addressがコントローラユニット121Aのそれと一致し、かつ、(2) FCoEパケットにおけるFC header内のS_ID(FCの送信元 の N_Port_IDを格納する領域)がコントローラユニット121Bの N_Port_IDと一致するパケットを検出する。ここで、S_IDは、FCの送信元 の N_Port_IDを格納する領域である。
・アクション:送信元MAC addressをコントローラユニット121Bのそれに置換する。
【0034】
以上により、ホスト110からは、コントローラユニット121A及び121Bの2つが存在し、それぞれに対してI/Oトランザクションを送信できるように見えるが、実際は、全てのI/Oトランザクションをコントローラユニット121Aが処理する状態を構築することができる。
【0035】
また、コントローラユニット121Bは、実際には、ホスト110がログインしていない。FCoE通信を行うためには、ホスト110は、ストレージ装置120に対してログインする必要があるが、本実施形態では、ホスト110が発行するパケットは、コントローラユニット121Aに送信されるので、コントローラユニット121Aがコントローラユニット121Bに、別途ログイン処理を実施する必要がある。本実施形態では、ストレージでネットワークスイッチ210にストレージ装置120からのパケットに対するIDをホスト110のIDに変換するルールを設定し、ホスト110がログインしたかのようにコントローラユニット121Aがコントローラユニット121Bに対してログインする。
【0036】
即ち、コントローラユニット121Aは、コントローラユニット121BのFCoEポートにログインする。このとき、コントローラユニット121Aは、上述したように、ログインを送信するコントローラユニット121Aのポート(ホスト110が本ログインを送信するポートとなる。)のMAC Addressを取得し、そのMAC addressからのパケットを、ホスト110のMAC addressに置換して、コントローラユニット121Bに送信する。また、ログインを送信するポートにおいては、ログインパケットの中にある、FC層のログインフレームヘッダにある、S_ID(FC層における送信元識別子であり、送信元N_PortIDが格納される。)に、ホスト110のN_Port_IDを指定し、その格納したホスト110のN_Port_IDが宛先のフレームを受信できるよう、プロセッサチップに設定する。
【0037】
以上により、ログインを送信するポートからのログインは、新規代替ポートから見ると、ホスト110からのログイン要求と同様に処理できる。この処理によって、コントローラユニット121BのFCoEポートは、ホスト110がログインした状態に遷移することができる。
【0038】
次に、ホスト110から送信されるI/Oトランザクションを新規代替ポートで処理する方法を説明する。
【0039】
コントローラユニット121は、障害が発生したポートのMAC addressを取得し、ネットワークスイッチ210に対して、そのMAC addressを検出した場合には、新規代替ポートのMAC addressに置き換えるよう、ルールとアクションを設定する。また、コントローラユニット121は、障害が発生したポートのN_Port_IDが宛先のフレームを受信できるよう、プロセッサチップに対して設定を行う。これによって、障害が発生したポートに対するI/Oトランザクションを新規代替ポートが処理、送受信することができ、ホスト110から見ると、障害が発生したポートとあたかも通信しているように見える。これらの処理によって、ホスト110からは、ストレージ装置120のポートの障害に関係なく、ストレージ装置120の特定のN_Port_IDを有するポートとI/Oトランザクションを継続することができる。従って、ホスト110のパス切り替え手段を必要とせず、ストレージ120が主導的に、システムのパスを制御することができるようになる。
【0040】
次に、コントローラユニット121の障害によって、パスを切り替える方法について説明する。
【0041】
コントローラユニット121Aが障害になり、ホスト110と通信できない状態におちいった場合、それをコントローラユニット121Bが検出する。コントローラユニット121Bは、コントローラユニット121Aの障害を検出した場合、ネットワークスイッチ210に対して、コントローラユニット121A及び121BのI/Oトランザクションをコントローラユニット121Bで処理するように設定を変更する。
【0042】
即ち、コントローラユニット121Bは、ネットワークスイッチ210に対して、コントローラユニット121A及び121Bに対するI/Oトランザクションをコントローラユニット121Bに送信するように設定する。具体的には、コントローラユニット121Aのポートに割り当てられたMAC addressを取得し、ネットワークスイッチ210に以下のルール及びアクションを設定する。
・ルール:(1) パケットの送信先MAC addressがコントローラユニット121Aのそれと一致し、かつ、(2) FCoEパケットにおけるFC header内のD_IDがコントローラユニット121AのN_Port_IDと一致するパケットを検出する。
・アクション:送信先MAC addressをコントローラユニット121Bのそれに置換する
また、コントローラユニット121Bは、コントローラユニット121Aのホストインタフェース1211Aが有するN_Port_IDを取得し、コントローラユニット121Bのホストインタフェース1211Bを制御するプロセッサチップに対して、コントローラユニット121Aのホストインタフェース1211Aの N_Port_IDで宛先が指定されたパケットを受信できるよう設定する。
【0043】
そして、コントローラユニット121Bは、設定してあったコントローラユニット121Bへのパケットをコントローラユニット121Aに送信する設定を、解除する。
【0044】
以上により、ホスト110がコントローラユニット121A及び121Bに対して発行したI/Oトランザクションは、コントローラユニット121Bに送信され、すべてのI/Oトランザクションはホストインタフェース1211Bによって処理されることになる。
【0045】
次に、コントローラユニット121Bがホスト110に送信したパケットが、コントローラユニット121Aからホスト110に送信されたパケットとしてホスト110に見せかける方法について説明する。
【0046】
コントローラユニット121Bは、ネットワークスイッチ210に対して、コントローラユニット121Bからホスト110へ送信されるパケットがコントローラユニット121Aからホスト110へ送信されるパケットに見せかけるための設定を行う。
【0047】
具体的には、コントローラユニット121Bから送信されるパケットの送信元MAC addressを、コントローラユニット121Aの送信元MAC addressに置換するため、ネットワークスイッチ210に以下のルール及びアクションを設定する。
・ルール:(1) パケットの送信先MAC addressがコントローラユニット121Bのそれと一致し、かつ、(2) FCoEパケットにおけるFC header内のS_IDがコントローラユニット121AのN_Port_IDと一致するパケットを検出する。
・アクション:送信元MAC addressをコントローラユニット121Aのそれに置換する。
、コントローラユニット121A及び121Bの2つが存在し、それぞれに対してI/Oトランザクションを送信できるように見えるが、実際は、全てのI/Oトランザクションをコントローラユニット121Bが処理する状態を構築することができる。
【0048】
これによって、ホスト110のパス切り替え機能を使用することなく、ストレージ装置120が主導的に、ホスト110とストレージ装置120間の通信パスを動的に変更することで、コントローラユニット121に障害が発生した場合であっても、I/Oトランザクションの処理を継続することができる。
【0049】
なお、本実施形態では、ストレージ装置120がコントローラユニット121Aを主系(アクティブ)として設定されているが、コントローラユニット121Bを主系にしても良いし、または、ユーザが任意に設定してもよい。
【0050】
次に、他の実施形態について説明する。本実施形態は、ストレージ装置110内のホスト110に対するリソースを浪費せず、I/Oトラフィックを適切なパスに動的に設定する例を説明する。
【0051】
図3は、本発明の一実施形態に係るストレージシステムの概略構成を示すブロックダイアグラムである。本実施形態では、ストレージ装置120は、複数のコントローラユニット121を持ったノード同士を接続した構成であるとする。即ち、複数のノードは、相互に通信可能に接続されており、複数のノードが1つのストレージ装置120を形成する。本例では、ノードAとノードBとが相互に接続されており、1つのストレージ装置120を形成している。
【0052】
このようなストレージ装置120においては、どのホストインタフェース1211がI/Oトランザクションを受け取っても、適切な論理ディスクにアクセスできるよう、ノード間の通信が行われる。
【0053】
ストレージ装置120がホスト110とネットワークスイッチ210を介して接続されている場合、ホスト110は、1つのストレージ装置120内に存在するホストインタフェース1211(具体的にはFCoEのポート)を複数認識する。ホスト110は、認識しうるホストインターフェース1211に対して、ログインを行い、I/Oを発行する。しかしながら、例えば、ノードAに存在する論理ディスクに対して、ノードBに属するポートへI/Oトランザクションを発行した場合、ストレージ装置120内でノードA及びB間の通信が発生することになる。この結果、ストレージ装置120内のノード間インタフェースの帯域を使用してしまい、また、ノードAにI/Oトランザクションを発行した場合よりも、ストレージ装置120内の通信が増加することから、I/Oトランザクションに対する応答性能が低下してしまう。
【0054】
そこで、ストレージ装置12は、ホスト110からログインを受け付けるポートを予め決定する。FCoE通信において、ホスト110がI/Oを発行する前に、ストレージ120のポートにログインすることは必須であり、ログインが成功して初めてI/Oトランザクションを発行することができる。つまり、ストレージ装置12は、ログインに対して肯定的応答(accept)を返さなければ、そのポートからI/Oトランザクションを受信することはない。ストレージ装置120は、ログインを受け付けることにより、ログインを受け付けたポートに関わるリソース(例えばメモリ領域)を消費する。かかる観点より、本実施形態は、ストレージ装置120は、ホスト110からログインを受け付ける(肯定応答をする)ポートを予め決めておき、全てのポートがホスト110からログインを受け付けたとしても、決められたポート以外はログインを否定し、ストレージ内のログインを受け付ける。これによって、ホスト110に割り当てた論理ディスクを有するノードのポートのみがログインに肯定応答をすることで、ノードを跨いだ通信の発生を抑止し、また、作成されるホスト110に対応したリソースの消費を削減することができるようになる。
【0055】
即ち、ストレージ装置120は、アクセスコントロールを使用して、ホスト110からログインを受け付けるポートをストレージで予め決定しておく。アクセスコントロールは、FCoEポートごとに世界で固有の8バイトの識別子である、ホスト110のWWPN(World Wide Port Name)と、そのWWPNに対応するホスト110に認識させる論理ディスクを予めストレージ装置120に登録することによって、ホスト110ごとにストレージ装置120内のどの論理ディスクを認識させるかを制御する機能である。このWWPNと論理ディスクとの関連性から、ホスト110がどの論理ディスクを認識できるかを判断することができるので、論理ディスクの実体を持つノードのポートがホスト110からログインを受け付けるポートの候補となる。ストレージ装置120は、そのポートの候補のうち2つをログインを受け付けるポートとして決定する。
【0056】
本実施形態では、ノードAが論理ディスクLD_Aを有しており、その論理ディスクLD_Aがホスト110に対してアクセスコントロールを設定されているとする。この例において、論理ディスクLD_Aを有するノードAの2つのポートがホスト110のログインを許可するポートとして設定され、他のポートは、ログインに否定応答(Reject)を返す。これによって、ホスト110からストレージ装置120の全てのポートに対してログインが送信されたとしても、ホスト110からのログインは、そのホスト110が通信する論理ディスクLD_Aを有するノードAのポートのみが肯定応答を返す。これにより、ホスト110はノードAに対してI/Oトランザクションを送信するので、ストレージ装置120内のノード間の通信トラフィック量を削減することができる。
【0057】
次に、ノードAを有するホストインタフェース1211Aに障害が発生した場合において、ノードBにホスト110のI/Oトランザクションを切り替える方法について説明する。
【0058】
まず、ノードAを有するホストインタフェース1211Aに障害が発生し、ストレージ装置120はホスト110と通信できなくなった場合、代替のポートを検索する。代替のポートは、すでにホスト110がログインしていて、I/Oトランザクションを受けることができるポートである。本実施形態では、ストレージ装置120は、2つのポートを用いて、ホスト110からのI/Oトランザクションを処理することができるので、他方のポートが代替のポートとなる。当該代替のポートが検出できた場合、上述したパスの切り替えによりI/O処理を継続する機能と同様に、障害のあるポートのI/Oを代替ポートにて処理、送受信するよう、ネットワークスイッチ210に設定する。これにより、ホスト110は、障害が発生したポートのN_Port_IDに対しても、I/Oトランザクションの発行を継続することができる。
【0059】
代替ポートがない場合、他のポートの中から新たな代替ポートを選択する。即ち、ストレージ装置120は、ログインを受け付けるポートの候補のうち、決定されなかったポートを優先的に選択する。候補となるポートがない場合には、ストレージ装置120内の任意のポートを代替ポートとする。このような代替ポートには、ホスト装置110はログインをしていないので、ログインが必要になる。本実施形態では、ストレージ装置120は、ネットワークスイッチ210に対して、ストレージ装置120からのパケットのIDをホスト110のIDに変換するルールを設定し、ホスト110がログインしたかのように代替ポートにログインする。ログイン後、再度、ネットワークスイッチ210に対して、ホスト110から該当論理ディスクに対するI/Oトランザクションを、ホスト110−代替ポート間で通信できるようフローを設定する。
【0060】
即ち、新たに代替ポートとなるポート以外のポートが、代替ポートとなるポートにログインする。そのとき、上述したように、ログインを送信するポートのMAC Addressを取得し、そのMAC addressから送信されるパケットについて、ホスト110のMAC addressに置換して新たな代替ポートに送信する。また、ログインを送信するポートにおいては、ログインパケットの中にある、FC層のログインフレームヘッダにある、S_IDに、ホスト1101のN_PortIDを指定し、その格納したホスト1101のN_PortIDが宛先のフレームを受信できるよう、プロセッサチップに設定する。これにより、ログインを送信するポートからのログインは、新たな代替ポートから見ると、ホスト1101からのログイン要求と変わらずに、処理できるようになる。この処理によって、新たな代替ポートは、ホスト110がログインした状態に遷移することができる。
【0061】
次に、ホスト110から発行されたI/Oトランザクションを、新たな代替ポートで処理する方法について説明する。
【0062】
上述した実施形態と同様、ストレージ装置120は、障害が発生したポートのMAC addressを取得し、ネットワークスイッチ210に対して、そのMAC addressを検出したパケットについて、新たな代替ポートのMAC addressに置換するよう、ルール及びアクションを予め設定する。また、ストレージ装置120は、障害が発生したポートのN_Port_IDが宛先のフレームを受信できるよう、プロセッサチップに設定する。これによって、障害が発生したポートのI/Oトランザクションを新たな代替ポートが処理、送受信することができるようになる。従って、ホスト110は、障害が発生したポートとあたかも通信しているように見える。これらの処理によって、ホスト110は、ストレージ装置120のポートの障害に関係なく、ストレージ装置120の特定のN_Port_IDを有するポートとI/O処理を継続することができ、ホスト110のパス切り替え手段を必要とせず、ストレージ装置120が主導的に、パスの経路を制御することができるようになる。
【0063】
また、例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限定されない。
(付記1)
ネットワーク上のネットワークスイッチを介してホストに通信可能に接続されるストレージ装置であって、
データを格納する記憶媒体を有するディスクアレイと、
前記ネットワークに接続するためのポートを有し、前記ディスクアレイに対するI/O処理を制御する複数のコントローラユニットと、を備え、
前記複数のコントローラユニットのうちの第1のコントローラユニットは、
前記ネットワークスイッチに対して、前記ホストが送信した第2のコントローラユニットへのパケットを前記第1のコントローラユニットへ送信するように第1の設定を行うとともに、前記第2のコントローラユニットが送信した前記ホストへのパケットを前記第1のコントローラユニットが送信したように前記ホストにみせかける第2の設定を行い、
前記第2のコントローラユニットは、前記第1のコントローラユニットにおける障害の発生を検出した場合に、前記ネットワークスイッチに対して、前記第1の設定を解除する、
ストレージ装置。
(付記2)
前記第2のコントローラユニットは、前記第1のコントローラユニットにおける前記障害の発生を検出した場合に、前記ネットワークスイッチに対して、前記第2の設定を解除する、上記付記1記載のストレージ装置。
(付記3)
前記第1の設定は、パケットの送信先Mac addressが前記第1のコントローラユニットのMac addressに一致し、かつ、前記パケットのFC header内のD_IDが前記第1のコントローラユニットのN_Port_IDと一致する場合に、当該パケットを検出するルール、及び当該パケットの送信先Mac addressを書き換えるためのアクションを含む、上記付記2記載のストレージ装置。
(付記4)
前記第2の設定は、パケットの送信先Mac addressが前記第1のコントローラユニットのMac addressに一致し、かつ、前記パケットのFC header内のS_IDが前記第2のコントローラユニットのN_Port_IDと一致する場合に、当該パケットを検出するルール、及び当該パケットの送信元Mac addressを書き換えるためのアクションを含む、上記付記3記載のストレージ装置。
(付記5)
前記第1のコントローラユニットは、前記ホストからのログイン要求に基づいて、前記第2のコントローラユニットのポートにログインする、上記付記4記載のストレージ装置。
(付記6)
ネットワーク上のネットワークスイッチを介してホストに通信可能に接続される複数のノードから構成されるストレージ装置であって、
前記複数のノードのそれぞれは、
データを格納する記憶媒体を有するディスクアレイと、
前記ネットワークに接続するためのポートを有し、前記ディスクアレイに対するI/O処理を制御する複数のコントローラユニットと、を備え、
前記複数のノードは、相互に通信可能に接続されてなり、
前記複数のノードのそれぞれは、
一のノードにおける前記複数のコントローラユニットのそれぞれのポートが、前記ホストからのログイン要求を受け付け、他のノードにおける前記複数のコントローラユニットのそれぞれのポートが、前記ホストからのログイン要求に対して拒否するように設定する、
ストレージ装置。
(付記7)
前記一のノードにおける前記複数のコントローラユニットの一つに障害が発生した場合に、前記一のノードにおける障害が発生していないコントローラユニットが、自身のポートにより前記ホストからのI/O処理を受け付ける、上記付記6記載のストレージ装置。
【産業上の利用可能性】
【0064】
本発明は、ネットワークを介して構成されるストレージ装置に広く適用される。
【符号の説明】
【0065】
100…ストレージシステム
110…ホスト
120…ストレージ装置
121…コントローラユニット
1211…ホストインターフェース
1212…ディスクコントローラ
122…ディスクアレイ

【特許請求の範囲】
【請求項1】
ネットワーク上のネットワークスイッチを介してホストに通信可能に接続されるストレージ装置であって、
データを格納する記憶媒体を有するディスクアレイと、
前記ネットワークに接続するためのポートを有し、前記ディスクアレイに対するI/O処理を制御する複数のコントローラユニットと、を備え、
前記複数のコントローラユニットのうちの第1のコントローラユニットは、
前記ネットワークスイッチに対して、前記ホストが送信した第2のコントローラユニットへのパケットを前記第1のコントローラユニットへ送信するように第1の設定を行うとともに、前記第2のコントローラユニットが送信した前記ホストへのパケットを前記第1のコントローラユニットが送信したように前記ホストにみせかける第2の設定を行い、
前記第2のコントローラユニットは、前記第1のコントローラユニットにおける障害の発生を検出した場合に、前記ネットワークスイッチに対して、前記第1の設定を解除する、
ストレージ装置。
【請求項2】
前記第2のコントローラユニットは、前記第1のコントローラユニットにおける前記障害の発生を検出した場合に、前記ネットワークスイッチに対して、前記第2の設定を解除する、請求項1記載のストレージ装置。
【請求項3】
前記第1の設定は、パケットの送信先Mac addressが前記第1のコントローラユニットのMac addressに一致し、かつ、前記パケットのFC header内のD_IDが前記第1のコントローラユニットのN_Port_IDと一致する場合に、当該パケットを検出するルール、及び当該パケットの送信先Mac addressを書き換えるためのアクションを含む、請求項2記載のストレージ装置。
【請求項4】
前記第2の設定は、パケットの送信先Mac addressが前記第1のコントローラユニットのMac addressに一致し、かつ、前記パケットのFC header内のS_IDが前記第2のコントローラユニットのN_Port_IDと一致する場合に、当該パケットを検出するルール、及び当該パケットの送信元Mac addressを書き換えるためのアクションを含む、請求項3記載のストレージ装置。
【請求項5】
前記第1のコントローラユニットは、前記ホストからのログイン要求に基づいて、前記第2のコントローラユニットのポートにログインする、請求項4記載のストレージ装置。
【請求項6】
ネットワーク上のネットワークスイッチを介してホストに通信可能に接続される複数のノードから構成されるストレージ装置であって、
前記複数のノードのそれぞれは、
データを格納する記憶媒体を有するディスクアレイと、
前記ネットワークに接続するためのポートを有し、前記ディスクアレイに対するI/O処理を制御する複数のコントローラユニットと、を備え、
前記複数のノードは、相互に通信可能に接続されてなり、
前記複数のノードのそれぞれは、
一のノードにおける前記複数のコントローラユニットのそれぞれのポートが、前記ホストからのログイン要求を受け付け、他のノードにおける前記複数のコントローラユニットのそれぞれのポートが、前記ホストからのログイン要求に対して拒否するように設定する、
ストレージ装置。
【請求項7】
前記一のノードにおける前記複数のコントローラユニットの一つに障害が発生した場合に、前記一のノードにおける障害が発生していないコントローラユニットが、自身のポートにより前記ホストからのI/O処理を受け付ける、請求項6記載のストレージ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2013−65268(P2013−65268A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−204930(P2011−204930)
【出願日】平成23年9月20日(2011.9.20)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ETHERNET
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】