(57)【要約】【課題】ネットワークストレージの可用性又は信頼性を向上させる。【解決手段】１以上のネットワークストレージ１１が有するファイルシステム１２について、移行元のファイルシステム１２−１を移行先のファイルシステム１２−２に移行する移行処理部１３１と、前記移行元が格納する移行対象オブジェクトと前記移行先に格納される当該移行対象オブジェクトとを管理するオブジェクト管理情報１３２１と、移行処理の進捗状況をオブジェクトごとに管理する移行管理情報１３２２と、を記憶するメモリ部１３２と、上位装置１４から前記移行対象オブジェクトに対する書込リクエストを受信した場合、前記管理情報１３２１及び１３２２に基づき前記移行元及び移行先の一方又は双方のファイルシステム１２を選択する選択部１３３と、選択した前記ファイルシステム１２に対して、前記書込リクエストに係る処理を実行するリクエスト処理部１３４と、をそなえる。【選択図】図５
2018010576.tif 000002
【特許請求の範囲】
【請求項１】
１以上のネットワークストレージと、
上位装置と前記１以上のネットワークストレージとの間の通信を中継する中継装置と、をそなえ、
前記中継装置は、
前記１以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第１移行処理を行なう移行処理部と、
前記移行元のファイルシステムが格納する前記第１移行処理の対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理するオブジェクト管理情報と、前記第１移行処理の進捗状況をオブジェクトごとに管理する移行管理情報と、を記憶するメモリ部と、
前記上位装置から前記対象オブジェクトに対する書込リクエストを受信した場合、前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択する選択部と、
前記選択部が選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行するリクエスト処理部と、をそなえる
ことを特徴とする、情報処理システム。
【請求項２】
前記移行処理部は、前記対象オブジェクトを所定サイズのデータ領域単位で移行し、
前記移行管理情報は、前記対象オブジェクトに係る前記第１移行処理の進捗状況を、前記所定サイズのデータ領域単位で管理し、
前記選択部は、前記移行管理情報を参照し、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元及び移行先の双方のファイルシステムを選択する、
ことを特徴とする、請求項１記載の情報処理システム。
【請求項３】
前記選択部は、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記移行管理情報に対して、前記書込リクエストが対象とするデータ領域について移行済を示す情報を設定し、
前記移行処理部は、前記第１移行処理において、前記移行管理情報を参照し、前記書込リクエストが対象とするデータ領域の移行を行なわない、
ことを特徴とする、請求項２記載の情報処理システム。
【請求項４】
前記選択部は、前記書込リクエストが移行中のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元のファイルシステムを選択する、
ことを特徴とする、請求項２又は請求項３記載の情報処理システム。
【請求項５】
前記選択部は、前記リクエスト処理部による前記書込リクエストに係る処理の実行に起因して前記移行元及び移行先のファイルシステム間でデータ領域にデータ不整合が発生した場合、前記移行管理情報に対して当該データ領域におけるデータ不整合の発生を示す情報を設定し、
前記移行処理部は、前記第１移行処理において、前記移行管理情報に基づき、データ不整合が発生したデータ領域の移行を行なう、
ことを特徴とする、請求項２〜４のいずれか１項記載の情報処理システム。
【請求項６】
前記移行処理部は、前記第１移行処理が完了した場合、前記移行元及び移行先のファイルシステム間の等価状態を維持する第２移行処理を行なう、
ことを特徴とする、請求項１〜５のいずれか１項記載の情報処理システム。
【請求項７】
前記中継装置は、
前記移行元及び移行先ファイルシステム間でデータ不整合が発生しているオブジェクトを示す情報を管理するログ管理部、をそなえ、
前記移行処理部は、前記第２移行処理において、前記ログ管理部を参照し、前記移行元及び移行先ファイルシステム間でデータ不整合が発生したオブジェクトの移行を行なう、
ことを特徴とする、請求項６記載の情報処理システム。
【請求項８】
前記移行処理部は、前記第１移行処理の実行前に、前記移行元のファイルシステムに格納されるオブジェクトの属性情報を前記移行先のファイルシステムに移行する初期移行処理を行なう、
ことを特徴とする、請求項１〜７のいずれか１項記載の情報処理システム。
【請求項９】
１以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第１移行処理を行なう移行処理部と、
前記移行元のファイルシステムが格納する前記第１移行処理の対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理するオブジェクト管理情報と、前記第１移行処理の進捗状況をオブジェクトごとに管理する移行管理情報と、を記憶するメモリ部と、
上位装置から前記対象オブジェクトに対する書込リクエストを受信した場合、前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択する選択部と、
前記選択部が選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行するリクエスト処理部と、をそなえる
ことを特徴とする、情報処理装置。
【請求項１０】
コンピュータに、
１以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第１移行処理を行ない、
上位装置から前記対象オブジェクトに対する書込リクエストを受信した場合、メモリ部が記憶する、前記移行元のファイルシステムが格納する前記第１移行処理の対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理するオブジェクト管理情報と、前記第１移行処理の進捗状況をオブジェクトごとに管理する移行管理情報と、を参照し、
前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択し、
選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行する、
処理を実行させることを特徴とする、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、及び制御プログラムに関する。
【背景技術】
【０００２】
業務サーバ等の上位装置に対してファイルシステムを提供するネットワークストレージが知られている。ネットワークストレージとしては、例えば、ＮＦＳ（Network File System）等のファイルシステムを実装し、上位装置に提供するＮＡＳ（Network Attached Storage）等のストレージ装置が挙げられる。
【０００３】
ネットワークストレージでは、ファイルシステム間でのデータ移行、例えばオンラインマイグレーション（以下、単に「マイグレーション」と表記する場合がある）が行なわれる場合がある。オンラインマイグレーションでは、ユーザ業務を停止せずに、運用中の移行元のファイルシステムのデータが移行先のファイルシステムに移動される。
【０００４】
以下、移行元及び移行先のファイルシステムを、それぞれ、「ソース」及び「ターゲット」と表記する場合がある。また、ソース及びターゲットのネットワークストレージを、それぞれ、「ソースストレージ」及び「ターゲットストレージ」と表記する場合がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１７９４２５号公報
【特許文献２】特開２０１０−２６２４８８号公報
【特許文献３】特開２０１４−１０５４０号公報
【特許文献４】国際公開第２０１５／０６８２０８号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ネットワークストレージにおいては、マイグレーションの実行中にシステムの可用性又は信頼性が低下する場合がある。
【０００７】
例えば、マイグレーションでは、データが未移動の記憶領域に対してＮＦＳリクエスト等のアクセス要求が発行される場合、ターゲットストレージが、ソースからデータを取得した後にＮＦＳリクエストを処理することがある。このとき、ソースからのデータ取得に時間がかかると、業務サーバは、発行したＮＦＳリクエストについてＩ／Ｏ（Input / Output）タイムアウトエラーと判断し、業務が継続できない場合がある。
【０００８】
また、データ移動後のファイルに対するＮＦＳリクエストは、ソースストレージではなくターゲットストレージで実行されることがある。マイグレーションにおいて、移動が完了したファイルは、ソースから削除されてターゲットにのみ存在するため、マイグレーション中にターゲットでストレージ故障が発生した場合、運用中の業務データが喪失する場合がある。
【０００９】
１つの側面では、本発明は、ネットワークストレージの可用性又は信頼性を向上させることを目的の１つとする。
【００１０】
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００１１】
１つの側面では、情報処理システムは、１以上のネットワークストレージと、上位装置と前記１以上のネットワークストレージとの間の通信を中継する中継装置と、をそなえてよい。前記中継装置は、移行処理部と、メモリ部と、選択部と、リクエスト処理部と、をそなえてよい。前記移行処理部は、前記１以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第１移行処理を行なってよい。前記メモリ部は、オブジェクト管理情報と、移行管理情報と、を記憶してよい。前記オブジェクト管理情報は、前記移行元のファイルシステムが格納する前記第１移行処理の対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理してよい。前記移行管理情報は、前記第１移行処理の進捗状況をオブジェクトごとに管理してよい。前記選択部は、前記上位装置から前記対象オブジェクトに対する書込リクエストを受信した場合、前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択してよい。前記リクエスト処理部は、前記選択部が選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行してよい。
【発明の効果】
【００１２】
１つの側面では、ネットワークストレージの可用性又は信頼性を向上できる。
【図面の簡単な説明】
【００１３】
【図１】情報処理システムの構成例を示すブロック図である。
【図２】ファイルシステムの一例を示す図である。
【図３】ファイルシステムのマイグレーションの手順の一例を説明する図である。
【図４】情報処理システムの動作例を説明するフローチャートである。
【図５】一実施形態に係る情報処理システムの構成例を示すブロック図である。
【図６】一実施形態に係る情報処理システムの構成例を示すブロック図である。
【図７】マイグレーション処理部のフェーズ管理の一例を説明する図である。
【図８】ＮＦＳリクエストのアクセス先の選択例を示す図である。
【図９】マイグレーション実行中におけるＮＦＳアクセス先の一例を示す図である。
【図１０】比較例に係るメタデータ管理情報の一例を示す図である。
【図１１】情報格納部が格納する情報の一例を示す図である。
【図１２】データ不整合発生フラグの一例を示す図である。
【図１３】オブジェクトデータの一例を示す図である。
【図１４】属性情報の一例を示す図である。
【図１５】コピー管理情報の一例を示す図である。
【図１６】マップ領域のエントリの一例を示す図である。
【図１７】コピー済フラグにＯＮが設定されたマップ領域の一例を示す図である。
【図１８】ダーティフラグにＯＮが設定されたマップ領域の一例を示す図である。
【図１９】ロギング情報の一例を示す図である。
【図２０】更新系ＮＦＳリクエストによりデータ不整合が発生した状態の一例を示す図である。
【図２１】情報処理システムにおける全体の動作例を説明するフローチャートである。
【図２２】情報処理システムにおける全体の動作例を説明するフローチャートである。
【図２３】情報処理システムにおける全体の動作例を説明するフローチャートである。
【図２４】マイグレーション対象のファイルシステムへのＮＦＳアクセスの動作例を説明するフローチャートである。
【図２５】マイグレーション対象のファイルシステムへのＮＦＳアクセスの動作例を説明するフローチャートである。
【図２６】初期コピーフェーズの動作例を説明するフローチャートである。
【図２７】初期コピーフェーズの動作例を説明するフローチャートである。
【図２８】フルコピーフェーズの動作例を説明するフローチャートである。
【図２９】フルコピーフェーズの動作例を説明するフローチャートである。
【図３０】差分コピーフェーズの動作例を説明するフローチャートである。
【図３１】差分コピーフェーズの動作例を説明するフローチャートである。
【図３２】一実施形態に係る情報処理システムのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
【００１５】
なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。また、以下の説明において複数の装置を区別しない場合には、符号のハイフン“−”以降の数字を省略して表記する場合がある。一例を示すと、図１に示すＮＡＳ１１０−１及び１１０−２を区別しない場合には、単にＮＡＳ１１０と表記する場合がある。
【００１６】
〔１〕一実施形態
はじめに、ストレージ装置が提供する機能を利用したマイグレーションについて説明する。図１は、情報処理システム１００の構成例を示すブロック図である。
【００１７】
以下の説明では、移行元及び移行先のファイルシステム１３０−１及び１３０−２を、それぞれ、「ソース１３０−１」及び「ターゲット１３０−２」と表記する場合がある。また、ソース１３０−１及びターゲット１３０−２が実装されるＮＡＳ１１０−１及び１１０−２を、それぞれ、「ソースストレージ１１０−１」及び「ターゲットストレージ１１０−２」と表記する場合がある。
【００１８】
情報処理システム１００では、ターゲットストレージ１１０−２がマイグレーション機能を有するコントローラ１２０をそなえる。
【００１９】
コントローラ１２０は、データの移動が行なわれていないファイルに対して業務サーバ４からＮＦＳリクエスト（初回アクセス）を受信すると（図１の矢印（ｉ））、ソース１３０−１からターゲット１３０−２に対象データを移動する（矢印（ii）、（iii））。そして、コントローラ１２０は、ターゲット１３０−２に移動したファイルに対してＮＦＳリクエストを実行する（矢印（iv）、（ｖ））。
【００２０】
なお、ファイルがターゲット１３０−２に移動すれば、次回以降の当該ファイルに対するＮＦＳリクエストは、ターゲット１３０−２で実行される。
【００２１】
ＮＦＳリクエストは、ＮＦＳプロトコルを使用したＩ／Ｏリクエストであり、ＮＦＳプロトコルは、ファイルシステム１３０に存在するファイルやディレクトリをネットワーク経由でアクセスするための通信プロトコルの一例である。
【００２２】
ＮＦＳリクエストには、参照系ＮＦＳリクエストと、更新系リクエストとが含まれてよい。参照系リクエストは、ファイルシステム１３０からディレクトリやファイル等のデータを取得するための要求である。更新系リクエストは、ファイルシステム１３０に対してディレクトリやファイル等のデータの作成・更新・削除等を行なうための要求である。
【００２３】
次に、ファイルシステム１３０について説明する。ファイルシステム１３０は、図２に例示するように、ファイル（「File-x」と表記；ｘは自然数）及びサブディレクトリ（「dir-y」と表記；ｙは自然数）を含む、ディレクトリの階層を有してよい。ファイルのシステムの基点となるディレクトリは「ルート」と称されてよい。ファイルやディレクトリには、ルートからのパスを構成する一連の名前を使って、一意な名前を付けることができる。なお、ファイルやディレクトリは、「オブジェクト」と称されてもよい。
【００２４】
コントローラ１２０は、マイグレーションにおいて、ソース１３０−１のファイルやディレクトリを、メタデータや属性情報とともに、ターゲット１３０−２に移動してよい。なお、「メタデータ」とは、ファイルシステム１３０の構造、例えばディレクトリやファイルの階層等を管理する情報の一例であり、「属性情報」とは、ディレクトリやファイルのアクセス権限や所有者等の属性を管理する情報の一例である。
【００２５】
図３は、ファイルシステム１３０のマイグレーションの手順の一例を説明する図である。ディレクトリのマイグレーションの場合、コントローラ１２０は、ソース１３０−１からメタデータ（ディレクトリ階層の情報）を取得し、ターゲット１３０−２に対して、メタデータに沿ってスタブを作成する。「スタブ」は、マイグレーション制御で使用する制御ファイルの一例である。
【００２６】
次いで、コントローラ１２０は、ソース１３０−１から属性情報を取得し、ターゲット１３０−２のスタブファイルに反映する。全ての情報をスタブに反映できたら、当該ディレクトリは、スタブの状態が解除され、通常ディレクトリの状態となる。
【００２７】
ファイルのマイグレーションの場合、コントローラ１２０は、ディレクトリの場合と同様に、ソース１３０−１からメタデータ、属性情報を順に取得し、スタブを作成する。また、コントローラ１２０は、ソース１３０−１からデータを取得し、ターゲット１３０−２のスタブファイルに反映する。全ての情報をスタブに反映できたら、当該ファイルは、スタブの状態が解除され、通常ファイルの状態となる。
【００２８】
なお、スタブ状態のディレクトリ又はファイルに対するＮＦＳアクセスは、ソース２０−１からデータが取得されスタブファイルに反映されてから、換言すればコピー完了後に、ターゲット２０−２に対して実行される。一方、通常ディレクトリ又は通常ファイルに対するＮＦＳアクセスは、ターゲット１３０−２に対して実行される。
【００２９】
以下、図４を参照して、情報処理システム１００の動作例について説明する。なお、以下の動作例では、業務サーバ１４０のＮＦＳクライアント１５０がマイグレーション対象のファイルシステム１３０に対してＮＦＳアクセスを行なう場合を前提とする。
【００３０】
なお、図４では、便宜上、２つのファイルシステム１３０が１つのＮＡＳ１１０に存在するものとして示している。
【００３１】
業務サーバ１４０のＮＦＳクライアント１５０がＮＦＳプロトコルによるアクセス要求を送信すると（処理Ｐ１０１）、ＮＡＳ１１０のコントローラ１２０は、“File:Write RPC”依頼を受け付ける（処理Ｐ１０２）。処理Ｐ１０２は、コントローラ１２０のアクセス制御部１２１が実行してよい。なお、「ＲＰＣ」は、Remote Procedure Callの略称であり、システム間を跨るプロシージャコールを実行するための要求である。
【００３２】
アクセス制御部１２１は、要求に応じて、管理情報、例えばメタデータの検索、取得、又は、登録を行ない（処理Ｐ１０３）、アクセスの対象ファイルがマイグレーション済か否かを判定する（処理Ｐ１０４）。マイグレーション済の場合（処理Ｐ１０４でＹｅｓ）、処理がＰ１１９に移行する。
【００３３】
一方、マイグレーション済でない場合（処理Ｐ１０４でＮｏ）、アクセス制御部１２１は、コントローラ１２０のコピー制御部１２２に対して、対象ファイルのマイグレーションを指示する（処理Ｐ１０５）。
【００３４】
コピー制御部１２２は、アクセス制御部１２１からの依頼を受け付けると（処理Ｐ１０６）、ＮＦＳプロトコルのgetattr操作によりソース１３０−１にファイル属性の読み出しを指示する（処理Ｐ１０７）。ソース１３０−１は、ファイル属性を読み出して応答する（処理Ｐ１０８）。
【００３５】
コピー制御部１２２は、ＮＦＳプロトコルのcreate操作によりターゲット１３０−２にファイル作成を指示し（処理Ｐ１０９）、ターゲット１３０−２は、ファイルを作成する（処理Ｐ１１０）。
【００３６】
コピー制御部１２２は、ソース１３０−１から取得したファイル属性に基づき、ＮＦＳプロトコルのsetattr操作により、作成したファイルへのファイル属性の設定をターゲット１３０−２に指示する（処理Ｐ１１１）。ターゲット１３０−２は、ファイルにファイル属性を設定する（処理Ｐ１１２）。
【００３７】
次いで、コピー制御部１２２は、ＮＦＳプロトコルのread操作によりソース１３０−１にファイルデータの読み出しを指示し（処理Ｐ１１３）、ソース１３０−１はファイルデータを読み出して応答する（処理Ｐ１１４）。
【００３８】
コピー制御部１２２は、ＮＦＳプロトコルのwrite操作により、ソース１３０−１から読み出したファイルデータの書き込みをターゲット１３０−２に指示し（処理Ｐ１１５）、ターゲット１３０−２は、ファイルデータを書き込む（処理Ｐ１１６）。
【００３９】
コピー制御部１２２は、ファイルの全データがコピー済か否かを判定し（処理Ｐ１１７）、ファイルの全データがコピー済でない場合（処理Ｐ１１７でＮｏ）、処理がＰ１１３に移行する。一方、ファイルの全データがコピー済の場合（処理Ｐ１１７でＹｅｓ）、コピー制御部１２２は、アクセス制御部１２１に完了を通知する（処理Ｐ１１８）。
【００４０】
アクセス制御部１２１は、ＮＦＳプロトコルのwrite操作により、処理Ｐ１０２で受け付けた対象ファイルへの書込アクセスをターゲット１３０−２に指示し（処理１１９）、ターゲット１３０−２は、対象ファイルへ書込アクセスを行なう（処理Ｐ１２０）。
【００４１】
アクセス制御部１２１は、ＮＦＳプロトコルにより業務サーバ１４０に対して完了を通知し（処理Ｐ１２１）、ＮＦＳクライアント１５０が完了待ち状態で通知を受信し（処理Ｐ１２２）、処理が終了する。なお、処理Ｐ１１０でターゲット１３０−２にファイルが作成されてから処理Ｐ１１７でＹｅｓ判定となるまでは、ファイルはスタブ状態である。
【００４２】
図１及び図４に例示するように、ＮＡＳ１１０が提供するマイグレーション機能を利用した情報処理システム１００では、以下のように、マイグレーションの実行中にシステムの可用性又は信頼性が低下する場合がある。
【００４３】
例えば、対象ファイルがマイグレーション済でない場合（処理Ｐ１０４でＮｏ）、対象ファイルに対するＮＦＳリクエストは、処理Ｐ１０５〜Ｐ１１８の実行を待つことになり、ＮＦＳクライアント１５０はＩ／Ｏタイムアウトエラーと判断する場合がある。業務サーバ１４０は、ファイルコピーが完了するまでは対象ファイルにアクセス不可のため、業務を継続したまま、例えばシステムイメージ等の巨大ファイルのマイグレーションを実施することは、運用上困難となる。
【００４４】
また、データ移動が完了したファイルに対するＮＦＳリクエストは、ターゲット１３０−２で実行されるため、マイグレーション中にターゲット１３０−２でストレージ故障が発生した場合、運用中の業務データが喪失する場合がある。
【００４５】
さらに、ＮＡＳ１１０が提供する機能を利用した場合、ＮＡＳ１１０の選択肢が限定されてしまい、ユーザの業務要件、例えば、機能、性能、コスト、提供ベンダ等に最適なＮＡＳ１１０が選択できない場合がある。また、ユーザシステムのベンダロックインが加速することになる。
【００４６】
例えば、ＮＡＳ１１０が、自身のＮＡＳ１１０へのマイグレーションを想定した機能を有する一方、他のＮＡＳ１１０へのマイグレーションが不可能である場合、移行先のＮＡＳ１１０の選択が、移行元でサポートされるＮＡＳ１１０に限定されることになる。
【００４７】
また、マイグレーションの手法として、ソースストレージ１１０−１及びターゲットストレージ１１０−２の筐体間データコピー機能を利用したマイグレーション方法を採用することも考えられる。しかし、筐体間データコピー機能は、ブロックストレージの機能を使用して実現されているため、ファイルシステム１３０と連携することなく、ＮＡＳ１１０に格納されたデータをコピーする。このため、ソース１３０−１及びターゲット１３０−２のデータが等価状態になった後、ターゲット１３０−２で運用を継続するためには、運用中の業務を停止することになる。また、ＮＡＳ１１０のＩＰ（Internet Protocol）アドレスの変更等の作業を行なうことになる。
【００４８】
さらに、筐体間データコピー機能は、ベンダ独自の技術で実装されることが多いため、ターゲットストレージ１１０−２はソースストレージ１１０−１と同じ機種に限定される。加えて、筐体間データコピー機能は、ＮＡＳ１１０のファームウェアバージョンに依存するため、事前にソースストレージ１１０−１のファームウェアのバージョンアップを要求されることがある。
【００４９】
なお、作業者は、ＮＡＳ１１０が提供するマイグレーション機能を使用せずに、業務サーバ１４０又はコントローラ１２０等のＯＳ（Operating System）標準のコピー機能を使用してマイグレーション作業を実施することも考えられる。しかし、この場合、作業者には、作業要員の確保、環境の用意、マイグレーションのための一時的な業務停止等の多くの負担が生じ、マイグレーションに係るコストが増加することがある。
【００５０】
そこで、一実施形態では、以下のように、業務を継続しながらＮＡＳのストレージ更改（新陳代謝）を可能とする情報処理システムについて説明する。
【００５１】
〔１−１〕一実施形態に係る情報処理システムについて
以下、一実施形態について簡単に説明する。図５は、一実施形態に係る情報処理システム１０の構成例を示す図である。図５に示すように、情報処理システム１０は、例示的に、１以上（図５では２台）のネットワークストレージ１１−１及び１１−２、中継装置１３、及び、上位装置１４をそなえてよい。
【００５２】
ネットワークストレージ１１−１及び１１−２は、それぞれ、ファイルシステム１２−１及び１２−２を有してよい。ファイルシステム１２は、ファイルやディレクトリ等のオブジェクトを含んでよい。なお、ネットワークストレージ１１としては、例えば、ＮＡＳが挙げられる。
【００５３】
中継装置１３は、上位装置１４と１以上のネットワークストレージ１１との間の通信を中継してよい。中継装置１３は、図５に例示するように、移行処理部１３１、メモリ部１３２、選択部１３３、及び、リクエスト処理部１３４をそなえてよい。
【００５４】
移行処理部１３１は、１以上のネットワークストレージ１１が有するファイルシステム１２について、移行元のファイルシステム１２−１を移行先のファイルシステム１２−２に移行する第１移行処理を行なってよい。例えば、第１移行処理では、ファイルシステム１２−１が有する全てのオブジェクトが、オブジェクトごとにファイルシステム１２−２に移動又はコピーされてよい（図５の矢印（Ｉ）参照）。
【００５５】
メモリ部１３２は、オブジェクト管理情報１３２１及び移行管理情報１３２２をそなえてよい。オブジェクト管理情報１３２１は、移行元のファイルシステム１２−１が格納する第１移行処理の対象オブジェクトと、移行先のファイルシステム１２−２に格納される当該対象オブジェクトとを管理する。移行管理情報１３２２は、第１移行処理の進捗状況をオブジェクトごとに管理する。
【００５６】
選択部１３３は、上位装置１４から対象オブジェクトに対する書込リクエストを受信した場合、オブジェクト管理情報１３２１及び移行管理情報１３２２に基づき移行元及び移行先の一方又は双方のファイルシステム１２を選択してよい。
【００５７】
リクエスト処理部１３４は、選択部１３３が選択したファイルシステム１２に対して、書込リクエストに係る処理を実行してよい（矢印（II）参照）。
【００５８】
なお、選択部１３３は、移行処理部１３１及びリクエスト処理部１３４がそれぞれ有する機能を連携させることによって実現されてもよい。
【００５９】
以上のように、書込リクエストに係る処理が実行されるファイルシステム１２が、第１移行処理の進捗状況、例えば、対象オブジェクトの未移行、移行中、移行済等の情報に基づいて、選択される。
【００６０】
従って、書込リクエストの実行が待たされないように移行元のファイルシステム１２を選択したり、或いは、データの冗長性を確保するために、移行元及び移行先の双方のファイルシステム１２を選択したりすることができる。これにより、図１に例示する情報処理システム１００と比較して、ネットワークストレージの可用性又は信頼性を向上できる。また、ファイルシステム１２の移行中におけるネットワークストレージの可用性又は信頼性を、移行前と同等に維持する（保つ）ことができる。
【００６１】
〔１−２〕情報処理システムの構成例
以下、一実施形態に係る情報処理システムについて、図６を参照して説明する。図６は、一実施形態に係る情報処理システム１の構成例を示すブロック図である。図６に示すように、情報処理システム１は、例示的に、１以上（図６では２台）のＮＡＳ２−１及び２−２、プロキシサーバ３、及び、１以上（図６では２台）の業務サーバ４−１及び４−２をそなえてよい。
【００６２】
なお、ＮＡＳ２は、情報処理システム１に１台だけ存在してもよいし、３台以上存在してもよい。また、業務サーバ４は、情報処理システム１に１台だけ存在してもよいし、３台以上存在してもよい。
【００６３】
図６の例において、プロキシサーバ３と業務サーバ４とは、ＬＡＮ（Local Area Network）ケーブル、或いは、図示しないネットワークを介して接続されてよい。ネットワークには、ＬＡＮやＷＡＮ（Wide Area Network）等のイントラネット、或いはインターネット等が含まれてもよい。また、ＮＡＳ２とプロキシサーバ３とは、例えば、ＦＣ（Fibre Channel）ケーブル又はＳＡＳケーブルによってＳＣＳＩ接続されてよい。ＳＡＳは、Serial Attached SCSI (Small Computer System Interface)の略称である。なお、ＳＣＳＩ接続される装置は、ＳＡＮ（Storage Area Network）を構成してもよい。
【００６４】
ＮＡＳ２は、図５に示すネットワークストレージ１１の一例である。ＮＡＳ２は、ＮＦＳサーバ機能を搭載し、１以上のファイルシステム２０を業務サーバ４に提供してよい。例えば、ＮＡＳ２−１はファイルシステム２０−１を、ＮＡＳ２−２はファイルシステム２０−２を、それぞれ業務サーバ４に提供してよい。
【００６５】
なお、ＮＡＳ２は、ＮＦＳプロトコル以外のファイル共有プロトコルをサポートしてもよい。ファイル共有プロトコルとしては、ＮＦＳプロトコルの他に、例えば、ＳＭＢ（Server Message Block）プロトコル等が挙げられる。
【００６６】
ＮＡＳ２は、ファイルシステム２０の記憶領域として、複数の記憶装置をそなえてよい。なお、複数の記憶装置によりＲＡＩＤ（Redundant Arrays of Inexpensive Disks）が構成されてもよい。記憶装置としては、例えばＨＤＤ（Hard Disk Drive）等の磁気ディスク装置やＳＳＤ（Solid State Drive）等の半導体ドライブ装置等が挙げられる。
【００６７】
業務サーバ４は、図５に示す上位装置１４の一例である。業務サーバ４では、ＮＦＳを利用する顧客の業務が動作してよい。業務サーバ４は、機能構成として、ＮＦＳクライアント４０を有してよい。ＮＦＳクライアント４０は、標準ＮＦＳプロトコルを利用して、ＮＡＳ２に搭載されているファイルシステム２０にアクセスする。
【００６８】
プロキシサーバ３は、図５に示す中継装置１３の一例である。プロキシサーバ３は、業務サーバ４と１以上のＮＡＳ２との間（中間層）に介設され、業務サーバ４と１以上のＮＡＳ２との間の通信を中継してよい。例えば、プロキシサーバ３は、業務サーバ４からの標準ＮＦＳプロトコルを使用したＩ／Ｏリクエストを、ＮＡＳ２−１及び２−２の一方又は双方に中継してよい。
【００６９】
また、プロキシサーバ３は、指定されたファイルシステム２０のマイグレーションを実行する機能を有し、新旧のＮＡＳ２間の複数マイグレーションの実行を可能としてよい。
【００７０】
プロキシサーバ３及び業務サーバ４としては、情報処理装置、例えば、サーバやＰＣ（Personal Computer）等のコンピュータが挙げられる。
【００７１】
以上のように、情報処理システム１では、プロキシサーバ３により、ＮＦＳクライアント４０からのリクエストをＮＡＳ２に中継するプロキシ機能をベースとして、業務サーバ４及びＮＡＳ２と連携したＮＡＳ２のオンラインマイグレーションを実現する。また、プロキシサーバ３では、ベンダや機種に依存しない標準ＮＦＳプロトコルを利用することで、同異ベンダや同異機種のＮＡＳ２間のマイグレーションを可能とする。
【００７２】
〔１−３〕プロキシサーバの機能構成例
次に、プロキシサーバ３の機能構成例を説明する。図６に示すように、プロキシサーバ３は、例示的に、マイグレーション処理部３１、情報格納部３２、及び、プロキシ処理部３３をそなえてよい。
【００７３】
マイグレーション処理部３１は、図５に示す移行処理部１３１の一例である。マイグレーション処理部３１は、業務サーバ４からのマイグレーションの開始指示に応じて、ＮＡＳ２のファイルシステム２０に対するマイグレーション処理を行なう。
【００７４】
図６に例示するように、マイグレーション処理部３１は、初期コピー部３１１、フルコピー部３１２、差分コピー部３１３、管理部３１４、及び、ＤＢ（Database）部３１５をそなえてよい。
【００７５】
マイグレーション処理部３１によるマイグレーションのプロセスは、業務無停止でのマイグレーションを実現するため、初期コピー、フルコピー、及び、差分コピーの３フェーズに分けて管理されてよい（図７参照）。これらのフェーズは、それぞれ、マイグレーション処理部３１の初期コピー部３１１、フルコピー部３１２、及び、差分コピー部３１３によりバックグラウンドで実行されてよい。以下、初期コピー部３１１、フルコピー部３１２、及び、差分コピー部３１３を総称して、コピー部３１１〜３１３と表記する場合がある。
【００７６】
管理部３１４は、ＤＢ部３１５及び情報格納部３２がそれぞれ記憶する情報の作成、更新、削除、又は、参照を行なう。なお、コピー部３１１〜３１３は、マイグレーションにおいて、管理部３１４を用いて、又は、管理部３１４の代わりに、ＤＢ部３１５及び情報格納部３２へアクセスしてもよい。
【００７７】
ＤＢ部３１５は、ロギング情報３１６を格納し管理するログ管理部の一例である。ロギング情報３１６は、例えば、差分コピー部３１３による処理対象のオブジェクトを特定するために用いられる。ＤＢ部３１５は、例えば、磁気ディスク装置、半導体ドライブ装置、フラッシュメモリ等の不揮発性の記憶装置により実現されてよい。
【００７８】
情報格納部３２は、図５に示すメモリ部１３２の一例である。情報格納部３２は、メタデータ管理情報３２１、オブジェクト管理情報３２２、及び、コピー管理情報３２３（以下、これらをまとめて、管理情報３２１〜３２３と表記する場合がある）を記憶し管理する。データ管理部３２は、例えば、ＲＡＭ（Random Access Memory）等の揮発性の記憶装置により実現されてよく、或いは、フラッシュメモリ等の不揮発性の記憶装置により実現されてもよい。ロギング情報３１６及び管理情報３２１〜３２３については後述する。
【００７９】
プロキシ処理部３３は、図５に示すリクエスト処理部１３４の一例である。プロキシ処理部３３は、業務サーバ４のＮＦＳクライアント４０から受信したＮＦＳリクエストを、ファイルシステム２０に対して実行する。
【００８０】
ＮＦＳアクセス先のファイルシステム２０は、ＮＦＳリクエストの参照系又は更新系の種別、マイグレーション処理のフェーズ、ＮＦＳリクエストの対象オブジェクトに係るマイグレーションの移動状況等に応じて決定（選択）されてよい。
【００８１】
プロキシ処理部３３は、図６に例示するように、マイグレーション連携部３３１をそなえてよい。マイグレーション連携部３３１は、例えば、更新系ＮＦＳリクエストを受信した場合、管理部３１４に対して、ＮＦＳアクセス先の判定を指示してよい。
【００８２】
ＮＦＳアクセス先の判定の指示は、例えば、更新系ＮＦＳリクエストがマイグレーション対象のファイルシステム２０へのアクセスである場合に実行されてよい。プロキシ処理部３３は、マイグレーション連携部３３１が管理部３１４から取得したＮＦＳアクセス先の情報を用いて、更新系ＮＦＳリクエストを実行する。
【００８３】
また、マイグレーション連携部３３１は、ＮＦＳアクセス先の判定、及び、更新系ＮＦＳリクエストの実行に伴う、情報格納部３２内の情報の更新を指示してよい。
【００８４】
以上のように、マイグレーション連携部３３１及び管理部３１４は、書込リクエストを受信した場合、移行元及び移行先の一方又は双方のファイルシステム２０を選択する選択部（例えば、図５に示す選択部１３３）の一例である。
【００８５】
以下、マイグレーション連携部３３１及び管理部３１４による連携（協調）した処理を説明する場合、マイグレーション連携部３３１及び管理部３１４をまとめて取得／設定部３４（図６参照）と表記する。
【００８６】
〔１−４〕フェーズ管理
以下、図７を参照して、マイグレーション処理部３１におけるフェーズ管理について説明する。以下、移行元のファイルシステム２０−１を「ソース２０−１」と表記し、移行先のファイルシステム２０−２を「ターゲット２０−２」と表記する場合がある。
【００８７】
なお、コピー部３１１〜３１３によりソース２０−１からターゲット２０−２にコピーされるデータ等は、マイグレーション実行後或いは業務の移行後等の任意のタイミングで、ソース２０−１から削除されてもよい。つまり、これらのデータ等の「コピー」及びその後の「削除」は、マイグレーションの実行前後で見れば「移動」に相当するといえる。以下の説明において、単に「コピー」と表記する場合、「コピー」後の任意のタイミングでソース２０−１からデータや情報が「削除」されることを含んでもよい。
【００８８】
〔１−４−１〕初期コピーフェーズ
初期コピーフェーズは、初期コピー部３１１が、ソース２０−１のメタデータや属性情報等を、ターゲット２０−２にコピーするフェーズである（図７の矢印（ｉ））。このとき、通常ファイルについては、ターゲット２０−２にスタブが作成されてよい。
【００８９】
初期コピーフェーズは、例えば業務サーバ４からのマイグレーション開始指示を契機に、ファイルシステム２０内のファイルやディレクトリ全体を対象として実施されてよい。
【００９０】
例えば、初期コピー部３１１は、ソース２０−１のルートを基点に全てのディレクトリ階層情報を取得し、ターゲット２０−２に対して以下の処理を実行してよい。
【００９１】
・通常ファイル：ファイルのスタブ（０ｂｙｔｅのファイル）を作成する。
・通常ファイル以外：ソース２０−１と同じ属性（所有者、パーミッション等）のデータを作成する。なお、通常ファイルとは異なり短時間で作成可能なため、スタブ化は不要としてよい。
【００９２】
「通常ファイル以外」としては、例えば、キャラクタファイル、ブロックファイル、シンボリックリンク、ソケット、ＦＩＦＯ（First-In First-Out）、又は、ディレクトリ等が挙げられる。
【００９３】
なお、初期コピー部３１１は、ディレクトリやファイルの階層等を管理するメタデータ管理情報３２１と、マイグレーション制御で使用する制御情報の一例であるオブジェクト管理情報３２２とを作成又は更新してよい。
【００９４】
以上のように、初期コピーフェーズは、フルコピーフェーズの実行前に、ソース２０−１に格納されるオブジェクトの属性情報をターゲット２０−２に移行する初期移行処理の一例である。
【００９５】
初期コピーが完了したファイルは、順次、フルコピーフェーズに移行してよい。フルコピーフェーズでは、複数のファイルに対してフルコピーが並列に実施されてよい。
【００９６】
〔１−４−２〕フルコピーフェーズ
フルコピーフェーズは、フルコピー部３１２が、初期コピーフェーズでターゲット２０−２に作成されたスタブに、ソース２０−１のファイルのデータをコピーするフェーズである（図７の矢印（ii））。
【００９７】
例えば、フルコピー部３１２は、ソース２０−１のファイルの先頭から順に所定サイズのデータを取得し、ターゲット２０−２にコピーすることで、ファイルの全データを移動してよい。このように、フルコピーフェーズでは、所定サイズのデータ領域単位でオブジェクトのデータコピーが行なわれる。所定サイズのデータ領域は、「エクステント」と称されてよい。
【００９８】
換言すれば、フルコピー部３１２は、ファイルをエクステント単位で分割し、分割したデータを順にコピーすることで、ファイル全体のコピーを実現する。なお、フルコピー部３１２は、ソース２０−１及びターゲット２０−２へのアクセスに標準ＮＦＳプロトコルを使用してよい。
【００９９】
なお、フルコピー部３１２は、対象オブジェクトに係るフルコピーの進捗状況を、エクステント単位で管理するコピー管理情報３２３を作成してよい。フルコピー部３１２は、コピー管理情報３２３を参照して、フルコピーフェーズにおけるデータのコピーの実施、スキップ、及び、再実施等を判断し、フルコピーフェーズを終了するときにコピー管理情報３２３を削除してよい。
【０１００】
以上のように、フルコピーフェーズは、１以上のＮＡＳ２が有するファイルシステム２０について、移行元のファイルシステム２０−１を移行先のファイルシステム２０−２に移行する第１移行処理の一例である。
【０１０１】
フルコピーが完了したファイルは、順次、差分コピーフェーズに移行してよい。差分コピーフェーズでは、複数のファイルに対して差分コピーが並列に実施されてよい。
【０１０２】
〔１−４−３〕差分コピーフェーズ
差分コピーフェーズは、差分コピー部３１３が、フルコピーが完了したファイルについて、ソース２０−１及びターゲット２０−２のファイルのデータ不整合状態を監視及び解消するフェーズである（図７の矢印（iii））。例えば、差分コピー部３１３は、不整合状態のデータ（差分データ）を検出し、当該データをエクステント単位でソース２０−１からターゲット２０−２にコピー（差分コピー）する。
【０１０３】
なお、差分コピー部３１３は、コピー管理情報３２３を作成してよい。差分コピー部３１３は、コピー管理情報３２３を参照して、差分コピーフェーズにおけるデータのコピーの実施、スキップ、及び、再実施等を判断し、差分コピーフェーズを終了するときにコピー管理情報３２３を削除してよい。
【０１０４】
また、差分コピー部３１３は、ロギング情報３１６を参照して、差分コピーフェーズにおいて、差分コピーの対象となるファイルを特定してよい。
【０１０５】
ロギング情報３１６は、移行元及び移行先のファイルシステム２０間でデータ不整合が発生しているオブジェクトを示す情報の一例である。なお、データの不整合状態とは、ソース２０−１及びターゲット２０−２のファイルにおいて一致しないデータが存在する状態を意味してよい。
【０１０６】
ロギング情報３１６は、マイグレーション処理部３１の起動後、マイグレーションが完了する（例えば業務サーバ４から停止指示を受信する）までの間、取得／設定部３４により管理されてよい（図７の矢印（iv））。
【０１０７】
以上のように、差分コピーフェーズは、フルコピーフェーズが完了した場合に実行され、移行元及び移行先のファイルシステム２０間の等価状態を維持する第２移行処理の一例である。
【０１０８】
差分コピーフェーズは、業務サーバ４から停止指示を受信するまでの間、実施されてよい。
【０１０９】
〔１−５〕ＮＦＳアクセス先の選択
上述したように、ＮＦＳリクエストを受信したプロキシ処理部３３によるＮＦＳアクセス先は、マイグレーション連携部３３１及び管理部３１４により実現される取得／設定部３４によって選択されてよい。
【０１１０】
以下、図７〜図９を参照して、取得／設定部３４によるＮＦＳアクセス先の選択条件の一例を説明する。なお、図９は、マイグレーション実行中におけるＮＦＳアクセス先の一例を示す図である。
【０１１１】
〔１−５−１〕参照系リクエスト（図７の“read”及び図８の“参照系”参照）
マイグレーション実行前又は実行中のファイルシステム２０に対する参照系ＮＦＳリクエストを受信した場合、取得／設定部３４は、図９に例示するように、ＮＦＳアクセス先としてソース２０−１を選択する（図７の矢印（Ｉ））。
【０１１２】
一方、マイグレーション実行後（例えば、停止指示受信後）のファイルシステム２０に対する参照系ＮＦＳリクエストを受信した場合、取得／設定部３４は、ＮＦＳアクセス先としてターゲット２０−２を選択する（図７の矢印（II））。マイグレーション実行後、業務はターゲット２０−２で継続して運用されるためである。
【０１１３】
〔１−５−２〕更新系リクエスト（図７の“write”及び図８の“更新系”参照）
（Ａ）マイグレーション実行前
マイグレーション実行前のファイルシステム２０に対する更新系ＮＦＳリクエストを受信した場合、取得／設定部３４は、ＮＦＳアクセス先としてソース２０−１を選択する（図７の矢印（III））。マイグレーション実行前であり、業務はソース２０−１で運用されているためである。
【０１１４】
（Ｂ）マイグレーション実行後
マイグレーション実行後のファイルシステム２０に対する更新系ＮＦＳリクエストを受信した場合、取得／設定部３４は、ＮＦＳアクセス先としてターゲット２０−２を選択する（図７の矢印（VII））。マイグレーション実行後、業務はターゲット２０−２で継続して運用されるためである。
【０１１５】
（Ｃ）マイグレーション実行中
マイグレーション実行中のファイルシステム２０に対する更新系ＮＦＳリクエストを受信した場合、取得／設定部３４は、実施中のコピーフェーズに応じて、以下のファイルシステム２０を選択する。
（Ｃ−１）初期コピーフェーズの場合
初期コピーフェーズのオブジェクトに対する更新系ＮＦＳリクエストを受信した場合、取得／設定部３４は、ＮＦＳアクセス先としてソース２０−１を選択する（図７の矢印（IV））。ソース２０−１において更新されたファイルは、初期コピーフェーズ後のフルコピーフェーズにおいてターゲット２０−２にコピーされるためである。
【０１１６】
（Ｃ−２）フルコピーフェーズ又は差分コピーフェーズの場合
次に、フルコピーフェーズ又は差分コピーフェーズのオブジェクト（例えば、図９の「移動未完了（移動中）」のファイル参照）に対する更新系ＮＦＳリクエストを受信した場合を説明する。この場合、取得／設定部３４は、アクセス対象のエクステントのコピー実施状況に応じて、以下のファイルシステム２０を選択する。
【０１１７】
（Ｃ−２−１）コピー実施中のエクステントに対する更新系ＮＦＳリクエストの場合
この場合、図８の表に示すように、更新系ＮＦＳリクエストの対象であるエクステントと、コピー中のエクステントとが重複する。換言すれば、更新系ＮＦＳリクエストによるＮＦＳアクセス先のアドレス範囲に、コピー中のエクステントのアドレスが含まれる。
【０１１８】
この場合、取得／設定部３４は、ＮＦＳアクセス先としてソース２０−１を選択する（図７の矢印（Ｖ））。
【０１１９】
このように、コピー実施中のエクステントに対する更新系ＮＦＳリクエストを受信した場合、プロキシ処理部３３は、ソース２０−１に対してＮＦＳリクエストを実行する。これにより、ターゲット２０−２をＮＦＳアクセス先とした場合のコピー完了待ちが発生しないため、Ｉ／Ｏタイムアウトエラーの発生を抑止でき、業務を継続できる。
【０１２０】
なお、ソース２０−１に対してＮＦＳリクエストを実行する場合、ソース２０−１のファイルと、ターゲット２０−２のファイルとの間で、等価でないデータが存在し、更新系ＮＦＳリクエストの対象であるファイルにデータ不整合が発生することになる。
【０１２１】
そこで、取得／設定部３４は、後述するコピー管理情報３２３における更新したエクステントを表す領域にダーティビットを設定してよい。ダーティビットは、フルコピーフェーズ又は差分コピーフェーズにおいて、マイグレーション処理部３１にコピー中のエクステントに対するコピーの再実施を促す情報である。
【０１２２】
ソース２０−１に対して実行されたＮＦＳリクエストは、ダーティビットの管理によって、フルコピー又は差分コピーの再実施が行なわれるため、データの整合性を保つことができる。
【０１２３】
なお、取得／設定部３４は、コピー管理情報３２３へのダーティビットの設定に加えて、後述するロギング情報３１６に対してデータ不整合を表す情報を設定してよい。
【０１２４】
（Ｃ−２−２）コピー未実施又は実施済のエクステントに対する更新系ＮＦＳリクエストの場合
この場合、図８の表に示すように、更新系ＮＦＳリクエストの対象であるエクステントと、コピー中のエクステントとは重複しない。換言すれば、更新系ＮＦＳリクエストによるＮＦＳアクセス先のアドレス範囲に、未コピー又はコピー済のエクステントのアドレスが含まれる。
【０１２５】
この場合、取得／設定部３４は、ＮＦＳアクセス先としてソース２０−１及びターゲット２０−２の双方を選択する（図７の矢印（VI））。
【０１２６】
例えば、業務サーバ４でファイルが更新された場合、ＮＦＳクライアント４０は、更新されたデータのアドレス範囲を指定して、更新系ＮＦＳリクエストを実行する。この更新系ＮＦＳリクエストで指定されたデータは最新状態のため、当該ＮＦＳリクエストを受信したタイミングでターゲット２０−２にデータを反映すれば、マイグレーションにおけるデータコピーが不要となり、マイグレーションに要する時間を短縮できる。
【０１２７】
なお、最新状態のデータが反映されたエクステントについて、マイグレーションにおけるデータコピーをスキップするために、取得／設定部３４は、当該エクステントがコピー済であることを示す情報を、コピー管理情報３２３に設定してよい。
【０１２８】
例えば、取得／設定部３４は、更新系ＮＦＳリクエストのアクセス対象である全エクステントについて、コピー管理情報３２３にコピー済フラグを設定してよい。マイグレーション処理部３１は、フルコピー又は差分コピーを実施する際に、コピー管理情報３２３を参照し、コピー済フラグが設定されたエクステントについて、フルコピー又は差分コピーの実施をスキップしてよい。
【０１２９】
また、ターゲット２０−２だけでなく、ソース２０−１に対しても更新系ＮＦＳリクエストを実行することで、ソース２０−１及びターゲット２０−２間のデータの整合性を保つことができる。これにより、マイグレーション実行中に一方のＮＡＳ２が故障した場合におけるデータ喪失を回避でき、システムの信頼性を向上できる。
【０１３０】
なお、ＮＡＳ２や図示しないネットワークの異常により、ソース２０−１又はターゲット２０−２のいずれか一方で更新系ＮＦＳリクエストが異常終了する場合も考えられる。この場合、ソース２０−１及びターゲット２０−２のファイルにおいて、等価でないデータが存在し、データ不整合が発生することになる。
【０１３１】
そこで、取得／設定部３４は、更新系ＮＦＳリクエストの実行結果に基づき、後述するコピー管理情報３２３における更新対象のエクステントを表す領域にダーティビットを設定してよい。
【０１３２】
なお、取得／設定部３４は、コピー管理情報３２３へのダーティビットの設定に加えて、後述するロギング情報３１６に対してデータ不整合を表す情報を設定してよい。
【０１３３】
なお、フルコピー及び差分コピーは、エクステント単位で実施される。これに対し、更新系ＮＦＳリクエストが対象とするアドレス範囲は、ファイル全体のアドレス範囲や、複数のエクステントのアドレス範囲を含む場合がある。従って、更新系ＮＦＳリクエストが対象とするアドレス範囲に、「コピー実施中のエクステント」及び「コピー未実施又は実施済のエクステント」の双方が含まれる場合もある。
【０１３４】
このような場合、更新系ＮＦＳリクエストのアドレス範囲に含まれる「コピー実施中のエクステント」についてはソース２０−１が選択され、「コピー未実施又は実施済のエクステント」についてはソース２０−１及びターゲット２０−２の双方が選択されてよい。
【０１３５】
以上のように、取得／設定部３４は、ＮＦＳリクエストの種別及びマイグレーションの状態等に応じて、ＮＦＳアクセス先を動的に切り替える。これにより、マイグレーション処理部３１によるデータコピーの完了待ちに起因するＮＦＳリクエストの完了遅延を防止できる。
【０１３６】
〔１−６〕情報格納部及びＤＢ部が格納する情報の説明
次に、図１０〜図２０を参照して、情報格納部３２及びＤＢ部３１５が格納する情報の一例を説明する。なお、図１０〜図２０の説明では、情報格納部３２及びＤＢ部３１５が格納する各種の情報を、説明に適した形式、例えば、情報間の関係を表すモデル形式、リスト形式、テーブル形式、又はマップ形式等の形式で例示する。しかしながら、これらの情報は、図１０〜図２０に示す形式に限定されるものではなく、例えば配列、ＤＢ、ビットマップ等の種々の形式又は態様で情報格納部３２及びＤＢ部３１５に格納されてよい。
【０１３７】
〔１−６−１〕情報格納部
図１０は、比較例に係るメタデータ管理情報３２１０の一例を示す図である。メタデータ管理情報３２１０は、例えば、図１に示す情報処理システム１００におけるファイルシステム１３０−１及び１３０−２の各々に存在してよい。
【０１３８】
メタデータ管理情報３２１０には、ファイルシステム１３０単位で、ディレクトリ階層の各オブジェクトに１つのエントリが存在する。各エントリには、「ＦＩＬＥ  ＨＡＮＤＬＥ」、「タイプ情報」、「検索情報」、「ＨＡＳＨ値」、「ＡＶＬ  ｔｒｅｅ」等の情報が設定される。
【０１３９】
「ＦＩＬＥ  ＨＡＮＤＬＥ」には、当該オブジェクトのファイルハンドル領域へのポインタが設定される。ファイルハンドルは、ディレクトリやファイルの参照で使用するファイルシステム１３０内で一意の制御情報である。ファイルハンドルは、ディレクトリやファイルが作成される際にファイルシステム１３０により割り当てられる。ＮＦＳクライアント１５０は、ファイルシステム１３０（ＮＦＳサーバ）からファイルハンドルを取得し、ＮＦＳプロトコルでファイルハンドルを指定してディレクトリやファイルにアクセスできる。
【０１４０】
「タイプ情報」は、ディレクトリ又はファイル等の種別を表す情報である。「検索情報」は、オブジェクトの検索に用いる情報であり、ＨＡＳＨ値や、２分探索木の一例であるＡＶＬ  ｔｒｅｅ等を含んでよい。
【０１４１】
これに対し、図１１に例示するように、一実施形態に係る情報格納部３２は、管理情報３２１〜３２３を格納する。管理情報３２１〜３２３は、図１１に示すように、メタデータ管理情報３２１０の機能を拡張した管理情報と位置付けられてよい。
【０１４２】
なお、図１１に示すメタデータ管理情報３２１は、例えば、ファイルシステム２０のうちのソース２０−１のメタデータを管理する領域であってよい。
【０１４３】
メタデータ管理情報３２１は、図１０に示すメタデータ管理情報３２１０と比較して、「ＦＩＬＥ  ＨＡＮＤＬＥ」に設定されるポインタが異なる。メタデータ管理情報３２１の「ＦＩＬＥ  ＨＡＮＤＬＥ」には、オブジェクト管理情報３２２における当該オブジェクトのエントリへのポインタが設定されてよい。
【０１４４】
オブジェクト管理情報３２２内の各オブジェクトのエントリには、図１１に例示するように、「ＦＩＬＥ  ＨＡＮＤＬＥ（ｆｒｏｍ）」、「ＦＩＬＥ  ＨＡＮＤＬＥ（ｔｏ）」、「データ不整合発生フラグ」が設定されてよい。当該エントリには、さらに、「ＯＢＪＥＣＴデータ」、「属性情報」、及び、「コピー管理情報」等の情報が設定されてよい。
【０１４５】
「ＦＩＬＥ  ＨＡＮＤＬＥ（ｆｒｏｍ）」には、ソース２０−１に格納されたオブジェクトのファイルハンドル領域へのポインタが設定されてよい。「ＦＩＬＥ  ＨＡＮＤＬＥ（ｔｏ）」には、ターゲット２０−２に格納されるオブジェクトのファイルハンドル領域へのポインタが設定されてよい。
【０１４６】
なお、当該オブジェクトがマイグレーション対象外である場合、「ＦＩＬＥ  ＨＡＮＤＬＥ（ｔｏ）」の領域は存在せず、ポインタには、例えば“ＮＵＬＬ”が設定されてよい。
【０１４７】
「データ不整合発生フラグ」は、ユーザの操作、例えば、マイグレーション処理部３１によるマイグレーション実行中のファイルに対してのＮＦＳクライアント４０からの操作を管理してよい。
【０１４８】
「ＯＢＪＥＣＴデータ」は、オブジェクトの種別及び名前に関する情報を含んでよい。「属性情報」は、オブジェクトの属性情報、例えば、アクセス権限や所有者等に関する情報を含んでよい。
【０１４９】
「コピー管理情報」には、コピー管理情報３２３における当該オブジェクトのエントリへのポインタが設定されてよい。なお、このエントリが存在するのは、当該オブジェクトがフルコピー又は差分コピー中の場合であり、それ以外の場合は存在しない。従って、エントリが存在しない場合、「コピー管理情報」のポインタには、“ＮＵＬＬ”が設定されてよい。コピー管理情報３２３の詳細は後述する。
【０１５０】
このように、情報格納部３２は、メタデータ管理情報３２１とファイルハンドル領域との中間に、マイグレーション元及び先のオブジェクトを取得可能なオブジェクト管理情報３２２を設け、オブジェクト管理情報３２２からコピー管理情報３２３をリンクさせる。
【０１５１】
これにより、マイグレーション処理部３１は、マイグレーション先のオブジェクトと、マイグレーション状況とを取得可能となる。また、マイグレーションの状況に応じたＮＦＳアクセス先のＮＡＳ２の動的選択を実現し、マイグレーションのデータコピーに依存しないＮＦＳリクエストの実行を可能とすることで、ＮＦＳアクセスのＩ／Ｏタイムアウトの発生を防止できる。
【０１５２】
次に、オブジェクト管理情報３２２に含まれる「データ不整合発生フラグ」、「ＯＢＪＥＣＴデータ」、及び、「属性情報」について説明する。
【０１５３】
「データ不整合発生フラグ」には、図１２に例示するように、ｂｉｔ  ０〜３が使用され、ｂｉｔ  ４〜３１がリザーブ（未使用）である４ｂｙｔｅのデータ領域により実現されてよい。図１２の例では、ｂｉｔ  ０〜３にそれぞれ以下のフラグが設定される。
【０１５４】
・ｂｉｔ  ０：通常ファイルのデータ部の変更を管理するフラグ。
・ｂｉｔ  １：オブジェクトの属性情報の変更を管理するフラグ。
・ｂｉｔ  ２：通常ファイルのデータ部が切り詰められたか否かを管理するフラグ。
・ｂｉｔ  ３：オブジェクトの削除を管理するフラグ。
【０１５５】
マイグレーション処理部３１は、各ファイルのマイグレーションにおいて、フルコピーフェーズの実行後、又は、差分コピーフェーズにおける差分コピーの実行後に、データ不整合発生フラグの設定状況を確認してよい。そして、マイグレーション処理部３１は、いずれかのフラグが不整合状態の発生を示す（例えばＯＮ）場合、当該ファイルの等価処理を実施してよい。等価処理は、例えば、マイグレーション処理（この場合、当該ファイル又はエクステントのコピー）や属性情報の更新等のリトライを含んでよい。
【０１５６】
各フラグは、プロキシ処理部３３による変更のタイミングで取得／設定部３４によりＯＮに設定され、マイグレーション処理部３１による等価処理が完了したタイミングでマイグレーション処理部３１（管理部３１４）により解除（ＯＦＦに設定）されてよい。
【０１５７】
なお、データ不整合発生フラグにおいて全てのフラグがＯＦＦの場合、不整合状態は未発生であるため、マイグレーション処理部３１による等価処理は不要である。
【０１５８】
「ＯＢＪＥＣＴデータ」には、図１３に例示するように、３２ｂｉｔの整数で表される種別、及び、４０９６ｂｙｔｅのテキスト形式で表される名前が設定されてよい。
【０１５９】
種別には、オブジェクトの種類、例えば、通常ファイル、シンボリックリンク、ディレクトリ等に応じて、図１３に示す値が設定されてよい。名前には、オブジェクト名が格納されてよい。
【０１６０】
「属性情報」は、図１４に例示するように、３２ｂｉｔの符号なし整数で表される複数の管理情報が設定されてよい。管理情報は、図１４に示すように、例えば、オブジェクトのアクセス権限（読出、書込、実行権限）を示す「ｍｏｄｅ」、オブジェクトの所有者に割り当てられた識別番号を示す「ｏｗｎｅｒ」等を含んでよい。
【０１６１】
コピー管理情報３２３内の各オブジェクトのエントリには、図１５に例示するように、「領域サイズ」、「エクステントサイズ」、「有効エクステント数」、「マイグレーション中のエクステント番号」、及び、「マップ領域」が設定されてよい。
【０１６２】
「領域サイズ」には、オブジェクト、例えばファイルのサイズが設定されてよい。「エクステントサイズ」には、ファイルごとに設定されるエクステントのサイズが設定されてよい。「有効エクステント数」には、１ファイルあたりのコピー対象のエクステント数が設定されてよい。例えば、「有効エクステント数」には、「領域サイズ」を「エクステントサイズ」で除算した商（小数点以下切り上げ）が設定されてよい。
【０１６３】
エクステントには、例えば、ファイルの先頭から順にエクステントを特定する番号（例えば通し番号）が付与されてよい。「マイグレーション中のエクステント番号」には、データ移動中のエクステントを特定する当該番号が設定されてよい。
【０１６４】
「マップ領域」には、図１５に例示するマップ領域３２４が設定されてよい。なお、「マップ領域」には、マップ領域３２４へのポインタが設定されてもよい。
【０１６５】
マップ領域３２４は、例えば、当該オブジェクトについて、エクステント単位でデータ移動の進捗を管理するビットマップであってよい。
【０１６６】
このように、マイグレーションの進捗を管理するコピー管理情報３２３により、マイグレーション処理部３１は、一定のサイズでファイルデータの分割移動を実現する。これにより、業務サーバ４のＮＦＳリクエストとマイグレーションのコピーアクセスとの競合範囲を狭め、仮想環境のシステムイメージ等の大容量且つ高頻度にアクセスされるファイルのマイグレーションを可能とする。
【０１６７】
マップ領域３２４内で各エクステントの進捗を示すエントリは、図１６に例示するように、ｂｉｔ  ０〜７のリクエストカウンタと、ｂｉｔ  ８〜１５の状況フラグとを含む２ｂｙｔｅのデータ領域により実現されてよい。図１６の例では、ｂｉｔ  ０〜１５にそれぞれ以下の情報が設定される。
【０１６８】
・ｂｉｔ  ０〜７：当該エクステントがＮＦＳリクエストによるライト中を示す実行カウンタ。
・ｂｉｔ  ８：当該エクステントがマイグレーション処理部３１によるコピー中を示すコピー中フラグ。
・ｂｉｔ  ９〜１３：リザーブ（未使用）。
・ｂｉｔ  １４：当該エクステントがコピー済（更新系ＮＦＳリクエストでライト済）であることを示すコピー済フラグ。
・ｂｉｔ  １５：当該エクステントがダーティ（マイグレーション元／先でのデータ不整合状態の発生）であることを示すダーティフラグ。
【０１６９】
なお、ファイルシステム２０では、１ファイルに対して複数のＮＦＳリクエストが同時に実行可能である。このため、エクステントがＮＦＳリクエストによるライト中かをビットを使用して管理した場合、複数のＮＦＳリクエストの状態遷移（開始から終了まで）を正しく管理できない。
【０１７０】
そこで、ＮＦＳリクエストの状態遷移には、複数のスレッドが同一エクステントにライトする場合を表現するため、フラグではなく１ｂｙｔｅ（ｂｉｔ  ０〜７）の実行カウンタを採用し、同一エクステントに対するライト数を管理する。マイグレーション状況フラグに１ｂｙｔｅ（ｂｉｔ  ８〜１５；リザーブ含む）を割り当てるため、マップ領域３２４のエントリは、上述のように２ｂｙｔｅ構成となる。
【０１７１】
マイグレーション処理部３１は、実行カウンタのカウンタ値が“０”でなければライト中であると判断し、カウンタが“０”になる（ライトが終了する）までコピー処理を中断してよい。これにより、ユーザアクセスを優先し、Ｉ／Ｏリクエストエラーの発生を抑制できる。
【０１７２】
コピー中フラグは、マイグレーション処理部３１により当該エクステントのコピーを開始するときにＯＮに設定され（図１７参照）、コピーを終了したときにＯＦＦに設定される。取得／設定部３４は、当該エクステントに対する更新ＮＦＳリクエストを受信した場合、ダーティフラグをＯＮに設定してよい。
【０１７３】
コピー済フラグは、プロキシ処理部３３によりソース２０−１及びターゲット２０−２の双方に更新系ＮＦＳリクエストが実行される場合に、取得／設定部３４によりＯＮに設定される（図１７参照）。マイグレーション処理部３１は、当該フラグがＯＮの場合、当該エクステントのコピーをスキップしてよい。これにより、マイグレーション実行中のエクステントに対して更新系ＮＦＳリクエストにより更新されたデータの不要なコピーを迂回（回避）できる。
【０１７４】
マイグレーション処理部３１は、フルコピー及び差分コピー（不整合解消のための差分コピー）において、ダーティビットを確認し、ダーティフラグのｂｉｔがＯＮに設定されているエクステント（図１８参照）に対してコピー処理を実行（リトライ）してよい。
【０１７５】
〔１−６−２〕ＤＢ部
図１９は、ＤＢ部３１５が格納するロギング情報３１６の一例を示す図である。ロギング情報３１６には、図１９に例示するように、「Ｅｘｐｏｒｔ＿ＩＤ」、「ＦＩＬＥ  ＨＡＮＤＬＥ」、「マイグレーションフラグ」、及び、「整合性フラグ」が設定されてよい。
【０１７６】
「Ｅｘｐｏｒｔ＿ＩＤ」には、ファイルが格納されているファイルシステム２０のＮＦＳエクスポートＩＤが設定されてよい。プロキシサーバ３は、ソース２０−１及びターゲット２０−２の組のマイグレーション処理を、複数の組について並列に実施できる。従って、複数のマイグレーション処理を区別するために、ロギング情報３１６には「Ｅｘｐｏｒｔ＿ＩＤ」が設定されてよい。
【０１７７】
「ＦＩＬＥ  ＨＡＮＤＬＥ」には、ロギング情報３１６に追加されたファイルのＮＦＳファイルハンドル領域へのポインタが設定されてよい。
【０１７８】
「マイグレーションフラグ」には、マイグレーションの状態、例えば、未処理、処理中、完了が設定されてよい。
【０１７９】
「整合性フラグ」には、更新系ＮＦＳリクエストによるアクセスに異常があり、ソース２０−１及びターゲット２０−２でデータ不整合が発生したか否かを表す情報、例えば、正常、異常が設定されてよい。
【０１８０】
例えば、フルコピーフェーズにおいてマイグレーションを開始するとき、マイグレーション処理部３１は、ロギング情報３１６に、「Ｅｘｐｏｒｔ＿ＩＤ」、「ＦＩＬＥ  ＨＡＮＤＬＥ」、「マイグレーションフラグ：処理中」を設定したエントリを追加してよい。また、当該ファイルについてマイグレーション（フルコピー）が完了すると、マイグレーション処理部３１は、当該ファイルのエントリに「マイグレーションフラグ：完了」、「整合性フラグ：正常」を設定してよい。
【０１８１】
〔１−７〕データ不整合状態の管理について
上述のように、プロキシ処理部３３は、データ移動済（又は未移動）のエクステントに対する更新系ＮＦＳリクエストについて、ソース２０−１及びターゲット２０−２の双方に対して実行する。このとき、ネットワークやファイルシステム２０のテンポラリエラーが発生した場合、ソース２０−１及びターゲット２０−２間でデータ不整合が発生する（図２０参照）。
【０１８２】
一実施形態においては、プロキシサーバ３のメモリ使用量を抑えるため、この不整合状態を、マイグレーションの状態に応じて、メモリ及びＤＢによる２通りの方式で管理してよい。なお、不整合状態の設定は、プロキシ処理部３３の指示により取得／設定部３４が実施し、不整合状態の解消は、マイグレーション処理部３１（例えば差分コピー部３１３）が実施してよい。
【０１８３】
〔１−７−１〕マップ領域による管理
図１８に例示するように、フルコピー及び差分コピー（不整合解消のための差分コピー）実行中のファイルに対するデータ不整合状態については、マップ領域３２４で管理され、フルコピーフェーズ又は差分コピーフェーズ（差分コピー）で解消される。取得／設定部３４は、更新系ＮＦＳリクエストのアクセス範囲先とアクセス結果とから、データ不整合の発生を判断し、不整合状態を検出した場合、上述のように、対象エクステントに不整合状態を示すダーティビットを設定する（図１８参照）。
【０１８４】
マイグレーション処理部３１は、フルコピー及び差分コピー（不整合解消のための差分コピー）において、ダーティビットを確認し、ダーティフラグのｂｉｔがＯＮに設定されているエクステントに対して、コピー処理を実行（リトライ）してよい。
【０１８５】
なお、マイグレーション処理部３１（管理部３１４）は、フルコピーフェーズが完了したファイルごとにコピー管理情報３２３を削除してよく、差分コピーフェーズにおける差分コピーが完了したファイルごとにコピー管理情報３２３を削除してよい。
【０１８６】
・ロギング情報による管理
一方、差分コピーフェーズ（不整合発生の監視中）にファイルで発生したデータ不整合については、図１９に示すロギング情報３１６で管理され、差分コピーフェーズ（監視フェーズ）で解消される。
【０１８７】
フルコピーフェーズ、又は、差分コピーフェーズにおいて、ファイルのデータ不整合が発生した場合、取得／設定部３４は、当該ファイルのエントリに「整合性フラグ：異常」を設定してよい。データ不整合は、例えば、ターゲット２０−２へのライトに失敗した場合や、マイグレーション実施中のエクステントについてソース２０−１にライトした場合等に発生する。
【０１８８】
差分コピーフェーズにおいて、マイグレーション処理部３１（差分コピー部３１３）は、一定時間ごと等の任意のタイミングで、ロギング情報３１６から「整合性フラグ：異常」が記録されたファイルについて差分コピーを実施し、データ不整合を解消してよい。
【０１８９】
なお、マイグレーションが行なわれていないファイルについてライトに失敗した場合、取得／設定部３４は、ロギング情報３１６に当該ファイルのエントリを追加してよい。このエントリには、「Ｅｘｐｏｒｔ＿ＩＤ」、「ＦＩＬＥ  ＨＡＮＤＬＥ」、「マイグレーションフラグ：未処理」、「整合性フラグ：異常」が設定されてよい。当該エントリのファイルについてマイグレーションが行なわれると、マイグレーション処理部３１は、当該エントリを「マイグレーションフラグ：完了」、「整合性フラグ：正常」に更新してよい。
【０１９０】
このように、コピー管理情報３２３では、マップ領域３２４によりエクステント単位でコピー状況を管理する。従って、マイグレーション対象であるソース２０−１内の全てのファイルについて、コピー管理情報３２３を情報格納部３２に格納する場合、多くのメモリ領域を使用することになり、プロキシサーバ３の性能に影響を与える可能性もある。
【０１９１】
そこで、コピーが完了したファイルの整合性については、不揮発性の記憶装置（ＨＤＤやＳＳＤ等）であるＤＢ部３１５内のロギング情報３１６を用いて管理することで、プロキシサーバ３の性能低下を抑制できる。また、障害等によりプロキシサーバ３への電源供給が断たれた場合にもロギング情報３１６が消失しないため、障害復帰後もデータの不整合状態を正常に管理でき、ソース２０−１及びターゲット２０−２の等価状態の維持に利用できる。
【０１９２】
〔１−８〕動作例
次に、図２１〜図３１を参照して、一実施形態に係る情報処理システム１の動作例を説明する。
【０１９３】
〔１−８−１〕全体の動作例
はじめに、図２１〜図２３を参照して、情報処理システム１における全体の動作例を説明する。
【０１９４】
図２１に例示するように、マイグレーション処理部３１（例えば差分コピー部３１３又は管理部３１４）は、ロギング情報３１６の管理を開始する（処理Ｐ１）。
【０１９５】
業務サーバ４のＮＦＳクライアント４０は、マイグレーションの開始リクエスト（ｅｘｐｏｒｔ−ＩＤ：１）を送信する（処理Ｐ２）。初期コピー部３１１は、メタデータの構築を開始して（処理Ｐ３）、業務サーバ４に応答し、メタデータを作成する（処理Ｐ４）。
【０１９６】
例えば、ファイルＡのメタデータを作成する場合、初期コピー部３１１は、ＮＦＳプロトコルのread操作によりソース２０−１にファイルＡの属性情報の読み出しを指示する（処理Ｐ５）。そして、初期コピー部３１１は、読み出された属性情報を用いて、ＮＦＳプロトコルのcreate操作によりターゲット２０−２にファイルＡを作成する（処理Ｐ６）。このとき、ファイルＡはスタブ状態である。
【０１９７】
初期コピー部３１１は、全メタデータの作成が完了したか否かを判定し（処理Ｐ７）、完了していない場合（処理Ｐ７でＮｏ）、処理がＰ４に移行する。一方、全メタデータの作成が完了した場合（処理Ｐ７でＹｅｓ）、処理が図２２のＰ８に移行する。以上により、初期コピー部３１１によるｅｘｐｏｒｔ−ＩＤ：１の初期コピーフェーズの動作が完了する。
【０１９８】
なお、初期コピーフェーズにおいて、ＮＦＳクライアント４０がファイルＡの属性情報を変更する更新系ＮＦＳリクエスト（ｅｘｐｏｒｔ−ＩＤ：１）を送信した場合を考える（処理Ａ１）。この場合、プロキシ処理部３３は、ソース２０−１に書込アクセスを行ない（処理Ａ２）、ＮＦＳプロトコルのlookup及びsetattr操作によりソース２０−１にファイルＡの属性情報の更新を指示する（処理Ａ３）。
【０１９９】
このとき、ソース２０−１及びターゲット２０−２においてファイルＡの属性情報に不整合が発生する。そこで、プロキシ処理部３３（又は取得／設定部３４）は、不整合状態の発生をロギング情報３１６に出力し（処理Ａ４）、業務サーバ４に応答を返す。
【０２００】
次に、図２２に例示するように、フルコピー部３１２は、コピー管理情報３２３を作成し（処理Ｐ８）、ファイルのデータ移動を行なう（処理Ｐ９）。
【０２０１】
例えば、ファイルＡのデータを移動する場合、フルコピー部３１２は、ＮＦＳプロトコルのread操作によりソース２０−１にファイルＡのデータの読み出しを指示する（処理Ｐ１０）。そして、フルコピー部３１２は、読み出されたデータを用いて、ＮＦＳプロトコルのwrite操作によりターゲット２０−２にファイルＡのデータを書き込む（処理Ｐ１１）。なお、ファイルＡの読み出し及び書き込みは、エクステント単位で行なわれる。
【０２０２】
フルコピー部３１２は、全ファイルのデータ移動が完了したか否かを判定し（処理Ｐ１２）、完了していない場合（処理Ｐ１２でＮｏ）、処理がＰ９に移行する。一方、全ファイルのデータ移動が完了した場合（処理Ｐ１２でＹｅｓ）、フルコピー部３１２は、コピー管理情報３２３を削除する（処理Ｐ１３）。
【０２０３】
そして、フルコピー部３１２は、差分コピー部３１３に対して不整合状態の監視を依頼し（処理Ｐ１４）、処理が図２３のＰ１５に移行する。これにより、ｅｘｐｏｒｔ−ＩＤ：１が差分コピー部３１３による監視対象となる。以上により、フルコピー部３１２によるｅｘｐｏｒｔ−ＩＤ：１のフルコピーフェーズの動作が完了する。
【０２０４】
なお、フルコピーフェーズにおけるファイルＡの移動後に、ＮＦＳクライアント４０がファイルＡのデータを更する更新系ＮＦＳリクエスト（ｅｘｐｏｒｔ−ＩＤ：１）を送信した場合を考える（処理Ａ５）。この場合、プロキシ処理部３３は、ソース２０−１及びターゲット２０−２の双方に書込アクセスを行なう（処理Ａ６）。
【０２０５】
例えば、プロキシ処理部３３は、ＮＦＳプロトコルのwrite操作によりソース２０−１及びターゲット２０−２の双方にファイルＡのデータ更新を行なう（処理Ａ７及びＡ８）。ここで、ターゲット２０−２でのデータ更新において異常が発生し、ファイルＡにデータ不整合が発生した場合、プロキシ処理部３３（又は取得／設定部３４）は、不整合状態の発生をロギング情報３１６に出力し（処理Ａ９）、業務サーバ４に応答を返す。
【０２０６】
次に、図２３に例示するように、差分コピー部３１３は、ロギング情報３１６による不整合状態の確認を行なう（処理Ｐ１５）。
【０２０７】
例えば、ファイルＡにデータ不整合が発生している場合、差分コピー部３１３は、ＮＦＳプロトコルのread操作によりソース２０−１にファイルＡのデータの読み出しを指示する（処理Ｐ１６）。そして、差分コピー部３１３は、読み出されたデータを用いて、ＮＦＳプロトコルのwrite操作によりターゲット２０−２にファイルＡのデータを書き込む（処理Ｐ１７）。なお、ファイルＡの読み出し及び書き込みは、エクステント単位で行なわれる。
【０２０８】
なお、差分コピー部３１３は、ファイルＡの差分コピーにおいて、コピー管理情報３２３を作成して、コピーの進捗状況を管理し、差分コピーが終了すると、当該コピー管理情報３２３を削除する。
【０２０９】
ここで、差分コピーフェーズにおいて、ＮＦＳクライアント４０がファイルＡのデータを更する更新系ＮＦＳリクエスト（ｅｘｐｏｒｔ−ＩＤ：１）を送信した場合を考える（処理Ａ１０）。この場合、プロキシ処理部３３は、ソース２０−１及びターゲット２０−２の双方に書込アクセスを行なう（処理Ａ１１）。
【０２１０】
例えば、プロキシ処理部３３は、ＮＦＳプロトコルのwrite操作によりソース２０−１及びターゲット２０−２の双方にファイルＡのデータ更新を行なう（処理Ａ１２及びＡ１３）。ターゲット２０−２でのデータ更新において異常が発生し、ファイルＡにデータ不整合が発生した場合、プロキシ処理部３３（或いは取得／設定部３４）は、不整合状態の発生をロギング情報３１６に出力し（処理Ａ１４）、業務サーバ４に応答を返す。
【０２１１】
差分コピー部３１３は、定期的にロギング情報３１６を参照し、例えば、ファイルＡの不整合を検出すると、処理Ｐ１５〜Ｐ１７と同様に、不整合状態の解消を行なう（処理Ｐ１８〜Ｐ２０）。
【０２１２】
業務サーバ４が、マイグレーションの停止リクエスト（ｅｘｐｏｒｔ−ＩＤ：１）を送信すると（処理Ｐ２１）、差分コピー部３１３において、ｅｘｐｏｒｔ−ＩＤ：１が監視対象外となる。以上により、差分コピー部３１３によるｅｘｐｏｒｔ−ＩＤ：１の差分コピーフェーズの動作が完了する。ｅｘｐｏｒｔ−ＩＤ：１が監視対象外になると、ＮＦＳアクセス先は、参照系及び更新系のいずれもターゲット２０−２となる。
【０２１３】
〔１−８−２〕マイグレーション対象のファイルシステムへのＮＦＳアクセスの動作例
次に、図２４及び図２５を参照して、マイグレーション対象のファイルシステム２０へのＮＦＳアクセスの動作例を説明する。
【０２１４】
図２４に示すように、業務サーバ４がＮＦＳプロトコルによるアクセス（ＲＰＣ）を行なうと（処理Ａ２１）、プロキシ処理部３３は、ＲＰＣを受け付け（処理Ａ２２）、ソース２０−１についてメタデータの検索又は取得を行なう（処理Ａ２３）。
【０２１５】
取得／設定部３４は、業務サーバ４からのアクセスが更新系か否かを判定する（処理Ａ２４）。更新系の場合（処理Ａ２４でＹｅｓ）、取得／設定部３４は、マイグレーション対象のオブジェクトに対するアクセスか否かを判定する（処理Ａ２５）。
【０２１６】
マイグレーション対象ではない場合（処理Ａ２５でＮｏ）、又は、処理Ａ２４において更新系ではない場合（処理Ａ２４でＮｏ）、処理が図２５のＡ３８に移行する。
【０２１７】
処理Ａ２５において、マイグレーション対象のオブジェクトに対するアクセスの場合（処理Ａ２５でＹｅｓ）、取得／設定部３４は、ファイルへの書込アクセスか否かを判定する（処理Ａ２６）。ファイルへの書込アクセスではない場合（処理Ａ２６でＮｏ）、例えば、ディレクトリの作成や属性情報の変更である場合、プロキシ処理部３３は、ＮＦＳプロトコルによりソース２０−１及びターゲット２０−２へのアクセスを実行する（処理Ａ２７及びＡ２９）。
【０２１８】
ソース２０−１及びターゲット２０−２からアクセス情報の返信を受信すると（処理Ａ２８及びＡ３０）、処理が図２５のＡ４７に移行する。
【０２１９】
一方、処理Ａ２６において、ファイルへの書込アクセスの場合（処理Ａ２６でＹｅｓ）、取得／設定部３４のマイグレーション連携部３３１は、取得／設定部３４の管理部３１４に対して、アクセス情報の設定依頼を行なう（処理Ａ３１）。
【０２２０】
管理部３１４は、コピー管理情報３２３からエクステント情報を取得し（処理Ａ３２）、アクセス対象のエクステントはマイグレーション中か否かを判定する（処理Ａ３３）。マイグレーション中ではない場合（処理Ａ３３でＮｏ）、管理部３１４は、マイグレーション連携部３３１に対して、復帰値として「両系アクセス」を返す（処理Ａ３４）。
【０２２１】
一方、マイグレーション中の場合（処理Ａ３３でＹｅｓ）、管理部３１４は、コピー管理情報３２３の対象エクステントにダーティフラグを設定し（処理Ａ３５）、マイグレーション連携部３３１に対して、復帰値として「ソースアクセス」を返す（処理Ａ３６）。
【０２２２】
処理Ａ３１で復帰値を得ると、プロキシ処理部３３は、復帰値が両系アクセスか否かを判定する（図２５の処理Ａ３７）。両系アクセスではない場合（処理Ａ３７でＮｏ）、プロキシ処理部３３は、ＮＦＳプロトコルによるソース２０−１へのアクセスを実行し（処理Ａ３８）、ソース２０−１はファイルデータの書き込みを行なう（処理Ａ３９）。なお、図２４の処理Ａ２４又は処理Ａ２５でＮｏの場合の処理Ａ３８のアクセスでは、ソース２０−１は処理Ａ３９でファイルデータの読み出しを行なう。
【０２２３】
処理Ａ３７において、両系アクセスの場合（処理Ａ３７でＹｅｓ）、プロキシ処理部３３は、ＮＦＳプロトコルによるソース２０−１及びターゲット２０−２へのアクセスを実行する（処理Ａ４０及びＡ４２）。ソース２０−１及びターゲット２０−２は、ファイルデータの書き込みを行なう（処理Ａ４１及びＡ４３）。
【０２２４】
次いで、マイグレーション連携部３３１は、管理部３１４に対して、ソース２０−１及びターゲット２０−２へのアクセス結果を通知し（処理Ａ４４）、管理部３１４は、両系ともアクセスが正常終了したか否かを判定する（処理Ａ４５）。
【０２２５】
少なくとも一方のアクセスが正常終了していない場合（処理Ａ４５でＮｏ）、管理部３１４は、コピー管理情報３２３の対象エクステントにダーティフラグを設定し（処理Ａ４６）、処理がＡ４４に戻る。一方、両系ともアクセスが正常終了した場合（処理Ａ４５でＹｅｓ）、処理がＡ４４に戻る。
【０２２６】
そして、プロキシ処理部３３は、業務サーバ４に対してアクセス結果を通知して（処理Ａ４７）、業務サーバ４が完了待ち状態で通知を受信し（処理Ａ４８）、処理が終了する。
【０２２７】
なお、処理Ａ２４〜Ａ４２は、マイグレーション状況に応じたＮＦＳリクエストのアクセス先の決定に関する処理といえる。また、処理Ａ４４〜Ａ４６は、更新系ＮＦＳリクエストによるデータ不整合の管理に関する処理といえる。
【０２２８】
〔１−８−３〕初期コピーフェーズの動作例
次に、図２６及び図２７を参照して、初期コピーフェーズの動作例を説明する。
【０２２９】
図２６に示すように、業務サーバ４からマイグレーション開始リクエストの受信を契機に、初期コピー部３１１は、ソース２０−１からｅｘｐｏｒｔ情報を取得し（処理Ｂ１）、ソース２０−１がマイグレーション対象か否かを判定する（処理Ｂ２）。
【０２３０】
マイグレーション対象ではない場合（処理Ｂ２でＮｏ）、次のｅｘｐｏｒｔ情報に切り替えて処理がＢ１に移行する。一方、マイグレーション対象の場合（処理Ｂ２でＹｅｓ）、初期コピー部３１１は、ＮＦＳプロトコルによるソース２０−１からのマウントポイント情報の取得を実行し（処理Ｂ３）、ソース２０−１は、マウントポイント情報を返信する（処理Ｂ４）。
【０２３１】
次に、初期コピー部３１１は、マイグレーション連携部３３１に対して、ソース２０−１に関するマイグレーション用のメタデータ管理情報３２１の作成を依頼する（処理Ｂ５）。マイグレーション連携部３３１は、管理部３１４と連携して、メタデータ管理情報３２１を作成する（処理Ｂ６）。なお、既にメタデータ管理情報３２１が作成されている場合、処理Ｂ５及びＢ６をスキップしてよい。
【０２３２】
次いで、初期コピー部３１１は、ターゲット２０−２からｅｘｐｏｒｔ情報を取得し（処理Ｂ７）、ＮＦＳプロトコルによるターゲット２０−２からのマウントポイント情報の取得を実行する（処理Ｂ８）。ターゲット２０−２は、マウントポイント情報を返信する（処理Ｂ９）。
【０２３３】
次に、初期コピー部３１１は、マイグレーション連携部３３１に対して、ターゲット２０−２に関するマイグレーション用のメタデータ管理情報３２１の作成を依頼する（処理Ｂ１０）。マイグレーション連携部３３１は、管理部３１４と連携して、メタデータ管理情報３２１を作成する（処理Ｂ１１）。なお、既にメタデータ管理情報３２１が作成されている場合、処理Ｂ１０及びＢ１１をスキップしてよい。
【０２３４】
初期コピー部３１１は、ＮＦＳプロトコルのreaddirに相当する操作により、ソース２０−１からディレクトリ直下の情報の取得を実行し（処理Ｂ１２）、ソース２０−１は、readaddr情報を返信する（処理Ｂ１３）。
【０２３５】
初期コピー部３１１は、直下の全オブジェクトを処理済か否かを判定し（処理Ｂ１４）、処理済の場合（処理Ｂ１４でＹｅｓ）、処理が図２７のＢ３６に移行する。一方、処理済でない場合（処理Ｂ１４でＮｏ）、初期コピー部３１１は、ＮＦＳプロトコルのlookup操作による、ソース２０−１のオブジェクトのｌｏｏｋｕｐを実行し（処理Ｂ１５）、ソース２０−１は、ｌｏｏｋｕｐ結果を返信する（処理Ｂ１６）。
【０２３６】
初期コピー部３１１は、マイグレーション連携部３３１に対して、ソース２０−１に関するメタデータ及びオブジェクト管理情報３２２の登録を依頼する（処理Ｂ１７）。マイグレーション連携部３３１は、管理部３１４と連携して、メタデータ及びオブジェクト管理情報３２２を登録し（処理Ｂ１８及びＢ１９）、処理がＢ１７に戻る。なお、既にこれらの情報が作成されている場合、処理Ｂ１８及び／又はＢ１９をスキップしてよい。
【０２３７】
次いで、初期コピー部３１１は、ＮＦＳプロトコルのlookup操作による、ターゲット２０−２のオブジェクトのｌｏｏｋｕｐを実行し（処理Ｂ２０）、ターゲット２０−２は、ｌｏｏｋｕｐ結果を返信する（処理Ｂ２１）。
【０２３８】
そして、初期コピー部３１１は、ｌｏｏｋｕｐ結果から、ソース２０−１及びターゲット２０−２に同一エントリが存在するか否かを判定し（処理Ｂ２２）、同一エントリが存在する場合（処理Ｂ２２でＹｅｓ）、処理がＢ３４に移行する。
【０２３９】
一方、同一エントリが存在しない場合（処理Ｂ２２でＮｏ）、初期コピー部３１１は、オブジェクトのタイプに応じた処理を行なう（処理Ｂ２３）。
【０２４０】
例えば、オブジェクトが通常ファイルの場合、差分コピー部３１３は、ＮＦＳプロトコルのcreate操作により、ターゲット２０−２に０ｂｙｔｅの通常ファイルの作成を指示する（処理Ｂ２４）。ターゲット２０−２は、オブジェクトを作成する（処理Ｂ２５）。なお、通常ファイルの場合、ターゲット２０−２に作成されるオブジェクトはスタブ化される。
【０２４１】
オブジェクトがディレクトリの場合、差分コピー部３１３は、ＮＦＳプロトコルのmkdir操作により、ターゲット２０−２にディレクトリの作成を指示する（処理Ｂ２６）。ターゲット２０−２は、オブジェクトを作成する（処理Ｂ２７）。
【０２４２】
オブジェクトがシンボリックリンクの場合、差分コピー部３１３は、ＮＦＳプロトコルのsymlink操作により、ターゲット２０−２にシンボリックリンクの作成を指示する（処理Ｂ２８）。ターゲット２０−２は、オブジェクトを作成する（処理Ｂ２９）。
【０２４３】
オブジェクトが特殊ファイルの場合、差分コピー部３１３は、ＮＦＳプロトコルのmknode操作により、ターゲット２０−２に特殊ファイルの作成を指示する（処理Ｂ３０）。ターゲット２０−２は、オブジェクトを作成する（処理Ｂ３１）。
【０２４４】
オブジェクトのタイプに応じた処理が完了すると、初期コピー部３１１は、マイグレーション連携部３３１に対して、ターゲット２０−２に関するメタデータの登録を依頼する（処理Ｂ３２）。マイグレーション連携部３３１は、管理部３１４と連携して、メタデータを登録し（処理Ｂ３３）、処理がＢ３２に戻る。次いで、初期コピー部３１１は、マイグレーション連携部３３１に対して、オブジェクト管理情報３２２の設定を依頼する（処理Ｂ３４）。マイグレーション連携部３３１は、管理部３１４と連携して、オブジェクト管理情報３２２へ情報登録し（処理Ｂ３５）、処理がＢ３４に戻る。
【０２４５】
次いで、初期コピー部３１１は、配下の全ディレクトリを処理済か否かを判定し（処理Ｂ３６）、処理済でない場合（処理Ｂ３６でＮｏ）、処理がＢ１２に移行する。一方、処理済の場合（処理Ｂ３６でＹｅｓ）、処理が終了する。
【０２４６】
〔１−８−４〕フルコピーフェーズの動作例
次に、図２８及び図２９を参照して、フルコピーフェーズの動作例を説明する。
【０２４７】
図２８に示すように、初期コピーフェーズが終了すると、フルコピー部３１２は、ソース２０−１からｅｘｐｏｒｔ情報を取得し（処理Ｃ１）、ソース２０−１がマイグレーション対象か否かを判定する（処理Ｃ２）。
【０２４８】
マイグレーション対象ではない場合（処理Ｃ２でＮｏ）、処理が終了する。一方、マイグレーション対象の場合（処理Ｃ２でＹｅｓ）、フルコピー部３１２は、ソース２０−１のメタデータ管理情報３２１の先頭から順に、メタデータを取得する（処理Ｃ３）。
【０２４９】
次に、フルコピー部３１２は、取得したメタデータがファイルのメタデータか否かを判定する（処理Ｃ４）。ファイルのメタデータでない場合（処理Ｃ４でＮｏ）、処理がＣ３に移行する。一方、ファイルのメタデータの場合（処理Ｃ４でＹｅｓ）、フルコピー部３１２は、ターゲット２０−２のメタ情報を取得済か否かを判定する（処理Ｃ５）。この判定は、オブジェクト管理情報３２２の「ＦＩＬＥ  ＨＡＮＤＬＥ（ｔｏ）」のポインタに基づき行なわれてよい。
【０２５０】
ターゲット２０−２のメタ情報が取得済でない場合（処理Ｃ５でＮｏ）、処理がＣ３に移行する。一方、ターゲット２０−２のメタ情報を取得済の場合（処理Ｃ５でＹｅｓ）、フルコピー部３１２（又は管理部３１４）は、コピー管理情報３２３を作成する（処理Ｃ６）。このとき、コピー管理情報３２３には、ソース２０−１のファイルサイズに応じてマップ領域３２４が作成され、全エクステントのダーティフラグがＯＮに設定される。これにより、更新系ＮＦＳリクエストにより取得／設定部３４がダーティフラグをＯＦＦに設定したエクステントについて、データ移動をスキップできる。
【０２５１】
フルコピー部３１２は、マイグレーション連携部３３１に対して、オブジェクト管理情報３２２にコピー管理情報３２３へのポインタの設定を依頼する（処理Ｃ７）。マイグレーション連携部３３１は、管理部３１４と連携して、オブジェクト管理情報３２２を更新し（処理Ｃ８）、処理がＣ７に戻る。
【０２５２】
次いで、フルコピー部３１２は、ロギング情報３１６の対象ファイルを「マイグレーションフラグ：処理中」に更新し（処理Ｃ９）、マップ領域３２４から対象のエクステント情報を取得する（処理Ｃ１０）。
【０２５３】
フルコピー部３１２は、対象エクステントのコピー済フラグがＯＮか否かを判定し（処理Ｃ１１）、コピー済フラグがＯＦＦの場合（処理Ｃ１１でＮｏ）、対象エクステントのダーティフラグがＯＮか否かを判定する（処理Ｃ１２）。
【０２５４】
ダーティフラグがＯＦＦの場合（処理Ｃ１２でＮｏ）、又は、処理Ｃ１１においてコピー済フラグがＯＮの場合（処理Ｃ１１でＹｅｓ）、処理がＣ１０に移行する。
【０２５５】
処理Ｃ１２において、ダーティフラグがＯＮの場合（処理Ｃ１２でＹｅｓ）、フルコピー部３１２は、更新系ＮＦＳリクエストの完了の待ち合わせを行なう（図２９の処理Ｃ１３）。例えば、フルコピー部３１２は、マップ領域３２４の実行カウンタで更新系ＮＦＳリクエストの実行状態を確認し、実行カウンタ値が“０”以外の場合は、実行カウンタ値が“０”になるまで、実行の完了を待ち合わせてよい。
【０２５６】
次いで、フルコピー部３１２は、対象エクステントのコピー中フラグをＯＮに設定し、ダーティフラグをＯＦＦに設定するフラグ操作を行なう（処理Ｃ１４）。なお、データを読み出す前に当該エクステントのダーティフラグをＯＦＦにするのは、データの読出／書込中に更新系ＮＦＳリクエストの発生を検出するためである。
【０２５７】
そして、フルコピー部３１２は、ＮＦＳプロトコルによりソース２０−１にデータの読み出しを指示し（処理Ｃ１５）、ソース２０−１はファイルデータの読み出しを行なう（処理Ｃ１６）。フルコピー部３１２は、データの読出エラーを判定する（処理Ｃ１７）。
【０２５８】
なお、エラー判定は、エラー時に所定回数（例えば最大１０回（暫定））のリトライを行ない、リトライによってもエラーが回復しない場合に、エラーと判定するものとしてよい。この場合、フルコピー部３１２は、対象ファイルについてロギング情報３１６に「整合性フラグ：異常」を記録し、差分コピーフェーズでリトライするように管理してよい。エラーと判定されると（処理Ｃ１７でＹｅｓ）、処理が図２８のＣ３に移行する。
【０２５９】
一方、エラーと判定されない場合（処理Ｃ１７でＮｏ）、フルコピー部３１２は、ＮＦＳプロトコルによりターゲット２０−２にデータの書き込みを指示し（処理Ｃ１８）、ターゲット２０−２はファイルデータの書き込みを行なう（処理Ｃ１９）。フルコピー部３１２は、データの書込エラーを判定する（処理Ｃ２０）。書込エラーの判定についても、読出エラーの判定と同様のリトライ条件であってよい。エラーと判定されると（処理Ｃ２０でＹｅｓ）、処理が図２８のＣ３に移行する。
【０２６０】
エラーと判定されない場合（処理Ｃ２０でＮｏ）、フルコピー部３１２は、対象エクステントのダーティフラグがＯＮか否かを判定する（処理Ｃ２１）。ダーティフラグがＯＮの場合（処理Ｃ２１でＹｅｓ）、処理がＣ１３に移行する。なお、この場合、データ移動中（読出／書込中）にＮＦＳアクセスで対象エクステントが更新されたことを示すため、データの読み出し処理をリトライする。
【０２６１】
ダーティフラグがＯＦＦの場合（処理Ｃ２１でＮｏ）、フルコピー部３１２は、対象エクステントが最終エクステントか否かを判定する（処理Ｃ２２）。最終エクステントでない場合（処理Ｃ２２でＮｏ）、処理が図２８のＣ１０に移行する。一方、最終エクステントの場合（処理Ｃ２２でＹｅｓ）、フルコピー部３１２は、ダーティフラグがＯＮのエクステントが存在するか否かを判定する（処理Ｃ２３）。
【０２６２】
ダーティフラグがＯＮのエクステントが存在する場合（処理Ｃ２３でＹｅｓ）、処理が図２８のＣ３に移行する。一方、ダーティフラグがＯＮのエクステントが存在しない場合（処理Ｃ２３でＮｏ）、フルコピー部３１２は、マイグレーション連携部３３１に対して、オブジェクト管理情報３２２からコピー管理情報３２３へのポインタの削除を依頼する（処理Ｃ２４）。マイグレーション連携部３３１は、管理部３１４と連携して、オブジェクト管理情報３２２を更新し（処理Ｃ２５）、処理がＣ２４に戻る。
【０２６３】
次いで、フルコピー部３１２は、ロギング情報３１６の対象ファイルを「マイグレーションフラグ：完了」、「整合性フラグ：正常」に更新し（処理Ｃ２６）、差分コピー部３１３に監視を依頼し（処理Ｃ２７）、処理が終了する。
【０２６４】
〔１−８−５〕差分コピーフェーズの動作例
次に、図３０及び図３１を参照して、差分コピーフェーズの動作例を説明する。
【０２６５】
図３０に示すように、差分コピー部３１３は、ソース２０−１からｅｘｐｏｒｔ情報を取得し（処理Ｄ１）、ソース２０−１がマイグレーション対象か否かを判定する（処理Ｄ２）。
【０２６６】
マイグレーション対象ではない場合（処理Ｄ２でＮｏ）、処理が終了する。一方、マイグレーション対象の場合（処理Ｄ２でＹｅｓ）、差分コピー部３１３は、ソース２０−１のメタデータ管理情報３２１の先頭から順に、メタデータを取得する（処理Ｄ３）。
【０２６７】
次に、差分コピー部３１３は、取得したメタデータがファイルのメタデータか否かを判定する（処理Ｄ４）。ファイルのメタデータでない場合（処理Ｄ４でＮｏ）、処理がＤ３に移行する。一方、ファイルのメタデータの場合（処理Ｄ４でＹｅｓ）、差分コピー部３１３は、ロギング情報３１６の対象ファイルが「整合性フラグ：異常」か否かを判定する（処理Ｄ５）。
【０２６８】
「整合性フラグ：異常」でない場合（処理Ｄ５でＮｏ）、処理がＤ３に移行する。一方、「整合性フラグ：異常」の場合（処理Ｄ５でＹｅｓ）、差分コピー部３１３は、ターゲット２０−２のメタ情報を取得済か否かを判定する（処理Ｄ６）。この判定は、オブジェクト管理情報３２２の「ＦＩＬＥ  ＨＡＮＤＬＥ（ｔｏ）」のポインタに基づき行なわれてよい。
【０２６９】
ターゲット２０−２のメタ情報が取得済でない場合（処理Ｄ６でＮｏ）、処理がＤ３に移行する。一方、ターゲット２０−２のメタ情報を取得済の場合（処理Ｄ６でＹｅｓ）、差分コピー部３１３（又は管理部３１４）は、コピー管理情報３２３を作成する（処理Ｄ７）。このとき、コピー管理情報３２３には、ソース２０−１のファイルサイズに応じてマップ領域３２４が作成され、全エクステントのダーティフラグがＯＮに設定される。これにより、更新系ＮＦＳリクエストにより取得／設定部３４がダーティフラグをＯＦＦに設定したエクステントについて、データ移動をスキップできる。
【０２７０】
差分コピー部３１３は、マイグレーション連携部３３１に対して、オブジェクト管理情報３２２にコピー管理情報３２３へのポインタの設定を依頼する（処理Ｄ８）。マイグレーション連携部３３１は、管理部３１４と連携して、オブジェクト管理情報３２２を更新し（処理Ｄ９）、処理がＤ８に戻る。
【０２７１】
次いで、差分コピー部３１３は、ロギング情報３１６の対象ファイルを「マイグレーションフラグ：処理中」に更新し（処理Ｄ１０）、マップ領域３２４から対象のエクステント情報を取得する（処理Ｄ１１）。
【０２７２】
差分コピー部３１３は、対象エクステントのコピー済フラグがＯＮか否かを判定し（処理Ｄ１２）、コピー済フラグがＯＦＦの場合（処理Ｄ１２でＮｏ）、対象エクステントのダーティフラグがＯＮか否かを判定する（処理Ｄ１３）。
【０２７３】
ダーティフラグがＯＦＦの場合（処理Ｄ１３でＮｏ）、又は、処理Ｄ１２においてコピー済フラグがＯＮの場合（処理Ｄ１２でＹｅｓ）、処理がＤ１１に移行する。
【０２７４】
処理Ｄ１３において、ダーティフラグがＯＮの場合（処理Ｄ１３でＹｅｓ）、差分コピー部３１３は、更新系ＮＦＳリクエストの完了の待ち合わせを行なう（図３１の処理Ｄ１４）。例えば、差分コピー部３１３は、マップ領域３２４の実行カウンタで更新系ＮＦＳリクエストの実行状態を確認し、実行カウンタ値が“０”以外の場合は、実行カウンタ値が“０”になるまで、実行の完了を待ち合わせてよい。
【０２７５】
次いで、差分コピー部３１３は、対象エクステントのコピー中フラグをＯＮに設定し、ダーティフラグをＯＦＦに設定するフラグ操作を行なう（処理Ｄ１５）。なお、データを読み出す前に当該エクステントのダーティフラグをＯＦＦにするのは、データの読出／書込中に更新系ＮＦＳリクエストの発生を検出するためである。
【０２７６】
そして、差分コピー部３１３は、ＮＦＳプロトコルによりソース２０−１にデータの読み出しを指示し（処理Ｄ１６）、ソース２０−１はファイルデータの読み出しを行なう（処理Ｄ１７）。差分コピー部３１３は、データの読出エラーを判定する（処理Ｄ１８）。
【０２７７】
なお、エラー判定は、図２９に示すフルコピーフェーズにおけるエラー判定（処理Ｃ１７）と同様のリトライ条件であってよい。エラーと判定されると（処理Ｄ１８でＹｅｓ）、処理が図３０のＤ３に移行する。
【０２７８】
一方、エラーと判定されない場合（処理Ｄ１８でＮｏ）、差分コピー部３１３は、ＮＦＳプロトコルによりターゲット２０−２にデータの書き込みを指示し（処理Ｄ１９）、ターゲット２０−２はファイルデータの書き込みを行なう（処理Ｄ２０）。差分コピー部３１３は、データの書込エラーを判定する（処理Ｄ２１）。書込エラーの判定についても、読出エラーの判定と同様のリトライ条件であってよい。エラーと判定されると（処理Ｄ２１でＹｅｓ）、処理が図３０のＤ３に移行する。
【０２７９】
エラーと判定されない場合（処理Ｄ２１でＮｏ）、差分コピー部３１３は、対象エクステントのダーティフラグがＯＮか否かを判定する（処理Ｄ２２）。ダーティフラグがＯＮの場合（処理Ｄ２２でＹｅｓ）、処理がＤ１４に移行する。なお、この場合、データ移動中（読出／書込中）にＮＦＳアクセスで対象エクステントが更新されたことを示すため、データの読み出し処理をリトライする。
【０２８０】
ダーティフラグがＯＦＦの場合（処理Ｄ２２でＮｏ）、差分コピー部３１３は、対象エクステントが最終エクステントか否かを判定する（処理Ｄ２３）。最終エクステントでない場合（処理Ｄ２３でＮｏ）、処理が図３０のＤ１１に移行する。一方、最終エクステントの場合（処理Ｄ２３でＹｅｓ）、差分コピー部３１３は、ダーティフラグがＯＮのエクステントが存在するか否かを判定する（処理Ｄ２４）。
【０２８１】
ダーティフラグがＯＮのエクステントが存在する場合（処理Ｄ２４でＹｅｓ）、処理が図３０のＤ３に移行する。一方、ダーティフラグがＯＮのエクステントが存在しない場合（処理Ｄ２４でＮｏ）、差分コピー部３１３は、マイグレーション連携部３３１に対して、オブジェクト管理情報３２２からコピー管理情報３２３へのポインタの削除を依頼する（処理Ｄ２５）。マイグレーション連携部３３１は、管理部３１４と連携して、オブジェクト管理情報３２２を更新し（処理Ｄ２６）、処理がＤ２５に戻る。
【０２８２】
次いで、差分コピー部３１３は、ロギング情報３１６の対象ファイルを「マイグレーションフラグ：完了」、「整合性フラグ：正常」に更新し（処理Ｄ２７）、対象ｅｘｐｏｒｔの全メタデータが処理済か否かを判定する（処理Ｄ２８）。全メタデータが処理済ではない場合（処理Ｄ２８でＮｏ）、処理が図３０のＤ３に移行する。
【０２８３】
一方、全メタデータが処理済の場合（処理Ｄ２８でＹｅｓ）、差分コピー部３１３は、対象ｅｘｐｏｒｔのマイグレーション停止指示を受付済か否かを判定する（処理Ｄ２９）。停止指示を受付済でない場合（処理Ｄ２９でＮｏ）、処理が図３０のＤ１に移行する。一方、停止指示を受付済の場合（処理Ｄ２９でＹｅｓ）、処理が終了する。
【０２８４】
〔１−９〕ハードウェア構成例
次に、一実施形態に係る情報処理システム１のハードウェア構成例について説明する。なお、業務サーバ４、プロキシサーバ３、及び、ＮＡＳ２の図示しないコントローラは、それぞれ同様のハードウェア構成をそなえてもよい。従って、以下、これらのハードウェア構成として、コンピュータ１０を例に挙げて説明する。
【０２８５】
図３２に示すように、コンピュータ１０は、例示的に、ＣＰＵ（Central Processing Unit）１０ａ、メモリ１０ｂ、記憶部１０ｃ、ＩＦ（Interface）部１０ｄ、Ｉ／Ｏ部１０ｅ、及び読取部１０ｆをそなえてよい。
【０２８６】
ＣＰＵ１０ａは、種々の制御や演算を行なうプロセッサの一例である。ＣＰＵ１０ａは、コンピュータ１０内の各ブロックとバスで相互に通信可能に接続されてよい。なお、プロセッサとしては、ＣＰＵ１０ａ等の演算処理装置に代えて、電子回路、例えばＭＰＵ（Micro Processing Unit）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）等の集積回路（ＩＣ）が用いられてもよい。
【０２８７】
メモリ１０ｂは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。メモリ１０ｂとしては、例えばＲＡＭ等の揮発性メモリが挙げられる。例えば、プロキシサーバ３の情報格納部３２は、メモリ１０ｂにより実現されてよい。
【０２８８】
記憶部１０ｃは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。記憶部１０ｃとしては、例えばＨＤＤ等の磁気ディスク装置、ＳＳＤ等の半導体ドライブ装置、フラッシュメモリやRead Only Memory（ＲＯＭ）等の不揮発性メモリ等の各種記憶装置が挙げられる。
【０２８９】
例えば記憶部１０ｃは、コンピュータ１０の各種機能の全部若しくは一部を実現する制御プログラム１０ｈを格納してよい。制御プログラム１０ｈは、一実施形態に係る業務サーバ４、プロキシサーバ３、又は、ＮＡＳ２のコントローラの機能を実現するプログラムを含んでよい。
【０２９０】
ＣＰＵ１０ａは、例えば記憶部１０ｃに格納された制御プログラム１０ｈをメモリ１０ｂに展開して実行することにより、コンピュータ１０の機能を実現することができる。なお、コンピュータ１０（例えばプロキシサーバ３）の機能の少なくとも一部がクラウド環境等により実現される場合、制御プログラム１０ｈは、コンピュータ１０及びクラウド環境の双方に提供されてもよい。或いは、制御プログラム１０ｈは、適宜分割されてコンピュータ１０及びクラウド環境のそれぞれに提供されてもよい。
【０２９１】
ＩＦ部１０ｄは、業務サーバ４、プロキシサーバ３、及び、ＮＡＳ２のコントローラの各々の間のネットワークとの接続及び通信の制御等を行なう通信インタフェースの一例である。例えばＩＦ部１０ｄは、ＬＡＮやＳＣＳＩ等に準拠したアダプタが挙げられる。
【０２９２】
なお、制御プログラム１０ｈは、ネットワーク等からＩＦ部１０ｄを介してコンピュータ１０にダウンロードされてもよい。
【０２９３】
Ｉ／Ｏ部１０ｅは、マウス、キーボード、操作ボタン等の入力部、並びにディスプレイやプリンタ等の出力部の少なくとも一部を含んでよい。
【０２９４】
読取部１０ｆは、記録媒体１０ｇに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部１０ｆは、コンピュータ読取可能な記録媒体１０ｇを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部１０ｆとしては、例えばＵＳＢ（Universal Serial Bus）等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、ＳＤカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体１０ｇには制御プログラム１０ｈが格納されてもよい。
【０２９５】
記録媒体１０ｇとしては、例示的に、磁気／光ディスクやフラッシュメモリ等の非一時的な記録媒体が挙げられる。磁気／光ディスクとしては、例示的に、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイディスク、ＨＶＤ（Holographic Versatile Disc）等が挙げられる。フラッシュメモリとしては、例示的に、ＵＳＢメモリやＳＤカード等が挙げられる。なお、ＣＤとしては、例示的に、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ等が挙げられる。また、ＤＶＤとしては、例示的に、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等が挙げられる。
【０２９６】
上述したコンピュータ１０のハードウェア構成は例示である。従って、コンピュータ１０内でのハードウェアの増減（例えば任意のブロックの追加や削除）、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。また、プロキシサーバ３及びＮＡＳ２のコントローラのハードウェア構成を１つのコンピュータ１０に集約してもよい。
【０２９７】
〔２〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。例えば、プロキシサーバ３において、マイグレーション処理部３１、情報格納部３２、及び、プロキシ処理部３３の機能は、任意の組み合わせで併合してもよく、分割してもよい。
【０２９８】
〔３〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【０２９９】
（付記１）
１以上のネットワークストレージと、
上位装置と前記１以上のネットワークストレージとの間の通信を中継する中継装置と、をそなえ、
前記中継装置は、
前記１以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第１移行処理を行なう移行処理部と、
前記移行元のファイルシステムが格納する前記第１移行処理の対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理するオブジェクト管理情報と、前記第１移行処理の進捗状況をオブジェクトごとに管理する移行管理情報と、を記憶するメモリ部と、
前記上位装置から前記対象オブジェクトに対する書込リクエストを受信した場合、前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択する選択部と、
前記選択部が選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行するリクエスト処理部と、をそなえる
ことを特徴とする、情報処理システム。
【０３００】
（付記２）
前記移行処理部は、前記対象オブジェクトを所定サイズのデータ領域単位で移行し、
前記移行管理情報は、前記対象オブジェクトに係る前記第１移行処理の進捗状況を、前記所定サイズのデータ領域単位で管理し、
前記選択部は、前記移行管理情報を参照し、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元及び移行先の双方のファイルシステムを選択する、
ことを特徴とする、付記１記載の情報処理システム。
【０３０１】
（付記３）
前記選択部は、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記移行管理情報に対して、前記書込リクエストが対象とするデータ領域について移行済を示す情報を設定し、
前記移行処理部は、前記第１移行処理において、前記移行管理情報を参照し、前記書込リクエストが対象とするデータ領域の移行を行なわない、
ことを特徴とする、付記２記載の情報処理システム。
【０３０２】
（付記４）
前記選択部は、前記書込リクエストが移行中のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元のファイルシステムを選択する、
ことを特徴とする、付記２又は付記３記載の情報処理システム。
【０３０３】
（付記５）
前記選択部は、前記リクエスト処理部による前記書込リクエストに係る処理の実行に起因して前記移行元及び移行先のファイルシステム間でデータ領域にデータ不整合が発生した場合、前記移行管理情報に対して当該データ領域におけるデータ不整合の発生を示す情報を設定し、
前記移行処理部は、前記第１移行処理において、前記移行管理情報に基づき、データ不整合が発生したデータ領域の移行を行なう、
ことを特徴とする、付記２〜４のいずれか１項記載の情報処理システム。
【０３０４】
（付記６）
前記移行処理部は、前記第１移行処理が完了した場合、前記移行元及び移行先のファイルシステム間の等価状態を維持する第２移行処理を行なう、
ことを特徴とする、付記１〜５のいずれか１項記載の情報処理システム。
【０３０５】
（付記７）
前記中継装置は、
前記移行元及び移行先ファイルシステム間でデータ不整合が発生しているオブジェクトを示す情報を管理するログ管理部、をそなえ、
前記移行処理部は、前記第２移行処理において、前記ログ管理部を参照し、前記移行元及び移行先ファイルシステム間でデータ不整合が発生したオブジェクトの移行を行なう、
ことを特徴とする、付記６記載の情報処理システム。
【０３０６】
（付記８）
前記移行処理部は、前記第１移行処理の実行前に、前記移行元のファイルシステムに格納されるオブジェクトの属性情報を前記移行先のファイルシステムに移行する初期移行処理を行なう、
ことを特徴とする、付記１〜７のいずれか１項記載の情報処理システム。
【０３０７】
（付記９）
１以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第１移行処理を行なう移行処理部と、
前記移行元のファイルシステムが格納する前記第１移行処理の対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理するオブジェクト管理情報と、前記第１移行処理の進捗状況をオブジェクトごとに管理する移行管理情報と、を記憶するメモリ部と、
上位装置から前記対象オブジェクトに対する書込リクエストを受信した場合、前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択する選択部と、
前記選択部が選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行するリクエスト処理部と、をそなえる
ことを特徴とする、情報処理装置。
【０３０８】
（付記１０）
前記移行処理部は、前記対象オブジェクトを所定サイズのデータ領域単位で移行し、
前記移行管理情報は、前記対象オブジェクトに係る前記第１移行処理の進捗状況を、前記所定サイズのデータ領域単位で管理し、
前記選択部は、前記移行管理情報を参照し、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元及び移行先の双方のファイルシステムを選択する、
ことを特徴とする、付記９記載の情報処理装置。
【０３０９】
（付記１１）
前記選択部は、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記移行管理情報に対して、前記書込リクエストが対象とするデータ領域について移行済を示す情報を設定し、
前記移行処理部は、前記第１移行処理において、前記移行管理情報を参照し、前記書込リクエストが対象とするデータ領域の移行を行なわない、
ことを特徴とする、付記１０記載の情報処理装置。
【０３１０】
（付記１２）
前記選択部は、前記書込リクエストが移行中のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元のファイルシステムを選択する、
ことを特徴とする、付記１０又は付記１１記載の情報処理装置。
【０３１１】
（付記１３）
前記選択部は、前記リクエスト処理部による前記書込リクエストに係る処理の実行に起因して前記移行元及び移行先のファイルシステム間でデータ領域にデータ不整合が発生した場合、前記移行管理情報に対して当該データ領域におけるデータ不整合の発生を示す情報を設定し、
前記移行処理部は、前記第１移行処理において、前記移行管理情報に基づき、データ不整合が発生したデータ領域の移行を行なう、
ことを特徴とする、付記１０〜１２のいずれか１項記載の情報処理装置。
【０３１２】
（付記１４）
前記移行処理部は、前記第１移行処理が完了した場合、前記移行元及び移行先のファイルシステム間の等価状態を維持する第２移行処理を行なう、
ことを特徴とする、付記９〜１３のいずれか１項記載の情報処理装置。
【０３１３】
（付記１５）
前記移行元及び移行先ファイルシステム間でデータ不整合が発生しているオブジェクトを示す情報を管理するログ管理部、をそなえ、
前記移行処理部は、前記第２移行処理において、前記ログ管理部を参照し、前記移行元及び移行先ファイルシステム間でデータ不整合が発生したオブジェクトの移行を行なう、
ことを特徴とする、付記１４記載の情報処理装置。
【０３１４】
（付記１６）
前記移行処理部は、前記第１移行処理の実行前に、前記移行元のファイルシステムに格納されるオブジェクトの属性情報を前記移行先のファイルシステムに移行する初期移行処理を行なう、
ことを特徴とする、付記９〜１５のいずれか１項記載の情報処理装置。
【０３１５】
（付記１７）
コンピュータに、
１以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第１移行処理を行ない、
上位装置から前記対象オブジェクトに対する書込リクエストを受信した場合、メモリ部が記憶する、前記移行元のファイルシステムが格納する前記第１移行処理の対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理するオブジェクト管理情報と、前記第１移行処理の進捗状況をオブジェクトごとに管理する移行管理情報と、を参照し、
前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択し、
選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行する、
処理を実行させることを特徴とする、制御プログラム。
【０３１６】
（付記１８）
前記移行管理情報は、前記対象オブジェクトに係る前記第１移行処理の進捗状況を、所定サイズのデータ領域単位で管理し、
前記第１移行処理は、前記対象オブジェクトを前記所定サイズのデータ領域単位で移行し、
前記選択は、前記移行管理情報を参照し、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元及び移行先の双方のファイルシステムを選択する、
ことを特徴とする、付記１７記載の制御プログラム。
【０３１７】
（付記１９）
前記選択は、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記移行管理情報に対して、前記書込リクエストが対象とするデータ領域について移行済を示す情報を設定し、
前記第１移行処理は、前記移行管理情報を参照し、前記書込リクエストが対象とするデータ領域の移行を行なわない、
ことを特徴とする、付記１８記載の制御プログラム。
【０３１８】
（付記２０）
前記選択は、前記書込リクエストが移行中のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元のファイルシステムを選択する、
ことを特徴とする、付記１８又は付記１９記載の制御プログラム。
【符号の説明】
【０３１９】
１    情報処理システム
２、２−１、２−２    ＮＡＳ
２０、２０−１、２０−２    ファイルシステム
３    プロキシサーバ
３１    マイグレーション処理部
３１１    初期コピー部
３１２    フルコピー部
３１３    差分コピー部
３１４    管理部
３１５    ＤＢ部
３１６    ロギング情報
３２    情報格納部
３２１    メタデータ管理情報
３２２    オブジェクト管理情報
３２３    コピー管理情報
３２４    マップ領域
３３    プロキシ処理部
３３１    マイグレーション連携部
３４    取得／設定部
４、４−１、４−２    業務サーバ
４０    ＮＦＳクライアント
【図１】
2018010576.tif 000003
【図２】
2018010576.tif 000004
【図３】
2018010576.tif 000005
【図４】
2018010576.tif 000006
【図５】
2018010576.tif 000007
【図６】
2018010576.tif 000008
【図７】
2018010576.tif 000009
【図８】
2018010576.tif 000010
【図９】
2018010576.tif 000011
【図１０】
2018010576.tif 000012
【図１１】
2018010576.tif 000013
【図１２】
2018010576.tif 000014
【図１３】
2018010576.tif 000015
【図１４】
2018010576.tif 000016
【図１５】
2018010576.tif 000017
【図１６】
2018010576.tif 000018
【図１７】
2018010576.tif 000019
【図１８】
2018010576.tif 000020
【図１９】
2018010576.tif 000021
【図２０】
2018010576.tif 000022
【図２１】
2018010576.tif 000023
【図２２】
2018010576.tif 000024
【図２３】
2018010576.tif 000025
【図２４】
2018010576.tif 000026
【図２５】
2018010576.tif 000027
【図２６】
2018010576.tif 000028
【図２７】
2018010576.tif 000029
【図２８】
2018010576.tif 000030
【図２９】
2018010576.tif 000031
【図３０】
2018010576.tif 000032
【図３１】
2018010576.tif 000033
【図３２】
2018010576.tif 000034