(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】中継装置、情報処理プログラム、情報処理方法及びストレージシステム
(51)【国際特許分類】
G06F 13/10 20060101AFI20240814BHJP
G06F 13/14 20060101ALI20240814BHJP
G06F 11/20 20060101ALI20240814BHJP
【FI】
G06F13/10 340A
G06F13/14 330B
G06F11/20 607
(21)【出願番号】P 2020104995
(22)【出願日】2020-06-18
【審査請求日】2023-03-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】生田 祐也
(72)【発明者】
【氏名】長友 英樹
【審査官】松平 英
(56)【参考文献】
【文献】特開2012-027680(JP,A)
【文献】特開2016-086234(JP,A)
【文献】特表2011-528139(JP,A)
【文献】特開2012-049725(JP,A)
【文献】特開2003-167794(JP,A)
【文献】特開2014-160329(JP,A)
【文献】特開2019-091156(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/06-3/08
11/07
11/16-11/20
11/28-11/36
13/00-13/14
H04L12/00-12/28
12/44-13/18
45/00-49/9057
61/00-65/80
69/00-101/695
(57)【特許請求の範囲】
【請求項1】
他の中継装置を経由してサーバとストレージとを接続する通信経路を含む
、前記サーバと前記ストレージとの間の使用可能な複数の通信経路のそれぞれにおける経由ポートの情報を含む経路情報を取得する経路取得部と、
前記通信経路毎の前記経由ポートに含まれる前記サーバに接続するサーバ接続ポート及び前記ストレージに接続するストレージ接続ポートの情報、前記サーバ及び前記ストレージのそれぞれの識別情報、並びに、前記ストレージが前記サーバに提供する記憶領域の情報を含む接続情報を保持する記憶部と、
前記経路取得部により取得された前記経路情報を基に、前記接続情報を更新する更新部と、
自装置が前記ストレージ接続ポートを有する場合、前記ストレージ接続ポートを特定し、特定した前記ストレージ接続ポートを用いて前記ストレージを介して前記接続情報を前記他の中継装置へ通知する通知部と、
前記接続情報を基に各前記通信経路の冗長性を判定する冗長チェック部と、
前記冗長チェック部により冗長性の喪失が検出された場合、冗長異常を通知する冗長異常通知部と
を備えたことを特徴とする中継装置。
【請求項2】
前記更新部は、他の中継装置から取得した他の接続情報を基に、前記接続情報を更新することを特徴とする請求項1に記載の中継装置。
【請求項3】
前記冗長異常通知部は、前記冗長性が喪失した前記通信経路であって使用可能な前記通信経路の情報を通知することを特徴とする請求項1又は2に記載の中継装置。
【請求項4】
サーバとストレージとを複数の通信経路で接続する複数の中継装置のそれぞれを制御する情報処理プログラムであって、
前記サーバと前記ストレージとの間の使用可能な前記通信経路のそれぞれにおける経由ポートの情報を含む経路情報を取得し、
前記通信経路毎の前記経由ポートに含まれる前記サーバに接続するサーバ接続ポート及び前記ストレージに接続するストレージ接続ポートの情報、前記サーバ及び前記ストレージのそれぞれの識別情報、並びに、前記ストレージが前記サーバに提供する記憶領域の情報を含む接続情報を保持し、
制御する中継装置が前記ストレージ接続ポートを有する場合、前記制御する中継装置の前記ストレージ接続ポートを特定し、特定した前記ストレージ接続ポートを用いて前記ストレージを介して前記接続情報を他の中継装置へ通知し、
取得した前記経路情報を基に、前記接続情報を更新し
前記接続情報を基に各前記通信経路の冗長性を判定し、
冗長性の喪失を検出した場合、冗長異常を通知する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項5】
サーバとストレージとを複数の通信経路で接続する複数の中継装置のそれぞれを制御する情報処理方法あって、
前記サーバと前記ストレージとの間の使用可能な前記通信経路のそれぞれにおける経由ポートの情報を含む経路情報を取得し、
前記通信経路毎の前記経由ポートに含まれる前記サーバに接続するサーバ接続ポート及び前記ストレージに接続するストレージ接続ポートの情報、前記サーバ及び前記ストレージのそれぞれの識別情報、並びに、前記ストレージが前記サーバに提供する記憶領域の情報を含む接続情報を保持し、
制御する中継装置が前記ストレージ接続ポートを有する場合、前記制御する中継装置の前記ストレージ接続ポートを特定し、特定した前記ストレージ接続ポートを用いて前記ストレージを介して前記接続情報を他の中継装置へ通知し、
取得した前記経路情報を基に、前記接続情報を更新し
前記接続情報を基に各前記通信経路の冗長性を判定し、
冗長性の喪失を検出した場合、冗長異常を通知する
ことを特徴とする情報処理方法。
【請求項6】
サーバ、ストレージ及び前記サーバと前記ストレージとを複数の通信経路で接続する複数の中継装置を備えたストレージシステムであって、
前記中継装置は、
前記サーバと前記ストレージとの間の使用可能な前記通信経路のそれぞれにおける経由ポートの情報を含む経路情報を取得する経路取得部と、
前記通信経路毎の前記経由ポートに含まれる前記サーバに接続するサーバ接続ポート及び前記ストレージに接続するストレージ接続ポートの情報、前記サーバ及び前記ストレージのそれぞれの識別情報、並びに、前記ストレージが前記サーバに提供する記憶領域の情報を含む接続情報を保持する記憶部と、
前記経路取得部により取得された前記経路情報を基に、前記接続情報を更新する更新部と、
自装置が前記ストレージ接続ポートを有する場合、前記ストレージ接続ポートを特定し、特定した前記ストレージ接続ポートを用いて前記ストレージを介して前記接続情報を他の中継装置へ通知する通知部と、
前記接続情報を基に各前記通信経路の冗長性を判定する冗長チェック部と、
前記冗長チェック部により冗長性の喪失が検出された場合、冗長異常を通知する冗長異常通知部と
を備えたことを特徴とするストレージシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、中継装置、情報処理プログラム、情報処理方法及びストレージシステムに関する。
【背景技術】
【0002】
ストレージシステムでは、FC(Fibre Channel)スイッチを用いたSAN(Storage Area Network)構成が主流となりつつある。SANでは、複数のサーバ、ストレージ装置及びその他の周辺機器がファイバチャネルを介して相互に接続される。近年では、データセンタにデータを預けることが一般的となっており、これに伴うシステム規模の拡大やマルチテナント化の影響から、ストレージシステムにおけるネットワーク構成が、従来のシンプルな構成と比較して非常に複雑化している。
【0003】
このようなストレージシステムにおいて、通信障害を回避するため冗長化された構成が用いられる場合がある。例えば、通信経路を複数設けることで、いずれかの通信経路が利用不能になっても他の通信経路で通信を継続でき、システムの信頼性を向上することができる。さらに、ストレージシステムではFCスイッチを1つの大きなスイッチに見せるファブリックと呼ばれる構成を導入することができ、通信経路の冗長構成は、別ファブリックで構築することが推奨される。
【0004】
このような冗長化されたストレージシステムでは、システムの冗長構成に影響を与える障害が発生した場合、冗長化された通信経路のどれか1経路でも残っていれば、サーバやストレージはその残った通信経路を使用することで通信を継続することができる。この場合、ストレージシステムは正常に稼働しているように見えるため、障害発生が見落とされる可能性が高い。冗長性が喪失した状態でさらなる障害が発生すると、システムダウンなどの重大な事故につながるおそれがある。また、マルチテナント化によって他のシステムへの影響も非常に大きくなっており、冗長性の壊れたストレージシステムが有するリスクは更に大きくなった。そのため、冗長化されたストレージシステムでは、冗長構成に影響を与える障害の発生を早期に見つけることが重要となる。
【0005】
この点、これまでのFCスイッチを利用したシステムでは、装置故障や経路異常といった障害がシステムの冗長構成にあたえる影響判断は、被疑個所を特定するログ解析者とシステム構成を熟知したシステム設計者による手動での解析が一般的であった。例えば、以下のような流れで冗長構成への影響判断が行われていた。
【0006】
ユーザは、通信時間が長くなったなどの軽微な異常をきっかけとして、ログ解析者へ調査を依頼する。ログ解析者は、初めにFCスイッチ及びストレージのログ採取をカスタマエンジニア(CE:Customer Engineer)に依頼する。システム構成が非常に複雑化且つマルチテナント化されていることが多いため、ログの採取の1つを取っても、CEのスケジュールや他のサービスとの調整など多くの事前調整が行われる。また、サーバが有するログなどから被疑個所がわからない場合、FCスイッチやストレージ全台分のログを収集することになり、ログ解析者はそれらすべてを解析するため、解析には多くの工数を要する。
【0007】
ログ解析が行われ被疑個所が特定された後、障害内容がシステム設計者に伝えられ、システム設計者はシステムへの影響判断を開始する。システム設計者は、スイッチの設定情報や構成図を見比べながら影響度を判断し、問題がないと判断した場合、障害の復旧作業が進められる。なお、この全作業が終了するまでは、システムへの影響が未定なので、予定されていた別箇所の作業は手を付けられず、ユーザとの再調整が行われる場合もある。
【0008】
また、冗長性を診断する技術として、サーバからストレージまでのアクセスパスを自動的に解析し、そのアクセスのための冗長性を診断する従来技術がある。また、ホスト装置とストレージシステムとの間に存在する複数の物理パスに対して論理パスを対応付けてアクセスパスを管理し、アクセスパスの状態を診断して冗長性の有無を判定する従来技術がある。
【先行技術文献】
【特許文献】
【0009】
【文献】特開2003-167794号公報
【文献】特開2007-026089号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、ストレージシステムにおけるシステム規模の拡大などにより、ログ解析者やシステム設計者による手動での解析には限界が生じており、障害の早期発見は困難である。仮に通信時間増などの軽微な異常で障害に気づいたとしても、ログ解析者やシステム設計者による手動での膨大な量の解析が行われることとなり、原因を特定するまでに非常に多くの時間がかかる。その間、システムは冗長性が取られていない状態となり、リスク抱えた状態での長期運用が強いられる。また、冗長性を喪失した状態でシステムの別箇所での作業や別障害が発生した場合、重大なシステムダウンを引き起こすおそれがある。このように、従来の人手による障害の解析では、システムの信頼性を向上させることは困難である。
【0011】
また、アクセスパスを解析して冗長性を診断する従来技術では、異なるファブリック間の冗長性については考慮されておらず、冗長性の喪失を検出できないおそれがあり、システムの信頼性を向上させるには十分ではない。また、物理パスに対して論理パスを対応付ける処理を行うことでアクセスパスを管理する従来技術では、アクセスパスを管理する装置の利用が制限された場合などには適用できず、システムの信頼性を確実に向上させることは困難である。
【0012】
開示の技術は、上記に鑑みてなされたものであって、システムの信頼性を向上させる中継装置、情報処理プログラム、情報処理方法及びストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本願の開示する中継装置、情報処理プログラム、情報処理方法及びストレージシステムの一つの態様において、経路取得部は、他の中継装置を経由してサーバとストレージとを接続する通信経路を含む、前記サーバと前記ストレージとの間の使用可能な複数の通信経路のそれぞれにおける経由ポートの情報を含む経路情報を取得する。記憶部は、前記通信経路毎の前記経由ポートに含まれる前記サーバに接続するサーバ接続ポート及び前記ストレージに接続するストレージ接続ポートの情報、前記サーバ及び前記ストレージのそれぞれの識別情報、並びに、前記ストレージが前記サーバに提供する記憶領域の情報を含む接続情報を保持する。更新部は、前記経路取得部により取得された前記経路情報を基に、前記接続情報を更新する。通知部は、自装置が前記ストレージ接続ポートを有する場合、前記ストレージ接続ポートを特定し、特定した前記ストレージ接続ポートを用いて前記ストレージを介して前記接続情報を前記他の中継装置へ通知する。冗長チェック部は、前記接続情報を基に各前記通信経路の冗長性を判定する。冗長異常通知部は、前記判定部により冗長性の喪失が検出された場合、冗長異常を通知する。
【発明の効果】
【0014】
1つの側面では、本発明は、システムの信頼性を向上させることができる。
【図面の簡単な説明】
【0015】
【
図1】
図1は、ストレージシステムの一例を表すシステム構成図である。
【
図4】
図4は、経路情報テーブルの一例を示す図である。
【
図5】
図5は、経路異常が発生した場合の経路情報テーブルの一例を示す図である。
【
図6】
図6は、通信経路が削除された場合のメインDBの一例を示す図である。
【
図7】
図7は、ゾーニング情報の登録が行われた状態のメインDBの一例を示す図である。
【
図8】
図8は、WWNの登録が行われた状態のメインDBの一例を示す図である。
【
図9】
図9は、ボリュームの登録が行われた状態のメインDBの一例を示す図である。
【
図10】
図10は、冗長グループの登録が行われた状態のメインDBの一例を示す図である。
【
図11】
図11は、冗長異常通知発生の説明で使用する経路情報テーブルの一例の図である。
【
図13】
図13は、ストレージにおけるメインDB配布機能のブロック図である。
【
図14】
図14は、実施例に係るストレージシステムにおける冗長構成管理処理のフローチャートである。
【
図15】
図15は、経路情報の変更検知処理の詳細を表すフローチャートである。
【
図16】
図16は、メインDB更新処理の詳細を表すフローチャートである。
【
図17】
図17は、更新されたメインDBの受信側のメインDBの更新処理の詳細なフローチャートである。
【
図18】
図18は、冗長異常検知処理の詳細なフローチャートである。
【
図19】
図19は、FCスイッチのハードウェア構成図である。
【発明を実施するための形態】
【0016】
以下に、本願の開示する中継装置、情報処理プログラム、情報処理方法及びストレージシステムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する中継装置、情報処理プログラム、情報処理方法及びストレージシステムが限定されるものではない。
【実施例】
【0017】
図1は、ストレージシステムの一例を表すシステム構成図である。本実施例に係るストレージシステム60は、FCスイッチ10A~10D、ストレージ20A及び20B、並びに、サーバ30A及び30Bを有する。
【0018】
FCスイッチ10A~10Bは、サーバ30A及び30Bとストレージ20A及び20Bとの通信の中継を行う。FCスイッチ10Aは、外部装置との接続用のポート11A~13Aを有する。FCスイッチ10Bは、外部装置との接続用のポート11B~13Bを有する。FCスイッチ10Cは、外部装置との接続用のポート11C~13Cを有する。FCスイッチ10Dは、外部装置との接続用のポート11D~13Dを有する。以下の説明では、ポート11A~13A、ポート11B~13B、及び、ポート11C~13Cのそれぞれを区別せずに表す場合、「ポート100」と表す。
【0019】
FCスイッチ10Aのポート11Aはサーバ30Aに接続されるサーバ接続ポートであり、ポート12Aはサーバ30Bに接続されるサーバ接続ポートである。また、FCスイッチ10Aのポート13Aは、FCスイッチ10Cに接続される。ポート11Aとポート13Aとは通信経路により結ばれ、その間でデータが送受信される。また、ポート12Aとポート13Aとは通信経路により結ばれ、その間でデータが送受信される。
【0020】
FCスイッチ10Bのポート11Bはサーバ30Aに接続されるサーバ接続ポートであり、ポート12Bはサーバ30Bに接続されるサーバ接続ポートである。また、FCスイッチ10Bのポート13Bは、FCスイッチ10Dに接続される。ポート11Bとポート13Bとは通信経路により結ばれ、その間でデータが送受信される。また、ポート12Bとポート13Bとは通信経路により結ばれ、その間でデータが送受信される。
【0021】
FCスイッチ10Cのポート11Cはストレージ20Aに接続されるストレージ接続ポートであり、ポート12Cはストレージ20Bに接続されるストレージ接続ポートである。また、FCスイッチ10Cのポート13Cは、FCスイッチ10Aに接続される。ポート11Cとポート13Cとは通信経路により結ばれ、その間でデータが送受信される。また、ポート12Cとポート13Cとは通信経路により結ばれ、その間でデータが送受信される。
【0022】
FCスイッチ10Dのポート11Dはストレージ20Aに接続されるストレージ接続ポートであり、ポート12Dはストレージ20Bに接続されるストレージ接続ポートである。また、FCスイッチ10Dのポート13Dは、FCスイッチ10Bに接続される。ポート11Dとポート13Dとは通信経路により結ばれ、その間でデータが送受信される。また、ポート12Dとポート13Dとは通信経路により結ばれ、その間でデータが送受信される。
【0023】
さらに、本実施例では、FCスイッチ10AとFCスイッチ10Cとが第1ファブリックに含まれる。また、FCスイッチ10BとFCスイッチ10Dとが第2ファブリックに含まれる。第1ファブリックと第2ファブリックとは、異なるファブックである。異なるファブリック間では、通信が制限される場合がある。本実施例では、FCスイッチ10A及び10CとFCスイッチ10B及び10Dとは、通信が制限される。
【0024】
ストレージ20A及び20Bは、データ格納装置である。ストレージ20Aは、ポート21A及び22Aを有する。ポート21Aは、FCスイッチ10Cに接続される。また、ポート22Aは、FCスイッチ10Dに接続される。ストレージ20Bは、ポート21B及び22Bを有する。ポート21Bは、FCスイッチ10Cに接続される。また、ポート22Bは、FCスイッチ10Dに接続される。ストレージ20A及び20Bは、FCスイッチ10A~10Dを経由してサーバ30A及び30Bとデータの送受信を行う。
【0025】
サーバ30A及び30Bは、演算装置である。サーバ30A及び30Bは、それぞれがFCスイッチ10A及び10Bに接続される。サーバ30A及び30Bは、FCスイッチ10A~10Dを介してストレージ20A又は20Bとデータの送受信を行う。
【0026】
例えば、サーバ30Aは、ストレージ20Aを使用する。具体的には、サーバ30Aは、FCスイッチ10Aのポート11A及び13A、FCスイッチ10Cのポート13C及び11Cを経由してストレージ20Aに接続される。また、サーバ30Aは、FCスイッチ10Bのポート11B及び13B、FCスイッチ10Dのポート13D及び11Dを経由してストレージ20Aに接続される。すなわち、サーバ30Aとストレージ20Aとの間の通信は、この2つの通信経路により冗長化される。ストレージ20Aは記憶領域であるボリュームを複数有し、サーバ30Aに対して提供するボリュームが予め決められる。すなわち、サーバ30Aは、ストレージ20Aを使用する場合、ストレージ20Aが提供するボリュームに対してデータの書き込み及び読み出しを行う。
【0027】
また、例えば、サーバ30Bは、ストレージ20Bを使用する。具体的には、サーバ30Bは、FCスイッチ10Bのポート12B及び13B、FCスイッチ10Dのポート13D及び12Dを経由してストレージ20Bに接続される。また、サーバ30Bは、FCスイッチ10Aのポート12B及び13B、FCスイッチ10Cのポート13C及び12Cを経由してストレージ20Bに接続される。すなわち、サーバ30Bとストレージ20Bとの間の通信は、この2つの通信経路により冗長化される。ストレージ20Bは記憶領域であるボリュームを複数有し、サーバ30Bに対して提供するボリュームが予め決められる。すなわち、サーバ30Bは、ストレージ20Bを使用する場合、ストレージ20Bが提供するボリュームに対してデータの書き込み及び読み出しを行う。
【0028】
以下では、サーバ30Aとストレージ20Aとを結ぶ通信経路が通過するポート100及びサーバ30Aとストレージ20Aとを結ぶ通信経路が通過するポート100を「hop(ホップ)」と呼ぶ場合がある。1つの通信経路上の複数のhopは、サーバ30A又は30B側からストレージ20A又は20B側に向けてhop1,hop2,hop3,・・・と表す。また、以下では、ストレージ20A及び20Bを区別しない場合は「ストレージ20」と呼び、サーバ30A及び30Bを区別しない場合は「サーバ30」と呼ぶ。
【0029】
次に、
図2を参照して、FCスイッチ10A~10Dによる冗長化管理について説明する。
図2は、FCスイッチのブロック図である。ここで、FCスイッチ10A~10Dは、いずれも同様の機能を有する。そこで、FCスイッチ10A~10Dのそれぞれを区別しない場合、「FCスイッチ10」と呼ぶ。また、
図2におけるデバイス40は、サーバ30A及び30B、並びに、ストレージ20A及び20Bを含む各種装置をまとめて表現したものである。また、
図2では、ストレージ20をデバイス40とは別に図示したが、実際には、ストレージ20もデバイス40に含まれる。
【0030】
FCスイッチ10は、ゾーニング設定部101、ログイン処理部102、冗長異常通知部103、冗長チェック部104、経路取得部105、経路情報チェック部106及び記憶部107を有する。さらに、FCスイッチ10は、メインDB(Data Base)更新部108、メインDB受信部109、メインDB通知部110、ゾーニング情報登録部111、WWN(World Wide Name)情報登録部112及びボリューム情報登録部113を有する。
【0031】
ゾーニングとは、FCスイッチ10の設定であり、どのポート100とどのポート100とを通信させるかの定義である。ここでは、通信を行うサーバ接続ポートとストレージ接続ポートの組によりゾーニングを表す。例えば、ポート11A、13A、13C及び11Cを経由してサーバ30Aとストレージ20Aとを結ぶ通信経路の場合、ゾーニングは、FCスイッチ10Aのポート11A及びFCスイッチ10Cのポート11Cの組として表される。
【0032】
また、WWNとは、FCスイッチ10に接続されるサーバ30A及び30B、並びに、ストレージ20A及び20Bのそれぞれ識別情報であり、固有のアドレスである。
【0033】
記憶部107は、ゾーニングDB171、ログイン情報DB172及びメインDB173を有する。ゾーニングDB171は、管理者により設定されたゾーニングの情報を格納するデータベースである。ログイン情報DB172は、FCスイッチ10に接続されたデバイス40の情報を格納するデータベースである。デバイス40の情報には、WWNなどが含まれる。
【0034】
図3は、メインDBの一例を示す図である。メインDB173は、各通信経路のゾーニング、各通信経路に接続されるサーバ30Aもしくは20B、または、ストレージ20Aもしくは20BのWWN及びストレージ20Aまたは20Bにより提供されるボリュームの情報が登録される。メインDB173は、ゾーニング、WWN及びボリュームにより各通信経路を表す。また、メインDB173は、各通信経路が冗長化されている場合に、冗長を構築する通信経路を表す冗長グループが登録される。冗長グループは、冗長構成の組が異なる場合には異なるグループ名が登録される。以下では、メインDB173に登録された各通信経路の情報を接続情報と呼ぶ。
【0035】
ゾーニング設定部101は、管理者により設定されたゾーニングを表すゾーニング情報を管理端末50から受信する。そして、ゾーニング設定部101は、取得したゾーニング情報を記憶部107が保持するゾーニングDB171に登録する。
【0036】
ログイン処理部102は、デバイス40が接続された際に、接続されたデバイス40のデバイス情報を接続されたデバイス40から受信する。そして、ログイン処理部102は、受信したデバイス情報を接続されたデバイス40に対応付けて記憶部107が保持するログイン情報DB172に登録する。
【0037】
経路取得部105は、自装置であるFCスイッチ10が属するファブリックにおいて、接続されたデバイス40同士がどの通信経路で通信を行うかを識別する。経路取得部105は、自装置の各ポート100が接続する接続先の情報を保持する。経路取得部105は、自装置の各ポート100が接続する接続先の情報を管理者の入力により取得してもよいし、接続先のデバイス40から取得してもよい。さらに、経路取得部105は、他のFCスイッチ10が保持するそれぞれの各ポート100が接続する接続先の情報を他のFCスイッチ10の経路取得部105から定期的に取得する。そして、経路取得部105は、自装置の各ポート100の接続先の情報及び他のFCスイッチ10の各ポート100の接続情報を用いて、自装置が属するファブリック内の全ての経路情報を生成する。そして、経路取得部105は、自装置が属するファブリック内の全ての通信経路の経路情報を保持する。経路取得部105は、定期的に保持する経路情報を更新する。
【0038】
本実施例では、経路取得部105は、各通信径路をその通信経路上のhopで表した
図4のような経路情報テーブル150を保持する。
図4は、経路情報テーブルの一例を示す図である。
図4では、例えば、FCスイッチ10Aのポート11Aを「S10A-P11A」と表し、FCスイッチ10Cのポート11Cを「S10C-P11C」と表した。経路取得部105は、デバイス40が追加されて通信経路が増えた場合、新たに追加された通信経路の情報を示す行を経路情報テーブル150へ追加する。逆に、デバイス40との接続の切断や障害などにより通信経路が消滅した場合、経路取得部105は、消滅した通信経路の情報を示す行を経路情報テーブル150から削除する。
【0039】
例えば、
図1においてFCスイッチ10Aのポート13AとFCスイッチ10Cのポート13Cとを接続する経路が切断された場合について説明する。経路取得部105は、FCスイッチ10Aのポート13AとFCスイッチ10Cのポート13Cとを含む通信経路を経路情報テーブル150から削除する。この場合、経路情報テーブル150は、
図5に示すような状態となる。
図5は、経路異常が発生した場合の経路情報テーブルの一例を示す図である。この場合は、全ての通信経路の経路情報に、FCスイッチ10Aのポート13AとFCスイッチ10Cのポート13Cとが含まれるため、全ての通信経路の情報が削除される。ここで、消滅した通信経路の行は実際には経路情報テーブル150から削除されるが、
図5では、分かりやすいように削除された行の情報に取り消し線を付加してその情報の削除を表した。
【0040】
また、例えば、
図1におけるFCスイッチ10Aのポート13AとFCスイッチ10Cのポート13Cとを接続する経路が切断された状態から、FCスイッチ10Aのポート13AとFCスイッチ10Cのポート13Cとを接続が復旧した場合について説明する。経路取得部105は、FCスイッチ10Aのポート13AとFCスイッチ10Cのポート13Cとを含む通信経路の全ての情報を取得する。そして、経路取得部105は、取得した経路情報を示す行を経路情報テーブル150に追加する。この場合、
図4に示された全ての通信経路が復旧するので、経路情報テーブル150は、
図4の状態に戻る。
【0041】
経路取得部105は、経路情報の取得要求を経路情報チェック部106から受ける。そして、経路取得部105は、保持する経路情報テーブル150に登録された各通信経路の経路情報を経路情報チェック部106へ出力する。
【0042】
また、経路取得部105は、メインDB173の更新時に、経路情報の取得要求をメインDB更新部108から受ける。そして、経路取得部105は、保持する経路情報テーブル150に登録された各通信経路の経路情報をメインDB更新部108へ出力する。
【0043】
また、経路取得部105は、冗長異常が検出された際に、ゾーニングの情報の入力及びそのゾーニングに対応する通信経路の情報の取得要求を冗長異常通知部103から受ける。そして、経路取得部105は、入力されたゾーニングに対応する通信経路の情報を経路情報テーブル150から取得して、冗長異常通知部103へ出力する。
【0044】
経路情報チェック部106は、定期的に経路情報の更新の有無を判定する。具体的には、経路情報チェック部106は、経路情報の取得要求を経路取得部105へ出力する。その後、経路情報チェック部106は、最新の経路情報の入力を経路取得部105から受ける。そして、経路情報チェック部106は、前回取得した経路情報と今回取得した経路情報とを比較する。
【0045】
前回取得した経路情報と今回取得した経路情報とが同じであれば、経路情報チェック部106は、経路情報に変更なしと判定して、次の経路情報の確認タイミングまで待機する。これに対して、前回取得した経路情報と今回取得した経路情報とに差異があれば、経路情報チェック部106は、経路情報に変更があったと判定する。そして、経路情報チェック部106は、メインDB173の更新依頼をメインDB更新部108へ送信する。
【0046】
メインDB更新部108は、自装置が属するファブリックの通信経路に変更があった場合、メインDB173の更新依頼を経路情報チェック部106から受ける。そして、メインDB更新部108は、経路情報の取得要求を経路取得部105へ送信する。その後、メインDB更新部108は、最新の経路情報を経路取得部105から受ける。また、メインDB更新部108は、メインDB173に登録された各通信経路の接続情報を取得する。次に、メインDB更新部108は、前回の経路情報と今回の経路情報とを比較して、通信経路が減少したか増加したかを判定する。
【0047】
通信経路が減少した場合、メインDB更新部108は、削除された通信経路の終端hopの情報を前回の経路情報から取得する。そして、メインDB更新部108は、メインDB173に登録された接続情報の中に、削除された通信経路の終端hopをゾーニングとする接続情報が存在するか否かを判定する。
【0048】
削除された通信経路の終端hopをゾーニングとする接続情報が存在しなければ、メインDB更新部108は、メインDB173の更新処理を終了する。これに対して、削除された通信経路の終端hopをゾーニングとする接続情報が存在する場合、メインDB更新部108は、消滅した通信経路の終端hopをゾーニングとする接続情報を削除する。
【0049】
例えば、経路情報テーブル150が
図5に示す状態である場合、メインDB更新部108は、削除された通信経路の終端hopの情報として、以下の4組の終端hopの情報を取得する。1つは、FCスイッチ10Aのポート11A及びFCスイッチ10Cのポート11Cである。他の1つは、FCスイッチ10Aのポート11A及びFCスイッチ10Cのポート12Cである。また、他の1つは、FCスイッチ10Aのポート12A及びFCスイッチ10Cのポート11Cである。さらに、他の1つは、FCスイッチ10Aのポート12A及びFCスイッチ10Cのポート12Cである。
【0050】
図6は、通信経路が削除された場合のメインDBの一例を示す図である。この場合、メインDB更新部108は、
図3に示すメインDB173に、FCスイッチ10Aのポート11A及びFCスイッチ10Cのポート11Cをゾーニングとする接続情報が存在すると判定する。そして、メインDB更新部108は、
図6に示すようにFCスイッチ10Aのポート11A及びFCスイッチ10Cのポート11Cをゾーニングとする接続情報71をメインDB173から削除する。また、メインDB更新部108は、
図3に示すメインDB173に、FCスイッチ10Aのポート12A及びFCスイッチ10Cのポート12Cをゾーニングとする接続情報71が存在すると判定する。そして、メインDB更新部108は、
図6に示すようにFCスイッチ10Aのポート11A及びFCスイッチ10Cのポート11Cをゾーニングとする接続情報72をメインDB173から削除する。
【0051】
これに対して、通信経路が増加した場合、メインDB更新部108は、追加された通信経路の終端hopの情報を今回の経路情報から取得する。また、メインDB更新部108は、ゾーニング情報の取得要求をゾーニング情報登録部111に通知する。その後、メインDB更新部108は、ゾーニング情報をゾーニング情報登録部111から取得する。次に、メインDB更新部108は、取得したゾーニング情報の中に、追加された通信経路の終端hopと一致するゾーニング情報が存在するか否かを判定する。
【0052】
追加された通信経路の終端hopと一致するゾーニング情報が存在しなければ、メインDB更新部108は、メインDB173の更新を終了する。これに対して、追加された通信経路の終端hopと一致するゾーニング情報が存在する場合、メインDB更新部108は、追加された通信経路の終端hopと一致するゾーニング情報の登録をゾーニング情報登録部111に依頼する。その後、メインDB173の更新が完了すると、メインDB更新部108は、ボリューム情報登録部113から更新完了の通知を受ける。
【0053】
例えば、
図1におけるFCスイッチ10Aのポート13AとFCスイッチ10Cのポート13Cとを接続する経路が切断された状態から、FCスイッチ10Aのポート13AとFCスイッチ10Cのポート13Cとを接続が復旧した場合について説明する。メインDB更新部108は、新たに追加された通信経路の終端hopの情報として、以下の4組の終端hopの情報を取得する。1つは、FCスイッチ10Aのポート11A及びFCスイッチ10Cのポート11Cである。他の1つは、FCスイッチ10Aのポート11A及びFCスイッチ10Cのポート12Cである。また、他の1つは、FCスイッチ10Aのポート12A及びFCスイッチ10Cのポート11Cである。さらに、他の1つは、FCスイッチ10Aのポート12A及びFCスイッチ10Cのポート12Cである。
【0054】
管理者は、構成を復旧させるため、FCスイッチ10Aのポート11A及びFCスイッチ10Cのポート11Cの組とFCスイッチ10Aのポート12A及びFCスイッチ10Cのポート12Cの組とをゾーニングとして設定する。この場合、メインDB更新部108は、FCスイッチ10Aのポート11A及びFCスイッチ10Cのポート11Cの組とFCスイッチ10Aのポート12A及びFCスイッチ10Cのポート12Cの組との情報をゾーニング情報登録部111から取得する。そして、メインDB更新部108は、追加された通信経路の終端hopと一致するゾーニング情報が存在すると判定する。そして、メインDB更新部108は、FCスイッチ10Aのポート11A及びFCスイッチ10Cのポート11Cの組とFCスイッチ10Aのポート12A及びFCスイッチ10Cのポート12Cの組とのゾーニングの登録をゾーニング情報登録部111に依頼する。
【0055】
図2に戻って説明を続ける。メインDB更新部108は、通信経路の減少及び増加のいずれであっても、メインDB173の更新を行った後に、更新されたメインDB173をメインDB通知部110へ送信して、メインDB173の更新をメインDB通知部110に通知する。また、メインDB更新部108は、メインDB173の更新を冗長チェック部104に通知する。
【0056】
また、他のファブリックに属するFCスイッチ10においてメインDB173が更新された場合、メインDB更新部108は、更新された他のFCスイッチ10のメインDB173の情報をメインDB受信部109から取得する。そして、メインDB更新部108は、自装置が有するメインDB173の内容と差異があれば、取得したメインDB173の情報で自装置が保持するメインDB173を更新する。その後、メインDB173の更新を冗長チェック部104に通知する。
【0057】
ここで、FCスイッチ10が配置されたストレージシステム60が新たに構築され通信経路が確立された場合も、通信経路がない状態から新たに通信経路が追加されたといえ、通信経路が増加した場合にあたる。そこで、メインDB173は、ストレージシステム60が新たに構築された場合、自装置が属するファブリックの全ての通信経路の接続情報を上述したメインDB173の更新方法でメインDB173に追加する。この場合、各FCスイッチ10のメインDB173は、自装置が保持するメインDB173を相互に送りあう。そのため、ストレージシステム60が新たに構築され通信経路が確立された初期状態で、メインDB173は、各ファブリック内の全ての通信経路の接続情報が登録された状態となる。
【0058】
メインDB通知部110は、更新されたメインDB173の入力とともにメインDB173の更新の通知をメインDB更新部108から受ける。次に、メインDB通知部110は、自装置であるFCスイッチ10が有するポート100のうちFCスイッチ10以外のデバイス40に接続するポート100を特定する。
【0059】
ここで、FCスイッチ10は、自装置が有する各ポート100の状況をポート接続時に判定してその判定結果を保持する。具体的には、FCスイッチ10は、ポート100がスイッチ間接続を行っている場合、そのポート100をEポートとして記憶する。また、FCスイッチ10は、ポート100がストレージ20を含むFCスイッチ10以外のデバイス40に接続される場合、そのポート100をFポートとして記憶する。メインDB通知部110は、自装置が有するポート100の中でFポートとして記憶されたポート100を特定する。
【0060】
そして、メインDB通知部110は、更新されたメインDB173をFポートであるポート100から出力して送信する。これにより、メインDB通知部110は、更新されたメインDB173をストレージ20に送信することができる。ここで、スイッチ間接続を行うポート100に対してメインDB173を送信する構成の場合、送信先のFCスイッチ10も同じメインDB173の更新を行っているため、互いにメインDB173を送りあうことになり処理が重複して無駄な処理が発生する。そこで、本実施例に係るFCスイッチ10は、ストレージ20に接続するポート100を有する場合にストレージ20にメインDB173を送信することで、メインDB173の通知処理の重複を回避することができる。
【0061】
また、本実施例では、メインDB通知部110は、Fポートであるポート100の全てにメインDB173を出力したが、Fポートの中からストレージ20に接続するポート100を特定して、その特定したポート100にメインDB173を出力してもよい。
【0062】
メインDB受信部109は、他のファブリックに属するFCスイッチ10においてメインDB173が更新された場合、更新されたメインDB173をストレージ20から受信する。そして、メインDB受信部109は、更新されたメインDB173をメインDB更新部108へ出力する。
【0063】
ゾーニング情報登録部111は、通信経路が増加した場合、ゾーニング情報の取得要求をメインDB更新部108から受ける。そして、ゾーニング情報登録部111は、記憶部107が保持するゾーニングDB171からゾーニング情報を取得する。そして、ゾーニング情報登録部111は、取得したゾーニング情報をメインDB更新部108へ送信する。
【0064】
その後、追加された通信経路の終端hopと一致するゾーニング情報が存在する場合、ゾーニング情報登録部111は、追加された通信経路の終端hopと一致するゾーニング情報の登録の依頼をメインDB更新部108から受ける。そして、ゾーニング情報登録部111は、追加された通信経路の終端hopと一致するゾーニングをメインDB173に登録する。次に、ゾーニング情報登録部111は、新たに追加されたゾーニングの情報を出力するとともにWWNの登録をWWN情報登録部112に依頼する。
【0065】
例えば、
図1におけるFCスイッチ10Aのポート13AとFCスイッチ10Cのポート13Cとを接続する経路が切断された状態から、FCスイッチ10Aのポート13AとFCスイッチ10Cのポート13Cとを接続が復旧した場合について説明する。
図7は、ゾーニング情報の登録が行われた状態のメインDBの一例を示す図である。ゾーニング情報登録部111は、FCスイッチ10Aのポート11A及びFCスイッチ10Cのポート11Cの組とFCスイッチ10Aのポート12A及びFCスイッチ10Cのポート12Cの組とのゾーニングの登録の依頼をメインDB更新部108から受ける。そして、ゾーニング情報登録部111は、FCスイッチ10Aのポート11A及びFCスイッチ10Cのポート11Cの組である
図7に示すゾーニング73をメインDB173に登録する。また、ゾーニング情報登録部111は、FCスイッチ10Aのポート12A及びFCスイッチ10Cのポート12Cの組である
図7に示すゾーニング74をメインDB173に登録する。
【0066】
WWN情報登録部112は、新たに追加されたゾーニングの情報の入力とともにWWNの登録の依頼をゾーニング情報登録部111から受ける。次に、WWN情報登録部112は、取得したゾーニングで示されるそれぞれのポート100に接続されたサーバ30又はストレージ20のWWNを記憶部107が有するログイン情報DB172から取得する。そして、WWN情報登録部112は、取得したWWNをメインDB173に登録する。その後、WWN情報登録部112は、新たに追加されたWWNの情報を出力するとともにボリュームの登録をボリューム情報登録部113に依頼する。
【0067】
例えば、
図7で示すゾーニングの登録が行われた場合のWWNの登録について説明する。
図8は、WWNの登録が行われた状態のメインDBの一例を示す図である。WWN情報登録部112は、追加されたゾーニングが示すポート100として、FCスイッチ10Aのポート11A及びFCスイッチ10Cのポート11Cの組とFCスイッチ10Aのポート12A及びFCスイッチ10Cのポート12Cの組の情報を取得する。次に、WWN情報登録部112は、FCスイッチ10Aのポート11Aに接続されるサーバ30AのWWN及びFCスイッチ10Cのポート11Cに繋がるストレージ20AのWWNをログイン情報DB172から取得する。そして、WWN情報登録部112は、
図8に示すWWN75を登録する。また、WWN情報登録部112は、FCスイッチ10Aのポート12Aに接続されるサーバ30BのWWN及びFCスイッチ10Cのポート12Cにつながるストレージ20BのWWNをログイン情報DB172から取得する。そして、WWN情報登録部112は、
図8に示すWWN76を登録する。
【0068】
ボリューム情報登録部113は、新たに追加されたWWNの情報の入力とともにWWNの登録の依頼をWWN情報登録部112から受ける。次に、ボリューム情報登録部113は、ホストアフィニティ情報の取得要求をストレージ20へ送信する。ホストアフィニティ情報とは、ストレージ20が有する各ボリュームをどのサーバ30に提供するかを示す情報である。具体的には、ホストアフィニティ情報は、各ボリュームに対してアクセス許可を与える装置のWWNを示す情報である。
【0069】
その後、ボリューム情報登録部113は、自装置につながるストレージ20のホストアフィニティ情報を取得する。次に、ボリューム情報登録部113は、追加されたWWNにアクセスが許可されたボリュームが存在するか否かを取得したホストアフィニティ情報から判定する。そして、追加されたWWNにアクセスが許可されたボリュームが存在する場合、ボリューム情報登録部113は、追加されたWWNに対してアクセスが許可されたボリュームの情報をメインDB173に登録する。その後、ボリューム情報登録部113は、メインDB173の更新完了をメインDB更新部108に通知する。
【0070】
例えば、
図8で示すWWNの登録が行われた場合のボリュームの登録について説明する。
図9は、ボリュームの登録が行われた状態のメインDBの一例を示す図である。WWN情報登録部112は、ボリュームV1に対してWWNがAAAの装置のアクセスが許可され、ボリュームV2に対してWWNがBBBの装置のアクセスが許可されることを示す情報を含むホストアフィニティ情報を取得する。そして、WWN情報登録部112は、新たに追加されたWWNとしてAAA及びBBBが村債することを確認する。その後、WWN情報登録部112は、WWNとしてAAAが登録された経路情報のボリュームの欄77にボリュームV1を示す情報を登録する。また、WWN情報登録部112は、WWNとしてBBBが登録された経路情報のボリュームの欄78にボリュームV2を示す情報を登録する。
【0071】
冗長チェック部104は、メインDB173の更新の通知をメインDB更新部108から受ける。そして、冗長チェック部104は、メインDB173を参照して、同じボリュームを提供する通信経路を同じ冗長グループとして判定する。ここで、メインDB173において冗長グループに属すると判定した通信経路の冗長グループが登録されていない場合、冗長チェック部104は、新たに冗長グループを定義して登録する。
【0072】
例えば、
図9で示すメインDB173の更新が行われた場合の冗長グループの登録について説明する。
図10は、冗長グループの登録が行われた状態のメインDBの一例を示す図である。冗長チェック部104は、
図9において、ボリュームV1を提供する通信経路を同じ冗長グループと判定する。そして、冗長チェック部104は、ボリュームV1が登録された通信経路の冗長グループが同じになるように
図10に示すように冗長グループ79を登録する。また、冗長チェック部104は、
図9において、ボリュームV2を提供する通信経路を同じ冗長グループと判定する。そして、冗長チェック部104は、ボリュームV2が登録された通信経路の冗長グループが同じになるように
図10に示すように冗長グループ80を登録する。
【0073】
また、同じボリュームを提供する通信経路が複数存在しない通信経路を検出した場合、冗長チェック部104は、冗長構成に問題があると判定する。そして、冗長チェック部104は、同じボリュームを提供する通信経路が複数存在しない通信経路の情報を通知して構成異常通知の実行を冗長異常通知部103に指示する。
【0074】
冗長異常通知部103は、冗長構成に問題がある場合、同じボリュームを提供する通信経路が複数存在しない通信経路の情報の通知及び構成異常通知の実行指示を冗長チェック部104から受ける。次に、冗長異常通知部103は、通知された通信経路のゾーニングの情報をメインDB173から取得する。次に、冗長異常通知部103は、経路取得部105が有する経路情報テーブル150を参照する。
【0075】
そして、冗長異常通知部103は、取得したゾーニングで示されるポート100の組み合わせを経路情報テーブル150に登録された終端hopの中から検索する。冗長異常通知部103は、取得したゾーニングで示されるポート100の組み合わせが終端hopとして検索された経路情報の各hopの情報を経路情報テーブル150から取得する。その後、冗長異常通知部103は、取得した各ホップにあたるポート100に設けられたLED(Light Emitting Diode)を点灯させて、冗長化されていない通信経路上のhopにあたるポート100を明示する。これにより、管理者は、冗長化されていない状態で運用されている通信経路を把握することが可能となる。
【0076】
例えば、
図1においてFCスイッチ10Aのポート13AとFCスイッチ10Cのポート13Cとを接続する経路が切断された場合について説明する。FCスイッチ10Aのポート13AとFCスイッチ10Cのポート13Cとを接続する経路が切断された場合、メインDB173は、
図6に示す状態となる。この場合、例えば、FCスイッチ10Bの冗長異常通知部103は、冗長化されていない通信経路のゾーニングとして、FCスイッチ10Bのポート11B及びFCスイッチ10Dのポート11Dの組を取得する。また、FCスイッチ10Bの冗長異常通知部103は、冗長化されていない通信経路のゾーニングとして、FCスイッチ10Bのポート12B及びFCスイッチ10Dのポート12Dの組を取得する。さらに、FCスイッチ10Bの冗長異常通知部103は、
図11に示す経路情報テーブル151を取得する。
図11は、冗長異常通知発生の説明で使用する経路情報テーブルの一例の図である。冗長異常通知部103は、冗長化されていない通信経路として経路情報81及び82を検出する。
【0077】
そして、冗長異常通知部103は、経路情報81及び82に登録された各ホップにあたるポート100の情報を取得する。その後、冗長異常通知部103は、情報を取得したポート100に設けられたLEDを点灯させる。
図12は、冗長異常通知の一例を示す図である。この場合、冗長異常通知部103は、
図12に示すようにFCスイッチ10Bのポート11B~13B及びFCスイッチ10Dのポート11D~13Dに設けられたLEDを点灯させる。これにより、管理者は、FCスイッチ10Bのポート11B~13B及びFCスイッチ10Dのポート11D~13Dを通過する通信経路が冗長化されていないことを容易に把握することができる。
【0078】
次に、
図13を参照して、ストレージ20のメインDB173の配布機能の詳細について説明する。
図13は、ストレージにおけるメインDB配布機能のブロック図である。ストレージ20は、実際には、データ格納機能など他の機能を有するが、
図13では、メインDB173の配布機能に関する機能ブロックを記載して他の機能については省略した。
【0079】
ストレージ20は、ホストアフィニティ設定部201、ホストアフィニティDB202、ホストアフィニティ情報通知部203及びメインDB情報配布部204を有する。ホストアフィニティDB202は、自装置が有する各ボリュームを提供する装置のWWNを含むホストアフィニティの情報が登録されるデータベースである。
【0080】
ホストアフィニティ設定部201は、自装置における各ボリュームを提供する装置のWWNの入力を管理端末50から受ける。そして、ホストアフィニティ設定部201は、取得した情報をホストアフィニティDB202に登録してホストアフィニティを設定する。
【0081】
ホストアフィニティ情報通知部203は、ホストアフィニティの情報の送信要求をFCスイッチ10のボリューム情報登録部113から受ける。そして、ホストアフィニティ情報通知部203は、自装置のホストアフィニティの情報をホストアフィニティDB202から取得する。その後、ホストアフィニティ情報通知部203は、取得した自装置のホストアフィニティの情報をFCスイッチ10のボリューム情報登録部113へ送信する。
【0082】
メインDB情報配布部204は、更新されたメインDB173をFCスイッチ10のメインDB通知部110から受信する。ここでは、ストレージ20A及び20Bが有するポート21A、22A、21B及び22Bを区別せずに、ポート200と呼ぶ。メインDB情報配布部204は、メインDB173を受信したポート200以外の全てのポート200にメインDB173を転送する。これにより、FCスイッチ10によるファブリックをまたいだメインDB173の共有が可能となる。例えば、FCスイッチ10A及び10BのメインDB173に登録された情報は、FCスイッチ10C及び10Dに、ストレージ20を経由して通知される。ここで、本実施例では、ストレージ20を介してメインDB173のファブリック間の転送を行ったが、これに限らず、例えば、サーバ30を使用してメインDB173のファブリック間の転送を行ってもよい。また、ストレージ20及びサーバ30の双方を用いて、メインDB173のファブリック間の転送を行ってもよい。
【0083】
次に、
図14を参照して、本実施例に係るストレージシステム60における冗長構成管理処理の流れについて説明する。
図14は、実施例に係るストレージシステムにおける冗長構成管理処理のフローチャートである。ここでは、FCスイッチ10Cにおける経路情報の変更の場合を例に説明する。
【0084】
経路情報チェック部106は、最新の経路情報テーブル150に登録された経路情報を経路取得部105から定期的に取得する。そして、経路情報チェック部106は、前回取得した経路情報と今回取得した経路情報とを比較して経路情報の変更があるか否かを判定する(ステップS11)。経路情報の変更がない場合(ステップS11:否定)、経路情報チェック部106は、経路情報の変更が発生するまで待機する。
【0085】
これに対して、経路情報の変更を検知した場合(ステップS11:肯定)、経路情報チェック部106は、メインDB173の更新をメインDB更新部108に依頼する。メインDB更新部108は、依頼を受けてメインDB173の更新を実行する(ステップS12)。
【0086】
メインDB更新部108は、メインDB173の更新が完了すると、メインDB173の更新完了をメインDB通知部110に通知する。メインDB通知部110は、メインDB173の更新完了の通知を受けて、更新されたメインDB173をストレージ20A及び20Bへ送信する(ステップS13)。
【0087】
その後、メインDB更新部108は、メインDB173の更新完了を冗長チェック部104に通知する。冗長チェック部104は、メインDB173の更新完了の通知を受けて、メインDB173を用いて全ての通信経路が冗長構成となっているか否かを判定する(ステップS14)。全ての経路が冗長構成となっている場合(ステップS14:肯定)、冗長チェック部104は、冗長構成のチェックを終了する。
【0088】
これに対して、冗長構成となっていない通信経路が存在する場合(ステップS14:否定)、冗長チェック部104は、冗長構成となっていない通信経路の接続情報を冗長異常通知部103に通知して構成異常通知の実行を指示する。冗長異常通知部103は、冗長チェック部104からの指示を受けて、冗長構成となっていない通信経路の構成異常の通知を行う(ステップS15)。
【0089】
メインDB173を受信した場合、ストレージ20A及び20Bは、同様の動作を行う。ここでは、ストレージ20Aの動作を例に説明する。メインDB情報配布部204は、更新されたメインDB173を受信したポート200以外の全てのポート200に更新されたメインDB173を転送して配布する(ステップS16)。
【0090】
FCスイッチ10DのメインDB受信部109は、FCスイッチ10Cにより更新されたメインDB173を受信する。FCスイッチ10DのメインDB更新部108は、メインDB受信部109から更新されたメインDB173を取得する。そして、メインDB更新部108は、更新されたメインDB173を用いて自装置が保持するメインDB173を更新する(ステップS17)。
【0091】
その後、FCスイッチ10DのメインDB更新部108は、メインDB173の更新完了を冗長チェック部104に通知する。FCスイッチ10Dの冗長チェック部104は、メインDB173の更新完了の通知を受けて、メインDB173を用いて全ての通信経路が冗長構成となっているか否かを判定する(ステップS18)。全ての経路が冗長構成となっている場合(ステップS18:肯定)、冗長チェック部104は、冗長構成のチェックを終了する。
【0092】
これに対して、冗長構成となっていない通信経路が存在する場合(ステップS18:否定)、冗長チェック部104は、冗長構成となっていない通信経路の接続情報を冗長異常通知部103に通知して構成異常通知の実行を指示する。FCスイッチ10Dの冗長異常通知部103は、冗長チェック部104からの指示を受けて、冗長構成となっていない通信経路の構成異常の通知を行う(ステップS15)。
【0093】
次に、
図15を参照して、経路情報の変更検知処理の詳細な流れについて説明する。
図15は、経路情報の変更検知処理の詳細を表すフローチャートである。
【0094】
経路取得部105は、経路情報を定期的に取得して、自己が有する経路情報テーブル150を更新する。経路情報チェック部106は、経路情報の取得要求を経路取得部105に定期的に送信する(ステップS101)。
【0095】
経路取得部105は、経路情報の取得要求を受けて、経路情報テーブル150に登録された最新の経路情報を経路情報チェック部106へ出力する(ステップS102)。
【0096】
経路情報チェック部106は、経路情報の入力を経路取得部105から受ける。そして、経路情報チェック部106は、前回の経路情報と今回の経路情報とを比較して、経路情報に変更があるか否かを判定する(ステップS103)。経路情報に変更がない場合(ステップS103:否定)、経路情報チェック部106は、ステップS101へ戻る。
【0097】
これに対して、経路情報に変更がある場合(ステップS103:肯定)、経路情報チェック部106は、メインDB173の更新依頼をメインDB更新部108に送信する(ステップS104)。
【0098】
次に、
図16を参照して、メインDB更新処理の詳細な流れについて説明する。
図16は、メインDB更新処理の詳細を表すフローチャートである。
【0099】
メインDB更新部108は、メインDB173の更新依頼を受信する(ステップS201)。
【0100】
次に、メインDB更新部108は、経路情報を経路取得部105から取得する。また、メインDB更新部108は、記憶部107が保持するメインDB173を取得する(ステップS202)。
【0101】
次に、メインDB更新部108は、前回の経路情報と今回の経路情報とを比較して、通信経路が減少したか否かを判定する(ステップS203)。
【0102】
通信経路が減少した場合(ステップS203:肯定)、メインDB更新部108は、削除された経路である削除経路の終端hopにあたるポート100の情報を前回の経路情報から取得する(ステップS204)。
【0103】
次に、メインDB更新部108は、削除経路の終端hopにあたるポート100と一致するゾーニングを有する接続情報がメインDB173に存在するか否かにより、メインDB173に削除経路が存在するか否かを判定する(ステップS205)。メインDB173に削除経路が存在しない場合(ステップS205:否定)、メインDB更新部108は、メインDB173の更新処理を終了する。
【0104】
これに対して、メインDB173に削除経路が存在する場合(ステップS205:肯定)、メインDB更新部108は、メインDB173から削除経路にあたる接続情報を削除してメインDB173を更新する(ステップS206)。そして、メインDB更新部108は、メインDB173の更新処理を終了する。
【0105】
一方、通信経路が増加した場合(ステップS203:否定)、メインDB更新部108は、追加された経路である追加経路の終端hopにあたるポート100の情報を今回の経路情報から取得する(ステップS207)。
【0106】
次に、メインDB更新部108は、ゾーニングの情報を記憶部107が保持するゾーニングDB171から取得する(ステップS208)。
【0107】
次に、メインDB更新部108は、取得したゾーニングに追加経路の終端hopにあたるポート100と一致する情報が存在するか否かにより、ゾーニングの情報に追加経路が存在するか否かを判定する(ステップS209)。ゾーニングの情報に追加経路が存在しない場合(ステップS209:否定)、メインDB更新部108は、メインDB173の更新処理を終了する。
【0108】
これに対して、ゾーニングの情報に追加経路が存在する場合(ステップS209:肯定)、メインDB更新部108は、ゾーニングの情報の登録をゾーニング情報登録部111に依頼する。ゾーニング情報登録部111は、メインDB更新部108からの依頼を受けて、ゾーニングの情報を記憶部107が保持するゾーニングDB171から追加経路のゾーニングの情報を取得する。そして、ゾーニング情報登録部111は、取得したゾーニングの情報をメインDB173に登録する(ステップS210)。その後、ゾーニング情報登録部111は、WWNの登録をWWN情報登録部112に依頼する。
【0109】
WWN情報登録部112は、WWNの登録の依頼を受けて、ログイン情報を記憶部107が保持するログイン情報DB172から取得する(ステップS211)。
【0110】
次に、WWN情報登録部112は、新たに追加されたゾーニングで表されるポート100に接続された装置のWWNを取得したログイン情報から抽出する。そして、WWN情報登録部112は、抽出したWWNをゾーニングに対応させてメインDB173に登録する(ステップS212)。その後、WWN情報登録部112は、ボリュームの登録をボリューム情報登録部113に依頼する。
【0111】
ボリューム情報登録部113は、ボリュームの登録依頼を受けて、ホストアフィニティの情報をストレージ20から取得する(ステップS213)。
【0112】
次に、ボリューム情報登録部113は、新たに追加されたWWNに提供されるボリュームの情報をホストアフィニティの情報から取得する。そして、ボリューム情報登録部113は、取得したボリュームの情報をWWNに対応させてメインDB173に登録する(ステップS214)。
【0113】
その後、ボリューム情報登録部113は、メインDB173の更新完了をメインDB更新部108に通知する。メインDB更新部108は、メインDB173の更新完了の通知を受けて、メインDB173の更新をメインDB通知部110及び冗長チェック部104に通知する。そして、メインDB更新部108は、メインDB173の更新処理を終了する。
【0114】
次に、
図17を参照して、更新されたメインDB173の受信側のFCスイッチ10におけるメインDB173の更新処理の詳細な流れについて説明する。
図17は、更新されたメインDBの受信側のメインDBの更新処理の詳細なフローチャートである。
【0115】
メインDB受信部109は、他のFCスイッチ10で更新されたメインDB173の情報をストレージ20から受信する(ステップS301)。そして、メインDB受信部109は、更新されたメインDB173をメインDB更新部108へ出力する。
【0116】
メインDB更新部108は、ストレージ20から受信したメインDB173の入力をメインDB更新部108から受ける。次に、メインDB更新部108は、記憶部107が保持するメインDB173を取得する。そして、メインDB更新部108は、自己が有するメインDB173とストレージ20から受信したメインDB173との間に差分があるか否かを判定する(ステップS302)。差分がない場合(ステップS302:否定)、メインDB更新部108は、メインDB173の更新処理を終了する。
【0117】
これに対して、差分が存在する場合(ステップS302:肯定)、メインDB更新部108は、ストレージ20から受信したメインDB173における差分の情報を、記憶部107が保持するメインDB173の情報と差し替える(ステップS303)。
【0118】
次に、
図18を参照して、冗長異常検知処理の詳細な流れについて説明する。
図18は、冗長異常検知処理の詳細なフローチャートである。
【0119】
冗長チェック部104は、メインDB173の更新の通知を受けて、記憶部107が保持するメインDB173に登録された各接続情報のボリュームをチェックする(ステップS401)。
【0120】
そして、冗長チェック部104は、ボリュームが同一の通信経路を抽出する(ステップS402)。
【0121】
次に、冗長チェック部104は、ボリュームが同一の通信経路を同一冗長グループとして定義する(ステップS403)。そして、冗長チェック部104は、メインDB173における同一冗長グループとした接続情報の冗長グループの欄に同じ冗長グループを登録する。
【0122】
また、冗長チェック部104は、メインDB173に通信経路が1つの冗長グループが存在するか否かを判定する(ステップS404)。通信経路が1つのグループが存在しない場合(ステップS404:否定)、冗長チェック部104は、冗長異常検知処理を終了する。
【0123】
これに対して、通信経路が1つの冗長グループが存在する場合(ステップS404:肯定)、冗長チェック部104は、その冗長グループに属する数新経路の冗長異常を検知する(ステップS405)。
【0124】
次に、冗長チェック部104は、異常を検知した通信経路の情報、すなわち冗長構成を有さない通信経路の情報を冗長異常通知部103に通知する(ステップS406)。
【0125】
冗長異常通知部103は、異常が検知された通信経路の情報の通知を受けて、記憶部107が保持するメインDB173から異常が検知された通信経路のゾーニングの情報を取得する(ステップS407)。
【0126】
次に、冗長異常通知部103は、経路情報テーブル150を経路取得部105から取得する。そして、冗長異常通知部103は、経路情報テーブル150に登録された各通信経路の中から終端hopに異常が検知された通信経路のゾーニングと一致する通信経路の経路情報を取得する(ステップS408)。
【0127】
次に、冗長異常通知部103は、取得した経路情報に含まれる各hopの情報を取得する。そして、冗長異常通知部103は、取得したhopで示されるポート100、すなわち冗長構成を有さない通信経路に含まれる全てのポート100のLEDを点灯させる(ステップS409)。
【0128】
(ハードウェア構成)
図19は、FCスイッチのハードウェア構成図である。ここで、
図19を参照して、本実施例に係るFCスイッチ10のハードウェア構成ついて説明する。
【0129】
FCスイッチ10は、
図19に示すように、CPU(Central Processing Unit)91、メモリ92及びASIC(Application Specific Integrated Circuit)93を有する。CPU91は、メモリ92及びASIC93とバスで接続される。
【0130】
ASIC93は、ポート100に接続される。
図19では、1つのポート100を例示的に記載したが、ポート100は複数存在し、ASIC93は、複数のポート100に接続する。ASIC93は、FCスイッチ10における通信に関する機能を管理する。ASIC93は、例えば、
図2に例示したメインDB受信部109及びメインDB通知部110の機能を実現する。また、ASIC93は、CPU91が他の装置と通信する際の通信インタフェースである。
【0131】
メモリ92は、
図2に例示した、記憶部107の機能を実現する。また、メモリ92は、各種プログラムを格納する。各種プログラムには、
図2に例示したゾーニング設定部101、ログイン処理部102、冗長異常通知部103、冗長チェック部104、経路取得部105、経路情報チェック部106の機能を実現するプログラムが含まれる。また、各種プログラムには、
図2に例示したメインDB更新部108、ゾーニング情報登録部111、WWN情報登録部112、ボリューム情報登録部113の機能を実現するプログラムが含まれる。
【0132】
CPU91は、メモリ92に格納された各種プログラムを読み出して展開して実行する。これにより、CPU91は、
図2に例示したゾーニング設定部101、ログイン処理部102、冗長異常通知部103、冗長チェック部104、経路取得部105、経路情報チェック部106の機能を実現する。また、CPU91は、
図2に例示したメインDB更新部108、ゾーニング情報登録部111、WWN情報登録部112、ボリューム情報登録部113の機能を実現する。
【0133】
以上に説明したように、本実施例に係るFCスイッチは、ゾーニングとWWNとボリュームを含む接続情報で表される各通信経路の情報を保持する。そして、FCスイッチは、通信経路を構成する各装置から得られる経路情報と自装置が保持する接続情報とを照らし合わせて、経路の冗長構成の異常を自動定期に判定する。これにより、迅速に冗長構成の異常を把握することができ、異常を解消するまでの時間を短くすることができる。冗長構成を迅速に復旧することができるので、システム内の別の個所での作業や別障害の発生による重大な障害の発生を軽減し業務停止などのリスクを軽減でき、システムの信頼性を向上させることができる。
【0134】
例えば、従来は手動で行われていた冗長異常の解析を自動的に行うことで、従来に比べて以下のような様々な時間を削減することができる。例えば、管理者、ログ解析者、CE及びSE(System Engineer)の連携所調整にかかる時間、FCスイッチとストレージのログ採取にかかる時間、構成図の確認に係る時間、スイッチ及びストレージの設定確認にかかる時間といった時間が削減される。
【0135】
また、本実施例に係るストレージシステムは、ストレージやサーバなどの異なるファブリック間をまたぐ装置を用いて接続情報を共有する。経路の冗長構成は別ファブリックで構築するのが推奨されるが、本実施例に係るストレージシステムは、通信を行わないファブリック間の冗長構成にも対応することができ、そのような冗長構成の場合にもシステムの信頼性を向上させることができる。
【0136】
また、本実施例に係るFCスイッチは、接続情報を共有する場合に、スイッチ間接続を行うポートには接続情報を出力せずに、サーバやストレージなどのデバイスに接続するポートへ接続情報を出力する。これにより、通信帯域の使用量を低く抑えることができ、冗長構成の管理によるストレージシステムの性能低下を軽減することができる。
【0137】
また、本実施例に係るFCスイッチは、冗長構成が喪失した場合に、冗長性を失った通信経路が使用するポートのLDEを点灯するなどして、生き残った通信経路を管理者に通知する。これにより、容易に冗長性を喪失した通信経路を特定することができ、その特定した通信経路に対する対応が迅速に行われることで、冗長構成を構成する全ての通信経路の閉塞を回避することができる。
【符号の説明】
【0138】
10、10A~10D FCスイッチ
20、20A、20B ストレージ
30、30A、30B サーバ
11A~11D、12A~12D、13A~13D、21A、21B、22A、22B ポート
40 デバイス
50 管理端末
60 ストレージシステム
100 ポート
101 ゾーニング設定部
102 ログイン処理部
103 冗長異常通知部
104 冗長チェック部
105 経路取得部
106 経路情報チェック部
107 記憶部
108 メインDB更新部
109 メインDB受信部
110 メインDB通知部
111 ゾーニング情報登録部
112 WWN情報登録部
113 ボリューム情報登録部
171 ゾーニングDB
172 ログイン情報DB
173 メインDB