JP2009163703A - 複数のストレージ制御ユニットを有するストレージシステムにおいてユニット間ネットワークの使用を回避すること - Google Patents

複数のストレージ制御ユニットを有するストレージシステムにおいてユニット間ネットワークの使用を回避すること Download PDF

Info

Publication number
JP2009163703A
JP2009163703A JP2008172862A JP2008172862A JP2009163703A JP 2009163703 A JP2009163703 A JP 2009163703A JP 2008172862 A JP2008172862 A JP 2008172862A JP 2008172862 A JP2008172862 A JP 2008172862A JP 2009163703 A JP2009163703 A JP 2009163703A
Authority
JP
Japan
Prior art keywords
storage control
port
control unit
virtual
virtual port
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.)
Granted
Application number
JP2008172862A
Other languages
English (en)
Other versions
JP5159475B2 (ja
Inventor
Junichi Hara
純一 原
Takashi Oeda
高 大枝
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2009163703A publication Critical patent/JP2009163703A/ja
Application granted granted Critical
Publication of JP5159475B2 publication Critical patent/JP5159475B2/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ストレージシステムを構成する複数のストレージ制御ユニット上に配置された物理ポート間で仮想ポートを転送することができるストレージシステムを提供する。
【解決手段】ストレージシステムは、論理ボリューム/仮想ボリューム、及び/又は仮想ポートをストレージシステムの別のストレージ制御ユニットに移すか否かを考慮する際、論理ボリューム及び/又は仮想ボリュームと仮想ポートとをグループとして管理できる。ストレージシステムは、ストレージ制御ユニット間でボリューム、仮想ポート、又はボリュームと仮想ポートとのグループを転送するよう命令されると、転送後に、ユニット間ネットワークの使用が要求されるか否かを判定し、要求されると判定した場合、ユニット間ネットワークの使用を回避するように、転送の為の代替のストレージ制御ユニットを決定して提示し、低下したパフォーマンスを回避する。
【選択図】図1

Description

[0001]
[0002] 本発明は一般に、情報およびストレージのシステムおよびネットワークに関する。
[0003] 関連技術の説明
[0004] 最近の動向によれば、複数の分散されたコンピューティングリソースが単一のエンティティの役割をするように動作させられる「ストレージグリッド」と呼ばれる概念が存在する。そのようなストレージグリッドは、ストレージ業界で、より広く使用されるようになっている。一形態のストレージグリッドとして、複数のストレージ制御ユニットが一緒に構成されて単一のストレージシステムの役割をする構成を構築することができる。そのような構成では、複数のストレージ制御ユニットが、ユニット間ネットワークを介して互いに接続される。この複数のストレージ制御ユニットは、ユニット間ネットワークを介して管理情報およびデータを交換して、これらのユニットが単一のストレージシステムとして機能できるようにする。しかし、そのようなストレージグリッド構成の欠点が生じる可能性があるのは、ユニット間ネットワーク自体が、ホストコンピュータからのI/O(入力/出力)要求を処理するのに使用される場合である。特に、それらのI/O要求の処理パフォーマンスは、ユニット間ネットワークが、I/O要求を処理するのに使用されなければならない場合には、ユニット間ネットワークを使用せずにストレージ制御ユニットのうちの1つのユニット内だけで完了されるI/O要求に関する処理パフォーマンスと比べて低下する可能性がある。
[0005] 関連技術は、参照により開示全体が本明細書に組み込まれている、「Security for Logical Unit in Storage Subsystem」という名称のIto他に発行された米国特許第6779083号B2、および「Method and Apparatus for Managing Virtual Ports on Storage Systems」という名称の、2007年7月18日に出願された、J.HARA他の米国特許出願第11/826717号を含む。また、関連技術は、ファイバチャネル標準、およびINCITS(InterNational Committee for Information Technology Standards)Technical Committee T11(例えば、t11.org)から入手可能であるような、対応する仕様書も含む。特に、例えば、FC−FS(Fibre Channel Framing and Signaling)、FC−DA(Fibre Channel Device Attach)、FC−LS(Fibre Channel Link Services)、FC−GS(Fibre Channel Generic Services)、およびFC−PH(Fibre Channel Physical and Signaling Interface)と関係する文書が、本発明と関係する。例えば、参照により開示が本明細書に組み込まれている、2007年6月29日に、American National Standards Institute,Inc.によって発行された「Fibre Channel Framing and Signaling−3(FC−FS−3)Project T11/1861−D Rev 0.20」は、ファイバチャネルリンクに関するフレーミング要件およびシグナリング要件を説明する。
[0006] 本発明は、複数のストレージ制御ユニットを含むストレージシステム、および、これらのストレージシステムを含むSAN(ストレージエリアネットワーク)を実現する。本発明は、I/O処理を実行する際、ストレージ制御ユニット間の通信を回避して、I/O処理パフォーマンスが低下しないようにすることを可能にする。本発明の以上、およびその他の特徴および利点は、好ましい実施形態の以下の詳細な説明に鑑みて、当業者には明白となろう。
[0007] 添付の図面は、前段で与えられた一般的な説明、および後段で与えられる好ましい実施形態の詳細な説明と一緒になって、現在、企図されている本発明の最良の形態の好ましい実施形態の原理を例示し、説明する役割をする。
[0047] 本発明の以下の詳細な説明において、本開示の一部分を形成し、例として、限定としてではなく、本発明が実施されることが可能な特定の実施形態が示される、添付の図面が参照される。それらの図面において、同様の符号は、いくつかの図面のすべてで、実質的に同様の構成要素を表す。さらに、図面、前段の説明、および後段の説明は、単に例示的で、説明的であり、本発明の範囲、または本出願を限定することを全く意図していない。
[0048] 本発明の実施形態は、仮想ポートを提供するための機能を含むストレージシステムを教示する。ストレージシステムは、ストレージシステムを構成する複数のストレージ制御ユニット上の物理ポートの間で仮想ポートを転送することができる。また、ストレージシステムは、論理ボリューム、仮想ボリューム、および仮想ポートをグループとして管理することもできる。管理者が、ストレージ制御ユニットの間で仮想ポート、論理ボリューム、仮想ボリューム、または仮想ポートとボリュームのグループを転送するよう、管理サーバを介してストレージシステムに命令すると、ストレージシステムの管理サーバは、命令された転送が行われた後、I/O要求に応答する際に、その複数のストレージ制御ユニット間の通信のためにユニット間ネットワークが使用されることが要求されるかどうかを判定する。転送の後、ユニット間ネットワークが使用されることが要求されると判定された場合、ストレージシステムの管理サーバは、使用されるべき代替の制御ユニットを決定し、そのユニットを管理者に提示して、転送が行われた後に、ユニット間ネットワークが使用されなくてもよいようにする。
[0049] システム構成
[0050] 図1は、本発明が適用されることが可能な情報システムの例示的な構成を示す。ストレージシステム100が、1つまたは複数のフロントエンドFCスイッチ140を介して、1つまたは複数のホストコンピュータ150と通信しており、LAN(ローカルエリアネットワーク)170を介して、管理サーバ160およびホスト150と通信している。ストレージシステム100は、ストレージグリッド構成で構成され、複数のストレージ制御ユニット101、1つまたは複数のバックエンドFCスイッチ120、および1つまたは複数の外部ストレージ制御ユニット130を含む。各ストレージ制御ユニット101は、CPU102、メモリ103、NVRAM(不揮発性ランダムアクセスメモリ)104、キャッシュメモリ105、ディスクコントローラ106、複数のディスクドライブ107、複数のFCインタフェースコントローラ108、イーサネット(登録商標)インタフェースコントローラ110、およびユニット間ネットワークコントローラ112を含む。これらの構成要素は、内部バス111を介して互いに接続される。さらに、3つのストレージ制御ユニット101a〜101cが、図示されているが、本発明は、いずれの特定の数のストレージ制御ユニットにも限定されない。
[0051] CPU102は、ストレージ制御ユニット101の制御を管理するのに対して、メモリ103は、CPU102によって実行されるプログラムを格納する。CPU102は、メモリ103の中に格納されたマイクロプログラムを実行して、ディスクインタフェースコントローラ106、FCインタフェースコントローラ108、イーサネット(登録商標)インタフェースコントローラ106などを制御するようにする。また、CPU102は、ユニット間ネットワークコントローラ112およびユニット間ネットワーク113を介して、その他のストレージ制御ユニット101と管理情報およびデータを交換して、この複数のストレージ制御ユニット101が、単一のストレージシステムとして機能できるようにする。本発明を実現するプログラムのいくつかは、CPU102によって実行されることが可能であり、メモリ103、または他のコンピュータ可読媒体上に格納されることが可能である。
[0052] NVRAM104は、電源がオフにされている場合でも、管理情報を保持することができる不揮発性メモリである。キャッシュメモリ105は、FCインタフェースコントローラ108およびディスクコントローラ106の間で交換されるべきデータを一時的に格納する役割をする。ディスクコントローラ106は、CPU102からの命令に従ってディスクドライブ107とデータを交換する。CPU102は、ディスクコントローラ106を介して、RAID(Redundant Array of Independent Disks)構成(例えば、RAIDレベル0、1、または5)になっているディスクドライブ107を制御する。RAID構成において、複数のディスクドライブ107は、1つのグループ(以降、RAIDグループと呼ばれる)として管理される。1つまたは複数の論理ボリューム(すなわち、論理ユニット、つまり、LU)が、各RAIDグループ上で論理的に構成され、ホスト150のためのストレージの役割をする。LUN(論理ユニット番号)と呼ばれる識別子が、各論理ボリュームに割り当てられる。RAID構成情報は、NVRAM104の中に格納され、CPU102が、データREADプロセスまたはデータWRITEプロセスを実行する際、そのCPU102によって参照される。さらに、本発明は、ディスクコントローラ106およびディスクドライブ107なしで機能するように構成されることも可能であり、ストレージシステムによって使用される物理ストレージは、複数のストレージ制御ユニット101と通信する1つまたは複数の外部ストレージシステム130内に配置されてもよいことに留意されたい。
[0053] 光ファイバケーブルまたは銅線ケーブルなどを介して、FCインタフェースコントローラ108の1つは、フロントエンドFCスイッチ140に接続され、他方のFCインタフェースコントローラ108は、バックエンドFCスイッチ120に接続される。イーサネット(登録商標)インタフェースコントローラ110は、LAN170を介してホスト150および管理サーバ160に接続される。ユニット間ネットワークコントローラ112は、CPU102が、データを交換し、その他のストレージ制御ユニット101上のCPU102と管理情報を同期することを可能にする。ストレージ制御ユニット101は、ユニット間ネットワークコントローラ112経由でユニット間ネットワーク113を介して、互いに接続される。PCI−Express、Infinibandなどの高速接続インタフェースが、ユニット間通信において使用するのに望ましい。しかし、ファイバチャネル、イーサネット(登録商標)などの、より従来どおりのネットワークインタフェースが、このインタフェースとして使用されることも可能である。そのような事例では、FCインタフェースコントローラ108またはイーサネット(登録商標)インタフェースコントローラ110が、ユニット間ネットワークコントローラ112として使用されてもよい。それらの実施形態において、フロントエンドFCスイッチ140またはバックエンドFCスイッチ120によって仲介されるSAN、あるいはLAN170、または他のネットワークもしくは通信リンクが、ユニット間ネットワーク113として使用されることが可能である。
[0054] バックエンドFCスイッチ120は、FC−SW(Fibre Channel Switched Fabric)標準に準拠するストレージ制御ユニット101と外部ストレージ制御ユニット130の間の通信を仲介する。一般に、FC−SW標準に従って確立された通信ネットワークは、SAN(ストレージエリアネットワーク)と呼ばれる。図4に示されるとおり、FCスイッチ120、140は、通常、CPU401、メモリ402、NVRAM403、キャッシュメモリ404、および複数のFCインタフェースコントローラ405を含む。本発明は、FCスイッチが、ホスト150、ストレージ制御ユニット101、および外部ストレージ制御ユニット130の間で仲介することができるという条件付きで、フロントエンドFCスイッチ140とバックエンドFCスイッチ120の両方の役割をする1つのFCスイッチを有して構成されてもよい。
[0055] 外部ストレージ制御ユニット130は、ストレージ制御ユニット101に接続され、ストレージ制御ユニット101によって管理される。各外部ストレージ制御ユニット130は、ストレージ制御ユニット101と同一の構成要素を含む。しかし、ストレージ制御ユニット101とは異なり、外部ストレージ制御ユニット130は、通常、他のストレージ制御ユニットを管理する機能を有さない。外部ストレージ制御ユニット130のいくつかは、外部ストレージ制御ユニット130aに関して図示されるとおり、バックエンドFCスイッチ120によって仲介されるSANを介して、ストレージ制御ユニット101に接続されることが可能であり、外部ストレージ制御ユニット130のいくつかは、外部ストレージ制御ユニット130bに関して図示されるとおり、ストレージ制御ユニット101に直接に接続されることが可能である。ストレージ制御ユニット101のそれぞれは、実際の記憶容量は、外部ストレージ制御ユニット130によって管理されるものの、ストレージ制御ユニット101内部で作成された論理ユニットとしてホスト150に提示される記憶容量としてホストに見えるよう、外部ストレージ制御ユニット130において作成された論理ボリューム(または論理ユニット、LU)を提示することができる。このため、これらのLUは、これらのLUが、ストレージ制御ユニット101において仮想的にしか存在せず、外部ストレージ制御ユニット130においてLUとして実際に存在するため、仮想LUである。以降、そのような仮想論理ボリュームは、「仮想論理ユニット」または「VLU」と呼ばれる。外部ストレージ制御ユニット130からデータを読み取る、またはユニット130にデータを書き込むのに、ホスト150は、ストレージ制御ユニット101上の仮想論理ユニットにI/O(例えば、読み取り/書き込み)要求を発行し、ストレージ制御ユニット101が、受信されたI/O要求を、外部ストレージ制御ユニット130における対応する論理ボリュームに送信されるI/O要求に変換する。
[0056] フロントエンドFCスイッチ140が、ホスト150とストレージ制御ユニット101との間で、FC−SW(Fibre Channel Switched Fabric)標準に準拠する通信を確立する。フロントエンドFCスイッチ140の構成要素は、図4に示されるとおり、バックエンドFCスイッチ120の場合と同一である。さらに、本発明を実現するプログラムのいくつかは、フロントエンドFCスイッチ140上で実行されることが可能である。本発明は、フロントエンドFCスイッチ140とバックエンドFCスイッチ120の両方の役割をする1つのFCスイッチを有して構成されてもよい。
[0057] ホスト150は、例えば、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータなどのいずれかであることが可能である。ホスト150は、データベースプログラムなどのアプリケーションプログラムを実行し、処理結果を、ストレージボリュームの中に格納するためにストレージ制御ユニット101の1つに書き込み、ストレージボリュームの中に格納された情報リソースを利用する。図3に示されるとおり、ホスト150は、通常、CPU301、メモリ302、ストレージデバイス304、FCインタフェースコントローラ305、およびイーサネット(登録商標)インタフェースコントローラ306を含む。ホスト150は、フロントエンドFCスイッチ140によって仲介されるSANを介して、FCインタフェースコントローラ306経由でストレージ制御ユニット101に接続される。
[0058] 管理サーバ160が、LAN170を介してストレージ制御ユニット101に接続される。管理サーバ160は、例えば、ストレージ制御ユニット101に関する構成設定−動作情報獲得を実行し、獲得された情報をまとめる。管理者が、管理サーバ160を介して、ストレージ制御ユニット101における論理ボリュームの作成、ホスト150への論理ボリュームの割り当て、ゾーニング、およびLUNマスキング設定を実行する。ストレージ制御ユニット101から情報を獲得するために管理サーバ160にかかる作業負荷を減らすのに、図2に示されるとおり、サービスプロセッサ200が、各ストレージ制御ユニット101に関して配置されることが可能である。本発明を実現するプログラムのいくつかは、メモリ302、または他のコンピュータ可読媒体を使用して、CPU301上で実行されることが可能である。LAN170は、イーサネット(登録商標)を使用して構造化されたローカルエリアネットワーク、またはTCP/IP(伝送制御プロトコル/インターネットプロトコル)を使用するデータ伝送が実行される他の適切な媒体である。
[0059] ソフトウェアモジュール
[0060] 図5Aに示されるとおり、3種類のソフトウェアモジュール501、502、505が、各ストレージ制御ユニット101のメモリ103に読み込まれており、2種類の管理テーブル503、504が、各ストレージ制御ユニット101のNVRAM104の中に格納されている。ボリュームグループマネージャ501は、各ストレージ制御ユニット101内で、ストレージ制御ユニット101上のVLUと、外部ストレージ制御ユニット130上のLUとの間のマッピングを、ボリュームグループマッピングテーブル503を使用して管理する。また、ボリュームグループマネージャ501は、各ストレージ制御ユニット101内で、VLUがいずれのホストにエクスポートされるか、いずれの仮想N_Portを介してVLUが、ホストにエクスポートされ、LUにマップされるか、ならびにいずれの物理N_Port上に仮想N_Portが関連付けられるかを管理する(仮想N_Portおよび物理N_Portの機能および用法は、後段でさらに説明される)。物理パスマネージャ502は、各ストレージ制御ユニット101内で物理パス管理テーブル504を使用して、いずれの物理N_Portが、各ストレージ制御ユニット101上に存在するかを管理する。また、物理パスマネージャは、いずれのホスト150または外部ストレージ制御ユニット130に、各物理N_Portを使用して到達することができるかを管理するとともに、各物理N_Portのステータスをさらに管理する。転送マネージャ505は、管理サーバ160によって発行された、ストレージ制御ユニット101の間の仮想N_Port、VLU、または仮想N_PortとVLUのグループの転送に関する命令を受信し、命令されるとおりに転送を開始する。
[0061] 図5Bに示されるとおり、管理サーバ160のメモリ302または他のコンピュータ可読媒体の中に3種類のソフトウェアモジュール3301、3302、3305が、存在し、管理サーバ160のメモリ302またはストレージデバイス304の中に2種類の管理テーブル3303、3304が、存在する。統合ボリュームグループマネージャ3301は、各ストレージ制御ユニット101からボリュームグループマッピングテーブル503を獲得し、これらの獲得されたテーブルを統合ボリュームグループマッピングテーブル3303に組み込む。統合物理パスマネージャ3302は、各ストレージ制御ユニット101から物理パス管理テーブル504を獲得し、これらの獲得されたテーブルを統合物理パス管理テーブル3304に組み込む。管理者が、ストレージ制御ユニット101の間で仮想N_Port、VLU、または仮想N_PortとVLUのグループの転送を命令すると、統合転送マネージャ3305は、その転送が、命令されるとおりに実行される場合、ユニット間ネットワーク113が使用されるかどうかを判定する。命令されるとおりに実行される場合、その転送の後にユニット間ネットワークが使用されると判定されると、統合転送マネージャ3305は、代替の制御ユニットを決定し、そのユニットを管理者に提示して、その転送の後にユニット間ネットワークが使用されないようにする。
[0062] ファイバチャネルプロトコル
[0063] ファイバチャネルインタフェースを有するデバイスは、「ノード」と呼ばれ、インタフェースに相当する物理端末は、「ポート」と呼ばれる。1つのノードは、1つまたは複数のポートを有することが可能である。全体的なファイバチャネルシステムに同時に参加することができるポートの数は、最大で24ビット、つまり、224(16,777,216)というアドレス数である。これらの接続を仲介するFC(ファイバチャネル)スイッチなどのハードウェアは、「ファブリック」または「スイッチングファブリック」と呼ばれる。各ノード上の各ポートは、「N_Port」と呼ばれ、各FCスイッチ上の各ポートは、「F_Port」と呼ばれる。この説明において、ホスト150、ストレージ制御ユニット101、および外部ストレージ制御ユニット130は、「ノード」と呼ばれ、「N_Port」は、各ノード上の各FCインタフェースコントローラ108に当たり、「F_Port」は、フロントエンドFCスイッチ140上、またはバックエンドFCスイッチ120上の各FCインタフェースコントローラに当たる。このため、図1の構成において、フロントエンドFCスイッチ140と通信するFCインタフェースコントローラ108は、「フロントエンド物理ポート」と呼ばれることが可能であるのに対して、バックエンドFCスイッチ120と通信するFCインタフェースコントローラ108は、「バックエンド物理ポート」と呼ばれることが可能である。フロントエンドFCスイッチとバックエンドFCスイッチの両方の役割をする1つだけのFCスイッチが存在する状況において、単一のFCインタフェースコントローラ108が、後段でさらに説明されるとおり、各物理ポートに割り当てられた複数の仮想ポートの使用を介して、フロントエンド物理ポートとバックエンド物理ポートの両方の役割をしてもよく、あるいは単一のFCスイッチと通信するために、各ストレージ制御ユニット上で複数の物理ポートが、提供されてもよい。
[0064] これらのノードおよびN_Portのそれぞれは、世界中で一意であり、標準化機構であるIEEE(Institute of Electrical and Electronics Engineers,Inc.)による所定の規則に従って割り当てられた識別データを格納する。この識別データは、世界中で一意であるので、或る特定のポートを識別するための主要な識別子の役割をすることができるアドレスとして「WWN」(World Wide Name)と呼ばれる。FCネットワークにおけるWWNは、イーサネット(登録商標)ネットワークにおいて使用されるMACアドレスに類似したハードウェア固定アドレスである。FCネットワークにおいて、8バイトサイズをそれぞれが有する、2種類のWWNアドレス、すなわち、N_Port_NameおよびNode_Nameが、存在する。N_Port_Nameは、各ポートに固有の値(ハードウェアアドレス)であり、Node_Nameは、各ノードに固有の値(ハードウェアアドレス)である。本発明の例において、「WWPN」(World Wide Port Name)という用語は、N_Port_Nameを表す。
[0065] N_Portが、ファブリックに接続されると、N_Port_IDと呼ばれる、そのファブリック内の一意IDが、そのファブリックを仲介するFCスイッチによって各N_Portに割り当てられる。FCスイッチは、そのN_Port_IDに基づいて、そのFCスイッチに接続されたノードの間で伝送をルーティングする。ファイバチャネルプロトコルは、N_Portが、そのN_Port上で追加のWWPNを作成すること、およびそれぞれの追加のWWPNに追加のN_Port_IDが割り当てられることを可能にする。これは、「N_Port_ID仮想化」または「NPIV」と呼ばれるポート仮想化フィーチャである。追加のWWPNは、それらのWWPNが世界中で一意であるように、通常、各デバイス上で自動的に決定される。ハードウェアアドレスとしてのWWPNと、動的に作成される追加のアドレスとしてのWWPNとの間を明確にするために、この説明は、「物理WWPN」および「物理N_Port」という用語を、ハードウェアアドレスとしてのWWPNを表すのに使用し、「仮想WWPN」および「仮想N_Port」という用語を、物理N_Port上の追加のアドレスとして動的に作成されるWWPNを表すのに使用する。
[0066] ファイバチャネルプロトコルにおいて、通信は、「順序付きセット」と呼ばれる信号レベルにおける情報によって、さらに、「フレーム」と呼ばれる固定フォーマットを有する論理情報を使用して、実行される。基本的に、I/O要求発信側は、1つまたは複数のフレームを伝送することによってI/Oプロセスを開始し、応答側は、その受信されたフレームに応答して動作する。本発明では、フロントエンドFCスイッチ140によって仲介されるSANにおいて、ホスト150が、発信側に当たり、ストレージ制御ユニット101が、応答側に当たる。他方、バックエンドFCスイッチ120によって仲介されるSANにおいて、ストレージ制御ユニット101が、発信側に当たり、外部ストレージ制御ユニット130が、応答側に当たる。
[0067] 図6は、フレームの構造を示す。各フレーム601は、フレームの先頭を表し、「SOF」(フレームの先頭)602と呼ばれる4バイトの識別データ、リンク動作およびフレームの制御を特徴付ける24バイトのフレームヘッダ603、実際に転送されるべき対象であるデータ部分としてのデータフィールド604、4バイトのCRC(巡回冗長符号)605、およびフレームの終端を表す「EOF」(フレームの終端)606と呼ばれる4バイトの識別データを有する。データフィールド604は、0バイトから2,112バイトまでの範囲内で可変である。フレームヘッダ603の構造に関して、フレームヘッダ603内のD_ID608、S_ID609、SEQ_ID610、およびSEQ_CNT611についてだけ、説明が与えられる。D_ID(宛先ID)608およびS_ID(送信元ID)609は、そのフレームを受信するN_Port、およびそのフレームを送信するN_Portをそれぞれ識別するための3バイトのアドレス識別データであり、送受信されるべきすべてのフレームに関して有効な値を有する。ファイバチャネル標準の標準セットの1つとして、FC_PH(Fibre Channel Physical and Signaling Interface)標準は、ファブリックが、「ファブリックログイン」と呼ばれる初期設定手続き中にD_ID608およびS_ID609を割り当てるべきことを規定する。ファブリックログインの詳細な説明は、後段で行われる。SEQ_ID610(シーケンスID)は、各フレームのシーケンスに関する一意識別子である。この場合、シーケンスは、発信側と応答側の間のトランザクションを構成するフレームのグループである。SEQ_CNT(シーケンスカウント)611は、シーケンス内のフレームの数である。応答側は、SEQ_ID610を参照することにより、そのフレームが属するシーケンスを識別することができ、SEQ_CNT611を参照して、各シーケンス内で受信されたフレームを並べ替えることができる。
[0068] 次に、提供されることが可能なサービスのクラス間の違いが、説明される。ファイバチャネルプロトコルにおいて、様々なクラスのサービスが、様々なアプリケーションニーズを満たすように定義される。例えば、クラス2とクラス3がともに、FC−SW(Fibre Channel Switching)標準に関して定義される。クラス2では、応答側は、各フレームの確認応答を発信側に戻すが、クラス3では、応答側は、受信されたフレームの確認応答を戻さない。フレームの確認応答についての詳細な説明は、後段で行われる。
[0069] 物理N_Portに関するファブリックログイン手続き
[0070] ファブリックに参加するのに、ファブリックに接続されるべきすべてのN_Portが、ファブリックログインを最初に実行する必要がある。ファブリックログインを介して、FCスイッチは、N_Port_IDを各N_Portに割り当て、次に、FCスイッチ上でN_Portに関するルーティング情報を確立する。物理N_Portに関して使用されるログイン手続きは、仮想N_Portに関して使用されるログイン手続きとわずかに異なる。
[0071] 図7は、ノード上の物理N_Port701と、FCスイッチ上のF_Port702との間の情報の交換を示す。通常、このログイン手続きは、物理N_Portが、FCスイッチ上のF_Portに最初に物理的に接続される際、実行される。最初に、ステップ703に示されるとおり、物理N_Port701が、固定D_ID(0xFFFFFE)608、固定S_ID(0x000000)609、ならびにその物理N_Port701のN_Port_Name(物理WWPN)およびNode_Nameを含むFLOGIフレームを伝送する。次に、ステップ704で、F_Port702を有するFCスイッチが、FC−PH標準に基づいて物理N_Port701のWWPNのために使用されるべきN_Port_IDを決定する。ステップ705で、N_Port_IDを決定した後、F_Port702を有するFCスイッチが、N_Port_IDに関するルーティング情報を確立し、決定されたN_Port_IDを物理N_Port701に送り返す。N_Port_IDを受信した後、物理N_Port701は、その受信されたN_Port_IDをN_Port701自らのN_Port_IDと見なし、S_ID609としてのN_Port701自らのN_Port_ID、N_Port_Name(物理WWPN)、およびNode_Nameを有するPLOGIフレームをF_Port702に伝送する。これに応答して、F_Port702を有するFCスイッチは、そのファブリックにログオンしている他のすべてのアクセス可能なN_PortのD_ID(N_Port_ID)、N_Port_Name(物理WWPNと仮想WWPNの両方)、およびNode_Nameのリストを送り返す。この手続きを介して、N_Port701を有する機器は、そのファブリック上の各N_Portに関して、N_Port_IDとN_Port_Name(すなわち、物理WWPNと仮想WWPNの両方)の間の対応を獲得することができる。
[0072] N_Port_ID仮想化、および仮想N_Portに関するファブリックログイン
[0073] ファイバチャネルプロトコルの一環として、NPIV(N_Port_ID仮想化)が、定義される。このフィーチャは、物理N_Portが、その物理N_Port上に作成された複数の仮想N_Portを作成されることを可能にする。各仮想N_Portに関する仮想WWPNが、各N_Port上で決定され、各仮想WWPNに関する追加のログイン手続きが、図7の手続きを使用してファブリックにあらかじめログインしている物理N_Portを介してログイン要求を送信することにより、実行されて、各仮想WWPNに関するN_Port_IDが獲得される。
[0074] 図8は、仮想N_Port801と、F_Port702を有するFCスイッチとの間の情報の交換を示す。図8に示される手続きは、図7に示されるファブリックログイン手続きが、あらかじめ実行されている仮想WWPNに関連する物理N_Portを介して実行される。この手続き自体は、図7に示される物理N_Portに関するファブリックログイン手続きとほとんど同一である。しかし、ステップ803に示されるとおり、仮想WWPNに関して、FLOGI要求の代わりに使用されるFDISC要求が使用され、それによって、F_Port802を有するFCスイッチが、N_Portから送信されたファブリックログイン要求が仮想WWPNに関するものであることを判定することができる。次に、ステップ804で、F_Port802を有するFCスイッチは、FC−PH標準に基づき、その仮想N_Port801の仮想WWPNのために使用されるべきN_Port_IDを決定する。N_Port_IDを決定した後、ステップ805で、F_Port702を有するFCスイッチが、N_Port_IDに関するルーティング情報を確立し、その決定されたN_Port_IDを仮想N_Port801に送り返す。N_Port_IDを受信した後、仮想N_Port801は、その受信されたN_Port_IDをN_Port801自らのN_Port_IDと見なし、S_ID609としてのN_Port801自らのN_Port_ID、N_Port_Name(仮想WWPN)、およびNode_Nameを有するPLOGIフレームをF_Port802に伝送する。これに応答して、F_Port802を有するFCスイッチは、そのファブリックにログオンしている他のすべてのアクセス可能なN_PortのD_ID(N_Port_ID)、N_Port_Name(物理WWPNと仮想WWPNの両方)、およびNode_Nameのリストを送り返す。
[0075] 以前に割り当てられたN_Port_IDの再使用
[0076] 現在、以前に割り当てられたN_Port_IDを再使用するために、またはN_PortによってFCスイッチから或る特定のN_Port_IDを要求するためにファイバチャネルプロトコルにおいて定義されているプロトコルは、全く存在しない。しかし、FCネットワークにおけるN_Port_IDをTCP/IPネットワークにおけるIPアドレスに対応させることにより、TCP/IPネットワークにおいて異なるMACアドレスを有する物理ポート間のIPアドレスの転送と類似した、そのような機能を実施するための方法が、本明細書でモデル化される。TCP/IPにおいて、IPアドレスは、異なるMACアドレスを有する物理ポート間で転送されることが可能であり、すると、IPアドレスは、そのIPアドレスが、異なるMACアドレスを有する別の物理ポートに転送された場合でも、クライアントホストが、そのクライアントホスト上の構成を変更することなしに、そのIPアドレスを介してエクスポートされたサービスにアクセスすることができるように、再使用されることが可能である。TCP/IPにおいて、ARPコマンドが、IPアドレスが、別の物理ポートに転送されるべきことをネットワークスイッチに通知するのに使用される。このコマンドに応答して、ネットワークスイッチは、そのIPアドレスに関するルーティング情報を変更する。
[0077] 本発明において、TCP/IPネットワークの場合と同様に、仮想N_Portは、既存のN_Port_ID、すなわち、図8に示される手続きを使用することなどの、あらかじめ実行されたファブリックログイン手続きを介して割り当てられたN_Port_IDを使用する要求を発行することができるものと想定される。例として、FDISCコマンドは、仮想N_Portが別の物理N_Portに転送されるべきことをFCスイッチに通知するのに使用されるものと想定される。
[0078] 図9は、既存のN_Port_IDを再使用する、またはF_Port902を有するFCスイッチから仮想N_Portに関する或る特定のN_Port_IDを要求する、仮想N_Port901に関するファブリックログイン手続きの例を示す。ステップ903で、仮想N_Portが、S_IDフィールド608に既存のN_Port_IDが設定されているFDISC要求を送信する。この要求に応答して、ステップ904で、F_Port902を有するFCスイッチが、そのFCスイッチにおけるルーティング情報を調べることにより、そのN_Port_IDが、同一の仮想WWPNに以前に割り当てられているかどうかを調べる。そのN_Port_IDが、要求側の仮想N_Portの仮想WWPNに以前に割り当てられてはいない場合、ステップ905で、F_Port902を有するFCスイッチは、そのN_Port_IDが別のWWPNのために使用されている(すなわち、そのWWPNに既に割り当てられている)かどうかを調べる。そのN_Port_IDが、別のWWPNに既に割り当てられている場合、ステップ906で、F_Port902を有するFCスイッチは、その要求を拒否する。他方、そのN_Port_IDが、同一の仮想WWPNに以前に割り当てられている場合、またはその要求されたN_Port_IDが、別のWWPNにまだ割り当てられていない場合、ステップ907で、F_Port902を有するFCスイッチは、FCスイッチ自らのルーティング情報の中でN_Port_IDに関するルーティング情報を変更し、ステップ908で、F_Port902を有するFCスイッチは、同一のN_Port_IDを仮想N_Port902に送り返して、その要求が受け入れられたという通知を提供する。
[0079] ノードログイン手続き
[0080] ファイバチャネルプロトコルにおいて、発信側が、応答側にフレームを送信することを始める前に、発信側のN_Portが、ポートログインと呼ばれる手続きを使用して、応答側のN_Portにログインする必要がある。図10は、発信側N_Port1001と応答側N_Port1002との間の情報の交換を示す。この手続きは、物理N_Portと仮想N_Portの両方に関して同一である。最初に、ステップ1003で、発信側N_Port1001が、PLOGIフレーム1003を応答側N_Port1002に伝送する。この要求は、N_Port_Name(物理WWPNまたは仮想WWPN)、Node_Name、S_ID、および発信側N_Port1001の他の情報を含む。PLOGI要求を受信した後、応答側N_Port1002は、この要求に含まれる情報を保存する。この要求を承認する場合、応答側N_Port1002は、「ACC」1004と呼ばれるフレームを発信側N_Port1001に伝送する。この要求を拒否する場合、応答側N_Port1002は、「LS_RJT」1005と呼ばれるフレームを発信側N_Port1001に伝送する。発信側N_Portが、PLOGIフレームに応答して、ACCフレームを含む応答を受信すると、発信側N_Port1001は、その時点で、ログインが成功したことを知り、I/O要求を応答側N_Port1002に送信することを始めることができる。しかし、発信側が、LS_RJTフレームを受信すると、発信側N_Port1001は、ログインが確立されなかったこと、および応答側N_Port1002にI/O要求を送信することが、許されないことを知る。
[0081] ファイバチャネルプロトコルにおけるフロー制御機構
[0082] 前述したとおり、ファイバチャネルプロトコルに基づく通信は、「フレーム」を使用して実行される。N_PortとF_Portのそれぞれの上で、受信されたフレームが、受信バッファの中に一時的に格納され、それらのフレームの適切なシーケンスに組み立てられて、より上位の層のプロトコルに送られる。宛先ポートが、受信されたフレームを格納する十分な受信バッファを有さない場合、それらのフレームは、失われる可能性がある。そのような状況を回避するのに、2つのタイプのフロー制御機構、すなわち、バッファツーバッファフロー制御(以降、「BB_Credit」と呼ばれる)およびエンドツーエンドフロー制御(以降、「EE_Credit」と呼ばれる)が、ファイバチャネル標準において定義される。
[0083] BB_Creditは、隣接するポート間の、通常、N_PortとF_Portの間のフロー制御機構である。BB_Creditでは、相手ポートの受信バッファの数の通知(BB_Credit_CNT)、およびバッファ解放の通知(R_RDY)が、送信側ポートと宛先ポートとの間で行われる。図11は、BB_Credit機構の例を示す。図11に示される事例では、送信側ポート1101と宛先ポート1102はともに、4つの2KBの受信バッファ1104、1106および送信バッファ1105、1107をそれぞれ有する。したがって、BB_Credit_CNT1103、1108は、ファブリックログイン手続きが完了した直後、各ポート1101、1108上で4である。送信側ポート1101は、フレーム601を宛先ポート1102に送信すると、自らのBB_Credit_CNT1103をデクリメントする。送信側ポート1101は、宛先ポート1102からR_RDY信号1109を受信すると、自らのBB_Credit_CNTをインクリメントする。空のバッファが、宛先ポート1102上で利用可能になると、R_RDY信号1109が、宛先ポート1102から送信される。BB_Credit_CNTが、送信側ポート1101上で0になると、送信側ポート1101は、フレーム601を送信することを一時停止し、R_RDY信号1109が、宛先ポート1102から送られるまで待つ。送信側ポート1101が、R_RDY信号1109を最後に受信して以来、或る時間(E_D_TOVと呼ばれる)が経過した場合、送信側ポート1101は、その伝送を失敗したかのように扱い、送信側ポート1101は、同一のフレーム601を再送しようと試みる、またはフレーム601を送信することを中止し、そのことを、より上位の層のプロトコルに報告する。E_D_TOVのデフォルトの値は、通常、10秒である。BB_Creditプロセスは、クラス2レベルのサービスとクラス3レベルのサービスの両方において使用される。
[0084] 図12に示されるとおり、EE_Creditは、発信側1201と応答側1202との間のフロー制御機構である。EE_Creditに関する手続きは、前述したBB_Credit機構とほとんど同一の機構である。しかし、互いへの受信バッファの数の通知(EE_Credit_CNT)は、ポートログイン手続き(図10に関連して前述される)中に行われる。また、ACK信号1209、1210が、応答側1202上のリソース利用可能性を発信側1201に通知するのに使用され、単一のACK信号1210が、ACK_N1210に例示されるとおり、複数のバッファの利用可能性を表すことができる。このため、発信側の送信側ポート1201と応答側の宛先ポート1202はともに、4つの2KBの受信バッファ1204、1206および送信バッファ1205、1207をそれぞれ有する。したがって、カウント1203、1208は、ポートログイン手続きが完了した直後、各ポート上で4である。発信側1201は、フレーム601を応答側1202に送信すると、自らのEE_Credit_CNT1203をデクリメントする。発信側1201は、応答側1202からACK信号1209、1210を受信すると、それらのACK信号1209、1210内で示される数だけ、自らのEE_Credit_CNT1203をインクリメントする。EE_Creditは、クラス2レベルのサービスにおいてだけ使用される。
[0085] 管理テーブル
[0086] 図13は、本発明によるポートおよび論理ボリュームの可能な構成の図面を示す。この構成は、多くの可能な構成の一例であり、本発明のさらなる詳細を説明するのに使用される。物理WWPNが、「WWPN_#」(#は、個々のポートの番号で置き換えられる)という名前で表され、物理WWPNに割り当てられたN_Port_IDが、「N_Port_ID_#」という名前で表される。仮想WWPNが、「WWPN_V#」(#は、個々の仮想ポートの番号で置き換えられる)という名前で表され、仮想WWPNに割り当てられたN_Port_IDが、「N_Port_ID_V#」という名前で表される。例えば、ホスト150上のFCインタフェースコントローラ305(N_Port)が、フロントエンドFCスイッチ140上のFCインタフェースコントローラ405(「Port_1」と名付けられたF_Port)の1つに接続され、「WWPN_1」をコントローラ305の物理WWPNとして有し、「N_Port_ID_1」が、コントローラ305のN_Port_IDとして、フロントエンドFCスイッチ140によってコントローラ305に割り当てられる。また、ストレージ制御ユニット101a上のFCインタフェースコントローラ108が、フロントエンドFCスイッチ140上の「Port_2」と名付けられたF_Portに接続され、「WWPN_2」をコントローラ108の物理WWPNとして有し、フロントエンドFCスイッチ140によってコントローラ108に割り当てられた「N_Port_ID_2」を、コントローラ108のN_Port_IDとして有する。また、ストレージ制御ユニット101aは、仮想WWPNとして「WWPN_V2」を有し、フロントエンドFCスイッチ140によって、この仮想WWPNに割り当てられた「N_Port_ID_V2」を、ユニット101aの「N_Port_ID」として有する。仮想WWPN、WWPN_V2が、物理N_Port、WWPN_2に現在、関連付けられている。
[0087] 図13に示されるとおり、ストレージ制御ユニット101aが、「unit_1」という一意IDを有し、ストレージ制御ユニット101bが、「unit_2」という一意IDを有し、ストレージ制御ユニット101cが、「unit_3」という一意IDを有する。また、外部ストレージ制御ユニット130aが、WWPN_8を介して4つのLU135(LU1からLU4まで)をエクスポートし、ストレージ制御ユニット101aが、これらのLUを、仮想LU133、すなわち、LU1に関するVLU1、LU2に関するVLU2、LU3に関するVLU3、およびLU4に関するVLU4として管理して、ホスト150にエクスポートするものと想定される。さらに、VLU1およびVLU2は、仮想ポートWWPN_V1を介してエクスポートされ、仮想ポートWWPN_V3を使用してLU1およびLU2にマップされる。同様に、VLU3およびVLU4は、仮想ポートWWPN_V2を介してホスト150にエクスポートされ、仮想ポートWWPN_V4を使用してLU3およびLU4にマップされる。
[0088] 例として、ホスト150上でWWPN_1というWWPNを有する物理ポートが、外部ストレージ制御ユニット130a上のLU1の中に格納されたデータにアクセスすると、ポートWWPN_1が、S_ID609として「N_Port_ID_1」を有し、D_ID608として「N_Port_ID_V1」を有するI/O要求を含むフレーム601を送信する。このフレームを受信した後、ストレージ制御ユニット101aは、S_ID609として「N_Port_ID_V3」を有し、D_ID608として「N_Port_ID_8」を有する、変換されたI/O要求を含むフレーム601を送信する。この要求に応答して、外部ストレージ制御ユニット130aは、S_ID609として「N_Port_ID_8」を有し、D_ID608として「N_Port_ID_V3」を有する応答を含むフレーム601を戻す。このフレームを受信した後、ストレージ制御ユニット101aは、S_ID609として「N_Port_ID_V1」を有し、D_ID608として「N_Port_ID_1」を有する、変換された応答を含むフレーム601を送信する。
[0089] ボリュームグループマッピングテーブル
[0090] 図14A〜図14Bは、各ストレージ制御ユニット101上に保持されるボリュームグループマッピングテーブル503の例を示す。図14A〜図14Bにおける値は、図13に示される状態を表し、図14Aは、制御ユニット101aにおいて示されるボリュームグループおよび仮想ポートグループ(以降、「ボリュームグループ」)、「group1」および「group2」の状態を表し、図14Bは、ストレージ制御ユニット101bにおいて示される「group3」の状態を表す。ボリュームグループ1401は、論理ボリュームおよび仮想N_Portのグループの任意の一意の名前である。ターゲットホストN_Port1402は、そのグループの中の論理ボリュームがエクスポートされるホスト150上のN_PortのWWPNである。エクスポートされるボリューム1403は、ターゲットホストポートにエクスポートされた、ストレージ制御ユニット101内の論理ボリュームの識別子を与える。外部N_Port1404は、それぞれのエクスポートされたボリューム1403に当たる実際のLUが存在する外部ストレージ制御ユニット130上のN_PortのWWPNである。論理ボリューム1403が、外部ストレージ制御ユニット130内ではなく、ストレージ制御ユニット101内部で作成されたLUに当たる場合、Nullが、このフィールドに設定される。外部ボリューム1405は、エクスポートされるボリューム1403に当たる外部ストレージ制御ユニット130上のLUの識別子を与える。エクスポートされるボリューム1403が、外部ストレージ制御ユニット103内ではなく、ストレージ制御ユニット101内部のLUに当たる場合、Nullが、このフィールドに設定される。フロントエンド仮想N_Port1406は、エクスポートされるボリューム1403をホスト150にエクスポートするのに使用される仮想N_PortのWWPNである。フロントエンドN_Port_ID1407は、フロントエンド仮想WWPN1406に割り当てられたN_Port_IDである。バックエンド仮想N_Port1408は、外部ストレージ制御ユニット130にアクセスするのに使用される仮想N_PortのWWPNである。エクスポートされるボリューム1403が、外部ストレージ制御ユニット130内ではなく、ストレージ制御ユニット101内部のLUに当たる場合、Nullが、このフィールドに設定される。バックエンドN_Port_ID1409は、バックエンド仮想WWPN1408に割り当てられたN_Port_IDである。エクスポートされるボリューム1403が、外部ストレージ制御ユニット130内ではなく、ストレージ制御ユニット101内部のLUに当たる場合、Nullが、このフィールドに設定される。現在のフロントエンド物理N_Port1410は、フロントエンド仮想WWPN1406に現在関連付けられている物理N_PortのWWPN、すなわち、フロントエンド仮想WWPN1406のN_Port_IDが獲得される際に経由する物理N_PortのWWPNである。現在のバックエンド物理N_Port1411は、バックエンド仮想WWPN1406に現在関連付けられている物理N_PortのWWPN、すなわち、バックエンド仮想WWPN1408のN_Port_IDが獲得される際に経由する物理N_PortのWWPNである。エクスポートされるボリューム1403が、外部ストレージ制御ユニット130内ではなく、ストレージ制御ユニット101内部のLUに当たる場合、Nullが、このフィールドに設定される。
[0091] 物理パス管理テーブル
[0092] 図15A〜図15Cは、物理パス管理テーブル504の例を示す。図15A〜図15Cにおける値は、図13に示される状態を表し、ただし、図15Aは、ストレージ制御ユニット101aの構成を示し、図15Bは、ストレージ制御ユニット101bの構成を示し、図15Cは、ストレージ制御ユニット101cの構成を示す。物理N_Port1501は、ホスト150または外部ストレージ制御ユニット130にアクセスするのに使用されることが可能な物理N_PortのWWPNである。ステータスエントリ1502は、物理N_Port1501のステータスを示す。「OK」は、N_Portが適切に機能していることを示し、「ERROR」は、N_Portが、何らかの障害のために機能していないことを示す。到達可能なN_Port1504は、物理N_Port1501が到達することができるN_Port(すなわち、他の物理ポート)のWWPNのリストである。この情報は、物理N_Port1501が、図7に(より具体的には、ステップ708で)示されるファブリックログイン手続きを実行すると、獲得されることが可能である。
[0093] 統合ボリュームグループマッピングテーブル
[0094] 図30は、統合ボリュームグループ管理テーブル3303の例を示す。列のほとんどは、図14A〜図14Bに関連して前段で説明されるボリュームグループマッピングテーブル503の場合と同一である。しかし、統合ボリュームグループ管理テーブルは、ボリュームグループ1401が、いずれのユニット上に現在、存在するかを示す追加の列、現在のユニット3401を含む。
[0095] 統合物理パス管理テーブル
[0096] 図31は、統合物理パス管理テーブル3304の例を示す。列のほとんどは、図15A〜図15Cに関連して前段で説明される物理パス管理テーブル504の場合と同一である。しかし、統合物理パス管理テーブル3304は、物理N_Port1501が、いずれのユニット上に存在するかを示す追加の列、ユニット3501を含む。
[0097] FCスイッチ上のルーティングテーブルの例
[0098] 図16は、フロントエンドFCスイッチ140上のルーティングテーブル1600の例を示し、図17は、バックエンドFCスイッチ120上のルーティングテーブル1700の例を示す。図16のルーティングテーブル1600、および図17のルーティングテーブル1700における値は、図13に示される情報システムの状態を示す。ルーティングテーブル1600、1700において、F_Port1601、1701は、FCスイッチ140、120上に存在する各F_Portの識別子をそれぞれ、リストアップする。N_PortWWPN1602、1702は、それぞれ、F_Port1601、1701に接続された物理N_Portまたは仮想N_PortのWWPNである。割り当てられたN_Port_ID1603および1703は、それぞれ、F_Port1601、1701に接続された物理N_Portまたは仮想N_PortのWWPNに割り当てられたN_Port_IDである。FCスイッチ140および120のそれぞれの上にルーティングテーブルを保持することにより、各FCスイッチは、いずれのポートを介して、発信側から受信されたフレームが転送されるべきかを識別することができる。例えば、ホスト150上のN_Portからストレージ制御ユニット101a上の仮想N_Port「WWPN_V1」に送信されるフレームは、D_IDフィールド608に「N_Port_ID_V1」を含む。フロントエンドFCスイッチ140は、図16に示されるルーティングテーブル1600の第5の行1610を参照することにより、そのフレームが、識別子「port_2」を有するF_Portを介して転送されるべきであると判定することができる。
[0099] 転送の後にユニット間パスの使用を検査することの流れ図
[0100] 管理サーバ160上で、管理者は、ストレージ制御ユニット101の間でボリュームグループまたは仮想N_Portの転送を命令して、ホスト150からのI/O要求を処理することの負荷が、ストレージ制御ユニット101の間で、より平衡がとれているようにする。しかし、アクセスされているフロントエンド仮想N_Portだけが、別のストレージ制御ユニット101に転送される場合、外部ストレージ制御ユニット130に対するI/O要求は、ユニット間ネットワーク113を使用してストレージ制御ユニット101の間で転送される必要がある。このため、高速のネットワークインタフェースが、ユニット間ネットワークコントローラ112のために使用される場合でさえ、I/O要求の処理パフォーマンスは、ストレージ制御ユニット101の間で要求を転送する必要が全くない場合(すなわち、要求の処理が、単一のストレージ制御ユニット101内で完了されることが可能である場合)と比べて低下する。また、ストレージ制御ユニット101間でI/O要求を転送する必要のため、ストレージ制御ユニット101にかかる処理負荷の不要な増大がある可能性もある。
[0101] 例えば、図18は、図13に示される状態における、ホスト150から外部ストレージ制御ユニット130a上のLU1に至るアクセスパスを示す。WWPN_V1を有するフロントエンド仮想N_Portが、図19に示されるストレージ制御ユニット101c(「unit_3」と名付けられた)に転送される場合、WWPN_V1に送信されたI/O要求は、VLU1にアクセスし、その結果、WWPN_V3およびWWPN_8を介してLU1にアクセスするように、ユニット間ネットワーク113を使用してストレージ制御ユニット101a(unit_1)に転送される必要がある。実際、図19の事例において、WWPN_V3を有するバックエンド仮想N_Portをストレージ制御ユニット101cに転送することは、ストレージ制御ユニット101cから外部ストレージ制御ユニット130a上のLU1に至る直接パスが、全く存在しないため、可能でない。しかし、図20に示されるとおり、WWPN_V1を有するフロントエンド仮想N_Portが、外部ストレージ制御ユニット130aに至るパスを有するストレージ制御ユニット101bに転送される場合、WWPN_V3を有するバックエンド仮想N_Portも同時にストレージ制御ユニット101bに転送して、ユニット間ネットワーク113の使用によってもたらされる処理パフォーマンスの低下を回避するようにしなければならない。
[0102] 図21〜図23に示される流れ図に従って、管理サーバ160は、本発明によれば、管理者によって命令されるとおりに仮想ポートまたはボリュームグループが別のユニットに転送された後、ユニット間パスが使用されるかどうかを検査する。その転送の後、ユニット間パスが、使用される必要がある場合、管理サーバ160は、その転送に関する、より適切な代替の宛先を自動的に決定し、代替の宛先を管理者に提示する。
[0103] ターゲットがフロントエンド仮想N_Portによって指定される事例
[0104] 図21は、転送のターゲットが、フロントエンド仮想N_Portを使用して管理者によって指定される事例において、命令された転送後のユニット間ネットワークの使用を検査するためのプロセスの流れ図を示す。示される説明は、図13におけるWWPN_V1を有するフロントエンド仮想N_Portが、ストレージ制御ユニット101b(unit_2)に転送されるように命令される例に関する。
[0105] ステップ2201で、管理サーバ160は、宛先制御ユニット(すなわち、unit_2)が、指定されたフロントエンド仮想N_Portが属するのと同一の、ボリュームグループ(すなわち、Group1)内のLUに至るパスを有するかどうかを判定する検査を行う。この検査は、WWPN_V1を使用して統合ボリュームグループマッピングテーブル3303を探索し、制御ユニット101b(unit_2)に関して統合物理パス管理テーブル3304を探索することによって実行されることが可能である。前述の事例において、統合ボリュームグループマッピングテーブル3303の第1の行3333から、WWPN_V1と同一のグループ(すなわち、Group1)の中に存在するVLUに関する実際のLUが配置された外部ストレージ制御ユニット130のWWPNとして、WWPN_8が、識別される。次に、統合物理パス管理テーブル3304の第5の行3334から、unit_2からWWPN_8に至るパスが存在し、このパスは、unit_2上のWWPN_6のWWPNを有する物理N_Portからである。パスが見つかった場合、プロセスは、ステップ2202に進み、見つからなかった場合、プロセスは、ステップ2204に進む。
[0106] ステップ2202で、管理サーバ160は、見つかったパスが、適切に機能しているか否かを判定する検査を行う。このステータスは、ステップ2201で参照されるのと同一の、統合物理パス管理テーブル3304内の行3334におけるステータスフィールド1502から、検査されることが可能である。前述の例において、パスは、「OK」が、ステータスフィールド1502に入っているため、適切に機能している。パスが、適切に機能している場合、プロセスは、ステップ2203に進み、適切に機能していない場合、プロセスは、ステップ2204に進む。
[0107] ステップ2203で、管理サーバ160は、指定されたフロントエンド仮想N_Portと同一のグループの中のバックエンド仮想N_Portを、フロントエンド仮想N_Portの転送と同時に、ステップ2201で見つかった、指定された制御ユニット101上の物理N_Portに転送することを決定する。前述の例では、WWPN_V3およびN_Port_ID_V3を有する仮想N_Portが、ステップ2201で見つかった制御ユニット101b(unit_2)上のWWPN_6に転送されることが可能であると判定される。
[0108] ステップ2204で、管理サーバ160は、指定されたフロントエンド仮想N_Portと同一のグループの中のホストおよびLUに至る、機能するパスを有する代替の制御ユニット101が、存在するかどうかを判定する検査を行う。ステップ2201で、この検査は、指定されたフロントエンド仮想N_Portと同一のグループの中のターゲットホストN_Portフィールド1402内、および外部N_Portフィールド1404内の値を使用して、統合物理パス管理テーブル3304を探索することにより、行われることが可能である。代替の制御ユニット101が見つかった場合、プロセスは、ステップ2205に進み、見つからなかった場合、プロセスは、ステップ2208に進む。
[0109] ステップ2205で、管理サーバ160は、その代替のユニットを管理者に提示する。
[0110] ステップ2206で、管理サーバ160は、管理者に問い合わせを行って、処理を代替のストレージ制御ユニット101に転送することが、OKであるかどうかを判定する。代替のストレージ制御ユニット101が、OKである場合、プロセスは、ステップ2207に進む。代替のストレージ制御ユニット101が、OKではない場合、処理は、ステップ2208に進む。
[0111] ステップ2207で、管理サーバ160は、フロントエンド仮想N_Portとバックエンド仮想N_Portをともに代替のストレージ制御ユニット101に転送することを決定する。
[0112] ステップ2208で、管理サーバ160は、指定されたフロントエンド仮想N_Portが、指定されたストレージ制御ユニットに転送された後に、ユニット間ネットワーク113が使用される必要があることを、管理者に警告する。
[0113] ステップ2209で、管理サーバ160は、管理者に確認を行って、転送が完了した後、ユニット間ネットワーク113の使用が容認可能であるかどうかを判定する。ユニット間ネットワークの使用が、容認可能である場合、プロセスは、ステップ2211に進み、容認可能でない場合、プロセスは、ステップ2210に進む。
[0114] ステップ2210で、管理サーバ160は、ユニット間ネットワークの使用が、管理者に容認可能でない場合、その転送を中止し、その中止について管理者に通知する。
[0115] ステップ2211で、管理サーバ160は、指定されたフロントエンド仮想N_Portだけを転送することを決定する。この事例では、ユニット間ネットワーク113は、使用される。したがって、ホスト150からLU1に至るアクセスパスは、図19に示されるとおりであり、処理パフォーマンスは、低下する。
[0116] ターゲットがバックエンド仮想N_Portによって指定される事例
[0117] 図22は、転送のターゲットが、バックエンド仮想N_Portを指定することによって管理者によって指定される事例における、転送する命令を受信した後にユニット間パスの使用を検査することの例示的な流れ図を示す。図13におけるWWPN_V3を有するバックエンド仮想N_Portが、ストレージ制御ユニット101b(unit_2)に転送されるように指定される事例に関する例が、以下に説明される。
[0118] ステップ2301で、管理サーバ160は、宛先ユニットが、ボリュームグループの中のVLUがエクスポートされるのと同一のホストに至るパスを有するかどうかを判定する検査を行う。この検査は、「WWPN_V3」を使用して統合ボリュームグループマッピングテーブル3303を探索し、「unit_2」を使用して統合物理パス管理テーブル3304を探索することによって実行されることが可能である。前述の事例では、統合ボリュームグループマッピングテーブル3303の第1の行3333から、WWPN_1が、WWPN_V3と同一のグループの中のVLUがエクスポートされるホスト150のWWPNとして識別される。また、統合物理パス管理テーブル3304の第2の行3335から、unit_2からWWPN_1に至るパスが存在することを見て取ることができ、このパスは、unit_2上のWWPN_3を有する物理N_Portからである。パスが、見つかった場合、プロセスは、ステップ2302に進み、見つからなかった場合、プロセスは、ステップ2304に進む。
[0119] ステップ2302で、管理サーバ160は、見つかったパスが機能しているか否かを判定する検査を行う。そのパスのステータスは、ステップ2301で参照されるのと同一の、統合物理パス管理テーブル3304内の行3335におけるステータスフィールド1502から検査されることが可能である。前述の事例では、パスは、「OK」が、ステータスフィールド1502に入っているため、機能している。パスが、機能している場合、プロセスは、ステップ2303に進み、機能していない場合、プロセスは、ステップ2304に進む。
[0120] ステップ2303で、管理サーバ160は、指定されたバックエンド仮想N_Portと同一のグループの中のフロントエンド仮想N_Portを、指定されたユニットに、バックエンド仮想N_Portの転送と同時に転送することを決定する。前述の事例では、WWPN_V3の転送が行われる際に、WWPN_V1およびN_Port_ID_V1を有するフロントエンド仮想N_Portが、unit_2上のWWPN_2に転送されることが決定される。
[0121] ステップ2304、管理サーバ160は、ホストと、指定されたバックエンド仮想N_Port「WWPN_V3」と同一のグループの中のLUの両方に至る、機能するパスを有する代替のユニットが、存在するかどうかを判定する検査を行う。ステップ2301で、この検査は、ターゲットホストN_Portフィールド1402内の値、および指定されたバックエンド仮想N_Portと同一のグループの中の外部N_Portフィールド1404内の値を使用して、統合物理パス管理テーブル3304を探索することによって行われることが可能である。見つかった場合、プロセスは、ステップ2305に進み、見つからなかった場合、プロセスは、ステップ2308に飛ぶ。
[0122] ステップ2305で、管理サーバ160は、代替のストレージ制御ユニット101を管理者に示す。
[0123] ステップ2306で、管理サーバ160は、管理者に問い合わせを送信して、その代替のストレージ制御ユニットにバックエンド仮想N_Portを転送することが、容認可能であるかどうかを判定する。その代替のストレージ制御ユニット101に転送することが、容認可能である場合、プロセスは、ステップ2307に進み、容認可能でない場合、プロセスは、ステップ2308に進む。
[0124] ステップ2307で、管理サーバ160は、フロントエンド仮想N_Portおよびバックエンド仮想N_Portを代替のストレージ制御ユニット101に転送することを決定する。
[0125] ステップ2308で、管理サーバ160は、指定されたバックエンド仮想N_Portが、指定されたストレージ制御ユニット101に転送された後、ユニット間ネットワークが使用される必要があることを、管理者に警告する。
[0126] ステップ2209、管理サーバ160は、管理者に確認を行って、転送の後のユニット間ネットワーク113の使用が容認可能であるかどうかを判定する。容認可能である場合、プロセスは、ステップ2311に進み、容認可能でない場合、プロセスは、ステップ2310に進む。
[0127] ステップ2310で、管理サーバ160は、その転送を中止し、その中止された転送について管理者に通知する。
[0128] ステップ2311で、管理サーバ160は、指定されたバックエンド仮想N_Portだけを転送することを決定する。この事例では、ユニット間ネットワーク113が、この転送の後に使用される必要があり、その結果、ホスト150と、LU、LU1およびLU2との間で低下したパフォーマンスをもたらす。
[0129] ターゲットがボリュームグループによって指定される事例
[0130] 図23は、転送のターゲットが、ボリュームグループを指定することによって管理者によって指定される事例において、転送の後に、ユニット間パスの使用が要求されるかどうかを検査することに関する例示的な流れ図を示す。以下に説明される例は、図13におけるgroup1が、ストレージ制御ユニット101b(「unit_2」)に転送されるように管理者によって指定される事例に関する。
[0131] ステップ2401で、管理サーバ160は、宛先ユニットが、指定されたボリュームグループの中の同一のLUに至るパス、および指定されたボリュームグループの中のVLUがエクスポートされるのと同一のホストに至るパスを有するかどうかを判定する検査を行う。この検査は、「group1」に関して統合ボリュームグループマッピングテーブル3303を探索し、「unit_2」に関して統合物理パス管理テーブル504を探索することによって行われることが可能である。この例では、統合ボリュームグループマッピングテーブル503の第1の行3333から、WWPN_8が、指定されたボリュームグループの中のVLUに関する実際のLUが存在する外部ストレージ制御ユニット130のWWPNとして識別され、WWPN_1が、指定されたグループの中のVLUがエクスポートされるホストのWWPNとして識別される。統合物理パス管理テーブル3304の第2の行3335および第5の行3334から、unit_2からWWPN_1およびWWPN_8に至るパスが存在し、このパスは、unit_2上でWWPN_2およびWWPN_6をそれぞれ有する物理N_Portからである。指定されたボリュームグループの中の同一のLUに至るパス、および指定されたボリュームグループの中のVLUがエクスポートされるのと同一のホストに至るパスが見つかった場合、プロセスは、ステップ2402に進み、見つからなかった場合、プロセスは、ステップ2404に進む。
[0132] ステップ2402で、管理サーバ160は、見つかったパスが機能しているか否かについて検査を行う。それらのパスのステータスは、ステップ2401で参照されるのと同一の、統合物理パス管理テーブル3304内の行3334、3335を調べることにより、ステータスフィールド1503から検査されることが可能である。前述の事例では、「OK」が、両方の列におけるステータスフィールド1503に設定されている。それらのパスが、機能している場合、プロセスは、ステップ2403に進み、機能していない場合、プロセスは、ステップ2404に進む。
[0133] ステップ2403で、管理サーバ160は、指定されたボリュームグループの中のフロントエンド仮想N_Portおよびバックエンド仮想N_Portを、指定されたストレージ制御ユニット101に同時に転送することを決定する。この例では、ステップ2401で見られるとおり、WWPN_V1およびN_Port_ID_V1を有する仮想N_Port、およびWWPN_V3およびN_Port_ID_V3を有する仮想N_Portが、unit_2上のWWPN_2およびWWPN_6に転送される。
[0134] ステップ2404で、管理サーバ160は、ホスト、および指定されたボリュームグループ(すなわち、group1)の中のLUに至る、機能するパスを有する代替のストレージ制御ユニット101が、存在するかどうかを判定する検査を行う。ステップ2401の場合と同様に、この検査は、指定されたボリュームグループの中のターゲットホストN_Portフィールド1402内、および外部N_Portフィールド1404内の値を使用して、統合物理パス管理テーブル3304を探索することによって実行されることが可能である。代替のストレージ制御ユニット101が見つかった場合、プロセスは、ステップ2405に進み、見つからなかった場合、プロセスは、ステップ2408に飛んで進む。
[0135] ステップ2405で、管理サーバ160は、代替のユニットを管理者に提示する。
[0136] ステップ2406で、管理サーバ160は、管理者に問い合わせを行って、その代替のストレージ制御ユニット101にそのグループを転送することが、容認可能であるかどうかを判定する。その代替の転送が、容認可能である場合、管理サーバ160は、ステップ2407に進み、容認可能ではない場合、管理サーバ160は、ステップ2408に進む。
[0137] ステップ2407で、管理サーバ160は、フロントエンド仮想N_Portおよびバックエンド仮想N_Portを、その代替のストレージ制御ユニット101に転送することを決定する。
[0138] ステップ2408で、管理サーバ160は、指定された宛先ストレージ制御ユニット101が、ホストに至るパス、またはLUに至るパスを有するかどうかを判定する検査を行う。「はい」である場合、プロセスは、ステップ2410に進み、「はい」ではない場合、プロセスは、ステップ2409に進む。
[0139] ステップ2409で、管理サーバ160は、その転送を中止し、その中止について管理者に通知する。
[0140] ステップ2410で、管理サーバ160は、指定のグループに関する指定のフロントエンド仮想N_Portまたは指定のバックエンド仮想N_Portが指定のユニットへ転送された後にユニット間ネットワークが使用される必要があることを管理者に警告する。
[0141] ステップ2411で、管理サーバ160は、管理者に確認を行って、転送の後のユニット間ネットワーク113の使用が、容認可能であるかどうかを判定する。容認可能である場合、プロセスは、ステップ2412に進み、容認可能でない場合、プロセスは、ステップ2409に進む。
[0142] ステップ2412で、管理サーバ160は、フロントエンド仮想N_Portまたはバックエンド仮想N_Portを転送することを決定する。いずれの仮想N_Portが転送されるかは、いずれのパスが、ステップ2408で見つかったかに依存する。ホストに至るパスが見つかった場合、フロントエンド仮想N_Portだけが、指定されたストレージ制御ユニット101に転送されるのに対して、LUに至るパスが見つかった場合、バックエンド仮想N_Portだけが、指定されたストレージ制御ユニット101に転送される。
[0143] フロントエンド仮想N_Port転送の流れ図
[0144] 図24Aは、管理サーバ160が、フロントエンドN_Port_IDが、転送されるべきであると決定し、送信元ストレージ制御ユニット3201から宛先ストレージ制御ユニット3202へ、その転送を実行するようストレージ制御ユニットに命令する場合の、フロントエンド仮想N_Portを転送するための基本的なプロセスの例示的な流れ図を示す。
[0145] ステップ3203で、送信元ストレージ制御ユニット3201が、フロントエンド仮想N_Portの転送を始めるよう、宛先ストレージ制御ユニット3202に命令する。
[0146] ステップ3204で、この命令を受信した後、宛先ストレージ制御ユニット3202は、フロントエンド仮想N_Portに以前に割り当てられている、あらかじめ割り当てられたN_Port_IDを使用して、図9に関連して前述されるとおり、ファブリックログイン手続きを実行する。図9に示されるとおり、フロントエンドFCスイッチ140は、これに応答して、スイッチ140のルーティングテーブル1600を変更する。
[0147] ステップ3205で、宛先ストレージ制御ユニット3202は、フロントエンド仮想N_Portが、ステップ3204で転送されて以来、その転送されたフロントエンド仮想N_Portを介して受信されたフレームの処理を一時停止する。
[0148] ステップ3206で、宛先ストレージ制御ユニット3202は、「COMPLETE」信号を送信元ストレージ制御ユニット3201に送信する。
[0149] ステップ3207で、「COMPLETE」信号を受信した後、送信元ストレージ制御ユニット3201は、送信元ストレージ制御ユニット3201が、ステップ3203で、転送を開始するよう宛先ストレージ制御ユニット3202に命令した後に、送信元ストレージ制御ユニット3201が受信したフレームの処理を完了する。
[0150] ステップ3208で、送信元ストレージ制御ユニット3201は、キャッシュ内のすべての待ち状態の書き込み操作を外部ストレージ制御ユニット130にフラッシュする。
[0151] ステップ3209で、送信元ストレージ制御ユニット3201は、宛先ストレージ制御ユニット3202が、その時点で、ホストから処理の制御を引き継ぐ準備ができていることを示す「READY」信号を宛先ストレージ制御ユニット3202に送信する。
[0152] ステップ3210で、宛先ストレージ制御ユニット3202は、バックエンド仮想N_Portも同時に転送されるべきであることが決定されている場合、図26の流れ図に従ってバックエンド仮想N_Port転送を実行する。
[0153] ステップ3211で、宛先ストレージ制御ユニット3202は、転送されたフロントエンド仮想N_Portを介して受信されたフレームの処理を再開する。
[0154] ステップ3212で、宛先ストレージ制御ユニット3202は、この新たな構成に合うようにボリュームマッピングテーブル503を変更する。
[0155] ステップ3213で、宛先ストレージ制御ユニット3202は、「COMPLETE」信号を送信元ストレージ制御ユニット3201に送信する。
[0156] ステップ3214で、この「COMPLETE」信号を受信した後、送信元ストレージ制御ユニット3201は、この新たな構成に合うようにボリュームマッピングテーブル503を変更する。
[0157] 送信元ストレージ制御ユニット3201が、転送を始めるよう宛先ストレージ制御ユニット3202に命令する時点と、フロントエンドFCスイッチ140が、ルーティングテーブルを変更する時点との間に、タイムラグが存在することに留意されたい。したがって、この命令が送信された後、いくつかのフレームが、送信元ストレージ制御ユニット3201に着信する可能性がある。ステップ3206からステップ3209までが、遅延期間中にホスト150によって送信されたすべてのフレームの処理を完了するように提供される。
[0158] BB_Creditフロー制御機構を利用するフロントエンド仮想N_Port転送の流れ図
[0159] 前述したとおり、BB_Creditフロー制御機構が、N_PortとF_Portの間で実施されることが可能である。この機構は、図24Bに関連して説明されるとおり、フロントエンドFCスイッチ140に、送信元ストレージ制御ユニット140にフレームを送信することを停止させるのに使用されることが可能である。図24Bは、管理サーバ160が、フロントエンドN_Port_IDが、転送されるべきであると決定し、その転送を実行するようストレージ制御ユニットに命令する場合の、フロー制御機構を利用してフロントエンド仮想N_Portを転送することに関する代替のプロセスおよび流れ図を示す。図24Aのプロセスに優る図24Bのプロセスの利点は、F_Port上のBB_Credit_CNTが0になると、スイッチが、ホストからの転送を停止するため、ステップ3205〜3209が、図24Bのプロセスにおいて不要であることである。
[0160] ステップ2503で、送信元ストレージ制御ユニット2501が、フロントエンド仮想N_Portを介してF_PortにR_RDY応答を送信することを停止する。
[0161] ステップ2504で、送信元ストレージ制御ユニット2501は、F_Port上のBB_Credit_CNTが「0」になるまで、または所定の時間が経過するまで、待つ。
[0162] ステップ2505で、送信元ストレージ制御ユニット2501は、ステップ2504でBB_Credit_CNTが0になったかどうかを判定する検査を行う。「はい」である場合、プロセスは、ステップ2506に進み、「はい」ではない場合、プロセスは、ステップ2511に進む。F_Port上でBB_Credit_CNTが0になると、F_Portは、N_Portにフレームを送信することを停止することに留意されたい。しかし、BB_Credit_CNTが0になるまでの時間は、どれだけの頻度でフレームがN_Portに送信されるかに依存する。したがって、ストレージ制御ユニット101は、ステップ2504で所定の時間が経過した場合、ステップ2513に進み、図24Aに示されるプロセスに従って転送を実行する。
[0163] ステップ2506で、送信元ストレージ制御ユニット2501は、その時点までに受信されたすべてのフレームの処理を完了する。
[0164] ステップ2507で、送信元ストレージ制御ユニット2501は、キャッシュの中に格納されたすべての待ち状態の書き込み操作を外部ストレージ制御ユニット130にフラッシュする。
[0165] ステップ2508で、送信元ストレージ制御ユニット2501は、フロントエンド仮想N_Portの転送を始めるよう、宛先ストレージ制御ユニット2502に命令する。
[0166] ステップ2509で、宛先ストレージ制御ユニット2502は、バックエンド仮想N_Portも同時に転送されるべきであることが決定されている場合、図30の流れ図に従ってバックエンド仮想N_Port転送を実行する。
[0167] ステップ2510で、宛先ストレージ制御ユニット2502は、フロントエンド仮想N_Portに以前に割り当てられている、あらかじめ割り当てられたN_Port_IDを使用して、図9に示されるファブリックログイン手続きを実行する。図9に示されるとおり、フロントエンドFCスイッチ140は、これに応答して、スイッチ140のルーティングテーブル1600を変更する。
[0168] ステップ2511で、宛先ストレージ制御ユニット2502が、現時点で転送されているフロントエンド仮想N_Portを介してR_RDY応答を送信することを再開する。F_Portは、F_Port上のBB_Credit_CNTが、1以上になるので、この仮想N_Portにフレームを送信することを再開することに留意されたい。
[0169] ステップ2512で、宛先ストレージ制御ユニット2502が、この新たな構成を反映するようにボリュームマッピングテーブル503を変更する。
[0170] ステップ2514で、宛先ストレージ制御ユニット2502は、「COMPLETE」信号を送信元ストレージ制御ユニット2501に送信する。
[0171] ステップ2515で、この「COMPLETE」信号を受信した後、送信元ストレージ制御ユニット2501は、この新たな構成を反映するようにボリュームマッピングテーブル503を変更する。
[0172] FCスイッチ支援を伴うフロントエンド仮想N_Port転送の流れ図
[0173] 図24Cは、管理サーバ160が、フロントエンドN_Port_IDが転送されるべきであると決定し、その転送を実行するようストレージ制御ユニット101に命令する場合の、フロントエンド仮想N_Portを転送することに関する代替のプロセスの別の例を示す。この実施形態のプロセスは、フロントエンドFCスイッチ140によって支援される。したがって、図25に示されるとおり、フロントエンドFCスイッチ140は、スイッチ140のメモリ402の中に仮想ポート転送アシスタント2600を有する。また、24Cのプロセスは、スイッチが、仮想ポート転送中に、ホストから該当するLUへのI/Oの転送を一時停止するマイクロプログラムである、仮想ポート転送アシスタント2600をスイッチ自体が使用することにより、ホストからの転送を停止するため、ステップ3205〜3209が、図24Cのプロセスにおいて不要であるという、図24Aのプロセスに優る利点も有する。
[0174] ステップ2703で、送信元ストレージ制御ユニット2701が、転送されるべきフロントエンド仮想N_PortのN_Port_IDをフロントエンドFCスイッチ2703に通知する。
[0175] ステップ2704で、この通知を受信した後、フロントエンドFCスイッチ2703は、そのフロントエンド仮想N_Portにフレームを伝送することを一時停止する。
[0176] ステップ2705で、フロントエンドFCスイッチ2703は、「READY」信号を送信元ストレージ制御ユニット2701に送り返す。
[0177] ステップ2706で、「READY」信号を受信した後、送信元ストレージ制御ユニット2701は、その時点までに送信元ストレージ制御ユニット2701が受信しているすべてのフレームの処理を完了する。
[0178] ステップ2707で、送信元ストレージ制御ユニット2501は、キャッシュから外部ストレージ制御ユニット130にすべての待ち状態の書き込み操作をフラッシュする。
[0179] ステップ2708で、送信元ストレージ制御ユニット2701が、フロントエンド仮想N_Portを転送することを始めるよう、宛先ストレージ制御ユニット2702に命令する。
[0180] ステップ2709で、宛先ストレージ制御ユニット3201は、バックエンド仮想N_Portも同時に転送されるべきであることが決定されている場合、図26に示されるプロセスに従ってバックエンド仮想N_Port転送を実行する。
[0181] ステップ2710で、この命令を受信した後、宛先ストレージ制御ユニット2702は、フロントエンド仮想N_Portに以前に割り当てられている、あらかじめ割り当てられたN_Port_IDを使用して、図9に示されるファブリックログイン手続きを実行する。図9に示されるとおり、フロントエンドFCスイッチ140は、これに応答して、この新たな構成を反映するようにスイッチ140のルーティングテーブルを変更する。
[0182] ステップ2711で、フロントエンドFCスイッチ140は、宛先ストレージ制御ユニット2702上に現時点で構成されているフロントエンド仮想N_Portにフレームを伝送することを再開する。
[0183] ステップ2712で、宛先ストレージ制御ユニット2702は、この新たな構成を反映するようにボリュームマッピングテーブル503を変更する。
[0184] ステップ2713で、宛先ストレージ制御ユニット2702は、「COMPLETE」信号を送信元ストレージ制御ユニット2701に送信する。
[0185] ステップ2714で、この「COMPLETE」信号を受信した後、送信元ストレージ制御ユニット2701は、この新たな構成を反映するようにボリュームマッピングテーブル503を変更する。
[0186] バックエンド仮想N_Port転送の流れ図
[0187] 図26は、管理サーバ160が、フロントエンド仮想N_Portと同時にバックエンドN_Portが転送されるべきであると決定し、ストレージ制御ユニット101に、その仮想ポートの転送を命令した場合の、バックエンド仮想N_Portを転送するためのプロセスの例示的な流れ図を示す。このプロセスは、図24Aのステップ3210、図24Bのステップ2509、または図24Cのステップ2709で実行される。
[0188] ステップ2802で、宛先ストレージ制御ユニット3202、2502、2702が、転送されるバックエンド仮想N_Portに以前に割り当てられている、あらかじめ割り当てられたN_Port_IDを使用して、図9に示されるファブリックログイン手続きを実行する。図9に示されるとおり、バックエンドFCスイッチ120は、これに応答して、スイッチ120のルーティングテーブル1700を変更する。
[0189] ステップ2803で、宛先ストレージ制御ユニット3202、2502、2702は、この新たな構成を反映するようにユニット3202、2502、2702のボリュームマッピングテーブル503を変更する。
[0190] 転送後の管理テーブルおよびルーティングテーブルの例
[0191] 図27Aから図29は、図13のunit_1上のgroup1が、unit_2に転送される場合の、それぞれ、管理サーバ160およびストレージ制御ユニット101における管理テーブル3303、503、ならびにそれぞれ、FCスイッチ140および120におけるルーティングテーブル1600、1700の例を示す。図27Aでは、group1に関するエントリが、ストレージ制御ユニット101a上のボリュームグループマッピングテーブル503から削除されている。図27Bでは、group1に関するエントリが、ストレージ制御ユニット101b上のボリュームグループマッピングテーブル503に追加されている。図27Cに示されるとおり、管理ホスト上の統合ボリュームグループマッピングテーブル内で、エントリ1410、1411、および1412が、group1が、現時点で、unit_2上にあり、WWPN_3という現在のフロントエンド物理N_Portと、WWPN_6という現在のバックエンド物理終端ポートとを有することを反映するように変更されている。さらに、図28に示されるとおり、フロントエンドFCスイッチ140上のルーティングテーブル1600内で、F_Portエントリ1601は、現時点で、WWPN_V1に関するPort_3である。さらに、図29に示されるとおり、バックエンドスイッチ120上のルーティングテーブル1700内で、F_Portエントリ1701は、現時点で、WWPN_V3に関するPort_2である。
[0192] したがって、本発明は、複数のストレージ制御ユニットを含むストレージシステムにおいて、ユニット間ネットワークが、意図せずに使用される可能性があるという問題に対処することを見て取ることができる。本発明によるストレージシステムは、仮想ポートを提供して、使用し、ストレージシステムを構成するストレージ制御ユニット上の物理ポートの間で、それらの仮想ポートを転送する機能を有する。さらに、このストレージシステムは、論理ボリューム/仮想ボリュームおよび仮想ポートを別のストレージ制御ユニットに移すかどうかを考慮する際、論理ボリュームおよび/または仮想ボリューム、および仮想ポートをグループとして管理することができる。管理者が、負荷分散などのために、1つまたは複数の仮想ポート、1つまたは複数のボリューム、または仮想ポートとボリュームのグループをストレージ制御ユニットの間で転送するよう、ストレージシステムに命令すると、ストレージシステムは、その転送の後、I/O要求を処理するために、その複数のストレージ制御ユニット間の通信が要求されるかどうかを判定する。ストレージシステムが、転送が行われた場合、ユニット間ネットワークが使用されなければならないと判定した場合、ストレージシステムは、その転送の後にユニット間ネットワークが使用されなくてもよいように、代替のストレージ制御ユニットを決定して、提示することができる。さらに、本発明は、ストレージ制御ユニットの間で、1つまたは複数の仮想ポート、1つまたは複数のボリューム、または仮想ポートとボリュームのグループを転送する命令に応答して行われるように説明されてきたが、本発明は、ストレージシステムが、そのような転送のターゲットとなるべき適切なストレージ制御ユニットを探し出すことを、管理者が要求する状況にも適用可能である。
[0193] 以上から、本発明は、ユニット間ネットワークが使用されることが要求されるかどうかを考慮に入れることにより、複数のストレージ制御ユニットの間における1つまたは複数の仮想ポート、1つまたは複数のボリューム、または仮想ポートとボリュームのグループの転送のターゲットとなるべき最適なストレージ制御ユニットを決定するための方法および装置を提供することが、理解されよう。さらに、特定の実施形態が、本明細書で図示され、説明されてきたが、同一の目的を達するように計算された任意の構成が、開示される特定の実施形態に代用されてもよいことが、当業者には理解されよう。本開示は、本発明のありとあらゆる改変または変種を範囲に含むことを意図しており、前述の説明は、例示として、限定としてではなく行われていることを理解されたい。したがって、本発明の範囲は、添付の特許請求の範囲、ならびにそのような特許請求の範囲に認められる均等の全範囲を参照して、適切に決定されるべきである。
[0008]本発明の方法および装置が適用されることが可能な情報システムのハードウェア構成の例を示す図である。 [0009]サービスプロセッサを含む構成を示す図である。 [0010]ホストおよび管理ホストのハードウェア構成を示す図である。 [0011]FCスイッチの例示的なハードウェア構成を示す図である。 [0012]ストレージコントローラ上の例示的なソフトウェアモジュール構成を示す図である。 [0013]管理サーバ上の例示的なソフトウェアモジュール構成を示す図である。 [0014]フレームの例示的なデータ構造を示す図である。 [0015]物理N_Portに関するファブリックログイン手続きを示す図である。 [0016]仮想N_Portに関するファブリックログイン手続きを示す図である。 [0017]既存のN_Port_IDを再使用する、または要求側からN_Port_IDを指定する仮想N_Portに関する例示的なファブリックログイン手続きを示す図である。 [0018]発信側から応答側へのポートログインを示す図である。 [0019]例示的なBB_Creditフロー制御機構を示す図である。 [0020]例示的なEE_Creditフロー制御機構を示す図である。 [0021]ポート−ボリューム構成を示す説明図である。 [0022]unit_1上のボリュームグループマッピングテーブルの例示的なデータ構造を示す図である。 [0023]unit_2上のボリュームグループマッピングテーブルの例示的なデータ構造を示す図である。 [0024]unit_1上の物理パス管理テーブルの例示的なデータ構造を示す図である。 [0025]unit_2上の物理パス管理テーブルの例示的なデータ構造を示す図である。 [0026]unit_3上の物理パス管理テーブルの例示的なデータ構造を示す。 [0027]フロントエンドFCスイッチ上のルーティングテーブルの例示的なデータ構造を示す図である。 [0028]バックエンドFCスイッチ上のルーティングテーブルの例示的なデータ構造を示す図である。 [0029]ポート転送前のボリュームアクセスパスを示す図である。 [0030]フロントエンド仮想N_Portだけが別のユニットに転送される事例におけるボリュームアクセスパスを示す図である。 [0031]フロントエンド仮想N_Portとバックエンド仮想N_Portがともに同時に同一のユニットに転送される事例におけるボリュームアクセスパスを示す図である。 [0032]ターゲットがフロントエンド仮想N_Portによって指定される事例において転送後にユニット間パスの使用を検査することを示す例示的な流れ図である。 [0033]ターゲットがバックエンド仮想N_Portによって指定される事例において転送後にユニット間パスの使用を検査することを示す例示的な流れ図である。 [0034]ターゲットがボリュームグループによって指定される事例において転送後にユニット間パスの使用を検査することを示す例示的な流れ図である。 [0035]フロントエンド仮想N_Port転送を示す例示的な流れ図である。 [0036]BB_Creditフロー制御を利用するフロントエンド仮想N_Port転送を示す例示的な流れ図である。 [0037]FCスイッチ支援を利用するフロントエンド仮想N_Port転送を示す例示的な流れ図である。 [0038]フロントエンドFCスイッチの例示的なソフトウェアモジュール構成を示す図である。 [0039]バックエンド仮想N_Port転送を示す例示的な流れ図である。 [0040]転送後のUnit_1テーブル上のボリュームグループマッピングの例示的なデータ構造を示す図である。 [0041]転送後のUnit_2テーブル上のボリュームグループマッピングの例示的なデータ構造を示す図である。 [0042]転送後の管理ホストテーブル上の統合ボリュームグループマッピングの例示的なデータ構造を示す図である。 [0043]フロントエンドFCスイッチ上のルーティングテーブルの例示的なデータ構造を示す図である。 [0044]バックエンドFCスイッチ上のルーティングテーブルの例示的なデータ構造を示す図である。 [0045]統合ボリュームグループマッピングテーブルの例示的なデータ構造を示す。 [0046]統合物理パス管理テーブルの例示的なデータ構造を示す図である。

Claims (20)

  1. 第1のFC(ファイバチャネル)スイッチと通信するための少なくとも1つの物理ポートをそれぞれが含む、ネットワークを介して互いに通信する複数のストレージ制御ユニットと、
    前記複数のストレージ制御ユニットの第1のストレージ制御ユニットにおける前記物理ポートの第1のポート上で作成された少なくとも1つの第1の仮想ポートと、
    前記第1のストレージ制御ユニットと通信する外部ストレージシステム上の論理ボリュームにマッピングされる、前記第1のストレージ制御ユニット上に作成された第1の仮想ボリュームとを含むストレージシステムであって、
    コンピュータが、前記論理ボリュームにアクセスするために前記第1の仮想ポートを介して前記第1の仮想ボリュームにアクセスし、
    前記第1の仮想ポートおよび前記第1の仮想ボリュームが、前記ストレージ制御ユニットの第2のストレージ制御ユニット上の別の物理ポートに転送されることが可能であるかどうかを考慮する際、前記第1の仮想ポートおよび前記第2のストレージ制御ユニット上の前記第1の仮想ボリュームを介して前記論理ボリュームにアクセスするのに、前記複数のストレージ制御ユニット間の通信が、要求されるかどうかについての判定が行われるストレージシステム。
  2. 前記判定が、前記第1の仮想ポートおよび前記第2のストレージ制御ユニット上の前記第1の仮想ボリュームを介して前記論理ボリュームにアクセスするのに、前記複数のストレージ制御ユニット間の通信が、要求されることを示す場合、前記第1の仮想ポートおよび前記第1の仮想ボリュームを介して前記論理ボリュームにアクセスする際に、前記ストレージ制御ユニット間の通信が要求されないように、前記第1の仮想ポートおよび前記第1の仮想ボリュームが転送されることが可能であるターゲットとして、代替のストレージ制御ユニットが探し出される請求項1に記載のストレージシステム。
  3. 管理者が、前記第1の仮想ポートおよび前記第2のストレージ制御ユニット上の前記第1の仮想ボリュームを介して前記論理ボリュームにアクセスするのに、前記複数のストレージ制御ユニット間の通信が、要求されるという通知を受け、前記管理者に、前記第1の仮想ポートおよび前記第1の仮想ボリュームの転送のための代替のターゲットとして前記代替のストレージ制御ユニットが提示される請求項2に記載のストレージシステム。
  4. 前記複数のストレージ制御ユニットと通信する管理サーバが、前記第1の仮想ポートおよび前記第2のストレージ制御ユニット上の前記第1の仮想ボリュームを介して前記論理ボリュームにアクセスするのに、前記複数のストレージ制御ユニット間の通信が、要求されるかどうかを判定し、
    前記管理サーバは、前記ストレージ制御ユニット間の通信が、前記第1の仮想ポートおよび前記第1の仮想ボリュームを介して前記論理ボリュームにアクセスするのに要求されないように、前記第1の仮想ポートおよび前記第1の仮想ボリュームが移動される先のターゲットとして、代替のストレージ制御ユニットを探し出すように構成される請求項1に記載のストレージシステム。
  5. 前記第1の仮想ポートは、前記第2のストレージ制御ユニットが、前記第1の仮想ポートの既存の識別子を使用して、前記第1のFCスイッチからファブリックログインを要求することの結果として、前記第2のストレージ制御ユニットに転送され、
    前記第2のストレージ制御ユニットは、前記コンピュータから受信されたフレームを一時停止し、前記第1のストレージ制御ユニットによって前記コンピュータから受信されたすべてのフレームが、処理されるまで待ち、前記第1の仮想ポートおよび前記第1の仮想ボリュームを介して前記第1の論理ボリュームにアクセスすることに向けられた前記コンピュータから受信されたフレームの処理を再開する請求項1に記載のストレージシステム。
  6. 前記FCスイッチに関してフロー制御が使用される場合、前記第1の仮想ポートが、前記第2のストレージ制御ユニットに転送される前に、前記第1のストレージ制御ユニットは、前記FCスイッチ上のバッファが一杯になるまで、受信されたフレームに関する応答を前記FCスイッチに送信することを停止し、
    前記第1のストレージ制御ユニットは、前記受信されたフレームの処理を完了して、前記第1の仮想ポートの転送を始めるよう前記第2のストレージ制御ユニットに命令し、
    前記第2のストレージ制御ユニットは、前記第1の仮想ポートを前記第2のストレージコントローラに転送するために、前記第1の仮想ポートの既存の識別子を使用して前記第1のFCスイッチからファブリックログインを要求し、前記第2のストレージコントローラは、前記第1の仮想ポートおよび前記第1の仮想ボリュームを介して前記第1の論理ボリュームにアクセスするために前記コンピュータから受信されたフレームに関して、前記FCスイッチに応答を送信することを再開する請求項1に記載のストレージシステム。
  7. 前記第1の仮想ポートが、前記第2のストレージ制御ユニットに転送される前に、前記第1のストレージ制御ユニットは、転送されるべきポートとして前記第1の仮想ポートを識別する通知を前記FCスイッチに送信し、
    前記第1のFCスイッチは、前記第1の仮想ポートへのフレームの伝送を一時停止し、
    前記第1のストレージ制御ユニットは、受信されたフレームの処理を完了して、前記第1の仮想ポートの転送を始めるよう前記第2のストレージ制御ユニットに命令し、
    前記第2のストレージ制御ユニットは、前記第1の仮想ポートを前記第2のストレージコントローラに転送するために、前記第1の仮想ポートの既存の識別子を使用して前記第1のFCスイッチからファブリックログインを要求し、
    前記第1のFCスイッチは、前記第1の仮想ポートおよび前記第1の仮想ボリュームを介して前記第1の論理ボリュームにアクセスするために、前記コンピュータから受信されたフレームを前記第2のストレージ制御ユニット上の前記第1の仮想ポートに送信することを再開する請求項1に記載のストレージシステム。
  8. 前記複数のストレージ制御ユニットおよび前記外部ストレージシステムの間で通信をルーティングするためのバックエンドFCスイッチである第2のFCスイッチをさらに含み、
    前記第1のFCスイッチは、前記複数のストレージ制御ユニットおよび前記コンピュータの間で通信をルーティングするためのフロントエンドFCスイッチであり、
    前記第1のストレージコントローラから前記外部ストレージシステムに前記第1の仮想ボリュームと関係するアクセス要求を送信するために、第2の仮想ポートが、前記第1のストレージ制御ユニット上の第2の物理ポート上で作成され、
    前記第1の仮想ポートおよび前記第1の仮想ボリュームが、前記ストレージ制御ユニットの第2のストレージ制御ユニット上の前記物理ポートの1つに転送される際、前記第2の仮想ポートも、前記第2のストレージシステム上の前記物理ポートの1つに転送される請求項1に記載のストレージシステム。
  9. 第1のFC(ファイバチャネル)スイッチと通信するための1つまたは複数の物理ポートをそれぞれが含む、ネットワークを介して互いに通信する複数のストレージ制御ユニットを有するストレージシステムを動作させる方法であって、
    前記複数のストレージ制御ユニットの第1のストレージ制御ユニットにおける前記物理ポートの第1の物理ポート上で、少なくとも1つの第1の仮想ポートを作成すること、
    前記FCスイッチと通信するコンピュータが、前記第1の仮想ポートを介して前記第1の仮想ボリュームにアクセスすることにより、前記論理ボリュームにアクセスすることができるところの、前記第1のストレージ制御ユニット上の第1の仮想ボリュームを、前記第1のストレージ制御ユニットと通信する外部ストレージシステム上の論理ボリュームにマップすること、
    前記第1の仮想ポートおよび前記第1の仮想ボリュームが、前記第2のストレージ制御ユニット上の別の物理ポートに転送されることが可能であるかどうかを考慮する際、前記コンピュータが、前記第1の仮想ポートおよび前記ストレージ制御ユニットの第2のストレージ制御ユニット上の前記第1の仮想ボリュームを介して前記論理ボリュームにアクセスするのに、前記複数のストレージ制御ユニット間の通信が、要求されるかどうかを判定することとを含む方法。
  10. 前記第1の仮想ポートおよび前記第2のストレージ制御ユニット上の前記第1の仮想ボリュームを介して前記論理ボリュームにアクセスするのに、前記複数のストレージ制御ユニット間の通信が要求されると判定された場合、前記第1の仮想ポートおよび前記第1の仮想ボリュームを介して前記論理ボリュームにアクセスするのに、前記ストレージ制御ユニット間の通信が要求されないように、前記第1の仮想ポート、および前記第1の仮想ボリュームが移動されることが可能な先のターゲットとして、代替のストレージ制御ユニットを探し出すステップをさらに含む請求項9に記載の方法。
  11. 前記第1の仮想ポートおよび前記第2のストレージ制御ユニット上の前記第1の仮想ボリュームを介して前記論理ボリュームにアクセスするのに、前記複数のストレージ制御ユニット間の通信が要求されることを、管理者に通知するステップと、
    前記第1の仮想ポートおよび前記第1の仮想ボリュームの転送のための代替のターゲットとして、前記代替のストレージ制御ユニットを管理者に提示するステップとをさらに含む請求項10に記載の方法。
  12. 前記第2のストレージ制御ユニットが、前記第1の仮想ポートの既存の識別子を使用して、前記第1のFCスイッチにファブリックログインを要求することの結果として、前記第1の仮想ポートを前記第2のストレージ制御ユニットに転送するステップと、
    第1のストレージ制御ユニットによって前記コンピュータから受信されたすべてのフレームが、処理されるまで、前記第2のストレージ制御ユニットによって前記コンピュータから受信されたフレームを一時停止するステップと、
    前記第2のストレージ制御ユニットにより、前記第1の仮想ポートおよび前記第1の仮想ボリュームを介して前記論理ボリュームにアクセスすることに向けられた、前記コンピュータから受信されたフレームの処理を再開するステップとをさらに含む請求項9に記載の方法。
  13. フロー制御が、前記FCスイッチに関して使用される場合、前記第1の仮想ポートが、前記第2のストレージ制御ユニットに転送される前に、前記FCスイッチ上のバッファが一杯になるまで、前記第1のストレージ制御ユニットにより、受信されたフレームに関する応答を前記FCスイッチに送信することを停止するステップと、
    前記第1のストレージ制御ユニットにおける前記受信されたフレームの処理を完了するステップと、
    前記第1の仮想ポートの転送を始めるよう、前記第2のストレージ制御ユニットに命令するステップと、
    前記第1の仮想ポートを前記第2のストレージコントローラに転送するために、前記第2のストレージ制御ユニットにより、前記第1の仮想ポートの既存の識別子を使用して、前記第1のFCスイッチにファブリックログインを要求するステップと、
    前記第2のストレージ制御ユニットにより、前記第1の仮想ポートおよび前記第1の仮想ボリュームを介して前記第1の論理ボリュームにアクセスするために前記コンピュータから受信されたフレームに関して、前記FCスイッチに応答を送信することを再開するステップとをさらに含む請求項9に記載の方法。
  14. 前記第1の仮想ポートが、前記第2のストレージ制御ユニットに転送される前に、前記第1のストレージ制御ユニットにより、転送されるべきポートとして前記第1の仮想ポートを識別する通知を前記FCスイッチに送信するステップと、
    前記第1のFCスイッチにより、前記第1の仮想ポートへのフレームの伝送を一時停止するステップと、
    前記第1のストレージ制御ユニットによって受信されたフレームの処理を完了して、前記第1の仮想ポートの転送を始めるよう、前記第2のストレージ制御ユニットに命令するステップと、
    前記第1の仮想ポートを前記第2のストレージコントローラに転送するために、前記第2のストレージ制御ユニットにより、前記第1の仮想ポートの既存の識別子を使用して、前記第1のFCスイッチにファブリックログインを要求するステップと、
    前記第1のFCスイッチにより、前記第1の仮想ポートおよび前記第1の仮想ボリュームを介して前記第1の論理ボリュームにアクセスするために前記コンピュータから受信されたフレームを、前記第2のストレージ制御ユニット上の前記第1の仮想ポートに送信することを再開するステップとをさらに含む請求項9に記載の方法。
  15. ユニット間ネットワークを介して互いに通信する複数のストレージ制御ユニットであって、
    それぞれのストレージ制御ユニットが、1つまたは複数のFC(ファイバチャネル)スイッチと通信するための1つまたは複数の物理ポートを含むストレージ制御ユニットと、
    前記複数のストレージ制御ユニットの第1のストレージ制御ユニットにおける前記1つまたは複数の物理ポートの1つの物理ポート上に作成されたフロントエンド仮想ポート、および前記第1のストレージ制御ユニットにおける前記1つまたは複数の物理ポートの1つの物理ポート上に作成されたバックエンド仮想ポートと、
    前記第1のストレージ制御ユニットと通信する外部ストレージシステム上の論理ボリュームにマップされる、前記第1のストレージ制御ユニット上に作成された仮想ボリュームとを含むストレージシステムであって、
    前記1つまたは複数のFCスイッチの1つのFCスイッチと通信するコンピュータが、前記フロントエンド仮想ポートを介して前記仮想ボリュームにアクセス要求を送信すると、前記第1のストレージ制御ユニットは、前記バックエンド仮想ポートを介して、前記外部ストレージシステム上の前記論理ボリュームに、変換されたアクセス要求を送信するストレージシステム。
  16. 前記第1のストレージ制御ユニットから、前記複数のストレージ制御ユニットの別のストレージ制御ユニットへの前記フロントエンド仮想ポート、前記バックエンド仮想ポート、および前記仮想ボリュームの転送に先立って、前記コンピュータからのアクセス要求に応答する際に、前記転送の後、前記複数のストレージ制御ユニット間の通信が要求されるかどうかについての判定が行われ、
    前記判定の結果が、前記複数のストレージ制御ユニット間の通信が要求されることである場合、前記転送のターゲットとして代替のストレージ制御ユニットがないか検査が行われる請求項15に記載のストレージシステム。
  17. 前記フロントエンド仮想ポート、前記バックエンド仮想ポート、および前記仮想ボリュームが、前記外部ストレージシステムと通信する第2のストレージ制御ユニットに転送される際、前記コンピュータは、前記フロントエンド仮想ポートを介して前記仮想ボリュームに前記アクセス要求を送信することができ、前記第2のストレージ制御ユニットは、前記コンピュータ上の構成情報を変更する必要なしに、前記バックエンド仮想ポートを介して前記外部ストレージシステム上の前記論理ボリュームに、変換されたアクセス要求を送信する請求項15に記載のストレージシステム。
  18. 前記フロントエンド仮想ポートは、前記1つまたは複数のFCスイッチによって割り当てられた第1の識別子を有し、前記バックエンド仮想ポートは、前記1つまたは複数のFCスイッチによって割り当てられた第2の識別子を有し、前記第1の識別子および前記第2の識別子は、前記アクセス要求をルーティングするために前記1つまたは複数のFCスイッチによって使用され、
    前記フロントエンド仮想ポートおよび前記バックエンド仮想ポートが、前記第2のストレージ制御ユニットに転送される際、前記フロントエンド仮想ポートは、前記第1の識別子を保持し、前記バックエンド仮想ポートは、前記第2の識別子を保持する請求項15に記載のストレージシステム。
  19. 前記第2のストレージ制御ユニットが、前記フロントエンド仮想ポートに関する第1の識別子、および前記バックエンド仮想ポートに関する前記第2の識別子を使用して、前記第2のストレージ制御ユニット上の前記1つまたは複数の物理ポートに関するファブリックログイン手続きを使用することのため、前記フロントエンド仮想ポートは、前記第1の識別子を保持し、前記バックエンド仮想ポートは、前記第2の識別子を保持する請求項18に記載のストレージシステム。
  20. 前記1つまたは複数のFCスイッチは、前記コンピュータおよび前記複数のストレージ制御ユニットの間で通信をルーティングするためのフロントエンドFCスイッチと、前記複数のストレージ制御ユニットおよび前記外部ストレージシステムの間で通信をルーティングするためのバックエンドFCスイッチとを含み、
    前記1つまたは複数の物理ポートは、前記フロントエンドFCスイッチと通信するためのフロントエンド物理ポートと、前記バックエンドFCスイッチと通信するためのバックエンド物理ポートとを含み、
    前記フロントエンド仮想ポートは、前記フロントエンド物理ポート上で作成され、前記バックエンド仮想ポートは、前記バックエンド物理ポート上で作成される請求項15に記載のストレージシステム。
JP2008172862A 2007-12-18 2008-07-02 ストレージシステムおよびストレージシステムの動作方法 Expired - Fee Related JP5159475B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/000,821 US7849265B2 (en) 2007-12-18 2007-12-18 Avoiding use of an inter-unit network in a storage system having multiple storage control units
US12/000,821 2007-12-18

Publications (2)

Publication Number Publication Date
JP2009163703A true JP2009163703A (ja) 2009-07-23
JP5159475B2 JP5159475B2 (ja) 2013-03-06

Family

ID=40399670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008172862A Expired - Fee Related JP5159475B2 (ja) 2007-12-18 2008-07-02 ストレージシステムおよびストレージシステムの動作方法

Country Status (3)

Country Link
US (2) US7849265B2 (ja)
EP (1) EP2073115A3 (ja)
JP (1) JP5159475B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011076582A (ja) * 2009-09-29 2011-04-14 Hitachi Ltd ストレージシステムにおいて仮想ポート及び論理ユニットを管理する為の方法と装置
JP2011134296A (ja) * 2009-12-23 2011-07-07 Hitachi Ltd I/oパス切替え方法及び装置
JP2012108869A (ja) * 2010-11-18 2012-06-07 Hitachi Ltd 複数のストレージシステムにおけるマルチパススイッチング
JP2013045444A (ja) * 2011-08-19 2013-03-04 Hitachi Ltd データセンタ内のリソースの使用効率を改善するための方法及び装置
JP2013527942A (ja) * 2010-07-16 2013-07-04 株式会社日立製作所 記憶制御装置、又は複数の当該記憶制御装置を有する記憶システム
JP2014209364A (ja) * 2014-06-18 2014-11-06 株式会社日立製作所 記憶制御装置、又は複数の当該記憶制御装置を有する記憶システム

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8165136B1 (en) * 2003-09-03 2012-04-24 Cisco Technology, Inc. Virtual port based SPAN
US7656823B1 (en) * 2004-02-05 2010-02-02 Nortel Networks Limited Automated network to SAN topology linkage
US8239477B2 (en) * 2005-07-08 2012-08-07 Cisco Technology, Inc. Apparatus and methods for controlling a data tapping session in a storage area network
US20110170550A1 (en) * 2008-10-02 2011-07-14 Masanori Takashima Network node and load distribution method for network node
JP4701282B2 (ja) * 2008-11-27 2011-06-15 株式会社日立製作所 ストレージシステムおよびインタフェース管理方法
US8166264B2 (en) * 2009-02-05 2012-04-24 Hitachi, Ltd. Method and apparatus for logical volume management
US8656070B2 (en) * 2009-04-29 2014-02-18 Lsi Corporation Striping with SCSI I/O referrals
CN102487307B (zh) * 2010-12-06 2014-05-28 中国航空工业集团公司第六三一研究所 一种用于fc协议的eof极性选择方法
US8958429B2 (en) * 2010-12-22 2015-02-17 Juniper Networks, Inc. Methods and apparatus for redundancy associated with a fibre channel over ethernet network
US8635391B2 (en) * 2011-05-11 2014-01-21 Hitachi, Ltd. Systems and methods for eliminating single points of failure for storage subsystems
US8665723B2 (en) * 2011-08-30 2014-03-04 International Business Machines Corporation Managing data on Infiniband (IB) networks
WO2014092698A1 (en) * 2012-12-11 2014-06-19 Hewlett-Packard Development Company Application server to nvram path
CN103037436B (zh) * 2012-12-21 2015-07-01 河海大学 一种基于HWMP的网络编码感知无线Mesh路由协议
US10469580B2 (en) * 2014-12-12 2019-11-05 International Business Machines Corporation Clientless software defined grid
US10554749B2 (en) 2014-12-12 2020-02-04 International Business Machines Corporation Clientless software defined grid
JP6641813B2 (ja) * 2015-09-11 2020-02-05 富士通株式会社 制御装置、情報処理システム、及び制御プログラム
US20180096127A1 (en) * 2016-09-30 2018-04-05 Salesforce.Com, Inc. Associating multiple e-learning identities with a single user
US10402361B2 (en) * 2017-04-28 2019-09-03 Hitachi, Ltd. Storage system
US11055125B2 (en) * 2017-11-10 2021-07-06 Microsoft Technology Licensing, Llc Virtual machine client-side virtual network change
US10698709B2 (en) 2018-03-07 2020-06-30 Microsoft Technology Licensing, Llc Prediction of virtual machine demand
US11500678B2 (en) 2018-09-17 2022-11-15 Hewlett Packard Enterprise Development Lp Virtual fibre channel port migration
US10740259B1 (en) 2019-04-19 2020-08-11 EMC IP Holding Company LLC Host mapping logical storage devices to physical storage devices
US10698844B1 (en) 2019-04-19 2020-06-30 EMC IP Holding Company LLC Intelligent external storage system interface
US11500549B2 (en) 2019-04-19 2022-11-15 EMC IP Holding Company LLC Secure host access to storage system resources via storage system interface and internal switching fabric
US10698613B1 (en) 2019-04-19 2020-06-30 EMC IP Holding Company LLC Host processing of I/O operations
US11151063B2 (en) * 2019-04-19 2021-10-19 EMC IP Holding Company LLC Host system directly connected to internal switching fabric of storage system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366398A (ja) * 2001-06-12 2002-12-20 Hitachi Ltd クラスタ構成記憶システム
JP2003030053A (ja) * 2001-07-13 2003-01-31 Hitachi Ltd 論理ユニット毎のセキュリティ機能を備えた記憶サブシステム
JP2003345522A (ja) * 2002-05-27 2003-12-05 Hitachi Ltd データ再配置方法及び装置
US20040148380A1 (en) * 2002-10-28 2004-07-29 Richard Meyer Method and system for dynamic expansion and contraction of nodes in a storage area network
JP2004227558A (ja) * 2002-11-25 2004-08-12 Hitachi Ltd 仮想化制御装置およびデータ移行制御方法
JP2005010872A (ja) * 2003-06-17 2005-01-13 Hitachi Ltd 仮想ポート名の管理装置
JP2007280089A (ja) * 2006-04-07 2007-10-25 Hitachi Ltd 容量拡張ボリュームの移行方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6957269B2 (en) * 2001-01-03 2005-10-18 Advanced Micro Devices, Inc. Method and apparatus for performing priority-based flow control
JP4704659B2 (ja) * 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US7263593B2 (en) * 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
US7760717B2 (en) * 2005-10-25 2010-07-20 Brocade Communications Systems, Inc. Interface switch for use with fibre channel fabrics in storage area networks
US7933993B1 (en) * 2006-04-24 2011-04-26 Hewlett-Packard Development Company, L.P. Relocatable virtual port for accessing external storage
US7836332B2 (en) 2007-07-18 2010-11-16 Hitachi, Ltd. Method and apparatus for managing virtual ports on storage systems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366398A (ja) * 2001-06-12 2002-12-20 Hitachi Ltd クラスタ構成記憶システム
JP2003030053A (ja) * 2001-07-13 2003-01-31 Hitachi Ltd 論理ユニット毎のセキュリティ機能を備えた記憶サブシステム
JP2003345522A (ja) * 2002-05-27 2003-12-05 Hitachi Ltd データ再配置方法及び装置
US20040148380A1 (en) * 2002-10-28 2004-07-29 Richard Meyer Method and system for dynamic expansion and contraction of nodes in a storage area network
JP2004227558A (ja) * 2002-11-25 2004-08-12 Hitachi Ltd 仮想化制御装置およびデータ移行制御方法
JP2005010872A (ja) * 2003-06-17 2005-01-13 Hitachi Ltd 仮想ポート名の管理装置
JP2007280089A (ja) * 2006-04-07 2007-10-25 Hitachi Ltd 容量拡張ボリュームの移行方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011076582A (ja) * 2009-09-29 2011-04-14 Hitachi Ltd ストレージシステムにおいて仮想ポート及び論理ユニットを管理する為の方法と装置
JP2011134296A (ja) * 2009-12-23 2011-07-07 Hitachi Ltd I/oパス切替え方法及び装置
JP2013527942A (ja) * 2010-07-16 2013-07-04 株式会社日立製作所 記憶制御装置、又は複数の当該記憶制御装置を有する記憶システム
US8756392B2 (en) 2010-07-16 2014-06-17 Hitachi, Ltd. Storage control apparatus and storage system comprising multiple storage control apparatuses
JP2012108869A (ja) * 2010-11-18 2012-06-07 Hitachi Ltd 複数のストレージシステムにおけるマルチパススイッチング
JP2013045444A (ja) * 2011-08-19 2013-03-04 Hitachi Ltd データセンタ内のリソースの使用効率を改善するための方法及び装置
JP2014209364A (ja) * 2014-06-18 2014-11-06 株式会社日立製作所 記憶制御装置、又は複数の当該記憶制御装置を有する記憶システム

Also Published As

Publication number Publication date
EP2073115A3 (en) 2012-01-04
US7849265B2 (en) 2010-12-07
US20110055477A1 (en) 2011-03-03
EP2073115A2 (en) 2009-06-24
US20090157984A1 (en) 2009-06-18
US8285933B2 (en) 2012-10-09
JP5159475B2 (ja) 2013-03-06

Similar Documents

Publication Publication Date Title
JP5159475B2 (ja) ストレージシステムおよびストレージシステムの動作方法
US8032730B2 (en) Method and apparatus for I/O priority control in storage systems
US8429446B2 (en) Method and apparatus for managing virtual ports on storage systems
JP4620776B2 (ja) ネットワークに付属する物理的なポートの仮想インスタンスを管理するための方法およびシステム
JP4372553B2 (ja) 仮想エンクロージャを通してストレージエリアネットワーク内のストレージの仮想化を実現する方法および装置
EP2112589B1 (en) Method and apparatus for HBA migration
US7529781B2 (en) Online initial mirror synchronization and mirror synchronization verification in storage area networks
US7411958B2 (en) Method and system for transferring data directly between storage devices in a storage area network
US8908683B2 (en) Fibre channel forwarder fabric login sequence
US7484058B2 (en) Reactive deadlock management in storage area networks
US20110280252A1 (en) Managing Virtual Ports in an Information Processing System
JP2007207007A (ja) ストレージシステム、ストレージコントローラ及び計算機システム
TW201027354A (en) Dynamic physical and virtual multipath I/O
WO2005110017A2 (en) Storage switch mirrored write sequence count management
US20070067591A1 (en) Storage control system
US20050262309A1 (en) Proactive transfer ready resource management in storage area networks
US20080101236A1 (en) Storage system and communication bandwidth control method
JP2023142021A (ja) ネットワークインタフェース及びそのバッファ制御方法
JP6250378B2 (ja) 計算機システム、アドレス管理装置およびエッジノード

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121001

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: 20121113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121211

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5159475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees