(57)【要約】【課題】システムをオフラインにする必要なしに、かつデータ保護の継続性を失うことなしに、ＣＤＰボリュームのマイグレーションを可能にする。【解決手段】１次ボリューム、ジャーナルボリューム、およびベースラインボリュームが、ターゲットストレージサブシステムにおいて定義され、ソースストレージサブシステムにおける対応するボリュームとペアにされる。様々なオペレーションシーケンスが、使用および保護の継続性を失うことなしに、ソースＣＤＰボリューム群からターゲットＣＤＰボリューム群にデータを転送する。【選択図】図２
2008097578.tif 000002
【特許請求の範囲】
【請求項１】
ソース１次ボリュームと、ソースベースラインボリュームと、ソースジャーナルボリュームとを含むＣＤＰ（継続的データ保護）ボリューム群を、ソースストレージサブシステムから、ホストに結合されたターゲットストレージサブシステムに移すための方法であって、
ａ．前記ターゲットストレージサブシステムにおいてターゲット１次ボリューム、ターゲットベースラインボリューム、およびターゲットジャーナルボリュームを定義して、前記ターゲット１次ボリューム、前記ターゲットベースラインボリューム、および前記ターゲットジャーナルボリュームを、前記ソース１次ボリューム、前記ソースベースラインボリューム、および前記ソースジャーナルボリュームとそれぞれペアにする順次ステップと、
ｂ．ターゲット１次ボリュームとソース１次ボリュームの前記ペア、ターゲットベースラインボリュームとソースベースラインボリュームの前記ペア、およびターゲットジャーナルボリュームソースジャーナルボリュームの前記ペアに対して同期オペレーションを実行する順次ステップと、
ｃ．前記ソースストレージサブシステムと前記ターゲットストレージサブシステムの分割オペレーションを、
ｉ．前記ソースサブシステムのポートにおけるホストＩ／Ｏを一時停止するステップと、
ｉｉ．前記ターゲットストレージサブシステムにおけるホストＩ／Ｏを活性化するステップとによって実行する順次ステップと、
ｄ．ターゲット１次ボリュームとソース１次ボリュームの前記ペア、ターゲットベースラインボリュームとソースベースラインボリュームの前記ペア、およびターゲットジャーナルボリュームとソースジャーナルボリュームの前記ペアを削除する順次ステップとを含む方法。
【請求項２】
ｅ．前記ソースストレージサブシステムを空きデバイスプールに解放するステップをさらに含む請求項１に記載の方法。
【請求項３】
前記ペアにするステップは、各ペア番号、前記ソースストレージサブシステム、および前記ターゲットストレージサブシステムに関して、
ストレージサブシステムシリアル番号と、
ポート番号と、
論理ユニット番号と、
論理デバイス番号とを含むペアリングテーブルを生成するステップを含む、請求項１に記載の方法。
【請求項４】
ホストＩ／Ｏを一時停止する前記ステップ中、ホストアプリケーションのあらゆるＩ／Ｏ要求が、バッファリングされ、前記ターゲットストレージサブシステムにおけるホストＩ／Ｏを活性化する前記ステップの後に、前記ターゲットストレージサブシステムに送信される、請求項１に記載の方法。
【請求項５】
定義する前記ステップは、外部論理デバイスを論理ユニットにマップするマッピングテーブルを生成するステップを含む、請求項１に記載の方法。
【請求項６】
前記マッピングテーブルは、外部論理デバイス番号、外部論理デバイスサイズ、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ、および論理ユニット番号に関するエントリフィールドを含む、請求項５に記載の方法。
【請求項７】
パリティグループ番号と、パリティグループサイズと、ＲＡＩＤ番号と、ディスク番号と、論理デバイス番号と、開始論理ブロックアドレスと、終了論理ブロックアドレスと、論理デバイスのサイズとを含むフィールドエントリを有するパリティグループテーブルを作成する準備ステップをさらに含む請求項１に記載の方法。
【請求項８】
ポート番号と、前記ポートのＷｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅと、論理ユニット番号と、論理デバイス番号とを含むフィールドエントリを有するポートマッピングテーブルを作成する準備ステップをさらに含む請求項１に記載の方法。
【請求項９】
前記ポートマッピングテーブルは、論理デバイスモードおよび仮想論理ユニット標識のフィールドエントリをさらに含む、請求項８に記載の方法。
【請求項１０】
空き論理デバイス番号と、使用中論理デバイス番号とを含むフィールドエントリを有するリソースプールテーブルを作成する準備ステップをさらに含む請求項１に記載の方法。
【請求項１１】
ソース１次ボリュームと、ソースベースラインボリュームと、ソースジャーナルボリュームとを含むＣＤＰ（継続的データ保護）ボリューム群を、ソースストレージサブシステムから、ホストに結合されたターゲットストレージサブシステムに移すための方法であって、
ａ．前記ターゲットストレージサブシステムにおいてターゲット１次ボリューム、ターゲットベースラインボリューム、およびターゲットジャーナルボリュームを定義して、前記ターゲット１次ボリューム、前記ターゲットベースラインボリューム、および前記ターゲットジャーナルボリュームを、前記ソース１次ボリューム、前記ソースベースラインボリューム、および前記ソースジャーナルボリュームとそれぞれペアにする順次ステップと、
ｂ．ターゲット１次ボリュームとソース１次ボリュームの前記ペアに対して同期オペレーションを実行する順次ステップと、
ｃ．前記ソースジャーナルボリュームの中に記録された最後のシーケンス番号を確認し、そのポイントから先は、ホストＩ／Ｏ要求を前記ターゲット１次ボリューム上で実行し、前記ホストＩ／Ｏ要求のジャーナルエントリを前記ターゲットジャーナルボリューム上に記録することにより、すべてのホストＩ／Ｏを前記ターゲットストレージサブシステムに向かわせる順次ステップと、
ｄ．前記ソースベースラインボリュームを前記ターゲットベースラインボリューム上に非同期でコピーする順次ステップと、
ｅ．前記ソースジャーナルボリュームを前記ターゲットジャーナルボリューム上に非同期でコピーして、前記ターゲットジャーナルボリュームの中の古いジャーナルを定義する順次ステップと、
ｆ．ターゲット１次ボリュームとソース１次ボリュームの前記ペア、ターゲットベースラインボリュームとソースベースラインボリュームの前記ペア、およびターゲットジャーナルボリュームとソースジャーナルボリュームの前記ペアを削除する順次ステップとを含む方法。
【請求項１２】
ｄ．ｉ．前記古いジャーナルを前記ターゲットベースラインボリュームに適用するステップを、ステップｅの後に実行することをさらに含む請求項１１に記載の方法。
【請求項１３】
定義する前記ステップは、外部論理デバイスを論理ユニットにマップするマッピングテーブルを生成するステップを含む、請求項１１に記載の方法。
【請求項１４】
前記マッピングテーブルは、外部論理デバイス番号、外部論理デバイスサイズ、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ、および論理ユニット番号に関するエントリフィールドを含む、請求項１３に記載の方法。
【請求項１５】
ｇ．前記ソースストレージサブシステムを空きデバイスプールに解放するステップをさらに含む請求項１１に記載の方法。
【請求項１６】
前記ペアにするステップは、各ペア番号、前記ソースストレージサブシステム、および前記ターゲットストレージサブシステムに関して、
ストレージサブシステムシリアル番号と、
ポート番号と、
論理ユニット番号と、
論理デバイス番号とを含むペアリングテーブルを生成するステップを含む、請求項１１に記載の方法。
【請求項１７】
パリティグループ番号と、パリティグループサイズと、ＲＡＩＤ番号と、ディスク番号と、論理デバイス番号と、開始論理ブロックアドレスと、終了論理ブロックアドレスと、論理デバイスのサイズとを含むフィールドエントリを有するパリティグループテーブルを作成する準備ステップをさらに含む請求項１１に記載の方法。
【請求項１８】
ポート番号と、前記ポートのＷｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅと、論理ユニット番号と、論理デバイス番号とを含むフィールドエントリを有するポートマッピングテーブルを作成する準備ステップをさらに含む請求項１１に記載の方法。
【請求項１９】
前記ポートマッピングテーブルは、論理デバイスモードおよび仮想論理ユニット標識のフィールドエントリをさらに含む、請求項１８に記載の方法。
【請求項２０】
空き論理デバイス番号と、使用中論理デバイス番号とを含むフィールドエントリを有するリソースプールテーブルを作成する準備ステップをさらに含む請求項１１に記載の方法。
【請求項２１】
ソース１次ボリュームと、ソースベースラインボリュームと、ソースジャーナルボリュームとを含むＣＤＰ（継続的データ保護）ボリューム群を、ソースストレージサブシステムから、ホストに結合されたターゲットストレージサブシステムに移すための方法であって、
ａ．前記ターゲットストレージサブシステムにおいてターゲット１次ボリューム、ターゲットベースラインボリューム、および新たなジャーナルボリュームを定義して、前記ターゲット１次ボリューム、前記ターゲットベースラインボリューム、および前記新たなジャーナルボリュームを、前記ソース１次ボリューム、前記ソースベースラインボリューム、および前記ソースジャーナルボリュームとそれぞれペアにする順次ステップと、
ｂ．ターゲット１次ボリュームとソース１次ボリュームの前記ペアに対して同期オペレーションを実行する順次ステップと、
ｃ．前記ターゲット１次ボリュームの或る時点のイメージを前記ターゲットベースラインボリューム上に作成する順次ステップと、
ｄ．前記ソースストレージサブシステムポート上のホストＩ／Ｏ要求を一時停止する順次ステップと、
ｅ．前記ターゲットストレージサブシステムポート上のホストＩ／Ｏ要求を活性化する順次ステップと、
ｆ．前記新たなジャーナルボリューム上の使用中のストレージ領域を監視して、前記新たなジャーナルボリューム上の前記使用中のストレージ領域が、ソースジャーナルの容量を超えた場合、前記ソースストレージサブシステムが解放されてもよいという指示を提供する順次ステップとを含む方法。
【請求項２２】
指示を提供する前記ステップは、ユーザに警報を発するステップを含む、請求項２１に記載の方法。
【請求項２３】
ｇ．前記ソースストレージサブシステムをＣＤＰオペレーションから解放するステップをさらに含む請求項２１に記載の方法。
【請求項２４】
ｆ．前記ソースストレージサブシステムを空きストレージデバイスプールに解放するステップをさらに含む請求項２１に記載の方法。
【請求項２５】
定義する前記ステップは、外部論理デバイスを論理ユニットにマップするマッピングテーブルを生成するステップを含む、請求項２１に記載の方法。
【請求項２６】
前記マッピングテーブルは、外部論理デバイス番号、外部論理デバイスサイズ、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ、および論理ユニット番号に関するエントリフィールドを含む、請求項２５に記載の方法。
【請求項２７】
パリティグループ番号と、パリティグループサイズと、ＲＡＩＤ番号と、ディスク番号と、論理デバイス番号と、開始論理ブロックアドレスと、終了論理ブロックアドレスと、論理デバイスのサイズとを含むフィールドエントリを有するパリティグループテーブルを作成する準備ステップをさらに含む請求項２１に記載の方法。
【請求項２８】
ポート番号と、前記ポートのＷｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅと、論理ユニット番号と、論理デバイス番号とを含むフィールドエントリを有するポートマッピングテーブルを作成する準備ステップをさらに含む請求項２１に記載の方法。
【請求項２９】
前記ポートマッピングテーブルは、論理デバイスモードおよび仮想論理ユニット標識のフィールドエントリをさらに含む、請求項２８に記載の方法。
【請求項３０】
空き論理デバイス番号と、使用中論理デバイス番号とを含むフィールドエントリを有するリソースプールテーブルを作成する準備ステップをさらに含む請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本発明は、整理番号ＣＡ１５３６を有し、２００６年５月２３日に出願した米国特許出願第１１／４３９６１０号の一部継続出願である、本願明細書と同日に出願した「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｍａｎａｇｉｎｇ  Ｂａｃｋｕｐ  Ｄａｔａ  ａｎｄ  Ｊｏｕｒｎａｌ」という名称の、本願明細書と保有者が共通である同時係属の米国特許第  号と関連し、以上の出願の開示の全体が、参照により本明細書に組み込まれている。
【０００２】
本発明は、コンピュータストレージシステムのマイグレーションに関し、詳細には、ＣＤＰ（継続的データ保護）ボリュームのマイグレーションに関する。
【背景技術】
【０００３】
従来、データストレージボリュームの中のデータが失われるのを防止するのに、様々な方法が使用されてきた。通常の、従来の方法（時として、「スナップショット」法と呼ばれる）は、バックアップメディア（例えば、磁気テープ）にデータのバックアップを定期的に（例えば、１日に１回）行うことである。データが、復元される必要がある場合、そのバックアップメディアの中に保存されたデータが、読み取られて、新たなボリュームに書き込まれる。しかし、以上の方法は、バックアップがとられた時点におけるデータのイメージを復元することだけしかできない。したがって、データが、例えば、ディスク障害に起因して、回復される必要がある場合、データは、ディスク障害の時点とは異なる可能性がある、前回のバックアップポイントまで回復されることだけしか可能でない。そのため、データのすべてが、回復されることが可能であるわけではない。したがって、所望される任意の時点までの回復を可能にするＣＤＰ（継続的データ保護）のシステムが、開発されている。ストレージネットワーキングインダストリアソシエーションの定義の下で、ＣＤＰとは、「すべての書き込み」が、キャプチャされ、バックアップされていることを意味する。これにより、非常に細かい細分性の復元可能なオブジェクトで、任意の時点までの真の回復が可能になる。これに関して、「書き込み」とは、書き込みであれ、削除であれ、任意のＩ／Ｏコマンドを意味することに留意されたい。
【０００４】
最新技術のＣＤＰシステムは、１次ボリューム、ベースラインボリューム、およびジャーナルボリュームという３つのボリュームを保持する。１次ボリュームは、すべてのデータを、データが受け取られるにつれて格納し、そのデータが、ベースラインボリュームおよびジャーナルボリュームを使用して、継続的にバックアップされる。ベースラインボリュームは、１次ボリュームの中に格納されたデータの或る時点の（「スナップショット」）イメージである。ジャーナルボリュームは、ベースラインボリュームの中にあるその時点のイメージから行われた、すべてのデータ変更を常に把握している。ジャーナルボリュームの中の各エントリは、ヘッダの中のタイムスタンプを含む。データが、或る指定された時刻まで復元される必要がある場合、ジャーナルボリュームを使用して、その指定された時刻までベースラインボリュームが更新される。そのようなオペレーションを効率的に行うように、ジャーナルボリュームは、順次ストレージシステムであり、したがって、或る指定された時刻が示されると、その指定された時刻より前に格納されたすべての項目を使用して、ベースラインボリュームが更新される。
【０００５】
[0005]  ジャーナルボリュームは、有限のストレージ領域しか有さないことを理解されたい。したがって、ジャーナルボリュームが、ジャーナルボリュームの容量に達した際、そのことを示す高水位標が、与えられる。その時点で、最も古いエントリを使用して、低水位標まで、ベースラインボリュームが更新される。これにより、ジャーナルボリューム上のメモリ領域がクリアされ、ベースラインボリューム上に、新たな「更新された」時点のイメージが作成される。ＣＤＰについてのさらなる情報は、参照により全体が本明細書に組み込まれている、米国特許出願公開第２００４／０２６８０６７号で見ることができる。
【０００６】
様々な時点で、例えば、旧システムにおけるストレージ領域が少ないため、更新されたハードウェアの獲得のため、その他で、バックアップデータを含むデータを別のシステムに移すことが求められる。従来のバックアップ方法の下で、バックアップは、特定の時点においてだけ行われるので、バックアップボリュームが、新たなハードウェアに移されることが可能な比較的大きい時間枠が存在する。前のスナップショットが、新たなハードウェアに移されると、次のスナップショットは、その新たなハードウェアに格納されることが可能であり、古いハードウェアは、運用から外されることが可能である。しかし、理解することができるとおり、ＣＤＰ法の下では、すべての書き込みが、バックアップされているので、システム全体が運用から外されるのでない限り、バックアップボリュームが移されることが可能な時間枠は、全く存在しない。
【０００７】
したがって、必要とされているのは、システムをオフラインにする必要なしに、かつ、データ保護の継続性を失うことなしに、ＣＤＰシステムの１次ボリューム、ベースラインボリューム、およびジャーナルボリュームを移す、すなわち、システムがオンラインのままでマイグレーションが行われる、仕方を提供する技術である。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の方法は、システムをオフラインにする必要なしに、かつデータ保護の継続性を失うことなしに、ＣＤＰボリュームのマイグレーションを可能にする方法およびシステムを対象とする。データは、例えば、旧システムにおけるストレージ領域が少ないため、更新されたハードウェアの獲得のためなどの様々な理由で、別のシステムに移されることが求められることが可能である。したがって、データが、ソースストレージサブシステムからターゲットストレージサブシステムに移されると、ソースストレージサブシステムのボリューム群は、解放されることが可能である。ソースストレージを解放することは、リソースを空きリソースプールに戻して、それらのリソースが、他の目的で使用されることが可能であるようにすること、リソースをホストから物理的に切り離すことなどを含むことが可能である。このプロセスの最終結果は、ホストが、ターゲットストレージサブシステムをＣＤＰのために使用せず、ソースストレージのリソースが、マイグレーションの後にＣＤＰに関与しないことである。
【課題を解決するための手段】
【０００９】
本発明の方法の或る態様によれば、ＣＤＰ（継続的データ保護）ボリューム群を、ソースストレージサブシステムから、ホストに結合されたターゲットストレージサブシステムに移すための方法が、提供され、ＣＤＰボリューム群は、ソース１次ボリュームと、ソースベースラインボリュームと、ソースジャーナルボリュームとを含み、方法は、
ａ．ターゲットストレージサブシステムにおいてターゲット１次ボリューム、ターゲットベースラインボリューム、およびターゲットジャーナルボリュームを定義して、ターゲット１次ボリューム、ターゲットベースラインボリューム、およびターゲットジャーナルボリュームを、ソース１次ボリューム、ソースベースラインボリューム、およびソースジャーナルボリュームとそれぞれペアにする順次ステップと、
ｂ．ターゲット１次ボリュームとソース１次ボリュームのペア、ターゲットベースラインボリュームとソースベースラインボリュームのペア、およびターゲットジャーナルボリュームソースジャーナルボリュームのペアに対して同期オペレーションを実行する順次ステップと、
ｃ．ソースストレージサブシステムとターゲットストレージサブシステムの分割オペレーションを、
ｉ．ソースサブシステムのポートにおけるホストＩ／Ｏを一時停止するステップと、
ｉｉ．ターゲットストレージサブシステムにおけるホストＩ／Ｏを活性化するステップとによって実行する順次ステップと、
ｄ．ターゲット１次ボリュームとソース１次ボリュームのペア、ターゲットベースラインボリュームとソースベースラインボリュームのペア、およびターゲットジャーナルボリュームとソースジャーナルボリュームのペアを削除する順次ステップとを含む。
【００１０】
本発明の方法の別の態様によれば、ＣＤＰ（継続的データ保護）ボリューム群を、ソースストレージサブシステムから、ホストに結合されたターゲットストレージサブシステムに移すための方法が、存在し、ＣＤＰボリューム群は、ソース１次ボリュームと、ソースベースラインボリュームと、ソースジャーナルボリュームとを含み、方法は、
ａ．前記ターゲットストレージサブシステムにおいてターゲット１次ボリューム、ターゲットベースラインボリューム、およびターゲットジャーナルボリュームを定義して、ターゲット１次ボリューム、ターゲットベースラインボリューム、およびターゲットジャーナルボリュームを、ソース１次ボリューム、ソースベースラインボリューム、およびソースジャーナルボリュームとそれぞれペアにする順次ステップと、
ｂ．ターゲット１次ボリュームとソース１次ボリュームのペアに対して同期オペレーションを実行する順次ステップと、
ｃ．ソースジャーナルボリュームの中に記録された最後のシーケンス番号を確認し、そのポイントから先は、ホストＩ／Ｏ要求をターゲット１次ボリューム上で実行し、それらのホストＩ／Ｏ要求のジャーナルエントリをターゲットジャーナルボリューム上に記録することにより、すべてのホストＩ／Ｏをターゲットストレージサブシステムに向かわせる順次ステップと、
ｄ．ソースベースラインボリュームをターゲットベースラインボリューム上に非同期でコピーする順次ステップと、
ｅ．ソースジャーナルボリュームをターゲットジャーナルボリューム上に非同期でコピーして、前記ターゲットジャーナルボリュームの中の古いジャーナルを定義する順次ステップと、
ｆ．ターゲット１次ボリュームとソース１次ボリュームのペア、ターゲットベースラインボリュームとソースベースラインボリュームのペア、およびターゲットジャーナルボリュームとソースジャーナルボリュームのペアを削除する順次ステップとを含む。
【００１１】
本発明の方法のさらに別の態様によれば、ＣＤＰ（継続的データ保護）ボリューム群を、ソースストレージサブシステムから、ホストに結合されたターゲットストレージサブシステムに移すための方法が、提供され、ＣＤＰボリューム群は、ソース１次ボリュームと、ソースベースラインボリュームと、ソースジャーナルボリュームとを含み、方法は、
ａ．ターゲットストレージサブシステムにおいてターゲット１次ボリューム、ターゲットベースラインボリューム、および新たなジャーナルボリュームを定義して、ターゲット１次ボリューム、ターゲットベースラインボリューム、および新たなジャーナルボリュームを、ソース１次ボリューム、ソースベースラインボリューム、およびソースジャーナルボリュームとそれぞれペアにする順次ステップと、
ｂ．ターゲット１次ボリュームとソース１次ボリュームのペアに対して同期オペレーションを実行する順次ステップと、
ｃ．ターゲット１次ボリュームの或る時点のイメージをターゲットベースラインボリューム上に作成する順次ステップと、
ｄ．ソースストレージサブシステムポート上のホストＩ／Ｏ要求を一時停止する順次ステップと、
ｅ．ターゲットストレージサブシステムポート上のホストＩ／Ｏ要求を活性化する順次ステップと、
ｆ．新たなジャーナルボリューム上の使用中のストレージ領域を監視して、新たなジャーナルボリューム上の使用中のストレージ領域が、ソースジャーナルの容量を超えた場合、ソースストレージサブシステムが解放されてもよいという指示を提供する順次ステップとを含む。
【００１２】
本発明に関連するさらなる態様は、或る程度、以下の説明で示され、或る程度、その説明から明白となるか、または本発明の実施によって知ることができる。本発明の諸態様は、以下の詳細な説明、および添付の特許請求の範囲において特に指摘される諸要素、ならびに様々な要素および態様の組み合わせを使用して実現され、達せられることが可能である。
【００１３】
以上、および以下の説明はともに、単に例示および説明を目的とし、主張される発明または発明の応用を限定することは全く意図していないことを理解されたい。
【００１４】
本明細書に組み込まれ、本明細書の一部を成す添付の図面は、本発明の諸実施形態を例示し、説明とともに、本発明の技術の諸原理を説明し、例示する役割をする。
【発明を実施するための最良の形態】
【００１５】
前述の添付の図面は、例として、限定としてではなく、本発明の諸原理と合致する特定の諸実施形態およびインプリメンテーションを示す。それらのインプリメンテーションは、当業者が、本発明を実施することができるようにするだけ十分に詳細に説明され、本発明の趣旨および範囲を逸脱することなく、他のインプリメンテーションが、利用されてもよいこと、および様々な要素の構造上の変更および／または代用が行われてもよいことを理解されたい。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではない。さらに、説明される本発明の様々な実施形態は、汎用コンピュータ上で実行されるソフトウェアの形態で、専用ハードウェアの形態で、またはソフトウェアとハードウェアの組み合わせで実施されてもよい。
【００１６】
システムをオフラインにする必要なしに、かつデータ保護の継続性を失うことなしに、ＣＤＰボリューム群のマイグレーションを可能にする、本発明の様々な実施形態を、本明細書で説明する。本明細書の説明はまず、システムの全体的なアーキテクチャを扱い、次に、ＣＤＰボリュームマイグレーションを扱う。
【００１７】
物理構成
図１は、本発明の諸実施形態によるマイグレーションに適したＣＤＰシステムの物理構成の高レベルの一般化されたブロック図を提供する。図１では、ホストシステム１０が、ソースストレージサブシステム２０およびターゲットストレージサブシステム４０に接続される。この場合、ユーザは、例えば、ソース上のストレージ領域が少ないため、ターゲットへのアップグレードのためなどで、ソースストレージサブシステム２０からターゲットストレージサブシステム４０へのマイグレーションを行うことを所望する。本発明のこの実施形態の或る態様は、データ保護を中断することなしに、マイグレーションを実行することを可能にすることである。
【００１８】
ホスト１０は、標準のワークステーションまたはパーソナルコンピュータなどの、コンピューティングのために構成されたオペレーティングシステムハードウェアを有する。ホスト１０は、ＣＰＵ１１と、メモリ１２と、内部ディスク１３とを有する。また、ホストは、汎用ＦＣ（ファイバチャネル）スイッチ、汎用イーサネット（登録商標）スイッチ６１、またはその他の種類のスイッチまたはルーティングデバイスに接続するＨＢＡ（ホストバスアダプタ）１４および１５も含む。ホスト１０は、ストレージサブシステムにより、最初は、ソースストレージサブシステム２０により、マイグレーション後は、ターゲットストレージサブシステム４０により、提供されるＬＵ（図示されていない論理ユニット）上にデータを格納する。
【００１９】
ストレージサブシステム２０、４０は、例えば、ＳＣＳＩ−２コマンド、ＳＣＳＩ−３コマンドを使用して、それぞれの論理ユニットの中にデータを格納する。ストレージサブシステムは、いくつかのＲＡＩＤ  ＣＴＬ（コントローラ）２１と、いくつかのディスク２２とを有することが可能である。各コントローラは、プロセッサと、メモリと、イーサネット（登録商標）のようなＮＩＣと、ＳＡＮ（ストレージエリアネットワーク）またはディスク２２に対するＦＣポートとを有して、ＳＣＳＩ  Ｉ／Ｏオペレーションを処理する。各コントローラは、一般に、ＮＶＲＡＭ（不揮発性ランダムアクセスメモリ）を含み、データキャッシュ目的でＮＶＲＡＭにデータを格納し、例えば、停電からデータを保護することができる。コントローラは、ホスト１０からのＳＣＳＩワードとしてターゲットＩＤを指定し、ＦＣポート上のＬＵＮ（論理ユニット番号）から成るＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）を有するポート、例えば、２３、２５を提供する。ディスク２２は、ストレージサブシステムに存在するいくつかのハードドライブディスク（図示せず）を使用するＲＡＩＤ構成から成ることが可能である。
【００２０】
ストレージサブシステムは、ストレージサブシステムに内部で接続され、ストレージサブシステムを管理する、汎用のＷｅｂベースのＰＣまたはワークステーションなどの一般的なコンソールからアクセス可能な、内部管理コンソール（図示せず）を有する。ストレージ管理者コンソール７２は、遠隔に配置されてもよく、イーサネット（登録商標）ハブ、イーサネット（登録商標）スイッチ、およびＩＰルータ６３のような、汎用のＩＰプロトコル転送可能なスイッチを介してアクセス可能であることが可能である。ストレージサブシステム２０および４０は、コマンド転送可能なネットワークスイッチまたはネットワークルータ、例えば、汎用のファイバチャネルスイッチ、イーサネット（登録商標）スイッチ、イーサネット（登録商標）ハブ、またはＩＰ（インターネットプロトコル）ルータ６１、６２によって接続される。通信は、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）またはＥＳＣＯＮ（Ｅｎｔｅｒｐｒｉｓｅ  Ｓｙｓｔｅｍｓ  Ｃｏｎｎｅｃｔｉｏｎ）のようなブロックレベルコマンドセットによって行われる。この実施形態では、我々は、ＳＣＳＩをブロックレベルコマンドセットとして使用し、ＦＣスイッチを接続のために使用する。
【００２１】
論理構成
図２は、本発明の諸実施形態によるマイグレーションに適したＣＤＰシステムのためのソフトウェア構成要素、およびそれらの構成要素の相互接続に関する論理図を示す図である。図１に関連して説明したとおり、ホスト１０は、ＣＤＰターゲットストレージ４０に移されるべき、ＣＤＰソースストレージ２０を現在、使用している。ＳＡＮ（ストレージエリアネットワーク）４１が、ＳＣＳＩ、ＥＳＣＯＮ、またはその他のようなブロックアクセス対応の論理ネットワーク接続を提供する。この実施形態では、我々は、主にＳＣＳＩを使用して、実施形態を説明する。ＳＡＮ４１は、ＦＣやイーサネット（登録商標）のようなスイッチまたはハブを使用して、ポート２３を介してホスト１０とソースストレージサブシステム３０の間で、またはポート２４を介してホスト１０とターゲットストレージサブシステム４０の間で論理接続を提供する。以上の能力は、主に、ファイバチャネルスイッチ、ファイバチャネルハブ、イーサネット（登録商標）スイッチ、またはイーサネット（登録商標）ハブなどによって提供される。
【００２２】
ＳＡＮ／ＳＷＡＮ（ストレージワイドエリアネットワーク）４２は、スイッチ、ハブ、例えば、ＦＣおよびイーサネット（登録商標）、またはＩＰルータを使用して、ポート２５を介するソースストレージサブシステム２０と、ポート２６を介するターゲットストレージサブシステム４０の間で論理接続を提供する。以上の能力は、主に、ファイバチャネルスイッチ、ファイバチャネルハブ、イーサネット（登録商標）スイッチまたはイーサネット（登録商標）ハブなどによって提供される。ＳＡＮ／ＳＷＡＮ４２は、ＦＣ−ＳＣＳＩ、ＳＣＳＩ、ｉＳＣＳＩ、およびＥＳＣＯＮのようなブロックアクセス対応の論理ネットワーク接続を提供する。ソースストレージサブシステム２０とターゲットストレージサブシステム４０は、長距離を隔てて遠隔に配置され、チャネルエクステンダ（図示せず）が、物理ネットワークを拡張するのに使用されることが可能である。
【００２３】
ＬＡＮ（ローカルエリアネットワーク）／ＷＡＮ（ワイドエリアネットワーク）７４が、ＩＰ（インターネットプロトコル）アクセス可能なネットワークを提供する。ＬＡＮ／ＷＡＮ７４は、イーサネット（登録商標）、ＦＤＤＩ、トークンリングなどのスイッチを使用して、コンソール７２とソースストレージサブシステム２０とターゲットストレージサブシステム４０の間で論理接続を提供する。ＬＡＮ／ＷＡＮ７４は、ストレージサブシステムを遠隔で管理する他のホストからのアクセスを可能にする。
【００２４】
ホスト１０は、ＯＳ（オペレーティングシステム）１６と、アプリケーション１８と、データおよびＳＣＳＩドライバが、ストレージサブシステム上のＬＵ（論理ユニット）にアクセスする代替のパス能力を提供するパスＨＡ（Ｈｉｇｈ  Ａｖａｉｌａｂｉｌｉｔｙ）ソフトウェア１７とから成る。ＯＳ１６は、ＵＮＩＸ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、Ｓｏｌａｒｉｓ、Ｚ／ＯＳ、またはＡＩＸであることが可能である。アプリケーション１８は、データベースのようなトランザクションタイプのアプリケーション、またはその他の種類のオフィスアプリケーションであることが可能である。マイグレーションを制御するのに、ホスト１０は、帯域内制御機構として動作可能なストレージ制御エージェント（図示せず）を有することが可能である。エージェントは、例えば、参照により全体が本明細書に組み込まれている、欧州特許公開ＥＰ１２４６０５０に記載されるような、ＳＣＳＩコマンドセットを使用してストレージデバイスを制御する技術を使用して、ストレージサブシステムと通信する。エージェントは、ＥＰ１２４６０５０に記載されるＲＭＬＩＢに相当し、コマンドデバイスは、ＣＭに相当する。エージェントは、ＡＰＩ（アプリケーションプログラミングインタフェース）またはＣＬＩ（コマンドラインインタフェース）を提供する。
【００２５】
ストレージサブシステムのモジュール群は、ＣＴＬ（コントローラ）２１上で実行された、光メディア、ＦＤ、およびその他の取り外しデバイスからインストールされるプログラムコードとして提供されるマイクロコードで可能にされる。マイクロコードは、パリティグループマネージャ（図示せず）と、物理ディスクからのボリュームをホスト１０に提供するＬＤＥＶ（論理デバイス）を作成するＬＤＥＶ  Ｍｇｒ（論理デバイスマネージャ）３１と、ＪＮＬ（ジャーナル）Ｍｇｒ（マネージャ）３４とから成る。各ボリュームは、単一のＬＤＥＶであることが可能な、または複数のＬＤＥＶを連結することが可能なＬＤＥＶのセットを有する。パリティグループマネージャモジュールは、マイクロコードの一部分であり、ＲＡＩＤ０／１／２／３／４／５／６技術を使用するディスクからのパリティグループから成る。ＲＡＩＤ５技術に基づくＲＡＩＤ６は、デュアルパリティ保護である。作成されたパリティグループは、ＬＤＥＶ  Ｃｏｎｆｉｇ８０（図３）の中でリストアップされ、ストレージサブシステム内で、そのパリティグループを識別するパリティグループ番号８１と、ＲＡＩＤ技術から作成された使用可能な容量サイズ８２と、ＲＡＩＤ構成８３と、構成ディスク番号８４とを有する。
【００２６】
ＬＤＥＶマネージャ３１は、ＬＤＥＶの構造、およびＬＵのＩＯからの挙動を管理する。ＬＤＥＶマネージャ３１は、ＬＤＥＶのセットをボリュームとしてＬＵに向けて提示して、ホスト１０によって発行されたデータの読み取り、および書き込みを行う。ＬＤＥＶは、パリティグループの一部分である。管理者が、ＬＤＥＶの番号を追加して、ＬＤＥＶの領域を定義し、最初にフォーマットする。ＬＤＥＶとパリティグループの間のマッピングは、ＬＤＥＶ  Ｃｏｎｆｉｇ８０（図３）の中に格納される。各パリティグループ番号８１に関して、ＬＤＥＶ  Ｃｏｎｆｉｇの中のレコードは、ストレージサブシステム内で論理デバイスを識別するＬＤＥＶ番号８５と、パリティグループ上のＬＤＥＶの開始アドレスを表すＬＢＡ（論理ブロックアドレス）８６と、パリティグループ上のＬＤＥＶの終了アドレスを示す終了ＬＢＡ８７と、ＬＤＥＶのサイズを示すサイズ８８とを有する。
【００２７】
ミラーマネージャ３３は、ソースストレージサブシステム２０とターゲットストレージサブシステム４０の間で、ボリューム上のデータのレプリケーションを管理する。コンソール７２は、管理者が、ＬＡＮ／ＷＡＮ７４を介してストレージサブシステムを管理する能力をもたらす。コンソール７２は、ＬＤＥＶの作成、ＬＵ（論理ユニット）に対するＬＤＥＶのマッピング、ＬＤＥＶプールの作成、ＬＵに対するＬＤＥＶのマッピングなどのために、ＧＵＩを提供する。
【００２８】
ポート２３、２４、２５、２６は、ＷＷＮ上のＬＵ（論理ユニット）を介して、ＳＡＮ４１またはＳＡＮ／ＳＷＡＮ４２へのＬＤＥＶアクセスを可能にする。図４は、ＬＵとＬＤＥＶの間のマッピングテーブルを示す。ハードウェアポート９１カラムの中の各値は、図１または図２の複数のポートの１つに対応する。各ポートは、ホスト１０から指定されるべき、そのポート独自のＷＷＮ９２を有する。複数のＬＵが、ポート上に割り当てられることが可能である。ＬＵは、ＷＷＮ９２とＬＵＮ９３のセットによって指定される。ポート上のＬＵの最大数は、ＦＣＰ仕様に基づく８バイトによって示される。さらに、各ＬＵは、ホスト１０からのデータを格納するＬＤＥＶにマップされる。そのマッピング情報に基づき、コントローラ２１は、ポートからＳＣＳＩコマンドを受け取り、ＷＷＮ９２とＬＵＮ９３のセットをＬＤＥＶ９４に変換して、適切なＬＤＥＶにアクセスする。ポート上の各ＬＵは、或るアクセスモード状態を有する。そのアクセスモードは、ＬＤＥＶデータに、どのようにアクセスするかを定義する。ＬＤＥＶに関するモードは、以下のモードから成る。読み取り／書き込みアクセスをもたらすＲ／Ｗ。読み取り専用アクセスをもたらし、書き込みコマンドに対してエラーを戻すＲ／Ｏ、およびいずれのアクセスも拒否し、書き込みコマンドまたは読み取りコマンドに対してエラーを戻すＤＥＮＹ。
【００２９】
仮想ＬＵは、ポート上で最初、いずれのボリュームにもマップされていない。ストレージサブシステム上の仮想ＬＵのケースでは、仮想ＬＵとしてのＬＵは、ファンクションコールにおけるパラメータの１つである論理ユニット番号を有する。したがって、ホストは、通常のＳＣＳＩコマンドを使用して、ＬＵにアクセスすることができる。ＳＣＳＩ照会に対する応答の例として、仮想ＬＵ、ＬＤＥＶがマップされていないと考えて、通常の応答をレスポンスする。照会の結果、コントローラは、ＬＵ上のＬＤＥＶ８８のサイズを戻す。しかし、ＬＵは、全くＬＤＥＶを有さない。したがって、イニシエータから来るＳＣＳＩ読み取り／書き込みオペレーションが、仮想ＬＵ上で実行されると、ＬＵは、エラーをイニシエータにレスポンスする。管理者が、コンソールを介して仮想ＬＵを作成すると、コントローラ上のＪＮＬマネージャは、ポート上のＬＵＮに対応する、図４のＶＬＵ９７のエントリにマークを付ける。管理者が、復元ボリューム、すなわち、ユーザによって指定された時刻に関する時点のイメージである、ジャーナルが適用されたＬＤＥＶ（後段で説明する）をＶＬＵにマップすると、ポートは、ＶＬＵが存在する場合、ＬＤＥＶ番号９４を割り当てる。次に、ホストは、ＶＬＵを介してＬＤＥＶにアクセスすることができる。管理者が、復元ボリュームをＶＬＵからマップ解除すると、ポートは、復元ボリュームの番号が存在する場合、ＬＤＥＶ番号９４を割り当て解除する。復元ボリュームが、ＶＬＵにマップされている場合、照会は、マップされたＬＤＥＶのサイズであるサイズを戻す。ＳＣＳＩ読み取り／書き込みオペレーションが実行されると、ボリュームは、読み取り／書き込みであることが可能である。
【００３０】
ジャーナルマネージャ（別名、ＪＮＬマネージャ、ＪＮＬ  Ｍｇｒ）３４は、Ａｆｔｅｒ−ＪＮＬを管理する。この説明では、我々は、主にＡｆｔｅｒ−ＪＮＬをＣＤＰジャーナリング方法として使用する。しかし、本発明は、Ｂｅｆｏｒｅ−ＪＮＬにも適用可能である。ＪＮＬ機構の詳細を説明する前に、我々は、ボリューム構成を説明する。ターゲットＰ−ＶＯＬとＡｆｔｅｒ−ＪＮＬ関連ボリュームの間のマッピングが、図５にＣＤＰ  Ｃｏｎｆｉｇ１００として示される。テーブルは、Ｐ−ＶＯＬのＬＤＥＶ番号１０１、Ｂ−ＶＯＬのＬＤＥＶ１０２、およびＪＮＬ−ＶＯＬのＬＤＥＶ１０３から成る。ＬＤＥＶが割り当てられると、ＬＤＥＶマネージャが、図６に示されるプールテーブル１１０の開いたＬＤＥＶから選択されたＬＤＥＶを提供する。図６に示されるテーブル１１０は、いずれのＬＤＥＶが空いており１１１、いずれのＬＤＥＶが使用中１１２であるかの指示を伴って、全リソースプールを保持する。ＬＤＥＶが、ベースラインＬＤＥＶまたはＪＮＬ  ＬＤＥＶに割り当てられた場合、ＬＤＥＶは、ＬＤＥＶプールの中で「使用中」ＬＤＥＶ１１２として扱われる。割り当てが行われると、ＪＮＬマネージャは、ＬＤＥＶ番号に基づき、ＬＤＥＶマネージャ８０からのサイズ情報を参照する。Ａｆｔｅｒ−ＪＮＬ１０４へのＬＤＥＶの割り当てに関して、コントローラ２１は、ＬＤＥＶプール（図６）上の開いたＬＤＥＶ１１１からのＬＤＥＶを自動的に割り当てることができる。
【００３１】
図７は、Ａｆｔｅｒ−ＪＮＬ機構の概念図を示す。Ａｆｔｅｒ−ＪＮＬ機構が、ホストによって発行された書き込みＩＯの履歴のジャーナルを作成する。この構成では、Ｐ−ＶＯＬ（１次ボリューム）３５、Ｂ−ＶＯＬ（ベースラインボリューム）３７、およびＪＮＬ−ＶＯＬ（ＪＮＬボリューム）３６が存在する。Ｐ−ＶＯＬ３５は、ＣＤＰのための、ホストによってアクセスされることが可能なボリュームである。Ｂ−ＶＯＬ３７は、ＪＮＬ−ＶＯＬ３６上でジャーナリングを開始した時点におけるデータの或るＰＩＴ（「時点」）の「スナップショット」、およびジャーナルオペレーションのたびにカウントされるシーケンス番号を有し、ＰＴコピーの作成の後、その番号を残す、３７０１。ＪＮＬ−ＶＯＬ３７は、Ｐ−ＶＯＬ３５に関するＩＯジャーナルと、各ジャーナルエントリに関するシーケンス番号のような、関連するＣＤＰ情報とを有する。
【００３２】
ＪＮＬマネージャ１２０は、ＪＮＬポインタ（別名、現在のＳｅｑ＃、つまり、現在のシーケンス番号）１２１を有して、ＪＮＬ−ＶＯＬのＬＤＥＶ上の現在の書き込み位置を見出す。ＪＮＬポインタ１２１は、０から始まり、ＬＢＡ（論理ブロックアドレス）によって増加する。また、ＪＮＬマネージャ１２０は、使用中のＪＮＬスペースの量も監視して、ＪＮＬボリュームのオーバーフローを防止する。ストレージ管理者またはストレージベンダが、最初に、ＪＮＬデータをデステージする高水位標１２４閾値および低水位標１２５閾値を定義する。デステージオペレーションは、使用中のＪＮＬスペース１２３が高い閾値１２４を超えたことを、ＪＮＬマネージャ１２０が検出すると、開始される。次に、ＪＮＬデータが、最も古いジャーナルから始めて、低水位標に達するまで、Ｂ−ＶＯＬ３７に適用される。この実施例では、閾値は、ＪＮＬボリュームの中の使用中のスペースのパーセンテージの点で定義される。高水位標のデフォルトの値は、８０％であり、低水位標のデフォルトの値は、６０％である。ＪＮＬマネージャ１２０は、使用中のＪＮＬスペース１２３が、高水位標１２４であるか否かを定期的にチェックする。ストレージ管理者は、コンソール７２を介して、その値、およびチェック期間を変更することができる。
【００３３】
例示的なＩＯ手続き
図８は、ＪＮＬマネージャにおけるターゲットＬＤＥＶに関する書き込みコマンドの手続きを示すのに対して、図９は、各Ｐ−ＶＯＬに関するビットマップの例を示す。ステップ１３０で、ＪＮＬマネージャが、ホストから送信されたＳＣＳＩ  ＣＭＤを受信し（図７の手続き１）、ステップ１３１で、ＪＮＬマネージャは、そのコマンドが、ＷＲＩＴＥ６、ＷＲＩＴＥ１０などのようなＳＣＳＩ  ＷＲＩＴＥコマンドであるかどうかをチェックする。コマンドが、ＷＲＩＴＥコマンドである場合、手続きは、ステップ１３２に進み、ＷＲＩＴＥコマンドではない場合、手続きは、ステップ１３８に進む。ステップ１３２で、ＪＮＬマネージャは、ビットマップテーブル（図９）上の適切なエントリ２７１上のビットフラグ２７２をオンにする。図９に示されるとおり、ビットマップテーブルは、ビットマップのエントリ番号に関するセグメントサイズ２７１と、ビットのフラグ２７２と、ビットマップに関する現在のオペレーションを示すステータス２７３とから成る。特に、このステップでは、ＪＮＬマネージャは、「書き込み中」によって示されるステータス２７３上に、「書き込み中」のステータスを残す。
【００３４】
ステップ１３３で、ＪＮＬマネージャは、イニシエータのＳＣＳＩコマンドに基づき、１次ボリュームに向けられたデータをＰ−ＶＯＬ上に書き込む。（図７の手続き２）。ステップ１３４で、ＪＮＬマネージャは、ＪＮＬポインタのＬＢＡから始めて、ジャーナルに関するＨＤ（ヘッダ）情報、データ、ＦＴ（フッタ）情報をＪＮＬボリューム３６に書き込む（図７の手続き３）。ステップ１３５で、ＪＮＬマネージャは、ヘッダ、データ、およびフッタの合計サイズだけ、ポインタに増加し、ＪＮＬボリューム上の使用中のＬＮＬスペースを計算する。ステップ１３６で、ＪＮＬマネージャは、ＳＣＳＩ条件状態を使用して、書き込みの結果をホストに戻し、ステップ１３７で、ＪＮＬマネージャは、ステータスを「書き込み中」から「−」に変更する。ステップ１３１で、ＣＭＤが、ＷＲＩＴＥコマンドではなかった場合、ステップ１３８で、ＪＮＬマネージャは、１次ＬＤＥＶ上のＲＥＡＤ６オペレーションのような、他のＳＣＳＩコマンドを実行する。
【００３５】
ＪＮＬ書き込みデータに関して、ヘッダ／フッタ情報は、ヘッダ／フッタビット、システム内のＩＯを識別するシーケンス＃、ヘッダ／フッタが、いずれのタイプのヘッダ／フッタであるか、例えば、ジャーナルデータ、マーカ、その他を示す、ヘッダ／フッタに関するコマンドタイプ、ＪＮＬマネージャが、ＪＮＬマネージャにおいてＩＯを受け取った時刻、ホストから受け取られたＳＣＳＩコマンド、ジャーナルデータの開始アドレスおよびサイズ、ならびに情報がフッタである場合、ヘッダシーケンス番号を含む。シーケンス番号は、ヘッダ／フッタ挿入のたびに増加される。シーケンス番号が、事前設定された最大数を超えた場合、番号は、０に戻ることが可能である。一実施例によれば、ヘッダ／フッタ情報のサイズは、この例では、４にＬＢＡを掛けた、２ＫＢである。ヘッダ／フッタのサイズは、さらなる能力を可能にするために拡張されることが可能である。
【００３６】
ホスト１０のＣＬＩまたはコンソール７２のＧＵＩからの復元オペレーションに関して、ストレージサブシステムは、シーケンス番号または時刻によって指定された復元ボリュームを作成し、その復元ボリュームを仮想ＬＵ、または通常のＬＵにマップする。マップオペレーションより前に、ＪＮＬマネージャは、仮想ＬＵまたは通常のＬＵが、別の復元ボリュームをマップするかどうか、いずれのジャーナルが、ＬＤＥＶに適用されているか否かをチェックする。別の復元ボリュームが、仮想ＬＵまたは通常のＬＵにマップされており、読み取り／書き込みアクセスが、過去１分以内に実行されている場合、そのオペレーションは、仮想ＬＵまたは通常のＬＵが使用中であるので、飛ばされる。そうではない場合、復元ボリュームは、マップされておらず、復元ボリュームのＬＤＥＶをＬＤＥＶプールの中の空きに戻す。１分である仮想ＬＵに関するＩＯオペレーションをチェックする期間は、この実施形態における例である。復元データのケースでは、ストレージ管理者が、シーケンス番号または時刻を使用して、ジャーナル上の或る時点のボリュームを要求すると、ＪＮＬマネージャは、サイズ変更を考慮して、ＪＮＬデータをＢ−ＶＯＬに適用する復元ボリュームを提供する。図１０（Ｂ）は、データを或る時点まで復元するための例示的な手続きを示す。ステップ１６１で、ＪＮＬマネージャは、ＬＤＥＶプールから復元ボリュームを割り当てる。ターゲットＬＤＥＶのサイズは、Ｂ−ＶＯＬの１つ同一である。ステップ１６２で、ＪＮＬマネージャは、ターゲットＬＤＥＶに或るＰＩＴ（時点の）データを作成し、そのデータのシーケンス番号を残す。ステップ１６３で、ＪＮＬマネージャは、ターゲットＬＤＥＶのシーケンス番号から、ユーザによって指定されたシーケンス番号まで、ＪＮＬデータをターゲットＬＤＥＶに適用する。ユーザによって指定されたシーケンス番号が、時刻である場合、ＪＮＬマネージャは、その指定された時刻に対応するＪＮＬエントリからのシーケンス番号を選ぶ。また、ＪＮＬマネージャは、ＪＮＬを適用した後、復元ボリュームに関する最新のシーケンス番号を残す。ＪＮＬマネージャは、ＬＤＥＶ番号９４（図４）を指定する仮想ＬＵを介して復元ボリュームをマップすることができる。
【００３７】
ベースラインボリュームにＪＮＬデータを更新するケースでは、ＪＮＬマネージャが、ＪＮＬボリューム上のＪＮＬデータをベースラインボリュームにデステージすると、ＪＮＬマネージャは、図１０（Ａ）の手続きを処理することができる。例示的な手続きの詳細は、以下のとおりである。ステップ１５１で、ＪＮＬマネージャは、使用中のＪＮＬスペース１２３の比率が、高水位標１２４を超えているか否かをチェックする。比率が、高水位標１２４を超えている場合、手続きは、ステップ１５３に進み、超えていない場合、手続きは、ステップ１５２を通ってループして戻り、ステップ１５２で、ＪＮＬマネージャは、事前定義された期間による次のチェック時刻を待つ。ステップ１５３で、ＪＮＬマネージャは、現在のシーケンス番号から低水位標シーケンス番号まで、ＪＮＬデータをＢ−ＶＯＬに適用する。ステップ１５４で、ＪＮＬマネージャは、デステージされたデータを無視して、Ｂ−ＶＯＬに関するシーケンス番号、およびＪＮＬ−ＶＯＬ上の使用中のＪＮＬスペースの比率を更新する。
【００３８】
データマイグレーションの実施例
第１の実施形態
図１２（Ａ）は、本発明の或る実施形態によるＣＤＰボリュームマイグレーションのための構成の概略図を示す。ソースストレージサブシステムは、Ｐ−ＶＯＬ３５、ＪＮＬ−ＶＯＬ３６、およびＢ−ＶＯＬ３７を提供する。ターゲットストレージサブシステムは、Ｐ−ＶＯＬ３３５、ＪＮＬ−ＶＯＬ３３６、およびＢ−ＶＯＬ３３７を提供する。ソースストレージサブシステム上のＣＤＰ  Ｃｏｎｆｉｇ２５１、およびターゲットストレージサブシステム上のＣＤＰ  Ｃｏｎｆｉｇ２５２により、各ボリュームのアドレスが定義される。ホスト１０は、ソースストレージサブシステム上のＰ−ＶＯＬ、およびＰ−ＶＯＬを、ターゲットストレージサブシステム上のＬＵとして見ることができる。以下は、以下のオペレーションから成る、第１の実施形態による挙動を示す。
【００３９】
１．パス構成
ストレージサブシステムは、互いに対する接続を構成する必要がある。図１３は、本発明の或る実施形態による構成オペレーションの動作を示す。手続きは、ステップ１７０で始まると、ステップ１７１に進み、ストレージサブシステムの保守管理者が、ソースストレージサブシステムとターゲットストレージサブシステムの間でファイバチャネルケーブルをセットアップする。ファイバチャネルケーブルは、各ストレージサブシステムにおけるポート上に接続される。イニシエータとターゲットの概念を有することを必要とするＳＣＳＩで互いに通信するように、接続の数は、２から始まる。その後、さらなる数の接続が追加されて、帯域幅を大きくすることが可能である。ステップ１７２で、保守管理者が、コンソール７２上のＧＵＩから、ソースストレージサブシステムにおけるポート構成をセットアップする。保守管理者は、宛先のストレージサブシステムシリアル番号（図４の９８）を指定して、ソースストレージサブシステム上の接続ポート（図４のポート２）のためのストレージサブシステムを識別する。ステップ１７３で、保守管理者は、コンソール７２上のＧＵＩから、ターゲットストレージサブシステムにおけるポート構成をセットアップする。保守管理者は、宛先のストレージサブシステムシリアル番号（図４の９８）を指定して、ターゲットストレージサブシステム上の接続ポート（図４のポート３）のためのストレージサブシステムを識別する。すると、手続きは、終了する。
【００４０】
２．ペア作成オペレーション
ペア作成オペレーションは、ストレージサブシステム上のソースＰ−ＶＯＬとターゲットＰ−ＶＯＬの間のボリュームペアを作成する。ストレージ管理者は、Ｐ−ＶＯＬのＬＵに関するボリュームのアドレスをペアテーブル（図１１）の中に入力して、コンソール７２から、このオペレーションを管理する。ペアテーブルは、ペア番号１４１、ソースストレージサブシステムのシリアル番号１４２、ポート１４３、ＬＵ番号１４４、ＬＤＥＶ番号１４５、さらに、ターゲットストレージサブシステムのシリアル番号１４６、ターゲットポート１４７、ＬＵ番号１４８、およびＬＤＥＶ番号１４９から成る。ソースストレージサブシステムにおけるＬＤＥＶ番号に関して、ミラーマネージャは、図４のテーブル９０からの番号９４を参照する。ソースストレージサブシステムにおけるＬＤＥＶ番号１４５に関して、管理者は、ソースＰ−ＶＯＬのＬＵＮによって挿入された番号を挿入することができ、ＬＵＮは、ＬＤＥＶを既に割り当てられている。マイクロコードは、ＬＵ−ＬＤＥＶマッピングテーブルに基づき、管理者によって指定されたＬＵＮからＬＤＥＶへのマッピングを参照することができる。しかし、ターゲットストレージサブシステムにおける自動方法として、ミラーマネージャは、ターゲットストレージサブシステム上の空いたＬＤＥＶプールからＬＤＥＶを割り当てることができ、自動割り当て方法を考慮して、手続きは、以下のとおりである（図１４）。ステップ１８１で、ストレージ管理者またはシステム管理者が、ホスト１０上のコンソール７２上、またはＣＬＩ  Ｉ／Ｆ上で、ソースストレージサブシステムに向かって、データを移すソースポートおよびＬＵを指定する。ミラーマネージャは、ソースストレージサブシステムのシリアル番号１４２、ポート１４３、およびＬＵ番号１４４である設定情報を格納する。ＬＤＥＶ番号１４５に関して、ミラーマネージャは、図４のテーブル９０から、その番号を取り出す。ステップ１８２で、ソースストレージサブシステムにおけるミラーマネージャが、管理者によって指定されたＬＤＥＶが、ＣＤＰによって保護されているか否かをチェックする。ミラーマネージャは、図４の９３および９４から、ＬＵのＬＤＥＶ番号をチェックし、次に、エントリ、ＣＤＰ  Ｃｏｎｆｉｇの存在をチェックする。ＬＤＥＶに関するＣＤＰ保護が存在する場合、手続きは、ステップ１８３に進む。ＣＤＰが全く存在しない場合、手続きは、ステップ１８４に進む。ステップ１８３で、ソースストレージサブシステムにおけるミラーマネージャは、データを移すＣＤＰのＢ−ＶＯＬおよびＪＮＬ−ＶＯＬも含む。ステップ１８４で、ストレージ管理者またはシステム管理者は、ターゲットストレージシステムにおいて、コンソール７２上、またはホスト１０上のＣＬＩ  Ｉ／Ｆ上で、データを移す先のターゲットポートおよびＬＵを指定する。ステップ１８５で、ターゲットストレージサブシステムにおけるミラーマネージャが、管理者によって指定されたソースＬＤＥＶが、ＣＤＰによって保護されているか否かをチェックする。ターゲットストレージサブシステムにおけるミラーマネージャは、ストレージサブシステム間の通信リンクを使用して、ソースストレージサブシステムにおけるミラーマネージャと通信する。ＬＤＥＶに関するＣＤＰ保護が存在する場合、手続きは、ステップ１８６に進む。保護が存在しない場合、手続きは、終了する。ステップ１８６で、ミラーマネージャは、空きＬＤＥＶリストからターゲットＢ−ＶＯＬおよびＪＮＬ−ＶＯＬを割り当てる。また、ターゲットストレージサブシステムにおけるミラーマネージャは、ＣＤＰ保護されたＬＵが、仮想ＬＵをセットアップしている場合、ＬＵ−ＬＤＥＶマッピングテーブル（図４）上の利用可能なＬＤＥＶ９４から、仮想ＬＵ９７を割り当てることもできる。ＬＤＥＶのサイズは、ソースのＣＤＰ  Ｃｏｎｆｉｇ１００におけるＢ−ＶＯＬおよびＪＮＬ−ＶＯＬのＬＤＥＶ番号に基づき、図３のサイズ８８から参照される。また、ミラーマネージャは、ポート番号１４３、１４７、ＬＵ番号１４４、１４８なしで、シリアル番号ＬＤＥＶ番号が、Ｐ−ＶＯＬのペア番号（１４１）によって識別されて、Ｂ−ＶＯＬとＪＮＬ−ＶＯＬに関するペアをペアリスト１４０上に作成する。
【００４１】
３．同期オペレーション
ストレージ管理者またはシステム管理者は、コンソール上のＧＵＩを介して、またはコマンドラインインタフェースを介して、同期オペレーションを実行する。同期オペレーションのこの例では、ミラーマネージャは、Ｐ−ＶＯＬ、Ｂ−ＶＯＬ、およびＪＮＬ−ＶＯＬのようなＣＤＰ  ｃｏｎｆｉｇ構成されたボリューム上のデータを、定義されたペアに基づき、ソースストレージサブシステムからターゲットストレージサブシステムにミラーリングする。このオペレーションを、図１５に関連して説明する。ステップ１９０で、ソースストレージサブシステムにおけるミラーマネージャが、現在のコピーポイントを「０」にリセットする。ステップ１９１で、ミラーマネージャは、図９における現在のコピーポイント２７４が、ビットマップの終わりの下であるか否かをチェックする。「はい」である場合、手続きは、ステップ１９２に進み、そうではない場合、手続きは、終了する。ステップ１９２で、ミラーマネージャは、図９のビットマップテーブル２７０から現在のコピー番号のビットマップを選択する。ステップ１９３で、ミラーマネージャは、ビットマップのフラグ２７２をチェックする。ビットマップのフラグがオンである場合、手続きは、ステップ１９４に進む。ビットマップのフラグがオフである場合、手続きは、ステップ１９８に進む。ステップ１９４で、ミラーマネージャは、指定されたビットマップのステータス２７３をチェックする。ビットマップのステータスが、通常である「−」である場合、手続きは、ステップ１９５に進み、そうでない場合、手続きは、ステップ１９８に進む。ステップ１９５で、ミラーマネージャは、ビットマップのステータス２７４上で、コピーというマークを付けて、セグメントサイズに現在のコピー番号を掛けることによって計算されたターゲットＬＤＥＶセグメントに、セグメント上の現在の「コピー中」データを示す。ステップ１９６で、ミラーマネージャは、ソースＬＤＥＶ上のビットマップの指定されたＬＢＡ（論理ブロックアドレス）からのデータおよびセグメントサイズを、ターゲットＬＤＥＶ上の１つのＬＢＡおよびサイズにコピーする。例えば、例の１つとして、ビットマップ番号は、０であり、セグメントのサイズは、８Ｋである。コピーの開始アドレスは、０である。コピーデータのサイズは、８Ｋである。ステップ１９７で、ミラーマネージャは、ビットマップのフラグをオフにし、ステータスを、「コピー中」ステータス２７３から、通常としての「−」にマークする。ステップ１９８で、ミラーマネージャは、メモリの中に格納された、０からビットマップ番号の終わりまで開始である、現在のコピーポイント２７４までカウントする。
【００４２】
同期オペレーション手続きに関して、ミラーマネージャは、ペアの定義されたＰ−ＶＯＬに関して実行する（図１６のステップ２６１）。ミラーマネージャは、Ｐ−ＶＯＬが、ＣＤＰ  Ｃｏｎｆｉｇ１００からのＰ−ＶＯＬのＬＤＥＶ番号を参照するＣＤＰとして構成されていることが分かった場合（図１６のステップ２６２）、ペアリスト１４０に基づき、Ｂ−ＶＯＬおよびＪＮＬ−ＶＯＬ、ならびにＰ−ＶＯＬに関する同期オペレーションを実行する（図１６のステップ２６３）。Ｐ−ＶＯＬが、ＣＤＰとして構成されていない場合、手続きは、終了する。
【００４３】
同期オペレーション中、ＪＮＬマネージャは、通常ステータスオペレーションではなく、書き込みオペレーションに切り替わる（図８）。手続きは、以下のとおりである（図１７）。ステップ２０１で、ＪＮＬマネージャは、開始アドレスから、ビットマップテーブル上のサイズの追加までの書き込みオペレーションのアクセス領域を含むセグメント上のステータスが、「通常」であるか否かをチェックする。「はい」である場合、手続きは、ステップ２０３に進み、そうでない場合、手続きは、ステップ２０２に進む。ステップ２０２で、ＪＮＬマネージャは、短い期間、例えば、数ミリ秒間、待ち、その後、ステップ２０１にループして戻る。ステップ２０３で、ＪＮＬマネージャは、ビットマップテーブル上のセグメントのステータスを「−」から「書き込み中」に変更する。ステップ２０４で、ＪＮＬマネージャは、データを、セグメント上のＰ−ＶＯＬに書き込む。セグメントが、セグメント内のフラグメントとしてデータを保持する場合、ＪＮＬマネージャは、セグメントを読み取り、読み取られたデータ上のデータを変更し、変更されたデータをＰ−ＶＯＬ上に書き込む。また、書き込みデータは、ペアテーブルによって指定されるターゲットＬＤＥＶ上にも格納される。ステップ２０５で、ＪＮＬマネージャは、ビットマップテーブル上のセグメントのステータスを「書き込み中」から「−」に変更する。
【００４４】
書き込みオペレーション中、ストレージサブシステムは、挙動（図７）に基づき、Ｐ−ＶＯＬ、Ｂ−ＶＯＬ、ＪＮＬ−ＶＯＬに関する書き込み順序を守る。分割オペレーションの後、ＣＤＰボリュームは、ボリューム間で書き込み順序整合性を守ることができる。理解することができるように、他の同期手続きを使用することもでき、本明細書で説明される手続きは、単に一例として与えられている。最終的な目的は、所与の時点に関して、ソースボリュームをターゲットボリュームにコピーすることである。
【００４５】
４．分割オペレーション
分割オペレーションは、ユーザによるある時点で指定されたデータの場所を変更する。オペレーションは、以下のとおりである（図１８）。ステップ２１１で、ソースストレージサブシステム上のミラーマネージャが、ペアにされたボリュームに関する同期オペレーションを実行する。ステップ２１２で、ソースストレージサブシステム上のミラーマネージャは、すべてのビットマップのフラグ２７２が、ターンオフであるか否かをチェックする。「はい」である場合、ソースストレージサブシステム上の手続きは、ステップ２１４に進み、そうではない場合、手続きは、ステップ２１３に進む。ステップ２１３で、ソースストレージサブシステム上のミラーマネージャは、数秒間、待って、ステップ２１２にループして戻る。ステップ２１４で、ソースストレージサブシステム上のミラーマネージャは、ソースストレージサブシステムにおけるＰ−ＶＯＬ上のＬＵ−パス９０のアクセスモードにおけるＲ／ＯまたはＤＥＮＹとして、ＪＮＬマネージャの書き込みオペレーションを一時停止し、ＪＮＬ−ＶＯＬ上のＪＮＬデータの現在のシーケンス番号を、ターゲットストレージサブシステム上のミラーマネージャに知らせる（図１２（Ａ）の３．ａ）。ステップ２１５で、ターゲットストレージサブシステム上のミラーマネージャは、ＣＤＰ  ｃｏｎｆｉｇ、および通知されたシーケンス番号に基づき、ペアにされたＰ−ＶＯＬに関するＣＤＰ能力を可能にする。ステップ２１６で、ミラーマネージャは、ターゲットストレージサブシステムにおけるＰ−ＶＯＬ上で、ＬＵ−パス９０のソースストレージサブシステムにおけるＲ／ＷとしてＩ／Ｏを活性化する（図１２（Ａ）の３．ｃ．）。
【００４６】
この実施形態では、我々は、ビットマップミラーリング能力を使用して、ストレージサブシステム間でデータをミラーリングする。しかし、我々は、待ち時間の少ないネットワーク帯域幅の下でデータを転送するために、日立のＵｎｉｖｅｒｓａｌ  Ｒｅｐｌｉｃａｔｏｒなどのジャーナルタイプのコピー方法のような、他のデータコピー方法を使用することもできる。また、ジャーナルタイプのコピー方法は、あるストレージサブシステムから別のストレージサブシステムまでデータをコピーすること、およびフェイルオーバーのための分割に関して、同一の同期を有する。ソースストレージサブシステムおよびターゲットストレージサブシステムからのＰ−ＶＯＬ、およびＣＤＰ関連ボリュームに関する本発明の制御フェイルオーバープロセス（ステップ２１４およびステップ２１６）が、ジャーナルタイプのコピー方法のためにも使用されることが可能である。
【００４７】
５．ペア削除オペレーション
マイグレーションの後、システム管理者またはストレージ管理者は、ペア番号の下におけるペアの関係を削除することを望む可能性がある。このオペレーションは、コンソール、またはホストのＣＬＩ  Ｉ／Ｆから、図１１のペア番号１４１に基づくペアに関するレコードを削除する。
【００４８】
ホストの挙動
この実施形態では、ホスト１０は、マイグレーション中、通常のオペレーションを実行することを続ける。つまり、ストレージ保守管理者が、ソースストレージサブシステムとターゲットストレージサブシステムの間のパス接続を作成した後（図１２（Ａ）の手続き１）、ホストは、ソースストレージサブシステムにおけるボリューム上で、引き続き、ホストのアプリケーション群を実行する。管理者は、次に、ペアに関する同期オペレーションを実行して、データのコピーを開始する（図１２（Ａ）の手続き２）。コピーオペレーション中、ＨＡのソフトウェアは、引き続き、Ｐ−ＶＯＬ３５上でＩＯオペレーションを実行することができる。管理者が、ペアに関して分割オペレーションを実行すると（図１２（Ａ）の手続き３）、ＨＡのソフトウェアは、ＨＡのソフトウェアが、ターゲットＰ−ＶＯＬ３３７にアクセスするため、ＳＣＳＩの応答に基づき、ソースストレージサブシステムにおけるボリュームにアクセスできないことを検出する。分割オペレーション中（図１２（Ａ）の３．）、ＯＳは、ボリュームに関する次のアプリケーションのＩＯを実行するのを待ち、ホスト１０によって発行されたあらゆるＩＯオペレーションは、バッファ３９の中に格納されることが可能である。ホストのアプリケーションソフトウェアは、ＨＡのソフトウェアによって作成されたデバイス名だけを見ることができる。ＨＡソフトウェアは、デバイス名上で、ソースＰ−ＶＯＬからターゲットＰ−ＶＯＬへのパスフェイルオーバーを扱う。分割オペレーションの後、ＯＳは、次に、バッファ３９の中のＩＯをターゲットストレージボリュームに向かわせることができる。管理者は、次に、ペアを削除することができる。
【００４９】
我々は、この実施形態では、Ａｆｔｅｒ−ＪＮＬをＣＤＰとして使用する。しかし、我々は、この実施形態を、ジャーナル管理として１次ボリューム上にコピーオンライトデータをジャーナリングするＢｅｆｏｒｅ−ＪＮＬのＣＤＰのために適用することもできる。その構成では、ＪＮＬマネージャは、Ｐ−ＶＯＬに関するコピーオンライトデータをＪＮＬの中に格納し、Ｂ−ＶＯＬは、Ｂ−ＶＯＬが、Ｐ−ＶＯＬによって共有されるので、使用されない。同期オペレーション時に、ミラーマネージャは、Ａｆｔｅｒ−ＪＮＬのケースと同様に、Ｐ−ＶＯＬおよびＪＮＬ−ＶＯＬをミラーリングする。分割オペレーションに、ミラーマネージャは、Ｂ−ＶＯＬに関するシーケンス番号を転送すること以外は、同一のオペレーションを使用する。ミラーマネージャは、ＪＮＬ−ＶＯＬに関する現在のシーケンス番号を知らせる。もちろん、内部更新（図１０（Ａ））に関して、ＪＮＬマネージャは、ＪＮＬデータを低水位標までパージする。
【００５０】
理解することができるように、第１の実施形態のプロセスは、以下のステップに要約されることが可能である。すなわち、
ａ．ターゲットストレージサブシステムにおいてターゲット１次ボリューム、ターゲットベースラインボリューム、およびターゲットジャーナルボリュームを定義して、ターゲット１次ボリューム、ターゲットベースラインボリューム、およびターゲットジャーナルボリュームを、ソース１次ボリューム、ソースベースラインボリューム、およびソースジャーナルボリュームとそれぞれペアにするステップと、
ｂ．ターゲット１次ボリュームとソース１次ボリュームのペア、ターゲットベースラインボリュームとソースベースラインボリュームのペア、およびターゲットジャーナルボリュームソースジャーナルボリュームのペアに対して同期オペレーションを実行するステップと、
ｃ．ソースストレージサブシステムとターゲットストレージサブシステムの分割オペレーションを、
ｉ．ソースサブシステムのポートにおけるホストＩ／Ｏを一時停止するステップと、
ｉｉ．ターゲットストレージサブシステムにおけるホストＩ／Ｏを活性化するステップとによって実行するステップと、
ｄ．ターゲット１次ボリュームとソース１次ボリュームのペア、ターゲットベースラインボリュームとソースベースラインボリュームのペア、およびターゲットジャーナルボリュームとソースジャーナルボリュームのペアを削除するステップである。
【００５１】
第２の実施形態
本発明の第２の実施形態は、ソースストレージサブシステム上のＪＮＬ−ＶＯＬおよびＢ−ＶＯＬに関する背景ミラーを利用するという点で第１の実施形態とは異なる。背景ミラー法は、ユーザが、ターゲットストレージサブシステム上のＪＮＬ  ＶＯＬ上に新たなＩＯを記録することにより、ビジネスを迅速に開始するのを助ける。この実施形態の、第１の実施形態との違いは、ペアリングオペレーションおよびミラーリングオペレーションの管理にある。我々は、それらの違いを主に説明する。
【００５２】
概略構成
図１２（Ｂ）は、本発明の或る実施形態による構成の概要を示す。この構成では、ソースストレージサブシステムおよびターゲットストレージサブシステムにおいてＰ−ＶＯＬおよびＢ−ＶＯＬが存在する。また、２つのＪＮＬ−ＶＯＬも存在する。ホスト１０からのジャーナルとして既に書き込みＩＯデータを有する古いＪＮＬ−ＶＯＬ１６１、およびターゲットストレージサブシステムにおけるミラーの古いＪＮＬ−ＶＯＬ１２０１である。この実施形態では、マイグレーションの後にとられたデータをジャーナリングする、新たなＪＮＬ−ＶＯＬ１２０２も存在する。ターゲットストレージサブシステムへの古いＪＮＬ−ＶＯＬおよびＢ−ＶＯＬのデータマイグレーションに関して、オペレーションは、背景で実行される（図１２（Ｂ）の４．背景ミラー）。マイグレーションの後、ＪＮＬマネージャは、ミラーリングされた古いＪＮＬ−ＶＯＬの中のすべてのＪＮＬデータをＢ−ＶＯＬ上に適用する。第２の実施形態によるマイグレーションオペレーションの詳細を以下に説明する。オペレーションは、第１の実施形態を同様に、パス構成の作成、ペア作成、およびペア削除から成る。したがって、説明は、新たな同期オペレーション、分割オペレーション、背景ミラーリング、およびＪＮＬデータをＢ−ＶＯＬ上に適用することについてだけである。
【００５３】
１．同期
第１の実施形態では、我々は、図１６を実行して、すべてのデータをミラーリングした。その手続きの代わりに、この場合、ミラーマネージャは、Ｐ−ＶＯＬを同期するステップ（２６１）を開始する。すべてのＣＤＰ関連ボリュームの同期ステップ（２６３）は、独立に実行されることが可能である。とりわけ、Ｐ−ＶＯＬの同期が、Ｂ−ＶＯＬおよびＪＮＬ−ＶＯＬより高速である場合、ユーザは、同期オペレーション中のＰ−ＶＯＬに対するＩＯの影響を無くすことができる。残りのＣＤＰ関連ボリュームを同期させるステップは、「背景ミラーリングオペレーション」に関連して以下に説明するとおり、行われることが可能である。この第２の実施形態では、すべてのＣＤＰ関連ボリュームを同期した後（２６３）、ＪＮＬマネージャは、ＪＮＬ  ＬＤＥＶの番号に基づいて図３から裁定して、ソースＪＮＬボリュームと同一のサイズを有する新たなＪＮＬ−ＶＯＬに関する新たなＬＤＥＶを作成する。
【００５４】
２．分割
分割オペレーションの手続きは、図１８の場合と同一であるが、分割に適用されるボリュームは、異なる。第１の実施形態では、ボリュームは、すべてのボリューム、Ｐ−ＶＯＬ、Ｂ−ＶＯＬ、およびＪＮＬ−ＶＯＬであった。この第２の実施形態では、分割は、Ｐ−ＶＯＬ上でだけ行われる。Ｐ−ＶＯＬに関する同期オペレーション、および分割の後、ソースストレージサブシステムにおけるＪＮＬマネージャは、ＪＮＬマネージャに関する最新のシーケンス番号（図１２（Ｂ）の３．ｂ）を、ターゲットストレージサブシステムにおけるジャーナルマネージャに通知する。すると、ＪＮＬは、次の通知されたシーケンス番号から始めて、新たなＩＯを新たなＪＮＬ−ＶＯＬ１２６９上にジャーナリングすることを始める。同期オペレーション中、ＪＮＬマネージャは、新たなＪＮＬ−ＶＯＬ１２６９からのいずれのデータも、Ｂ−ＶＯＬ上に適用することを一時停止する。ＪＮＬ−ＶＯＬおよびＢ−ＶＯＬに関する同期オペレーションおよび分割オペレーションに関して、我々は、図１５の場合と同一のオペレーションを使用する。
【００５５】
３．背景ミラーリングオペレーション
ミラーマネージャは、ＣＤＰ関連ボリューム、Ｂ−ＶＯＬおよびＪＮＬ−ＶＯＬに関する背景ミラーを処理する。プロセスは、（図１９）に従う。ステップ２２１で、ターゲットストレージサブシステム上のミラーマネージャが、新たなＬＤＥＶを割り当て、それらのＬＤＥＶのサイズは、空きＬＤＥＶプール１１１からのソースＢ−ＶＯＬおよびソースＪＮＬ−ＶＯＬのいずれかと同一である。ＬＤＥＶのサイズは、ソースのＣＤＰ  Ｃｏｎｆｉｇ１００におけるＢ−ＶＯＬおよびＪＮＬ−ＶＯＬのＬＤＥＶ番号に基づき、図３のサイズから参照される。ステップ２２２で、ミラーマネージャは、ソースストレージサブシステム上、およびターゲットストレージサブシステム上のＪＮＬ−ＶＯＬおよびＢ−ＶＯＬに関するミラーペアエントリを作成し、それをテーブル１４０（図１１）上に登録する。例えば、ソースＰ−ＶＯＬ、Ｂ−ＶＯＬ、ＪＮＬ−ＶＯＬのＬＤＥＶは、１、１００、および２０１である。割り当てられたＰ−ＶＯＬ、Ｂ−ＶＯＬ、古いＪＮＬ−ＶＯＬのＬＤＥＶは、１００１、１１００、および１２０１である。テーブル１４０の中で、ペアは、Ｐ−ＶＯＬに関して１対１００、Ｂ−ＶＯＬに関して１００対１１００、古いＪＮＬ−ＶＯＬに関して２０１対１２０１である。ステップ２２３で、同期は、ペアにされたＢ−ＶＯＬおよびＪＮＬ−ＶＯＬに関して実行される。ステップ２２４で、ソースストレージサブシステム上のミラーマネージャは、すべてのビットマップのフラグ２７２が、ターンオフであるか否かをチェックする。「はい」である場合、ソースストレージサブシステム上の手続きは、ステップ２２５に進み、そうでない場合、手続きは、終了する。ステップ２２５で、ソースストレージサブシステム上のミラーマネージャは、ある期間、待ち、その後、ステップ２２４にループして戻る。
【００５６】
４．ＪＮＬデータをＢ−ＶＯＬ上に適用すること
マイグレーションの後、ＪＮＬマネージャは、通常のＪＮＬサイズで機能するようにＪＮＬボリュームを強化する。手続きは、ＪＮＬマネージャが、すべての古いＪＮＬ−ＶＯＬ１２６１データをＢ−ＶＯＬ上に適用し、その後、古いＪＮＬ−ＶＯＬのＬＤＥＶをＬＤＥＶプールに戻すことである。ＬＤＥＶが戻された後、ＣＤＰは、新たなＪＮＬ１２６９（図１０（Ａ））上にＪＮＬデータを適用する通常のオペレーションを使用する。同期オペレーションおよび分割オペレーション中、ＪＮＬマネージャは、そのオペレーションを一時停止する。
【００５７】
理解することができるように、第２の実施形態のプロセスは、以下のステップに要約されることが可能である。すなわち、
ａ．ターゲットストレージサブシステムにおいてターゲット１次ボリューム、ターゲットベースラインボリューム、およびターゲットジャーナルボリュームを定義して、ターゲット１次ボリューム、ターゲットベースラインボリューム、およびターゲットジャーナルボリュームを、ソース１次ボリューム、ソースベースラインボリューム、およびソースジャーナルボリュームとそれぞれペアにするステップと、
ｂ．ターゲット１次ボリュームとソース１次ボリュームのペアに対して同期オペレーションを実行するステップと、
ｃ．ソースジャーナルボリュームの中に記録された最後のシーケンス番号を確認し、そのポイントから先は、ホストＩ／Ｏ要求をターゲット１次ボリューム上で実行し、それらのホストＩ／Ｏ要求のジャーナルエントリをターゲットジャーナルボリューム上に記録することにより、すべてのホストＩ／Ｏをターゲットストレージサブシステムに向かわせるステップと、
ｄ．ソースベースラインボリュームをターゲットベースラインボリューム上に、さらに、ソースジャーナルボリュームをターゲットジャーナルボリューム上に非同期でコピーして、前記ターゲットジャーナルボリュームの中の古いジャーナルを定義するステップと、
ｅ．ターゲット１次ボリュームとソース１次ボリュームのペア、ターゲットベースラインボリュームとソースベースラインボリュームのペア、およびターゲットジャーナルボリュームとソースジャーナルボリュームのペアを削除するステップである。
【００５８】
第３の実施形態
第３の実施形態は、ソースＪＮＬボリュームの全体サイズに対する、ターゲットストレージサブシステム上のＪＮＬデータの使用中の容量を監視することに依拠する。この監視は、Ｐ−ＶＯＬがミラーリングされた後に行われる。利点は、ユーザが、ソースベースラインボリュームまたはソースＪＮＬボリュームをターゲットストレージサブシステムにミラーリングさせなくてもよいことである。
【００５９】
この実施形態では、我々は、第１の実施形態の場合と同一の構成要素を使用する。我々は、第１の実施形態との違いについてだけ説明する。図２０は、本発明の第３の実施形態によるシステムの概要を示す。この構成では、ミラーマネージャは、Ｐ−ＶＯＬのデータをターゲットストレージサブシステムに移すが（図２０の手続き１、２、３ａ、３ｃ）、Ｂ−ＶＯＬおよびＪＮＬ−ＶＯＬは移さない。そうではなく、ミラーリングされたＰ−ＶＯＬのコピーは、Ｐ−ＶＯＬの或る時点のベースラインイメージとしてターゲットＢ−ＶＯＬの中に格納される。次に、ターゲットストレージサブシステムにおけるＰ−ＶＯＬが、図７のプロセスを使用してＣＤＰプロセスを開始する。コンソール７２が、古いＪＮＬおよび新たなＪＮＬの長さを監視して、ソースサブシステムにおける古いＪＮＬと、ターゲットストレージサブシステムにおける新たなＪＮＬの間でＪＮＬデータの長さを管理する（図２０の手続き６、７、８、９）。図２１は、コンソール７２における監視手続きを示す。監視手続きは、Ｐ−ＶＯＬのマイグレーションの後に始まる。最初、コンソール上で実行されるコンソールのモニタモジュール（図示せず）が、ソースストレージサブシステムにおける使用中のＪＮＬデータ、およびＪＮＬ−ＶＯＬの容量サイズを読み取る（図２０の手続き６）。ステップ２４１で、コンソールのモニタモジュールが、ターゲットストレージサブシステムにおけるＬＤＥＶから、使用中のＪＮＬスペースのサイズを獲得する（図２０の手続き７）。ステップ２４２で、コンソールのモニタは、古いＪＮＬ−ＶＯＬ上、および新たなＪＮＬ−ＶＯＬ上の使用中のＪＮＬの合計サイズ（ソースにおける使用中のＪＮＬデータのサイズ＋ターゲットにおける使用中のＪＮＬデータのサイズ）を計算する。ステップ２４３で、コンソールのモニタが、使用中の新たなＪＮＬスペースの合計サイズが、古いＪＮＬ−ＶＯＬの容量を下回っているかどうかをチェックする。「はい」である場合、手続きは、ステップ２４４に進み、モニタは、ユーザによって定義された期間、例えば、１時間以上待ち、その後、ステップ２４１にループして戻る。そうではない場合、手続きは、ステップ２４５に進む（図２０の手続き８）。ステップ２４５で、コンソールのモニタは、ソースストレージサブシステム上のＪＮＬ−ＶＯＬのＬＤＥＶの差し迫った解放について、電子メール、ＳＮＭＰ、ポケットベル、その他を介してユーザに通知する。このプロセスにおいて、ユーザが受け入れる場合、コンソールのモニタは、ＪＮＬ−ＶＯＬのＬＤＥＶを空きＬＤＥＶプールに戻すことを要求する。戻した後、コンソールのモニタは、ＪＮＬ−ＶＯＬを監視することを終える（図２０の手続き９）。このため、ソースボリュームは、他のストレージ目的で使用されるように解放されるか、またはホストシステムからソースボリュームを物理的に切り離すことによって解放されることが可能である。
【００６０】
この実施形態は、ソースストレージサブシステム上でデータを失効させる能力を使用する。別の方法として、ジャーナルの開始から、ＪＮＬヘッダ／フッタ情報の参照するＪＮＬヘッダ／フッタ情報の終わりまでの保持期間が、使用されることが可能である。
【００６１】
理解することができるように、ターゲットストレージサブシステム上の新たなＪＮＬボリューム上の使用中の容量が、ソースストレージサブシステム上の古いＪＮＬボリュームの容量を超えると、ユーザのポリシーは、ソースストレージサブシステムの古いＪＮＬボリュームの中のデータを破棄することを許すことができる。そのようなポリシーの下では、回復は、新たなＪＮＬボリュームの中のエントリから行われることが可能であるが、古いＪＮＬボリュームから行われることは可能でない。しかし、ユーザは、ソースボリューム上のＪＮＬデータが存在する場合、ソースＪＮＬボリュームからＰＩＴデータを復元することができる。この状況では、ユーザ、監査役、またはその他が、過去のある時点のデータに関する監査であることを所望する。この実施形態のプロセスは、以下のステップに要約される。すなわち、
ａ．ターゲットストレージサブシステムにおいてターゲット１次ボリューム、ターゲットベースラインボリューム、および新たなターゲットジャーナルボリュームを定義して、ターゲット１次ボリューム、ターゲットベースラインボリューム、および新たなターゲットジャーナルボリュームを、ソース１次ボリューム、ソースベースラインボリューム、およびソースジャーナルボリュームとそれぞれペアにするステップと、
ｂ．ターゲット１次ボリュームとソース１次ボリュームのペアに対して同期オペレーションを実行するステップと、
ｃ．ターゲット１次ボリュームの或る時点のイメージをターゲットベースラインボリューム上に作成するステップと、
ｄ．ソースストレージサブシステムポート上のホストＩ／Ｏ要求を一時停止するステップと、
ｅ．ターゲットストレージサブシステムポート上のホストＩ／Ｏ要求を活性化するステップと、
ｆ．新たなジャーナルボリューム上の使用中のストレージ領域を監視して、新たなジャーナルボリューム上の使用中のストレージ領域が、ソースジャーナルの容量を超えた場合、ユーザに警報を発するなどの、ソースストレージサブシステムが解放されてもよいという指示を提供するステップである。
【００６２】
第４の実施形態
本発明の第４の実施形態によれば、日立のＴａｇｍａＳｔｏｒｅ  Ｕｎｉｖｅｒｓａｌ  Ｓｔｏｒａｇｅ  Ｐｌａｔｆｏｒｍのようなストレージ仮想化ハードウェアが、使用される。そのシステムでは、ストレージディスクは、図２の実施形態に示される内部ディスクとは異なり、外部ストレージディスクである。我々は、第１の実施形態、第２の実施形態、および第３の実施形態との違いを説明する。
【００６３】
図２２は、外部ストレージ構成を利用する、第４の実施形態の論理構成を示す。この構成では、ストレージ仮想化ハードウェア８００、９００が、図２のストレージサブシステム２０、４０と同一の容量を有する。ユーザは、ストレージ仮想化ハードウェアのディスク（図示せず）上、または外部ストレージサブシステム５００上および外部ストレージサブシステム５４０上のＰ−ＶＯＬ、ＪＮＬ−ＶＯＬ、およびＢ−ＶＯＬに関するストレージスペースを使用することができる。ＬＵのような外部ストレージの格納領域を使用するのに、ストレージ仮想化ハードウェア８００は、外部ストレージマッピングテーブル（図２３）を有する。仮想化ハードウェアは、イニシエータとして、ポート８０１を介して外部ストレージ５００上のＬＵを起動すると、仮想化ハードウェアのＬＤＥＶの識別子としてのＥｘ−ＬＤＥＶ番号（５６１）、ＬＵのサイズ（５６２）、外部ストレージサブシステムのＷＷＮ（５６３）、および次いで、外部ストレージサブシステム上のＬＵＮ（５６４）を登録する。ＬＤＥＶマネージャが、図４におけるＬＤＥＶ９１として、登録されたＥｘ−ＬＤＥＶ番号を使用することができる。外部ストレージサブシステムは、ストレージサブシステム２０、４０のような、ＬＤＥＶおよびＲＡＩＤ構成ディスクから成る通常のＬＵを提供する。その他の能力、つまり、ＪＮＬマネージャ、ミラーマネージャ、およびその他のようなソフトウェア能力は、第１の実施形態、第２の実施形態、および第３の実施形態に関する場合と同一である。
【００６４】
理解することができるように、本明細書で説明する以上の諸実施形態のプロセスは、デバイスに関する外部ストレージマッピングテーブルを使用することにより、この実施形態に適用されることが可能である。例として、第１の実施形態のプロセスが、以下のステップを実行することにより、この環境で機能するように採用されることが可能である。すなわち、
ａ．前記ターゲットストレージサブシステムにおいてターゲット１次ボリューム、ターゲットベースラインボリューム、およびターゲットジャーナルボリュームを定義して、外部ストレージマッピングテーブルを構築するステップと、
ｂ．ターゲット１次ボリューム、ターゲットベースラインボリューム、およびターゲットジャーナルボリュームを、ソース１次ボリューム、ソースベースラインボリューム、およびソースジャーナルボリュームとそれぞれペアにするステップと、
ｃ．ターゲット１次ボリュームとソース１次ボリュームのペア、ターゲットベースラインボリュームとソースベースラインボリュームのペア、およびターゲットジャーナルボリュームソースジャーナルボリュームのペアに対して同期オペレーションを実行するステップと、
ｄ．ソースストレージサブシステムとターゲットストレージサブシステムの分割オペレーションを、
ｉ．ソースサブシステムのポートにおけるホストＩ／Ｏを一時停止するステップと、
ｉｉ．ターゲットストレージサブシステムにおけるホストＩ／Ｏを活性化するステップとによって実行するステップと、
ｅ．ターゲット１次ボリュームとソース１次ボリュームのペア、ターゲットベースラインボリュームとソースベースラインボリュームのペア、およびターゲットジャーナルボリュームとソースジャーナルボリュームのペアを削除するステップである。
【００６５】
５．第５の実施形態
また、この実施形態は、ＣＩＳＣＯ  ＭＤＳ  ９０００（ｈｔｔｐ：／／ｗｗｗ．ｃｉｓｃｏ．ｃｏｍ／ｅｎ／ＵＳ／ｐｒｏｄｕｃｔｓ／ｈｗ／ｐｓ４１５９／ｐｓ４３５８／ｉｎｄｅｘ．ｈｔｍｌ）のようなインテリジェントスイッチハードウェアも使用してＣＤＰを実行する。我々は、この実施形態と第４の実施形態の違いを説明する。
【００６６】
図２２は、論理構成を示す。この構成では、ユーザは、外部ストレージサブシステム５００上および外部ストレージサブシステム５４０上のＰ−ＶＯＬ、ＪＮＬ−ＶＯＬ、およびＢ−ＶＯＬに関するストレージスペースを使用することができる。この実施形態では、インテリジェントスイッチは、十分なキャッシュを有さない。ポートは、ミラーマネージャ３３におけるフレームをミラーリングするＳＣＳＩコマンドを有するＦＣのフレームをバッファリングするだけの小さいメモリ領域を有する。受け取られたコマンドを処理するのに、インテリジェントスイッチは、そのコマンドをコントローラプロセッサ上で処理する。コントローラプロセッサは、ＪＮＬマネージャ３４を処理する十分なメモリを有する。コントローラプロセスは、内部スイッチの中に配置されても、ファイバチャネルによって接続されたＰＣのように外部に配置されてもよい。外部制御のための基準ハードウェア構成として、カリフォルニア州サンノゼ所在のシスコシステムズの、Ｃｉｓｃｏ９０００シリーズＳＡＮＴａｐサービス向けに設計されたＳＡＮＴａｐ−ｂａｓｅｄ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  ｆｏｒ  Ｋａｓｈｙａ  Ｄａｔａ  Ｒｅｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅと呼ばれるハードウェア構成を使用することができる。そのアーキテクチャは、以下のＵＲＬでダウンロードすることができるＷｈｉｔｅ  Ｐａｐｅｒの図１に示される。（ｈｔｔｐ：／／ｗｗｗ．ｃｉｓｃｏ．ｃｏｍ／ｅｎ／ＵＳ／ｎｅｔｓｏｌ／ｎｓ５１５／ｎｅｔｗｏｒｋｉｎｇ＿ｓｏｌｕｔｉｏｎｓ＿ｗｈｉｔｅ＿ｐａｐｅｒ０９００ａｅｃｄ８０２ｄ３ｆ６７．ｓｈｔｍｌ）。ＪＮＬマネージャ、ミラーマネージャ、およびその他のようなソフトウェア機能である、その他の機能プロセスは、第４の実施形態のプロセスと同一である。
【００６７】
６．第６の実施形態
この実施形態は、ホスト１０においてソフトウェアベースのＣＤＰを使用する。そのケースでは、論理デバイス名を、ホストは利用できない。代わりに、以下に説明するとおり、デバイス名、デバイス識別子、ホストバスアダプタ、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ、および論理ユニットを示すテーブルが、使用される。我々は、第１の実施形態、第２の実施形態、および第３の実施形態との違いを説明する。
【００６８】
図２４は、論理構成を示す。最初の違いは、ＬＤＥＶの識別である。というのは、ＬＤＥＶ名を、ホストは利用できないからである。第１の実施形態ないし第３の実施形態は、ストレージサブシステム内でＬＤＥＶ番号を使用する。というのは、ＣＤＰオペレーションは、ストレージサブシステムから行われるからである。この実施形態は、ホスト内のマッピングテーブルを強化する。というのは、この実施形態では、ＣＤＰオペレーションは、ホストから行われるからである。図２５は、ＯＳによって作成された、ホスト内のデバイステーブルを示す。マッピングテーブルは、ＯＳ内のデバイス名７０１、およびデバイス名７０１上の「ｃ」パラメータの上の番号である、デバイス接続ＨＢＡの番号、ストレージサブシステムからのＨＢＡのＷＷＮ７０４、およびデバイス名７０１上の「ｄ」パラメータ上の番号である、ストレージサブシステムからのＬＵＮ７０５を含む。ＯＳは、ＳＡＮのターゲットポートおよびＬＵＮに関する発見オペレーションに関するテーブルを作成する。また、デバイス識別子７０２も存在する。一般に、ホストＯＳは、主に、デバイス名をデバイス識別子として使用する。この実施形態は、その識別子を使用して、第１の実施形態ないし第３の実施形態におけるストレージサブシステムのＬＤＥＶと同一の状況をエミュレートする。したがって、ＬＤＥＶ番号の代わりに、このデバイス識別子番号は、ＯＳ内のボリューム識別子を使用する。
【００６９】
ホスト１０は、ＪＮＬマネージャ群３４、およびミラーマネージャ群３３も実行する。ＪＮＬマネージャ群は、単一のマネージャになることが可能である。また、ミラーマネージャも、単一のマネージャになることが可能である。この実施形態では、我々は、第１の実施形態ないし第３の実施形態と合致するように別々の複数のモジュールを示す。また、ＣＤＰ  ｃｏｎｆｉｇ１００、ビットマップテーブル２７０、ペアテーブル１１のようなＪＮＬマネージャおよびミラーマネージャの関連テーブルも、ホスト１０に移動される。ＪＮＬマネージャまたはミラーマネージャをホスト側に移動させることにより、ストレージサブシステム間の接続４２は、不必要である。接続４１の代わりに、この実施形態は、モジュール間のプロセスの通信を使用する。
【００７０】
ストレージサブシステム２０、４０は、ＬＤＥＶおよびＲＡＩＤから成る通常のＬＵを提供する。ホストは、コンソール７２の代わりに、ジャーナルマネージャおよびミラーマネージャに関するＧＵＩオペレーションを提供する。この実施形態は、ジャーナルマネージャおよびミラーマネージャに関するＧＵＩオペレーションをコンソール４１からホストのＧＵＩに移動する。
【００７１】
次の説明は、手続きの違いに関する。前の諸実施形態とは異なり、この実施形態は、ＬＤＥＶの代わりにデバイス識別子を使用する。第１の実施形態ないし第３の実施形態では、ＬＤＥＶは、ストレージサブシステム内で一意である。この実施形態に第１の実施形態ないし第３の実施形態を採用するのに、我々は、ストレージサブシステムに関する識別子を組み合わせる必要がある。この実施形態では、デバイス識別子は、ＯＳ内の一意識別子である。本発明の第１の実施形態ないし第３の実施形態では、我々は、ＬＤＥＶ番号を、複数のストレージサブシステムの範囲内で一意に考えた。この実施形態では、ＬＤＥＶ番号の代わりに、我々は、すべての手続きにおいてシステム識別子を使用することができる。また、ストレージサブシステムに関するシリアル番号は、デバイス名７０１における「ｔ」パラメータ上のターゲット番号になる。デバイス名は、ストレージ識別子を管理する。この実施形態は、シリアル番号の概念、および図１３のパス接続手続き１７０を必要としない。ミラーマネージャおよびＪＮＬマネージャの下で、Ｐ−ＶＯＬに関するポートおよびＬＵの概念が、使用される。この実施形態では、我々は、この識別子を使用しない。その代わりに、我々は、デバイス識別子７０２も使用する。第１の実施形態ないし第３の実施形態における、その他の手続きは、以上の点を考慮して、本発明で適用できる可能性がある。
【００７２】
図２４に示されるとおり、マイグレーションは、ホストによって制御され、データ転送は、破線の矢印で示されるとおり、ホストを介して行われる。しかし、破線で示されるとおり、オプションとして、ソースストレージサブシステムとターゲットストレージサブシステムは、ＳＡＮ４２を介して接続されてもよく、そのケースでは、ホストが、依然として、マイグレーションを制御するが、ボリュームデータ転送は、ＳＡＮ４２を介して行われる。
【００７３】
最後に、本明細書で説明するプロセスおよび技術は、いずれの特定の装置にも本来的に関連しておらず、構成要素の任意の適切な組み合わせによって実施されることが可能であることを理解されたい。さらに、様々なタイプの汎用デバイスが、本明細書で説明する教示に従って使用されることが可能である。また、本明細書で説明する方法ステップを実行する専用の装置を構築することが有利であると判明する可能性もある。本発明は、すべての点で、限定的ではなく、例示的であることが意図される、特定の実施例に関連して説明してきた。ハードウェア、ソフトウェア、およびファームウェアの多くの異なる組み合わせが、本発明を実施するのに適していることが、当業者には理解されよう。例えば、説明したソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）などの、多種多様なプログラミング言語またはスクリプト言語で実施されることが可能である。
【００７４】
さらに、本発明の他のインプリメンテーションが、本明細書で開示される本発明の明細および実施を考慮することで、当業者には明白となろう。説明される諸実施形態の様々な態様および／または構成要素は、データレプリケーション機能を有するコンピュータ化されたストレージシステム内で、単独で使用されても、任意の組み合わせで使用されてもよい。明細および実施例は、単に例示的であり、本発明の真の範囲および趣旨は、添付の特許請求の範囲によって示されるものとする。
【図面の簡単な説明】
【００７５】
【図１】本発明の諸実施形態によるマイグレーションに適したＣＤＰシステムの物理構成の高レベルの一般化されたブロック図を提供する。
【図２】本発明の諸実施形態によるマイグレーションに適したＣＤＰシステムのためのソフトウェア構成要素、およびそれらの構成要素の相互接続に関する論理図を示す図である。
【図３】ＬＤＥＶ構成テーブルの中のパリティグループをリストアップする例を示す。
【図４】ＬＵとＬＤＥＶの間のマッピングテーブルを示す。
【図５】ターゲットＰ−ＶＯＬとＡｆｔｅｒ−ＪＮＬ関連ボリュームの間のマッピングを示す。
【図６】ＬＤＥＶ全体プールテーブルの例を示す。
【図７】Ａｆｔｅｒ−ＪＮＬ機構の概念図を示す。
【図８】ＪＮＬマネージャにおけるターゲットＬＤＥＶに関する書き込みコマンドの手続きを示す。
【図９】各Ｐ−ＶＯＬに関するビットマップの例を示す。
【図１０】（Ａ）はＪＮＬデータをベースラインに更新するための例示的な手続きを示し、（Ｂ）は或る時点までデータを復元するための例示的な手続きを示す。
【図１１】ソースストレージサブシステムとターゲットストレージサブシステムに関するペアリングテーブルを示す。
【図１２】（Ａ）は本発明の或る実施形態によるＣＤＰボリュームマイグレーションのための構成の概略図を示し、（Ｂ）は本発明の或る実施形態による構成の概略図を示す。
【図１３】本発明の或る実施形態による構成オペレーションの動作を示す。
【図１４】自動割り当て方法の例示的な流れ図を提供する。
【図１５】ＪＮＬ−ＶＯＬとＢ−ＶＯＬに関する同期オペレーションおよび分割オペレーションに関する実施形態を示す。
【図１６】同期オペレーション手続きに関する例の流れ図を示す。
【図１７】通常のステータスの代わりに書き込みオペレーションに変わるＪＮＬマネージャに関する例示的な流れ図を示す。
【図１８】分割オペレーションに関する例示的な流れ図を示す。
【図１９】背景ミラーリングオペレーションに関する例示的な流れ図を示す。
【図２０】本発明の第３の実施形態によるシステムの概略図を示す。
【図２１】コンソールにおける監視手続きに関する例示的なプロセスを示す。
【図２２】第４の実施形態の論理構成を示す。
【図２３】ストレージ仮想化のための外部ストレージマッピングテーブルを示す。
【図２４】本発明の第６の実施形態に関する論理構成を示す。
【図２５】ＯＳによって作成された、ホスト内のデバイステーブルを示す。
【図１】
2008097578.tif 000003
【図２】
2008097578.tif 000004
【図３】
2008097578.tif 000005
【図４】
2008097578.tif 000006
【図５】
2008097578.tif 000007
【図６】
2008097578.tif 000008
【図７】
2008097578.tif 000009
【図８】
2008097578.tif 000010
【図９】
2008097578.tif 000011
【図１０】
2008097578.tif 000012
【図１１】
2008097578.tif 000013
【図１２】
2008097578.tif 000014
【図１３】
2008097578.tif 000015
【図１４】
2008097578.tif 000016
【図１５】
2008097578.tif 000017
【図１６】
2008097578.tif 000018
【図１７】
2008097578.tif 000019
【図１８】
2008097578.tif 000020
【図１９】
2008097578.tif 000021
【図２０】
2008097578.tif 000022
【図２１】
2008097578.tif 000023
【図２２】
2008097578.tif 000024
【図２３】
2008097578.tif 000025
【図２４】
2008097578.tif 000026
【図２５】
2008097578.tif 000027
【外国語明細書】
2008097578000001.pdf