(57)【要約】  ホストエンティティと、スイッチと、ストレージシステムとを含むネットワークの第1のポートを備える第1のデバイスは、ネットワークの第2のデバイスの第2のポートの識別子を受け取る。スイッチとの通信時に、第1のデバイスの第1のポートは、第2のデバイスの第2のポートになりすます。第1のデバイスは、第2のデバイスの第2のポートにゾーニングされたネットワークの第3のデバイスの第3のポートを識別する情報を受け取る。デバイスは、少なくともこの情報に基づいて、ストレージシステムに格納されホストエンティティによってアクセスされうるデータを識別する。
2015510296.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに格納されたデータに関する情報を判断する方法であって、
ストレージシステムから、前記ストレージシステムとネットワークのスイッチの間のパスに配置されたデバイスにより、前記ストレージシステムの第1のポートに関連付けられた第1の識別子を受け取るステップと、
前記スイッチとの第1の通信時に、前記第1の識別子を使用して前記ストレージシステムの前記第1のポートになりすますステップと、
前記スイッチに接続されたホストサーバから、前記ホストサーバの第2のポートに関連付けられた第2の識別子を含む、前記第2のポートを登録する要求を受け取るステップと、
前記ストレージシステムとの第2の通信時に、前記第2の識別子を使用して前記ホストサーバの前記第2のポートになりすますステップと、
前記ストレージシステムから、前記ストレージシステムに格納され前記ホストサーバの前記第2のポートによってアクセスされうるデータを識別する情報を受け取るステップと
を含む方法。
【請求項２】
前記スイッチがファイバチャネルスイッチである請求項1に記載の方法。
【請求項３】
前記第1の識別子が、前記ストレージシステムの前記第1のポートのワールドワイドポート名を含む請求項1に記載の方法。
【請求項４】
前記スイッチとの第1の通信時に、前記第1の識別子を使用して前記ストレージシステムの前記第1のポートになりすますステップが、
前記第1の識別子を前記デバイスの第3のポートに追加するステップと、
前記デバイスにより、前記スイッチに対して、前記第3のポートを介して、前記第1の識別子を含む要求を送信するステップと
をさらに含む請求項3に記載の方法。
【請求項５】
前記ストレージシステムとの第2の通信時に、前記第2の識別子を使用して前記ホストサーバの前記第2のポートになりすますステップが、
前記第2の識別子を前記デバイスの第4のポートに追加するステップと、
前記ストレージシステムに対して、前記ストレージシステムに格納され前記ホストサーバの前記第2のポートによってアクセスされうるデータを識別する情報の要求を送信するステップと
をさらに含む請求項1に記載の方法。
【請求項６】
ネットワークに格納されたデータに関する情報を判断する方法であって、
登録手順で、スイッチのスイッチポートとホストエンティティのイニシエータポートの間のパスに配置されたデバイスにより、前記イニシエータポートのイニシエータワールドワイドポート名を識別するステップと、
前記イニシエータワールドワイドポート名を前記デバイスの第1のデバイスポートに追加するステップと、
前記スイッチに対して、前記イニシエータワールドワイドポート名に関連付けられたポートを識別する情報の要求を送信するステップと、
前記スイッチから、前記イニシエータポートに関連付けられたストレージシステムのターゲットポートのターゲットワールドワイドポート名を受け取るステップと、
前記ターゲットワールドワイドポート名と前記イニシエータワールドワイドポート名とに基づいて、前記イニシエータポートに関連付けられた前記ストレージシステムのストレージボリュームを識別するステップと
を含む方法。
【請求項７】
前記登録手順が、前記イニシエータポートによる前記デバイスへの登録を含む請求項6に記載の方法。
【請求項８】
前記登録手順が、ファイバチャネルログイン手順を含む請求項7に記載の方法。
【請求項９】
前記ターゲットワールドワイドポート名を前記デバイスの第2のデバイスポートに追加するステップ
をさらに含む請求項6に記載の方法。
【請求項１０】
前記イニシエータワールドワイドポート名を前記第1のデバイスポートに割り当てるステップ
をさらに含む請求項6に記載の方法。
【請求項１１】
前記スイッチから、前記イニシエータポートにゾーニングされた前記ストレージシステムのターゲットポートのターゲットワールドワイドポート名を受け取るステップ
をさらに含む請求項6に記載の方法。
【請求項１２】
前記スイッチの1または複数のポートごとに対応するワールドワイドポート名を識別するシンプルネームサーバテーブルにアクセスするステップ
をさらに含む請求項11に記載の方法。
【請求項１３】
前記ストレージシステムに対して、前記イニシエータワールドワイドポート名を含むREPORT LUNコマンドを送信するステップと、
前記ストレージシステムから、前記REPORT LUNコマンドへの応答で、前記イニシエータワールドワイドポート名がアクセスできるストレージボリュームを識別する情報を受け取るステップと
をさらに含む請求項6に記載の方法。
【請求項１４】
前記ストレージシステムに対して、前記イニシエータワールドワイドポート名がアクセスできる前記ストレージボリュームに関するSCSI照会を送信するステップと、
前記SCSI照会への応答で、前記ストレージボリュームのグローバルユニーク識別子を示す情報を受け取るステップと、
前記グローバルユニーク識別子に基づいて、前記イニシエータワールドワイドポート名に関連付けられた2つのストレージボリュームが同一かどうかを判断するステップと
をさらに含む請求項13に記載の方法。
【請求項１５】
前記スイッチがファイバチャネルスイッチである請求項6に記載の方法。
【請求項１６】
識別された前記ストレージボリュームに関するサービスを提供するステップ
をさらに含む請求項6に記載の方法。
【請求項１７】
ネットワークに格納されたデータに関する情報を取得する方法であって、
ホストエンティティと、スイッチと、ストレージシステムとを含むネットワークの第1のポートを含む第1のデバイスにより、前記ネットワークの第2のデバイスの第2のポートの識別子を受け取るステップと、
前記スイッチとの通信時に、前記第1のデバイスの前記第1のポートにより、前記第2のデバイスの前記第2のポートになりすますステップと、
前記第1のデバイスにより、前記第2のデバイスの前記第2のポートにゾーニングされた前記ネットワークの第3のデバイスの第3のポートを識別する情報を受け取るステップと、
少なくとも前記情報に基づいて、前記ストレージシステムに格納され前記ホストエンティティによってアクセスされうるデータを識別するステップと
を含む方法。
【請求項１８】
前記識別子を前記第1のデバイスの前記第1のポートに追加するステップ
をさらに含む請求項17に記載の方法。
【請求項１９】
前記スイッチとの通信時に、前記第1のデバイスの前記第1のポートにより、前記第2のデバイスの前記第2のポートになりすますステップが、
前記第1のデバイスの前記第1のポートにより、前記スイッチに対して、前記識別子を含む要求を送信するステップ
をさらに含む請求項18に記載の方法。
【請求項２０】
前記第2のデバイスが前記ストレージシステムを含み、前記第3のデバイスが前記ホストエンティティを含む請求項17に記載の方法。
【請求項２１】
前記第1のポートを前記スイッチに登録するステップと、
前記ホストエンティティから、前記第3のポートのワールドワイドポート名を含む、前記第3のポートを登録する要求を受け取るステップと、
前記第3のポートの前記ワールドワイドポート名を前記第1のデバイスの第4のポートに追加するステップと、
前記ストレージシステムとの第2の通信時に、前記ホストエンティティの前記第3のポートになりすまして、前記ストレージシステムに格納され前記ホストエンティティによってアクセスされうる前記データを識別するステップと
をさらに含む請求項20に記載の方法。
【請求項２２】
前記第2のデバイスが前記ホストエンティティを含み、前記第3のデバイスが前記ストレージシステムを含む請求項17に記載の方法。
【請求項２３】
前記第1のデバイスにより、前記ホストエンティティから、前記第2のポートのワールドワイドポート名を含む、前記第2のポートを登録する要求を受け取るステップ
をさらに含む請求項22に記載の方法。
【請求項２４】
前記第2のポートの前記ワールドワイドポート名を前記第1のデバイスの第5のポートに追加するステップと、
前記第1のデバイスにより、前記スイッチに対して、前記第2のポートにゾーニングされた1または複数のデバイスを識別し前記第2のポートの前記ワールドワイドポート名を含む要求を送信するステップと
をさらに含む請求項23に記載の方法。
【請求項２５】
前記第1のデバイスが、前記スイッチと第2のスイッチの間のパスに配置された請求項17に記載の方法。
【請求項２６】
データ管理サービスを提供する方法であって、
ホストエンティティの第1のポートとスイッチの第2のポートの間のパスに配置されたデバイスにより、前記第1のポートの識別子を判断するステップと、
前記識別子に基づいて、ストレージシステムに格納され前記第1のポートがアクセスできるデータを識別するステップと、
識別された前記データに関するデータ管理サービスを提供するステップと
を含む方法。
【請求項２７】
前記スイッチとの通信時に、前記デバイスにより、前記第1のポートになりすますステップ
をさらに含む請求項26に記載の方法。
【請求項２８】
前記スイッチに対して、前記第1のポートにゾーニングされた1または複数のポートを識別する情報の要求を送信するステップ
をさらに含む請求項27に記載の方法。
【請求項２９】
前記ストレージシステムに対して、前記識別子を含むREPORT LUNコマンドを送信するステップと、
前記ストレージシステムから、前記REPORT LUNコマンドへの応答で、前記識別子がアクセスできるストレージボリュームを識別する情報を受け取るステップと
をさらに含む請求項28に記載の方法。
【請求項３０】
スイッチのスイッチポートとホストエンティティのイニシエータポートの間のパスに配置されたデバイスであって、
第1のデバイスポートと、
コンピュータプログラム命令を格納するメモリと、
前記コンピュータプログラム命令を実行するように構成されたプロセッサと
を含み、前記コンピュータプログラム命令が、前記プロセッサで実行されたときに、
登録手順で、前記イニシエータポートのイニシエータワールドワイドポート名を識別するステップと、
前記イニシエータワールドワイドポート名を前記第1のデバイスポートに追加するステップと、
前記スイッチに対して、前記イニシエータワールドワイドポート名に関連付けられたポートを識別する情報の要求を送信するステップと、
前記スイッチから、前記イニシエータポートに関連付けられたストレージシステムのターゲットポートのターゲットワールドワイドポート名を受け取るステップと、
前記ターゲットワールドワイドポート名と前記イニシエータワールドワイドポート名とに基づいて、前記イニシエータポートに関連付けられた前記ストレージシステムのストレージボリュームを識別するステップと
を含む操作を前記プロセッサに実行させるデバイス。
【請求項３１】
前記登録手順が、前記イニシエータポートによる前記デバイスへの登録を含む請求項30に記載のデバイス。
【請求項３２】
前記スイッチがファイバチャネルスイッチである請求項31に記載のデバイス。
【請求項３３】
前記登録手順が、ファイバチャネルログイン手順を含む請求項32に記載のデバイス。
【請求項３４】
前記操作が、
前記ターゲットワールドワイドポート名を前記デバイスの第2のデバイスポートに追加するステップ
をさらに含む請求項30に記載のデバイス。
【請求項３５】
前記操作が、
前記スイッチから、前記イニシエータポートにゾーニングされた前記ストレージシステムのターゲットポートのターゲットワールドワイドポート名を受け取るステップ
をさらに含む請求項30に記載のデバイス。
【請求項３６】
前記操作が、
前記スイッチの1または複数のポートごとに対応するワールドワイドポート名を識別するシンプルネームサーバテーブルにアクセスするステップ
をさらに含む請求項35に記載のデバイス。
【請求項３７】
前記操作が、
前記ストレージシステムに対して、前記イニシエータワールドワイドポート名を含むREPORT LUNコマンドを送信するステップと、
前記ストレージシステムから、前記REPORT LUNコマンドへの応答で、前記イニシエータワールドワイドポート名がアクセスできるストレージボリュームを識別する情報を受け取るステップと
をさらに含む請求項30に記載のデバイス。
【請求項３８】
ホストエンティティと、スイッチと、ストレージシステムとを含むネットワークに配置されたデバイスであって、
第1のポートと、
コンピュータプログラム命令を格納するメモリと、
前記コンピュータプログラム命令を実行するように構成されたプロセッサと
を含み、前記コンピュータプログラム命令が、前記プロセッサで実行されたときに、
前記ネットワークの第2のデバイスの第2のポートの識別子を受け取るステップと、
前記スイッチとの通信時に、前記第1のポートにより、前記第2のデバイスの前記第2のポートになりすますステップと、
前記第2のデバイスの前記第2のポートにゾーニングされた前記ネットワークの第3のデバイスの第3のポートを識別する情報を受け取るステップと、
少なくとも前記情報に基づいて、前記ストレージシステムに格納され前記ホストエンティティによってアクセスされうるデータを識別するステップと
を含む操作を前記プロセッサに実行させるデバイス。
【請求項３９】
前記操作が、
前記識別子を前記第1のポートに追加するステップ
をさらに含む請求項38に記載のデバイス。
【請求項４０】
前記スイッチとの通信時に、前記第1のポートにより、前記第2のデバイスの前記第2のポートになりすますステップが、
前記第1のポートにより、前記スイッチに対して、前記識別子を含む要求を送信するステップ
をさらに含む請求項39に記載のデバイス。
【請求項４１】
前記第2のデバイスが前記ストレージシステムを含み、前記第3のデバイスが前記ホストエンティティを含む請求項38に記載のデバイス。
【請求項４２】
前記操作が、
前記第1のポートを前記スイッチに登録するステップと、
前記ホストエンティティから、前記第3のポートのワールドワイドポート名を含む、前記第3のポートを登録する要求を受け取るステップと、
前記第3のポートの前記ワールドワイドポート名を前記デバイスの第4のポートに追加するステップと、
前記ストレージシステムとの第2の通信時に、前記ホストエンティティの前記第3のポートになりすまして、前記ストレージシステムに格納され前記ホストエンティティによってアクセスされうるデータを識別するステップと
をさらに含む請求項41に記載のデバイス。
【請求項４３】
前記第2のデバイスが前記ホストエンティティを含み、前記第3のデバイスが前記ストレージシステムを含む請求項38に記載のデバイス。
【請求項４４】
前記操作が、
前記ホストエンティティから、前記第2のポートのワールドワイドポート名を含む、前記第2のポートを登録する要求を受け取るステップ
をさらに含む請求項43に記載のデバイス。
【請求項４５】
前記操作が、
前記第2のポートの前記ワールドワイドポート名を前記第1のデバイスの第5のポートに追加するステップと、
前記スイッチに対して、前記第2のポートにゾーニングされた1または複数のデバイスを識別し前記第2のポートの前記ワールドワイドポート名を含む情報の要求を送信するステップと
をさらに含む請求項44に記載のデバイス。
【請求項４６】
前記スイッチと第2のスイッチとの間のパスに配置されている請求項38に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、2011年12月23日に提出され現在米国特許第8,255,538号として発行されている米国特許出願第13/336,257号の継続出願である2012年7月24日に提出された米国特許出願第13/556,726号の一部継続出願であり、これら各出願の全体を本出願で引用により援用する。
【０００２】
本明細書は、一般に、データを格納および管理するシステムおよび方法に関し、より詳細には、ストレージシステムで維持されているデータに関するデータ管理サービスを提供するシステムおよび方法に関する。
【背景技術】
【０００３】
電子データの格納、より詳細には電子データの管理は、ますます重要になっている。インターネット、特にクラウドコンピューティングの成長により、データストレージの容量と、格納されたデータを効率的に管理する方法とに対するニーズは、増大し続けている。多くの異なる種類のストレージデバイスおよびストレージシステムがデータを格納するために現在使用されている。これには、ディスクドライブ、テープドライブ、光学ディスク、独立ディスク冗長アレイ(RAID)、ファイバチャネルベースのストレージエリアネットワーク(SAN)などが含まれる。
【０００４】
多くのエンタープライズレベルのストレージシステムでは、1または複数の所望のタスクを実行するために、既存のストレージシステムにデータ管理サービスを追加すると有益である。たとえば、一部のストレージシステムでは、データのコピー、データイメージのスナップショットの実行、データのバックアップ、データの複製、ストレージデバイスまたはストレージシステム間でのデータの移行等を行う機能を追加すると有益でありうる。通常は、こうしたサービスを実行するためのすべての追加機能を、ストレージシステムの動作を中断させずにインストールするのが望ましい。
【発明の概要】
【課題を解決するための手段】
【０００５】
実施形態によれば、ネットワークに格納されたデータに関する情報の取得方法が提供される。ネットワークは、ホストエンティティと、スイッチと、ストレージシステムとを含む。ネットワークの第1のポートを含む第1のデバイスは、ネットワークの第2のデバイスの第2のポートの識別子を受け取る。第1のデバイスの第1のポートは、スイッチとの通信時に、第2のデバイスの第2のポートになりすます。第1のデバイスは、第2のデバイスの第2のポートにゾーニングされている(zoned)、ネットワークの第3のデバイスの第3のポートを識別する情報を受け取る。第1のデバイスは、少なくともこの情報に基づいて、ストレージシステムに格納されホストエンティティによってアクセスされうるデータを識別する。
【０００６】
一実施形態では、ネットワークはファイバチャネルベースのストレージエリアネットワークであり、スイッチはファイバチャネルスイッチである。
【０００７】
一実施形態では、識別子は第1のデバイスの第1のポートに追加される。識別子は、たとえば、ワールドワイドポート名でありうる。デバイスの第1のポートは、スイッチに対して、識別子を含む要求を送信しうる。
【０００８】
一実施形態では、第2のデバイスがストレージシステムを含み、第3のデバイスがホストエンティティを含む。第1のデバイスの第1のポートは、スイッチに登録される。第1のデバイスは、ホストエンティティから、第3のポートを登録する要求であって第3のポートのワールドワイドポート名を含む要求を受け取る。第3のポートのワールドワイドポート名は第1のデバイスの第4のポートに追加され、第1のデバイスはストレージシステムとの第2の通信時にホストエンティティの第3のポートになりすまして、ストレージシステムに格納されホストエンティティによってアクセスされうるデータを識別する。
【０００９】
別の実施形態では、第2のデバイスがホストエンティティを含み、第3のデバイスがストレージシステムを含む。第1のデバイスは、ホストエンティティから、第2のポートを登録する要求であって第2のポートのワールドワイドポート名を含む要求を受け取る。第2のポートのワールドワイドポート名は、第1のデバイスの第5のポートに追加される。第1のデバイスは、スイッチに対して、第2のポートにゾーニングされた1または複数のデバイスを識別する情報の要求であって第2のポートのワールドワイドポート名を含む要求を送信する。
【００１０】
別の実施形態では、第1のデバイスは、スイッチと第2のスイッチの間のパスに配置される。
【００１１】
別の実施形態によれば、ネットワークに格納されたデータに関する情報を判断する方法が提供される。ストレージシステムの第1のポートに関連付けられた第1の識別子が、ストレージシステムから、ストレージシステムとネットワークのスイッチの間のパスに配置されたデバイスによって受け取られる。第1の識別子は、デバイスによって、スイッチとの第1の通信時にストレージシステムの第1のポートになりすますために使用される。デバイスは、スイッチに接続されたホストサーバから、ポストサーバの第2のポートを登録する要求であって第2のポートに関連付けられた第2の識別子を含む要求を受け取る。デバイスは、ストレージシステムとの第2の通信時に、第2の識別子を使用してホストサーバの第2のポートになりすまし、ストレージシステムに格納されホストサーバの第2のポートによってアクセスされうるデータを識別する情報をストレージシステムから受け取る。
【００１２】
一実施形態では、第1の識別子はデバイスの第3のポートに追加され、デバイスはスイッチに対して、第3のポートを介して、第1の識別子を含む要求を送信する。第2の識別子はデバイスの第4のポートに追加され、デバイスはストレージシステムに対して、ストレージシステムに格納されホストサーバの第2のポートによってアクセスされうるデータを識別する情報の要求を送信する。
【００１３】
別の実施形態によれば、ネットワークに格納されたデータに関する情報を判断する方法が提供される。スイッチのスイッチポートとホストエンティティのイニシエータポートの間のパスに配置されたデバイスは、イニシエータポートのイニシエータワールドワイドポート名を登録手順で識別する。イニシエータワールドワイドポート名は、デバイスの第1のデバイスポートに追加される。デバイスは、スイッチに対して、イニシエータワールドワイドポート名に関連付けられたポートを識別する情報の要求を送信し、スイッチから、イニシエータポートに関連付けられたストレージシステムのターゲットポートのターゲットワールドワイドポート名を受け取る。デバイスは、ターゲットワールドワイドポート名とイニシエータワールドワイドポート名とに基づいて、イニシエータポートに関連付けられたストレージシステムのストレージボリュームを識別する。
【００１４】
一実施形態では、登録手順は、イニシエータポートによるデバイスへの登録を含む。登録手順は、たとえば、ファイバチャネルログイン手順を含みうる。
【００１５】
一実施形態では、ターゲットワールドワイドポート名は、デバイスの第2のデバイスポートに追加される。イニシエータワールドワイドポート名は、第1のデバイスポートに割り当てられうる。
【００１６】
一実施形態では、デバイスは、スイッチから、イニシエータポートにゾーニングされたストレージシステムのターゲットポートのターゲットワールドワイドポート名を受け取る。デバイスまたはスイッチは、スイッチの1または複数のポートごとに対応するワールドワイドポート名を識別するシンプルネームサーバテーブルにアクセスしうる。
【００１７】
一実施形態では、デバイスは、ストレージシステムに対して、イニシエータワールドワイドポート名を含むREPORT LUNコマンドを送信し、ストレージシステムから、REPORT LUNコマンドへの応答で、イニシエータワールドワイドポート名がアクセスできるストレージボリュームを識別する情報を受け取る。
【００１８】
別の実施形態では、デバイスは、ストレージシステムに対して、イニシエータワールドワイドポート名がアクセスできるストレージボリュームに関するSCSI照会を送信し、SCSI照会への応答で、ストレージボリュームのグローバルユニーク識別子を示す情報を受け取りうる。デバイスは、グローバルユニーク識別子に基づいて、イニシエータワールドワイドポート名に関連付けられた2つのストレージボリュームが同一かどうかを判断する。
【００１９】
一実施形態では、デバイスは、識別されたストレージボリュームに関するサービスを提供する。
【００２０】
別の実施形態によれば、データ管理サービスを提供する方法が提供される。ホストエンティティのイニシエータポートの識別子が、イニシエータポートとスイッチのスイッチポートの間のパスに配置されたデバイスによって判断される。ストレージシステムに格納されイニシエータポートがアクセスできるデータが、識別子に基づいて識別され、識別されたデータに関するデータ管理サービスが提供される。
【００２１】
本開示のこれらの利点およびその他の利点は、以下の発明を実施するための形態と添付の図面とを参照することで、当業者にとって明らかとなる。
【図面の簡単な説明】
【００２２】
【図１】実施形態に従ってデータストレージサービスとデータ管理サービスとを提供するために使用されうる通信システムを示す図である。
【図２】実施形態に従ったファイバチャネルベースのストレージエリアネットワーク(SAN)の構成要素を示す図である。
【図３】実施形態に従ったサーバの機能的構成要素を示す図である。
【図４】実施形態に従ったストレージシステムの機能的構成要素を示す図である。
【図５】実施形態に従ったファイバチャネルスイッチの機能的構成要素を示す図である。
【図６】実施形態に従ったシンプルネームサーバテーブルの例を示す図である。
【図７】実施形態に従ってファイバチャネルスイッチ内で確立されうるゾーニング構成の例を示す図である。
【図８】実施形態に従ったインターセプタアプライアンスの機能的構成要素を示す図である。
【図９Ａ】実施形態に従ってファイバチャネルスイッチとストレージシステムの間のリンクが削除された後の図2のファイバチャネルベースのSANを示す図である。
【図９Ｂ】実施形態に従ってファイバチャネルスイッチとストレージシステムの間にインターセプタアプライアンスが挿入された後の図2のファイバチャネルベースのSANを示す図である。
【図１０】実施形態に従ってネットワークの構成要素と通信する方法のフローチャートである。
【図１１】実施形態に従ってデータストレージサービスとデータ管理サービスとを提供するために使用されうる通信システムを示す図である。
【図１２】実施形態に従ってデータ管理サービスを提供する方法のフローチャートである。
【図１３】別の実施形態に従ったインターセプタアプライアンスの機能的構成要素を示す図である。
【図１４Ａ】ファイバチャネルスイッチとホストエンティティの間のリンクが削除された後の図2のファイバチャネルベースのSANを示す図である。
【図１４Ｂ】実施形態に従ってファイバチャネルスイッチとストレージシステムの間にインターセプタアプライアンスが挿入された後の図2のファイバチャネルベースのSANを示す図である。
【図１５】実施形態に従ってネットワークに格納されたデータに関する情報を判断する方法のフローチャートである。
【図１６】別の実施形態に従ってデータ管理サービスを提供する方法のフローチャートである。
【図１７】実施形態に従って第1のファイバチャネルスイッチと第2のファイバチャネルスイッチの間のパスにインターセプタアプライアンスが挿入されたファイバチャネルベースのSANを示す図である。
【図１８】別の実施形態に従ってネットワークに格納された情報を取得する方法のフローチャートである。
【図１９】本発明の特定の実施形態を実装するために使用されうる典型的なコンピュータを示す図である。
【発明を実施するための形態】
【００２３】
さまざまな実施形態に従って、データ格納サービスおよびデータ管理サービスを提供する方法およびシステムを提供する。本明細書に記載された実施形態に従って、デバイスまたはアプライアンスが、ネットワークの選択された場所に挿入される。たとえば、アプライアンスは、スイッチとストレージシステムの間のパスに挿入されうる。または、アプライアンスは、ホストエンティティとスイッチの間のパスに挿入されうる。または、アプライアンスは、第1のスイッチと第2のスイッチの間のパスに挿入されうる。他の実施形態では、アプライアンスは、ネットワーク内の別の場所に挿入されうる。アプライアンスは、ネットワークのさまざまなデバイスの選択されたポートを識別する情報を取得し、取得した情報を使用して、ネットワークのストレージシステムに格納され選択されたホストエンティティによってアクセスされうるデータを識別する。または、ポートおよび/またはデバイスを識別するプロセスを簡素化するために、ネットワークのさまざまなデバイスの選択されたポートに関する識別情報がアプライアンスに手動で入力されうる。
【００２４】
一実施形態によれば、ネットワークの第1のポートを備える第1のデバイスは、ネットワークの第2のデバイスの第2のポートの識別子を受け取る。第2のポートの識別子は、第1のデバイスによって(たとえば、別のデバイスから)自動的に受け取られるか、または第1のデバイスに手動で入力されうる。ネットワークは、ホストエンティティと、スイッチと、ストレージシステムとを含む。第1のデバイスの第1のポートは、スイッチとの通信時に、第2のデバイスの第2のポートになりすます。第1のデバイスは、第2のデバイスの第2のポートにゾーニングされている、ネットワークの第3のデバイスの第3のポートを識別する情報を受け取る。第1のデバイスは、少なくともこの情報に基づいて、ストレージシステムに格納されホストエンティティによってアクセスされうるデータを識別する。
【００２５】
別の実施形態では、ネットワーク内のスイッチのスイッチポートとストレージシステムのターゲットポートの間のパスに、インターセプタデバイスが挿入される。一実施形態では、インターセプタデバイスは、ストレージエリアネットワーク(SAN)に挿入される。インターセプタデバイスは、ストレージエリアネットワークの選択された構成要素になりすまして、ストレージ構成とストレージシステムに格納されたデータとに関する情報を取得する。詳細には、ターゲットポートのターゲットワールドワイドポート名がデバイスによって識別され、第1の登録手順で、デバイスの上流側ポートがターゲットワールドワイドポート名に基づいてスイッチに登録される。第2の登録手順で、ターゲットポートにゾーニングされたホストエンティティのイニシエータポートのイニシエータワールドワイドポート名を識別する登録情報が受け取られる。登録情報は、1または複数のイニシエータポートから受け取られうる。イニシエータポートのイニシエータワールドワイドポート名が、登録情報に基づいて判断される。ホストエンティティの1または複数のイニシエータポートごとに、それぞれのイニシエータポートに関連付けられたストレージシステムの1または複数のストレージボリュームが、それぞれのイニシエータポートのイニシエータワールドワイドポート名に基づいて識別される。この態様で、インターセプタデバイスはホストエンティティがアクセスできる1または複数のストレージボリュームを識別する。
【００２６】
別の実施形態では、スイッチのスイッチポートとホストエンティティのイニシエータポートの間のパスに配置されたインターセプタデバイスが、登録手順で、イニシエータポートのイニシエータワールドワイドポート名を識別する。登録手順は、自動または手動で実行されうる。イニシエータワールドワイドポート名は、インターセプタデバイスの第1のデバイスポートに追加される。インターセプタデバイスは、スイッチに対して、イニシエータポートに関連付けられたポートを識別する情報の要求を送信する。インターセプタデバイスは、イニシエータポートに関連付けられたストレージシステムのターゲットポートのターゲットワールドワイドポート名を受け取る。ターゲットワールドワイドポート名はインターセプタデバイスの第2のデバイスポートに追加される。
【００２７】
有利なことに、本明細書に記載された方法、システム、および装置では、インターセプタデバイスがネットワークに挿入された後、ホストエンティティとストレージシステムの間で、コマンドおよびその他のデータトラフィックを透過的またはほぼ透過的にパススルーさせることができる。この特徴は、ホストエンティティとストレージシステムの間を流れるI/Oコマンドおよびその他のデータトラフィックを傍受、分析、転送、および/または再処理する機会および機能を提供する。
【００２８】
一実施形態では、インターセプタデバイスはまた、ホストエンティティのイニシエータポートによってアクセスされうるストレージシステムのストレージボリュームを、ターゲットワールドワイドポート名とイニシエータワールドワイドポート名とに基づいて識別しうる。
【００２９】
ホストエンティティがアクセスしうるストレージボリュームを識別した後、インターセプタデバイスは、それらのボリュームに格納されたデータに関する追加のデータ管理サービスを提供できる。たとえば、インターセプタデバイスは、データをコピーし、データのスナップショットを実行し、データをバックアップし、データを複製し、データの移行操作を実行できる。
【００３０】
なりすます、という用語は、本明細書では、第1のデバイスまたは第1のポートが、第2のデバイスまたは第2のポートのワールドワイドポート名等の識別子を、第3のデバイスまたは第3のポートとの通信時に使用または装って、デバイスまたはポートに関連するハードウェアおよび/またはソフトウェアにより提供または許容される任意の手段を利用することを示すために使用される。
【００３１】
図1は、実施形態に従ってデータストレージサービスとデータ管理サービスとを提供するために使用される通信システム100を示す。通信システム100は、第1のネットワーク105と、1または複数のクライアント160-A、160-B等と、1または複数のサーバ135-A、135-B等とを含む。通信システム100はまた、第2のネットワーク115と、ストレージシステム180とを含む。2つのクライアント160が図1に示されているが、他の実施形態では、通信システム100が含むクライアントは2つより多くても少なくてもよい。同様に、2つのサーバ135が図1に示されているが、他の実施形態では、通信システム100が含むサーバは2つより多くても少なくてもよい。
【００３２】
便宜上、「クライアント160」という用語は、本明細書ではクライアント160-A、160-B等の任意の1つを示すものとして使用する。よって、本明細書の「クライアント160」についてのすべての説明は、クライアント160-A、160-B等のそれぞれに等価に当てはまる。同様に、「サーバ135」という用語は、本明細書ではサーバ135-A、135-B等の任意の1つを示すものとして使用する。よって、本明細書の「サーバ135」についてのすべての説明は、サーバ135-A、135-B等のそれぞれに等価に当てはまる。
【００３３】
ストレージシステム180はデータを格納する。たとえば、ストレージシステム180は、ファイル、スプレッドシート、画像、音声ファイル、ソースコードファイル等を含むがこれらに限定されない任意の種類のデータを含みうる。ストレージシステム180は、随時、指定されたデータを格納する要求を別のデバイスから受け取り、それに応じて指定されたデータを格納しうる。たとえば、ストレージシステム180は、サーバ135から受け取ったデータを格納しうる。ストレージシステム180はさらに、随時、格納されたデータにアクセスする要求を別のデバイスから受け取り、それに応じて、要求されたデータを要求元のデバイスに提供するか、または要求されたデータへのアクセスを提供する。ストレージシステム180は、要求元のデバイスが要求されたデータへのアクセスを許可されていることを、そのデータへのアクセスを提供する前に確認できる。ストレージシステム180はネットワーク115に接続されている。
【００３４】
ネットワーク115は、ファイバチャネルベースのストレージエリアネットワーク(SAN)、iSCSIベースのネットワーク、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、ワイヤレスネットワーク等の異なる種類のネットワークの1または複数を含みうる。他のネットワークも使用されうる。
【００３５】
サーバ135は、随時、格納されたデータに対する要求をクライアント160から受け取り、ストレージシステム180と通信して要求されたデータを取得し、要求されたデータを要求元のクライアントに提供する。サーバ135は、ネットワーク115に接続され、ストレージシステム180とネットワーク115を介して通信する。サーバ135は、ネットワーク105にも接続され、クライアント160とネットワーク105を介して通信する。たとえば、サーバ135は、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ、サーバコンピュータ、ワークステーション等でありうる。一部の実施形態では、サーバ、または2台以上のサーバのクラスタが、「ホストエンティティ」として定義されうる。ホストエンティティは、ホストサーバとも呼ばれる。
【００３６】
図1の典型的な実施形態では、ネットワーク105は、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、ワイヤレスネットワーク等の異なる種類のネットワークの1または複数を含みうる。他のネットワークも使用されうる。代替で、ネットワーク105は異なる種類のネットワークの組み合わせを含みうる。
【００３７】
クライアント160は、ネットワーク105を介して通信できる任意のコンピュータまたは他のデバイスでありうる。たとえば、クライアント160は、パーソナルコンピュータ、ノートパソコン、タブレットデバイス、サーバコンピュータ、メインフレームコンピュータ、ワークステーション、携帯電話等のワイヤレスデバイス、個人用デジタル補助デバイス等でありうるが、これらに限定されない。クライアント160は、随時、データの要求をサーバ135に送信する。たとえば、クライアント160は、クライアント160のユーザがウェブページ、格納されたデータ、格納された電子メール、格納されたアカウント関連のデータ等へのアクセスを要求したときに、サーバ135に対して、格納されたデータの要求を送信しうる。
【００３８】
一実施形態では、サーバ135は、ウェブサイトを維持し当該ウェブサイトに関連する1または複数のWebページへのアクセスを提供するウェブサーバを含みうる。より詳細には、サーバ135は、1または複数のクラウドベースのサービスをクライアント160に提供しうる。これには、クライアント160がインターネットを介してデータを遠隔的かつ透過的に格納し、格納されたデータにインターネットを介してアクセスできるようにする、クラウドベースのストレージサービスが含まれる。
【００３９】
他の実施形態では、サーバ135は他の種類のサービスを提供できる。たとえば、サーバ135は、格納されたファイルへのアクセスを提供するファイルサーバ、格納された電子メールへのアクセスを提供する電子メールサーバ等を含みうる。
【００４０】
例示的な実施形態では、ネットワーク115はファイバチャネルベースのストレージエリアネットワーク(SAN)である。図2は、実施形態に従ったファイバチャネルベースのストレージエリアネットワーク(SAN)115の構成要素を示す。ファイバチャネルベースのストレージエリアネットワーク(SAN)115は、ファイバチャネルスイッチ225を含む。サーバ135-Aは、リンク271および272によりファイバチャネル(FC)スイッチ225に接続される。サーバ135-Bは、リンク273および274によりFCスイッチ225に接続される。FCスイッチ225は、リンク281および282によりストレージシステム180に接続される。他の実施形態では、ファイバチャネルベースのSAN 115は、任意の種類のトポロジを備えうる。これには、ポイントツーポイントトポロジ、アービトレーテッドループトポロジ、スイッチドファブリックトポロジ等のトポロジが含まれるが、これらに限定されない。
【００４１】
ファイバチャネルベースのSAN 115内の特定のデバイスは、1または複数のポートを含む。ポートは、ネットワーク115を介して能動的に通信するエンティティである。サーバ135に配置されたポートは、本明細書では、イニシエータポートとも呼ばれることがある。ストレージシステム180に配置されたポートは、本明細書では、ターゲットポートとも呼ばれることがある。FCスイッチ225に配置されたポートは、本明細書では、スイッチポートとも呼ばれることがある。図2の例示的な実施形態では、サーバ135-AはイニシエータポートI-1およびI-2を含み、サーバ135-BはイニシエータポートI-3およびI-4を含む。ストレージシステム180は、ターゲットポートT-1およびT-2を含む。FCスイッチ225は、スイッチポートP-1、P-2、P-3、P-4、P-5、およびP-6を含む。サーバ135、ストレージシステム180、およびFCスイッチ225が含むポートは、図2に示されているポートよりも多いか、または少ない可能性がある。
【００４２】
データは、ファイバチャネルベースのSAN 115内でリンクを介して送信される。例示的な実施形態では、リンク271は、(サーバ135-Aの)イニシエータポートI-1をFCスイッチ225のポートP-1に接続する。リンク272は、(サーバ135-Aの)イニシエータポートI-2をFCスイッチ225のポートP-2に接続する。リンク273は、(サーバ135-Bの)イニシエータポートI-3をFCスイッチ225のポートP-3に接続する。リンク274は、サーバ135-BのイニシエータポートI-4をFCスイッチ225のポートP-4に接続する。リンク281は、FCスイッチ225のポートP-5をストレージシステム180のターゲットポートT-1に接続する。リンク282は、FCスイッチ225のポートP-6をストレージシステム180のターゲットポートT-2に接続する。
【００４３】
実施形態では、ファイバチャネルベースのSAN 115の構成要素間の通信は、ファイバチャネルプロトコル(FCP)に応じて実施される。たとえば、サーバ135、FCスイッチ225、およびストレージシステム180は、ネットワーク115を介してSCSIコマンドを送信できる。
【００４４】
図3は、実施形態に従ったサーバ135の機能的構成要素を示す。例示の目的上、図3ではサーバ135-Aの構成要素を示しているが、図3および以下の説明は、通信システム100の任意のサーバに等価に当てはまる。サーバ135-Aは、サービスマネージャ325と、メモリ375と、イニシエータポートI-1およびI-2とを含む。サーバ135-Aが含むイニシエータポートは、2つよりも多いか、または少ない可能性がある。
【００４５】
サービスマネージャ325は、サーバ135-A内のさまざまな構成要素の動作を制御する。サービスマネージャ325は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組み合わせにより実装されうる機能的プロセスである。メモリ375は、サーバ135-Aのさまざまな構成要素により、データを格納するために使用される。図3の例示的な実施形態では、イニシエータポートI-1およびI-2は、サーバ135-Aに配置されたホストバスアダプタ362で実装される。サーバ135-Aは、複数のホストバスアダプタを含みうる。他の実施形態では、イニシエータポートI-1およびI-2は、サーバ135-Aの異なる構成要素で実装されうる。サーバ135-Aは、図3に示されていない構成要素を含みうる。
【００４６】
図4は、実施例に従ったストレージシステム180の機能的構成要素を示す。ストレージシステム180は、ストレージマネージャ410と、メモリ475と、ストレージ468とを含む。ストレージマネージャ410は、ストレージシステム180のさまざまな構成要素の操作を制御する。ストレージマネージャ410は、多様なデータストレージ技術の1または複数を使用してデータを格納する機能を含みうる。たとえば、ストレージマネージャ410は、仮想化方式を使用したり、さまざまなRAID構成を使用したりして、データを格納できる。ストレージマネージャ410は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組み合わせにより実装されうる機能的プロセスである。メモリ475は、ストレージシステム180のさまざまな構成要素により、データを格納するために使用されうる。ストレージシステム180はまた、ターゲットポートT-1およびT-2を含む。一実施形態では、ターゲットポートT-1およびT-2は、1または複数のホストバスアダプタで実装されうる。一実施形態では、ストレージマネージャ410と1または複数のターゲットポートとは、ストレージコントローラと呼ばれるサブシステムとして実装されうる。ストレージシステム180は、図4に示されていない構成要素を含みうる。
【００４７】
ストレージ468は、データを格納できる1または複数のストレージデバイス(図示せず)を含む。ストレージ468は、1または複数のブロックレベルストレージデバイス、1または複数のファイルレベルストレージデバイス、および/または他の種類のストレージデバイスを含みうる。たとえば、ストレージ468は、1または複数のディスクドライブ、光学ディスク、テープドライブ等を含みうるが、これらに限定されない。ストレージ468は、独立ディスク冗長アレイ(RAID)または複数RAIDを含みうる。ストレージ468は、ローカルストレージおよび/または分散型ストレージを含みうる。他の種類のストレージデバイスも使用されうる。
【００４８】
ストレージシステム180に格納されたデータは、ボリュームとも呼ばれる論理ユニット番号(LUN)に整理されうる。図4の例示的な実施形態では、ストレージ468は、ボリューム491および492を含む複数のボリュームを含む。LUNまたはボリュームは、論理的な単位であり、したがって複数のストレージデバイスに分散したデータを含みうる。
【００４９】
図5は、実施形態に従ったFCスイッチ225の機能的構成要素を示す。FCスイッチ225は、スイッチマネージャ525と、メモリ575とを含む。スイッチマネージャ525は、FCスイッチ225内のさまざまな構成要素の動作を制御する。スイッチマネージャ525は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組み合わせにより実装されうる機能的プロセスである。メモリ575は、FCスイッチ225のさまざまな構成要素により、制御データを格納するために使用される。FCスイッチ225はまた、スイッチポートP-1、P-2、P-3、P-4、P-5、およびP-6を含む。一実施形態では、ポートP-1、P-2、P-3、P-4、P-5、およびP-6は、1または複数のホストバスアダプタを使用して実装されうる。FCスイッチ225は、図5に示されていない構成要素を含みうる。
【００５０】
スイッチマネージャ525は、随時、FCスイッチ225の第1のスイッチポートで受け取られたI/OコマンドをFCスイッチ225の第2のスイッチポートに送る。
【００５１】
ファイバチャネルベースのSAN 115内のデバイスのポートがFCスイッチ225に接続されると、当該ポートは、既知の登録手順またはログイン手順でFCスイッチ225に登録またはログインする。各ファイバチャネルポートには、デバイスの製造業者によって、ワールドワイドポート名(WWPN)と呼ばれるユニーク識別子が割り当てられている。各WWPNは、一意の64ビット数である。よって、各イニシエータポートI-1、I-2、I-3、およびI-4は、それぞれのWWPNを備える。FCスイッチ225のP-1からP-6までの各ポートも、それぞれのWWPNを備える。ストレージシステム180の各ターゲットポートT-1およびT-2は、それぞれのWWPNを備える。
【００５２】
便宜上、本明細書では、イニシエータポートのワールドワイドポート名をイニシエータワールドワイドポート名と呼び、ターゲットポートのワールドワイドポート名をターゲットワールドワイドポート名と呼ぶ。ただし、上述したように、各ワールドワイドポート名は、(イニシエータポートとターゲットポートのどちらに関連付けられているかに関係なく)一意の64ビット数である。本明細書で使用するイニシエータワールドワイドポート名およびターゲットワールドワイドポート名という用語は、あくまでも便宜上のものである。これらの用語は、ワールドワイドポート名の異なる「種類」を反映しているわけでもなければ、イニシエータポートに関連付けられたワールドワイドポート名とターゲットポートに関連付けられたワールドワイドポート名を区別するワールドワイドポート名自体の特徴を反映しているわけでもない。
【００５３】
FCスイッチ225は、シンプルネームサーバテーブルを維持して、ファイバチャネルベースのSAN 115内のさまざまなポートに関する情報を格納する。図6は、実施形態に従ったシンプルネームサーバテーブルの例を示す。シンプルネームサーバテーブル650は、イニシエータポートまたはターゲットポートのワールドワイドポート名を格納する列625と、イニシエータポートまたはターゲットポートが接続されるFCスイッチ225のポートの識別子を格納する列629とを含む。レコード602を参照すると、イニシエータポートI-1に割り当てられた第1のワールドワイドポート名WWPN-1は、FCスイッチ225のポートP-1に接続されている。レコード604は、WWPN-2 (イニシエータポートI-2に割り当てられている)がFCスイッチ225のポートP-2に接続されていることを示している。レコード606は、WWPN-3 (イニシエータポートI-3に割り当てられている)がFCスイッチ225のポートP-3に接続されていることを示している。レコード614は、WWPN-5 (ターゲットポートT-1に割り当てられている)がFCスイッチ225のポートP-5に接続されていることを示している。
【００５４】
シンプルネームサーバテーブル650は、図5に示すように、FCスイッチ225のメモリ575に格納される。サーバ135およびストレージシステム180には、随時、シンプルネームサーバテーブル650へのアクセスが与えられうる。
【００５５】
サーバ135のイニシエータポートまたはストレージシステム180のターゲットポートがFCスイッチ225のポートに接続されると、そのイニシエータポートまたはターゲットポートは、ファイバチャネルログイン要求とも呼ばれる登録要求をFCスイッチ225に送信する。これに応じて、シンプルネームサーバテーブル650が更新されて、要求元ポートのWWPNとFCスイッチ225の対応するポートとが記録される。イニシエータポートまたはターゲットポートがFCスイッチ225から接続解除されると、シンプルネームサーバテーブル650が更新されて変更が反映される。
【００５６】
＜I/Oコマンド＞
サーバ135は、随時、ストレージシステム180が指定されたストレージボリュームにデータを格納することを要求する入力/出力(I/O)コマンドを生成し、ストレージシステム180に(FCスイッチ225を介して)送信しうる。特定のストレージボリュームに関連し、サーバ135の特定のイニシエータポートを起点とし、ストレージシステム180の所望のターゲットポートを目的とするI/Oコマンドは、(1)サーバ135の起点のイニシエータポートに対応する(すなわち、接続される)スイッチ225のポートの識別子、(2)ストレージシステム180の所望のターゲットポートに対応する(すなわち、接続される)スイッチ225のポートの識別子、および(3)I/Oコマンドが関連する特定のボリュームの識別子を、他のデータとともに含みうる。
【００５７】
＜LUNマスキング＞
特定のストレージボリュームへのアクセスを、単一のサーバ、または単一のホストエンティティとして定義される1または複数のサーバのクラスタに限定または制限するのが望ましいことがある。よって、実施形態により、ストレージシステム180で維持される特定のボリュームを、選択されたサーバのすべてのポートに割り当てる(他のサーバの他のポートには割り当てない)ことができる。別の実施形態では、特定のストレージボリュームへのアクセスを、特定のホストエンティティ(複数のサーバを含みうる)に限定できる。よって、当該ストレージボリュームは、ホストエンティティに関連する各サーバのすべてのポートに割り当てられうる。詳細には、ボリュームは、それぞれのイニシエータポートに関連付けられた1または複数のWWPNに割り当てられる。ストレージボリュームのさまざまなイニシエータWWPNへの割り当てを示す割り当て情報は、ストレージシステム180によって維持される。ストレージシステム180は、「LUNマスキング」と呼ばれる方法を使用して、ストレージボリュームへのアクセスを割り当てに応じて許可する。LUNマスキングを実行する手法の例を以下に説明する。
【００５８】
例示的な実施形態では、図4に示すボリューム1 (491)へのアクセスが、サーバ135-Aに許可される(サーバ135-Bまたは他のすべてのサーバには許可されない)。したがって、ボリューム1 (491)は、サーバ135-AのイニシエータポートI-1のWWPNとイニシエータポートI-2のWWPNとに割り当てられる。
【００５９】
したがって、LUNマスキング手法の例では、ストレージシステム180のストレージマネージャ410がボリューム1 (491)を指定するI/Oコマンドを受け取ると、ストレージマネージャ410は、そのI/Oコマンドから、送信元イニシエータポートのWWPNを判断するために使用できる情報を取得する。ストレージボリュームがこの特定のWWPNに割り当てられている場合、ストレージマネージャ410は、そのボリュームへのアクセスを提供する。たとえば、I/Oコマンドがボリューム1を指定し、イニシエータポートI-1から送信された場合、ストレージシステム180は、ボリューム1がイニシエータポートI-1のWWPNに割り当てられていることを確認し、ボリューム1へのアクセスを提供する。ボリュームが送信元のWWPNに割り当てられていない場合、ストレージマネージャ410は、I/Oコマンドを拒否し、ボリュームへのアクセスを認めない。
【００６０】
＜ゾーニング＞
ゾーニング(zoning)と呼ばれる方法を使用すると、FCスイッチ225のポート間の内部パスを、1または複数の定義済みポリシーに応じて構成できる。たとえば、FCスイッチ225は、スイッチ225の第1のポートがスイッチ225の指定された第2のポートのみにリンクされる、すなわちゾーニングされるように構成されうる。または、FCスイッチ225は、FCスイッチ225の第1の指定されたポートが、FCスイッチ225の2つ以上のポートに確実にゾーニングされるように構成されうる。図7は、実施例に従ってFCスイッチ225内で確立されうるゾーニング構成の例を示す。図7の例示的な実施形態では、ポートP-1が内部パス771を介してポートP-5にゾーニングされ、ポートP-2が内部パス772を介してポートP-5にゾーニングされるとともに内部パス773を介してポートP-6にゾーニングされ、ポートP-3が内部パス774を介してポートP-6にゾーニングされ、ポートP-4が内部パス775を介してポートP-6にゾーニングされている。図7に示すゾーニング配置とは異なる他のゾーニング配置も使用されうる。ハードゾーニングとして知られるゾーニング方法によれば、ゾーニングはスイッチポートに基づいて確立される。ハードゾーニング方法によれば、物理接続に基づいて、ネットワーク内で第1のポートが第2のポートにゾーニングされうる。
【００６１】
ソフトゾーニングと呼ばれるゾーニング方法では、サーバ135のイニシエータポートとストレージシステム180のターゲットポートとの間でそれぞれのワールドワイドポート名に基づいて関係を定義することにより、FCスイッチ225内でゾーニング構成を確立できる。サーバ135のイニシエータポートは、さまざまなポート間の物理接続に関係なく、ストレージシステム180のターゲットポートに対してゾーニングされうる。ソフトゾーニング方法によれば、物理接続に関係なく、第1のワールドワイドポート名が第2のワールドワイドポート名にゾーニングされうる。
【００６２】
例示的な実施形態(図2および図7を参照)では、サーバ135-AのイニシエータポートI-1は、ストレージシステム180のターゲットポートT-1にのみゾーニングされうる。詳細には、イニシエータポートI-1からリンク271を経てFCスイッチ225のポートP-1、次いで内部的に内部パス771を経てFCスイッチ225のポートP-5、次いでストレージシステム180のターゲットポートT-1にゾーニングされうる。したがって、サーバ135-AのイニシエータポートI-1は、ストレージシステム180のターゲットポートT-1に対してのみデータを送信および受信できる。この例では、イニシエータポートI-1がFCスイッチ225のポートP-1およびP-5に接続されているが、イニシエータポートI-1は、物理ポートではなくさまざまなポートのWWPNに基づくソフトゾーニング方法を使用して、任意の他のスイッチポートにも接続されうることに注目されたい。
【００６３】
特定のポートは、その特定のポートにゾーニングされたネットワーク内の一連のポートとして定義される関連ゾーンを持ちうる。
【００６４】
例示的な実施形態では、サーバ135-AのイニシエータポートI-2は、ストレージシステム180の2つのターゲットポートにゾーニングされる。詳細には、イニシエータポートI-2は、イニシエータポートI-2からリンク272を経てFCスイッチ225のポートP-2、次いで内部的に内部パス772を経てFCスイッチ225のポートP-5、次いでリンク281を経てストレージシステム180のターゲットポートT-1に至る第1のパスを通じて、ターゲットポートT1にゾーニングされる。またイニシエータポートI-2は、イニシエータポートI-2からリンク272、FCスイッチ225のポートP-2、内部パス773、FCスイッチ225のポートP-6、およびリンク282を経てストレージシステム180のターゲットポートT-2に至る第2のパスを通じて、ターゲットポートT2にもゾーニングされる。したがって、サーバ135-AのイニシエータポートI-2は、ストレージシステム180の両方のターゲットポートT-1およびT-2に対してデータを送信および受信するができる。上述したように、ゾーニング構成は、さまざまなポート間の物理接続に関係なく、ソフトゾーニング方法を使用して、さまざまなポートのWWPNに基づいて変更できる。
【００６５】
＜マルチパス機能＞
実施形態では、サーバ135-Aは、FCスイッチ225内の特定のゾーニング構成によって定義されたパスと、ストレージシステム180内のLUNマスキングと、ストレージシステム180で維持されているさまざまなボリュームとの間の関係を判断する機能を含む。たとえば、図3を参照すると、サーバ135-Aのサービスマネージャ325は、マルチパス機能を含みうる。または、そのような機能は、サーバ135-Aに存在する独立したソフトウェアアプリケーションによって実装されうる。そのようなソフトウェアアプリケーションは、マルチパスソフトウェアアプリケーションとも呼ばれる。
【００６６】
例示的な実施形態では、サービスマネージャ325は、マルチパス機能を使用して、サーバ135-Aとストレージシステム180の間で利用可能なすべてのパスを(FCスイッチ225内で確立されたすべての内部ゾーニングと、ストレージシステム180で確立されたLUNマスキングとを考慮して)調べ、それぞれのパスを介してアクセスされうる各ストレージボリュームを特定する。したがって、サービスマネージャ325は、イニシエータポートI-1がストレージシステム180の1つのターゲットポートT-1のみにゾーニングされていることを判断する。サービスマネージャ325はさらに、この特定のパスが、1つの特定のストレージボリュームへのアクセスを可能にすることを判断する。加えて、サービスマネージャ325は、イニシエータポートI-2がストレージシステム180の2つのポートT-1およびT-2にゾーニングされていることを判断する。サービスマネージャ325はまた、これらのパスのそれぞれが、1つのストレージボリュームへのアクセスを可能にすることを判断する。この判断は、サーバ135の各イニシエータポートに関連付けられたワールドワイドポート名と、LUNマスキングとに基づいて行われうる。
【００６７】
サービスマネージャ325によって取得された、各イニシエータポートからアクセスできるボリュームに関する情報は、あいまいである可能性があり、さまざまなイニシエータポートからアクセスできる一意のボリュームの数を特定していない可能性がある。
【００６８】
サービスマネージャ325は、マルチパス機能を使用して、アクセス可能なストレージボリュームを照合確認し、イニシエータポートI-1およびI-2から実際にアクセスできる一意のストレージボリュームの数を判断する。例示的な実施形態では、サービスマネージャ325は、サーバ135-Aとストレージシステム180の間の3つの定義済みパスをそれぞれ調べ、3つのパスのすべてが3つの異なるストレージボリュームではなく同じボリューム1 (491)へのアクセスを可能にすることを判断する。
【００６９】
サービスマネージャ325は、マルチパス機能の付加的な側面を使用して、サーバ135-Aとストレージシステム180の間のトラフィックを、必要に応じて第1のパスから第2のパスに経路変更して、特定のストレージボリュームに関する継続的な通信を確保する。たとえば、サービスマネージャ325がFCスイッチ225とストレージシステム180の間のリンク281でデータのフローが中断され、ボリューム1 (491)に関する通信が中断されていることを検出した場合、サービスマネージャ325は、ボリューム1 (491)に関するすべての通信を、イニシエータポートI-2を起点としてリンク282を利用するパスなど、ボリューム1 (491)へのアクセスを可能にする別の利用可能なパスに転送できる。
【００７０】
＜インターセプタアプライアンス＞
多くのエンタープライズレベルのストレージシステムでは、既存のストレージシステムにデータ管理サービスを追加すると有益である。たとえば、データのコピー、データイメージのスナップショットの実行、データのバックアップ、データの複製、ストレージデバイスまたはストレージシステム間でのデータの移行等の機能を追加すると、しばしば有益である。このような機能は、ストレージシステムの動作を中断させずに追加するのが好ましい。
【００７１】
1つの解決策は、サーバまたはホストエンティティに機能を追加することである。たとえば、特殊なドライバ(たとえば、ソフトウェアアプリケーション)をサーバにインストールして、ストレージシステムに送信されるI/Oコマンドを傍受することができる。ただし、この解決策は、いくつかの理由で不利である。ソフトウェアをサーバにインストールすると、インストールされたアプリケーションの問題によってサーバが低速になるか、場合によってはサーバがクラッシュする可能性があるリスクを生み出す。このアプローチのもう1つの問題は、さまざまなサーバで使用されるオペレーティングシステムプラットフォームに適した異なるソフトウェアを作成しなければならないことである。異なるサーバで使用するための異なるドライバを作成するのは非効率的であり、望ましくない。
【００７２】
発明者は、ホストエンティティとストレージシステムとを含むファイバチャネルベースのネットワークに、すべてのI/Oコマンドを透過的に傍受し、ストレージシステムに格納されたデータに関するデータ管理サービスを提供する機能を備えたデバイスまたはアプライアンスを挿入するシステムおよび方法を含む解決策を見つけ出した。発明者はさらに、そのようなデバイスまたはアプライアンスを、ストレージシステムの動作を中断せず、かつシステムのダウンタイムを必要とせずに、透過的に挿入するシステムおよび方法を含む解決策を見つけ出した。
【００７３】
さまざまな実施形態によれば、デバイスまたはアプライアンスは、ネットワークの選択された場所にインストールされる。一実施形態では、アプライアンスは、ストレージシステムとファイバチャネルスイッチの間のパスにインストールされる。別の実施形態では、アプライアンスは、ホストエンティティとファイバチャネルスイッチの間のパスにインストールされる。別の実施形態では、アプライアンスは、第1のファイバチャネルスイッチと第2のファイバチャネルスイッチの間のパスにインストールされる。他の実施形態では、他の配置が使用されうる。
【００７４】
＜ストレージ側インターセプタ＞
一実施形態では、ネットワークのストレージシステムとスイッチの間に配置されたデバイスは、ストレージシステムの第1のポートに関連付けられた第1の識別子を受け取る。デバイスは、スイッチとの第1の通信時に、第1の識別子を使用して、ストレージシステムの第1のポートになりすます。デバイスは、スイッチに接続されたホストサーバから、ホストサーバの第2のポートを登録する要求を受け取る。この要求は、第2のポートに関連付けられた第2の識別子を含む。デバイスは、ストレージシステムとの第2の通信時に、第2の識別子を使用してホストサーバの第2のポートになりすまし、ストレージシステムから、ストレージシステムに格納されホストサーバの第2のポートによってアクセスされうるデータを識別する情報を受け取る。
【００７５】
よって、例示的な実施形態では、インターセプタアプライアンスは、FCスイッチ225の選択されたポートとストレージシステム180の選択されたターゲットポートの間のパスに挿入される。インターセプタアプライアンスは、ストレージシステム180の選択されたターゲットポートのWWPNを判断し、ストレージシステム180の選択されたターゲットポートにゾーニングされたサーバまたはホストエンティティの各イニシエータポートのWWPNを判断し、サーバまたはホストエンティティの各WWPNに割り当てられたストレージシステムのすべてのストレージボリュームを識別する。
【００７６】
図8は、実施形態に従ったインターセプタアプライアンス890の機能的構成要素を示す。インターセプタアプライアンス890は、インターセプタプロセス810と、メモリ815と、データ管理サービス848とを含む。インターセプタプロセス810は、インターセプタアプライアンス890のさまざまな構成要素の動作を制御する。インターセプタプロセス810は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組み合わせにより実装されうる機能的プロセスである。メモリ815は、インターセプタアプライアンス890のさまざまな構成要素により、データを格納するために使用される。またインターセプタアプライアンス890は、インターセプタポート846および847を含む。インターセプタポート846および847は、1または複数のホストバスアダプタを使用して実装されうる。
【００７７】
一実施形態では、インターセプタアプライアンス890はコンピュータを含む。他の種類の処理デバイスも使用されうる。
【００７８】
インターセプタアプライアンス890は、さまざまな方法のいずれかを使用して、FCスイッチ225の選択されたポートとストレージシステム180のターゲットポートの間に挿入されうる。たとえば、例示的な実施形態では、図9Aに示すように、FCスイッチ225のポートP-5とストレージシステム180のターゲットポートT-1の間のリンク281が削除される。
【００７９】
サーバ135のマルチパス機能により、リンク281の削除によってストレージシステム180で維持される任意のボリュームに関するデータのフローが中断されないことが保証される。たとえば、サーバ135のサービスマネージャ325は、リンク281の削除を検出し、イニシエータポートI-1がストレージシステム180と通信できなくなったことを判断できる。サービスマネージャ325は、マルチパス機能を使用して、ボリューム1に関連するすべてのI/Oコマンドを、(リンク281の削除によってストレージシステム180と通信できなくなった)イニシエータポートI-1から、同じくボリューム1にアクセスでき別の使用可能なパスを通じてストレージシステム180と通信できるイニシエータポートI-2に転送できることを判断できる。
【００８０】
例示的な実施形態では、インターセプタアプライアンス890は以下の態様で挿入される。図9Bを参照すると、インターセプタアプライアンス890のインターセプタポート846は、リンク981によりFCスイッチ225のポートP-5に接続され、インターセプタポート847は、リンク982によりストレージシステム180のターゲットポートT-1に接続される。
【００８１】
他の実施形態では、他のデバイスが、たとえばインターセプタアプライアンス890とFCスイッチ225の間、またはインターセプタアプライアンス890とストレージシステム180の間に挿入されうる。
【００８２】
インターセプタアプライアンス890は、ストレージシステム180に格納されたデータに関する情報を取得するために、ファイバチャネルベースのSAN 115の構成要素と通信する。図10は、実施形態に従って、ネットワークの構成要素と通信する方法のフローチャートである。ステップ1010において、ストレージシステムのターゲットポートのターゲットワールドワイドポート名が、スイッチのスイッチポートとストレージシステムのターゲットポートの間のパスに配置されたデバイスによって識別される。例示的な実施形態では、ストレージシステム180のターゲットポートT-1がインターセプタアプライアンス890のインターセプタポート847に接続されると、ターゲットポートT-1は、インターセプタアプライアンス890への登録を試みる。よってターゲットポートT-1は、インターセプタアプライアンス890に対して、登録の要求、またはファイバチャネルログインを完了する要求を送信する。この要求は、ターゲットポートT-1のWWPNを含む。インターセプタアプライアンス890は、要求を受け取り、ターゲットポートT-1のWWPNを取得する。
【００８３】
ステップ1020において、第1の登録手順、すなわちファイバチャネルログイン手順で、デバイスの上流側ポートがターゲットワールドワイドポート名に基づいてスイッチに登録される。例示的な実施形態では、(上流側)インターセプタポート846は、ターゲットポートT-1のWWPNを使用してターゲットポートT-1になりすまし、FCスイッチ225から情報を取得する。詳細には、インターセプタアプライアンス890は、(上流側)インターセプタポート846から、FCスイッチ225への登録の要求を送信する。登録の要求には、ターゲットポートT-1のターゲットワールドワイドポート名が含まれている(また、インターセプタポート846にとって一意な第2のワールドワイドポート名が追加で含まれていることもある)。FCスイッチ225は、登録の要求を受け取り、ターゲットポートT-1のターゲットワールドワイドポート名に基づいてインターセプタポート846を登録する。FCスイッチ225は、インターセプタポート846にとって一意な第2のワールドワイドポート名に基づいてインターセプタポート846を追加的に登録することもある。
【００８４】
ステップ1030において、第2の登録手順で、ターゲットポートに関連付けられたサーバのイニシエータポートに関する登録情報が受け取られる。例示的な実施形態では、イニシエータポートから受け取られる登録情報は、イニシエータポートのワールドワイドポート名を識別する情報を含む。他の実施形態では、登録情報は、ポート番号など、イニシエータポートに関連付けられた別の種類の識別子を含みうる。イニシエータポートから受け取られる登録情報は、イニシエータポートが接続されているスイッチポートを識別する情報を含むこともある。
【００８５】
よって、インターセプタポート846がターゲットポートT-1のワールドワイドポート名を使用してFCスイッチ225に登録すると、第2の登録手順で、ターゲットポートT-1にゾーニングされている任意のサーバ135(またはホストエンティティ)のすべてのイニシエータポートがインターセプタポート846に登録される。第2の登録手順時に、各イニシエータポートは、それぞれのワールドワイドポート名を識別する登録情報を送信する。したがって、(ターゲットポートT-1にゾーニングされた)各イニシエータポートI-1およびI-2は、インターセプタポート846に登録され、そのワールドワイドポート名を指定する情報をインターセプタポート846に提供する。詳細には、イニシエータポートI-1は、そのワールドワイドポート名(WWPN-1)を登録情報で提供し、イニシエータポートI-2は、そのワールドワイドポート名(WWPN-2)を提供する。イニシエータポートI-1は、接続先のスイッチポートP-1を識別するスイッチポート識別子を登録情報に含めることもある。イニシエータポートI-2は、接続先のスイッチポートP-2を識別するスイッチポート識別子を登録情報に含めることもある。
【００８６】
ステップ1040において、サーバ(またはホストエンティティ)のイニシエータポートのイニシエータワールドワイドポート名が、登録情報に基づいて判断される。したがって、インターセプタアプライアンス890は、受け取った登録情報から、サーバ135-Aの各イニシエータポートのワールドワイドポート名を取得する。詳細には、インターセプタアプライアンス890のインターセプタプロセス810で、WWPN-1がイニシエータポートI-1のワールドワイドポート名であり、WWPN-2がイニシエータポートI-2のワールドワイドポート名であることを判断する。この態様で、インターセプタアプライアンス890は、ストレージシステム180のターゲットポートT-1にゾーニングされたサーバ135-Aの各イニシエータポートのイニシエータワールドワイドポート名を判断する。
【００８７】
代替の実施形態では、イニシエータポートから受け取った登録情報は、イニシエータポートのワールドワイド名を含まず、イニシエータポートが接続されているスイッチポートを識別するスイッチポート識別子を含む。たとえば、イニシエータポートI-1は、スイッチポートP-1に接続されていることを示す登録情報を提供し、イニシエータポートI-2は、スイッチポートP-2に接続されていることを示す登録情報を提供する。よってインターセプタアプライアンス890は、シンプルネームサーバテーブル650にアクセスして調査を行い、受け取ったスイッチポート識別子ごとに、対応するイニシエータワールドワイドポート名を識別する。詳細には、インターセプタアプライアンス890のインターセプタプロセス810で、シンプルネームサーバテーブル650に問い合わせて、WWPN-1がスイッチポート識別子P-1に関連付けられていること(したがってFCスイッチ225のポートP-1にリンクされていること)を判断し、WWPN-2がスイッチポート識別子P-2に関連付けられていること(したがってFCスイッチ225のポートP-2にリンクされていること)を判断する。
【００８８】
別の実施形態では、ステップ1020と同様に、インターセプタアプライアンス890は、ターゲットポートT-1になりすまし、FCスイッチ225への登録の要求を(上流側)インターセプタポート846から送信しうる(要求は、ターゲットポートT-1のターゲットワールドワイドポート名を含む)。これに対し、FCスイッチ225は、シンプルネームサーバテーブル650にアクセスし、ターゲットポートT-1にゾーニングされているサーバ135-Aの1または複数のイニシエータポートを指定する情報をインターセプタアプライアンス890に提供する。
【００８９】
ステップ1050において、イニシエータポートに関連付けられているストレージシステムの1または複数のストレージボリュームが、イニシエータポートのイニシエータワールドワイドポート名に基づいて識別される。例示的な実施形態では、インターセプタアプライアンス890は、サーバ135の各イニシエータポートになりすましてストレージシステム180から情報を取得する。詳細には、インターセプタアプライアンス890のインターセプタプロセス810で、標準的な手順を使用して、ターゲットポートT-1にゾーニングされたイニシエータポートのイニシエータワールドワイドポート名を、インターセプタアプライアンス890の(下流側)インターセプタポート847に追加する。したがって、インターセプタプロセス810で、WWPN-1およびWWPN-2をインターセプタポート847に追加する。イニシエータワールドワイドポート名がインターセプタポート847に追加された後、インターセプタプロセス810で、上述した態様により、各イニシエータワールドワイドポート名がアクセスできる1または複数のボリュームを識別する情報をストレージシステム180から取得しうる。
【００９０】
インターセプタアプライアンス890のポート847に関連付けられたイニシエータワールドワイドポート名ごとに、インターセプタプロセス810でストレージシステム180に対して、それぞれのイニシエータWWPNを指定し、そのイニシエータWWPNがアクセスできるボリュームを識別する情報を要求するコマンドを送信する。たとえば、インターセプタプロセス810で、SCSIプロトコルに従ってREPORT LUNコマンドを送信できる。ストレージシステム180はコマンドを受け取り、それに応じて、指定されたイニシエータWWPNがアクセスできる1または複数のボリュームを示す情報を送信する。したがって、例示的な実施形態では、インターセプタプロセス810でストレージシステム180に対して、WWPN-1を指定するREPORT LUNコマンドを送信する。これに応じて、ストレージシステム180は、インターセプタアプライアンス890に対して、WWPN-1がボリューム1 (491)にアクセスできることを示す情報を送信する。また、インターセプタプロセス810でストレージシステム180に対して、WWPN-2を指定するREPORT LUNコマンドを送信する。これに応じて、ストレージシステム180は、インターセプタアプライアンス890に対して、WWPN-2がボリューム1 (491)にアクセスできることを伝える。他の実施形態では、インターセプタアプライアンス890は、ポート番号など、イニシエータポートに関連付けられた別の種類の識別子を使用してイニシエータポートになりすまし、イニシエータポートがアクセスできるデータを識別する情報を判断できる。
【００９１】
上述したように、一部の実施形態では、ストレージシステム180から受け取った、各イニシエータワールドワイドポート名がアクセスできるボリュームに関する情報は、あいまいである可能性があり、さまざまなイニシエータワールドワイドポート名からアクセスできる一意のボリュームの数を特定していない可能性がある。結果として、インターセプタアプライアンス890は、ストレージシステム180から取得した情報を、実際に存在するよりも多くのストレージボリュームを示しているものとして解釈する可能性がある。したがって、インターセプタアプライアンス890は、ストレージシステム180から受け取った情報を照合確認して、識別されたストレージボリュームが一意であるか、または識別されたストレージボリュームの2つ以上が同一であり故に冗長であるかを判断できる。
【００９２】
よって、一実施形態では、インターセプタプロセス810で、コマンド(INQUIRYコマンドと呼ばれるSCSIコマンド等)を識別された各ボリュームに送信して、そのボリュームに関連付けられているグローバルユニーク識別子(GUID)を取得する。このコマンドに応じて、ボリュームはインターセプタアプライアンス890に対して、自らのグローバルユニーク識別子を指定するメッセージを送信する。この態様で受け取られたGUIDに基づき、インターセプタプロセス810で、一意のボリュームがいくつ存在するか、また識別されたボリュームが冗長であるか否かを判断する。各ボリュームのグローバルユニーク識別子の実装は、ストレージシステムの製造業者によって異なる可能性がある。一部の実施形態では、GUIDを構成する情報を取得するために、非標準のコマンドが必要な場合がある。
【００９３】
本明細書に記載されている方法を使用して、インターセプタアプライアンス890は、ストレージシステム180の選択されたターゲットポートにゾーニングされているイニシエータWWPNを識別し、そのイニシエータWWPNがアクセスできるストレージシステム180内の1または複数のボリュームを識別する。この方法は、選択されたサーバ(またはホストエンティティ)に関連付けられた複数のWWPNを識別するために使用されうる。続いてインターセプタアプライアンス890は、それらのWWPNがアクセスできるストレージシステム180内のすべてのボリュームを識別しうる。したがってインターセプタアプライアンス890は、サーバまたはホストエンティティがアクセスできるすべてのボリュームを識別しうる。
【００９４】
本明細書に記載された例では、イニシエータポートまたはホストエンティティによってアクセスされうるストレージシステム内のボリュームを識別するシステム、装置、および方法について説明しているが、他の実施形態では、本明細書に記載された方法、装置およびシステムを使用して、特定のイニシエータポートまたはホストエンティティがアクセスできる任意のデータ構造を識別することもできる。たとえば、本明細書に記載された方法、装置およびシステムを使用して、特定のイニシエータポートまたはホストエンティティによってアクセスされうるファイル、データベース、ディスクドライブ上の物理セクタ等を識別することができるが、これらに限定されない。
【００９５】
本明細書に記載されたシステムおよび方法では、インターセプタアプライアンス890をFCスイッチ225とストレージシステム180の間のデータパスに挿入して、すべてのI/Oコマンドを透過的に傍受することが有利に可能となる。さらに、本明細書に記載されたシステムおよび方法では、ストレージシステム180またはネットワークの動作を中断することなく、インターセプタアプライアンス890を透過的に挿入できる。
【００９６】
＜ストレージ側インターセプタによるデータ管理サービスの提供＞
実施形態によれば、インターセプタアプライアンス890は、ストレージシステム180に格納されたデータに関する1または複数のデータ管理サービスを提供する。図8を参照すると、インターセプタアプライアンス890は、1または複数のデータ管理サービスを提供する機能を備えたデータ管理サービス848を含む。たとえば、データ管理サービス848は、データのコピー、データイメージのスナップショットの実行、データのバックアップ、データの複製、ストレージデバイスまたはストレージシステム間でのデータの移行等の機能を備えうる。データ管理サービス848は、ユーザインターフェイス機能を備えうる。たとえば、本明細書に記載された方法を使用してインターセプタアプライアンス890によって識別されたストレージボリュームおよびホストエンティティは、ユーザが1または複数のボリュームと、選択されたボリュームに関して実行されることを望む1または複数のサービスとを容易に選択できるように、ユーザインターフェイスを使用してユーザに提供されうる。
【００９７】
一実施形態では、特定のサーバまたはホストエンティティがアクセスできる1または複数のボリュームを上述した態様で識別した後、インターセプタアプライアンス890は、この情報を使用して1または複数のデータ管理サービスを提供できる。図11は、データ管理サービスを提供するために使用されうる通信システム100の別の実施形態を示す。図11の実施形態では、通信システム100は、ネットワーク115にリンクされたバックアップストレージシステム1140をさらに含む。例示的な実施形態では、インターセプタアプライアンス890は、特定のホストエンティティ(この例では、サーバ135-A)にアクセスが付与された1または複数のボリュームをコピーする機能を含む。よってインターセプタアプライアンス890は、ホストエンティティがアクセスできるストレージシステム180のボリュームを識別し、そのボリュームをバックアップストレージシステム1140にコピーする。
【００９８】
データのコピー中にホストエンティティによって新しいデータがボリュームに書き込まれた場合に完全で正確なコピーを行うため、インターセプタアプライアンス890は、コピー手順中にボリュームに書き込まれたすべてのデータの場所を記録する。この態様により、インターセプタアプライアンス890はボリュームに書き込まれた新しいデータを追跡する。最初の工程が完了した後、インターセプタアプライアンス890は、新しいデータの場所を示す記録を調べ、新しいデータを後続の工程でコピーする。追加の工程が実行されることもある。
【００９９】
図12は、実施形態に従ってデータ管理サービスを提供する方法のフローチャートである。ステップ1210において、スイッチに接続されたホストエンティティのイニシエータポートの識別子が、スイッチのスイッチポートとストレージシステムのターゲットポートの間のパスに配置されたデバイスによって判断される。上述した態様により、インターセプタアプライアンス890のインターセプタプロセス810で、ホストエンティティ(サーバ135-A)のイニシエータポートI-1のイニシエータWWPNを識別する。例示的な実施形態では、イニシエータポートI-1のWWPNはWWPN-1である。
【０１００】
ステップ1220において、イニシエータポートがアクセスできるストレージシステムのストレージボリュームが、識別子に基づいて識別される。例示的な実施形態では、インターセプタプロセス810で、WWPN-1がストレージシステム180で維持されているボリューム1にアクセスできることを、上述した態様で判断する。
【０１０１】
ストレージシステム180のボリュームが識別された後、ホストエンティティの1または複数のイニシエータWWPNを指定する詳細で正確な情報を使用して、インターセプタアプライアンス890はI/Oコマンドを傍受し、受け取った各I/Oコマンドの送信元を判断できる。これにより、(インターセプタアプライアンス890の)データ管理サービス848で、各I/Oコマンドに関連する1または複数の選択された操作を、そのI/Oコマンドの送信元に基づいて実行できる。
【０１０２】
ステップ1230において、識別されたストレージボリュームに関するデータ管理サービスが提供される。図8を参照すると、(インターセプタアプライアンス890の)データ管理サービス848は、ボリューム1にアクセスし、ボリューム1のデータを別のボリュームにコピーする。図11の例示的な実施形態では、データ管理サービス848はボリューム1のデータをバックアップストレージシステム1140のボリュームにコピーする。
【０１０３】
データをコピーする前に、データ管理サービス848は、インターセプタプロセス810に対し、すべてのデータ書き込みコマンドを傍受するよう指示する。データ管理サービス848は、ボリュームのデータを先頭から末尾まで逐次的な態様でコピーする作業を開始する。コピー手順が実行されている間に、ボリュームのすでにコピーされた部分に新しいデータが書き込まれる可能性がある。最新のコピーを確実に行うため、データ管理サービス848は、ボリュームに書き込まれたすべての新しいデータの場所を記録する。最初の工程が完了した後、データ管理サービス848は、新しいデータが書き込まれた場所を後続の工程でコピーする。必要に応じて、追加の工程が実行されうる。
【０１０４】
他の実施形態では、データ管理サービス848は、データイメージのスナップショットの実行、データの複製、ストレージデバイスまたはストレージシステム間でのデータの移行など、他の種類のサービスを提供できる。他の機能が実行される場合、インターセプタプロセス810で必要に応じてI/Oコマンドを傍受して、そのような機能の実行を可能にする。別の実施形態では、データ管理サービス848は、ストレージシステム180で維持される選択されたボリュームとの間で送受信されるI/Oコマンドを監視し、I/Oコマンドに関する統計情報を生成できる。別の実施形態では、データ管理サービス848は、選択されたストレージボリュームとの間でやり取りされるトラフィックを監視し、予め定義された条件が検出された場合に、予め定義された機能を呼び出して指定された動作を実行できる。たとえば、データ管理サービス848は、指定されたイニシエータポートが選択されたボリュームにデータを書き込むかどうかを管理者に通知できる。
【０１０５】
＜ホスト側インターセプタ＞
別の実施形態によれば、インターセプタアプライアンスは、FCスイッチ225の選択されたポートと選択されたホストエンティティの間のパスに挿入される。インターセプタアプライアンスは、ホストエンティティの各イニシエータポートのワールドワイドポート名を判断する。さまざまなイニシエータポートのワールドワイドポート名がインターセプタアプライアンスによって(たとえば、他のデバイスから)自動的に受け取られるか、またはユーザによってインターセプタアプライアンスに手動で入力されうる。その後、ホストエンティティのイニシエータポートごとに、インターセプタアプライアンスは、それぞれのイニシエータポートにゾーニングされたストレージシステム180の各ターゲットポートのワールドワイドポート名を判断する。さまざまなターゲットポートのワールドワイドポート名が自動的に受け取られるか、またはユーザによってインターセプタアプライアンスに手動で入力されうる。インターセプタアプライアンスは、それぞれのイニシエータポートに割り当てられたストレージシステムのストレージボリュームを識別する。本明細書に記載された方法は、ホストエンティティとストレージシステムの間の通常の通信(I/Oコマンドの交換および他のデータトラフィックを含む)を引き続きパススルーさせながら実行されうる。
【０１０６】
図13は、別の実施形態に従ったインターセプタアプライアンス1390の機能的構成要素を示す。インターセプタアプライアンス1390は、インターセプタプロセス1310と、メモリ1315と、データ管理サービス1348とを含む。これらの構成要素は、図8の実施形態に示されている対応する構成要素に類似する。またインターセプタアプライアンス1390は、インターセプタポート1346、1347、1348、および1349を含む。インターセプタポート1346、1347、1348、および1349は、1または複数のホストバスアダプタを使用して実装されうる。
【０１０７】
一実施形態では、インターセプタアプライアンス1390はコンピュータを含む。他の種類の処理デバイスも使用されうる。
【０１０８】
インターセプタアプライアンス1390は、FCスイッチ225の選択されたポートとホストエンティティの間のパスに、さまざまな方法のいずれかを使用して挿入されうる。たとえば、図14Aに示す例示的な実施形態では、FCスイッチ225のポートP-1とサーバ135-AのイニシエータポートI-1の間のリンク271と、FCスイッチ225のポートP-2とサーバ135-AのイニシエータポートI-2の間のリンク272とが削除されており、インターセプタアプライアンス1390はFCスイッチ225とサーバ135-Aの間に挿入される。
【０１０９】
図14Bを参照すると、インターセプタアプライアンス1390は、以下の態様で挿入されうる。インターセプタアプライアンス1390のインターセプタポート1346は、リンク1471によってサーバ135-AのポートI-1に接続され、インターセプタアプライアンス1390のインターセプタポート1348は、リンク1472によってサーバ135-AのポートI-2に接続される。インターセプタアプライアンス1390のインターセプタポート1347は、FCスイッチ225のポートP-1に接続され、インターセプタアプライアンス1390のインターセプタポート1349は、FCスイッチ225のポートP-2に接続される。
【０１１０】
他の実施形態では、他のデバイスが、たとえばインターセプタアプライアンス1390とFCスイッチ225の間、またはインターセプタアプライアンス1390とサーバ135-Aの間に挿入されうる。
【０１１１】
インターセプタアプライアンス1390は、ストレージシステム180に格納されたデータに関する情報を取得するために、ファイバチャネルベースのSAN 115の構成要素と通信する。図15は、実施形態に従って、ネットワークに格納されたデータに関する情報を判断する方法のフローチャートである。
【０１１２】
ステップ1510において、登録手順で、ホストエンティティのイニシエータポートのイニシエータワールドワイドポート名が、スイッチのスイッチポートとイニシエータポートの間のパスに配置されたデバイスによって識別される。例示的な実施形態では、サーバ135-AのイニシエータポートI-1がインターセプタアプライアンス1390のインターセプタポート1346に接続されると、イニシエータポートI-1はインターセプタポート1346を検出し、インターセプタアプライアンス1390への登録を試みる。よってイニシエータポートI-1は、インターセプタアプライアンス1390に対して、登録の要求を送信する。たとえば、登録の要求は、ファイバチャネルログインを完了する要求を含みうる。要求は、イニシエータポートI-1のワールドワイドポート名(WWPN-1)を含む。インターセプタアプライアンス1390は、要求を受け取り、イニシエータポートI-1のワールドワイドポート名を取得する。別の実施形態では、イニシエータポートI-1から受け取った要求は、ポート番号など、イニシエータポートI-1に関連付けられた別の種類の識別子を含みうる。
【０１１３】
別の実施形態では、ユーザがイニシエータポートI-1のワールドワイドポート名(WWPN-1)をインターセプタアプライアンス1390に手動で入力できる。
【０１１４】
ステップ1520において、イニシエータワールドワイドポート名がデバイスの第1のデバイスポートに追加される。例示的な実施形態では、インターセプタアプライアンス1390のインターセプタプロセス1310で、標準的な手順を利用してイニシエータポートI-1のイニシエータワールドワイドポート名(WWPN-1)をインターセプタアプライアンス1390の(下流側)インターセプタポート1347に追加する。
【０１１５】
ステップ1525において、イニシエータポートのイニシエータワールドワイドポート名に関連付けられたポートを識別する情報の要求がスイッチに送信される。インターセプタアプライアンス1390は、FCスイッチ225との対話時に、イニシエータポートI-1のワールドワイドポート名(WWPN-1)を使用してイニシエータポートI-1になりすます。詳細には、インターセプタアプライアンス1390は、FCスイッチ225に対して、インターセプタポート1347を介して、イニシエータポートI-1にゾーニングされたポートを識別する情報の要求を送信する。要求は、イニシエータポートI-1のイニシエータワールドワイドポート名であるWWPN-1を含む。別の実施形態では、要求は、ポート番号など、イニシエータポートI-1に関連付けられた別の種類の識別子を含みうる。FCスイッチ225は、要求を受け取り、応答を判断する。
【０１１６】
ステップ1530において、イニシエータポートに関連付けられたストレージシステムのターゲットポートのターゲットワールドワイドポート名が、スイッチから受け取られる。インターセプタアプライアンス1390から受け取った情報の要求に応じて、FCスイッチ225は、シンプルネームサーバテーブル650にアクセスし、イニシエータポートI-1にゾーニングされたポートを識別する情報を取得する。別の実施形態では、FCスイッチ225は、WWPN-1にゾーニングされたポートを識別する情報を取得する。例示的な実施形態では、ターゲットポートT-1がイニシエータポートI-1 (WWPN-1)にゾーニングされている。よって、FCスイッチ225は、インターセプタアプライアンス1390に対して、ターゲットポートT-1を識別する情報を送信する。この情報には、ターゲットポートT-1のターゲットワールドワイドポート名(WWPN-5)が含まれる。別の実施形態では、FCスイッチ225は、インターセプタアプライアンス1390に対して、ポート番号など、ターゲットポートT-1に関連付けられた別の種類の識別子を送信しうる。
【０１１７】
別の実施形態では、ユーザがターゲットポートT-1のターゲットワールドワイドポート名(WWPN-5)をインターセプタアプライアンス1390に手動で入力できる。
【０１１８】
ステップ1540において、ターゲットワールドワイドポート名がデバイスの第2のデバイスポートに追加される。サーバ135-Aとストレージシステム180の間の通信が最小限の中断で、または中断なしで継続されるように、インターセプタプロセス1310で、ターゲットポートT-1のターゲットワールドワイドポート名(WWPN-5)をインターセプタアプライアンス1390の(上流側)インターセプタポート1346に追加する。イニシエータポートI-1が(ターゲットポートT-1になりすましている)インターセプタポート1346に接続されていることをサーバ135-Aが判断すると、サーバ135-Aは、(上流側)インターセプタポート1346に登録する。たとえば、サーバ135-Aは、ファイバチャネルログイン手順を実行してインターセプタポート1346に登録できる。
【０１１９】
サーバ135-Aは、ストレージシステム180のターゲットポートT-1を対象とするデータ、要求、およびその他の通信を(上流側)インターセプタポート1346に送信する。インターセプタアプライアンス1390は、それらの通信を、中断をほとんどまたは全く発生させずに、(FCスイッチ225を介して)ストレージシステム180にパススルーさせる。この態様で、インターセプタアプライアンス1390は、サーバ135-AのイニシエータポートI-1とストレージシステム180のターゲットポートT-1の間に透過的なパスを再確立する。
【０１２０】
上述したステップは、サーバ135-AのイニシエータポートI-2によってアクセスされうる格納済みデータを識別するためにも利用される。例示的な実施形態では、サーバ135-AのイニシエータポートI-2がインターセプタアプライアンス1390のインターセプタポート1348に接続されると、イニシエータポートI-2は、インターセプタアプライアンス1390への登録を試みる。よって、イニシエータポートI-2は、インターセプタアプライアンス1390に対して、登録の要求またはファイバチャネルのログオンを完了する要求を送信する。要求は、イニシエータポートI-2のワールドワイドポート名(WWPN-2)を含む。インターセプタアプライアンス1390は、要求を受け取り、イニシエータポートI-2のワールドワイドポート名を取得する。
【０１２１】
インターセプタアプライアンス1390がWWPN-2を取得した後、インターセプタアプライアンス1390は、FCスイッチ225との通信時に、イニシエータポートI-2のワールドワイドポート名を使用してイニシエータポートI-2になりすます。詳細には、インターセプタアプライアンス1390のインターセプタプロセス1310で、標準的な手順を使用してイニシエータポートI-2のイニシエータワールドワイドポート名をインターセプタアプライアンス1390の(下流側)インターセプタポート1349に追加する。したがってインターセプタプロセス1310では、WWPN-2をインターセプタポート1349に追加する。インターセプタアプライアンス1390は、FCスイッチ225に対して、イニシエータポートI-2 (WWPN-2)にゾーニングされているポートを識別する情報の要求を送信する。例示的な実施形態では、図2および図7に示されているように、ターゲットポートT-1とターゲットポートT-2の両方が、スイッチポートP-2、P-5、およびP-6を介して、イニシエータポートI-2 (WWPN-2)にゾーニングされている。よってFCスイッチ225は、要求を受け取り、ターゲットポートT-1とターゲットポートT-2とがWWPN-2にゾーニングされていることを示すメッセージをインターセプタアプライアンス1390に送信する。この応答は、ターゲットポートT-1およびT2のワールドワイドポート名も含む。
【０１２２】
インターセプタプロセス1310で、ターゲットポートT-1およびT-2のワールドワイドポート名を(上流側)インターセプタポート1348に追加して、サーバ135-AのイニシエータポートI-2とストレージシステム180の間の透過的な通信を可能にする。サーバ135-Aは、追加されたワールドワイドポート名を検出し、ストレージシステム180への通信をイニシエータポートI-2経由で再開する。
【０１２３】
有利なことに、本明細書に記載された方法、システム、および装置では、インターセプタデバイスがネットワークに挿入された後、ホストエンティティとストレージシステムの間で、コマンドおよびその他のデータトラフィックを透過的またはほぼ透過的にパススルーさせることができる。この特徴は、ホストエンティティとストレージシステムの間を流れるI/Oコマンドおよびその他のデータトラフィックを傍受、分析、転送、および/または再処理する機会および機能を提供する。
【０１２４】
例示的な実施形態では、インターセプタアプライアンス1390は、ストレージシステム180に格納されたデータを調べる。詳細には、ステップ1550において、ターゲットワールドワイドポート名とイニシエータワールドワイドポート名とに基づいて、イニシエータポートに関連付けられたストレージシステムのストレージボリュームが識別される。例示的な実施形態では、インターセプタアプライアンス1390は、サーバ135-AのイニシエータポートI-1になりすまして、ストレージシステム180から情報を取得する。またインターセプタアプライアンス1390は、サーバ135-AのイニシエータポートI-2になりすまして、ストレージシステム180から情報を取得する。詳細には、インターセプタアプライアンス1390のポート1347またはポート1349のいずれかに関連付けられているイニシエータワールドワイドポート名ごとに、インターセプタプロセス1310でストレージシステム180に対して、それぞれのイニシエータWWPNを指定し、そのイニシエータWWPNがアクセスできるボリュームを識別する情報を要求するコマンドを送信する。コマンドは、イニシエータWWPNにゾーニングされているターゲットワールドワイドポート名を指定することもある。たとえば、インターセプタプロセス1310で、ストレージシステム180に対して、SCSIプロトコルに従ってREPORT LUNコマンドを送信できる。ストレージシステム180はコマンドを受け取り、それに応じて、指定されたイニシエータWWPNがアクセスできる1または複数のボリュームを示す情報を送信する。したがって、例示的な実施形態では、インターセプタプロセス1310でストレージシステム180に対して、WWPN-1を指定するREPORT LUNコマンドを送信できる。これに応じて、ストレージシステム180は、インターセプタアプライアンス1390に対して、WWPN-1がボリューム1 (491)にアクセスできることを示す情報を送信する。またインターセプタプロセス1310で、ストレージシステム180に対して、WWPN-2を指定するREPORT LUNコマンドを送信できる。これに応じて、ストレージシステム180は、インターセプタアプライアンス1390に対して、WWPN-2がボリューム1 (491)にアクセスできることを伝える。他の実施形態では、インターセプタアプライアンス1390は、ポート番号など、イニシエータポートに関連付けられた別の種類の識別子を使用してイニシエータポートになりすまし、イニシエータポートがアクセスできるデータを識別する情報を判断できる。
【０１２５】
上述したように、一部の実施形態では、ストレージシステム180から受け取った、各イニシエータワールドワイドポート名がアクセスできるボリュームに関する情報は、あいまいである可能性があり、さまざまなイニシエータワールドワイドポート名からアクセスできる一意のボリュームの数を特定していない可能性がある。結果として、インターセプタアプライアンス1390は、ストレージシステム180から取得した情報を、実際に存在するよりも多くのストレージボリュームを示しているものとして解釈する可能性がある。したがって、インターセプタアプライアンス1390は、ストレージシステム180から受け取った情報を照合確認して、識別されたストレージボリュームが一意であるか、または識別されたストレージボリュームの2つ以上が同一であり故に冗長であるかを判断できる。
【０１２６】
よって、一実施形態では、インターセプタプロセス1310で、コマンド(INQUIRYコマンドと呼ばれるSCSIコマンド等)を識別された各ボリュームに送信して、そのボリュームに関連付けられているグローバルユニーク識別子(GUID)を取得する。このコマンドに応じて、ボリュームはインターセプタアプライアンス1390に対して、そのボリュームのグローバルユニーク識別子を指定するメッセージを送信する。この態様で受け取られたGUIDに基づき、インターセプタプロセス1310では一意のボリュームがいくつ存在するか、また識別されたボリュームが冗長であるか否かを判断する。各ボリュームのグローバルユニーク識別子の実装は、ストレージシステムの製造業者によって異なる可能性がある。一部の実施形態では、GUIDを構成する情報を取得するために、非標準のコマンドが必要な場合がある。
【０１２７】
上述した方法を使用して、インターセプタアプライアンス1390はホストエンティティのイニシエータポートのイニシエータWWPNを識別し、そのイニシエータWWPNにゾーニングされているストレージシステムのターゲットポートを識別し、そのイニシエータWWPNがアクセスできるストレージシステム180内の1または複数のボリュームを識別する。この方法は、ホストエンティティの複数のイニシエータポートに対して反復されうる。よって、この方法は、選択されたサーバ(またはホストエンティティ)に関連する複数のWWPNを識別するために使用されうる。続いてインターセプタアプライアンス1390は、それらのWWPNがアクセスできるストレージシステム180内のすべてのボリュームを識別できる。したがってインターセプタアプライアンス1390は、サーバまたはホストエンティティがアクセスできるすべてのボリュームを識別できる。
【０１２８】
本明細書に記載されたシステムおよび方法では、インターセプタアプライアンス1390をFCスイッチ225とホストエンティティまたはサーバの間のデータパスに挿入して、すべてのI/Oコマンドを透過的に傍受することが有利に可能となる。さらに、本明細書に記載されたシステムおよび方法では、ストレージシステム180またはネットワークの動作を中断することなく、インターセプタアプライアンス1390を透過的に挿入できる。
【０１２９】
＜ホスト側インターセプタによるデータ管理サービスの提供＞
実施形態によれば、インターセプタアプライアンス1390は、ストレージシステム180に格納されたデータに関する1または複数のデータ管理サービスを提供する。図13を参照すると、インターセプタアプライアンス1390は、1または複数のデータ管理サービスを提供する機能を備えたデータ管理サービス1348を含む。たとえば、データ管理サービス1348は、データのコピー、データイメージのスナップショットの実行、データのバックアップ、データの複製、ストレージデバイスまたはストレージシステム間でのデータの移行等の機能を備えうる。データ管理サービス1348は、ユーザインターフェイス機能を備えうる。たとえば、本明細書に記載された方法を使用してインターセプタアプライアンス1390によって識別されたストレージボリュームおよびホストエンティティは、ユーザが1または複数のボリュームと、選択されたボリュームに関して実行されることを望む1または複数のサービスとを容易に選択できるように、ユーザインターフェイスを使用してユーザに提供されうる。
【０１３０】
一実施形態では、特定のサーバまたはホストエンティティがアクセスできる1または複数のボリュームを上述した態様で識別した後、インターセプタアプライアンス1390は、この情報を使用して1または複数のデータ管理サービスを提供できる。たとえば、インターセプタアプライアンス1390は、特定のホストエンティティ(この例では、サーバ135-A)にアクセスが付与された1または複数のボリュームをコピーする機能を含みうる。よってインターセプタアプライアンス1390は、ホストエンティティがアクセスできるストレージシステム180のボリュームを識別し、そのボリュームを図11に示すバックアップストレージシステム1140等のバックアップストレージシステムにコピーしうる。
【０１３１】
データのコピー中にホストエンティティによって新しいデータがボリュームに書き込まれた場合に完全で正確なコピーを行うため、インターセプタアプライアンス1390は、コピー手順中にボリュームに書き込まれたすべてのデータの場所を記録する。この態様により、インターセプタアプライアンス1390はボリュームに書き込まれた新しいデータを追跡する。最初の工程が完了した後、インターセプタアプライアンス1390は、新しいデータの場所を示す記録を調べ、新しいデータを後続の工程でコピーする。追加の工程が実行されることもある。
【０１３２】
図16は、実施形態に従ってデータ管理サービスを提供する方法のフローチャートである。ステップ1610において、ホストエンティティのイニシエータポートの識別子が、イニシエータポートとスイッチのスイッチポートの間のパスに配置されたデバイスによって識別される。上述した態様により、インターセプタアプライアンス1390のインターセプタプロセス1310で、ホストエンティティ(たとえば、サーバ135-A)からイニシエータポートI-1のワールドワイドポート名を受け取る。例示的な実施形態では、イニシエータポートI-1のワールドワイドポート名はWWPN-1である。
【０１３３】
ステップ1620において、ストレージシステムに格納され、イニシエータポートがアクセスできるデータが、識別子に基づいて識別される。例示的な実施形態では、上述した態様により、インターセプタプロセス1310でWWPN-1を使用してイニシエータポートI-1になりすまし、WWPN-1がストレージシステム180で維持されているボリューム1にアクセスできることを判断する。
【０１３４】
ストレージシステム180のボリュームが識別された後、ホストエンティティの1または複数のイニシエータWWPNを指定する詳細で正確な情報を使用して、インターセプタアプライアンス1390はI/Oコマンドを傍受し、受け取った各I/Oコマンドの発信元を判断できる。これにより、(インターセプタアプライアンス1390の)データ管理サービス1348で、各I/Oコマンドに関連する1または複数の選択された操作を、そのI/Oコマンドの送信元に基づいて実行できる。
【０１３５】
ステップ1630において、識別されたデータに関するデータ管理サービスが提供される。たとえば、図13を参照すると、(インターセプタアプライアンス1390の)データ管理サービス1348は、ボリューム1にアクセスし、ボリューム1のデータを別のボリュームにコピーできる。図11を参照すると、データ管理サービス1348は、ボリューム1のデータをバックアップストレージシステム1140のボリュームにコピーできる。
【０１３６】
データをコピーする前に、データ管理サービス1348は、インターセプタプロセス1310に対し、すべてのデータ書き込みコマンドを傍受するよう指示する。データ管理サービス1348は、ボリュームのデータを先頭から末尾まで逐次的な態様でコピーする作業を開始する。コピー手順が実行されている間に、ボリュームのすでにコピーされた部分に新しいデータが書き込まれる可能性がある。最新のコピーを確実に行うため、データ管理サービス1348は、ボリュームに書き込まれたすべての新しいデータの場所を記録する。最初の工程が完了した後、データ管理サービス1348は、新しいデータが書き込まれた場所を後続の工程でコピーする。必要に応じて、追加の工程が実行されうる。
【０１３７】
他の実施形態では、データ管理サービス1348は、データイメージのスナップショットの実行、データの複製、ストレージデバイスまたはストレージシステム間でのデータの移行など、他の種類のサービスを提供できる。他の機能が実行される場合、インターセプタプロセス1310で必要に応じてI/Oコマンドを傍受して、そのような機能の実行を可能にする。別の実施形態では、データ管理サービス1348は、ストレージシステム180で維持される選択されたボリュームとの間で送受信されるI/Oコマンドを監視し、I/Oコマンドに関する統計情報を生成できる。別の実施形態では、データ管理サービス1348は、選択されたストレージボリュームとの間でやり取りされるトラフィックを監視し、予め定義された条件が検出された場合に、予め定義された機能を呼び出して指定された動作を実行できる。たとえば、データ管理サービス1348は、指定されたイニシエータポートが選択されたボリュームにデータを書き込むかどうかを管理者に通知できる。
【０１３８】
＜複数スイッチ構成＞
別の実施形態では、インターセプタアプライアンスは、ファイバチャネルネットワークの第1のファイバチャネルスイッチと第2のファイバチャネルスイッチの間のパスに挿入されうる。そのような構成により、インターセプタアプライアンスがより多くのホストエンティティおよび/またはより多くのストレージシステムにアクセスして通信することが有利に可能となりうる。
【０１３９】
図17に示す例示的な実施形態では、ネットワーク115は、FCスイッチ225と、第2のFCスイッチ1745と、インターセプタアプライアンス1790とを含む。第2のスイッチ1745は、リンク1712および1714を介してサーバ135-Aに接続され、リンク1716および1718を介してサーバ135-Bに接続される。
【０１４０】
インターセプタアプライアンス1790は、FCスイッチ225と第2のFCスイッチ1745の間に挿入される。詳細には、インターセプタアプライアンス1790のポート1746および1748は、それぞれリンク1722および1724を介して第2のFCスイッチ1745に接続される。インターセプタアプライアンス1790のポート1747および1749は、それぞれリンク1773および1774を介してFCスイッチ225のポートP-1およびP-2に接続される。
【０１４１】
FCスイッチ225および第2のFCスイッチ1745に接続された後、インターセプタアプライアンス1790は、ネットワーク115に格納されたデータに関する情報を取得する。図18は、実施形態に従ってネットワークに格納された情報を取得する方法のフローチャートである。
【０１４２】
ステップ1810において、ホストエンティティと、スイッチと、ストレージシステムとを含むネットワークの第1のポートを備える第1のデバイスが、ネットワークの第2のデバイスの第2のポートの識別子を受け取る。例示的な実施形態では、インターセプタアプライアンス1790が第2のFCスイッチ1745に接続されると、サーバ135-Aは、インターセプタアプライアンス1790のポート1746および1748を検出し、各ポート(I-1およびI-2)を介して登録の要求を送信する。サーバ135-Bもまた、各ポート(I-3およびI-4)を介して登録の要求を送信する。インターセプタアプライアンス1790は、サーバ135-AのポートI-1のワールドワイドポート名(WWPN-1)を受け取り、同様にイニシエータポートI-2、I-3、およびI-4からもそれぞれのワールドワイドポート名を受け取る。別の実施形態では、ユーザがインターセプタポートI-1のワールドワイドポート名(WWPN-1)をインターセプタアプライアンス1790に手動で入力できる。
【０１４３】
ステップ1820において、スイッチとの通信時に、第2のデバイスの第2のポートが、第1のデバイスの第1のポートによってなりすまされる。上述した態様と同様の態様で、サーバ135-Aから受け取ったワールドワイドポート名(WWPN-1)が、インターセプタアプライアンス1790の(下流側)ポート1747等の選択されたポートに追加される。
【０１４４】
ステップ1830において、第2のデバイスの第2のポートにゾーニングされた、ネットワークの第3のデバイスの第3のポートを識別する情報が、第1のデバイスによって受け取られる。上述した態様と同様の態様で、インターセプタアプライアンス1790はFCスイッチ225から、イニシエータポートI-1にゾーニングされたターゲットポートT-1とターゲットポートT-1のワールドワイドポート名とを指定する情報(シンプルネームサーバテーブル650から部分的に取得されたもの)を受け取る。別の実施形態では、ユーザがターゲットポートT-1のワールドワイドポート名をインターセプタアプライアンス1790に手動で入力できる。
【０１４５】
ステップ1840において、ストレージシステムに格納され、ホストエンティティによってアクセスされうるデータが、少なくとも前記情報に基づいて識別される。ストレージシステム180のターゲットポートT-1がイニシエータポートI-1にゾーニングされているという判断に基づき、インターセプタアプライアンス1790は、イニシエータポートI-1のワールドワイドポート名WWPN-1を使用してストレージシステム180と通信し、イニシエータポートI-1によってアクセスされうるストレージボリュームを識別する。
【０１４６】
同様の態様で、インターセプタアプライアンス1790は、サーバ135-AのイニシエータポートI-2によってアクセスされうる1または複数のストレージボリュームを識別できる。インターセプタアプライアンス1790はまた、サーバ135-Bの各イニシエータポートI-3およびI-4によってアクセスされうる1または複数のストレージボリュームを識別できる。
【０１４７】
実施形態によれば、インターセプタアプライアンス1790は、イニシエータポートI-1、I-2、I-3、およびI-4によってアクセスされるストレージボリューム等のストレージシステム180に格納されたデータに関して、1または複数のデータ管理サービスを提供する。上述した図12および図16に示されている方法と同様の態様で、インターセプタアプライアンス1790は、データのコピー、データイメージのスナップショットの実行、データのバックアップ、ストレージデバイスまたはストレージシステム間でのデータの移行等を実行できる。
【０１４８】
本明細書に記載された実施形態はファイバチャネルベースのSANの文脈で記載されているが、本明細書に記載された方法およびシステムは、ファイバチャネルベースのSAN内での使用に限定されない。他の実施形態では、本明細書に記載された方法およびシステムは、他の種類の通信システムおよびネットワークと組み合わせて使用されうる。たとえば、本明細書に記載された方法およびシステムは、iSCSIプロトコルを使用する通信システムで使用されうる。
【０１４９】
さまざまな実施形態では、図10、図12、図15、図16、および/または図18に記載された方法のステップを含む、本明細書に記載された方法のステップは、記載または表示された特定の順序と異なる順序で実行されうる。他の実施形態では、他のステップが提供されうるか、または記載された方法からステップが削除されうる。
【０１５０】
本明細書に記載されたシステム、装置、および方法は、デジタル回路を使用して、または既知のコンピュータプロセッサ、メモリユニット、ストレージデバイス、コンピュータソフトウェア、および他の構成要素を使用する1または複数のコンピュータを使用して、実装されうる。通常、コンピュータは、命令を実行するプロセッサと、命令およびデータを格納する1または複数のメモリとを含む。コンピュータはまた、1または複数の磁気ディスク、内部ハードディスクおよびリムーバブルディスク、光磁気ディスク、光学ディスク等の1または複数の大容量ストレージデバイスを含むか、それらの大容量ストレージデバイスに接続されうる。
【０１５１】
本明細書に記載されたシステム、装置、および方法は、クライアント-サーバ関係で動作しているコンピュータを使用して実装されうる。通常、そうしたシステムでは、クライアントコンピュータはサーバコンピュータから離れて配置され、インターネットを介してやり取りする。クライアント-サーバ関係は、クライアントコンピュータとサーバコンピュータのそれぞれで実行されるコンピュータプログラムによって定義および制御されうる。
【０１５２】
本明細書に記載されたシステム、装置、および方法は、ネットワークベースのクラウドコンピューティングシステム内で使用されうる。そのようなネットワークベースのクラウドコンピューティングシステムでは、ネットワークに接続されたサーバまたは別のプロセッサが、1または複数のクライアントコンピュータとネットワークを介して通信する。クライアントコンピュータは、たとえば、クライアントコンピュータに存在して動作するネットワークブラウザアプリケーションを介して、サーバと通信できる。クライアントコンピュータは、サーバにデータを格納し、ネットワークを介してデータにアクセスできる。クライアントコンピュータは、ネットワークを介して、データの要求またはオンラインサービスの要求をサーバに送信できる。サーバは、要求されたサービスを実行し、クライアントコンピュータにデータを提供できる。サーバはまた、計算を実行する、特定のデータを画面に表示する等の特定の機能をクライアントコンピュータに実行させるようになされたデータを送信できる。
【０１５３】
本明細書に記載されたシステム、装置、および方法は、プログラミングに対応したプロセッサによって実行されるように非一時的な機械可読ストレージデバイス等の情報キャリアに有形に埋め込まれたコンピュータプログラム製品を使用して実装されうる。また、図10、図12、図15、図16、および/または図18の1または複数のステップを含む、本明細書に記載された方法のステップは、そのようなプロセッサによって実行可能な1または複数のコンピュータプログラムを使用して実装されうる。コンピュータプログラムは、特定の動作を実行するために、または特定の結果を得るために、コンピュータで直接的または間接的に使用可能なコンピュータプログラム命令の集まりである。コンピュータプログラムは、コンパイル言語やインタープリタ言語など、任意の形式のプログラミング言語で記述でき、たとえばスタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはその他のコンピューティング環境での使用に適した単位として、任意の形式で展開できる。
【０１５４】
本明細書に記載されたシステム、装置、および方法を実装するために使用されうる典型的なコンピュータの高レベルのブロック図を図19に示す。コンピュータ1900は、データストレージデバイス1902およびメモリ1903に動作可能に結合されたプロセッサ1901を含む。プロセッサ1901は、コンピュータ1900の全体的な動作を、それらの動作を定義するコンピュータプログラム命令を実行することにより制御する。コンピュータプログラム命令は、データストレージデバイス1902または他のコンピュータ可読メディアに格納され、コンピュータプログラム命令の実行が望まれるときにメモリ1903に読み込まれうる。したがって、図10、図12、図15、図16、および/または図18の方法のステップを、メモリ1903および/またはデータストレージデバイス1902に格納されたコンピュータプログラム命令により定義し、それらのコンピュータプログラム命令を実行するプロセッサ1901により制御することができる。たとえば、コンピュータプログラム命令は、図10、図12、図15、図16、および/または図18の方法のステップにより定義されるアルゴリズムを実行するように当業者によってプログラムされたコンピュータ実行可能コードとして実装できる。よって、コンピュータプログラム命令を実行することにより、プロセッサ1901は図10、図12、図15、図16、および/または図18の方法のステップにより定義されるアルゴリズムを実行する。コンピュータ1900はまた、他のデバイスとネットワークを介して通信するための1または複数のネットワークインターフェイス1904を含む。コンピュータ1900はまた、コンピュータ1900とのユーザ対話を可能にする1または複数の入力/出力デバイス1905(たとえば、ディスプレイ、キーボード、マウス、スピーカ、ボタン等)を含む。
【０１５５】
プロセッサ1901は、汎用プロセッサと特殊用途プロセッサの両方を含むことができ、コンピュータ1900の唯一のプロセッサまたは複数のプロセッサのいずれかでありうる。プロセッサ1901は、たとえば、1または複数の中央処理装置(CPU)を含みうる。プロセッサ1901、データストレージデバイス1902、および/またはメモリ1903は、1もしくは複数の特定用途向け集積回路(ASIC)および/または1もしくは複数のフィールドプログラマブルゲートアレイ(FPGA)を含むか、それらによってサポートされるか、またはそれらに統合されうる。
【０１５６】
データストレージデバイス1902とメモリ1903とは、有形の非一時的なコンピュータ可読ストレージメディアをそれぞれ含む。データストレージデバイス1902とメモリ1903とは、動的ランダムアクセスメモリ(DRAM)、静的ランダムアクセスメモリ(SRAM)、ダブルデータレート同期式動的ランダムアクセスメモリ(DDR RAM)、またはその他のランダムアクセスソリッドステートメモリデバイス等の高速なランダムアクセスメモリをそれぞれ含むことができ、内部ハードディスクおよびリムーバブルディスク等の1または複数の磁気ディスクストレージデバイス、光磁気ディスクストレージデバイス、光学ディスクストレージデバイス、フラッシュメモリデバイス、消去可能プログラマブル読み取り専用メモリ(EPROM)や電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)等の半導体メモリデバイス、コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク読み取り専用メモリ(DVD-ROM)ディスク、またはその他の不揮発性ソリッドステートストレージデバイス等の不揮発性メモリを含みうる。
【０１５７】
入力/出力デバイス1905は、プリンタ、スキャナ、ディスプレイ画面等の周辺機器を含みうる。たとえば、入力/出力デバイス1905は、ユーザに情報を表示する陰極線管(CRT)モニタや液晶表示(LCD)モニタ等のディスプレイデバイス、キーボード、およびユーザがコンピュータ1900に入力を提供できるマウスやトラックボール等のポインティングデバイスを含みうる。
【０１５８】
クライアント160、サーバ135、ファイバチャネルスイッチ225および1745、ストレージシステム180、インターセプタアプライアンス890、1390、および1790を含む本明細書に記載された任意またはすべてのシステムおよび装置と、サービスマネージャ325、メモリ375、ストレージマネージャ410、メモリ475、ストレージ468、スイッチマネージャ525、メモリ575、インターセプタプロセス810、メモリ815、データ管理サービス848、インターセプタプロセス1310、メモリ1315、データ管理サービス1348、およびこれらの装置または構成要素内のすべてのポートを含む当該システムおよび装置の構成要素とは、コンピュータ1900等のコンピュータを使用して実装されうる。
【０１５９】
当業者は、実際のコンピュータまたはコンピュータシステムの実装が他の構造を備える可能性があり、他の構成要素をも含みうること、および図19がそうしたコンピュータの一部の構成要素の例示を目的とした高レベルな図であることを認識する。
【０１６０】
上述した発明を実施するための形態は、あらゆる点で例示的および典型的なものであって限定的なものではなく、本明細書に記載された発明の範囲は、発明を実施するための形態からではなく、特許法により許容される最大範囲で解釈される特許請求の範囲から判断されることが理解される。本明細書に表示および記載された実施形態は、本発明の原則を例示するだけであり、本発明の範囲および精神から逸脱することなく多様な変更が当業者により実装されうることが理解される。当業者は、本発明の範囲および精神から逸脱することなく、他のさまざまな機能的組み合わせを実装できる可能性がある。
【符号の説明】
【０１６１】
100  通信システム
105  ネットワーク
115  ネットワーク
135-A  サーバ
135-B  サーバ
160-A  クライアント
160-B  クライアント
180  ストレージシステム
225  ファイバチャネルスイッチ
271、272、273、274、281、282  リンク
325  サービスマネージャ
362  ホストバスアダプタ
375  メモリ
410  ストレージマネージャ
468  ストレージ
475  メモリ
491  ボリューム1
492  ボリューム2
525  スイッチマネージャ
575  メモリ
602、604、606、614  レコード
625、629  列
650  シンプルネームサーバテーブル
771、772、773、774、775  内部パス
810  インターセプタプロセス
815  メモリ
846、847  インターセプタポート
848  データ管理サービス
890  インターセプタアプライアンス
981、982  リンク
1140  バックアップストレージシステム
1310  インターセプタプロセス
1315  メモリ
1346、1347、1348、1349  インターセプタポート
1348  データ管理サービス
1390  インターセプタアプライアンス
1471、1472、1473、1474  リンク
1712、1714、1716、1718、1722、1724、1773、1774  リンク
1745  ファイバチャネルスイッチ
1746、1747、1748、1749  ポート
1790  インターセプタアプライアンス
1900  コンピュータ
1901  プロセッサ
1902  ストレージ
1903  メモリ
1904  ネットワークインターフェイス
1905  入力/出力デバイス
I-1、I-2、I-3、I-4  イニシエータポート
P-1、P-2、P-3、P-4、P-5、P-6  スイッチポート
T-1、T-2  ターゲットポート
【図１】
2015510296.tif 000003
【図２】
2015510296.tif 000004
【図３】
2015510296.tif 000005
【図４】
2015510296.tif 000006
【図５】
2015510296.tif 000007
【図６】
2015510296.tif 000008
【図７】
2015510296.tif 000009
【図８】
2015510296.tif 000010
【図９Ａ】
2015510296.tif 000011
【図９Ｂ】
2015510296.tif 000012
【図１０】
2015510296.tif 000013
【図１１】
2015510296.tif 000014
【図１２】
2015510296.tif 000015
【図１３】
2015510296.tif 000016
【図１４Ａ】
2015510296.tif 000017
【図１４Ｂ】
2015510296.tif 000018
【図１５】
2015510296.tif 000019
【図１６】
2015510296.tif 000020
【図１７】
2015510296.tif 000021
【図１８】
2015510296.tif 000022
【図１９】
2015510296.tif 000023
【国際調査報告】
2015510296.tif 000024
2015510296.tif 000025
2015510296.tif 000026