(57)【要約】      （修正有）【課題】データライフサイクルに応じてデータを移動する方法とシステムを提案する。【解決手段】主ストレージシステムのソース物理ボリュームから外部ストレージシステムのターゲット物理ボリュームにデータが移行される。ソース物理ボリュームのデータがターゲット物理ボリュームにコピーされる。主ストレージシステムがターゲット物理ボリュームのデータへのアクセス要求をサーバーから受信すると、サーバーはターゲット物理ボリュームのオーナーとして加えられ、ターゲット物理ボリュームの位置情報の送付を受け、主ストレージシステムを経由することなく直接にターゲット物理ボリュームにアクセスすることが許される。移行されるボリュームは、一定の期間アクセスされていないか、あるいはユーザまたはアプリケーションにより移行することが指定されたかを基に決定される。エクステント、オブジェクトおよびファイルもまた移行することができる。【選択図】図１
2006072981.tif 000002
【特許請求の範囲】
【請求項１】
主ストレージシステムのソース物理ボリュームのデータを示す仮想ボリュームを、移行するために特定するステップと、
前記仮想ボリュームの前記データを移行する外部ストレージシステムのフリーのターゲット物理ボリュームを発見するステップと、
前記ソース物理ボリュームから前記ターゲット物理ボリュームへ前記データをコピーするステップと、
前記仮想ボリュームを前記ターゲット物理ボリュームにマッピングするステップと、
前記主ストレージシステムで、前記仮想ボリュームの前記データにアクセスする要求をサーバーから受信するステップと、
前記サーバーを前記ターゲット物理ボリュームのオーナーとして追加するステップと、
前記ターゲット物理ボリュームの位置情報を前記サーバーに送信するステップと、
前記主ストレージシステムを経由することなく前記サーバーから前記ターゲット物理ボリュームに直接にアクセスするステップ、
から成ることを特徴とする外部ストレージシステムへデータを移行する方法。
【請求項２】
前記方法は更に、前記サーバーが前記ターゲット物理ボリュームに直接アクセス可能とするため、該ターゲット物理ボリュームにセキュリティを設定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記特定するステップは、一定の期間アクセスされていない仮想ボリューム、およびユーザあるいはアプリケーションが移行するよう指定する仮想ボリュームの少なくとも一方を特定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記方法は更に、ターゲット物理ボリュームを発見するのにフリーボリュームリストを使用するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記方法は更に、前記コピーするステップの間に発生した前記仮想ボリュームに対するすべての新規の書き込みＩ／Ｏ動作にかかわるデータを、該仮想ボリュームと前記ターゲット物理ボリュームの両方に書き込むステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記方法は更に、前記発見されたターゲット物理ボリュームが使用中とリストされるように、フリーボリュームリストを変更するステップを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記方法は更に、前記ソース物理ボリュームを前記コピーするステップの後に解放し、該ソース物理ボリュームは使用されていないことがリストされるように前記フリーボリュームリストを変更するステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記方法は更に、前記主ストレージシステムのみが前記ターゲット物理ボリュームにアクセス可能となるよう、該ターゲット物理ボリュームにセキュリティを設定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ターゲット物理ボリューム内の前記移行されたデータは、前記外部ストレージシステムのＷＯＲＭ機能およびＬＤＥＶガード機能の一方により保護されていることを特徴とする請求項１に記載の方法。
【請求項１０】
前記方法は更に、前記主ストレージシステムのみが前記ターゲット物理ボリュームにアクセス可能となるよう、該ターゲット物理ボリュームにＬＵセキュリティを設定するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１１】
前記方法は更に、前記コピーするステップの後に前記ソース物理ボリュームを前記セキュリティから解放するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１２】
前記方法は更に、ビットマップテーブルを使用して、前記ターゲット物理ボリュームにコピーされた前記仮想ボリュームのディスクブロックを追跡記録するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記方法は更に、仮想―物理ボリュームマッピングテーブルを前記コピーするステップの後に変更し、前記ターゲット物理ボリュームを新しい物理ボリュームとして前記仮想ボリュームにマッピングするステップを含むことを特徴とする請求項１に記載の方法。
【請求項１４】
前記可能化するステップは、仮想ボリューム管理テーブルを変更して前記主ストレージシステムのキャッシュメモリに前記仮想ボリュームのデータをキャッシュ可能とするステップを含むことを特徴とする請求項１に記載の方法。
【請求項１５】
前記方法は更に、前記マッピングするステップの後に、前記主ストレージシステムが前記仮想ボリュームのオーナーとなるよう、仮想ボリューム管理テーブルを変更するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１６】
前記方法は更に、
移行するエクステントを前記仮想ボリューム内に特定するステップと、
前記外部ストレージシステムの物理ボリューム中に、前記仮想ボリュームの前記エクステントからデータを移行するフリーのターゲットエクステントを発見するステップと、
前記エクステントから前記ターゲットエクステントにデータをコピーするステップと、
前記ターゲットエクステントを前記仮想ボリュームの新しいエクステントとしてマッピングするステップと、
前記主ストレージシステムで、前記仮想ボリュームの前記エクステントへのアクセス要求をサーバーから受信するステップと、
前記ターゲットエクステントのオーナーとして前記サーバーを追加するステップと、
前記ターゲットエクステントの位置情報を前記サーバーに送信するステップと、
前記主ストレージシステムを経由することなく前記サーバーから前記ターゲットエクステントに直接アクセスするステップ、
から成ることを特徴とする請求項１に記載の方法。
【請求項１７】
前記方法は更に、前記サーバーが直接前記ターゲットエクステントにアクセスできるように、該ターゲットエクステントにセキュリティを設定するステップを含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記ターゲットエクステント中の前記移行されたデータが、前記外部ストレージシステムのＷＯＲＭ機能およびＬＤＥＶガード機能の一方により保護されていることを特徴とする請求項１６に記載の方法。
【請求項１９】
外部ストレージシステムのソース物理ボリュームを示す仮想ボリュームを、移行するために特定するステップと、
前記仮想ボリュームからデータを移行する主ストレージシステムのフリーのターゲット物理ボリュームを発見するステップと、
前記仮想ボリュームのオーナーのいずれもが前記ソース物理ボリュームに直接アクセスしないよう指示するステップと、
前記ソース物理ボリュームから前記ターゲット物理ボリュームに前記データをコピーするステップと、
前記仮想ボリュームを前記ターゲット物理ボリュームにマッピングするステップと、
前記主ストレージシステムを前記仮想ボリュームのオーナーとして設定するステップ、
から成ることを特徴とする外部ストレージシステムからデータを移行する方法。
【請求項２０】
前記方法は更に、
移行する前記仮想ボリューム内のエクステントを特定するステップと、
前記エクステントのデータを移行する前記主ストレージシステムの物理ボリューム中にフリーのターゲットエクステントを発見するステップと、
前記エクステントから前記ターゲットエクステントにデータをコピーするステップと、
前記ターゲットエクステントを前記仮想ボリュームの新しいエクステントとしてマッピングするステップ、
から成ることを特徴とする請求項１９に記載の方法。
【請求項２１】
前記特定するステップは、一定の回数アクセスされた仮想ボリューム、およびユーザあるいはアプリケーションが移行するよう指定する仮想ボリュームの少なくとも一方を特定するステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２２】
前記方法は更に、ターゲット物理ボリュームを発見するのにフリーボリュームリストを使用するステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２３】
前記方法は更に、前記コピーするステップの間に発生した前記仮想ボリュームに対する新規の書き込みＩ／Ｏ動作にかかわるデータを、該仮想ボリュームと前記ターゲット物理ボリュームの両方に書き込むステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２４】
前記方法は更に、前記発見されたターゲット物理ボリュームが使用中とリストされるように、フリーボリュームリストを変更するステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２５】
前記方法は更に、前記ソース物理ボリュームを前記コピーするステップの後に解放し、該ソース物理ボリュームは使用されていないことがリストされるように前記フリーボリュームリストを変更するステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２６】
前記方法は更に、前記主ストレージシステムのみが前記ターゲット物理ボリュームにアクセス可能となるよう、該ターゲット物理ボリュームにセキュリティを設定するステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２７】
前記方法は更に、前記主ストレージシステムのみが前記ターゲット物理ボリュームにアクセス可能となるよう、該ターゲット物理ボリュームにＬＵセキュリティを設定するステップを含むことを特徴とする請求項２６に記載の方法。
【請求項２８】
前記方法は更に、前記コピーするステップの後に前記ソース物理ボリュームを前記セキュリティから解放するステップを含むことを特徴とする請求項２６に記載の方法。
【請求項２９】
前記方法は更に、ビットマップテーブルを使用して、前記ターゲット物理ボリュームにコピーされた前記仮想ボリュームのディスクブロックを追跡記録するステップを含むことを特徴とする請求項１９に記載の方法。
【請求項３０】
前記方法は更に、仮想―物理ボリュームマッピングテーブルを前記コピーするステップの後に変更し、前記ターゲット物理ボリュームを新しい物理ボリュームとして前記仮想ボリュームにマッピングするステップを含むことを特徴とする請求項１９に記載の方法。
【請求項３１】
前記可能化するステップは、仮想ボリューム管理テーブルを変更して前記主ストレージシステムのキャッシュメモリに前記仮想ボリュームのデータをキャッシュ可能とするステップを含むことを特徴とする請求項１９に記載の方法。
【請求項３２】
前記方法は更に、前記マッピングするステップの後に、前記主ストレージシステムのみが前記仮想ボリュームのオーナーとなるよう、仮想ボリューム管理テーブルを変更するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３３】
主ファイルサーバーにあるファイルを移行するために特定するステップと、
前記ファイルのデータを移行する外部ファイルサーバーのフリーのターゲットファイルを発見するステップと、
前記ファイルから前記ターゲットファイルに前記データをコピーするステップと、
前記ファイルに関連する仮想ファイルを前記ターゲットファイルにマッピングするステップと、
前記主ファイルサーバーで、前記ファイルの前記データにアクセスする要求を第二のサーバーから受信するステップと、
前記第二のサーバーを前記ターゲットファイルのオーナーとして追加するステップと、
前記ターゲットファイルの位置情報を前記第二のサーバーに送信するステップと、
前記主ファイルサーバーを経由することなく前記第二のサーバーから前記ターゲットファイルに直接アクセスするステップ、
から成ることを特徴とする外部ファイルサーバーへデータを移行する方法。
【請求項３４】
前記ターゲットファイル内の前記移行されたデータは、前記外部ファイルサーバーのＷＯＲＭ機能およびＬＤＥＶガード機能の一方により保護されていることを特徴とする請求項３３に記載の方法。
【請求項３５】
外部ファイルサーバーにあるファイルを移行するために特定するステップと、
前記ファイルのデータを移行する主ファイルサーバーのフリーのターゲットファイルを発見するステップと、
前記ファイルのオーナーのいずれもが前記ファイルに直接アクセスしないよう指示するステップと、
前記ファイルから前記ターゲットファイルに前記データをコピーするステップと、
前記ファイルに関連する仮想ファイルを前記ターゲットファイルにマッピングするステップと、
前記仮想ファイルを前記主ファイルサーバーでキャッシュ可能とするステップと、
前記主ファイルサーバーを前記仮想ファイルのオーナーに設定するステップ、
から成ることを特徴とする外部ファイルサーバーからデータを移行する方法。
【請求項３６】
一定の期間アクセスされていないか、ユーザから移行を要求された、主ストレージシステムのソース物理ボリュームを示す仮想ボリュームを特定するステップと、
前記仮想ボリュームのデータを移行する外部ストレージシステムのフリーのターゲット物理ボリュームを発見するステップと、
前記主ストレージシステムのみが前記ターゲット物理ボリュームにアクセス可能となるように、該ターゲット物理ボリュームにＬＵセキュリティを設定するステップと、
前記ソース物理ボリュームから前記ターゲット物理ボリュームに前記データをコピーするステップと、
前記コピーするステップの間に発生した前記仮想ボリュームに対するすべての新規の書き込みＩ／Ｏ動作にかかわるデータを該仮想ボリュームと前記ターゲット物理ボリュームの両方に書き込むステップと、
前記仮想ボリュームが前記ターゲット物理ボリュームにマッピングされるように、仮想―物理マッピングを変更するステップと、
前記ソース物理ボリュームを解放するステップと、
前記仮想ボリュームを前記主ストレージシステムでキャッシュ可能とするステップと、
前記主ストレージシステムを前記仮想ボリュームのオーナーに設定するステップ、から成ることを特徴とする外部ストレージシステムへデータを移行する方法。
【請求項３７】
前記方法は更に、前記変更するステップの後に前記ターゲット物理ボリュームに設定された前記ＬＵセキュリティを解消するステップを含むことを特徴とする請求項３６に記載の方法。
【請求項３８】
一定の期間アクセスされていないか、ユーザから移行を要求された、外部ストレージシステムのソース物理ボリュームを示す仮想ボリュームを特定するステップと、
前記仮想ボリュームに対して主ストレージシステム以外にオーナーがいないかを判断するステップと、
他にオーナーがいた場合、該他のオーナーに前記ソース物理ボリュームに直接アクセスしないよう要求するステップと、
前記仮想ボリュームのデータを移行する主ストレージシステムのフリーのターゲット物理ボリュームを発見するステップと、
前記主ストレージシステムのみが前記ソース物理ボリュームにアクセス可能となるように、該ソース物理ボリュームにＬＵセキュリティを設定するステップと、
前記ソース物理ボリュームから前記ターゲット物理ボリュームに前記データをコピーするステップと、
前記コピーするステップの間に発生した前記仮想ボリュームに対するすべての新規の書き込みＩ／Ｏ動作にかかわるデータを該仮想ボリュームと前記ターゲット物理ボリュームの両方に書き込むステップと、
前記ターゲット物理ボリュームが前記仮想ボリュームの新しい物理ボリュームにマッピングされるように、仮想―物理マッピングを変更するステップと、
前記ソース物理ボリュームに設定されている前記ＬＵセキュリティを解消するステップと、
前記外部ストレージシステムの前記ソース物理ボリュームを解放するステップと、
前記仮想ボリュームを前記主ストレージシステムでキャッシュ可能とするステップと、
前記主ストレージシステムを前記仮想ボリュームのオーナーに設定するステップ、
から成ることを特徴とする外部ストレージシステムからデータを移行する方法。
【請求項３９】
ストレージシステムにデータ保存とアクセスを要求するＩ／Ｏ要求を生成するアプリケーションと、第一の仮想ボリュームを該アプリケーションに提供し、該Ｉ／Ｏ要求をサーバーから受信し該Ｉ／Ｏ要求を該ストレージシステムへ転送し、どの第一の仮想ボリュームが該ストレージシステムに存在するどの物理ボリュームにマッピングされているかを把握しているリダイレクタ、を有する少なくとも１台のサーバーと、
前記ストレージシステムの１つであり、第一のディスクコントローラ、キャッシュメモリ、少なくとも１つの前記物理ボリューム、および少なくとも１つの第二の仮想ボリュームを有し、該第二の仮想ボリュームと関連する該物理ボリュームとの間のマッピングを管理する主ストレージシステムと、
前記ストレージシステムの１つであり、第二のディスクコントローラ、第二のキャッシュメモリと少なくとも１つの前記物理ボリュームを有する外部ストレージシステムと、
前記少なくとも１台のサーバーと前記主ストレージシステムと前記外部ストレージシステムを動作可能に結合する少なくとも１台のスイッチと、
を備え、
前記第一のディスクコントローラは前記主ストレージシステムの前記少なくとも１つの物理ボリュームと前記外部ストレージシステムの前記少なくとも１つの物理ボリュームの間で前記少なくとも１つの第二の仮想ボリュームのデータへのアクセス量に応じてデータを移行するデータ移行プロセスを実行し、
前記主ストレージシステムが前記外部ストレージシステムの前記少なくとも１つの物理ボリュームの前記データへのアクセス要求をサーバーから受信すると、該サーバーは該外部ストレージシステムの該少なくとも１つの物理ボリュームのオーナーとして追加され、該外部ストレージシステムの該少なくとも１つの物理ボリュームの位置情報の送信を受け、該外部ストレージシステムの該少なくとも１つの物理ボリュームに該主ストレージシステムを経由することなく直接アクセスすることが許されることを特徴とするデータライフサイクル管理のためのシステム。
【請求項４０】
前記主ストレージシステムは更に、仮想ボリュームと物理ボリュームの間のマッピングを示す仮想―物理ボリュームマッピングテーブルを備えることを特徴とする請求項３９に記載のシステム。
【請求項４１】
前記主ストレージシステムは更に、各仮想ボリュームに関し該仮想ボリュームのデータが主ファイルサーバーと仮想ボリュームのオーナーにてキャッシュ可能であるかの情報を提供する仮想ボリューム管理テーブルを備えることを特徴とする請求項３９に記載のシステム。
【請求項４２】
前記主ストレージシステムは更に、どの物理ボリュームが使用中あるいは使用されていないか、および各物理ボリュームの容量を示すフリーボリュームリストを備えることを特徴とする請求項３９に記載のシステム。
【請求項４３】
前記第一の仮想ボリュームと前記少なくとも１つの第二の仮想ボリュームが、一式のエクステントとして構成され、前記物理ボリュームは複数のエクステントに分割され、前記Ｉ／Ｏ要求は１つのエクステントに向けられ、前記データ移行プロセスは、前記主ストレージシステムの前記少なくとも１つの物理ボリュームと前記外部ストレージシステムの前記少なくとも１つの物理ボリュームとの間で、前記少なくとも１つの第二の仮想ボリュームの前記エクステントデータへのアクセス量に基づいて、エクステントのデータを移行することを特徴とする請求項３９に記載のシステム。
【請求項４４】
前記主ストレージシステムが、仮想ボリュームの構成を示す仮想―物理エクステントマッピングテーブルを含んでいることを特徴とする請求項４３に記載のシステム。
【請求項４５】
前記主ストレージシステムが、物理ボリュームのどのエクステントが使用中あるいは使用されていないか、及び各エクステントのサイズを示すフリーエクステントリストを含んでいることを特徴とする請求項４３に記載のシステム。
【請求項４６】
ストレージシステムとネットワークファイルシステム（ＮＦＳ）クライアントにファイル保存とアクセスを要求するファイルＩ／Ｏ要求を生成するアプリケーションと、仮想ファイルシステムを該アプリケーションに提供し、ファイル名マッピングに基づいて該Ｉ／Ｏ要求を妥当なファイルサーバーにリダイレクトするリダイレクタ、を有する少なくとも１台のサーバーと、
前記ファイルサーバーの１つであり、第一のＮＦＳサーバー、キャッシュメモリ、物理ファイルへのリンクである仮想ファイルと物理ファイルを含む少なくとも１つの物理ボリュームを有する主ファイルサーバーと、
前記ファイルサーバーの１つであり、第二のＮＦＳサーバー、キャッシュメモリ、物理ファイルを含む少なくとも１つの物理ボリュームとを有する外部ファイルサーバーと、
前記少なくとも１台のサーバーと前記主ファイルサーバーと前記外部ファイルサーバーとを動作可能に接続する少なくとも１台のスイッチと、
を備え、
前記第一のＮＦＳサーバーは、前記主ファイルサーバーの前記少なくとも１つの物理ボリュームと前記外部ファイバサーバーの前記少なくとも１つの物理ボリュームとの間で、ファイルへのアクセス量に基づいてファイルを移行するデータ移行プロセスを実行し、
前記主ファイルサーバーが、前記外部ファイルサーバーの前記少なくとも１つの物理ボリュームのファイルのデータへのアクセス要求を第二のファイルサーバーから受信すると、該第二のファイルサーバーは前記外部ストレージシステムの該少なくとも１つの物理ボリュームの該ファイルのオーナーとして加えられ、該外部ストレージシステムの該少なくとも１つの物理ボリュームの該ファイルの位置情報の送信を受け、該外部ストレージシステムの該少なくとも１つの物理ボリュームの該ファイルに対し、該主ファイルサーバーを経由することなく直接アクセスすることが許されることを特徴とする、データライフサイクル管理のためのネットワークファイルシステム（ＮＦＳ）。
【請求項４７】
前記主ファイルサーバーは更に、仮想ファイルと物理ファイルの間のリンクを示す仮想―物理ファイルマッピングテーブルを備えることを特徴とする請求項４６に記載のシステム。
【請求項４８】
前記主ファイルサーバーは更に、仮想ファイルのデータが該主ファイルサーバーおよび仮想ファイルのオーナーでキャッシュ可能であるかの情報を提供する仮想ファイル管理テーブルを備えることを特徴とする請求項４６に記載のシステム。
【請求項４９】
前記主ファイルサーバーは更に、各ファイルサーバーが有するフリー容量の大きさを示す使用可能容量テーブルを備えることを特徴とする請求項４６に記載のシステム。
【請求項５０】
主ストレージシステムから移行されたデータへの直接アクセスを制御するスクリプトをサーバーにインストールするステップと、
ユーザあるいはアプリケーションにより前記スクリプトを実行するステップと、
から成り、
前記実行するステップは、
前記主ストレージシステムから前記移行されたデータに関する情報を、仮想ボリュームのＩＤを特定することを含めて、要求するステップと、
前記移行されたデータを有するターゲット物理ボリュームと該ターゲット物理ボリュームが位置するターゲットストレージシステムのＩＤ情報を前記主ストレージシステムから受信するステップと、
前記移行されたデータに関する前記ＩＤ情報を前記ユーザまたはアプリケーションに通知するステップと、
前記ＩＤ情報を使用して前記ターゲット物理ボリュームの前記移行されたデータに、前記サーバーから前記主ストレージシステムを経由することなく直接アクセスするステップと、
から成ることを特徴とする、移行されたデータに直接アクセスする方法。
【請求項５１】
前記ターゲット物理ボリューム内の前記移行されたデータが、前記ターゲットストレージシステムのＷＯＲＭ機能とＬＤＥＶガード機能の一方により保護されていることを特徴とする請求項５０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージシステムに関連し、より詳細にはストレージシステムのデータライフサイクル管理に関する。
【背景技術】
【０００２】
ストレージエリアネットワーク（ＳＡＮ）は大量のデータを保存し読み出すためのソリューションを提供している。典型的なＳＡＮネットワークアーキテクチャは、インタフェースを介して1台以上のネットワーク装置あるいはスイッチと相互接続する1台以上のホスト装置で構成されている。そしてネットワーク装置あるいはスイッチは第二のネットワークあるいはインタフェースを介して1台以上のデータストレージ装置と相互接続している。多くのＳＡＮアーキテクチャではファイバチャネル（ＦＣ）がインタフェースあるいはネットワークとして使用されている。しかしながら、イーサネット、インフィニバンド、インタネット、および他のネットワーク／インタフェースもＳＡＮアーキテクチャにて使用することができる。
【０００３】
現在のストレージネットワークシステムでは、アプリケーションのデータはストレージネットワークを介して中央ストレージシステムに集約され集中的に管理されている。例えば、日立データシステムズ社はハイエンドのストレージシステムとしてＬｉｇｈｔｎｉｎｇ  ９９００Ｖシリーズを提供している。アプリケーションのデータはストレージシステムに保存される。Ｂｒｏｃａｄｅ社はストレージネットワークを生成するためのＳｉｌｋｗｏｒｍ  Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  （ＦＣ）  ｓｗｉｔｃｈ  を提供している。サーバー上で実行されているアプリケーションがデータをネットワークを介してストレージシステムに保存できるように、サーバーとストレージシステムはＦＣスイッチを介して接続されている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
データにはライフサイクルがある。例えば、アプリケーションがデータを生成するとき、アプリケーションはデータを頻繁に使用する。時間が経つとデータはそれほどアクセスされなくなり、最後には廃棄される。データにはまた価値がある。アプリケーション、データの種類、ビジネス上の必要性などによりデータの価値は変わる。
【０００５】
データはそのライフサイクルに応じて、妥当なストレージシステムに保存されるべきである。データがビジネス上重要なものであれば、もっとも安全なストレージシステムに保存されいつでも使用できねばならない。それほど重要でないならば、高価なストレージシステムに過大な保護のもとに保存しても意味がない。
【０００６】
データはそのライフサイクルに応じて移動するのが良い。データを妥当なストレージシステムに保存するため、データをその価値が変わったときあるストレージシステムから他のストレージシステムへ移動することができる。このようなデータの移動はデータ移行あるいはデータアーカイブ保存と呼ばれる。しかしながら、データを使用しているアプリケーションを中断することなくデータの移動が実行できなければならない。
【０００７】
仮想テープシステムは、高速アクセス用のディスクドライブと使用されていないデータの保存用の複数のテープライブラリを有している。１つの例がＩＢＭ社の仮想テープサーバー（ＶＴＳ）Ｖｉｒｔｕａｌ  Ｔａｐｅ  Ｓｅｒｖｅｒである。仮想テープシステムではサーバーが自分でデータを読み書きできる。仮想テープシステムは、サーバーから本物のテープライブラリのように見えるようにするためテープライブラリインタフェースを提供している。仮想テープシステムでは、特定の期間内のアクセス回数に応じてデータがディスクドライブとテープライブラリの間を移動される。サーバー側で中断がないように、このデータ移動はサーバーからは見えなくなっている。データが頻繁に使用されない場合、データはディスクドライブからテープに移される。データはアクセスされるとテープからディスクドライブへ移される。ディスクドライブとテープ間に階層が形成されている。仮想テープシステムのコントローラがデータ移動を管理している。しかしながら、このような階層ストレージ管理（ＨＳＭ）は拡張性がないので、この方法には問題がある。さらに、データへのすべてのアクセスが仮想テープシステムのコントローラを通る必要があるので、コントローラが性能上の隘路となり、したがって大規模なシステムにとっては問題となる。
【０００８】
他の方法はＨＳＭソフトウェアをサーバーに搭載することである。ＨＳＭソフトウェアの一例がＳＡＭ−ＦＳである。ＨＳＭソフトウェアはサーバーに接続しているディスクストレージシステムとテープライブラリを管理している。ＨＳＭソフトウェアはディスクストレージシステムとテープライブラリの間でデータを移動させる。データ移動のタイミングとしてＨＳＭソフトウェアは特定の期間内のデータアクセス回数を使用する。ＨＳＭが管理しているデータにアクセスしようとするサーバーは全てＨＳＭソフトウェアを有している必要がある。しかしながら、ＨＳＭソフトウェアを持たないサーバーはデータにアクセスできないので、この方法は問題がある。
【課題を解決するための手段】
【０００９】
本発明はデータライフサイクル管理のシステムと方法に関する。１実施例では、データは外部ストレージシステムに移行される。主ストレージシステム内のソース物理ボリュームを示す仮想ボリュームが、移行のために特定される。外部ストレージシステムにおけるフリーのターゲット物理ボリュームが、仮想ボリュームからデータ移行のために検索される。ソース物理ボリュームからデータがターゲット物理ボリュームにコピーされる。仮想ボリュームはターゲット物理ボリュームにマッピングされる。ターゲット物理ボリュームのデータにアクセスする要求を主ストレージシステムがサーバーから受信すると、サーバーはターゲット物理ボリュームのオーナーに加えられ、ターゲット物理ボリュームの位置情報が送られ、主ストレージシステムを経由することなく直接にターゲット物理ボリュームにアクセスすることが許される。移行される仮想ボリュームは特定の期間アクセスされていないか、ユーザまたはアプリケーションによって移行すると指定されたかを基に決定される。本発明の実施例はファイバチャネル（ＦＣ）ストレージシステム、ネットワークファイルサーバー（ＮＡＳ）あるいはファイルサーバー一般、およびオブジェクトベースのストレージ装置（ＯＳＤ）系のストレージシステムに適用可能である。従って、本発明の実施例により、ボリューム、エクステント、オブジェクトおよびファイルが主ストレージ装置またはファイルサーバーと外部ストレージ装置またはファイルサーバーの間で移行される。
【発明を実施するための最良の形態】
【００１０】
本発明は、本発明の実施例に限定することなく、以下に言及される複数の図面に関して詳細な記述で更に説明される。ここで同じ参照番号はいくつかの図面を通して同様な部分を示す。
【００１１】
ここに示す詳細説明は例とするものであり、本発明の実施例の説明用記述を目的としている。図を伴った説明により、本発明を実際にどのように実施できるかがこの技術に通ずる人達には明かになる。
【００１２】
さらに、本発明を不明確にすることを避けるため、またブロック図構成の実施に関する詳細は本発明が実施されるプラットフォームに極めて依存する、すなわち詳細が本技術に通ずる人の理解の範囲内である点を考慮して、ブロック図形式で構成を示す。本発明の実施例を記述するため個別の詳細（例えば、回路、フローチャート）が説明されている場合、本技術に通ずる人には、これら個別の詳細なしに本発明が実現できることは明らかである。最後に、配線接続された回路とソフトウェア命令のいかなる組み合わせによってでも本発明の実施例を実施することができる、すなわち本発明はハードウェア回路とソフトウェア命令のいかなる特定の組み合わせにも限定されないことを明らかにしておく。
【００１３】
本発明の実施例はサンプルホスト装置環境のサンプルシステムブロック図を用いて説明されているが、本発明の実現はこれに限定されない、すなわち他のタイプのシステムにより、および他のタイプの環境で実現することが可能である。
【００１４】
明細書の中で“実施例”に言及されている場合、実施例と関連して記述されている特定の機能、構造、特徴が少なくとも本発明の１つの実施例に含まれることを意味する。明細書の色々な場所で“実施例”という言葉が出てきた場合、必ずしも同じ実施例に言及されているわけではない。
【００１５】
本発明は外部ストレージシステムにネットワーク接続している主ストレージシステムのデータのライフサイクル管理に関連する。主ストレージシステムは接続された外部ストレージシステムのデータを読み書きする。サーバーは主ストレージシステムと外部ストレージシステムにネットワーク接続している。主ストレージシステムはサーバーに仮想アドレス空間を提供する。サーバーは仮想アドレスを用いてデータにアクセスする。主ストレージシステムは内部ディスクドライブと外部ストレージシステムの間でデータを移動させる。データを移動する前と後に主ストレージシステムはデータをアクセスする仮想アドレスを変更することはない。サーバーは移動されたデータにアクセスするのに仮想アドレスを使用し続ける。もしサーバーから要求されれば、主ストレージシステムは外部ストレージシステムの内のデータの物理アドレスをサーバーに伝える。サーバーは外部ストレージシステムのデータに直接アクセスする。データアクセスに主ストレージシステムを経由する必要がなくなる。
【００１６】
主ストレージシステムは外部ストレージシステムのデータに直接アクセスするサーバーのリストを追跡記録する。データを外部ストレージシステムから内部ディスクドライブに戻す前に主ストレージシステムは主ストレージシステム経由でデータにアクセスするようにサーバーに強制する。1台以上のサーバーが外部ストレージシステムのデータにアクセスしている場合、主ストレージシステムはデータをキャッシュメモリにキャッシュしない。
【００１７】
１つの実施例では、主ストレージシステムは、サーバーが主ストレージシステムに要求しない限り、どのサーバーに対しても外部ストレージシステムのデータにアクセスすることを許可しない。主ストレージシステムは、不正なサーバーからのアクセスを防ぐために、外部ストレージシステムが備えているアクセス制御機構を使用する。
【００１８】
本発明の実施例はファイバチャネル（ＦＣ）ストレージシステム、ネットワークファイルサーバー（ＮＡＳ）あるいはファイルサーバー一般、及びオブジェクトベースのストレージ装置（ＯＳＤ）系のストレージシステムに適用可能である。ＦＣストレージシステムの場合、データはボリュームレベルまたはエクステントレベルで移動される。ＮＡＳの場合、データはファイルレベルで移動される。ＯＳＤの場合、データはオブジェクトレベルで移動される。ボリュームレベルのデータ移動の場合、ボリュームをロックすることによりボリュームへのアクセスは禁止される。ファイルレベルのデータ移動とオブジェクトレベルのデータ移動の場合、主ストレージシステムのみが外部ストレージシステムのファイルとオブジェクトにアクセスできるようにファイルとオブジェクトのアクセス制御リストを設定することにより、ファイルとオブジェクトへのアクセスが禁止される。エクステントレベルのデータ移動の場合、エクステントレベルのアクセスを制御する標準的な方法はない。外部ストレージシステムにアクセス制御機構を独自に導入することは可能である。
【００１９】
図１に本発明の１つの実施例によるシステムの図を示す。システムは１台以上のサーバー（０１０１、０１０２）、１台以上のスイッチ（０１０３）、１台以上の主ストレージシステム（０１０５）、および１台以上の外部ストレージシステム（０１０６）を備えている。アプリケーション（０１０１０１、０１０２０１）はサーバー（０１０１、０１０２）上で実行されストレージシステムにデータを保存しアクセスする。アプリケーションはデータを保存しアクセスするのに主ストレージシステム（０１０５）を使用する。データは外部ストレージシステム（０１０６）に保存しても良い。アプリケーション（０１０１０１、０１０２０１）は、主ストレージシステム（０１０５）がアプリケーション（０１０１０１、０１０２０１）に提示する仮想ボリュームアドレスを指定することにより主ストレージシステム（０１０５）を介してデータの読み書きを行う。
【００２０】
サーバー（０１０１、０１０２）はリダイレクタ（０１０８）を備えることができる。リダイレクタ（０１０８）は仮想ボリューム（０１０９ｃ、０１０９ｄ）をアプリケーションに提供する。アプリケーション（０１０１０１、０１０２０１）は仮想ボリューム（０１０９ｃ、０１０９ｄ）にＩ／Ｏ要求を発行する。リダイレクタ（０１０８）は仮想ボリュームがマッピングされている物理ボリュームを把握しており、Ｉ／Ｏ要求を物理ボリュームに転送する。
【００２１】
１台以上のスイッチ（０１０３）はサーバー（０１０１、０１０２）とストレージシステムを接続し、両者の間のデータ転送を提供する。主ストレージシステム（０１０５）はネットワークを介して外部ストレージシステムのデータを読み書きする。スイッチ（０１０３）には例えば、ファイバチャネルスイッチ、イーサネットスイッチ、インフィニバンドスイッチなど多くのタイプのスイッチがある。
【００２２】
主ストレージシステム（０１０５）はアプリケーションのデータを保存し、内部の物理ボリューム（０１０５０４、０１０５０５）と外部ストレージシステムの物理ボリューム（０１０６０４、０１０６０５）の間でスイッチを介してデータを移動させる。主ストレージシステム（０１０５）はサーバーに仮想ボリューム（０１０４ａ、０１０４ｂ、０１０４ｃ、０１０４ｄ）を提供する。サーバー（０１０１、０１０２）は仮想ボリュームのＩＤまたはアドレスを用いてデータの位置を特定する。主ストレージシステム（０１０５）は物理ボリュームと仮想ボリュームの間のマッピングを管理する。内部物理ボリューム（０１０５０４、０１０５０５）のデータが外部ストレージシステムの物理ボリューム（０１０６０４、０１０６０５）に移動された場合でも、サーバー（０１０１、０１０２）は仮想ボリュームを指定することにより主ストレージシステム（０１０５）を介してこのデータにアクセスすることができる。リダイレクタはなくても良い。主ストレージシステム（０１０５）はこのデータに対するＩ／Ｏ要求を外部ストレージシステムの対応する物理ボリューム（０１０６０４、０１０６０５）へ転送する。
【００２３】
主ストレージシステムと外部ストレージシステムはともにインタフェース(０１０５０１、０１０６０１)、ディスクコントローラ（０１０５０２、０１０６０２）、キャッシュメモリ（０１０５０３、０１０６０３）および物理ボリューム（０１０５０４、０１０５０５、０１０６０４、０１０６０５）により構成されている。物理ネットワークケーブルがスイッチのポートとストレージシステムのインタフェースとを接続している。ディスクコントローラがサーバー（０１０１、０１０２）から受信したＩ／Ｏ要求を処理し、物理ボリュームへのアクセスを制限している。データを保存するのにキャッシュメモリが使用され、物理ボリュームより高速のデータアクセスを提供する。物理ボリュームはディスクドライブあるいはＲＡＩＤを構成する１式のディスクドライブである。
【００２４】
外部ストレージシステム（０１０６）はデータ移動機能をもたない従来のストレージシステムで良い。本発明の実施例によれば、主ストレージシステムから移動されたデータを保存するのに外部ストレージシステムが使用される。サーバー（０１０１、０１０２）は、主ストレージシステム（０１０５）が許可すれば外部ストレージシステムのデータにアクセスすることができる。主ストレージシステム（０１０５）はサーバー（０１０１、０１０２）から外部ストレージシステム（０１０６）の物理ボリューム（０１０６０４、０１０６０５）へのデータアクセスを、例えばＬＵセキュリティなどのセキュリティを用いて制限する。ＬＵセキュリティはストレージシステムのアクセス制御機構で、予め指定されたサーバー（０１０１、０１０２）にのみ物理ボリュームへのアクセスを許可する。現在多くのストレージシステム製品がこの機能を有している。セキュリティ機能は主ストレージシステムと外部ストレージシステムの両方に常駐することができるが、主として主ストレージシステムがコントロールを行う。
【００２５】
図２に本発明の１つの実施例による仮想―物理ボリュームマッピングテーブルの図を示す。主ストレージシステムは仮想―物理ボリュームマッピングテーブル（０４０１）を有している。テーブルはどの仮想ボリュームがどの物理ボリュームにマッピングされているかをリストアップしている。物理ボリュームは主ストレージシステムの内部物理ボリュームあるいは外部ストレージシステムの物理ボリュームのいずれでも良い。例えば、仮想ボリューム“ＶＶｏｌ３ａ”は外部ストレージシステム"ストレージシステムＢ"の物理ボリューム“ＰＶｏｌ３”にマッピングされている。主ストレージシステムがサーバーから仮想ボリュームへのＩ／Ｏ要求を受信すると、主ストレージシステムは仮想ボリュームが内部の物理ボリュームへマッピングされているか外部の物理ボリュームへマッピングされているかを判断する。仮想ボリュームが内部ボリュームへマッピングされていたら、主ストレージシステムは要求を内部で処理する。仮想ボリュームが外部ボリュームへマッピングされていたら、主ストレージシステムは、物理ボリュームを有する外部ストレージシステムへ要求を転送する。
【００２６】
図３に本発明の１つの実施例による仮想ボリューム管理テーブルの図を示す。主ストレージシステムは仮想ボリューム管理テーブル（１１０１）を有している。本テーブルは各仮想ボリュームに対して主ストレージシステムが仮想ボリュームのデータをキャッシュ可能であるかを示し、また仮想ボリュームのオーナーを示す。
【００２７】
図４に本発明の１つの実施例によるフリーボリュームリストの図を示す。主ストレージシステムはフリーボリュームリスト（１４０１）を有している。このリストは現在どの物理ボリュームが使用されており、どの物理ボリュームが使用されていないかを示す。また本リストは各物理ボリュームの容量を示す。本リストは内部物理ボリュームの情報のみならず外部ストレージシステムの物理ボリュームの情報も有している。主ストレージシステムはある物理ボリュームから別の物理ボリュームにデータを移動する際に本テーブルを使用する。主ストレージシステムは本テーブルを使用して使用されていない物理ボリュームを移動先として発見する。
【００２８】
図５は本発明の１つの実施例による下り方向ボリューム移行プロセスのフローチャートを示す。主ストレージシステムのディスクコントローラは例えば１時間ごとなど定期的にこの処理を実行する。このプロセスでは、外部ストレージシステムへ移動されるべき物理ボリュームが存在するかが判断され、もし存在すれば、ディスクコントローラは当該物理ボリュームのデータを外部の物理ボリュームへ移動する。物理ボリュームを移動するか判断するのに使用されるポリシーすなわち基準には多くのものがあり得る。例えば、１ヶ月など一定の時間内に仮想ボリュームへのアクセスがなければ仮想ボリュームを外部へ移動する、など。別の例では、移動する仮想ボリュームをユーザあるいはアプリケーションが指定することが出来る。
【００２９】
ディスクコントローラは一定の期間アクセスされていない仮想ボリュームあるいはユーザまたはアプリケーションが外部へ移動するよう指定した仮想ボリュームを発見する「１７０１」。仮想ボリュームがマッピングされている物理ボリュームが主ストレージシステムの内部の物理ボリュームであることが望ましい。本発明の説明上、この物理ボリュームを本プロセスではソ−スｐｖｏｌと呼ぶ。該当する仮想ボリュームが存在しない場合、ディスクコントローラはプロセスを終了する「１７０１Ａ」。ディスクコントローラは外部ストレージシステムにフリーの物理ボリューム（ターゲットｐｖｏｌ）を発見する。ディスクコントローラはフリーボリュームリストを使用してフリーの物理ボリュームを発見することができる。フリーの物理ボリュームの容量が仮想ボリュームの容量と同じである事が望ましい。フリーの物理ボリュームが発見されると、ディスクコントローラは発見された物理ボリュームが使用中とリストされるようフリーボリュームリストを変更する。本発明の説明上、発見されたフリーの物理ボリュームを、本プロセスではターゲットｐｖｏｌと呼ぶ。フリーの物理ボリュームがみつからなければ「１７０２Ａ」、ディスクコントローラはプロセスを終了する。「１７０２Ｂ」。
【００３０】
フリーの物理ボリュームが発見されると、ディスクコントローラは、主ストレージシステムのみがターゲットｐｖｏｌにアクセス可能となるように、ターゲットｐｖｏｌにＬＵセキュリティを設定する「１７０３」。ディスクコントローラは、外部ストレージシステムへのネットワーク接続を介して、ソースｐｖｏｌのデータをターゲットｐｖｏｌへコピーする「１７０４」。このステップ中に仮想ボリュームに対して書き込みＩ／Ｏが発生すると、ディスクコントローラは受信したデータをソースｐｖｏｌとターゲットｐｖｏｌの両方に書き込む。ディスクコントローラはビットマップテーブルを使用して、ソースｐｖｏｌのどのディスクブロックがターゲットｐｖｏｌにコピーされたかを追跡記録する。
【００３１】
ディスクコントローラは、ターゲットｐｖｏｌがソースｐｖｏｌに替わって新しい物理ボリュームとして仮想ボリュームにマッピングされるように、仮想―物理ボリュームマッピングテーブルを変更する「１７０５」。以降、ディスクコントローラは、仮想ボリュームへのＩ／Ｏ要求はいずれもターゲットｐｖｏｌへ転送する。ディスクコントローラはソースｐｖｏｌを解放し、ソースｐｖｏｌが使用中でないようにフリーボリュームリストを変更する「１７０６」。ディスクコントローラは、仮想ボリュームのデータを主ストレージシステムのキャッシュメモリにディスクコントローラがキャッシュできるように仮想ボリューム管理テーブルを変更する「１７０７」。ディスクコントローラは、主ストレージシステムのみが仮想ボリュームのオーナーとなるように仮想ボリューム管理テーブルを変更する「１７０８」。いずれのサーバーも主ストレージシステムを経由せずにターゲットｐｖｏｌにはアクセスできなくなる。その後、ディスクコントローラはステップ１７０１へもどりこのプロセスを繰り返すことができる。
【００３２】
図６は本発明の１つの実施例による上り方向ボリューム移行プロセスのフローチャートを示す。主ストレージシステムのディスクコントローラは定期的に、例えば１時間毎にこのプロセスを実行する。このプロセスを実行して、外部ストレージシステムから主ストレージシステムへ移動するべき物理ボリュームが存在するかを判断する。移動するべき物理ボリュームが存在する場合、ディスクコントローラは、外部ストレージシステムの当該物理ボリュームのデータを主ストレージシステムの内部の物理ボリュームへ移動する。物理ボリュームを移動するか判断するのに使用されるポリシーすなわち要因には多くのものがある。例えば、仮想ボリュームへのデータアクセスが一定の期間、例えば１ヶ月の間に一定の回数を超えると、物理ボリュームは内部へ移動される。他の例では、ユーザあるいはアプリケーションが移動する物理ボリュームを指定することができる。
【００３３】
ディスクコントローラは内部へ移動するべき仮想ボリュームがないかをチェックする「１８０１」。仮想ボリュームがマッピングされた物理ボリュームは外部ストレージシステムの物理ボリュームであることが望ましい。本発明の説明上、物理ボリュームをソースｐｖｏｌと呼ぶ。該当する仮想ボリュームが存在しない場合、ディスクコントローラはこのプロセスを終了する「１８０１Ａ」。ディスクコントローラは、仮想ボリューム管理テーブルを用いて、主ストレージシステムの他に仮想ボリュームのオーナーであるサーバーがないかチェックする「１８０２」。もしあれば、ディスクコントローラは、他のオーナーが外部ストレージシステムの仮想ボリュームにアクセスしないよう要請し確認する「１８０３」。もしなければ、ステップ１８０４へ進む。
【００３４】
ディスクコントローラは主ストレージシステム内にフリーの内部物理ボリュームを発見する「１８０４」。ディスクコントローラはフリーボリュームリストを使って、フリーの物理ボリュームを発見する。フリーの物理ボリュームの容量が仮想ボリュームの容量と同じであることが望ましい。フリーの物理ボリュームが発見されるとディスクコントローラは発見された物理ボリュームが使用中とリストされるようにフリーボリュームリストを変更する。発見されたフリーの物理ボリュームを、本発明の説明上、ターゲットｐｖｏｌと呼ぶ。フリーの物理ボリュームがなければ「１８０４Ａ」、ディスクコントローラはこのプロセスを終了する「１８０１Ａ」。
【００３５】
主ストレージシステムのみがソースｐｖｏｌにアクセス可能となるようにディスクコントローラはセキュリティを、例えばＬＵセキュリティをソースｐｖｏｌに設定する「１８０５」。ディスクコントローラはソースｐｖｏｌのデータを外部ストレージシステムからターゲットｐｖｏｌにネットワーク接続を介してコピーする「１８０６」。このプロセス中に仮想ボリュームに対して書き込みＩ／Ｏが発生した場合、ディスクコントローラは受信したデータをソースｐｖｏｌとターゲットｐｖｏｌの両方に書き込む。ディスクコントローラはビットマップテーブルを使用してソースｐｖｏｌのどのディスクブロックがターゲットｐｖｏｌにコピーされたかを追跡記録する。
【００３６】
ディスクコントローラは、ターゲットｐｖｏｌがソースｐｖｏｌの代わりに新しい物理ボリュームとして仮想ボリュームにマッピングされるように、仮想―物理ボリュームマッピングテーブルを変更する「１８０７」。次に、ディスクコントローラは仮想ボリュームへのいずれのＩ／Ｏ要求も処理する。ディスクコントローラは、ソースｐｖｏｌに設定されているセキュリティ（例えばＬＵセキュリティ）を解消する「１８０８」。ディスクコントローラは次にソースｐｖｏｌを解放し、ソースｐｖｏｌが使用されていないとリストされるようフリーボリュームリストを変更する。ディスクコントローラは主ストレージシステムのキャッシュメモリに仮想ボリュームのデータをディスクコントローラがキャッシュできるように仮想ボリューム管理テーブルを変更する「１８０９」。ディスクコントローラは主ストレージシステムのみが仮想ボリュームのオーナーとなるよう仮想ボリューム管理テーブルを変更する。従って、いずれのサーバーも主ストレージシステムを経由せずにターゲットｐｖｏｌにアクセスすることはできなくなる「１８１０」。ディスクコントローラはこのプロセスを繰り返すことができる「１８０１」。
【００３７】
図７は本発明の１つの実施例による直接ボリュームアクセス要求を処理するフローチャートを示す。リダイレクタが特定の仮想ボリュームの仮想―物理マッピングを取得するよう主ストレージシステムに依頼する。リダイレクタはこの情報を用いて外部ストレージシステムの物理ボリュームに保存されたデータに主ストレージシステムを経由することなくアクセスすることができる。従って主ストレージシステムが性能上の隘路になることが防止される。リダイレクタはまたこの直接アクセスによりはるかに高速にデータを読み出すことができる。リダイレクタはライブラリまたはＡＰＩを使用してマッピングテーブルを取得し直接アクセスの許可を取得する。ライブラリまたはＡＰＩはリダイレクタが直接にアクセスしようとする仮想ボリュームのＩＤまたはアドレスを必要とする。ライブラリまたはＡＰＩは主ストレージシステムでこのプロセスを起動する。ディスクコントローラがこの要求を処理する。
【００３８】
ディスクコントローラは指定された仮想ボリュームにマッピングされた物理ボリュームが外部ストレージシステムにあるかチェックする「２３０１」。もしなければディスクコントローラはこのプロセスを終了する「２３０１Ａ」。ディスクコントローラは、指定された仮想ボリュームの主ストレージシステムにおけるデータキャッシングが不可となるように仮想ボリューム管理テーブルを変更する「２３０２」。ディスクコントローラは、主ストレージシステム、仮想ボリューム管理テーブルに存在しているオーナーおよび要求しているサーバーが物理ボリュームにアクセスできるように、例えばＬＵセキュリティなどのセキュリティを物理ボリュームに対して設定する「２３０３」。ディスクコントローラは要求しているサーバーをさらなる仮想ボリュームのオーナーとして仮想ボリューム管理テーブルに追加する「２３０４」。ディスクコントローラは物理ボリュームのアドレスと外部ストレージシステムの名前をリダイレクタに返す「２３０５」。
【００３９】
図８は本発明の１つの実施例によるリダイレクタプロセスのフローチャートを示す。リダイレクタはサーバーレベルの仮想ボリュームをアプリケーションに提示する。アプリケーションはＩ／Ｏ要求を仮想ボリュームに発行する。リダイレクタはＩ／Ｏ要求を主ストレージシステムへ送るべきか外部ストレージシステムへ送るべきかを決定する。リダイレクタはどの仮想ボリュームが外部ストレージシステムへ移行されたか知るために仮想ボリュームに対して定期的に直接ボリュームアクセスを要求する。リダイレクタはまた、多分主ストレージシステムから取得した仮想―物理マッピングテーブルをメモリに保存している。
【００４０】
リダイレクタはアプリケーションから仮想ボリュームへのＩ／Ｏ要求を受信する「２５０１」。リダイレクタは仮想―物理ボリュームマッピングテーブルを用いて仮想ボリュームのストレージシステムと物理ボリュームを決定する「２５０２」。仮想ボリュームに関連する仮想―物理ボリュームマッピングテーブルがない場合、あるいは主ストレージシステムがリダイレクタに外部ストレージシステムに直接アクセスするかわりに主ストレージシステムにアクセスするよう要請した場合、リダイレクタは主ストレージシステムと主ストレージシステム内の対応する仮想ボリュームを使用する。リダイレクタは受信したＩ／Ｏ要求を決定したストレージシステムと物理ボリュームに転送し、ストレージシステムからの応答を待つ「２５０３」。リダイレクタは受信した結果をアプリケーションに返す「２５０４」。
【００４１】
図９は本発明の１つの実施例による仮想―物理マッピングテーブルを示す。本テーブルは仮想ボリュームを特定し各仮想ボリュームに関してボリュームの位置、関連するストレージシステムおよび関連する物理ボリュームに関する情報を有している。
【００４２】
図１０は本発明の１つの実施例によるエクステントレベルのシステムを示す。本システムは１台以上のサーバー（０２０１、０２０２）、１台以上のスイッチ（０２０３）、および１台以上の主ストレージシステム（０２０５）を有している。アプリケーションは主ストレージシステム（０２０５）を使用してデータを保存しアクセスする。データは外部ストレージシステム（０２０６）に保存することもできる。アプリケーション（０２０１０１、０２０２０１）は、主ストレージシステム（０２０５）がアプリケーション（０２０１０１、０２０２０１）に提示する仮想ボリュームアドレスを指定することにより主ストレージシステム（０２０５）を介してデータを読み書きすることができる。
【００４３】
サーバー（０２０１、０２０２）はリダイレクタ（０２０７ｂ）を備えることができる。リダイレクタ（０２０７ｂ）はアプリケーションに仮想ボリューム（０２０４ｃ、０２０４ｄ）を提供する。アプリケーション（０２０１０１、０２０２０１）は仮想ボリューム（０２０４ｃ、０２０４ｄ）にＩ／Ｏ要求を発行する。リダイレクタ（０２０７ｂ）は仮想ボリュームがマッピングされた物理ボリュームを把握しており、Ｉ／Ｏ要求を当該物理ボリュームに転送する。
【００４４】
１台以上のスイッチ（０２０３）がサーバー（０２０１、０２０２）とストレージシステムを接続し、その間のデータ転送を提供する。主ストレージシステム（０２０５）はネットワークを介して外部ストレージシステムのデータを読み書きする。スイッチ（０２０３）には、例えばファイバチャネルスイッチ、イーサネットスイッチ、インフィニバンドスイッチなど多くのタイプのスイッチがあり得る。
【００４５】
主ストレージシステム（０２０５）はアプリケーションのデータを保存し内部の物理ボリューム（０２０５０４、０２０５０５）と外部のストレージシステムの外部物理ボリューム（０２０６０４、０２０６０５）の間でスイッチを介してデータを移動させる。主ストレージシステム（０２０５）は仮想ボリューム（０２０８ａ、０２０８ｂ、０２０８ｃ、０２０８ｄ）をサーバーに提供する。本実施例での仮想ボリューム構成は図１のそれとは異なっている。仮想ボリューム（０２０４ｃ、０２０４ｄ、０２０８ａ、０２０８ｂ、０２０８ｃおよび０２０８ｄ）は一式のエクステントとして構成されている。物理ボリューム（０２０５０４、０２０５０５、０２０６０４および０２０６０５）は複数のエクステントに分割されている。エクステントのサイズは一定でもよいし可変でもよい。例えば、ＶＶｏｌ２ａ（０２０８ｂ）はエクステントｐ１２（０２０５０４ｂ）とエクステントｐ３２（０２０６０４ｂ）から成っている。エクステントｐ１２は主ストレージシステム（０２０５）の物理ボリュームＰＶｏｌ１（０２０５０４）の一部であり、エクステントｐ３２は外部ストレージシステム（０２０６）の物理ボリュームＰＶｏｌ３（０２０６０４）の一部である。主ストレージシステム（０２０５）のディスクコントローラが仮想ボリュームへのＩ／Ｏ要求を受信すると、ディスクコントローラはどのエクステントにＩ／Ｏ要求が向けられているかを判定する。ディスクコントローラは次にＩ／Ｏ要求を自身で処理するか、当該エクステントを有する外部ストレージシステム（０２０６）へＩ／Ｏ要求を転送する。従って、本実施例のシステムではデータはエクステントレベルで移動される。
【００４６】
主ストレージシステムと外部ストレージシステムはともにインタフェース（０２０５０１、０２０６０１）、ディスクコントローラ（０２０５０２、０２０６０２）、キャッシュメモリ（０２０５０３、０２０６０３）および物理ボリューム(０２０５０４、０２０５０５、０２０６０４、０２０６０５)から成っている。物理ネットワークケーブルがスイッチのポートとストレージシステムのインタフェースを接続している。ディスクコントローラ（０２０５０２）はサーバー（０２０１、０２０２）から受信したＩ／Ｏ要求を処理し、物理ボリューム（０２０５０４、０２０５０５、０２０６０４、０２０６０５）へのアクセスを制限する。キャッシュメモリを用いてデータが保存され、物理ボリュームより高速のデータアクセスが提供される。物理ボリュームは１台のディスクドライブでも、ＲＡＩＤを構成する１式のディスクドライブでも良い。
【００４７】
外部ストレージシステム（０２０６）はデータ移動機能を持たない従来型のストレージシステムでも良い。本発明の実施例によれば、外部ストレージシステム（０２０６）は主ストレージシステム（０２０５）から移動されたデータを保存するのに使われる。サーバー（０２０１、０２０２）は、主ストレージシステム（０２０５）が許可すれば、外部ストレージシステム（０２０６）にアクセスすることができる。主ストレージシステム（０２０５）は、サーバー（０２０１、０２０２）から外部ストレージシステム（０２０６）の物理ボリューム（０２０６０４、０２０６０５）へのアクセスを、例えばＬＵセキュリティを使用して制限することができる。ＬＵセキュリティはストレージシステムのアクセス制御機構で、予め指定されたサーバー（０２０１、０２０２）のみに物理ボリュームへのアクセスを許可する。多くの現在のストレージシステム製品はこの機能を有している。
【００４８】
図１１は本発明の１つの実施例による仮想―物理エクステントマッピングテーブルを示す。主ストレージシステムが仮想―物理エクステントマッピングテーブル（０６０１）を備えている。本テーブルは、オフセット、保存位置、ストレージシステム、物理ボリューム、エクステントなどを含め、仮想ボリュームがどう構成されているかの情報を有している。例えば、仮想ボリューム“ＶＶｏｌ３ａ”はストレージシステムＢのＰＶｏｌ４のエクステント４２、ストレージシステムＡのＰＶｏｌ１のエクステント１３、ストレージシステムＢのＰＶｏｌ３のエクステント３１などを含んでいる。エクステントベースの仮想ボリューム管理テーブルは図３に示すボリュームベースのテーブルと同じで良い。
【００４９】
図１２に本発明の１つの実施例によるエクステントベースのフリーエクステントリストの図を示す。主ストレージシステムがフリーエクステントリスト（１５０１）を備えている。本リストに物理ボリュームのどのエクステントが現在使用されていて、どのエクステントが使用されていないかが示されている。各エクステントのサイズもまた示されている。
【００５０】
図１３に本発明の１つの実施例による下り方向エクステント移行プロセスのフローチャートを示す。主ストレージシステムのディスクコントローラは、例えば１時間毎など定期的に本プロセスを実行する。本プロセスで外部ストレージシステムへ移動するべきエクステントが存在するかが判断される。もし存在すれば、ディスクコントローラが当該エクステントのデータを外部物理ボリュームのフリーエクステントに移動する。ボリュームレベルのシステムと同様、エクステントの移動を決定する多くのポリシーがあり得る。例えば、主ストレージシステムのディスクコントローラが各エクステントへのデータアクセス数をカウントしても良い。
【００５１】
ディスクコントローラが外部へ移動するべきエクステントを発見する。エクステントが主ストレージシステムの内部物理ボリュームであることが望ましい「１９０１」。発見されたエクステントは本プロセスではソースエクステントと呼ばれる。該当するエクステントが存在しなければディスクコントローラは本プロセスを終了する「１９０１Ａ」。ディスクコントローラは外部ストレージシステムの中にフリーエクステントを発見する「１９０２」。ディスクコントローラはフリーエクステントリストを使用してフリーエクステントを発見する。フリーエクステントのサイズがソースエクステントのサイズと同じであることが望ましい。フリーエクステントが発見されると、ディスクコントローラは発見されたフリーエクステントが使用中とリストされるようにフリーエクステントリストを変更する。本発明の説明上、本プロセスでは発見されたエクステントをターゲットエクステントと呼ぶ。フリーエクステントが発見されなければ「１９０２Ａ」、ディスクコントローラは本プロセスを終了する「１９０１Ａ」。
【００５２】
ディスクコントローラは、主ストレージシステムのみがターゲットエクステントにアクセス可能となるようにターゲットエクステントに対するセキュリティを設定する「１９０３」。ディスクコントローラはソースエクステントのデータを外部ストレージシステムへのネットワーク接続を介してターゲットエクステントにコピーする「１９０４」。本プロセス中にソースエクステントに対して書き込みＩ／Ｏが発生した場合、ディスクコントローラは受信したデータをソースエクステントとターゲットエクステントの両方に書き込む。ディスクコントローラはビットマップテーブルを使用してソースエクステントのどのディスクブロックがターゲットエクステントにコピーされたかを追跡記録する。
【００５３】
ディスクコントローラはターゲットエクステントがソースエクステントに代わる新しいエクステントとして仮想ボリュームにマッピングされるように仮想―物理ボリュームマッピングテーブルを変更する「１９０５」。その後、ディスクコントローラはターゲットエクステントがマッピングされたオフセットに向かうＩ／Ｏ要求を全てターゲットエクステントに転送する。ディスクコントローラはソースエクステントを解放し、ソースエクステントが不使用中となるようにフリーエクステントリストを変更する「１９０６」。ディスクコントローラは主ストレージシステムのキャッシュメモリに仮想ボリュームのデータをディスクコントローラがキャッシュできるように仮想ボリュームマッピングテーブルを変更する「１９０７」。ディスクコントローラは主ストレージシステムのみが仮想ボリュームのオーナーになるように仮想ボリュームマッピングテーブルを変更する「１９０８」。従って、いかなるサーバーも主ストレージシステムを経由せずにターゲットエクステントにアクセスすることはできなくなる。ディスクコントローラはこのプロセスを繰り返すことができる「１９０１」。
【００５４】
図１４に本発明の１つの実施例による上り方向エクステント移行プロセスのフローチャートを示す。主ストレージシステムのディスクコントローラは、例えば１時間毎など定期的に本プロセスを実行する。本プロセスで外部ストレージシステムから主ストレージシステムへ移動するべきエクステントが存在するかが判断される。もし存在すれば、ディスクコントローラが外部ストレージシステムの当該エクステントのデータを主ストレージシステム内部エクステントに移動する。ボリュームレベルのシステムと同様、エクステントの移動を決定する多くのポリシーがあり得る。
【００５５】
ディスクコントローラは内部へ移動するべき外部ストレージシステムのエクステントを発見する「２００１」。発見されたエクステントは本プロセスではソースエクステントと呼ばれる。該当するエクステントが存在しなければディスクコントローラは本プロセスを終了する「２００１Ａ」。ディスクコントローラは主ストレージシステム以外に仮想ボリュームのオーナーとなっているサーバーがないかチェックする「２００２」。ディスクコントローラは仮想ボリューム管理テーブルを用いてこれを行う。主ストレージシステム以外に仮想ボリュームのオーナーであるサーバーが存在した場合、ディスクコントローラはこれらのオーナーに外部ストレージシステムの当該仮想ボリュームにアクセスしないよう要請し確認する「２００３」。主ストレージシステム以外に当該仮想ボリュームのオーナーが存在しない場合、ディスクコントローラは主ストレージシステム内にフリーの内部エクステントを発見する「２００４」。ディスクコントローラはフリーエクステントリストを使用してフリーエクステントを探し出す。フリーエクステントのサイズがソースエクステントのサイズと同じであることが望ましい。フリーエクステントが発見されると、ディスクコントローラは発見されたフリーエクステントが使用中とリストされるようにフリーエクステントリストを変更する。
【００５６】
発見されたエクステントを本プロセスではターゲットエクステントと呼ぶ。フリーエクステントが発見されなければ「２００４Ａ」、ディスクコントローラは本プロセスを終了する「２００１Ａ」。ディスクコントローラは、主ストレージシステムのみがソースエクステントにアクセス可能となるようにソースエクステントに対するセキュリティを設定する「２００５」。ディスクコントローラはソースエクステントのデータをネットワーク接続を介して外部ストレージシステムからターゲットエクステントにコピーする「２００６」。本プロセス中にソースエクステントに対して書き込みＩ／Ｏが発生した場合、ディスクコントローラは受信したデータをソースエクステントとターゲットエクステントの両方に書き込む。ディスクコントローラはビットマップテーブルを使用してソースエクステントのどのディスクブロックがターゲットエクステントにコピーされたかを追跡記録する。
【００５７】
ディスクコントローラはターゲットエクステントがソースエクステントに代わり新しいエクステントとして仮想ボリュームにマッピングされるように仮想―物理エクステントマッピングテーブルを変更する「２００７」。ディスクコントローラは現在ソースエクステントに設定されているセキュリティを解消する「２００８」。次にディスクコントローラはソースエクステントを解放し、ソースエクステントが使用されていないとリストされるようにフリーエクステントリストを変更する。ディスクコントローラは主ストレージシステムのキャッシュメモリに仮想ボリュームのデータをディスクコントローラがキャッシュできるように仮想ボリューム管理テーブルを変更する「２００９」。ディスクコントローラは、主ストレージシステムのみが仮想ボリュームのオーナーとなるよう仮想ボリューム管理テーブルを変更する「２０１０」。従って、すべてのサーバーは主ストレージシステムを経由せずにターゲットエクステントにアクセスすることはできなくなる。次にディスクコントローラはこのプロセスを繰り返すことができる「２００１」。
【００５８】
図１５に本発明の１つの実施例による直接エクステントアクセス要求プロセスを示す。リダイレクタは主ストレージシステムに特定の仮想ボリュームの仮想―物理マッピングの取得を要請する。リダイレクタはこの情報を使用して外部ストレージシステムの物理ボリュームに保存されたデータに主ストレージシステムを経由することなくアクセスする。リダイレクタはライブラリまたはＡＰＩを使用してマッピングテーブルと直接アクセスの許可を取得する。ライブラリまたはＡＰＩは主ストレージシステムでこのプロセスを起動する。ディスクコントローラは次にこの要求を処理する。
【００５９】
ディスクコントローラは特定の仮想ボリュームにマッピングされた１つ以上の物理エクステントが外部ストレージシステムに位置するかどうかをチェックする「２４０１」。もし外部ストレージシステムになければ、ディスクコントローラは本プロセスを終了する「２４０１Ａ」。ディスクコントローラは主ストレージシステムで特定の仮想ボリュームのデータキャッシングができなくなるよう仮想ボリューム管理テーブルを変更する「２４０２」。ディスクコントローラは、主ストレージシステム、存在する仮想ボリューム管理テーブルのオーナーおよび要求しているサーバーが外部エクステントにアクセス可能となるように外部エクステントのセキュリティを設定する「２４０３」。ディスクコントローラは要求しているサーバーを仮想ボリュームの新しいオーナーとして仮想ボリューム管理テーブルに追加する「２４０４」。ディスクコントローラは当該仮想ボリュームに関連する仮想―物理エクステントマッピングテーブルをリダイレクタに返す「２４０５」。
【００６０】
図１６は本発明の１つの実施例によるリダイレクタプロセスのフローチャートである。リダイレクタはサーバーレベルで仮想ボリュームをアプリケーションに提示する。アプリケーションは仮想ボリュームに対しＩ／Ｏ要求を発行する。要求で設定されているオフセットに応じて、リダイレクタはＩ／Ｏ要求をどこに送信すべきか、主ストレージシステムにか、または外部ストレージシステムにか、を決定する。リダイレクタは定期的に仮想ボリュームへの直接エクステントアクセスを要求する。これによりリダイレクタは主ストレージシステムから仮想―物理マッピングテーブルを取得しメモリに保存する。
【００６１】
リダイレクタは仮想ボリュームへのＩ／Ｏ要求をアプリケーションから受信する「２６０１」。リダイレクタは仮想―物理エクステントマッピングテーブルを使用してストレージシステム、仮想ボリュームの物理ボリュームおよびエクステントを決定する「２６０２」。仮想ボリュームに関連する仮想―物理エクステントマッピングテーブルが存在しないか、主ストレージシステムがリダイレクタに、外部ストレージシステムに直接アクセスするのでなく主ストレージシステムにアクセスするよう要請した場合、リダイレクタは主ストレージシステムと主ストレージシステム内の対応する仮想ボリュームを使用する。リダイレクタは受信したＩ／Ｏ要求を決定されたストレージシステムに送り、ストレージシステムからの応答を待つ「２６０３」。リダイレクタは受信した結果をアプリケーションに返す「２６０４」。
【００６２】
図１７に本発明の１つの実施例によるファイルレベルのシステムを示す。システムは１台以上のサーバー（０３０１、０３０２）、１台以上のスイッチ（０３０３）、１台以上の主ファイルサーバー（０３０５）および１台以上の外部ファイルサーバー（０３０６）を備えている。本実施例ではサーバーは主ファイルサーバー（０３０５）のファイルを読み書きする。ＮＦＳ（ネットワークファイルシステム）は標準ネットワークファイル共有プロトコルで、サーバー間およびファイルサーバー間で使用され本実施例で使用されている。ＯＳＤ（オブジェクトベースのストレージ装置）もまた本発明の実施例によるシステムで使用される。
【００６３】
サーバー上で実行されているＮＦＳクライアント（０３０１０２）がアプリケーション（０３０１０１）からファイルＩ／Ｏ要求を受信し、この要求を主ファイルサーバーに転送する。サーバーにはリダイレクトファイルシステム（リダイレクトＦＳ、０３０８）が備えられている。リダイレクトＦＳ（０３０８）はアプリケーションに仮想ファイルシステムを提供する。アプリケーションはファイルＩ／Ｏ要求を仮想ファイルシステムへ発行する。リダイレクトＦＳ（０３０８）は要求で指定されているファイル名が外部ファイルサーバーの物理ファイルにマッピングされているかを判断する。マッピングされていた場合は、リダイレクトＦＳ（０３０８）は外部ファイルサーバー（０３０６）の名前と物理ファイルの名前を主ファイルサーバーから取得する。リダイレクトＦＳ（０３０８）はファイルＩ／Ｏ要求を外部ファイルサーバーに転送する。要求で指定されたファイル名が外部ファイルサーバーの物理ファイルにマッピングされてない場合は、リダイレクトＦＳ（０３０８）は要求を主ファイルサーバーに転送する。
【００６４】
スイッチ０３０３はＮＦＳアクセス用のイーサネットスイッチあるいはＯＳＤアクセス用のファイバチャネルスイッチである。インフィニバンドスイッチも使用可能である。
【００６５】
主ファイルサーバー（０３０５）はサーバーにファイルレベルのデータアクセスを提供する。主ファイルサーバー（０３０５）はその内部ボリュームにファイルを保存する。ファイルには２つのタイプがある。１つは物理ファイル（０３０５０６、０３０５０７）で他は仮想ファイル（０３０５０８、０３０５０９）である。物理ファイルは主ファイルサーバーの内部ボリュームにデータが保存された実ファイルである。仮想ファイルは外部ファイルサーバーにデータが保存された実ファイルへのリンクである。ＮＦＳファイルサーバーが仮想ファイルへのファイルＩ／Ｏ要求を受信すると、ＮＦＳサーバーは要求を仮想ファイルにマッピングされた物理ファイルを有する外部ファイルサーバー（０３０６）へ転送する。主ファイルサーバー（０３０５）はネットワーク経由で外部ファイルサーバーに接続し、外部ファイルサーバーのファイルを読み書きすることができる。外部ファイルサーバー（０３０６）は従来のファイルサーバーで良い。
【００６６】
図１８に本発明の１つの実施例による仮想―物理ファイルマッピングテーブルの図を示す。主ファイルサーバー（０３０５）は仮想―物理ファイルマッピングテーブル（０７０１）を備えている。本テーブルは仮想ファイルと物理ファイルのリンクを含む情報を備えている。例えば、仮想ファイル“ｖＦｉｌｅ３”は“ファイルサーバーＢ”の物理ファイル“ｐＦｉｌｅ３”にリンクしている。
【００６７】
図１９に本発明の１つの実施例による仮想ファイル管理テーブルの図を示す。主ファイルサーバー（０３０５）は仮想ファイル管理テーブル（１２０１）を備えている。本テーブルは各仮想ファイルのデータが主ファイルサーバーにキャッシュ可能であるかを示す。また仮想ファイルのオーナーを示す。
【００６８】
図２０に本発明の１つの実施例による使用可能容量テーブルを示す。主ストレージシステムは使用可能容量テーブル（１６０１）を備えている。本テーブルは各ファイルサーバーが有しているフリー容量の大きさを含んでいる。
【００６９】
プロセス
図２１に本発明の１つの実施例によるファイルベースの下り方向ファイル移行プロセスのフローチャートを示す。主ファイルサーバーのＮＦＳサーバーは、例えば１時間に１回毎など定期的に本プロセスを実行する。本プロセスを実行することにより外部ファイルサーバーへ移動されるべき物理ファイルが存在するかが判断される。存在する場合は、ＮＦＳサーバーが当該ファイルを外部ファイルサーバーへ移動する。ボリュームレベルのシステムと同様、移動するファイルを決定する多くのポリシーがあり得る。例えば、主ファイルサーバーのＮＦＳサーバーが各ファイルへのデータアクセス数をカウントしても良い。
【００７０】
ＮＦＳサーバーが外部ファイルサーバーへ移動する物理ファイルを発見する「２１０１」。物理ファイルが主ファイルサーバーの内部ボリュームであることが望ましい。プロセスの説明上発見された物理ファイルはソースファイルと呼ばれる。該当するファイルがなければ、ＮＦＳサーバーは本プロセスを終了する「２１０１Ａ」。ＮＦＳサーバーは外部ファイルサーバーにファイルを生成する「２１０２」。ＮＦＳサーバーは、使用可能容量テーブルを用いて外部ファイルサーバーを発見する。この外部ファイルサーバーの使用可能容量はソースファイルのサイズより大きくなければならない。ファイルが生成されると、ＮＦＳサーバーは使用可能容量テーブルを変更して、ファイルを移動するのに容量が使用されたことを示す。本プロセスでは、生成されたファイルをターゲットファイルと呼ぶ。使用可能容量がない場合、ＮＦＳサーバーは本プロセスを終了する。
【００７１】
ＮＦＳサーバーはソースファイルをロックする。ソースファイルをロックできなければ、ＮＦＳサーバーは次回に試みる「２１０３」。ＮＦＳサーバーは主ファイルサーバーのみがターゲットファイルにアクセス可能となるようにターゲットファイルにセキュリティを設定する「２１０４」。ＮＦＳサーバーは主ファイルサーバーのソースファイルをターゲットファイルにコピーする「２１０５」。このようにして、ソースファイルはロックされているのでサーバーはいずれもソースファイルにアクセスできない。ＮＦＳサーバーは仮想―物理ファイルマッピングテーブルに新しいエントリーを生成し、仮想ファイルをターゲットファイルにリンクする「２１０６」。仮想ファイルのファイル名はソースファイル名と同じである。ソースが削除された後でも、サーバーは仮想ファイル名を指定することによりターゲットファイルにアクセスすることができる。ＮＦＳサーバーはソースファイルのロックを解除し削除する「２１０７」。ＮＦＳサーバーは仮想ファイルのデータを主ファイルサーバーのキャッシュメモリにＮＦＳサーバーがキャッシュ可能となるように仮想ファイル管理テーブルを変更する「２１０８」。ＮＦＳサーバーは主ファイルサーバーのみが当該仮想ファイルのオーナーとなるよう仮想ファイル管理テーブルを変更する「２１０９」。従って、いずれのサーバーも主ファイルサーバーを経由せずにターゲットファイルにアクセスできなくなる。ＮＦＳサーバーはこのプロセスを繰り返すことができる「２１０１」。
【００７２】
図２２に本発明の１つの実施例によるファイルベースの上り方向ファイル移行プロセスのフローチャートを示す。主ファイルサーバーのＮＦＳサーバーは、例えば１時間に１回毎など定期的に本プロセスを実行する。本プロセスにより外部ファイルサーバーから主ファイルサーバーへ移動されるべき仮想ファイルが存在するかが判断される。存在する場合は、ＮＦＳサーバーが外部ストレージシステムの当該物理ファイルを主ファイルサーバーの内部ボリュームへ移動する。ボリュームベースのシステムと同様、移動する仮想ファイルを決定する多くのポリシーがあり得る。
【００７３】
ＮＦＳサーバーは内部ファイルサーバーへ移動する外部ファイルサーバーの仮想ファイルを探し出す。これは仮想ファイルがアクセスされた回数あるいはユーザ要求に基づいて決定される「２２０１」。発見された仮想ファイルにマッピングされた物理ファイルを本プロセスではソースファイルと呼ぶ。該当する仮想ファイルが存在しなければ、ＮＦＳサーバーは本プロセスを終了する「２２０１Ａ」。ＮＦＳサーバーは仮想ファイル管理テーブルを使用して主ファイルサーバーの他に当該仮想ファイルのオーナーであるサーバーがあるかチェックする「２２０２」。存在する場合、ＮＦＳサーバーはこれらのオーナーに外部ファイルサーバーの当該仮想ファイルにアクセスしないよう要請し確認する「２２０３」。主ファイルサーバーの他に当該仮想ファイルのオーナーであるサーバーが存在しない場合、ＮＦＳサーバーは内部ボリュームにターゲットファイルを生成する「２２０４」。ターゲットファイル名は仮想ファイル名と同じである。主ファイルサーバーの使用可能容量はソースファイルのサイズより大きくなければならない。内部ボリュームに容量が得られなければＮＦＳサーバーは本プロセスを終了する。ＮＦＳサーバーは仮想ファイルとそのソースファイルをロックする。仮想ファイルとそのソースファイルがロックできなければ、ＮＦＳサーバーは次回に試みる「２２０５」。ＮＦＳサーバーはソースファイルをターゲットファイルにコピーする「２２０６」。ＮＦＳサーバーは仮想ファイルのエントリーを仮想―物理ファイルマッピングテーブルから削除する「２２０７」。ＮＦＳサーバーはソースファイルのロックを解除しソースファイルを削除する「２２０８」。ＮＦＳサーバーは、仮想ファイルのデータを主ファイルサーバーのキャッシュメモリにＮＦＳサーバーがキャッシュ可能となるように仮想ファイル管理テーブルを変更する「２２０９」。
【００７４】
図２３に本発明の１つの実施例によるファイルベースのリダイレクトＦＳプロセスのフローチャートを示す。リダイレクトＦＳはサーバーレベルの仮想ファイルシステムをアプリケーションに提供する。アプリケーションは仮想ファイルシステムへファイルＩ／Ｏ要求を発行する。リダイレクトＦＳは要求を受信し主ファイルサーバーに仮想ファイルの物理ファイルについて問い合わせする。物理ファイルの保存位置に応じてリダイレクトＦＳはファイルＩ／Ｏ要求をどこに送信するか、主ファイルサーバーか外部ファイルサーバーかを決定する。
【００７５】
リダイレクトＦＳはアプリケーションから仮想ファイルシステムへのファイルＩ／Ｏ要求を受信する「２７０１」。リダイレクトＦＳは主ファイルサーバーに要求されたファイルは物理ファイルであるか仮想ファイルであるかを問い合わせする「２７０２」。仮想ファイルであるかどうか判断される「２７０３」。仮想ファイルであれば、リダイレクトＦＳは仮想ファイルにリンクする物理ファイル名とその物理ファイルを有する外部ファイルサーバー名を取得する「２７０４」。仮想ファイルでなければ、リダイレクトＦＳはファイルＩ／Ｏ要求を物理ファイルを有するファイルサーバーに転送し「２７０５」、ファイルサーバーからの応答を待つ。リダイレクトＦＳは結果をアプリケーションに返す「２７０６」。
【００７６】
図２４に本発明の１つの実施例による分離プロセスのフローチャートを示す。時により、データを外部ストレージシステムに移動した後、移動されたデータと主ストレージシステムとの関係を維持する必要がない場合がある。これにより主ストレージシステムで必要な管理データの量が減少する。分離が関係を絶つ方法を提供する。
【００７７】
主ストレージシステムのディスクコントローラがサーバーから分離要求を受信するとディスクコントローラは指定されたデータを主ストレージシステムから外部ストレージシステムへ移行する。全データが外部ストレージシステムへ移動される「２８０１」。ディスクコントローラは移行されたデータの保存位置をそのメモリに保存する「２８０２」。ディスクコントローラは移行されたデータに使用した管理データを削除する「２８０３」。ディスクコントローラは保存位置情報をサーバーに返す。従って、サーバーは依然として主ストレージシステムなしで移行されたデータにアクセス可能である「２８０４」。
【００７８】
図２５に本発明の１つの実施例によるＯＳＤベースのシステムの仮想―物理オブジェクトマッピングテーブルを示す。ファイルベースのシステムと同様、仮想オブジェクトが導入され、外部ＯＳＤの物理オブジェクトにリンクされている。リダイレクトＦＳがＮＦＳの替わりにＯＳＤプロトコルを使用してオブジェクトにアクセスする。
【００７９】
図２６に本発明の１つの実施例によるファイル−ＯＳＤ混在システムの仮想―物理、ファイル―オブジェクトマッピングテーブルを示す。サーバーはＮＦＳプロトコルを使用してデータをファイルとして主ストレージシステムに保存する。次にファイルは外部ＯＳＤへオブジェクトとして移行される。リダイレクトＦＳは主ファイルサーバーにファイルとオブジェクトのマッピング関係を要請し、外部ＯＳＤのオブジェクトに直接アクセスし移行されたファイルを取得する。
【００８０】
図２７に本発明の１つの実施例による仮想オブジェクト管理テーブルの図を示す。主ファイルサーバーが仮想オブジェクト管理テーブル（１３０１）を有する。本テーブルは各仮想オブジェクトについてそのデータが主ファイルサーバーにキャッシュ可能かを示す。また仮想ファイルのオーナーも示す。
【００８１】
図２８に本発明の１つの実施例によるファイル−エクステント混在システムの仮想―物理、ファイル―エクステントマッピングテーブルの図を示す。サーバーはＮＦＳプロトコルを使用してデータをファイルとして主ファイルシステムに保存する。次にファイルは外部ストレージシステムへ一式のエクステントあるいは一式のディスクブロックとして移行される。リダイレクトＦＳは主ファイルサーバーにファイルと一式のエクステントあるいは一式のディスクブロックとのマッピング関係を要請し、外部ストレージシステムのエクステントあるいはディスクブロックに直接アクセスし移行されたファイルを取得する。ファイルを複数のストレージシステムに存在する複数のエクステントにマッピングすることができる。
【００８２】
図２９に本発明の１つの実施例によるリダイレクタを使用せず移行されたデータに直接アクセスするプロセスのフローチャートを示す。サーバーはリダイレクタを有していなくてもネットワークスイッチを介してターゲット物理ボリューム内の移行されたデータに直接アクセスすることができる。移行されたデータに直接アクセスするスクリプトがサーバーに搭載されている「２９０１」。ユーザまたはアプリケーションがスクリプトを実行する「２９０２」。スクリプトは、移行されたデータの情報を取得するため、仮想ボリュームのＩＤを指定して主ストレージと通信する「２９０３」。主ストレージシステムは移行されたデータを有するターゲット物理ボリュームのＩＤとターゲット物理ボリュームが位置づけられているターゲットストレージのＩＤを返す「２９０４」。次にスクリプトはユーザあるいはアプリケーションに移行されたデータのＩＤ情報を通知する。最後にユーザあるいはアプリケーションが本データを使用してターゲット物理ボリュームのデータに直接アクセスする「２９０６」。ここでは、主ストレージシステムがサーバーにターゲット物理ボリュームを使用しないよう要請することはできないので、主ストレージシステムが移行されたデータをそのローカルディスクに戻さないか、または仮想ボリュームとターゲット物理ボリュームの関連が切り離されていることが望ましい。
【００８３】
本発明の実施例によれば、データがターゲット物理ボリュームに移行されたとき、ターゲットストレージのＬＵＮセキュリティ機能を使用して、ターゲット物理ボリュームにアクセスできるサーバーを制限することができる。ターゲット物理ボリュームに移行されたデータをターゲットストレージシステムのＷＯＲＭあるいは論理デバイス（ＬＤＥＶ）ガード機能を使用して保護することができる。ＬＤＥＶガード機能はどのサーバーにも物理ボリュームのデータを変更することを許可しない。読み出しアクセスのみが許される。データがターゲット物理ボリュームへ移行されたとき主ストレージはターゲットストレージのＬＤＥＶガード機能を使用してボリュームを保護する。これは規格に準拠して長期間データをアーカイブするのに対して有用である。ある種の規格は企業に対してデータを一定の期間、例えば４年間データを変更しないよう求めている。ＬＤＥＶガード機能を使用して、データが変更されていないことを保証することができる。しかしながら、この種のデータを主ストレージに保存するのは高価になるので、本発明の実施例はこれらのデータの外部ストレージへの移動、次いでＬＤＥＶガード機能を用いたデータ保護を提供する。このようにして、いずれのホストも主ストレージを経由せずに保護されたデータに直接アクセスできる。本発明はＷＯＲＭあるいはＬＤＥＶガード機能を使用することに限定されるものではなく、本発明の範囲内において他の保護手段を実行してターゲット物理ボリュームを保護することが可能である。
【００８４】
以上の例は単に説明の目的で提供されたもので、本発明を限定すると解釈されるものでは決してないことを記しておく。本発明は好適なる実施例を参照しながら説明されているが、ここで使用された言葉は記述と説明の言葉であり、限定するための言葉ではないことを理解するべきである。本発明の特徴である範囲と概念から外れることなく、ここに述べられ、添付される請求項の範囲内で、変更を加えることが可能である。本発明は特定の方法、材料、および実施例を参照して説明されているが、本発明はここに開示された詳細事項に限定することを意図しているものではなく、添付の請求項の範囲で、すべての機能的に同等な構成、方法、使用法にまで広がるものである。
【図面の簡単な説明】
【００８５】
【図１】本発明の１つの実施例によるボリュームベースのシステムの図である。
【図２】本発明の１つの実施例による仮想―物理ボリュームマッピングテーブルの図である。
【図３】本発明の１つの実施例による仮想ボリューム管理テーブルの図である。
【図４】本発明の１つの実施例によるフリーボリュームリストの図である。
【図５】本発明の１つの実施例による下り方向ボリューム移行プロセスのフローチャートである。
【図６】本発明の１つの実施例による上り方向ボリューム移行プロセスのフローチャートである。
【図７】本発明の１つの実施例による直接ボリュームアクセス要求を処理するフローチャートである。
【図８】本発明の１つの実施例によるボリュームベースのリダイレクタプロセスのフローチャートである。
【図９】本発明の１つの実施例による仮想―物理ボリュームマッピングテーブルである。
【図１０】本発明の１つの実施例によるエクステントレベルのシステムの図である。
【図１１】本発明の１つの実施例による仮想―物理エクステントマッピングテーブルである。
【図１２】本発明の１つの実施例によるエクステントベースのフリーエクステントリストの図である。
【図１３】本発明の１つの実施例による下り方向エクステント移行プロセスのフローチャートである。
【図１４】本発明の１つの実施例による上り方向エクステント移行プロセスのフローチャートである。
【図１５】本発明の１つの実施例による直接エクステントアクセス要求プロセスの図である。
【図１６】本発明の１つの実施例によるエクステントベースのリダイレクタプロセスのフローチャートである。
【図１７】本発明の１つの実施例によるファイルレベルのシステムの図である。
【図１８】本発明の１つの実施例による仮想―物理ファイルマッピングテーブルの図である。
【図１９】本発明の１つの実施例による仮想ファイル管理テーブルの図である。
【図２０】本発明の１つの実施例による使用可能容量テーブルの図である。
【図２１】本発明の１つの実施例によるファイルベースの下り方向ファイル移行プロセスのフローチャートである。
【図２２】本発明の１つの実施例によるファイルベースの上り方向ファイル移行プロセスのフローチャートである。
【図２３】本発明の１つの実施例によるファイルベースのリダイレクトＦＳプロセスの図である。
【図２４】本発明の１つの実施例による分離プロセスのフローチャートである。
【図２５】本発明の１つの実施例によるＯＳＤベースのシステムの仮想―物理オブジェクトマッピングテーブルの図である。
【図２６】本発明の１つの実施例によるファイル―ＯＳＤ混在システムにおける仮想―物理、ファイル―オブジェクトマッピングテーブルの図である。
【図２７】本発明の１つの実施例による仮想オブジェクト管理テーブルの図である。
【図２８】本発明の１つの実施例によるファイル−エクステント混在システムにおける仮想―物理、ファイル―エクステントマッピングテーブルの図である。
【図２９】本発明の１つの実施例によるリダイレクタを使用せずに移行されたデータに直接アクセスするプロセスのフローチャートである。
【符号の説明】
【００８６】
０１０１……サーバーＡ、０１０１０１……アプリケーション、０１０２……サーバーＢ、０１０２０１……アプリケーション、０１０８……リダイレクタ、０１０３……スイッチ、０１０５……主ストレージシステムＡ、０１０５０１……インタフェース、０１０５０２……外部とのリンクを有するディスクコントローラ、０１０５０３……キャッシュメモリ、０１０６……外部ストレージシステムＢ、０１０６０１……インタフェース、０１０６０２……従来のディスクコントローラ、０１０６０３……キャッシュメモリ。
【図１】
2006072981.tif 000003
【図２】
2006072981.tif 000004
【図３】
2006072981.tif 000005
【図４】
2006072981.tif 000006
【図５】
2006072981.tif 000007
【図６】
2006072981.tif 000008
【図７】
2006072981.tif 000009
【図８】
2006072981.tif 000010
【図９】
2006072981.tif 000011
【図１０】
2006072981.tif 000012
【図１１】
2006072981.tif 000013
【図１２】
2006072981.tif 000014
【図１３】
2006072981.tif 000015
【図１４】
2006072981.tif 000016
【図１５】
2006072981.tif 000017
【図１６】
2006072981.tif 000018
【図１７】
2006072981.tif 000019
【図１８】
2006072981.tif 000020
【図１９】
2006072981.tif 000021
【図２０】
2006072981.tif 000022
【図２１】
2006072981.tif 000023
【図２２】
2006072981.tif 000024
【図２３】
2006072981.tif 000025
【図２４】
2006072981.tif 000026
【図２５】
2006072981.tif 000027
【図２６】
2006072981.tif 000028
【図２７】
2006072981.tif 000029
【図２８】
2006072981.tif 000030
【図２９】
2006072981.tif 000031
【外国語明細書】
2006072981000001.pdf