JP5488841B2 - ストレージ装置 - Google Patents

ストレージ装置 Download PDF

Info

Publication number
JP5488841B2
JP5488841B2 JP2011204930A JP2011204930A JP5488841B2 JP 5488841 B2 JP5488841 B2 JP 5488841B2 JP 2011204930 A JP2011204930 A JP 2011204930A JP 2011204930 A JP2011204930 A JP 2011204930A JP 5488841 B2 JP5488841 B2 JP 5488841B2
Authority
JP
Japan
Prior art keywords
controller unit
host
port
packet
mac address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011204930A
Other languages
English (en)
Other versions
JP2013065268A (ja
Inventor
和典 田上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011204930A priority Critical patent/JP5488841B2/ja
Priority to US13/566,025 priority patent/US8817592B2/en
Publication of JP2013065268A publication Critical patent/JP2013065268A/ja
Application granted granted Critical
Publication of JP5488841B2 publication Critical patent/JP5488841B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Description

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

Claims (5)

  1. ネットワーク上のネットワークスイッチを介してホストに通信可能に接続されるストレージ装置であって、
    データを格納する記憶媒体を有するディスクアレイと、
    前記ネットワークに接続するためのポートを有し、前記ディスクアレイに対するI/O処理を制御する複数のコントローラユニットと、を備え、
    前記複数のコントローラユニットのうちの第1のコントローラユニットは、
    前記ネットワークスイッチに対して、前記ホストが送信した第2のコントローラユニットへのパケットを前記第1のコントローラユニットへ送信するように第1の設定を行うとともに、前記第のコントローラユニットが送信した前記ホストへのパケットを前記第のコントローラユニットが送信したように前記ホストにみせかける第2の設定を行い、
    前記第2のコントローラユニットは、前記第1のコントローラユニットにおける障害の発生を検出した場合に、前記ネットワークスイッチに対して、前記第1の設定を解除する、
    ストレージ装置。
  2. 前記第2のコントローラユニットは、前記第1のコントローラユニットにおける前記障害の発生を検出した場合に、前記ネットワークスイッチに対して、前記第2の設定を解除する、請求項1記載のストレージ装置。
  3. 前記第1の設定は、パケットの送信先Mac addressが前記第のコントローラユニットの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記載のストレージ装置。
JP2011204930A 2011-09-20 2011-09-20 ストレージ装置 Expired - Fee Related JP5488841B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011204930A JP5488841B2 (ja) 2011-09-20 2011-09-20 ストレージ装置
US13/566,025 US8817592B2 (en) 2011-09-20 2012-08-03 Storage device and storage device control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011204930A JP5488841B2 (ja) 2011-09-20 2011-09-20 ストレージ装置

Publications (2)

Publication Number Publication Date
JP2013065268A JP2013065268A (ja) 2013-04-11
JP5488841B2 true JP5488841B2 (ja) 2014-05-14

Family

ID=47881804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011204930A Expired - Fee Related JP5488841B2 (ja) 2011-09-20 2011-09-20 ストレージ装置

Country Status (2)

Country Link
US (1) US8817592B2 (ja)
JP (1) JP5488841B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639450B (zh) * 2013-11-11 2018-03-23 中国移动通信集团公司 数据包转发控制方法、装置和软件定义网络的架构系统
US20160239394A1 (en) * 2015-02-13 2016-08-18 Netapp, Inc. Methods for improving management of input or output operations in a network storage environment with a failure and devices thereof
CN107979500B (zh) * 2016-10-21 2020-04-17 中国电信股份有限公司 基于Openflow协议实现路径探测的方法、网络系统和Openflow交换机
JP2018088650A (ja) * 2016-11-29 2018-06-07 富士通株式会社 情報処理装置、通信制御方法及び通信制御プログラム
JP6961045B2 (ja) * 2017-11-30 2021-11-05 株式会社日立製作所 システム及びその制御方法並びにプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763375B1 (en) * 2000-04-11 2004-07-13 International Business Machines Corporation Method for defining and controlling the overall behavior of a network processor device
US7055056B2 (en) * 2001-11-21 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for ensuring the availability of a storage system
US7568107B1 (en) * 2003-08-20 2009-07-28 Extreme Networks, Inc. Method and system for auto discovery of authenticator for network login
US8443119B1 (en) * 2004-02-26 2013-05-14 Symantec Operating Corporation System and method for disabling auto-trespass in response to an automatic failover
JP4741304B2 (ja) * 2005-07-11 2011-08-03 株式会社日立製作所 データマイグレーション方法又はデータマイグレーションシステム
JP2007251818A (ja) * 2006-03-17 2007-09-27 Fujitsu Ltd 送信制御プログラム、送信制御方法および送信制御装置
US9137175B2 (en) 2007-12-19 2015-09-15 Emulex Corporation High performance ethernet networking utilizing existing fibre channel fabric HBA technology
JP2009230484A (ja) * 2008-03-24 2009-10-08 Nec Corp ストレージサブシステム、ストレージシステム、ファームウェア置換方法、及びプログラム
US8989009B2 (en) * 2011-04-29 2015-03-24 Futurewei Technologies, Inc. Port and priority based flow control mechanism for lossless ethernet

Also Published As

Publication number Publication date
JP2013065268A (ja) 2013-04-11
US20130073899A1 (en) 2013-03-21
US8817592B2 (en) 2014-08-26

Similar Documents

Publication Publication Date Title
JP5255858B2 (ja) ストレージシステム上の仮想ポートを管理するための方法および装置
JP4859471B2 (ja) ストレージシステム及びストレージコントローラ
KR100831639B1 (ko) 정보 처리 장치, 통신 부하 분산 방법 및 통신 부하 분산프로그램을 기록한 기록 매체
JP5159475B2 (ja) ストレージシステムおよびストレージシステムの動作方法
US20010047460A1 (en) Remote copy system of storage systems connected to fibre network
WO2011121664A1 (en) Communication network control system and control method
US9479434B2 (en) Virtual destination identification for rapidio network elements
JP5488841B2 (ja) ストレージ装置
JP2008228150A (ja) スイッチ装置及びフレーム交換方法とそのプログラム
WO2020134144A1 (zh) 数据或报文转发的方法、节点和系统
US20160057043A1 (en) Diagnostic routing system and method for a link access group
US8737228B2 (en) Flow control management in a data center ethernet network over an extended distance
US20080101236A1 (en) Storage system and communication bandwidth control method
WO2014132954A1 (ja) 通信システム、制御装置、通信方法及びプログラム
US20200089536A1 (en) Virtual fibre channel port migration
CN109039680B (zh) 一种切换主宽带网络网关bng和备bng的方法、系统和bng
US7797567B2 (en) Storage apparatus, and method for performing fault recovery of storage apparatus
JP5148441B2 (ja) 計算機間相互結合網における通信経路の冗長化と切り替え方法、この方法を実現するサーバ装置、そのサーバモジュール、および、そのプログラム
US7562137B2 (en) Method for validating a remote device
CA2821434A1 (en) Virtual destination identification for rapidio network elements
CN117271064A (zh) 一种虚拟机管理方法、装置、电子设备和存储介质
CN113630321A (zh) 一种数据处理方法和设备
Dobson The Role of PCI Express® in Wired Communications Systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140211

R150 Certificate of patent or registration of utility model

Ref document number: 5488841

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees