以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理システムを示す図である。第1の実施の形態の情報処理システムは、情報処理装置1、ノード2,3および中継装置4,5を含んだ複数の中継装置を含む。情報処理装置1は、ネットワーク6を介して、ノード2,3および中継装置4,5と接続されている。例えば、ネットワーク6は、管理用のネットワークである。例えば、ネットワーク6はイーサネット(登録商標)を用いたネットワークでもよい。
ノード2は、中継装置4に接続されている。ノード3は、中継装置5に接続されている。中継装置4,5は、ネットワーク7に属している。中継装置4,5は、ネットワーク7における通信を中継する。ネットワーク7には、中継装置4,5以外の中継装置が属していてもよい。例えば、中継装置4,5の間に他の中継装置が介在してもよい。すなわち、ノード2,3は、複数の中継装置を介して接続されている。ノード2,3は、ネットワーク7を介して接続されているということもできる。
例えば、ネットワーク7は、ファイバチャネル(FC:Fibre Channel)を用いたネットワークでもよい。ノード2を情報処理装置、ノード3をストレージ装置と考えることもできる。その場合、ネットワーク7は、ノード2がノード3にアクセスするためのSAN(Storage Area Network)と考えることもできる。
ここで、ノード2は、インタフェース部2a,2bを搭載している。インタフェース部2a,2bは、所定のケーブルで中継装置4に接続されている。インタフェース部2a,2bは、ノード2がネットワーク7を介してノード3にアクセスするために用いるインタフェースである。
ノード3は、インタフェース部3a,3bを搭載している。インタフェース部3a,3bは、所定のケーブルで中継装置5に接続されている。インタフェース部3a,3bは、ノード3がネットワーク7を介してノード2にアクセスするために用いるインタフェースである。
ただし、インタフェース部2b,3bは、ネットワーク7とは異なるネットワークに接続されてもよい。例えば、インタフェース部2bは、中継装置4とは異なる中継装置に接続されてもよい。また、インタフェース部3bは、中継装置5とは異なる中継装置に接続されてもよい。その場合、例えば、ノード2はネットワーク7とは異なるネットワークを介してもノード3にアクセスできることとなる。
情報処理装置1は、第1の実施の形態の情報処理システムの制御に用いられる。情報処理装置1は、CPU(Central Processing Unit)などのプロセッサとRAM(Random Access Memory)などのメモリとを備えてもよく、メモリに記憶されたプログラムをプロセッサが実行するコンピュータであってもよい。情報処理装置1は、記憶部1aと制御部1bとを有する。
記憶部1aは、インタフェース部2a,2bを示す情報と、複数の中継装置を介した(ネットワーク7上の)通信経路を示す経路情報と、を記憶する。例えば、インタフェース部2a,2bを示す情報は、ノード2から取得できる。制御部1bが当該情報をノード2から取得して記憶部1aに格納してもよい。また、例えば、経路情報は複数の中継装置から取得できる。制御部1bが経路情報を複数の中継装置から取得して記憶部1aに格納してもよい。
制御部1bは、記憶部1aに記憶された情報に基づいて、インタフェース部2a,2bからノード3にアクセスするための複数の中継装置を介した複数の通信経路の数がインタフェース部2a,2bの数よりも大きいか否か判定する。ここで、インタフェース部2a,2bからノード3にアクセスするための複数の中継装置を介した通信経路とは、インタフェース部2a,2bからノード3にアクセスする際に、ネットワーク7上で利用可能な通信経路である。例えば、インタフェース部2aが中継装置4と接続されており、ノード3が中継装置5と接続されていれば、中継装置4,5を末端とした複数の通信経路が存在し得る。ここでは、複数の通信経路として通信経路R1,R2,R3が存在しているとする。
制御部1bは、通信経路R1,R2,R3の数がインタフェース部2a,2bの数よりも大きい場合、通信経路R1,R2,R3の一部を切断するように複数の中継装置を制御する。
例えば、インタフェース部2a,2bの数は“2”である。一方、通信経路R1,R2,R3の数は、“3”である。この場合、通信経路R1,R2,R3の数“3”は、インタフェース部2a,2bの数“2”よりも大きい。よって、制御部1bは、通信経路R1,R2,R3の一部を切断するように複数の中継装置を制御する。例えば、制御部1bは、通信経路R1上で中継装置4,5の間に介在する他の中継装置の電源をOFF(オフ)にするよう制御することで、通信経路R1を切断することが考えられる。
第1の実施の形態の情報処理システムによれば、制御部1bにより、記憶部1aに記憶された情報に基づいて、通信経路R1,R2,R3の数がインタフェース部2a,2bの数よりも大きいか否か判定される。通信経路R1,R2,R3の数がインタフェース部2a,2bの数よりも大きい場合、制御部1bにより、通信経路R1,R2,R3の一部を切断するように複数の中継装置が制御される。
ここで、例えば、中継装置間の接続変更には、高度な知識や経験を要する場合がある。そこで、事後的な接続変更を避けるため、将来の通信量の増大などに対応し得る接続構成を事前に(導入時などに)用意することがある。すると、ノード2,3側で通信経路として確保したい冗長度とネットワーク7で実際に設けられた冗長度とで齟齬が生じ、ネットワーク7上の冗長度が過剰になる場合がある。例えば、過剰な通信経路が存在すると、当該通信経路上の中継装置(あるいは、中継装置の一部)の消費電力が問題となる。少なくともノード2,3で確保したい冗長度が、ネットワーク7上でも確保されていればよいと考えられるためである。例えば、過剰分の通信経路を維持するのは電力の過剰な消費を伴う。よって、過剰な通信経路がある場合、これを削減することが望ましい。この場合、システムの管理者が個々のノードにつき過剰な通信経路の有無を確認する作業を行うことも考えられる。しかし、管理者が当該作業を行うとすると多大な工数を要し、非効率的であった。特に、ネットワークが大規模になるほど当該作業は困難であった。
これに対し、情報処理装置1では、経路情報に基づき、通信経路R1,R2,R3の数を取得して、これをノード2のインタフェース部2a,2bの数と比較する。インタフェース部2a,2bは、ノード2で確保したい通信の冗長度に応じて設けられるものであり、その数は、ノード2側で確保したい冗長度を反映したものとなる。そして、通信経路R1,R2,R3の数がインタフェース部2a,2bの数に対して過剰な場合には、通信経路R1,R2,R3の一部を切断するように複数の中継装置を制御する。これにより、過剰な通信経路を探索する作業を省力化でき、過剰な通信経路を効率的に削減できる。
なお、制御部1bは、切断後の当該通信経路の数がノード2のインタフェース部2a,2bの数よりも小さくならないように切断する通信経路の数を決定してもよい。上記の例では、通信経路の数“3”に対して、ノード2のインタフェース部2a,2bの数は“2”である。よって、制御部1bは、通信経路R1,R2,R3のうちの1つの通信経路(例えば、通信経路R1)を切断する。このようにすれば、ノード2で確保したい冗長度をネットワーク7側でも確保しながら、過剰な通信経路を削減できる。
また、制御部1bは、通信経路R1上で、中継装置4,5の間に介在する他の中継装置の電源をOFFにするよう制御することで、通信経路R1を切断してもよい。または、制御部1bは、通信経路R1に属しており中継装置4,5および他の中継装置の何れかに搭載された通信用のポートへの電源供給を部分的にOFFにするよう制御することで、通信経路R1を切断してもよい。何れかの中継装置(または、中継装置内の一部のポート)の電源をOFFにすることで、過剰な通信経路を削減し省電力化を図れる。
[第2の実施の形態]
図2は、第2の実施の形態のストレージシステムを示す図である。第2の実施の形態のストレージシステムは、管理サーバ100、サーバ200,200a、FCスイッチ装置300,300a,300b,300c,300d,300eおよびストレージ装置400,400aを含む。第2の実施の形態のストレージシステムは、サーバ200,200aがFCのネットワークを介してストレージ装置400,400aにアクセスするシステムである。
管理サーバ100は、サーバ200,200aおよびFCスイッチ装置300,300a,300b,300c,300d,300eと管理用LAN(Local Area Network)10を介して接続されている。管理用LAN10は、イーサネットのネットワークである。サーバ200,200aおよびストレージ装置400,400aは、FCスイッチ装置300,300a,300b,300c,300dを介して接続されている。
管理サーバ100は、サーバ200,200aおよびFCスイッチ装置300,300a,300b,300c,300d,300eを制御するサーバコンピュータである。
サーバ200,200aは、ストレージ装置400,400aに格納されたデータを用いた処理を行うサーバコンピュータである。例えば、サーバ200,200aは、他のネットワーク(図2では図示を省略)に接続され、当該ネットワークを介してクライアントコンピュータ(図2では図示を省略)や他のサーバコンピュータ(図2では図示を省略)に所定のサービスを提供するものでもよい。例えば、サーバ200,200aは、ストレージ装置400,400aにデータを格納するファイルサーバとして機能してもよい。サーバ200,200aは、ストレージ装置400,400aに格納されたデータに基づくWebサービスを提供するWebサーバとして機能してもよい。サーバ200,200aは、ストレージ装置400,400aに格納されたデータに基づく処理を行い、処理結果を提供するAP(APplication)サーバとして機能してもよい。サーバ200,200aは、ストレージ装置400,400aに格納されたデータベース(DB:DataBase)ファイルを操作するDBサーバとして機能してもよい。
サーバ200の管理用LAN10におけるIP(Internet Protocol)アドレスは、“192.168.0.101”である。サーバ200aのIPアドレスは、“192.168.0.102”である。なお、図2では各装置の横の括弧内の数値は、当該装置のIPアドレスのうち、ホストアドレス部分のみを表記したものであり、ネットワークアドレス部分の表記を省略している(以下、同様)。
FCスイッチ装置300,300a,300b,300c,300dは、サーバ200,200aおよびストレージ装置400,400aの間でFCのネットワークを形成する中継装置である。当該ネットワークは、SANと呼ばれることもある。FCスイッチ装置300eは、FCのネットワークには接続されていない。例えば、FCスイッチ装置300eは、FCスイッチ装置300,300a,300b,300c,300dが故障した際などに代替で利用される予備機である。
FCスイッチ装置300の管理用LAN10におけるIPアドレスは、“192.168.0.1”である。FCスイッチ装置300aのIPアドレスは、“192.168.0.2”である。FCスイッチ装置300bのIPアドレスは、“192.168.0.3”である。FCスイッチ装置300cのIPアドレスは、“192.168.0.4”である。FCスイッチ装置300dのIPアドレスは、“192.168.0.5”である。FCスイッチ装置300eのIPアドレスは、“192.168.0.6”である。
ストレージ装置400,400aは、サーバ200,200aが扱うデータを記憶する記憶装置である。ストレージ装置400,400aは、複数のHDD(Hard Disk Drive)やSSD(Solid State Drive)などの記憶装置を搭載する。ストレージ装置400,400aは、複数の記憶装置を論理的に1つの記憶装置として扱えるようにするRAID(Redundant Arrays of Inexpensive Disks)の機能を有してもよい。また、ストレージ装置400,400aは、FCのネットワークに接続するためのアダプタを備えている。
ここで、サーバ200,200a、FCスイッチ装置300,300a,300b,300c,300dおよびストレージ装置400,400aは、次のように接続されている。各装置間は、FCケーブルにより接続される。
サーバ200とFCスイッチ装置300,300dとが接続されている。サーバ200aとFCスイッチ装置300,300dとが接続されている。FCスイッチ装置300aとFCスイッチ装置300,300cとが接続されている。FCスイッチ装置300bとFCスイッチ装置300,300cとが接続されている。ストレージ装置400とFCスイッチ装置300a,300dとが接続されている。ストレージ装置400aとFCスイッチ装置300c,300dとが接続されている。
また、第2の実施の形態における各FCスイッチ装置は、FCの通信につき、ファブリック(fabric)と呼ばれる接続形態により、複数のノード(サーバ200,200aやストレージ装置400,400a)間の通信を行う。ファブリックという用語は、複数のFCスイッチ装置を含む(ファブリックによる接続形態の)1つのネットワークの単位を指す用語として用いられることもある。FCスイッチ装置300,300a,300b,300c,300d,300eは、それぞれが何れかのファブリックに属し、自身が何れのファブリックに属するかを示すファブリックID(IDentifier)を保持する。具体的には、FCスイッチ装置300,300a,300b,300cは、ファブリックID“1”のファブリックに属する。FCスイッチ装置300dは、ファブリックID“2”のファブリックに属する。FCスイッチ装置300eは、ファブリックID“3”のファブリックに属する。
図3は、第2の実施の形態の管理サーバのハードウェア例を示す図である。管理サーバ100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、ディスクドライブ106および通信部107を有する。各ユニットが管理サーバ100のバスに接続されている。サーバ200,200aも管理サーバ100と同様のハードウェアを用いて実装できる。
CPU101は、管理サーバ100の情報処理を制御するプロセッサである。CPU101は、HDD103に記憶されているプログラムやデータの少なくとも一部を読み出し、RAM102に展開してプログラムを実行する。なお、管理サーバ100は、複数のプロセッサを設けて、プログラムを分散して実行してもよい。
RAM102は、CPU101が実行するプログラムや処理に用いるデータを一時的に記憶する揮発性メモリである。なお、管理サーバ100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えていてもよい。
HDD103は、OS(Operating System)プログラムやアプリケーションプログラムなどのプログラムおよびデータを記憶する不揮発性の記憶装置である。HDD103は、CPU101の命令に従って、内蔵の磁気ディスクに対してデータの読み書きを行う。なお、管理サーバ100は、HDD以外の種類の不揮発性の記憶装置(例えば、SSDなど)を備えてもよく、複数の記憶装置を備えていてもよい。
画像信号処理部104は、CPU101の命令に従って、管理サーバ100に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、例えば、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイを用いることができる。
入力信号処理部105は、管理サーバ100に接続された入力デバイス12から入力信号を取得し、CPU101に出力する。入力デバイス12としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
ディスクドライブ106は、記録媒体13に記録されたプログラムやデータを読み取る駆動装置である。記録媒体13として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。ディスクドライブ106は、例えば、CPU101の命令に従って、記録媒体13から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
通信部107は、管理用LAN10を介してサーバ200,200aおよびFCスイッチ装置300,300a,300b,300c,300d,300eと通信を行う通信インタフェースである。通信部107は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。なお、サーバ200,200aは、管理用LAN10に接続する通信部に加えて、FCスイッチ装置300,300aに接続するための通信部を有する。サーバ200,200aが備える当該通信部は、ホストバスアダプタ(HBA:Host Bus Adapter)と呼ばれることがある。サーバ200,200aは、当該通信部を介して、ストレージ装置400,400aにアクセスする。
図4は、第2の実施の形態のFCスイッチ装置のハードウェア例を示す図である。FCスイッチ装置300は、スイッチコントローラ301、RAM302、フラッシュメモリ303、通信部304、スイッチ305、電源部306およびポート310,320,330,340を有する。ポート310,320,330,340以外の各ユニットがFCスイッチ装置300のバスに接続されている。FCスイッチ装置300a,300b,300c,300d,300eもFCスイッチ装置300と同様のハードウェアを用いて実装できる。
スイッチコントローラ301は、FCスイッチ装置300による中継処理(ルーティング)などの情報処理を制御する制御回路である。
RAM302は、スイッチコントローラ301が実行するプログラムや処理に用いるデータを一時的に記憶する揮発性メモリである。
フラッシュメモリ303は、スイッチコントローラ301が実行するプログラムやプログラムの処理に用いるデータを記憶する不揮発性メモリである。
通信部304は、管理用LAN10を介して管理サーバ100と通信を行う通信インタフェースである。通信部304は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
スイッチ305は、ポート310,320,330,340に接続される。スイッチ305は、スイッチコントローラ301からの指示に応じて、FCのデータ通信単位であるFCフレームをポート310,320,330,340に対して振り分ける装置内スイッチである。
電源部306は、FCスイッチ装置300の各部に電力を供給する電源である。電源部306は、スイッチコントローラ301の指示によりFCスイッチ装置300の電源ON/OFFを切り替える。電源部306は、電源OFF状態であっても、通信部304には少量の電力を供給し続けてもよい。管理サーバ100から電源ONの指示を受信可能にするためである。電源部306は、通信部304および管理用LAN10を介した、管理サーバ100からの指示によりFCスイッチ装置300の電源ON/OFFを切り替える。
次に、第2の実施の形態のストレージシステムにおけるFCによる接続例を説明する。まず、サーバ200,200aおよびFCスイッチ装置300,300a,300b,300c,300d,300eについて説明する。
図5は、第2の実施の形態のFCによる接続例を示す図である。サーバ200は、アダプタ210,220を有する。サーバ200aは、アダプタ210a,220aを有する。アダプタ210,220,210a,220aは、FCのアダプタである。アダプタ210,220,210a,220aは、HBAと呼ばれることがある。アダプタ210,220,210a,220aは、第1の実施の形態で示したインタフェース部2a,2bの一例である。
アダプタ210,220,210a,220aには、ワールドワイドネーム(WWN:World Wide Name)と呼ばれる識別情報が付与されている。アダプタ210のWWNは、“WWN1”である。アダプタ220のWWNは、“WWN2”である。アダプタ210aのWWNは、“WWN3”である。アダプタ220aのWWNは、“WWN4”である。アダプタ210,220,210a,220aは、少なくとも1つのFCの通信用のポートを有している。
また、FCスイッチ装置300は、ポート310,320,330,340を有する。FCスイッチ装置300aは、ポート310a,320a,330aを有する。FCスイッチ装置300bは、ポート310b,320bを有する。FCスイッチ装置300cは、ポート310c,320c,330cを有する。FCスイッチ装置300dは、ポート310d,320d,330d,340dを有する。FCスイッチ装置300eは、ポート310e,320e,330e,340eを有する。各FCスイッチ装置が有する各ポートは、FCの通信用のポートである。
なお、各FCスイッチ装置には、ドメインIDと呼ばれるファブリック内でユニークな識別情報が付与される。ファブリックID“1”のファブリックについては次の通りである。FCスイッチ装置300はドメインID“1”である。FCスイッチ装置300aはドメインID“2”である。FCスイッチ装置300bはドメインID“3”である。FCスイッチ装置300cはドメインID“4”である。
ファブリックID“2”のファブリックに属するFCスイッチ装置300dはドメインID“1”である。ファブリックID“3”のファブリックに属するFCスイッチ装置300eはドメインID“1”である。
ファブリックIDとドメインIDとの組で、FCスイッチ装置を識別できる。
第2の実施の形態のストレージシステムでは、アダプタ210,220,210a,220a(それぞれのアダプタが備える何れかのポート)および各FCスイッチ装置が有する各ポートを、次のように接続する。接続は、FCケーブルの端部に設けられたコネクタを各ポートに結合することで行われる。
サーバ200,200aとFCスイッチ装置300,300dとの接続は次の通りである。アダプタ210とポート310とを接続する。アダプタ220とポート310dとを接続する。アダプタ210aとポート320とを接続する。アダプタ220aとポート320dとを接続する。
ファブリックID“1”のファブリック内の接続は次の通りである。ポート330とポート310aとを接続する。ポート340とポート310bとを接続する。ポート330aとポート310cとを接続する。ポート320bとポート320cとを接続する。
ファブリックID“2”のファブリックに属するのは、FCスイッチ装置300dのみであり、FCスイッチ装置300dと他のFCスイッチ装置との接続はない。
ファブリックID“3”のファブリックに属するのは、FCスイッチ装置300eのみであり、FCスイッチ装置300eと他のFCスイッチ装置との接続はない。
次に、ストレージ装置400,400aについて説明する。
図6は、第2の実施の形態のFCによる接続例(続き)を示す図である。ストレージ装置400は、アダプタ410,420を有する。ストレージ装置400aは、アダプタ410a,420aを有する。アダプタ410,420,410a,420aは、FCのアダプタである。アダプタ410,420,410a,420aは、HBAと呼ばれることがある。アダプタ410,420,410a,420aは、第1の実施の形態で示したインタフェース部3a,3bの一例である。
アダプタ410,420,410a,420aには、WWNが付与されている。アダプタ410のWWNは、“WWN11”である。アダプタ420のWWNは、“WWN12”である。アダプタ410aのWWNは、“WWN13”である。アダプタ420aのWWNは、“WWN14”である。アダプタ410,420,410a,420aは、少なくとも1つのFCの通信用のポートを有している。
第2の実施の形態のストレージシステムでは、アダプタ410,420,410a,420a(それぞれのアダプタが備える何れかのポート)および各FCスイッチ装置が有する各ポートを、次のように接続する。接続は、FCケーブルの端部に設けられたコネクタを各ポートに結合することで行われる。
アダプタ410とポート320aとを接続する。アダプタ420とポート330dとを接続する。アダプタ410aとポート330cとを接続する。アダプタ420aとポート340dとを接続する。図5,6の接続により図2のFCのネットワークが形成される。
図7は、第2の実施の形態のストレージ装置へのアクセスの例を示す図である。サーバ200,200aは、FCスイッチ装置300,300a,300b,300c,300dを介してストレージ装置400,400aにアクセスする。サーバ200,200aは、ストレージ装置400,400aの記憶領域を論理ユニット(LU:Logical Unit)単位に認識する。LUには、ストレージ装置400,400a内で当該LUを識別するための論理ユニット番号(LUN:LU Number)と呼ばれる識別情報が付与される。ストレージ装置400には、LU430が設けられている。LU430のLUNは、“LUN1”である。ストレージ装置400aには、LU430a,440aが設けられている。LU430aのLUNは、“LUN2”である。LU440aのLUNは“LUN3”である。
サーバ200は、LU430a,440aにアクセス可能である。サーバ200aは、LU430,430aにアクセス可能である。サーバ200,200aからLU430,430a,440aの何れにアクセス可能とするかは、サーバ200,200aに予め設定される。具体的には、サーバ200,200aには、ストレージ装置400,400aへのアクセスに用いるアダプタのWWNが、ストレージシステムの管理者により予め格納される。
例えば、図5,6で示した接続によれば、アダプタ210は、ファブリックID“1”のファブリックを介してアダプタ410aに接続されている。また、アダプタ220は、ファブリックID“2”のファブリックを介してアダプタ420aに接続されている。したがって、サーバ200からLU430a(“LUN2”)へのアクセスについて、次の対応関係を示す情報がサーバ200に予め格納される。
(1)アダプタ210のWWN(“WWN1”)とアダプタ410aのWWN(“WWN13”)との組み合わせ。図7では、サーバ200側のWWNをサーバWWN、ストレージ装置400側のWWNをストレージWWNと表記している(以下、同様)。
(2)アダプタ220のWWN(“WWN2”)とアダプタ420aのWWN(“WWN14”)との組み合わせ。
同様に、サーバ200からLU440a(“LUN3”)へのアクセスについて、次の対応関係を示す情報がサーバ200に予め格納される。
(3)アダプタ210のWWN(“WWN1”)とアダプタ410aのWWN(“WWN13”)との組み合わせ。
(4)アダプタ220のWWN(“WWN2”)とアダプタ420aのWWN(“WWN14”)との組み合わせ。
(1)〜(4)の情報は、例えば、アクセス管理テーブル230に登録されてサーバ200の所定の記憶部に格納される。
また、図5,6で示した接続によれば、アダプタ210aは、ファブリックID“1”のファブリックを介してアダプタ410,410aに接続されている。また、アダプタ220aは、ファブリックID“2”のファブリックを介してアダプタ420,420aに接続されている。したがって、サーバ200aからLU430(“LUN1”)へのアクセスについて、次の対応関係を示す情報がサーバ200aに予め格納される。
(5)アダプタ210aのWWN(“WWN3”)とアダプタ410のWWN(“WWN11”)との組み合わせ。
(6)アダプタ220aのWWN(“WWN4”)とアダプタ420のWWN(“WWN12”)との組み合わせ。
同様に、サーバ200aからLU430a(“LUN2”)へのアクセスについて、次の対応関係を示す情報がサーバ200aに予め格納される。
(7)アダプタ210aのWWN(“WWN3”)とアダプタ410aのWWN(“WWN13”)との組み合わせ。
(8)アダプタ220aのWWN(“WWN4”)とアダプタ420aのWWN(“WWN14”)との組み合わせ。
(5)〜(8)の情報は、例えば、アクセス管理テーブル230aに登録されてサーバ200aの所定の記憶部に格納される。
ここで、以下では、サーバからLUへのアクセスに用いるアダプタを起点としたパスを、サーバから各LUへのアクセスパスと呼ぶこととする。例えば、サーバ200からLU430a(“LUN2”)へのアクセスパスとして、アダプタ210,220(“WWN1”,“WWN2”)を起点としたパスが存在するといえる。第2の実施の形態では、アクセスパスはアダプタ単位に存在する。すなわち、あるサーバから1つのLUへのアクセスパスの数は、当該LUへのアクセスに利用可能な当該サーバ上のアダプタの数に等しい。アクセスパスの数は、サーバ側で確保したい通信経路の冗長度に相当する。例えば、アクセス管理テーブル230ではLU430aへのアクセスに対し、アダプタ210,220の2つのアクセスパス(アダプタ)が存在するので、当該冗長度は“2”である。LU440aもLU430aと同様である。
図8は、第2の実施の形態のソフトウェア例を示す図である。図8に示すユニットの一部または全部は、管理サーバ100、サーバ200,200aおよびFCスイッチ装置300,300a,300b,300c,300d,300eが実行するプログラムのモジュールであってもよい。また、図8に示すユニットの一部または全部は、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などの電子回路であってもよい。サーバ200aもサーバ200と同様のユニットを用いて実装できる。FCスイッチ装置300a,300b,300c,300d,300eもFCスイッチ装置300と同様のユニットを用いて実装できる。
管理サーバ100は、記憶部110、収集部120、経路管理部130および指示部140を有する。
記憶部110は、収集部120がサーバ200,200aおよび各FCスイッチ装置から収集した情報を記憶する。また、記憶部110は、経路管理部130が当該収集した情報に基づいて生成した情報を記憶する。
収集部120は、サーバ200,200aおよび各FCスイッチ装置から情報を収集して記憶部110に格納する。具体的には、収集部120は、サーバ200,200aがストレージ装置400,400aへのアクセスに用いるアダプタのWWNを示す情報を、サーバ200,200aから収集する。より具体的には、図7で例示したアクセス管理テーブル230,230aに登録された情報である。
また、収集部120は、FCスイッチ装置のファブリックID、ドメインIDおよび電源状態などの情報を各FCスイッチ装置から収集する。また、収集部120は、何れのFCスイッチ装置に何れのサーバまたは何れのストレージ装置が接続されているかを示す情報を、各FCスイッチ装置から収集する。更に、収集部120は、各ファブリック内における通信経路を示す経路情報を各FCスイッチ装置から収集する。
例えば、収集部120は、ストレージシステムの管理者による処理開始の指示を受け付けたときに、各情報を収集する。収集部120は、定期的に各情報を収集してもよい。収集部120は、各FCスイッチ装置の接続構成が変更されたことを検出して、各情報を収集してもよい。
経路管理部130は、収集部120が収集し記憶部110に格納した情報に基づいて、サーバ200,200a側で確保したい通信経路の冗長度に対し、各FCスイッチ装置間(FCのネットワーク)における通信経路の冗長度が過剰であるか否かを判定する。経路管理部130は、通信経路の冗長度が過剰であると判定した場合、通信経路の切断を指示部140に指示する。具体的には、切断する通信経路上に存在する何れか(または複数)のFCスイッチ装置の電源をOFFにするよう指示部140に指示する。経路管理部130は、収集部120が各情報を収集した後に、これらの処理を実行する。
指示部140は、経路管理部130から指示されたFCスイッチ装置に対し、電源OFFの指示を送信する。
サーバ200は、記憶部250および連携部260を有する。
記憶部250は、アクセス管理テーブル230を記憶する。アクセス管理テーブル230は、例えば、システムの管理者により予め格納される。
連携部260は、収集部120から情報提供の要求を受け付ける。すると、連携部260は、記憶部250に記憶されたアクセス管理テーブル230を収集部120に提供する。
FCスイッチ装置300は、記憶部350、スイッチ処理部360、連携部370および電源制御部380を有する。
記憶部350は、FCスイッチ装置300のファブリックIDおよびドメインIDを記憶する。例えば、ファブリックIDやドメインIDは、システムの管理者が決定して記憶部350に予め登録される。ドメインIDは、ファブリック内のFCスイッチ装置間の調停により決定されてもよい。
また、記憶部350は、FCスイッチ装置300が属するファブリック内の何れのFCスイッチ装置に何れのサーバまたは何れのストレージ装置が(FCケーブルで直接的に)接続されているかを示す接続管理情報を記憶する。更に、記憶部350は、ファブリック内の通信経路を示す経路情報を記憶する。
スイッチ処理部360は、FCスイッチ装置300における情報処理(ノードに対する各種のサービス提供など)を実行する。例えば、スイッチ処理部360は、FCスイッチ装置300に接続されたノードとポートとの接続関係を取得して接続管理情報を生成し、記憶部350に格納する。例えば、スイッチ処理部360は、ノードから通信相手のWWNなどを受信すると、ファブリック内における当該WWNに対する所定のアドレス情報を応答する(名前解決)。このような機能は、例えば、ネームサーバ(Name Server)と呼ばれることがある。ネームサーバの機能は、ファブリック内の1つのFCスイッチ装置で実現されてもよいし、各FCスイッチ装置が情報を共有し、各FCスイッチ装置上で実現されてもよい。
また、スイッチ処理部360は、ファブリック内の全FCスイッチ装置相互間の経路を示す経路情報を生成して記憶部350に格納する。当該経路情報は、トポロジーデータベース(Topology Database)やリンクステートデータベース(Link State Database)などと呼ばれることがある。例えば、スイッチ処理部360は、FSPS(Fabric Shortest Path First)と呼ばれるルーティングプロトコルを用いて、経路情報に基づく経路選択を行う。
連携部370は、収集部120から情報提供の要求を受け付ける。すると、連携部370は、記憶部350に記憶されたFCスイッチ装置300のファブリックIDやドメインIDの情報、接続管理情報および経路情報などを収集部120に提供する。
また、連携部370は、指示部140から電源OFFの指示を受信すると、当該指示を電源制御部380に通知する。
電源制御部380は、連携部370から通知された電源OFFの指示に応じて、電源部306による各ユニットへの電力供給を停止させ、FCスイッチ装置300を電源OFF状態にする。
図9は、第2の実施の形態のスイッチ管理テーブルの例を示す図である。スイッチ管理テーブル111は、記憶部110に格納される。スイッチ管理テーブル111に登録される情報には、収集部120が各FCスイッチ装置から収集した情報が含まれる。スイッチ管理テーブル111は、スイッチIPアドレス、ファブリックID、ドメインID、電源状態および指示フラグの項目を含む。
スイッチIPアドレスの項目には、FCスイッチ装置のIPアドレスが登録される。例えば、各FCスイッチ装置のIPアドレスは、管理者によって予め登録されている。ファブリックIDの項目には、FCスイッチ装置が属するファブリックIDが登録される。ドメインIDの項目には、FCスイッチ装置のドメインIDが登録される。電源状態の項目には、FCスイッチ装置が電源ON/OFFの何れの状態であるかを示す情報が登録される。例えば、電源ON状態であれば、“ON”という情報が設定される。電源OFF状態であれば、“OFF”という情報が設定される。指示フラグの項目には、FCスイッチ装置への指示内容を管理するための指示フラグが設定される。指示フラグは、経路管理部130の処理に応じて更新される。指示フラグの値の意味は次の通りである。
(1)指示フラグ“0”は初期値を示す。
(2)指示フラグ“1”は電源ON状態の継続(すなわち、電源OFF不可)を示す。
(3)指示フラグ“2”は電源OFFの指示を行う対象であることを示す。
例えば、スイッチ管理テーブル111には、スイッチIPアドレス“192.168.0.1”、ファブリックID“1”、ドメインID“1”、電源状態“ON”、指示フラグ“0”が登録される。これは、FCスイッチ装置300(IPアドレス“192.168.0.1”)が、ファブリックID“1”のファブリックに属し、ドメインID“1”であり、電源ONの状態であることを示す。指示フラグ“0”は初期値である。
例えば、スイッチ管理テーブル111には、スイッチIPアドレス“192.168.0.7”、ファブリックID“none”、ドメインID“none”、電源状態“OFF”、指示フラグ“0”が登録される。これは、IPアドレス“192.168.0.7”のFCスイッチ装置が管理用LAN10内に存在しない場合のレコードである。
図10は、第2の実施の形態のLUN管理テーブルの例を示す図である。LUN管理テーブル112は、記憶部110に格納される。LUN管理テーブル112に登録される情報は、収集部120がサーバ200,200aから収集した情報である。LUN管理テーブル112は、サーバIPアドレス、アクセスパス番号、LUN、サーバWWNおよびストレージWWNの項目を含む。
サーバIPアドレスの項目には、サーバのIPアドレスが登録される。例えば、各サーバのIPアドレスは、管理者によって予め登録される。アクセスパス番号の項目には、各サーバの各LUへのアクセスパスを識別するためのアクセスパス番号が登録される。LUNの項目には、アクセス先のLUのLUNが登録される。サーバWWNの項目には、当該LUにアクセスするために利用可能なサーバ側のアダプタのWWNが登録される。ストレージWWNの項目には、当該LUにアクセスするために利用可能なストレージ装置側のアダプタのWWNが登録される。
例えば、LUN管理テーブル112には、サーバIPアドレス“192.168.0.101”、アクセスパス番号“1”、LUN“LUN2”、サーバWWN“WWN1”、ストレージWWN“WWN13”という情報が登録される。これは、サーバ200(IPアドレス“192.168.0.1”)が、アクセスパス番号“1”のアクセスパスを有していることを示す。また、アクセスパス番号“1”のアクセスパスでは、LUN“LUN2”のLUに対して、サーバWWN“WWN1”のアダプタ210およびストレージWWN“WWN13”のアダプタ410aを利用可能であることを示す。
図11は、第2の実施の形態の接続管理テーブルの例を示す図である。接続管理テーブル113は、記憶部110に格納される。接続管理テーブル113に登録される情報は、収集部120が各FCスイッチ装置から収集した情報である。接続管理テーブル113は、WWN、ファブリックIDおよびドメインIDの項目を含む。
WWNの項目には、サーバまたはストレージ装置上のアダプタのWWNが登録される。ファブリックIDの項目には、当該サーバと直接接続されたFCスイッチ装置が属するファブリックIDが登録される。ドメインIDの項目には、FCスイッチ装置のドメインIDが登録される。
例えば、接続管理テーブル113には、WWN“WWN1”、ファブリックID“1”、ドメインID“1”が登録される。これは、FCスイッチ装置300(ファブリックID“1”、ドメインID“1”)に、アダプタ210(“WWN1”)が接続されていることを示す。FCスイッチ装置300に(アダプタ210を有する)サーバ200が直接接続されているということもできる。
図12は、第2の実施の形態の経路テーブルの例を示す図である。経路テーブル114は、記憶部110に格納される。経路テーブル114に登録される情報は、収集部120が各FCスイッチ装置から収集した経路情報である。例えば、収集部120は、各ファブリックに含まれる複数のFCスイッチ装置で経路情報が同期されている場合、そのうちの1つから経路情報を収集してもよい。あるいは、収集部120は、各ファブリックに含まれる複数のFCスイッチ装置から収集した経路情報をマージして経路テーブル114への登録を行ってもよい。経路テーブル114は、ファブリックIDおよび経路上のスイッチのドメインIDの項目を含む。
ファブリックIDの項目には、ファブリックIDが登録される。経路上のスイッチのドメインIDの項目には、2つのFCスイッチ装置を末端とした1つの経路につき、当該末端のFCスイッチ装置を含む当該経路上のFCスイッチ装置のドメインIDの集合が登録される。ドメインIDの順序は、経由するFCスイッチ装置の順序に対応している。
例えば、経路テーブル114には、ファブリックID“1”、経路上のスイッチのドメインID{“1”、“2”}という情報が登録される。これは、ファブリックID“1”のファブリックにおいて、FCスイッチ装置300,300a(ドメインID“1”、“2”)を末端とした経路上に、FCスイッチ装置300,300aが存在することを示す(この場合は、末端のFCスイッチ装置のみ)。
また、例えば、経路テーブル114には、ファブリックID“1”、経路上のスイッチのドメインID{“1”、“3”、“4”、“2”}という情報が登録される。これは、ファブリックID“1”のファブリックにおいて、FCスイッチ装置300,300aを末端とした経路上に、FCスイッチ装置300,300b,300c,300a(ドメインID“1”、“3”、“4”、“2”)が存在することを示す。
図13は、第2の実施の形態の経路管理テーブルの例を示す図である。経路管理テーブル115は、記憶部110に格納される。経路管理テーブル115に登録される情報は、収集部120が収集し記憶部110に格納した情報に基づいて、経路管理部130が生成した情報である。経路管理テーブル115は、サーバIPアドレス、アクセスパス番号、LUN、サーバWWN、ストレージWWNおよびネットワーク経路の項目を含む。ネットワーク経路の項目は、更に細分化され、ファブリックID、経路上のスイッチのドメインIDおよび経路数の項目を含む。
ここで、経路管理部130は、LUN管理テーブル112、接続管理テーブル113および経路テーブル114に基づいて経路管理テーブル115を生成する。
このため、サーバIPアドレス、アクセスパス番号、LUN、サーバWWNおよびストレージWWNの項目の登録内容は、LUN管理テーブル112に含まれる各項目の登録内容と同様である。また、ファブリックIDおよび経路上のスイッチのドメインIDの項目の登録内容は、経路テーブル114に含まれる各項目の登録内容と同様である。
また、経路数の項目には、1つのアクセスパスに対するファブリック内の経路数が登録される。経路管理部130は、1つのアクセスパスに対応する経路上のスイッチのドメインIDの集合の数を合計して、当該経路数を算出できる。
例えば、経路管理テーブル115には、サーバIPアドレス“192.168.0.101”、アクセスパス番号“1”、LUN“LUN2”サーバWWN“WWN1”、ストレージWWN“WWN13”、ファブリックID“1”、経路上のスイッチのドメインID{“1”、“2”、“4”}、{“1”、“3”、“4”}、経路数“2”が登録される。これは、アクセスパス番号“1”のアクセスパスがFCスイッチ装置300,300a,300cを経由する経路またはFCスイッチ装置300,300b,300cを経由する経路を介するものであることを示す。ここでは、2つのドメインIDの集合{“1”、“2”、“4”},{“1”、“3”、“4”}が存在するので、経路数は“2”である。
同様に、経路管理テーブル115には、サーバIPアドレス“192.168.0.101”、アクセスパス番号“1”、LUN“LUN2”サーバWWN“WWN2”、ストレージWWN“WWN14”、ファブリックID“2”、経路上のスイッチのドメインID“1”、経路数“1”が登録される。これは、アクセスパス番号“2”のアクセスパスがFCスイッチ装置300dを経由する経路を介するものであることを示す。ここでは、1つのドメインIDの集合{“1”}が存在するので、経路数は“1”である。
すなわち、サーバ200からLU430aにアクセスするためのアクセスパスは2(アクセスパス番号“1”、“2”の総数=2)である。一方、FCのネットワークでは当該アクセスパスに対する通信経路は、3(=2+1)である。
図14は、第2の実施の形態の制御の例を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
(ステップS11)収集部120は、ストレージシステムの管理者による処理開始の指示を受け付ける。例えば、管理者は、入力デバイス12を操作して、当該指示を管理サーバ100に入力できる。
(ステップS12)収集部120は、ファブリックIDやドメインIDおよび電源状態などの情報を各FCスイッチ装置から収集する。収集対象となるFCスイッチ装置の管理LAN10上のIPアドレスは、記憶部110に記憶されたスイッチ管理テーブル111に予め登録されている。収集部120は、スイッチ管理テーブル111に登録されたIPアドレスを参照して、各FCスイッチ装置へ情報提供を要求できる。収集部120は、収集した情報をスイッチ管理テーブル111に登録する。指示フラグは初期値“0”とする。また、収集部120は、情報を得られなかったIPアドレスに対して、ファブリックID“none”、ドメインID“none”、電源状態“OFF”を登録する。
(ステップS13)収集部120は、アクセス管理テーブル230,230aの登録内容をサーバ200,200aから収集し、記憶部110に格納されたLUN管理テーブル112に登録する。収集対象となるサーバの管理用LAN10上のIPアドレスは、記憶部110に記憶されたLUN管理テーブル112に予め登録されている。
(ステップS14)収集部120は、接続情報を各FCスイッチ装置から収集し、記憶部110に記憶された接続管理テーブル113に登録する。収集部120は、経路情報を各FCスイッチ装置から収集し、記憶部110に記憶された経路テーブル114に登録する。
(ステップS15)経路管理部130は、LUN管理テーブル112、接続管理テーブル113および経路テーブル114に基づいて、経路管理テーブル115を生成し、記憶部110に登録する。具体的には、経路管理部130は、LUN管理テーブル112を参照して、アクセスパス番号ごとに、サーバWWNとストレージWWNとの組を得る。経路管理部130は、接続管理テーブル113を参照して、当該組のWWNに接続するFCスイッチ装置の組を得る。経路管理部130は、経路テーブル114を参照して、(ファブリックIDおよびドメインIDで特定される)当該FCスイッチ装置の組を末端とした経路を得る。経路テーブル114では、経路上のスイッチのドメインIDが経由する順番に並んでいる。よって、接続管理テーブル113から得たFCスイッチ装置が両端に存在するような集合(経路を示す)を、経路テーブル114の経路上のスイッチのドメインIDの項目から抽出すればよい。経路管理部130は、抽出した経路をLUN管理テーブル112のアクセスパス番号に対応付け、経路数を算出して登録していくことで、経路管理テーブル115を生成する。
(ステップS16)経路管理部130は、経路管理テーブル115に基づいてFCスイッチ装置間の通信経路のうち、過剰な通信経路があるか否かを判定する。過剰な通信経路がある場合、処理をステップS17に進める。過剰な通信経路がない場合、処理をステップS20に進める。経路管理部130は、FCスイッチ装置間の通信経路に過剰な通信経路があるか否かを次のようにして判定する。すなわち、1つのサーバがストレージ装置上の1つのLUにアクセスするためのアクセスパスの数よりも、当該アクセスパスに対応するFCのネットワーク上の経路数が大きい場合、過剰な通信経路があると判定する。当該経路数が当該アクセスパスの数以下であれば、過剰な通信経路がないと判定する。また、サーバ対LUの対応関係が複数存在する場合、そのうちの1つでも過剰な通信経路があれば、過剰な通信経路ありと判定する。経路管理テーブル115の例では、サーバ対LUの対応関係として、サーバ200(“192.168.0.101”)とLU430a(“LUN2”)とがある。当該対応関係においてアクセスパスの数は2(アクセスパス番号“1”、“2”)であり、FCのネットワーク経路の経路数は3(=2+1)である。よって、経路数が、アクセスパスの数よりも大きいので、経路管理部130は過剰な通信経路ありと判定する。この場合、経路数“1(=3−2)”が過剰分の経路数である。サーバ対LUの他の対応関係についても同様である。経路管理テーブル115の例では、サーバ対LUの何れの対応関係においても過剰な通信経路が存在している。
(ステップS17)経路管理部130は、電源OFF対象とするFCスイッチ装置を決定する。詳細は後述する。
(ステップS18)経路管理部130は、ステップS17の処理結果により、電源OFF対象とするFCスイッチ装置があるか否かを判定する。ある場合、処理をステップS19に進める。ない場合、処理をステップS20に進める。
(ステップS19)経路管理部130は、電源OFF対象とするFCスイッチ装置に対して、電源OFFの指示を送るよう指示部140に指示する。指示部140は、指示されたFCスイッチ装置に対して電源OFFの指示を送信する。
(ステップS20)指示部140は、処理結果を管理者に通知する。例えば、ステップS19で電源OFFの指示を行った場合、その旨を管理者に通知する。一方、ステップS18で電源OFF対象がなかった場合、その旨を管理者に通知する。例えば、指示部140は、ディスプレイ11に所定のメッセージなどを表示させて管理者への通知を行える。
このようにして、管理サーバ100は、各FCスイッチ装置間に存在する過剰な通信経路を切断する。なお、ステップS11では管理者の指示に応じて管理サーバ100が処理を開始する場合を例示したが他の契機で開始してもよい。
例えば、管理サーバ100は所定の周期で上記処理を開始してもよい。また、例えば、管理サーバ100は、FCスイッチ装置間の通信経路に変化があった場合に上記処理を開始してもよい。具体的には、所定の周期で経路情報を収集し、前回収集時から経路情報に相違点がある場合、通信経路に変化があったことを検出できる。更に、接続情報や経路情報は、例えば、管理者が記憶部110に格納してもよい。
また、例えば、サーバ200,200aから定期的にアクセス管理テーブル230,230aの情報を収集し、前回収集時と比較して変化があった場合に、上記処理を開始してもよい。更に、アクセス関管理テーブル230,230aの情報は、管理者が記憶部110に格納してもよい。
次に、ステップS17の電源OFF対象の決定処理の手順を説明する。
図15は、第2の実施の形態の電源OFF対象決定例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
(ステップS21)経路管理部130は、経路管理テーブル115に基づいて、経路数“2”以上のアクセスパスに対応する経路上のFCスイッチ装置を電源OFF候補とする。経路管理テーブル115の例では、アクセスパス番号“1”、“3”、“5”、“7”のアクセスパスが経路数“2”である。したがって、これらに対応する経路上のFCスイッチ装置300,300a,300b,300cを電源OFF候補とする。経路管理部130は、経路管理テーブル115に登録されているFCスイッチ装置のうち、候補から外れたFCスイッチ装置についてスイッチ管理テーブル111の指示フラグの項目に“1”を登録する。電源ON状態を継続させるためである。
(ステップS22)経路管理部130は、ステップS21で電源OFF候補としたFCスイッチ装置のうち、アクセスパスに対応する全経路で共通に利用されているFCスイッチ装置を電源OFF候補から除外する。経路管理テーブル115の例では、アクセスパス番号“1”のアクセスパスに対応する2つの経路において、FCスイッチ装置300,300c(ドメインID“1”、“4”)が共通に利用されている。したがって、経路管理部130は、FCスイッチ装置300,300cを候補から除外する。また、アクセスパス番号“5”のアクセスパスに対応する2つの経路において、FCスイッチ装置300a(ドメインID“2”)が共通に利用されている。したがって、経路管理部130は、FCスイッチ装置300aを候補から除外する。経路管理部130は、候補から除外したFCスイッチ装置についてスイッチ管理テーブル111の指示フラグの項目に“1”を登録する。
(ステップS23)経路管理部130は、ステップS22の結果、電源OFF候補となっているFCスイッチ装置を1つ選択する。例えば、電源OFF候補となっているFCスイッチ装置に対応する(ファブリックID,ドメインID)の昇順に1つずつ選択していくことが考えられる。ここで、(ファブリックID,ドメインID)の昇順とは、例えば(“1”,“1”)、(“1”,“2”)、・・・、(“2”,“1”)、(“2”,“2”)、・・・のような順序である。ただし、他の方法で選択してもよい。例えば、電源OFF候補となっているFCスイッチ装置のうち、負荷の小さいものを優先的に選択することが考えられる。負荷が小さければ、電源OFFしても全体の通信への影響は小さいと考えられるためである。
(ステップS24)経路管理部130は、選択した電源OFF候補のFCスイッチ装置を電源OFFにすることで他のアクセスパスの経路数が“0”になるか否かを判定する。他のアクセスパスの経路数が“0”になる場合、処理をステップS26に進める。他のアクセスパスの経路数が“0”にならない場合、処理をステップS25に進める。
(ステップS25)経路管理部130は、選択した電源OFF候補のFCスイッチ装置を電源OFFにすることで過剰分の経路数を超過して経路数が減るか否かを判定する。過剰分の経路数を超過して経路数が減る場合、処理をステップS26に進める。過剰分の経路数を超過して経路数が減らない場合、当該電源OFF候補のFCスイッチ装置を電源OFF候補とした状態を維持して、処理をステップS27に進める。
(ステップS26)経路管理部130は、選択した電源OFF候補のFCスイッチ装置を電源OFF候補から除外する。経路管理部130は、候補から除外したFCスイッチ装置についてスイッチ管理テーブル111の指示フラグの項目に“1”を登録する。
(ステップS27)経路管理部130は、電源OFF候補のFCスイッチ装置のうち、ステップS23における選択処理を行っていないFCスイッチ装置があるか否かを判定する。ある場合、処理をステップS23に進める。ない場合、処理をステップS28に進める。
(ステップS28)経路管理部130は、経路管理テーブル115に登録されていないFCスイッチ装置を電源OFF候補とする。例えば、FCスイッチ装置300eは経路管理テーブル115に登録されていない。このため、経路管理部130は、FCスイッチ装置300eを電源OFF候補とする。
(ステップS29)経路管理部130は、ステップS21〜S28により、電源OFF候補として残ったFCスイッチ装置を、電源OFF対象のFCスイッチ装置と決定する。経路管理部130は、電源OFF対象のFCスイッチ装置について、スイッチ管理テーブル111の指示フラグの項目に“2”を登録する。
このようにして、管理サーバ100は、電源OFF対象のFCスイッチ装置を決定する。上記のような各ステップの判断を行うのは次の理由による。
ステップS21では、あるアクセスパスに対応する通信経路が2以上である経路上のFCスイッチ装置を電源OFF候補とした。これは、1つのアクセスパスに対応する通信経路が1つしかない場合、当該通信経路を削減してしまうと、当該アクセスパスに係るストレージアクセスが不可能となってしまうおそれがあるからである。具体的には、サーバからストレージ装置へのアクセスパスが1つで当該アクセスパスに対応する通信経路が1つだけの場合がある。この場合、当該通信経路を削減すると、サーバからストレージ装置へのアクセスパスがなくなり、アクセス不能となってしまう。そこで、これを防ぐためにステップS21のようにして電源OFF候補を選択する。
ステップS22では、あるアクセスパスに対応する全経路で共通に利用されているFCスイッチ装置を電源OFF候補から除外することとした。これは、当該共通に利用されているFCスイッチ装置の電源をOFFにしてしまうと、当該アクセスパスに対応する全通信経路が利用不可能となるからである。当該アクセスパスに対応する全通信経路が利用不可能になると、通信経路が余計に削減されてしまう可能性が高まる他、サーバからLUへのアクセスパスがなくなって、アクセス不能となるおそれもある。そこで、これを防ぐためにステップS22のようにして電源OFF候補から除外する。
ステップS24,S26では、何れかの電源OFF候補のFCスイッチ装置の電源OFFにより、他のアクセスパスに対応する経路数が“0”になる場合に、当該FCスイッチ装置を電源OFF候補から除外することとした。他のアクセスパスに対応する経路数が“0”になる場合とは、あるアダプタと他のアダプタとで通信経路が共用されている場合に、当該共用される通信経路が切断されることで、他のアダプタから何れかのLUへの通信経路がなくなることを意味する。すると、他のアダプタを利用した当該LUへのアクセスができなくなってしまう。ステップS24,S26のようにすれば、サーバ200,200aの全てのアダプタに対して、少なくとも1つの通信経路を確保できる。このため、サーバ200,200aでアダプタが利用可能であるにも関わらず、当該アダプタに対応する通信経路がなくなるような事態を抑止できる。
ステップS25,S26では、電源OFF候補のFCスイッチ装置の電源OFFにより、過剰分を超過して経路数が削減されてしまう場合に、当該FCスイッチ装置を電源OFF候補から除外することとした。これは、サーバ側で確保したい通信経路の数を、FCスイッチ装置間でも確保できるようにするためである。これにより、サーバ側で確保したい通信経路の数を確保しつつ、FCスイッチ装置間の通信経路を効率的に削減できる。
次に、上記各ステップにおける各テーブルの状態を例示して、電源OFF対象の決定例を説明する。
図16は、第2の実施の形態の電源OFF対象の決定例を示す図である。図16(A)は、ステップS21で選択される経路管理テーブル115上の電源OFF候補を網掛けで例示している。ただし、図16(A)では経路管理テーブル115のうちの一部の項目の図示を省略している(以下、同様)。なお、全てのFCスイッチ装置は電源ONの状態であるとする。図16(B)は、ステップS21の処理後におけるスイッチ管理テーブル111を例示している(網掛け部分は電源OFF候補を示す)。ただし、図16(B)ではスイッチ管理テーブル111のうちの一部の項目の図示を省略している(以下、同様)。
ステップS21では、経路管理部130は、経路数“2”以上のアクセスパスに対応する経路上のFCスイッチ装置を電源OFF候補とする。
例えば、アクセスパス番号“1”に対するファブリックID“1”のファブリックにおける経路数は“2”である。アクセスパス番号“3”、“5”、“7”についても同様である。したがって、アクセスパス番号“1”、“3”、“5”、“7”に対応する経路上のFCスイッチ装置300,300a,300b,300cが電源OFF候補となる。
一方、アクセスパス番号“2”に対するファブリックID“2”のファブリックにおける経路数は“1”である。アクセスパス番号“4”、“6”、“8”についても同様である。したがって、アクセスパス番号“2”、“4”、“6”、“8”に対応する何れかの経路上に存在するFCスイッチ装置(この場合は、FCスイッチ装置300dのみ)は電源OFF候補とはならない。よって、経路管理部130は、経路管理テーブル115に登録されているFCスイッチ装置のうち、候補から外れたFCスイッチ装置300dにつきスイッチ管理テーブル111の指示フラグの項目に“1”を登録する。電源OFF候補となったFCスイッチ装置300,300a,300b,300cについては、当該指示フラグの項目は初期値“0”を維持する。
図17は、第2の実施の形態の電源OFF対象の決定例(続き)を示す図である。図17(A)は、ステップS22で選択される経路管理テーブル115上の電源OFF候補を網掛けで例示している。図17(B)は、ステップS22の処理後におけるスイッチ管理テーブル111を例示している(網掛け部分は電源OFF候補を示す)。
ステップS22では、経路管理部130は、ステップS21で電源OFF候補としたFCスイッチ装置のうち、アクセスパスに対応する全経路で共通に利用されているFCスイッチ装置を電源OFF候補から除外する。
例えば、アクセスパス番号“1”に対し、ファブリックID“1”のファブリックにおいて、2つの通信経路が存在している。第1の通信経路は、FCスイッチ装置300,300a,300c(ドメインID“1”、“2”、“4”)をこの順で経由する経路である。第2の通信経路は、FCスイッチ装置300,300b,300c(ドメインID“1”、“3”、“4”)をこの順で経由する経路である。これら2つの通信経路上のFCスイッチ装置のうち、FCスイッチ装置300,300c(ドメインID“1”、“4”)が共通に利用されているFCスイッチ装置である。
また、例えば、アクセスパス番号“5”に対し、ファブリックID“1”のファブリックにおいて、2つの通信経路が存在している。第1の通信経路は、FCスイッチ装置300,300a(ドメインID“1”、“2”)をこの順で経由する経路である。第2の通信経路は、FCスイッチ装置300,300b,300c,300a(ドメインID“1”、“3”、“4”、“2”)をこの順で経由する経路である。これら2つの通信経路上のFCスイッチのうち、FCスイッチ装置300a(ドメインID“2”)が共通に利用されているFCスイッチ装置である。
アクセスパス番号“3”、“7”のアクセスパスについても同様にして、各アクセスパスに対応する全経路で共通に利用されているFCスイッチ装置を特定できる。この場合、電源OFF候補となったFCスイッチ装置300,300a,300b,300cのうち、FCスイッチ装置300,300a,300cが当該共通に利用されているFCスイッチ装置である。このため、経路管理部130は、FCスイッチ装置300,300a,300cを電源OFF候補から除外する。よって、経路管理部130は、FCスイッチ装置300,300a,300cにつきスイッチ管理テーブル111の指示フラグの項目に“1”を登録する。電源OFF候補のまま維持するFCスイッチ装置300bについては、当該指示フラグの項目は初期値“0”を維持する。
また、経路管理部130は、経路管理テーブル115に存在していないFCスイッチ装置300eを電源OFF候補とする。すなわち、FCスイッチ装置300eについても、指示フラグの項目は初期値“0”を維持する。また、ファブリックIDおよびドメインIDが“none”であるレコード(対応するFCスイッチ装置が存在しないレコード)についても指示フラグの項目は初期値“0”を維持する。
図18は、第2の実施の形態の電源OFF対象の決定例(続き)を示す図である。図18では、ステップS29の後のスイッチ管理テーブル111を例示している。ステップS29では、ステップS21〜S28により、電源OFF候補として残ったFCスイッチ装置を、電源OFF対象のFCスイッチ装置と決定する。具体的には、スイッチ管理テーブル111の指示フラグの項目が初期値“0”であるレコードにつき、“2”を登録する。これにより、FCスイッチ装置300c,300eが電源OFF対象に決定される。なお、ファブリックIDおよびドメインIDが“none”であるレコードも指示フラグの項目に“2”が登録されるが、当該レコードは無視してもよい。
図18では、FCスイッチ装置300c,300eに対する電源OFF後(図14のステップS19の後)の状態も例示している。例えば、経路管理部130は、スイッチ管理テーブル111に基づいて、指示フラグ“2”が設定されたFCスイッチ装置300c,300eの電源OFFを指示部140に通知する。指示部140は、FCスイッチ装置300c,300eに電源OFFの指示を送信する。指示部140は、電源OFFの指示を受け付けた旨の応答をFCスイッチ装置300c,300eから受信する。例えば、指示部140は、当該応答を受信すると、FCスイッチ装置300c,300eについて、スイッチ管理テーブル111の電源状態の項目に“OFF”を登録する。指示部140から応答の通知を受けた経路管理部130が当該電源状態“OFF”の登録を行ってもよい。
図19は、第2の実施の形態の電源OFF対象を示す図である。図19では、図18で示したステップS29後のスイッチ管理テーブル111に基づいて、電源OFF対象のFCスイッチ装置300b,300eに対し、電源OFF指示を行った場合を例示している。電源OFFの指示は、管理サーバ100(図19では図示を省略)が行う。
このようにして、管理サーバ100は、FCスイッチ装置間の過剰な通信経路を検出する。管理サーバ100は、過剰な通信経路上に存在するFCスイッチ装置300bの電源をOFFにする。このとき、管理サーバ100は、サーバ200,200a側で確保したい通信経路の冗長度や、あるFCスイッチ装置の電源をOFFにすることによる他のアクセスパスへの影響も考慮する。このため、サーバ200,200aからストレージ装置400,400aへのアクセスに係る各通信経路について、適正な冗長度を保ちつつ、過剰な通信経路を効率的に削減できる。
また、過剰な通信経路上のFCスイッチ装置300bの電源をOFFにすることで省電力化を図れる。更に、FCスイッチ装置300bから生じ得る熱も抑制される。よって、空調設備の冷却に係る電力も軽減でき、省電力化を図れる。
更に、何れの通信経路上にも存在していないFCスイッチ装置300eの抽出も省力化できる。このようなFCスイッチ装置300eは、例えば、予備機であり、常時電源がONでなくてもよい。そこで、当該FCスイッチ装置300eの電源もOFFにする。これにより、一層の省電力化を図れる。
次に、第2の実施の形態のストレージシステムの他の接続を例示する。
図20は、第2の実施の形態の他の接続例(その1)を示す図である。図5で示した接続例では、2つのアダプタ210,220をサーバ200に設けて、両方のアダプタ210,220を介して、FCスイッチ装置300,300dに接続するものとした。一方、アダプタ210は、2つのポート211,212を備えていることもある。また、アダプタ210aは、2つのポート211a,212aを備えていることもある。この場合、サーバ200は、ポート211,212を介して、FCスイッチ装置300,300dに接続してもよい。また、サーバ200aは、ポート211a,212aを介して、FCスイッチ装置300,300dに接続してもよい。その場合、サーバ200,200aからストレージ装置400,400aに対するアクセスパスは、ポート単位に管理される。
例えば、ポート211,212,211a,212aには、ワールドワイドポートネーム(WWPN:World Wide Port Name)と呼ばれる識別情報が付与されている。ポート211のWWPNは“WWPN1”である。ポート212のWWPNは“WWPN2”である。ポート211aのWWPNは“WWPN3”である。ポート212aのWWPNは“WWPN4”である。この場合、サーバ200におけるアクセス管理テーブル230では、WWPNを用いた対応関係が予め定義される。サーバ200aにおけるアクセス管理テーブル230aも同様である。
したがって、LUN管理テーブル112、接続管理テーブル113および経路管理テーブル115では、サーバWWNの項目に代えて、サーバWWPNの項目を用いればよい。例えば、管理サーバ100は、ファブリック上のネームサーバからWWPNとFCスイッチ装置との接続関係を取得できる。なお、ポート211,212,211a,212aは第1の実施の形態のインタフェース部2a,2bの一例と考えることができる。また、サーバ200,200aだけでなく、ストレージ装置400,400aもポート単位でアクセスパスを管理してもよい。その場合、LUN管理テーブル112、接続管理テーブル113および経路管理テーブル115では、ストレージWWNの項目に代えて、ストレージWWPNの項目を用いればよい。このような構成においても、上述の方法により、FCスイッチ装置間の過剰な経路を効率的に削減することができる。
図21は、第2の実施の形態の他の接続例(その2)を示す図である。図21では、サーバ200からストレージ装置400aのLU430a,440aへアクセスするためのFCのネットワークの接続を例示している。各装置間は、FCケーブルで接続される。具体的には、サーバ200は、2本のFCケーブルでFCスイッチ装置300に接続されている。FCスイッチ装置300は、FCスイッチ装置300a,300b,300cに接続されている。FCスイッチ装置300dは、FCスイッチ装置300a,300b,300cに接続されている。ストレージ装置400aは、2本のFCケーブルでFCスイッチ装置300dに接続されている。ここで、FCスイッチ装置300,300a,300b,300c,300dは、同一のファブリックに属している。FCスイッチ装置300,300a,300b,300c,300dのドメインIDは、それぞれ“1”、“2”、“3”、“4”、“5”であるとする。
図21の接続例では、管理サーバ100および管理用LAN10の図示を省略している。ただし、サーバ200およびFCスイッチ装置300,300a,300b,300c,300dは管理用LAN10にも接続されている。
例えば、このような接続とした場合、管理サーバ100はFCスイッチ装置300aを電源OFFする。FCスイッチ装置300aが電源OFF対象となるのは、例えば、管理サーバ100がドメインIDの昇順に電源OFF候補を選択して、電源OFF対象を決定する(図15のステップS23〜S26)からである。
ただし、管理サーバ100は、電源OFF対象を異なる方法で決定してもよい。図15のステップS21,S22によると、図21の接続例ではFCスイッチ装置300a,300b,300cが電源OFF候補となる。この場合、ステップS23の選択において、FCスイッチ装置300a,300b,300cのうち、最も負荷の低いFCスイッチ装置から優先的に選択するようにしてもよい。あるいは、リンクアップしているポート数が最も小さいFCスイッチ装置から優先的に選択するようにしてもよい。このようなFCスイッチ装置は、電源OFFにしてもFCのネットワークへの影響が小さいと考えられるからである。なお、管理サーバ100は、各FCスイッチ装置の負荷やリンクアップしている(データの送受信を行っている)ポート数などの情報を、SNMP(Simple Network Management Protocol)を用いて各FCスイッチ装置から収集してもよい。
これにより、FCスイッチ装置ごとの負荷の影響を考慮しながら、FCスイッチ装置間の過剰な通信経路を効率的に削減できる。
[第3の実施の形態]
以下、第3の実施の形態を説明する。前述の第2の実施の形態との相違点を主に説明し、共通の事項の説明を省略する。
第2の実施の形態では、何れかのFCスイッチ装置の電源をOFFにすることで、当該FCスイッチ装置を経由する通信経路を切断する機能を例示した。ところで、FCスイッチ装置では、複数の通信経路が装置内に存在することもある。この場合、FCスイッチ装置全体の電源をOFFにしてしまうと、本来切断したくない通信経路まで切断されてしまう可能性がある。そこで、第3の実施の形態では、このようなFCスイッチ装置において、装置内の一部のポートの電源をOFFにすることで、当該ポートを経由する通信経路のみを切断する機能を提供する。このようにすれば、1つのFCスイッチ装置が複数の通信経路を装置内にもつ場合にも、その中の一部の通信経路を切断できる。このため、このようなFCスイッチ装置を用いる場合にも、過剰な通信経路を効率的に削減できるようになる。
ここで、第3の実施の形態のストレージシステムは、管理サーバ100、サーバ200、FCスイッチ装置300f,300gおよびストレージ装置400を含む。管理サーバ100、サーバ200およびストレージ装置400のハードウェア例、ソフトウェア例および搭載するアダプタは、図3,5,6,8で説明した第2の実施の形態の管理サーバ100、サーバ200およびストレージ装置400と同様である。FCスイッチ装置300f,300gのハードウェア例およびソフトウェア例は、第2の実施の形態の図4,8で説明したFCスイッチ装置300のハードウェア例およびソフトウェア例と同様である。ただし、FCスイッチ装置300fは、以下に示すように、複数のポートを備えたポートブレードを複数搭載可能である。また、FCスイッチ装置300fは、ポートブレード単位に電力を供給し、電源部がポートブレード単位に電源ON/OFFを切り替え可能である。
図22は、第3の実施の形態のストレージシステムを示す図である。第3の実施の形態のストレージシステムでは、サーバ200からストレージ装置400のLU430にアクセスする場合を想定する。ここで、図22では、管理サーバ100および管理用LAN10の図示を省略している。管理サーバ100、サーバ200およびFCスイッチ装置300f,300gは、管理用LAN10に接続される。
FCスイッチ装置300fは、ポートブレード310f,320f,330f,340fを有する。ポートブレード310f,320f,330f,340fは、装置内スイッチに接続される。FCスイッチ装置300fのスイッチコントローラは、FCフレームをポートブレード310f,320f,330f,340f上の各ポートに振り分ける。
ポートブレード310fは、ポート311f,312f,313f,314f,315fを有する。ポートブレード320fは、ポート321f,322fを有する。ポートブレード330fは、ポート331f,332fを有する。ポートブレード340fは、ポート341f,342fを有する。
また、FCスイッチ装置300gは、ポート311g,312g,313g,314g,315gを有する。
FCスイッチ装置300f,300gの上記各ポートは、FCの通信用のポートである。各ポート間を次のようにFCケーブルで接続する。
サーバ200とポート311f,312fとを接続する。具体的には、アダプタ210とポート311fとを接続する。また、アダプタ220とポート312fとを接続する。ただし、アダプタ210,220は図示を省略している。
ポート313f,322fを接続する。ポート314f,332fを接続する。ポート315f,342fを接続する。ポート321f,311gを接続する。ポート331f,312fを接続する。ポート341fとポート313fを接続する。
ストレージ装置400とポート314g,315gとを接続する。具体的には、アダプタ410とポート314gとを接続する。また、アダプタ420とポート315gとを接続する。ただし、アダプタ410,420は図示を省略している。
この場合、FCスイッチ装置300fは、ポートブレード単位に、ファブリックIDとドメインID(あるいは、それに代替する識別情報)とを付与して管理する。そして、FCスイッチ装置300fは、管理サーバ100からの情報提供の要求に対して、ポートブレード単位のファブリックIDとドメインIDとを提供する。
このようにすれば、管理サーバ100は、第2の実施の形態と同様の方法を用いて、ポートブレード単位に電源OFFの指示を行える。例えば、FCスイッチ装置300f,300gの間の通信経路が過剰である場合に、管理サーバ100は、ポートブレード320fの電源をOFFにするようFCスイッチ装置300fに指示できる。このようにして、管理サーバ100は、ポートブレード320fへの電力供給をFCスイッチ装置300fに停止させる。このため、単一の装置内に複数の通信経路をもつFCスイッチ装置300fを用いる場合にも、過剰な通信経路を効率的に削減できる。また、例えば、FCスイッチ装置300f内で異なるファブリックに属する複数のポートブレードが存在する場合もポートブレード単位に電源OFFすることで、第2の実施の形態と同様にして、過剰な通信経路を効率的に削減できる。
[第4の実施の形態]
以下、第4の実施の形態を説明する。前述の第2,第3の実施の形態との相違点を主に説明し、共通の事項の説明を省略する。
第2,第3の実施の形態では、LUへのアクセスに用いるサーバ上のアダプタを、サーバから各LUへのアクセスパスとした。一方、各LUへのアクセスに利用可能なサーバ上およびストレージ装置上のアダプタの組み合わせをアクセスパスと称してもよい。
ここで、第4の実施の形態のストレージシステムは、管理サーバ100、サーバ200、FCスイッチ装置300,300a,300b,300c,300d,300eおよびストレージ装置400aを含む。第4の実施の形態のストレージシステムでは、サーバ200からストレージ装置400上のLU430a,440aにアクセスする場合を想定する。なお、管理サーバ100、サーバ200、各FCスイッチ装置およびストレージ装置400のハードウェア例、ソフトウェア例および搭載するアダプタは、図3〜6,8で説明した第2の実施の形態の管理サーバ100、サーバ200、各FCスイッチ装置およびストレージ装置400と同様である。
図23は、第4の実施の形態のストレージシステムを示す図である。図23(A)では、第4の実施の形態のストレージシステムのFCによる接続を示している。各装置間はFCケーブルで接続される。なお、管理サーバ100および管理用LAN10の図示を省略している。サーバ200および各FCスイッチ装置は、管理用LAN10にも接続されている。また、サーバ200は、FCスイッチ装置300と2本のFCケーブルで接続されている。FCスイッチ装置300は、FCスイッチ装置300a,300b,300c,300dと接続されている。FCスイッチ装置300eは、FCスイッチ装置300a,300b,300c,300dと接続されている。ストレージ装置400aは、FCスイッチ装置300eと接続されている。各FCスイッチ装置は同一のファブリックに属する。
これに対し、図23(B)では、サーバ200に格納され得るアクセス管理テーブル230を例示している。例えば、アクセス管理テーブル230では、LU430aに対してアクセスするためのサーバWWNおよびストレージWWNの組み合わせとして、(WWN1,WWN13)、(WWN1,WWN14)、(WWN2,WWN14)という3つの組み合わせが登録されている。この場合、当該アダプタの組み合わせを用いるパスをサーバ200からストレージ装置400へのアクセスパスであると考えてもよい。上述したようにアクセスパスの数は、サーバ側で確保したい通信経路の冗長度に相当する。この場合、アダプタ210,220,410,420に関して3つのアクセスパスが定義されているので、当該冗長度は“3”である。
なお、図23(B)で例示するように、同一のファブリックを介したLU430a,440aへのアクセスにつき、LU430aへのアクセスパスの数は“3”であり、LU440aへのアクセスパス数は“2”である。このように、同一のファブリックを介した複数のLUへのアクセスについて、異なるアクセスパス数となることもある。この場合には、同一のファブリックを介してアクセスする各LUに対してサーバ200で確保したい冗長度の数を、同一のファブリック内での最大のアクセスパス数に統一してもよい。例えば、図23(B)の例では、LU440a(“LUN3”)に対してサーバ200で確保したい冗長度の数を“3”とする。このようにすれば、第2の実施の形態と同様の方法で過剰な通信経路を削減したとしても、FCスイッチ装置間の通信経路の数が、LU430a(“LUN2”)に対してサーバ200が確保したい冗長度“3”を下回らないよう制御できる。例えば、図23(A)の接続例では、FCスイッチ装置300aのみの電源をOFFにすることで、LUN2に対して確保したい冗長度“3”を確実に確保できる。
このようにして、サーバ200に登録されたサーバWWNおよびストレージWWNの組み合わせの数を、サーバ200側で確保したい冗長度と考えてもよい。その場合は、図14で説明したステップS16の処理において、当該組み合わせの数をFC装置間の通信経路の数と比較して、過剰な通信経路の有無を判定すればよい。このように考えても、第2の実施の形態と同様にFCスイッチ装置間の過剰な通信経路を効率的に削減できる。
なお、管理サーバ100の機能は、コンピュータに所定のプログラムを実行させることで実現することもできる。当該プログラムは、コンピュータ読み取り可能な可搬型の記録媒体に記録しておくことができる。当該プログラムを流通させるには、例えば、そのプログラムが記録された記録媒体を配布する。または、そのプログラムをサーバコンピュータに格納しておき、ネットワーク経由でコンピュータに転送してもよい。コンピュータは、例えば、記録媒体に記録されたプログラムまたはネットワークから取得したプログラムを、自装置の不揮発性の記憶媒体に格納する。そして、当該不揮発性の記憶媒体からプログラムを読み取り実行する。ただし、コンピュータは、取得したプログラムを、不揮発性の記憶媒体に格納せずに逐次、RAMに展開して実行することも可能である。