(57)【特許請求の範囲】
【請求項１】
第１のファイルシステムを管理する第１のＮＡＳ装置と、第２のファイルシステムを管理する第２のＮＡＳ装置と、前記第１のファイルシステムに格納されている複数のファイルに読み書きを行う計算機とを含む情報システムにおいて、前記第１のファイルシステムに格納されている前記複数のファイルを前記第２のファイルシステムへ移行するファイルシステムの移行方法であって、
前記ファイルシステムの移行方法は、ファイル移行処理と、前記ファイル移行処理を複数回実行した後に実行するファイル移行終端処理とを含み、
前記ファイル移行処理は、所定時間内で完了する範囲で実行されるもので、
前記第１及び第２のファイルシステムに格納されている複数のファイル及び複数のディレクトリの一覧を取得して比較し、比較結果に基づき前記第２のファイルシステムにのみ存在するファイル及びディレクトリを削除するステップと、
前記第１のファイルシステムに格納されている前記複数のディレクトリのうち、前記第２のファイルシステムに同一のディレクトリがないものを前記第２のファイルシステムにコピーするステップとを含み、
前記所定時間内における範囲において、前記第１のファイルシステムの前記複数のディレクトリ内に存在するファイルについて、前記ファイルの更新日時が所定の日時よりも前であり、かつ、前記第２のファイルシステムの対応するティレクトリに同一のファイルが存在しない場合、前記ファイルを前記第２のファイルシステムにコピーするステップを含む処理を繰り返し実行し、
前記ファイル移行終端処理は、
前記第１及び第２のファイルシステムに格納されている複数のファイル及び複数のティレクトリの一覧を取得して比較し、比較結果に基づき前記第２のファイルシステムにのみ存在するファイル及びディレクトリを削除するステップと、
前記第１のファイルシステムに格納されている前記複数のティレクトリのうち、前記第２のファイルシステムに同一のディレクトリがないものを前記第２のファイルシステムにコピーするステップと、
前記第１のファイルシステムに格納されている前記複数のファイルのうち、前記第２のファイルシステムに同一のファイルがないものをすべて前記第２のファイルシステムにコピーするステップとを含む
ことを特徴とする、ファイルシステムの移行方法。
【請求項２】
請求項１記載のファイルシステムの移行方法であって、
前記ファイル移行処理では、
前記第１のファイルシステムの前記ファイルがＷＯＲＭファイルである場合は、前記ファイルの更新日時に関わらず、前記第２のファイルシステムの対応するディレクトリに同一のファイルが存在しなければ、前記ファイルを前記第２のファイルシステムにコピーするステップを含む処理を繰り返し実行する
ことを特徴とするファイルシステムの移行方法。
【請求項３】
請求項１記載のファイルシステムの移行方法であって、
前記ファイルを前記第２のファイルシステムへコピーするステップは、さらにコピーしたファイルのコピー時間とファイルサイズとを記録することを含み、
前記ファイルシステムの移行方法はさらに、
前記第２のファイルシステムへコピーした各ファイルの第１のファイルサイズとコピー時間、及び、所定の日時よりも前に更新された各ファイルの第２のファイルサイズを取得するステップと、
前記コピー時間と、前記第１及び第２のファイルサイズとに基づいて、移行が完了していないファイルを移行するために要する時間を見積もるステップとを含む
ことを特徴とするファイルシステムの移行方法。
【請求項４】
請求項１記載のファイルシステムの移行方法であって、
前記ファイル移行処理と前記ファイル移行終端処理は、第２のＮＡＳ装置又は、前記第１及び第２のＮＡＳ装置に接続された移行計算機、にて処理される
ことを特徴とするファイルシステムの移行方法。
【請求項５】
第１のファイルシステムを管理する第１のＮＡＳ装置と、第２のファイルシステムを管理する第２のＮＡＳ装置とに接続され、前記第１のファイルシステムの指定ディレクトリ以下に格納する複数のファイルを前記第２のファイルシステムへ移行する移行計算機であって、
前記移行計算機は、
プロセッサと、
プログラムが格納された記憶領域と、
を有し、
前記プロセッサは、
前記記憶領域に格納された前記プログラムに基づいて、ファイル移行処理と、前記ファイル移行処理を複数回実行した後に実行するファイル移行終端処理とを含むファイルシステムの移行処理を実行し、
前記ファイル移行処理は、所定時間内で完了する範囲で実行されるもので、
前記第１及び第２のファイルシステムに格納されている複数のファイル及び複数のディレクトリの一覧を取得して比較し、比較結果に基づき前記第２のファイルシステムにのみ存在するファイル及びディレクトリを削除するステップと、
前記第１のファイルシステムに格納されている前記複数のディレクトリのうち、前記第２のファイルシステムに同一のディレクトリがないものを前記第２のファイルシステムにコピーするステップとを含み、
前記所定時間内における範囲において、前記第１のファイルシステムの前記複数のディレクトリ内に存在するファイルについて、前記ファイルの更新日時が所定の日時よりも前であり、かつ、前記第２のファイルシステムの対応するティレクトリに同一のファイルが存在しない場合、前記ファイルを前記第２のファイルシステムにコピーするステップを含む処理を繰り返し実行し、
前記ファイル移行終端処理は、
前記第１及び第２のファイルシステムに格納されている複数のファイル及び複数のティレクトリの一覧を取得して比較し、比較結果に基づき前記第２のファイルシステムにのみ存在するファイル及びディレクトリを削除するステップと、
前記第１のファイルシステムに格納されている前記複数のティレクトリのうち、前記第２のファイルシステムに同一のディレクトリがないものを前記第２のファイルシステムにコピーするステップと、
前記第１のファイルシステムに格納されている前記複数のファイルのうち、前記第２のファイルシステムに同一のファイルがないものをすべて前記第２のファイルシステムにコピーするステップとを含む
ことを特徴とする移行計算機。
【請求項６】
請求項５記載の移行計算機であって、
前記ファイル移行処理において、前記プロセッサは、
前記第１のファイルシステムの前記ファイルがＷＯＲＭファイルである場合は、前記ファイルの更新日時に関わらず、前記第２のファイルシステムの対応するディレクトリに同一のファイルが存在しなければ、前記ファイルを前記第２のファイルシステムにコピーするステップを含む処理を繰り返し実行する
ことを特徴とする移行計算機。
【請求項７】
請求項５記載の移行計算機であって、
前記ファイルを前記第２のファイルシステムへコピーするステップは、さらにコピーしたファイルのコピー時間とファイルサイズとの記録処理を含み、
前記プロセッサはさらに、
前記第２のファイルシステムへコピーした各ファイルの第１のファイルサイズとコピー時間、及び、所定の日時よりも前に更新された各ファイルの第２のファイルサイズを取得し、
前記コピー時間と、前記第１及び第２のファイルサイズとに基づいて、移行が完了していないファイルを移行するために要する時間を見積もる
ことを特徴とする移行計算機。
【請求項８】
第１のファイルシステムを管理する第１のＮＡＳ装置と、第２のファイルシステムを管理する第２のＮＡＳ装置とに接続され、前記第１のファイルシステムの指定ディレクトリ以下に格納する複数のファイルを前記第２のファイルシステムへ移行する移行計算機又は前記第２のＮＡＳ装置に実装されるプログラムであって、
前記プログラムは、前記移行計算機又は前記第２のＮＡＳ装置に、
ファイル移行処理と、前記ファイル移行処理を複数回実行した後に実行するファイル移行終端処理とを含むファイルシステムの移行処理を実行させ、
前記ファイル移行処理は、所定時間内で完了する範囲で実行されるもので、
前記第１及び第２のファイルシステムに格納されている複数のファイル及び複数のディレクトリの一覧を取得して比較し、比較結果に基づき前記第２のファイルシステムにのみ存在するファイル及びディレクトリを削除するステップと、
前記第１のファイルシステムに格納されている前記複数のディレクトリのうち、前記第２のファイルシステムに同一のディレクトリがないものを前記第２のファイルシステムにコピーするステップとを含み、
前記所定時間内における範囲において、前記第１のファイルシステムの前記複数のディレクトリ内に存在するファイルについて、前記ファイルの更新日時が所定の日時よりも前であり、かつ、前記第２のファイルシステムの対応するティレクトリに同一のファイルが存在しない場合、前記ファイルを前記第２のファイルシステムにコピーするステップを含む処理を繰り返し実行し、
前記ファイル移行終端処理は、
前記第１及び第２のファイルシステムに格納されている複数のファイル及び複数のティレクトリの一覧を取得して比較し、比較結果に基づき前記第２のファイルシステムにのみ存在するファイル及びディレクトリを削除するステップと、
前記第１のファイルシステムに格納されている前記複数のティレクトリのうち、前記第２のファイルシステムに同一のディレクトリがないものを前記第２のファイルシステムにコピーするステップと、
前記第１のファイルシステムに格納されている前記複数のファイルのうち、前記第２のファイルシステムに同一のファイルがないものをすべて前記第２のファイルシステムにコピーするステップとを含む
ことを特徴とするプログラム。
【請求項９】
請求項８記載のプログラムであって、
前記ファイル移行処理において、前記移行計算機又は前記第２のＮＡＳ装置に、
前記第１のファイルシステムの前記ファイルがＷＯＲＭファイルである場合は、前記ファイルの更新日時に関わらず、前記第２のファイルシステムの対応するディレクトリに同一のファイルが存在しなければ、前記ファイルを前記第２のファイルシステムにコピーするステップを含む処理を繰り返し実行させる
ことを特徴とするプログラム。
【請求項１０】
請求項８記載のプログラムであって、
前記ファイルを前記第２のファイルシステムへコピーするステップは、さらにコピーしたファイルのコピー時間とファイルサイズとを記録することを含み、
前記移行計算機又は前記第２のＮＡＳ装置にさらに、
前記第２のファイルシステムへコピーした各ファイルの第１のファイルサイズとコピー時間、及び、所定の日時よりも前に更新された各ファイルの第２のファイルサイズを取得させ、
前記コピー時間と、前記第１及び第２のファイルサイズとに基づいて、移行が完了していないファイルを移行するために要する時間を見積もらせる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルシステムの移行方法、移行計算機及びプログラムに関する。
【背景技術】
【０００２】
ディスクアレイ装置に代表されるストレージ装置は、ストレージ装置内のディスク装置の記憶域を論理的に分割して、ボリュームとしてホスト計算機に提供する。このようなストレージ装置をネットワークに接続し、ホスト計算機は、ネットワークを介してストレージ装置に接続し、ブロック形式やメインフレームのCKD形式でボリュームにアクセスする。また、ネットワークを介してホスト計算機に対してファイル形式でボリュームアクセスを提供する手段の一つとしてNAS（Network Attached Storage）装置が知られている。NAS装置では，OS(Operating system)やファイルシステムが動作し，ストレージ装置が提供する各ボリュームに格納されているファイルやディレクトリの情報を保持し，ホスト計算機からの要求に応じたファイル入出力を実施する。
【０００３】
このようなNAS装置において,性能不足や，容量不足が発生した際には，新しいNAS装置に，既設のNAS装置のデータを移行して，運用することが考えられる。
【０００４】
これまでのストレージ装置の移行方法として、新設するストレージ装置から既設のストレージ装置にアクセス可能とし、新設のストレージ装置が既設のストレージ装置からブロックデータを移行しつつ、ホスト計算機からのブロックアクセス要求を処理する方法が，開示されている(特許文献１)。
【０００５】
【特許文献１】特開２０００−１８７６０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ブロックアクセスを提供するストレージ装置に関する移行方式であるが、前述の従来方式の既設ストレージ装置と新設のストレージ装置にそれぞれNAS装置を接続した場合を考えると、前述の特許文献の移行方式では、移行処理中に、ホスト計算機からファイルへの書き込み要求を受け付けた際に、新設のNAS装置に、そのファイルを書き込むと共に、新設のNAS装置が、既設のNAS装置にも同一のファイルを書き込む。これにより、万が一、移行処理に失敗しても、既設のNAS装置で運用を継続することができる。しかし、この方法では、１つのファイルの書込み要求に対して、2台のNAS装置への書き込みが発生し、書込み性能が低下する問題がある。
【課題を解決するための手段】
【０００７】
本発明は、一つ以上のＮＡＳ装置と一つ以上のストレージ装置から構成される計算機システムに適用可能なファイルシステムの移行方法、移行計算機及びプログラムを提供する。
【０００８】
かかる課題を解決するため本発明においては、第１のファイルシステムを管理する第１のＮＡＳ装置と、第２のファイルシステムを管理する第２のＮＡＳ装置と、前記第１のファイルシステムに格納されている複数のファイルに読み書きを行う計算機とを含む情報システムにおいて、前記第１のファイルシステムに格納されている前記複数のファイルを前記第２のファイルシステムへ移行するファイルシステムの移行方法であって、前記ファイルシステムの移行方法は、ファイル移行処理と、前記ファイル移行処理を複数回実行した後に実行するファイル移行終端処理とを含み、前記ファイル移行処理は、所定時間内で完了する範囲で実行されるもので、前記第１及び第２のファイルシステムに格納されている複数のファイル及び複数のディレクトリの一覧を取得して比較し、比較結果に基づき前記第２のファイルシステムにのみ存在するファイル及びディレクトリを削除するステップと、前記第１のファイルシステムに格納されている前記複数のディレクトリのうち、前記第２のファイルシステムに同一のディレクトリがないものを前記第２のファイルシステムにコピーするステップとを含み、前記所定時間内における範囲において、前記第１のファイルシステムの前記複数のディレクトリ内に存在するファイルについて、前記ファイルの更新日時が所定の日時よりも前であり、かつ、前記第２のファイルシステムの対応するティレクトリに同一のファイルが存在しない場合、前記ファイルを前記第２のファイルシステムにコピーするステップを含む処理を繰り返し実行し、前記ファイル移行終端処理は、前記第１及び第２のファイルシステムに格納されている複数のファイル及び複数のティレクトリの一覧を取得して比較し、比較結果に基づき前記第２のファイルシステムにのみ存在するファイル及びディレクトリを削除するステップと、前記第１のファイルシステムに格納されている前記複数のティレクトリのうち、前記第２のファイルシステムに同一のディレクトリがないものを前記第２のファイルシステムにコピーするステップと、前記第１のファイルシステムに格納されている前記複数のファイルのうち、前記第２のファイルシステムに同一のファイルがないものをすべて前記第２のファイルシステムにコピーするステップとを含む。
また本発明においては、第１のファイルシステムを管理する第１のＮＡＳ装置と、第２のファイルシステムを管理する第２のＮＡＳ装置とに接続され、前記第１のファイルシステムの指定ディレクトリ以下に格納する複数のファイルを前記第２のファイルシステムへ移行する移行計算機であって、前記移行計算機は、プロセッサと、プログラムが格納された記憶領域と、を有し、前記プロセッサは、前記記憶領域に格納された前記プログラムに基づいて、ファイル移行処理と、前記ファイル移行処理を複数回実行した後に実行するファイル移行終端処理とを含むファイルシステムの移行処理を実行し、前記ファイル移行処理は、所定時間内で完了する範囲で実行されるもので、前記第１及び第２のファイルシステムに格納されている複数のファイル及び複数のディレクトリの一覧を取得して比較し、比較結果に基づき前記第２のファイルシステムにのみ存在するファイル及びディレクトリを削除するステップと、前記第１のファイルシステムに格納されている前記複数のディレクトリのうち、前記第２のファイルシステムに同一のディレクトリがないものを前記第２のファイルシステムにコピーするステップとを含み、前記所定時間内における範囲において、前記第１のファイルシステムの前記複数のディレクトリ内に存在するファイルについて、前記ファイルの更新日時が所定の日時よりも前であり、かつ、前記第２のファイルシステムの対応するティレクトリに同一のファイルが存在しない場合、前記ファイルを前記第２のファイルシステムにコピーするステップを含む処理を繰り返し実行し、前記ファイル移行終端処理は、前記第１及び第２のファイルシステムに格納されている複数のファイル及び複数のティレクトリの一覧を取得して比較し、比較結果に基づき前記第２のファイルシステムにのみ存在するファイル及びディレクトリを削除するステップと、前記第１のファイルシステムに格納されている前記複数のティレクトリのうち、前記第２のファイルシステムに同一のディレクトリがないものを前記第２のファイルシステムにコピーするステップと、前記第１のファイルシステムに格納されている前記複数のファイルのうち、前記第２のファイルシステムに同一のファイルがないものをすべて前記第２のファイルシステムにコピーするステップとを含む。
さらに本発明においては、第１のファイルシステムを管理する第１のＮＡＳ装置と、第２のファイルシステムを管理する第２のＮＡＳ装置とに接続され、前記第１のファイルシステムの指定ディレクトリ以下に格納する複数のファイルを前記第２のファイルシステムへ移行する移行計算機又は前記第２のＮＡＳ装置に実装されるプログラムであって、前記プログラムは、前記移行計算機又は前記第２のＮＡＳ装置に、ファイル移行処理と、前記ファイル移行処理を複数回実行した後に実行するファイル移行終端処理とを含むファイルシステムの移行処理を実行させ、前記ファイル移行処理は、所定時間内で完了する範囲で実行されるもので、前記第１及び第２のファイルシステムに格納されている複数のファイル及び複数のディレクトリの一覧を取得して比較し、比較結果に基づき前記第２のファイルシステムにのみ存在するファイル及びディレクトリを削除するステップと、前記第１のファイルシステムに格納されている前記複数のディレクトリのうち、前記第２のファイルシステムに同一のディレクトリがないものを前記第２のファイルシステムにコピーするステップとを含み、前記所定時間内における範囲において、前記第１のファイルシステムの前記複数のディレクトリ内に存在するファイルについて、前記ファイルの更新日時が所定の日時よりも前であり、かつ、前記第２のファイルシステムの対応するティレクトリに同一のファイルが存在しない場合、前記ファイルを前記第２のファイルシステムにコピーするステップを含む処理を繰り返し実行し、前記ファイル移行終端処理は、前記第１及び第２のファイルシステムに格納されている複数のファイル及び複数のティレクトリの一覧を取得して比較し、比較結果に基づき前記第２のファイルシステムにのみ存在するファイル及びディレクトリを削除するステップと、前記第１のファイルシステムに格納されている前記複数のティレクトリのうち、前記第２のファイルシステムに同一のディレクトリがないものを前記第２のファイルシステムにコピーするステップと、前記第１のファイルシステムに格納されている前記複数のファイルのうち、前記第２のファイルシステムに同一のファイルがないものをすべて前記第２のファイルシステムにコピーするステップとを含む。
なお、本発明の一実施例によると、第１のNASシステムと、第２のNASシステムと、前記第１のNASシステムが格納する複数のファイルに読み書きを行う計算機と、を含む情報システムのファイル移行方法であって、前記第１のNASシステムの指定ディレクトリ以下に格納する複数のファイルに関するファイル名と更新時間情報とを含む第１の属性情報を取得し、格納するステップと、前記第２のNASシステムが格納する複数のファイルに関するファイル名と更新時間情報とを含む第２の属性情報を取得し、格納するステップと、格納した前記第１の属性情報と前記第２の属性情報との差分と、前記第１の属性情報の更新時間情報に関する所定のルールと、に基づき前記第１のNASシステムから前記第２のNASシステムへコピーすべきファイルを特定するステップと、前記特定したファイルを前記第１のNASシステムから前記第２のNASシステムへコピーするステップ、を有する。
【０００９】
なお、計算機の一例としては第1のNASシステムにアクセスを行う例えばNASクライアントである。また、更新時間情報とはファイルが更新されたタイミングを示す情報で、その表現形式は年、月、日、時、分、秒や曜日の形式であってもよく、ある基準時刻からの相対時間であってもよい。これによって、クライアント計算機が要求した書き込みの性能低下を回避できる。また、更新頻度の高いファイルの移行コピーの繰り返し実行を回避することができ、より短時間でNASシステムの移行が可能となる。
【００１０】
なお、所定のルールとしては、前記第１の属性情報の更新時間情報の古いファイルから優先してコピーすべきファイルとして特定することで、再度更新される可能性がより小さい更新時間の古いファイルからコピーする効率の良いを採用してもよい。また、その他の所定のルールとしては、前記ファイル移行処理の実行時間から予め設定した移行除外更新期間を差し引いた第１の時間と、前記第１の属性情報の更新時間情報と、に基づき第１の時間以後に更新されたファイルをコピー抑制対象として特定することで、前者の方法よりも少ない負荷でコピーするファイルを決定することができるルールを採用してもよい。また、第１の属性情報と第２の属性情報の差分（一例としては、第１のNASシステムに存在し、第2のNASシステムに存在しないファイルを指し示す情報や、両方のNASシステムに当該ファイルが存在するが、第1のNASシステムのファイルに対する更新が、第2のNASシステムに反映させれていないファイルを指し示す情報）と、所定のルールの実行順序関係はどちらを先に実行してもよい。また、第１の属性情報と第２の属性情報は情報システムのいずれに格納されてもよく、第１のNASシステムの指定ディレクトリに関するすべてのファイルの更新時間情報などを常時保存する必要もないため、例えば、一時的に第１の属性情報と第２の属性情報として複数のファイルの更新時間情報やファイル名の一部を移行計算機（例えば移行サーバーや、NASクライアントの一部）に格納してもよい。
【００１１】
さらに、NASシステムがWORMを設定されたファイルを格納可能な場合は、前記取得した前記第１の属性情報は前記第１のNASシステムの指定ディレクトリ以下に格納された複数ファイルのWORMの設定に関する情報を含み、前記特定したファイルを前記第１のNASシステムから前記第２のNASシステムへコピーするステップは、さらに前記第１の属性情報が含む前記WORMの設定に関する情報に従い、前記第２のNASシステムにコピーしたファイルにWORMを設定することを含ませてもよい。これによって、WORMが設定されたファイルを含むNASシステムの移行が可能となる。
【００１２】
さらに、前記取得した前記第２の属性情報は前記第２のNASシステムにコピーしたファイルのWORMの設定に関する情報を含み、前記第２の属性情報から、WORMが設定されたファイルを特定するステップと、前記第１の属性情報の取得対象から、前記特定したWORMが設定されたファイルを除外するステップを含ませても良い。WORMが設定されたファイルは第１のNASシステムで更新されることがないため、第１のNASシステムの情報取得量を削減することで移行の高速化が可能となる。
【００１３】
さらに、前記特定したファイルを前記第１のNASシステムから前記第２のNASシステムへコピーするステップは、さらにコピーしたファイルのコピー時間とファイルサイズとを記録することを含み、前記第１の属性情報は前記第１のNASシステムの指定ディレクトリ以下に格納された複数ファイルから移行終了までにコピーすべきファイルに関するファイルサイズ合計を特定するステップと、前記コピー時間と前記ファイルサイズと前記ファイルサイズ合計とに基づいて、移行期間情報を提供するステップと、を含めても良い。これによって、本発明の移行方法を利用する管理者が移行完了までに必要な時間を推定することができる。また、移行期間情報の提供方法として、移行サーバーの表示デバイスに表示する方法が考えられるが、他のコンピューターに移行期間情報を送信し、当該情報を元に別な計算機で表示してもよく、別な計算機上で実行中のプログラムに移行期間情報を送信する形態であってもよい。
【００１４】
なお、上記発明は情報システムのいずれかの構成物で実行しても良いが、特に第２のNASシステムで実行すると、前記第２の属性情報の取得とファイルコピーが高速に実施でき、また第１のNASシステムと第２のNASシステムに接続された移行計算機で実行することで、移行機能を有さないNASシステムにも適用可能で、さらに移行に伴う負荷（例えば属性情報の取得と格納や所定のルールの適用）を軽減できる。
【発明の効果】
【００１５】
本発明により、移行に伴う、NAS装置の書き込み性能低下を回避することができる。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明の実施の形態を説明する。
【実施例１】
【００１７】
図１は、本発明の１実施例を適用したストレージネットワークシステムを端的に表したシステムの構成例である。
【００１８】
図示するように、本実施形態のストレージネットワークシステムは、移行サーバ１と少なくとも１台の移行元NAS装置２aと，移行元NAS装置２aに接続するストレージ装置５０ａと、少なくとも１台の移行先NAS装置５０bと、移行先NAS装置２ｂに接続するストレージ装置３ｂと、移行元NAS装置２aに対してファイルアクセスを実施する複数のNASクライアント100と、移行サーバ１がコピー元NAS装置2aとコピー先NAS装置２ｂとNASクライアント100とが接続するネットワーク３を有する。
【００１９】
移行サーバ１は、メモリ７と、CPU８と、ネットワーク３に接続するためのI/Oポート９と、キーボード５やマウス６を接続する入力装置１０と，表示装置４を接続する出力装置１１と，これら７〜１１を接続する内部バス１２を有する。メモリ７には、ネットワーク３の通信プロトコルで通信するための通信制御処理プログラム１６と、移行元NAS装置２ａと移行先NAS装置２ｂへのアクセス制御を行うネットワークファイルシステム１３と，本発明のNAS装置の移行方式を実施する移行処理プログラム１４と、移行処理プログラム１４を、起動する移行処理起動処理プログラム１５と、移行期間を見積もる、移行期間見積り処理プログラム１７が格納されている。CPU８がこれらのプログラムを実行する。また，メモリ７には，移行処理起動処理プログラム１５が移行処理プログラム１４を起動するスケジュールを格納しているスケジュールテーブル30と、移行処理プログラム１４が利用する，NAS管理テーブル２０と，移行処理プログラム１４の移行結果を出力する実行結果ログ４０が格納される。なお、メモリ７には、図示していないが，オペレーティングシステムが格納さている。
【００２０】
ストレージ装置５０ａ、５０ｂは，移行元NAS装置２a,移行先NAS装置２ｂに接続する少なくとも１つのI/Oポート５１と、ストレージ装置内の制御を行うコントローラ５２と、少なくとも１つのボリューム５３を構成する少なくとも１つのディスク装置６０と、を有する。ボリューム５３は、NAS装置2a,2bの利用者にファイルシステムを提供するためのボリュームであり、ファイルとその属性情報を格納している。
【００２１】
NASクライアント１００は、オペレーティングシステムが動作する一般的なパーソナルコンピュータであり、図示していないが、NAS装置が提供するシェアディレクトリに、アクセスするためのネットワークファイルシステムやNASを利用するアプリケーションプログラムが動作する。NASクライアント１００は、移行元NAS装置２aから移行先NAS装置２ｂへの移行処理が完了するまでは、移行元NAS装置２aが提供するシェアディレクトリに対して、ファイルアクセスを実施し、移行が完了すると、移行先NAS装置２ｂが提供するシェアディレクトリに対して、ファイルアクセスを実施する。
【００２２】
ところで、NAS装置の移行に要する時間は、移行元NAS装置２aに格納されているデータ量に比例して、長くなる。また、移行処理の移行元NAS装置２aへの負荷により、NASクライアント100の移行元NAS装置２aへのアクセス性能が低下する恐れがある。そこで、本発明のNAS装置の移行方式では、NASクライアント１００からの移行元NAS装置２aへのアクセスが少ない時間帯(例えば、夜間のみ)に、移行処理を連日、実施する。これにより、日々、移行が進捗していく。しかし、前述の通り、NASクライアント１００が、移行元NAS装置２aが提供するシェアディレクトリに対してアクセスするため、1度移行したファイルが更新される場合がある。このような、移行期間中に更新されたファイルに対する、本発明のNAS装置の移行方式の処理概要を図２０を用いて説明する。
【００２３】
図２０は、本発明のNAS装置の移行方式による移行手順の概要を示した図である。前述の通り、本発明では書き込み性能低下を回避するため、既設のNAS装置で運用を継続した状態で、新設のNAS装置への移行を実施する。具体的には、ホスト計算機は、既設のNAS装置に対して、ファイルの読み書きを実施し、既設のNAS装置にアクセス可能な、新設のNAS装置が、移行処理を実施する。または、既設のNAS装置と、新設のNAS装置にアクセス可能な、計算機が、移行処理を実施する。このような方法の場合、ホスト計算機からのファイルの書込み要求は、既設のNAS装置でのみ処理されるため、書込み性能が低下する問題を回避できる。しかし、既設のNAS装置のファイルの更新が発生するため、移行処理を繰り返し実施する必要がある。このとき、1度、移行した大量のファイルが、既設のNAS装置で更新されると、更新された大量のファイルを再度を移行し、その間、移行してないファイルの移行が実施されず、移行処理が進捗しない問題が生じる。
【００２４】
図２０の例はそうした問題への対策を示しており、、移行サーバ１は、1回目の移行時に、移行元NAS装置２aのシェアディレクトリ２００に保存されているファイル２０１のうち、ファイル”A1”と”B1”を、移行先NAS装置２ｂのシェアディレクトリ２００に移行する。1回目の移行が終了した後、NASクライアント100により、移行元NAS装置２aのシェアディレクトリ２００のファイル”A1”と”B1”と”C1”が、更新され、”A2”と”B2”と”C2”となる。その後、2回目の移行処理を実施すると、移行サーバ１は、1回目の移行処理終了時以降に更新されたファイル”A2”と”B2”と”C2”の移行は実施せず、ファイル”D1”と”E1”を移行する。これにより、日々同一ファイルが更新されるような移行元NAS装置２aの移行を実施する際に、連日、更新されたファイルのみを移行することが無くなり、移行を効率的に進捗させることが可能となる。
【００２５】
図２は、NAS管理テーブル２０の登録内容例を示す図である。図示するように、NAS管理テーブル２０は、登録情報を識別するためのIDを登録するためのフィールド２１と，移行元NAS装置2aのIPアドレスを登録するためのフィールド２２と，移行元NAS装置2aから移行するシェアディレクトリ名を登録するためのフィールド２３と，移行先NAS装置2ｂのIPアドレスを登録するためのフィールド２4と，フィールド２３のシェアディレクトリの内容を移行する移行先NAS装置２ｂのシェアディレクトリ名を登録するためのフィールド２５と，を備えている。
例えば，フィールド２１の値が“ID-001”のエントリから、IPアドレスが“192.168.10.11”の移行元NAS装置２ａのシェアディレクトリ“Share1”の内容を,IPアドレスが“192.168.10.21”の移行先NAS装置２ｂのシェアディレクトリ“Share1”へ移行することが分かる。
【００２６】
図３は、スケジュールテーブル３０の登録内容例を示す図である。スケジュールテーブル３０には、NAS管理テーブル２０に登録している移行元NAS２aと移行先NAS２ｂのエントリ別に、移行を実施するスケジュールを登録する。図示するように、スケジュールテーブル３０は，登録した情報の対象となる移行元NAS装置２aと移行先NAS２ｂのセットを識別するためのID、即ちNAS管理テーブル２０のフィールド２１に登録されているIDを登録するためのフィールド３１と、移行処理を開始する日時を登録するためのフィールド３２と、移行処理を終了する日時を登録するためのフィールド３３と、移行するファイルの更新日時の条件を登録するフィールド３４と、を備えている。なお、フィールド３３に何も指定されていない場合、移行処理を途中で終了しないことを示す。すなわち、全てのファイルの移行が完了するまで、移行処理を実施することになる。また、フィールド３４の値が”0”の場合には、ファイルの更新日時に関わらず、移行することを示す。
【００２７】
例えば，図３の１つめのエントリは、フィールド３１の値が“ID-001”であり、NAS管理テーブル２１のフィールド２１の値が“ID-001”のエントリからIPアドレスが“192.168.10.11”の移行元NAS装置２ａのシェアディレクトリ“Share1”の内容を,IPアドレスが“192.168.10.21”の移行先NAS装置２ｂのシェアディレクトリ“Share1”へ移行するためのスケジュールであり、2008年1月2日20:00に移行を開始し、2008年1月3日7:00に移行を終了することがわかる。また、24時間以内に更新されたファイルは移行しないことがわかる。
【００２８】
また，図３の5つめのエントリはフィールド３３、即ち移行終了日時が指定されていない。この場合、全ファイルの移行処理が完了するまで、移行処理を終了しないことがわかる。また、フィールド３４の値が”0”であり、ファイルの更新日時に関わらず、全てのファイルを移行することで、ファイル移行を終端させていることがわかる。
【００２９】
図４は、移行元NAS装置2aと移行先NAS装置２ｂの構成例を端的に示した図である。図示するように、NAS装置2a,2bは、メモリ７０と、CPU7１と、ストレージ装置５０a,５０bに接続するための少なくとも１つのI/Oポート７２と、管理ポート７３と、これら７０〜７３を接続する内部バス７４を有する。メモリ７０には、ネットワーク３の通信プロトコルで通信するための通信制御処理プログラム７５と、NAS装置2a,2bが提供するボリュームをホスト計算機がアクセスするための機能を提供するNFS/CIFSサーバ処理プログラム７６と、NFS/CIFSサーバ処理プログラム７６がホスト計算機から受信したファイルへの読み書きの内容に応じた処理を実施するNAS-OS７７が格納されている。CPU７１がこれらのプログラムを実行する。
【００３０】
次に、図５を用いて、移行処理起動処理プログラム１５の処理手順を説明する。図５は、移行処理起動処理プログラム１５の処理フローである。
【００３１】
移行処理起動処理プログラム１５は、S1101にて、スケジュールテーブル３０を読み込み、S1102にて、スケジュールテーブル３０のフィールド３１から移行処理プログラム１４の開始日時を確認し、確認した開始日時に、移行処理プログラム１４を起動する(S1103)。このとき、NAS管理テーブル２０から取得した、移行元NAS装置２aと移行先NAS２ｂのIPアドレスと、シェアディレクトリ名と、スケジュールテーブル３０のフィールド３４の値を、移行処理プログラムの起動パラメタとして指定する。
【００３２】
次に、S1104にて、スケジュールテーブル３０のフィールド３３に移行処理プログラム１４の終了日時が設定されているかを確認し、設定されてなかった場合、処理を終了し、設定されていた場合、S1105に遷移する。S1105では、スケジュールテーブル３０のフィールド33に設定されている終了日時を取得し、取得した終了日時に、移行処理プログラム１４を停止し(S1105)、処理を終了する。
【００３３】
なお、S1102からS1105の処理は、スケジュールテーブル３０に登録されているエントリ分、並列に実行する。
【００３４】
次に，図６から図１０を用いて，本実施例における移行処理プログラム１４の処理手順を説明する。
【００３５】
図６は、移行処理プログラム１５が,移行処理の前処理として、移行元NAS装置2aから削除されたファイルで、移行先NAS装置2bにのみ存在するファイルを、移行先NAS２ｂから削除する処理手順を示す処理フローである。
【００３６】
まず，移行処理プログラム１４は，S1201にて，移行処理起動処理プログラム１５に指定された移行元NAS2aのシェアディレクトリを移行サーバー1のあるディレクトリ（以後、単に”SRC”と呼ぶ）をマウントポイントとしてマウントし、S1202にて、移行処理起動処理プログラム１５に指定された移行先NAS装置２ｂのシェアディレクトリを移行サーバー１の別なディレクトリ（以後、単に”DST”と呼ぶ)をマウントポイントとしてマウントする。次に、S1203で、”SRC”内にあるファイルとディレクトリの一覧を取得し、S1204で、”DST”内にあるファイルとディレクトリの一覧を取得する。そして、S1205にて、S1203とS1204で取得したファイル、ディレクトリの一覧を比較し、S1206で”DST”にのみ存在するファイル、ディレクトリを”DST”から削除する。次に、S1207にて、”SRC”を”元Dir”とし、”DST”を”先Dir”とした後、S1208で移行処理を実施する。この移行処理の詳細を図７を用いて説明する。なお、S1203とS1204にて取得したディレクトリ一覧（少なくとも各ファイルに関するファイル名の更新時間を含む）は情報システムのいずれの装置に一時的または恒久的に格納してもよいが、好ましくは移行サーバーに格納することが考えられる。
【００３７】
図７は、本実施例の移行処理プログラム１４が、移行元NAS装置２ａのファイルシステムに格納されているファイルを，移行先NAS装置２ｂのファイルシステムへ移行する処理手順を示す処理フローである。なお、本フローでは図６のS1207にて設定された"元Dir"と"先Dir"の値をトップディレクトリとして逐次これらの値を変更することで、再帰的な処理を行う。
【００３８】
まず、移行処理プログラム１４は、S1301にて、”元Dir”に過去、S1302の処理を実施してないディレクトリ（以後、このようなディレクトリを未処理ディレクトリと呼ぶことがある）が存在するかを確認する。S1301の結果、S1302の処理を実施してないディレクトリが存在する場合、そのディレクトリを指定して、S1302を実施し、S1302の処理を実施してないディレクトリが存在しない場合、S1303に遷移する。
【００３９】
S1302では、”元Dir”に存在し、”先Dir”に存在しないディレクトリを”先Dir”に作成すると共に、処理するディレクトリ即ち、”元Dir”と”先Dir”を変更する。本処理の詳細は、図８を用いて後で説明する。S1302で”元Dir”と”先Dir”を変更した後、変更後の”元Dir”と”先Dir”に対して、S1301の処理を実施する。
【００４０】
S1303では、”元Dir”に、過去に作成または更新された後にS1304の移行処理を実施してないファイル（以後、このようなファイルを未処理ファイルと呼ぶことがある）が存在するかを確認する。S1303の結果、S1304の移行処理を実施してないファイルが存在する場合、そのファイルを指定して、S1304を実施し、S1304の移行処理を実施してないファイルが存在しない場合、S1305に遷移する。
【００４１】
S1304では、”元Dir”から”先Dir”にファイルを移行し、S1303に遷移する。S1304の処理の詳細は、図９を用いて後で説明する。
【００４２】
S1305では、”元Dir”と”SRC”が同じディレクトリであるかを確認する。S1305の結果、同じディレクトリであった場合、処理を終了し、違うディレクトリであった場合、S1306,S1307を実施した後、S1301に遷移する。
【００４３】
S1306では、”元Dir”の上位ディレクトリを”元Dir”とする。例えば、”元Dir”が”/aaa/bbb/ccc”であった場合、”元Dir”を”/aaa/bbb”にする。S1307では、”先Dir”の上位ディレクトリを”先Dir”とする。
【００４４】
以上の処理により、移行元NAS装置２aのディレクトリ内にあるディレクトリとファイルを、移行先NAS装置２ｂのシェアデュレクトリへの移行が完了する。
【００４５】
次に、図８を用いて、図７のS1302の処理の詳細を説明する。図８は、本実施例の移行処理プログラム１４が、図７のS1302を実施する際に指定する”元Dir”に存在するディレクトリを”先Dir”に作成する処理フローである。
【００４６】
移行処理プログラム１４は、S1401にて、指定されたディレクトリを”元Dir”から取得する。次に、S1402にて、指定されたディレクトリが、”先Dir”に存在するか確認し、存在する場合、S1404に遷移し、存在しない場合、S1403で、”先Dir”に、そのディレクトリを作成し、S1404に遷移する。S1404では、S1401で取得したディレクトリを、”元Dir”とし、そのディレクトリと同一の”先Dir”のディレクトリを”先Dir”とする。
【００４７】
次に、図９を用いて、図７のS1304の処理の詳細を説明する。図９は、本実施例の移行処理プログラム１４が、図７のS1304を実施する際に指定する”元Dir”に存在するファイルを”先Dir”に移行する処理フローである。
【００４８】
移行処理プログラム１４は、S1501にて、移行処理起動処理プログラム１５が指定した、スケジュールテーブル３０のフィールド３４の値が”0”であるか否かを確認し、“0”であった場合、S1505に遷移し、“0”以外の値であった場合、S1502に遷移する。
【００４９】
S1502では、指定されたファイルの更新日時を取得する。次に、S1503で、指定されたファイルの更新日時が、移行処理プログラム１４起動時に、移行処理起動処理プログラム１５が指定した、スケジュールテーブル３０のフィールド３４の値、即ち、移行対象とするファイルの更新日時の条件を満たすかを確認する。例えば、スケジュールテーブル３０の１つ目のエントリのスケジュールで、移行処理プログラム１４を起動している場合には、指定されたファイルについて、移行開始日時である”2008年1月2日20:00”からフィールド３４の値、”24時間”を減算した、”2008年1月1日20:00”以前に更新が生じたかどうかを確認する。
【００５０】
S1503の結果、指定されたファイルがスケジュールテーブル３０や、その他ユーザ定義などによって定められた所定の条件を満たす場合には、S1505に遷移し、そうでない場合には、S1504に遷移する。
【００５１】
S1504では、更新日時を確認したファイルが変更不可ファイル、いわゆるWORM（Write Only Read Many）ファイルであるか否かを確認する。S1504の結果、WORMファイルであった場合、S1505に遷移し、WORMファイルでなかった場合、S1508で、指定されたファイルを、移行除外した旨を実行結果ログ４０に出力し、処理を終了する。なお、WORMとは、裁判や監査等で提出されるデジタルファイルが更新されていないことを保障するために用いられる機能である。このWORMの実現方法の一例としては、NAS装置は、一度WORMと設定されたファイルはNASクライアントまたはNAS装置の利用者からの更新または消去要求を拒否し、さらにNASクライアントまたはNAS装置の利用者からのWORM設定の解除要求も恒久的または定められた一定期間だけ拒否することで実現される。しかし、これ以外でも、少なくとも一定期間は当該改変または削除がされないことが担保される実現方式であってもよい。
【００５２】
S1505では、”元Dir”からファイルとファイルの属性情報やタイムスタンプを取得し、メモリ７に一時的に格納する。次に、S1506で、S1505にてメモリ７に格納したファイルと同一のファイルが”先Dir”に存在するか確認する。このとき、ファイルの属性情報やタイムスタンプが同一であるか否かも確認する。S1506の結果、同一ファイルが”先Dir”に存在する場合、S1508にて、指定されたファイルと、同一のファイルが”先Dir”に存在する旨を実行結果ログ４０に出力し、処理を終了する。なお、同一ファイルが存在する旨を示すログは、出力しなくても構わない。
【００５３】
S1506の結果、”先Dir”に同一ファイルが無かった場合、S1507にて、メモリ７に一時的に格納したファイルを”先Dir”にコピーする。このとき、ファイルの属性情報(システムファイル属性、読取専用属性、暗号化属性、WORM属性等)やタイムスタンプ(作成日時、更新日時、最終アクセス日時)もコピーし、メモリ７からファイルとファイルの属性情報やタイムスタンプを削除する。そして、S1508にて、”先Dir”にファイルをコピーした旨を実行結果ログ４０に出力し、処理を終了する。なお、S1506のコピーは第1にファイルデータ全体を対象とすることが考えられるが、既に同じファイルが移行先のNAS装置2bへコピーされているのであれば、変更箇所を含むファイルデータの一部のみをコピーしてもよい。
【００５４】
以上の処理により、移行元NAS装置2aから移行先NAS装置2bへの全ファイルの移行が完了した後、移行元NAS装置2aに設定されているIPアドレスを移行先NAS装置2bに設定することで、NASクライアント１００の設定を変更することなく、移行先NAS装置2bによる運用を開始できる。
【００５５】
図10は、実行結果ログ４０の一例である。実行結果ログ４０には、移行処理プログラム１４が移行元NAS装置２aのシェアディレクトリに存在するファイルの移行結果として、コピーしたか(コピー)、ファイルの更新日時が、所定の条件を満たさないために除外したか（除外）、同一ファイルが移行先NAS装置２ｂのシェアディレクトリに存在していたため、スキップしたか（同一）を示す状態と、対象ファイルのファイル名と、ファイルサイズを出力する。また、状態が”コピー”の場合、コピーに要した時間をコピー時間として出力する。
【００５６】
例えば、ファイル”/dir1/file1”は、ファイルサイズが”1,024”でコピーが実施され、コピー時間が”２”であることが分かる。また、ファイル”/dir1/file3”は、ファイルサイズが”2,048”で、移行除外したことが分かる。
【００５７】
次に、図１１を用いて、移行期間見積り処理プログラム１７の処理手順を説明する。図１１は、移行期間見積り処理プログラム１７が、実行結果ログ４０の内容から、移行が完了していないファイルを移行するために要する時間を見積もる処理フローである。
【００５８】
移行期間見積り処理プログラム１７は、まず、S1601にて、”移行時間”と、”移行合計”と、”除外合計”を”0”とし、S1602にて、実行結果ログ４０からログを1件取得する。次にS1603にて、ログの種類、即ちログの状態を確認する。S1603の結果、ログの状態が”同一”の場合、S1607に遷移する。S1603の結果、ログの状態が”除外”の場合、S1604にて、ログのファイルサイズの値を、”除外合計”に加算して、S1607に遷移する。S1603の結果、ログの状態が”コピー”の場合、S1605で、ログのファイルサイズの値を”移行合計”に加算し、S1606でログのコピー時間の値を”移行時間”に加算した後に、S1607に遷移する。
【００５９】
S1607では、実行結果ログ４０の全てのログに対して処理を実施したかを確認し、全てのログに対して処理を実施した場合、S1608に遷移し、そうでない場合、S1602に遷移し、次のログに対して処理を実施する。
【００６０】
S1608では、”移行合計”の値を”移行時間”の値で除算した値を”コピー性能”とする。次にS1609にて、”除外合計”の値を”コピー性能”の値で除算した値を、”移行期間”とする。そして、最後にS1610にて、”コピー性能”と、”移行期間”と、”除外合計”の値を表示装置４に出力する。
【００６１】
以上、本発明のNAS装置の移行方式の第１の実施例では、移行サーバ１が、移行元NAS装置２aのシェアディレクトリに格納しているファイルの内、ある特定の日時から移行開始日時までに更新されたファイル以外のファイルを移行先NAS装置２ｂのシェアディレクトリに移行する。このため、移行元NAS装置２aの運用を継続した状態で、日々、繰り返しNAS装置を本発明による移行を実施する場合、日々更新されるファイルを移行対象外とすることが可能となり、特にNASクライアントが更新するファイルに局所性が見られる場合に移行の進捗を早めることができる効果がある。また、移行したファイルのファイルサイズと、移行に要した時間から移行性能を算出し、移行しなかったファイルサイズと移行性能から、移行しなかったファイルを移行するために要する時間を算出する。このため、移行を除外されたファイルを移行するために必要な期間を見積もることができる。また、移行元NAS装置の運用を継続して移行処理を実施するため、最新のファイルが常に移行元NAS装置に格納されている。このため、障害等により移行処理が失敗した場合に、移行元NAS装置で運用を容易に再開できる。
【実施例２】
【００６２】
本発明の第2の実施例を図１２から図１６を用いて説明する。なお、第１の実施例と共通する内容については、説明を省略する。
【００６３】
図１２は、本発明の第2の実施例を適用したストレージネットワークシステムを端的に表したシステムの構成例である。
【００６４】
図示するように、本実施形態のストレージネットワークシステムは、移行サーバ１と少なくとも１台の移行元NAS装置２aと，移行元NAS装置２aに接続するストレージ装置５０ａと、少なくとも１台の移行先NAS装置５０bと、移行先NAS装置２ｂに接続するストレージ装置３ｂと、移行元NAS装置２aに対してファイルアクセスを実施する複数のNASクライアント100と、移行サーバ１がコピー元NAS装置2aとコピー先NAS装置２ｂとNASクライアント100とが接続するネットワーク３を有する。
【００６５】
移行サーバ１は、メモリ７と、CPU８と、ネットワーク３に接続するためのI/Oポート９と、キーボード５やマウス６を接続する入力装置１０と，表示装置４を接続する出力装置１１と，これら７〜１１を接続する内部バス１２を有する。メモリ７には、ネットワーク３の通信プロトコルで通信するための通信制御処理プログラム１６と、移行元NAS装置２ａと移行先NAS装置２ｂへのアクセス制御を行うネットワークファイルシステム１３と，本発明のNAS装置の移行方式を実施する移行処理プログラム１４と、移行処理プログラム１４を、起動する移行処理起動処理プログラム１５が格納されている。CPU８がこれらのプログラムを実行する。また，メモリ７には，移行処理プ起動処理ログラム１５が移行処理プログラム１４を起動するスケジュールを格納しているスケジュールテーブル８０と、移行処理プログラム利用する，NAS管理テーブル２０と，移行処理プログラム１４の移行結果を出力する実行結果ログ４０と、移行元NAS装置２aのシェアディレクトリに格納されているファイルの一覧を格納するファイル管理テーブル９０が格納される。なお、メモリ７には、図示していないが，オペレーティングシステムが格納さている。
【００６６】
ストレージ装置５０ａ、５０ｂは，移行元NAS装置２a,移行先NAS装置２ｂに接続する少なくとも１つのI/Oポート５１と、ストレージ装置内の制御を行うコントローラ５２と、少なくとも１つのボリューム５３を構成する少なくとも１つのディスク装置６０と、を有する。ボリューム５３は、NAS装置2a,2bの利用者にファイルシステムを提供するためのボリュームであり、ファイルとその属性情報を格納している。
【００６７】
図１３は、スケジュールテーブル８０の登録内容例を示す図である。スケジュールテーブル８０には、NAS管理テーブル２０に登録している移行元NAS２aと移行先NAS２ｂのエントリ別に、移行を実施するスケジュールを登録する。図示するように、スケジュールテーブル８０は，登録した情報の対象となる移行元NAS装置２aと移行先NAS２ｂのセットを識別するためのID、即ちNAS管理テーブル２０のフィールド２１に登録されているIDを登録するためのフィールド８１と、移行処理を開始する日時を登録するためのフィールド８２と、移行処理を終了する日時を登録するためのフィールド８３と、を備えている。なお、フィールド８３に何も指定されていない場合、移行処理を途中で終了しないことを示す。すなわち、全てのファイルの移行が完了するまで（つまり、ファイル移行を終端させるまで）、移行処理を実施することになる。
【００６８】
例えば，図１３の１つめのエントリは、フィールド８１の値が“ID-001”であり、NAS管理テーブル２１のフィールド２１の値が“ID-001”のエントリからIPアドレスが“192.168.10.11”の移行元NAS装置２ａのシェアディレクトリ“Share1”の内容を,IPアドレスが“192.168.10.21”の移行先NAS装置２ｂのシェアディレクトリ“Share1”へ移行するためのスケジュールであり、2008年1月2日20:00に移行を開始し、2008年1月3日7:00に移行を終了することがわかる。また、4つめのエントリは、フィールド８３に何も設定されていないため、全てのファイルの移行が完了するまで、移行処理を終了しないことがわかる。
【００６９】
図１４は、ファイル管理テーブル９０の登録内容例を示す図である。ファイル管理テーブル９０には、移行元NAS装置２aのシェアディレクトリに格納されているファイルを更新日時の古い順番に登録する。図１４の例では、”/dir1/file2”が最も更新日時が古く、”/dir1/dir2/dir3/file1”が2番目に古いファイルである、
次に、図１５と図１６を用いて、本実施例における移行処理プログラム１４の処理手順を説明する。なお、移行処理プログラム１４を起動する移行処理起動処理プログラム１５の処理手順は、第1の実施例と同じであるため、説明を省略する。
【００７０】
図１５は、移行処理プログラム１４が,移行処理の前処理として、移行元NAS装置2aから削除されたファイルで、移行先NAS装置2bにのみ存在するファイルを、移行先NAS２ｂから削除すると共に、ファイル管理テーブルを作成する処理手順を示す処理フローである。まず，移行処理プログラム１４は，S2101にて，移行処理起動処理プログラム１５に指定された移行元NAS2aのシェアディレクトリを”SRC”にマウントし、S2102にて、移行処理起動処理プログラム１５に指定された移行先NAS装置２ｂのシェアディレクトリを”DST”にマウントする。次に、S2103で、”SRC”内にあるファイルとディレクトリの一覧を取得し、S2104で、”DST”内にあるファイルとディレクトリの一覧を取得する。そして、S2105にて、S2103とS2104で取得したファイル、ディレクトリの一覧を比較し、S2106で”DST”にのみ存在するファイル、ディレクトリを”DST”から削除する。次に、S2107にて、”SRC”のファイル、ディレクトリ一覧の内容を更新日時の古い順番にソートし、ファイル管理テーブル９０に出力した後に、S2108で移行処理を実施する。この移行処理の詳細を図１６を用いて説明する。
【００７１】
図１６は、本実施例の移行処理プログラム１４が、移行元NAS装置２ａのファイルシステムに格納されているファイルを，移行先NAS装置２ｂのファイルシステムへ移行する処理手順を示す処理フローである。
【００７２】
移行処理プログラム１４は、まず、S2201で、ファイル管理テーブル９０からファイル名を取得し、S2202で、S2201にて取得したファイル名からディレクトリ名を抽出する。次に、S2203で、S2202で抽出したディレクトリ名のディレクトリが”DST”に存在するか確認する。S2202の結果、”DST”にディレクトリが存在する場合、S2205に遷移し、”DST”にディレクトリが存在しない場合、S2204にて、”DST”にS2202で抽出したディレクトリ名のディレクトリを”DST”に作成した後に、S2205に遷移する。
【００７３】
S2205では、S2201で取得したファイル名のファイルとファイルの属性情報やタイムスタンプを取得し、メモリ７に一時的に格納する。次に、S2206で、S2205にてメモリ７に格納したファイルと同一のファイルが”DST”に存在するか確認する。このとき、ファイルの属性情報やタイムスタンプが同一であるか否かも確認する。S2206の結果、同一ファイルが”DST”に存在する場合、S2208にて、”DST”に同一ファイルが存在する旨を実行結果ログ４０に出力し、S2209に遷移する。
【００７４】
S2206の結果、”DST”に同一ファイルが存在しない場合、S2207にて、DSTにS2205でメモリ７に一時的に格納したファイルをコピーし、メモリ７からファイルとファイルの属性情報やタイムスタンプを削除する。このとき、ファイルの属性やタイムスタンプもコピーする。そして、S2208にて、ファイルを移行した旨を実行結果ログ４０に出力し、S2209に遷移する。
【００７５】
S2209では、ファイル管理テーブル９０に、まだ処理してないファイル名があるか否かを確認し、未処理のファイル名がある場合、S2201に遷移し、未処理のファイル名がない場合、処理を終了する。
【００７６】
以上の処理で、移行元NAS装置2aから移行先NAS装置2bへの全ファイルの移行が完了した後、移行元NAS装置2aに設定されているIPアドレスを移行先NAS装置2bに設定することで、NASクライアント１００の設定を変更することなく、移行先NAS装置2bによる運用を開始できる。
【００７７】
以上、本発明のNAS装置の移行方式の第２の実施例では、移行サーバ１が、移行元NAS装置２aのシェアディレクトリに格納しているファイルを更新日時の古い順番に、移行先NAS装置２ｂのシェアディレクトリを移行する。このため、移行元NAS装置２aの運用を継続した状態で、日々、繰り返しNAS装置を移行する場合、移行対象とするファイルの更新日時の条件を定義しなくても、日々更新されるファイルは、移行が後回しになり、移行の進捗を早めることができる効果がある。また、移行サーバ１が、1台のNASクライアントとして、移行元NAS装置２aと移行先NAS装置２ｂに接続して、移行処理を実施するため、移行元NAS装置２aと移行先NAS装置２ｂに特別な機能を追加する必要がない。
【実施例３】
【００７８】
本発明の第３の実施例を図１７と図１８を用いて説明する。
【００７９】
図１７は、本発明の第３の実施例を適用したストレージネットワークシステムを端的に表したシステムの構成例である。
【００８０】
図示するように、本実施形態のストレージネットワークシステムは、操作端末１０１と少なくとも１台の移行元NAS装置２aと，移行元NAS装置２aに接続するストレージ装置５０ａと、少なくとも１台の移行先NAS装置５０bと、移行先NAS装置２ｂに接続するストレージ装置３ｂと、移行元NAS装置２aに対してファイルアクセスを実施する複数のNASクライアント100と、コピー元NAS装置2aとコピー先NAS装置２ｂとNASクライアント100とが接続するネットワーク３を有する。
【００８１】
操作端末１０１は、キーボード５やマウス６を具備しており、移行先NAS装置２ｂに接続する。なお、操作端末１０１は、オペレーティングシステムが動作する一般的なパーソナルコンピュータで構わない。操作端末１０１を用いて、後述する移行先NAS装置２ｂに格納されているスケジュールテーブル３０の編集や、移行期間見積り処理プログラム１７の起動を実施する。
【００８２】
ストレージ装置５０ａ、５０ｂは，移行元NAS装置２a,移行先NAS装置２ｂに接続する少なくとも１つのI/Oポート５１と、ストレージ装置内の制御を行うコントローラ５２と、少なくとも１つのボリューム５３を構成する少なくとも１つのディスク装置６０と、を有する。ボリューム５３は、NAS装置2a,2bの利用者にファイルシステムを提供するためのボリュームであり、ファイルとその属性情報を格納している。
【００８３】
図１８は、第3の実施例における移行先NAS装置２ｂの構成例を端的に示した図である。図示するように、移行先NAS装置2bは、メモリ７０と、CPU7１と、ストレージ装置５０a,５０bに接続するための少なくとも１つのI/Oポート７２と、管理ポート７３と、これら７０〜７３を接続する内部バス７４を有する。メモリ７０には、ネットワーク３の通信プロトコルで通信するための通信制御処理プログラム７５と、移行先NAS装置2bが提供するボリュームをホスト計算機がアクセスするための機能を提供するNFS/CIFSサーバ処理プログラム７６と、移行元NAS装置２aが提供するファイルシステムにアクセスするたNFS/CIFSクライアント処理プログラム７８と、本発明のNAS装置の移行方式を実施する移行処理プログラム１４と、移行処理プログラム１４を、起動する移行処理起動処理プログラム１５と、移行期間を見積もる、移行期間見積り処理プログラム１７が格納されている。CPU７１がこれらのプログラムを実行する。また、メモリ７０には，移行処理起動処理ログラム１５が移行処理プログラム１４を起動するスケジュールを格納しているスケジュールテーブル30と、移行処理プログラム利用する，NAS管理テーブル２０と，移行処理プログラム１４の移行結果を出力する実行結果ログ４０が格納される。
【００８４】
第3の実施例では、移行先NAS装置２ｂが移行元NAS装置２aが提供するファイルシステムをマウントし、移行先NAS装置２ｂの移行処理プログラム１４が移行処理を実施する。移行処理起動処理プログラム１５と、移行処理プログラム１４と、移行期間見積り処理プログラム１７の処理内容は、第1の実施例と同じであるため、説明を省略する。
【００８５】
以上、本発明のストレージ装置の移行方式の第３の実施例では、移行先NAS装置２ｂが、移行元NAS装置２aのシェアディレクトリに格納しているファイルの内、ある特定の日時から移行開始日時までに更新されたファイル以外のファイルを移行先NAS装置２ｂのシェアディレクトリに移行する。また、移行したファイルのファイルサイズと、移行に要した時間から移行性能を算出し、移行しなかったファイルサイズと移行性能から移行するために要する時間を算出する。このため、第1の実施例と同様の効果が得られる。また、移行を実施するためのNAS装置以外の装置を必要としない。
【実施例４】
【００８６】
本発明の第４の実施例を図１９を用いて説明する。なお、システム構成は第3の実施例と同じであるため、説明を省略する。
【００８７】
図１９は、第４の実施例における移行先NAS装置２ｂの構成例を端的に示した図である。図示するように、移行先NAS装置2bは、メモリ７０と、CPU7１と、ストレージ装置５０a,５０bに接続するための少なくとも１つのI/Oポート７２と、管理ポート７３と、これら７０〜７３を接続する内部バス７４を有する。メモリ７０には、ネットワーク３の通信プロトコルで通信するための通信制御処理プログラム７５と、移行先NAS装置2bが提供するボリュームをホスト計算機がアクセスするための機能を提供するNFS/CIFSサーバ処理プログラム７６と、移行元NAS装置２aが提供するファイルシステムにアクセスするたNFS/CIFSクライアント処理プログラム７８と、本発明のNAS装置の移行方式を実施する移行処理プログラム１４と、移行処理プログラム１４を、起動する移行処理起動処理プログラム１５が格納されている。CPU７１がこれらのプログラムを実行する。また、メモリ７０には，移行処理起動処理ログラム１５が移行処理プログラム１４を起動するスケジュールを格納しているスケジュールテーブル30と、移行処理プログラム利用する，NAS管理テーブル２０と，移行処理プログラム１４の移行結果を出力する実行結果ログ４０と、移行元NAS装置２aのシェアディレクトリに格納されているファイルの一覧を格納するファイル管理テーブル９０が格納される。
【００８８】
第４の実施例では、第3の実施例同様、移行先NAS装置２ｂが移行元NAS装置２aが提供するファイルシステムをマウントし、移行先NAS装置２ｂの移行処理プログラム１４が移行処理を実施する。移行処理起動処理プログラム１５と、移行処理プログラム１４の処理内容は、第２の実施例と同じであるため、説明を省略する。
【００８９】
以上、本発明のNAS装置の移行方式の第４の実施例では、移行先NAS装置２ｂが移行元NAS装置２aのシェアディレクトリに格納しているファイルを更新日時の古い順番に、移行先NAS装置２ｂのシェアディレクトリを移行する。このため、移行元NAS装置２aの運用を継続した状態で、日々、繰り返しNAS装置を移行する場合、日々更新されるファイルは、移行が後回しになり、移行の進捗を早めることができる効果がある。また、第3の実施例同様、NAS装置以外に、移行を実施するための装置を必要としない。
【００９０】
以上、実施例１から実施例４に示した本発明のNAS装置の移行方式は、移行元NAS装置の運用を継続した状態でのNAS装置の移行において、ある特定の時間から移行処理実施前までに更新されてないファイルのみを移行する。また、更新日時の古いファイルから移行する。このため、移行元NAS装置で、大量のファイルが更新されても、移行処理が高速化できる。さらに、移行したファイルのファイルサイズと、移行に要した時間から移行性能を算出し、移行しなかったファイルサイズと移行性能から移行しなかったファイルを移行するために要する時間を算出する。このため、移行を除外されたファイルを移行するために必要な期間を見積もることができる。また、移行元NAS装置の運用を継続して移行処理を実施するため、最新のファイルが常に、移行元NAS装置に格納されており、障害等により、移行処理が失敗した場合に、移行元NAS装置で運用を容易に再開できる。
【図面の簡単な説明】
【００９１】
【図１】本発明のNAS装置の移行方式を適用した第１の実施例のストレージネットワークシステムの構成を端的に示した図である。
【図２】NAS管理テーブルの形式の一例を示した図である。
【図３】第1の実施例と第3の実施例のスケジュールテーブルの形式の一例を示した図である。
【図４】移行元NAS装置と第1の実施例と第2の実施例の移行先NAS装置の構成を端的に示した図である。
【図５】移行処理起動処理プログラムの処理フローである。
【図６】第1の実施例と第3の実施例の移行処理プログラムが移行先NAS装置から移行元NAS装置に存在しないフィアルを削除する処理フローである。
【図７】第1の実施例と第3の実施例の移行処理プログラムが移行元NAS装置から移行先NAS装置へ移行する処理フローである。
【図８】第1の実施例と第3の実施例の移行処理プログラムが移行元NAS装置から移行先NAS装置へディレクトリを移行する処理フローである。
【図９】第1の実施例と第3の実施例の移行処理プログラムが移行元NAS装置から移行先NAS装置へファイルを移行する処理フローである。
【図１０】実行結果ログの形式の一例である。
【図１１】第1の実施例と第3の実施例の移行期間見積り処理プログラムの処理フローである。
【図１２】本発明のNAS装置の移行方式を適用した第２の実施例のストレージネットワークシステムの構成を端的に示した図である。
【図１３】第2の実施例と第4の実施例のスケジュールテーブルの一例を示した図である。
【図１４】ファイル管理テーブルの一例を示した図である。
【図１５】第２の実施例と第４の実施例の移行処理プログラムが移行先NAS装置から移行元NAS装置に存在しないフィアルを削除する処理フローである。
【図１６】第２の実施例と第４の実施例の移行処理プログラムが移行元NAS装置から移行先NAS装置へ移行する処理フローである。
【図１７】本発明のNAS装置の移行方式を適用した第３の実施例と第4の実施例のストレージネットワークシステムの構成を端的に示した図である。
【図１８】第３の実施例の移行先NAS装置の構成を端的に示した図である。
【図１９】第４の実施例の移行先NAS装置の構成を端的に示した図である。
【図２０】本発明のNAS装置の移行方式による移行手順を端的示した図である。
【符号の説明】
【００９２】
１・・・移行サーバ
２a・・・移行元NAS装置
２ｂ・・・移行先NAS装置
３・・・ネットワーク
４・・・表示装置
７、７０・・・メモリ
８、７１・・・ＣＰＵ(演算装置）
９、５１、７２・・・Ｉ／Ｏポート
１０・・・入力装置
１１・・・出力装置
１２、７４・・・内部バス
１３・・・ネットワークファイルシステム
１４・・・移行処理プログラム
１５・・・移行処理起動処理プログラム
１６、７５・・・通信制御処理プログラム
１７・・・移行期間見積り処理プログラム
２０・・・NAS管理テーブル
３０、８０・・・スケジュールテーブル
４０・・・実行結果ログ
５０a,50b・・・ストレージ装置
５２・・・コントローラ
５３・・・ボリューム
６０・・・ディスク装置
７３・・・管理ポート
７６・・・NFS/CIFSサーバ処理プログラム
７７・・・NAS-OS
７８・・・NFS/CIFSクライアント処理プログラム
９０・・・ファイル管理テーブル
１００・・・NASクライアント
１０１・・・操作端末
２００・・・シェアディレクトリ
２０１・・・ファイル
【図１】
0005183300.tif 000002
【図２】
0005183300.tif 000003
【図３】
0005183300.tif 000004
【図４】
0005183300.tif 000005
【図５】
0005183300.tif 000006
【図６】
0005183300.tif 000007
【図７】
0005183300.tif 000008
【図８】
0005183300.tif 000009
【図９】
0005183300.tif 000010
【図１０】
0005183300.tif 000011
【図１１】
0005183300.tif 000012
【図１２】
0005183300.tif 000013
【図１３】
0005183300.tif 000014
【図１４】
0005183300.tif 000015
【図１５】
0005183300.tif 000016
【図１６】
0005183300.tif 000017
【図１７】
0005183300.tif 000018
【図１８】
0005183300.tif 000019
【図１９】
0005183300.tif 000020
【図２０】
0005183300.tif 000021