(57)【要約】【課題】アクセス性能の劣化を防止することを目的とする。【解決手段】プロセッサ装置と、ネットワーク制御装置と、キャッシュメモリと、を備え、ディスク制御装置を介して論理ボリュームと接続するストレージ制御装置において、前記プロセッサ装置は、前記論理ボリュームにファイルを作成するファイル作成部と、前記ファイル作成部が作成したファイルの前記論理ボリュームにおける配置情報を前記キャッシュメモリに格納する配置情報管理部と、前記キャッシュメモリに格納された配置情報に基づいて、前記ファイルを仮想ボリュームとして提供するファイル提供部と、を含むことを特徴とする。【選択図】図１
2006195712.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ装置と、ネットワーク制御装置とを備え、ディスク制御装置を介して論理ボリュームと接続するストレージ制御装置において、
前記プロセッサ装置は、
前記論理ボリュームにファイルを作成するファイル作成部と、
前記ファイル作成部が作成したファイルの前記論理ボリュームにおける配置情報を管理する配置情報管理部と、
前記配置情報に基づいて、前記ファイルを仮想ボリュームとして提供するファイル提供部と、を含むことを特徴とするストレージ制御装置。
【請求項２】
前記ファイル作成部は、
前記仮想ボリュームの割り当て要求を受信しても、前記割り当て要求に係る仮想ボリュームとして提供されるファイルを作成せず、
前記仮想ボリュームが初めてアクセスされるときに、前記割り当て要求に係る仮想ボリュームとして提供されるファイルを作成することを特徴とする請求項１に記載のストレージ制御装置。
【請求項３】
前記ストレージ制御装置は、前記仮想ボリュームと前記ファイルとの対応を示す仮想ボリューム管理情報を格納し、
前記ファイル作成部は、
前記仮想ボリュームの割り当て要求を受信すると、要求された内容を前記仮想ボリューム管理情報に格納し、
前記仮想ボリュームが初めてアクセスされるときに、前記仮想ボリューム管理情報に基づいて、前記割り当て要求に係る仮想ボリュームとして提供されるファイルを作成することを特徴とする請求項２に記載のストレージ制御装置。
【請求項４】
前記プロセッサ装置は、前記ファイルをコピーするバックアップ部を含み、
前記バックアップ部は、前記仮想ボリュームへのアクセスが終了すると、前記ファイル提供部によって前記仮想ボリュームとして提供されたファイルを別のファイルにコピーし、
前記ファイル提供部は、リストア要求を受信すると、前記バックアップ部によってコピーされた別のファイルを前記仮想ボリュームとして提供することを特徴とする請求項１に記載のストレージ制御装置。
【請求項５】
前記ストレージ制御装置は、前記ファイルの領域と前記論理ボリュームの領域との対応を示す対応情報を格納し、
前記バックアップ部は、
前記対応情報に基づいて、前記論理ボリュームの領域が割り当てられていない未使用領域を前記ファイルの領域から特定し、
当該ファイルの内容を前記別のファイルにコピーするとき、前記特定された未使用領域には前記論理ボリュームを割り当てないことを特徴とする請求項４に記載のストレージ制御装置。
【請求項６】
前記プロセッサ装置は、ＣＰＵ、メモリ及びキャッシュメモリを備え
前記ＣＰＵは、前記メモリに格納されるプログラムを実行し、
前記プロセッサ装置は、前記ファイルをコピーするバックアップ部を含み、
前記キャッシュメモリには、前記配置情報管理部によって管理される配置情報及び前記仮想ボリュームと前記ファイルとの対応を示す仮想ボリューム管理情報が格納され、
前記論理ボリュームには、前記ファイルの領域と前記論理ボリュームの領域との対応を示す対応情報が格納され、
前記ファイル作成部は、
前記仮想ボリュームの割り当て要求を受信すると、前記割り当て要求に係る仮想ボリュームとして提供されるファイルを作成せずに、要求された内容を前記仮想ボリューム管理情報に格納し、
前記割り当てを要求された仮想ボリュームが初めてアクセスされると、前記仮想ボリューム管理情報に基づいて、前記割り当て要求に係る仮想ボリュームとして提供されるファイルを作成し、
前記バックアップ部は、前記仮想ボリュームへのアクセスが終了すると、前記対応情報を参照して、前記ファイル提供部によって前記仮想ボリュームとして提供されたファイルを別のファイルにコピーし、
前記ファイル提供部は、リストア要求を受信すると、前記バックアップ部によってコピーされた別のファイルを前記仮想ボリュームとして提供することを特徴とする請求項１に記載のストレージ制御装置。
【請求項７】
プロセッサ装置と、ネットワーク制御装置と、ディスク制御装置と、論理ボリュームとを備えるストレージ装置における論理ボリューム管理方法であって、
前記論理ボリュームにファイルを作成し、
前記作成されたファイルの前記論理ボリュームにおける配置情報を管理し、
前記配置情報に基づいて、前記ファイルを仮想ボリュームとして提供することを特徴とする論理ボリューム管理方法。
【請求項８】
更に、前記仮想ボリュームの割り当て要求を受信しても、前記割り当て要求に係る仮想ボリュームとして提供するファイルを作成せず、
前記仮想ボリュームが初めてアクセスされるときに、前記割り当て要求に係る仮想ボリュームとして提供するファイルを作成することを特徴とする請求項７に記載の論理ボリューム管理方法。
【請求項９】
更に、前記仮想ボリュームと前記ファイルとの対応を示す仮想ボリューム管理情報を格納し、
前記仮想ボリュームの割り当て要求を受信すると、要求された内容を前記仮想ボリューム管理情報に格納し、
前記仮想ボリュームが初めてアクセスされるときに、前記仮想ボリューム管理情報に基づいて、前記割り当て要求に係る仮想ボリュームとして提供するファイルを作成することを特徴とする請求項８に記載の論理ボリューム管理方法。
【請求項１０】
更に、前記仮想ボリュームへのアクセスが終了すると、前記仮想ボリュームとして提供したファイルを別のファイルにコピーし、
リストア要求を受信すると、前記コピーした別のファイルを前記仮想ボリュームとして提供することを特徴とする請求項７に記載の論理ボリューム管理方法。
【請求項１１】
前記ファイルの領域と前記論理ボリュームの領域との対応を示す対応情報を格納し、
前記対応情報に基づいて、前記論理ボリュームの領域が割り当てられていない未使用領域を前記ファイルの領域から特定し、
当該ファイルの内容を前記別のファイルにコピーするとき、前記特定された未使用領域には前記論理ボリュームを割り当てないことを特徴とする請求項１０に記載の論理ボリューム管理方法。
【請求項１２】
プロセッサ装置と、ネットワーク制御装置と、ディスク制御装置と、論理ボリュームと、を備え、
前記プロセッサ装置は、ＣＰＵ、メモリ及びキャッシュメモリを備え
前記ＣＰＵは、前記メモリに格納されるプログラムを実行するストレージ装置において、
前記プロセッサ装置は、
前記論理ボリュームにファイルを作成するファイル作成部と、
前記ファイル作成部が作成したファイルの前記論理ボリュームにおける配置情報を前記キャッシュメモリに格納し、管理する配置情報管理部と、
前記配置情報に基づいて、前記ファイルを仮想ボリュームとして提供するファイル提供部と、を含むことを特徴とするストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して論理ボリュームを制御するストレージ制御装置に関し、特にボリュームを統合する技術に関する。
【背景技術】
【０００２】
従来のコンピュータシステムには、ＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）が用いらていた。ＤＡＳは、サーバに直接接続するストレージである。ＤＡＳを用いるコンピュータシステムでは、それぞれのストレージ装置は個別に管理される。そのため、ＤＡＳを用いるコンピュータシステムでは、ストレージ装置に記憶するデータ量が増加すると、管理コストが問題となる。
【０００３】
そこで、近年のコンピュータシステムでは、ＳＡＮ（Storage Area Network）にストレージ装置を接続したり、ＮＡＳ（Network Attached Storage）等のネットワークストレージ装置を用いている。これらは、複数のストレージを統合して一元管理するので、管理コストを削減できる。
【０００４】
また、ｉＳＣＳＩを用いてリモートサイトのボリュームを仮想的に提供する技術が知られている（例えば、特許文献１参照。）。
【０００５】
また、近年、ラックマウント型サーバに代わって、ブレードサーバが利用されつつある。しかし、ブレードサーバは、多数のサーバを高密度に実装しているので、ブレードサーバがアクセするストレージ装置の管理が煩瑣となる。
【０００６】
例えば、ブレードサーバからの処理を受けるＳＡＮ接続ストレージ装置は、ボリューム数が膨大となるので、ボリュームの管理が問題となる。ボリューム管理には、バックアップ、容量監視、容量拡張、リモートコピー、アーカイビング、障害ディスクドライブの交換及びコンプライアンス対応などが含まれる。
【０００７】
一方、ブレードサーバからの処理を受けるＮＡＳは、ＳＡＮ接続ストレージ装置と比べて、ファイルシステムの機能が十分ではない。具体的には、ブレードサーバからの処理を受けるＮＡＳは、高度なアクセスコントロール、高度な排他処理、リッチメタデータ、データの暗号化機能及びジャーナリング機能などを使うことができない。
【０００８】
そこで、ＬｉｎｕｘオペレーティングシステムにおけるループバックデバイスをＮＡＳに適用することが提案されている。Ｌｉｎｕｘオペレーティングシステムにおけるループバックデバイスは、ファイルを仮想的なボリューム（仮想ボリューム）に見せることができる。
【０００９】
例えば、ＮＡＳは、一つの巨大な論理ボリュームの中に小さなファイルを多数作成する。次に、ＮＡＳは、ループバックデバイスを用いることによって、作成したそれぞれのファイルを仮想ボリュームに見せる。そして、ＮＡＳは、ｉＳＣＳＩ又はファイバーチャネルなどのブロックアクセスインタフェースを使って、仮想ボリュームをブレードサーバに提供する。これによって、ＮＡＳは、ファイルシステムの機能を落とさずにボリュームを統合できる。
【特許文献１】米国特許第６７４８５０２号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、ループバックデバイスを適用したＮＡＳは、アクセス性能が問題となる。なぜなら、ＮＡＳは、ブレードサーバから仮想ブロックアクセスを受けると、その仮想ブロックアクセスをファイルアクセスに変換して、更に、物理ブロックアクセスに変換するからである。
【００１１】
そこで、本発明は、ネットワークストレージ装置におけるアクセス性能の劣化を防止することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、プロセッサ装置と、ネットワーク制御装置とを備え、ディスク制御装置を介して論理ボリュームと接続するストレージ制御装置において、前記プロセッサ装置は、前記論理ボリュームにファイルを作成するファイル作成部と、前記ファイル作成部が作成したファイルの前記論理ボリュームにおける配置情報を管理する配置情報管理部と、前記配置情報に基づいて、前記ファイルを仮想ボリュームとして提供するファイル提供部と、を含むことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ネットワークストレージ装置における、アクセス性能の低下を防止することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面を参照して説明する。
【００１５】
図１は、本発明の実施の形態の統合ＮＡＳ装置１０４の構成のブロック図である。
【００１６】
統合ＮＡＳ装置１０４は、ディスク制御装置及びディスクアレイによって構成されている。ディスク制御装置は、プロセッサ装置１１０、ネットワーク制御装置１３０及びディスク制御装置１４０を備える。また、ディスクアレイは複数のディスクドライブを備え、ディスクアレイには論理ボリューム１２０が構成されている。
【００１７】
ネットワーク制御装置１３０は、管理端末１０１、ｉＳＣＳＩホスト１０２及びＮＡＳクライアント１０３とネットワーク（例えば、イーサネット（登録商標））を介して接続される。この場合、ネットワーク制御装置１３０は、ＴＣＰ／ＩＰプロトコルエンジンである。
【００１８】
管理端末１０１は、論理ボリューム１２０を管理する。ｉＳＣＳＩホスト１０２は、例えば、ブレードサーバであり、ｉＳＣＳＩプロトコルを用いて論理ボリューム１２０にアクセスし、論理ボリューム１２０のデータを読み書きする。また、ＮＡＳクライアント１０３は、例えば、ブレードサーバであり、統合ＮＡＳ装置１０４に設けられたファイルシステム処理プログラム１１３を用いて論理ボリューム１２０にアクセスし、論理ボリューム１２０のデータを読み書きする。
【００１９】
ディスク制御装置１４０は、論理ボリューム１２０へのデータの入出力を制御する。論理ボリューム１２０には、複数のファイル１２１が記憶されている。このファイル１２１は、ＮＡＳクライアント１０３から認識される。一方、ｉＳＣＳＩホスト１０２は、ファイル１２１をファイルとしてではなく、仮想ボリューム１２２として認識する。なお、ｉＳＣＳＩホスト１０２は、一つのファイル１２１を複数の仮想ボリューム１２２として認識してもよい。
【００２０】
プロセッサ装置１１０は、ＣＰＵ、キャッシュメモリ及びメモリを備える。メモリには各種制御プログラムが記憶されており、ＣＰＵがこれらの制御プログラムを実行する。これによって、管理端末１０１、ｉＳＣＳＩホスト１０２及びＮＡＳクライアント１０３からの要求に基づいて、論理ボリューム１２０を管理したり、論理ボリューム１２０に対するデータの入出力を実行する。また、キャッシュメモリは、論理ボリューム１２０に入出力されるデータを一時的に記憶する。また、キャッシュメモリには、仮想ボリューム管理テーブル１１４及びキャッシュ管理テーブル１１５が記憶される。
【００２１】
プロセッサ装置１１０は、ネットワーク制御装置１３０及びディスク制御装置１４０と接続されている。また、プロセッサ装置１１０は、仮想ボリューム管理プログラム１１１、ｉＳＣＳＩターゲット処理プログラム１１２、ファイルシステム処理プログラム１１３、仮想ボリューム管理テーブル１１４及びキャッシュ管理テーブル１１５を含む。
【００２２】
仮想ボリューム管理プログラム１１１は、図２で後述するルーチンを含み、管理端末１０１からの指令に基づいて仮想ボリューム１２２を管理する。ｉＳＣＳＩターゲット処理プログラム１１２は、図３で後述するルーチンを含み、ｉＳＣＳＩホスト１０２からの指令を処理する。ファイルシステム処理プログラム１１３は、図４で後述するルーチンを含み、論理ボリューム１２０に記憶されているファイル１２１にアクセスする。
【００２３】
仮想ボリューム管理テーブル１１４は、図５で後述するが、仮想ボリューム１２２の各種情報を管理する。例えば、仮想ボリューム管理テーブル１１４は、仮想ボリューム１２２とファイル１２１との対応の情報を記憶する。キャッシュ管理テーブル１１５は、図６で後述するが、仮想ボリューム１２２の記憶位置を管理する。
【００２４】
図２は、本発明の実施の形態のプロセッサ装置１１０に記憶されている仮想ボリューム管理プログラム１１１の構成図である。
【００２５】
仮想ボリューム管理プログラム１１１は、仮想ボリューム割り当てルーチン２０１及びリストアルーチン２０２を含む。
【００２６】
仮想ボリューム割り当てルーチン２０１は、管理端末１０１から仮想ボリューム割り当て指令を受けると、その指令の内容を仮想ボリューム管理テーブル１１４に格納する（図１２参照）。リストアルーチン２０２は、管理端末１０１からリストア指令を受けると、ファイル１２１とバックアップ用のファイルとを入れ替える（図２１参照）。
【００２７】
図３は、本発明の実施の形態のプロセッサ装置１１０に記憶されているｉＳＣＳＩターゲット処理プログラム１１２の構成図である。
【００２８】
ｉＳＣＳＩターゲット処理プログラム１１２は、ｉＳＣＳＩアタッチルーチン２０３、ｉＳＣＳＩデタッチルーチン２０４及びｉＳＣＳＩ読み書きルーチン２０５を含む。
【００２９】
ｉＳＣＳＩアタッチルーチン２０３は、ｉＳＣＳＩホスト１０２からアタッチ指令を受けると、当該アタッチ指令で指定された仮想ボリューム１２２とｉＳＣＳＩホスト１０２とを接続する（図１４参照）。ｉＳＣＳＩデタッチルーチン２０４は、ｉＳＣＳＩホスト１０２からデタッチ指令を受けると、当該デタッチ指令で指定された仮想ボリューム１２２とｉＳＣＳＩホスト１０２との接続を切り離す（図１９参照）。ｉＳＣＳＩ読み書きルーチン２０５は、ｉＳＣＳＩホスト１０２から読み書き指令を受けると、当該読み書き指令で指定された仮想ボリューム１２２に対してデータを読み書きする（図９参照）。
【００３０】
図４は、本発明の実施の形態のプロセッサ装置１１０に記憶されているファイルシステム処理プログラム１１３の構成図である。
【００３１】
ファイルシステム処理プログラム１１３は、ファイル読み書きルーチン２０６及びバックアップルーチン２０７を含む。
【００３２】
ファイル読み書きルーチン２０６は、ＮＡＳクライアント１０３等からファイル読み書き指令を受けると、当該ファイル読み書き指令で指定されたファイル１２１に対してデータを読み書きする（図１０参照）。バックアップルーチン２０７は、ｉＳＣＳＩターゲット処理プログラム１１２からバックアップ指令を受けると、当該バックアップ指令で指定されたファイル１２１をバックアップする（図１７参照）。
【００３３】
図５は、本発明の実施の形態のプロセッサ装置１１０に記憶されている仮想ボリューム管理テーブル１１４の構成図である。
【００３４】
仮想ボリューム管理テーブル１１４は、仮想ボリューム番号３０１、サイズ３０２、ファイル名３０３、バックアップ名３０４及び使用フラグ３０５を含む。
【００３５】
仮想ボリューム番号３０１は、仮想ボリューム１２２を一意に識別する識別子であり、例えば、ＬＵＮ（Logical Unit Number）である。サイズ３０２は、当該仮想ボリューム１２２の記憶容量である。
【００３６】
ファイル名３０３は、当該仮想ボリューム１２２に対応するファイル１２１の名称であり、パス名も含めて記述される。なお、仮想ボリューム１２２に対応するファイル１２１とは、ＮＡＳクライアント１０３が仮想ボリューム１２２をファイルとして認識するときの、ファイルである。バックアップ名３０４は、当該ファイル１２１をバックアップしたバックアップ用ファイルの名称であり、パス名も含めて記述される。
【００３７】
使用フラグ３０５は、当該仮想ボリューム１２２とｉＳＣＳＩホスト１０２との接続状態を示す。つまり、使用フラグ３０５は、当該仮想ボリューム１２２とｉＳＣＳＩホスト１０２とが接続されているときは「１」となり、接続されていないときは「０」となる。
【００３８】
図６は、本発明の実施の形態のプロセッサ装置１１０に記憶されているキャッシュ管理テーブル１１５の構成図である。
【００３９】
キャッシュ管理テーブル１１５は、仮想ボリューム番号３０６、仮想ブロック番号３０７及び論理ブロック番号３０８を含む。
【００４０】
仮想ボリューム番号３０６は、仮想ボリューム１２２を一意に識別する識別子であり、例えば、ＬＵＮである。仮想ブロック番号３０７は、仮想ボリューム１２２内の位置を示し、当該仮想ボリューム１２２内の仮想ブロックをｉＳＣＳＩホスト１０２が一意に識別する識別子である。論理ブロック番号３０８は、論理ボリューム１２０内の位置を示し、当該仮想ブロックに対応する論理ブロックを一意に識別する識別子である。
【００４１】
次に、本発明の実施の形態の統合ＮＡＳ装置１０４で実行される処理について説明する。
【００４２】
（読み書き処理）
図７は、本発明の実施の形態のキャッシュミス時の統合ＮＡＳ装置１０４の処理の説明図である。
【００４３】
キャッシュミス時とは、ｉＳＣＳＩホスト１０２が読み書きする仮想ブロックのデータがキャッシュに格納されていない場合である。すなわち、読み書きする仮想ブロック番号がキャッシュ管理テーブル１１５に格納されていない場合である。
【００４４】
まず、ｉＳＣＳＩターゲット処理プログラム１１２は、ｉＳＣＳＩホスト１０２から、仮想ボリューム番号及び仮想ブロック番号を含む読み書き指令を受ける（１１０１）。
【００４５】
次に、ｉＳＣＳＩターゲット処理プログラム１１２は、読み書き指令に対応する論理ブロック番号をキャッシュ管理テーブル１１５から取得できるか否かを判定するキャッシュヒットミス判定を行う（１１０２）。具体的には、ｉＳＣＳＩターゲット処理プログラム１１２は、読み書き指令に含まれる仮想ボリューム番号とキャッシュ管理テーブル１１５の仮想ボリューム番号３０６とが一致し、更に、読み書き指令に含まれる仮想ブロック番号とキャッシュ管理テーブル１１５の仮想ブロック番号３０７とが一致するエントリがキャッシュ管理テーブル１１５に格納されているかを判定する。
【００４６】
図７に示すケースでは、この両者が一致するエントリがキャッシュ管理テーブルに１１５に格納されていない。よって、ｉＳＣＳＩターゲット処理プログラム１１２は、読み書き指令に対応する論理ブロック番号を取得できない（キャッシュミス）と判定する。
【００４７】
そこで、ｉＳＣＳＩターゲット処理プログラム１１２は、読み書き指令に含まれる仮想ボリューム番号と仮想ボリューム管理テーブル１１４の仮想ボリューム番号３０１が一致するエントリを選択し、当該エントリのファイル名３０３を仮想ボリューム管理テーブル１１４から抽出する。そして、ｉＳＣＳＩターゲット処理プログラム１１２は、ファイルシステム処理プログラム１１３を呼び出し、抽出したファイル名３０３及び読み書き指令に含まれる仮想ブロック番号を通知する（１１０３）。
【００４８】
ファイルシステム処理プログラム１１３は、通知された仮想ブロック番号に仮想ブロックサイズを乗じることによって、ファイルオフセットを算出する。なお、仮想ブロックサイズは、仮想ブロックの容量で、予め設定されている。また、ファイルシステム処理プログラム１１３は、仮想ブロック番号の代わりに、ファイルオフセットをｉＳＣＳＩターゲット処理プログラム１１２から通知されるように構成してもよい。
【００４９】
次に、ファイルシステム処理プログラム１１３は、通知されたファイル名及び算出したファイルオフセットから論理ブロック番号を求める。次に、ファイルシステム処理プログラム１１３は、通知されたファイル名と仮想ボリューム管理テーブル１１４のファイル名３０３とが一致するエントリを選択し、当該エントリの仮想ボリューム番号３０１を仮想ボリューム管理テーブル１１４から抽出する。次に、ファイルシステム処理プログラム１１３は、抽出した仮想ボリューム番号３０１、通知された仮想ブロック番号及び求めた論理ブロック番号をキャッシュ管理テーブル１１５にそれぞれ格納する（１１０４）。
【００５０】
そして、ファイルシステム処理プログラム１１３は、求めた論理ブロック番号の位置にデータを読み書きする（１１０５）。
【００５１】
図８は、本発明の実施の形態のキャッシュヒット時の統合ＮＡＳ装置１０４の処理の説明図である。
【００５２】
キャッシュヒット時とは、ｉＳＣＳＩホスト１０２が読み書きする仮想ブロックのデータがキャッシュに格納されていない場合である。すなわち、読み書きする仮想ブロック番号がキャッシュ管理テーブル１１５に格納されている場合である。
【００５３】
まず、ｉＳＣＳＩターゲット処理プログラム１１２は、ｉＳＣＳＩホスト１０２から、仮想ボリューム番号及び仮想ブロック番号を含む読み書き指令を受ける（１１０６）。
【００５４】
次に、ｉＳＣＳＩターゲット処理プログラム１１２は、キャッシュヒットミス判定を行う。図８に示すケースでは、ｉＳＣＳＩターゲット処理プログラム１１２は、読み書き指令に対応する論理ブロック番号を、キャッシュ管理テーブル１１５から取得できる（キャッシュヒット）と判定する。
【００５５】
次に、ｉＳＣＳＩターゲット処理プログラム１１２は、読み書き指令に含まれる仮想ボリューム番号とキャッシュ管理テーブル１１５の仮想ボリューム番号３０６とが一致し、更に、読み書き指令に含まれる仮想ブロック番号とキャッシュ管理テーブル１１５の仮想ブロック番号３０７とが一致するエントリをキャッシュ管理テーブル１１５から選択する。次に、ｉＳＣＳＩターゲット処理プログラム１１２は、選択したエントリから論理ブロック番号３０８を抽出する（１１０７）。
【００５６】
そして、ｉＳＣＳＩターゲット処理プログラム１１２は、抽出した論理ブロック番号３０８の位置にデータを読み書きする（１１０８）。
【００５７】
図９は、本発明の実施の形態のｉＳＣＳＩターゲット処理プログラム１１２に含まれるｉＳＣＳＩ読み書きルーチン２０５の処理のフローチャートである。
【００５８】
ｉＳＣＳＩ読み書きルーチン２０５は、ｉＳＣＳＩホスト１０２から読み書き指令を受けると、処理を開始する（８０１）。
【００５９】
次に、読み書き指令に含まれる仮想ボリューム番号Ｖとキャッシュ管理テーブル１１５の仮想ボリューム番号３０６とが一致し、更に、読み書き指令に含まれる仮想ブロック番号Ｂとキャッシュ管理テーブル１１５の仮想ブロック番号３０７とが一致するエントリＣをキャッシュ管理テーブル１１５から選択する（８０２）。
【００６０】
次に、選択可能なエントリＣが存在するか否かを判定する（８０３）。
【００６１】
選択可能なエントリＣが存在すると判定すると、ファイルシステム処理プログラム１１３を介さずに、論理ボリューム１２０に直接アクセスできると判定する。よって、選択したエントリＣから論理ブロック番号３０８を抽出する（８０４）。次に、ディスク制御装置１４０を操作することによって、抽出した論理ブロック番号３０８の論理ブロックにデータを読み書きする（８０５）。
【００６２】
一方、ステップ８０３において選択可能なエントリＣが存在しないと判定すると、論理ボリューム１２０に直接アクセスすることができないので、ファイルシステム処理プログラム１１３を介してアクセスする。よって、読み書き指令に含まれる仮想ボリューム番号Ｖと仮想ボリューム管理テーブル１１４の仮想ボリューム番号３０１とが一致するエントリＥを仮想ボリューム管理テーブル１１４から選択する。次に、選択したエントリＥからファイル名３０３を抽出する（８０６）。
【００６３】
次に、ファイル読み書きルーチン２０６にファイル読み書き指令を送る（８０７）。なお、ファイル読み書き指令には、抽出したファイル名３０３及び読み書き指令に含まれる仮想ブロック番号Ｂを含める。
【００６４】
以上のように、ｉＳＣＳＩ読み書きルーチン２０５は、キャッシュヒットする読み書き指令に対して、ファイルシステム処理プログラム１１３を経由せず、論理ボリューム１２０に直接アクセスする。よって、統合ＮＡＳ装置１０４は、アクセスを高速化できる。
【００６５】
図１０は、本発明の実施の形態のファイルシステム処理プログラム１１３に含まれるファイル読み書きルーチン２０６の処理のフローチャートである。
【００６６】
ファイル読み書きルーチン２０６は、ＮＡＳクライアント１０３又はｉＳＣＳＩ読み書きルーチン２０５から読み書き指令を受けると、処理を開始する（９０１）。
【００６７】
次に、読み書き指令に含まれる仮想ブロック番号Ｂに仮想ブロックサイズを乗じることによって、ファイルオフセットを算出する。なお、仮想ブロックサイズは、予め設定されている。また、読み書き指令には、仮想ブロック番号Ｂの代わりに、ファイルオフセットが含まれていてもよい。次に、読み書き指令に含まれるファイル名Ｆ及び算出したファイルオフセットから論理ブロック番号を調べる（９０２）。
【００６８】
次に、ディスク制御装置１４０を操作することによって、調べた論理ブロック番号の論理ブロックにデータを読み書きする（９０３）。
【００６９】
次に、読み書き指令に含まれるファイル名Ｆと仮想ボリューム管理テーブル１１４のファイル名３０３とが一致するエントリＥを仮想ボリューム管理テーブル１１４から選択する（９０４）。
【００７０】
次に、選択可能なエントリＥが仮想ボリューム管理テーブル１１４に存在する否かを判定する（９０５）。
【００７１】
選択可能なエントリＥが存在しないと判定すると、ＮＡＳクライアント１０３から読み書き指令を受けたので、調べた論理ブロック番号をキャッシュ管理テーブル１１５に登録する必要がない。よって、そのまま処理を終了する。
【００７２】
一方、選択可能なエントリＥが存在すると判定すると、ｉＳＣＳＩ読み書きルーチン２０５から読み書き指令を受けたので、調べた論理ブロック番号をキャッシュ管理テーブル１１５に登録する。
【００７３】
具体的には、選択したエントリＥから仮想ボリューム番号３０１を抽出する（９０６）。次に、キャッシュ管理テーブル１１７に新規エントリＣを追加する。そして、新規エントリのＣの仮想ボリューム番号３０６に、抽出した仮想ボリューム番号３０１を格納する。また、新規エントリＣの仮想ブロック番号３０７に、読み書き指令に含まれる仮想ブロック番号Ｂを格納する。また、新規エントリＣの論理ブロック番号３０８に、ステップ９０３で調べた論理ブロック番号を格納する。
【００７４】
以上のように、ファイル読み書きルーチン２０６は、仮想ブロックと論理ブロックとの対応関係をキャッシュ管理テーブル１１５に格納する。
【００７５】
従来のＮＡＳは、ｉＳＣＳＩホスト１０２から読み書き指令を受けると、全ての読み書き指令に対してキャッシュミス時の処理（図７）を行っていた。つまり、仮想ブロック番号をファイルアクセスに変換し、更に、物理ブロック番号に変換していた。よって、従来のＮＡＳ装置ではアクセス性能を向上させることが困難であった。
【００７６】
しかし、本実施の形態では、ｉＳＣＳＩターゲット処理プログラム１１２は、キャッシュがヒットする読み書き指令に対して、ファイルシステム処理プログラム１１３を経由しないでボリュームにアクセスする。つまり、ｉＳＣＳＩターゲット処理プログラム１１２は、仮想ブロック番号から物理ブロック番号に直接変換できる。よって、本実施形態の統合ＮＡＳ装置１０４は、アクセスを高速化できる。
【００７７】
（遅延割り当て処理）
図１１から図１４は、本発明の実施の形態の統合ＮＡＳ装置１０４の遅延割り当て処理の説明図である。
【００７８】
図１１は、管理端末１０１から仮想ボリューム割り当て指令を受けた時の統合ＮＡＳ装置１０４の処理を示す。
【００７９】
まず、仮想ボリューム管理プログラム１１１は、管理端末１０１から仮想ボリューム割り当て指令を受ける（１２０１）。なお、仮想ボリューム割り当て指令は、仮想ボリューム番号及び仮想ボリュームのサイズを含む。本説明図において、仮想ボリューム割り当て指令は、三つの仮想ボリューム１２２の割り当てを要求する。
【００８０】
次に、仮想ボリューム管理プログラム１１１は、仮想ボリューム割り当て指令に含まれる仮想ボリューム番号及び仮想ボリュームのサイズを仮想ボリューム管理テーブル１１４に格納する（１２０２）。そして、仮想ボリューム管理プログラム１１１は、実際には仮想ボリュームの記憶領域を確保しないで（仮想ボリューム１２２を作成せずに）、処理を終了する。
【００８１】
図１２は、本発明の実施の形態の仮想ボリューム管理プログラム１１１に含まれる仮想ボリューム割り当てルーチン２０１の処理のフローチャートである。
【００８２】
仮想ボリューム割り当てルーチン２０１は、管理端末１０１から仮想ボリューム割り当て指令を受けると、処理を開始する（４０１）。
【００８３】
仮想ボリューム割り当て指令を受けると、仮想ボリューム管理テーブル３０４に新規エントリＥを追加する。そして、追加した新規エントリＥの仮想ボリューム番号３０１に、仮想ボリューム割り当て指令に含まれる仮想ボリューム番号Ｖを格納する。また、新規エントリＥのサイズ３０２に、仮想ボリューム割り当て指令に含まれるサイズＳを格納する。また、新規エントリＥのファイル名３０３及びバックアップ名３０４には、値を格納せずに空欄とする。また、新規エントリＥの使用フラグ３０５に「０」を格納する（４０２）。その後、仮想ボリューム割り当てルーチン２０１の処理を終了する。
【００８４】
以上のように、仮想ボリューム割り当てルーチン２０１は、管理端末１０１から仮想ボリューム割り当て指令を受けると、その指令の内容を仮想ボリューム管理テーブル１１４に格納するだけで、仮想ボリューム１２２を実際に作成しない。
【００８５】
図１３は、ｉＳＣＳＩホスト１０２からアタッチ指令を受けた時の統合ＮＡＳ装置１０４の処理を示す。
【００８６】
まず、ｉＳＣＳＩターゲット処理プログラム１１２は、ｉＳＣＳＩホスト１０２から、仮想ボリューム番号を含むアタッチ指令を受ける（１２０３）。
【００８７】
次に、ｉＳＣＳＩターゲット処理プログラム１１２は、仮想ボリューム管理テーブル１１４を参照して、アタッチされる仮想ボリューム１２２が既に作成されているかを判定する（１２０４）。具体的には、アタッチ指令に含まれる仮想ボリューム番号と仮想ボリューム管理テーブル１１４の仮想ボリューム番号３０１とが一致するエントリを選択し、当該エントリのファイル名３０３が記録されているか否かを判定する。
【００８８】
この説明図では、アタッチされる仮想ボリューム１２２は現実には作成されておらず、仮想ボリューム番号が仮想ボリューム管理テーブル１１４に格納されているだけである。そこで、ｉＳＣＳＩターゲット処理プログラム１１２は、同じ大きさの仮想ボリューム１２２を二つ作成する。そして、ｉＳＣＳＩターゲット処理プログラム１１２は、作成した一方の仮想ボリューム１２２をファイルとし、作成したもう一方の仮想ボリューム１２２をバックアップ用ファイルとする（１２０５）。なお、未だアタッチされていない二つの仮想ボリューム１２２については、記憶領域を確保しておらず、仮想ボリューム番号が仮想ボリューム管理テーブル１１４に格納されているだけである。
【００８９】
図１４は、本発明の実施の形態のｉＳＣＳＩターゲット処理プログラム１１２に含まれるｉＳＣＳＩアタッチルーチン２０３の処理のフローチャートである。
【００９０】
まず、ｉＳＣＳＩホスト１０２からアタッチ指令を受けると、処理を開始する（６０１）。
【００９１】
次に、アタッチ指令に含まれる仮想ボリューム番号Ｖと仮想ボリューム管理テーブル１１４の仮想ボリューム番号３０１とが一致するエントリＥを仮想ボリューム管理テーブル１１４から選択する。次に、選択したエントリＥからサイズ３０２及びファイル名３０３を抽出する（６０２）。
【００９２】
次に、抽出したファイル名３０３が空欄であるか否かを判定する（６０３）。
【００９３】
ファイル名３０３に値が格納されていると、ｉＳＣＳＩホスト１０２がアタッチするファイル１２１が既に作成されているので、ステップ６０６に進む。
【００９４】
一方、ファイル名３０３が空欄であると、ｉＳＣＳＩホスト１０２がアタッチするファイル１２１が作成されていないと判定する。よって、抽出したサイズ３０２の記憶領域を二つ確保し、同じ大きさの仮想ボリューム１２２を二つ作成する。次に、作成した一方の仮想ボリューム１２２をファイルとし、作成したもう一方の仮想ボリューム１２２をバックアップ用ファイルとする（６０４）。次に、作成したファイルのファイル名Ｆ１及びバックアップ用ファイルのファイル名Ｆ２を決める。なお、ファイル名Ｆ１、Ｆ２は、任意の法則に従って自動的に決められてもよいし、ｉＳＣＳＩホスト１０２から入力されてもよい。例えば、本実施の形態では、ファイル名Ｆ１、Ｆ２は、ファイル又はバックアップ用ファイルが作成された仮想ボリューム１２２の仮想ボリューム番号に基づいて決定している。
【００９５】
次に、選択したエントリＥのファイル名３０３にファイル名Ｆ１を格納する。また、エントリＥのバックアップ名３０４にファイル名Ｆ２を格納する（６０５）。次に、エントリＥの使用フラグ３０５に「１」を格納する（６０６）。
【００９６】
そして、ファイル名Ｆ１のファイルとｉＳＣＳＩホスト１０２とを接続し（６０７）、処理を終了する。
【００９７】
以上のように、管理端末１０１によって割り当てられた仮想ボリューム１２２が最初にアクセスされるときに、ｉＳＣＳＩアタッチルーチン２０３は、アクセスされた仮想ボリューム１２２を作成する。
【００９８】
従来のＮＡＳ装置では、仮想ボリューム割り当て指令を受けると、仮想ボリュームを作成していた。しかし、ｉＳＣＳＩホストは、作成された仮想ボリュームをすぐに使わないことが多い。よって、従来のＮＡＳ装置では、使われていない仮想ボリュームに論理ボリュームの記憶領域が割り当てられているので、論理ボリュームの利用率が低下することがあった。
【００９９】
そこで、本実施の形態の統合ＮＡＳ装置１０４は、仮想ボリューム割り当て指令を受けても、仮想ボリューム１２２の記憶容量を確保せず、仮想ボリューム１２２を作成しない。そして、統合ＮＡＳ装置１０４は、ｉＳＣＳＩホスト１０２から仮想ボリューム１２２に対するアクセスがあると、当該仮想ボリューム１２２を作成する。このように、本実施の形態の統合ＮＡＳ装置１０４は、仮想ボリューム１２２を作成するタイミングを遅らせることによって、論理ボリューム１２０の利用率を向上できる。
【０１００】
（ファイルコピー処理）
図１５は、本発明の実施の形態の統合ＮＡＳ装置１０４のファイルコピー処理の説明図である。
【０１０１】
従来のファイルコピーは、ファイルのホールを考慮することなくコピーしていた。しかし、本実施の形態の統合ＮＡＳ装置１０４は、ファイルのホールを考慮してコピーする。
【０１０２】
まず、ファイルのホールについて説明する。
【０１０３】
ホールは、論理ボリューム１２０が割り当てられていない領域である。ホールを作成する技術は、一般的なオペレーティングシステム（例えば、ｕｎｉｘ）に実装されている。
【０１０４】
例えば、科学技術計算等では、スパースファイルを作成することがある。スパースファイルは、巨大な領域を有するが、アクセスされる領域が少ないファイルである。スパースファイルのすべての領域に論理ボリューム１２０を割り当てると、論理ボリューム１２０の利用率が低下してしまう。また、論理ボリューム１２０への無駄なアクセスによって、アクセス性能が劣化してしまう。これらの問題を解決するため、ｕｎｉｘは、アクセスされていない領域に、論理ボリューム１２０を割り当てないホールを作成する。
【０１０５】
次に、ファイルのホールを無視する従来のファイルコピー処理について説明する。
【０１０６】
ここでは、コピープログラム１３０１は、コピー元ファイル１３０９をコピー先ファイル１３０８にコピーする。コピープログラム１３０１は、ファイルシステム処理プログラム１１３に含まれるファイル読み書きルーチン２０６を用いて、コピー元ファイル１３０９をコピーする。
【０１０７】
具体的には、コピープログラム１３０１は、まず、ファイル読み書きルーチン２０６にコピー元ファイル１３０９の読み出しを指令する（１３０２）。ファイル読み書きルーチン２０６は、読み出し指令を受けると、コピー元ファイル１３０９を読み出す（１３０３）。このとき、ファイル読み書きルーチン２０６は、コピー元ファイル１３０９に含まれるホールをゼロデータとして読み出す。
【０１０８】
次に、コピープログラム１３０１は、ファイル読み書きルーチン２０６によって読み出されたコピー元ファイル１３０９をコピー先ファイル１３０８に書き込む指令をする（１３０４）。ファイル読み書きルーチン２０６は、書き込みを指令されると、読み出したコピー元ファイル１３０９をコピー先ファイル１３０８に書き込む（１３０５）。このとき、ファイル読み書きルーチン２０６は、コピー元ファイル１３０９のホールをゼロデータとして読み出したので、ホールをゼロデータとしてコピー先ファイル１３０８に書き込む。よって、書き込まれたコピー先ファイル１３０８にはホールがなくなり、無駄な記憶領域が増大する。
【０１０９】
以上のように、従来のコピープログラム１３０１は、ホールを考慮することなく（すなわち、ホールであることを引き継がずに）ファイルをコピーしていた。例えば、従来のコピープログラム１３０１では、３０ＧＢしか使用されていない（７０ＧＢはホールである）１００ＧＢのファイルをバックアップすると、バックアップファイルが１００ＧＢとなってしまう。このように、従来のコピープログラム１３０１のバックアップによると、論理ボリューム１２０の利用効率が低下してしまう。
【０１１０】
この問題を解決するため、本実施の形態のファイルシステム処理プログラム１１３は、ホールを考慮してコピーする省スペースコピー処理を実行するバックアップルーチン２０７を備える。
【０１１１】
なお、パックアップルーチン２０７の処理を説明する前に、論理ボリューム１２０がファイルを記憶する状態について説明する。
【０１１２】
図１６は、本発明の実施の形態のホールを有するファイルを記憶する論理ボリューム１２０の説明図である。
【０１１３】
論理ボリューム１２０に記憶されているファイル１５０１は、第１ブロックから第６ブロックで構成されている。ファイル１５０１は、ホールを含んでいる。例えば、本説明図では、第３ブロック、第４ブロック及び第５ブロックは、ホールである。
【０１１４】
論理ボリューム１２０は、更に、論理ブロックリスト１５０２を記憶している。論理ブロックリスト１５０２には、ファイル１５０１のブロックに割り当てられている論理ブロック番号が格納される。ただし、ホールであるブロックのエントリには、対応する論理ブロックがないので、論理ブロック番号に代わって「０」が格納される。
【０１１５】
例えば、ファイル１５０１の第１ブロックは、論理ブロック番号「１０１」の論理ブロックに記憶されている。また、ファイル１５０１の第３ブロックから第５ブロックはホールなので、論理ブロックリスト１５０２の当該ブロックのエントリには「０」が格納されている。
【０１１６】
ここで、図１５に戻り、バックアップルーチン２０７の省スペースコピー処理について説明する。
【０１１７】
本説明図では、バックアップルーチン２０７は、コピー元ファイル１３０９をコピー先ファイル１３１０にコピーする。
【０１１８】
まず、バックアップルーチン２０７は、コピー元ファイル１３０９内のブロックを順に選択し、以下の処理をすべてのブロック毎に繰り返す。
【０１１９】
具体的には、バックアップルーチン２０７は、コピー元ファイル１３０９の論理ブロックリスト１５０２を論理ボリューム１２０から取得する。次に、バックアップルーチン２０７は、取得した論理ブロックリスト１５０２を参照して、選択したブロックがホールであるか否かを判定する。
【０１２０】
選択したブロックがホールであると、バックアップルーチン２０７は、コピー先ファイル１３１０の論理ブロックリストの当該ブロックのエントリに「０」を書き込む。
【０１２１】
一方、選択したブロックがホールではないと、バックアップルーチン２０７は、コピー元ファイル１３０９から選択したブロックに記憶されたデータを読み出す（１３０６）。次に、読み出したデータを論理ボリューム１２０内の論理ブロックに書き込む（１３０７）。そして、バックアップルーチン２０７は、書き込んだ論理ブロックの論理ブロック番号をコピー先ファイル１３１０の論理ブロックリスト１５０２に格納する。
【０１２２】
図１７は、本発明の実施の形態のファイルシステム処理プログラム１１３に含まれるバックアップルーチン２０７の処理のフローチャートである。
【０１２３】
バックアップルーチン２０７は、ｉＳＣＳＩデタッチルーチン２０４からバックアップ指令を受けると、処理を開始する（１００１）。なお、バックアップ指令は、ファイル名Ｆ１及びバックアップファイル名Ｆ２を含む。
【０１２４】
次に、ファイル名Ｆ１のファイルのブロックを第１ブロックから順に選択する。次に、選択したブロックを記憶する論理ブロック番号をファイル名Ｆ１の論理ブロックリストから抽出する（１００２）。
【０１２５】
次に、抽出した論理ブロック番号が「０」であるかを判定する（１００３）。
【０１２６】
論理ブロック番号が「０」であると、選択したブロックがホールであるので、バックアップファイル名Ｆ２の論理ブロックリストに「０」を格納する（１００４）。そして、ステップ１００７に進む。
【０１２７】
一方、論理ブロック番号が「０」でないと、選択したブロックがホールではないので、空いている論理ブロックを論理ボリューム１２０から確保する。次に、確保した論理ブロックの論理ブロック番号をバックアップファイル名Ｆ２の論理ブロックリストに格納する（１００５）。
【０１２８】
そして、ファイル名Ｆ１の論理ブロックの内容をバックアップファイル名Ｆ２の論理ブロックにコピーする（１００６）。具体的には、ステップ１００２で抽出した番号の論理ブロックの内容を、ステップ１００５で確保した論理ブロックにコピーする。
【０１２９】
次に、ステップ１００２において、ファイル名Ｆ１のブロックをすべて選択したかを判定する（１００７）。
【０１３０】
すべてのブロックを選択すると、ファイル名Ｆ１のファイルのコピーが完了したので処理を終了する。
【０１３１】
一方、すべてのブロックを選択していないと、ファイル名Ｆ１のファイル中にコピーしていないブロックが残っていると判定するので、ステップ１００２に戻る。
【０１３２】
以上のように、バックアップルーチン２０７は、ファイル内のホールを考慮してバックアップする。これによって、３０ＧＢしか使用されていない１００ＧＢのファイルをバックアップしても、バックアップファイルは３０ＧＢの大きさとなる。つまり、本実施の形態のバックアップルーチン２０７は、論理ボリューム１２０の利用効率を向上できる。
【０１３３】
（自動バックアップ処理）
図１８は、本発明の実施の形態の統合ＮＡＳ装置１０４の自動バックアップ処理の説明図である。
【０１３４】
ファイルｆ００１．１（１４０９）は、ファイルｆ００１．０（１４０８）のバックアップ用ファイルである。
【０１３５】
ｉＳＣＳＩターゲット処理プログラム１１２は、ｉＳＣＳＩホスト１０２から、仮想ボリューム番号を含むデタッチ指令を受けると（１４０１）、自動バックアップ処理をする。
【０１３６】
まず、デタッチ指令を受けたｉＳＣＳＩターゲット処理プログラム１１２は、デタッチ指令に含まれる仮想ボリューム番号の仮想ボリューム１２２をｉＳＣＳＩホスト１０２から切り離して、ｉＳＣＳＩホスト１０２からのアクセスを停止する（１４０２）。次に、ｉＳＣＳＩターゲット処理プログラム１１２は、ファイルシステム処理プログラム１１３を呼び出し、ファイルｆ００１．０（１４０８）のバックアップを指示する。すると、ファイルシステム処理プログラム１１３は、ファイルｆ００１．０（１４０８）をファイルｆ００１．１（１４０９）にバックアップする。
【０１３７】
図１９は、本発明の実施の形態のｉＳＣＳＩターゲット処理プログラム１１２に含まれるｉＳＣＳＩデタッチルーチン２０４の処理のフローチャートである。
【０１３８】
ｉＳＣＳＩデタッチルーチン２０４は、ｉＳＣＳＩホスト１０２からデタッチ指令を受けると、処理を開始する（７０１）。
【０１３９】
次に、デタッチ指令に含まれる仮想ボリューム番号Ｖと仮想ボリューム管理テーブル１１４の仮想ボリューム番号３０１とが一致するエントリＥを仮想ボリューム管理テーブル１１４から選択する。次に、選択したエントリＥからファイル名３０３及びバックアップ名３０４を抽出する（７０２）。
【０１４０】
次に、バックアップルーチン２０７にバックアップ指令を送る（７０３）。なお、バックアップ指令は、抽出したファイル名３０３のファイルをバックアップ名３０４のファイルにコピーする要求であり、この指令によって、図１７で説明したバックアップルーチン２０７が起動する。
【０１４１】
次に、デタッチ指令に含まれる仮想ボリューム番号Ｖとキャッシュ管理テーブル１１５の仮想ボリューム番号３０６とが一致するすべてのエントリをキャッシュ管理テーブル１１５から削除する（７０４）。
【０１４２】
次に、ステップ７０２で選択したエントリＥの使用フラグ３０５に「０」を格納する（７０５）。
【０１４３】
そして、ステップ７０２で抽出したファイル名３０３のファイルをｉＳＣＳＩホスト１０２から切り離す（７０６）。
【０１４４】
以上のように、本実施の形態の統合ＮＡＳ装置１０４は、仮想ボリュームのデタッチを契機として、自動バックアップを実現できる。これによって、統合ＮＡＳ装置１０４は、バックアップ作業を管理するコストを減らすことができる。
【０１４５】
また、本実施の形態の統合ＮＡＳ装置１０４は、ｉＳＣＳＩホスト１０２から切り離した仮想ボリューム１２２に作成されたファイル１２１をバックアップする。よって、統合ＮＡＳ装置１０４は、内容が静止化されているファイル１２１をバックアップするので、バックアップを安全に実行できる。
【０１４６】
（リストア処理）
図２０は、本発明の実施の形態の統合ＮＡＳ装置１０４のリストア処理の説明図である。
【０１４７】
仮想ボリューム管理プログラム１１１は、管理端末１０１から、仮想ボリューム番号を含むリストア指令を受ける（１４０３）。なお、管理端末１０１は、ｉＳＣＳＩホスト１０２と切り離されている仮想ボリューム１２２に対してのみ、リストアを指令する。
【０１４８】
次に、仮想ボリューム管理プログラム１１１は、リストア指令に含まれる仮想ボリューム番号と仮想ボリューム管理テーブル１１４の仮想ボリューム番号３０１とが一致するエントリを仮想ボリューム管理テーブル１１４から選択する。次に、仮想ボリューム管理プログラム１１１は、選択したエントリのファイル名３０３とバックアップ名３０４とを入れ替える（１４０４）。
【０１４９】
このように、仮想ボリューム管理プログラム１１１は、リストアする。
【０１５０】
次に、ｉＳＣＳＩホスト１０２は、仮想ボリューム１２２に対するアタッチをｉＳＣＳＩターゲット処理プログラム１１２に指令する（１４０５）。このとき、ｉＳＣＳＩホスト１０２は、アタッチする仮想ボリューム１２２がリストアされたかを意識する必要なく、アタッチを指令する。なお、アタッチ指令には、仮想ボリューム番号が含まれる
次に、ｉＳＣＳＩターゲット処理プログラム１１２は、アタッチ指令に含まれる仮想ボリューム番号と仮想ボリューム管理テーブル１１４の仮想ボリューム番号３０１とが一致するエントリを選択し、当該エントリのファイル名３０３を仮想ボリューム管理テーブル１１４から抽出する（１４０６）。
【０１５１】
ｉＳＣＳＩターゲット処理プログラム１１２は、抽出したファイル名３０３のファイルｆ００１．１（１４０９）とｉＳＣＳＩホスト１０２とを接続する（１４０７）。なお、ｉＳＣＳＩホスト１０２は、リストア前は、ファイルｆ００１．０（１４０８）と接続されていた。
【０１５２】
図２１は、本発明の実施の形態の仮想ボリューム管理プログラム１１１に含まれるリストアルーチン２０２の処理のフローチャートである。
【０１５３】
リストアルーチン２０２は、管理端末１０１からリストア指令を受けると、処理を開始する（５０１）。
【０１５４】
次に、リストア指令に含まれる仮想ボリューム番号Ｖと仮想ボリューム番号３０１とが一致するエントリＥを仮想ボリューム管理テーブル１１４から選択する（５０２）。
【０１５５】
次に、選択したエントリＥから使用フラグ３０５を抽出する。そして、抽出した使用フラグ３０５が「１」であるか否かを判定する（５０３）。
【０１５６】
使用フラグ３０５が「１」であると、リストアを指令された仮想ボリューム１２２がｉＳＣＳＩホスト１０２と接続中であり、リストアできないと判定する。よって、管理端末１０１にエラーを通知する（５０４）。
【０１５７】
一方、使用フラグ３０５が「０」であると、リストアを指令された仮想ボリューム１２２とｉＳＣＳＩホスト１０２とが切り離されているので、リストアできる。よって、選択したエントリＥについて、ファイル名３０３とバックアップ名３０４とを入れ替え（５０５）、処理を終了する。
【０１５８】
以上のように、リストアルーチン２０２は、統合ＮＡＳ装置１０４のリストア処理を実行する。
【０１５９】
ブレードサーバからの処理を受けるＮＡＳは頻繁にリストアをすることがある。なぜなら、ブレードサーバの障害や、セキュリティパッチの適用失敗に伴うダウングレード等の度に、リストアするからである。従来のＮＡＳは、仮想ボリューム番号を付け替えることによって、又はリストアされるファイルにデータをコピーすることによって、リストアしていた。よって、従来のＮＡＳは、リストアによる負荷が大きく、迅速にリストアできなかった。
【０１６０】
しかし、本実施の形態の統合ＮＡＳ装置１０４は、仮想ボリューム番号を付け替えたり、データをコピーすることなく瞬時にリストアできる。
【図面の簡単な説明】
【０１６１】
【図１】本発明の実施の形態の統合ＮＡＳ装置の構成のブロック図である。
【図２】本発明の実施の形態のプロセッサ装置に記憶されている仮想ボリューム管理プログラムの構成図である。
【図３】本発明の実施の形態のプロセッサ装置に記憶されているｉＳＣＳＩターゲット処理プログラムの構成図である。
【図４】本発明の実施の形態のプロセッサ装置に記憶されているファイルシステム処理プログラムの構成図である。
【図５】本発明の実施の形態のプロセッサ装置に記憶されている仮想ボリューム管理テーブルの構成図である。
【図６】本発明の実施の形態のプロセッサ装置に記憶されているキャッシュ管理テーブルの構成図である。
【図７】本発明の実施の形態のキャッシュミス時の統合ＮＡＳ装置の処理の説明図である。
【図８】本発明の実施の形態のキャッシュヒット時の統合ＮＡＳ装置の処理の説明図である。
【図９】本発明の実施の形態のｉＳＣＳＩターゲット処理プログラムに含まれるｉＳＣＳＩ読み書きルーチンの処理のフローチャートである。
【図１０】本発明の実施の形態のファイルシステム処理プログラムに含まれるファイル読み書きルーチンの処理のフローチャートである。
【図１１】管理端末から仮想ボリューム割り当て指令を受けた時の統合ＮＡＳ装置の処理を示す。
【図１２】本発明の実施の形態の仮想ボリューム管理プログラムに含まれる仮想ボリューム割り当てルーチンの処理のフローチャートである。
【図１３】ｉＳＣＳＩホストからアタッチ指令を受けた時の統合ＮＡＳ装置の処理を示す。
【図１４】本発明の実施の形態のｉＳＣＳＩターゲット処理プログラムに含まれるｉＳＣＳＩアタッチルーチンの処理のフローチャートである。
【図１５】本発明の実施の形態の統合ＮＡＳ装置のファイルコピー処理の説明図である。
【図１６】本発明の実施の形態のホールを有するファイルを記憶する論理ボリュームの説明図である。
【図１７】本発明の実施の形態のファイルシステム処理プログラムに含まれるバックアップルーチンの処理のフローチャートである。
【図１８】本発明の実施の形態の統合ＮＡＳ装置の自動バックアップ処理の説明図である。
【図１９】本発明の実施の形態のｉＳＣＳＩターゲット処理プログラムに含まれるｉＳＣＳＩデタッチルーチンの処理のフローチャートである。
【図２０】本発明の実施の形態の統合ＮＡＳ装置のリストア処理の説明図である。
【図２１】本発明の実施の形態の仮想ボリューム管理プログラムに含まれるリストアルーチンの処理のフローチャートである。
【符号の説明】
【０１６２】
１０１  管理端末
１０２  ｉＳＣＳＩホスト
１０３  ＮＡＳクライアント
１０４  統合ＮＡＳ装置
１１０  プロセッサ装置
１１１  仮想ボリューム管理プログラム
１１２  ｉＳＣＳＩターゲット処理プログラム
１１３  ファイルシステム処理プログラム
１１４  仮想ボリューム管理テーブル
１１５  キャッシュ管理テーブル
１２０  論理ボリューム
１２１  ファイル
１２２  仮想ボリューム
１３０  ネットワーク制御装置
１４０  ディスク制御装置
２０１  仮想ボリューム割り当てルーチン
２０２  リストアルーチン
２０３  ｉＳＣＳＩアタッチルーチン
２０４  ｉＳＣＳＩデタッチルーチン
２０５  ｉＳＣＳＩ読み書きルーチン
２０６  ファイル読み書きルーチン
２０７  バックアップルーチン
【図１】
2006195712.tif 000003
【図２】
2006195712.tif 000004
【図３】
2006195712.tif 000005
【図４】
2006195712.tif 000006
【図５】
2006195712.tif 000007
【図６】
2006195712.tif 000008
【図７】
2006195712.tif 000009
【図８】
2006195712.tif 000010
【図９】
2006195712.tif 000011
【図１０】
2006195712.tif 000012
【図１１】
2006195712.tif 000013
【図１２】
2006195712.tif 000014
【図１３】
2006195712.tif 000015
【図１４】
2006195712.tif 000016
【図１５】
2006195712.tif 000017
【図１６】
2006195712.tif 000018
【図１７】
2006195712.tif 000019
【図１８】
2006195712.tif 000020
【図１９】
2006195712.tif 000021
【図２０】
2006195712.tif 000022
【図２１】
2006195712.tif 000023