(57)【要約】【課題】不要なデータを確実に削除し得るファイル管理装置及び方法を提案する。【解決手段】ホスト計算機からの要求に応じて記憶装置が提供する第１のボリュームにファイルのデータを読み書きするファイル管理装置及び方法において、第１のボリュームの更新可能なスナップショットを１又は複数作成し、外部から与えられる指定ファイルの削除コマンドに応じて、第１のボリューム及びスナップショットの全部又は削除コマンドにおいて指定された一部から指定ファイルを削除すると共に、この際、指定ファイルを削除すべき第１のボリューム及び又はスナップショット内の指定ファイルのデータに無効データを上書きすると共に、当該指定ファイルの管理情報を参照不可能な状態に変更するようにした。【選択図】図６
2010033374.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置と接続され、ホスト計算機からの要求に応じて前記記憶装置が提供する前記第１のボリュームにファイルのデータを読み書きするファイル管理装置において、
前記第１のボリュームの更新可能なスナップショットを１又は複数作成するスナップショット作成部と、
外部から与えられる指定ファイルの削除コマンドに応じて、前記第１のボリューム及び前記スナップショットの全部又は前記削除コマンドにおいて指定された一部から前記指定ファイルを削除するファイル削除部と
を備え、
前記ファイル削除部は、
前記指定ファイルを削除すべき前記第１のボリューム及び又は前記スナップショット内の前記指定ファイルのデータに無効データを上書きすると共に、当該指定ファイルの管理情報を参照不可能な状態に変更する
ことを特徴とするファイル管理装置。
【請求項２】
前記スナップショット作成部は、
前記第１のボリューム及び前記スナップショット間、又は複数の前記スナップショット間で共有するファイルの更新があったときに、更新される前の前記ファイルのデータを前記記憶装置が提供する第２のボリュームに複写する複写処理を実行し、
前記ファイル削除部は、
前記指定ファイルを削除すべき前記第１のボリューム及び又は前記スナップショット内の前記指定ファイルの管理情報における当該指定ファイルの参照先を、それぞれ前記指定ファイルを削除すべき前記第１のボリューム及び又は前記スナップショットのうちのベーススナップショットに設定した１つの前記第１のボリューム又は前記スナップショット内の前記指定ファイルの管理情報における当該指定ファイルの参照先に変更すると共に、前記指定ファイルを削除すべき前記第１のボリューム及び又は前記スナップショットのうちの前記ベーススナップショット以外の前記第１のボリューム及び又は前記スナップショット内の前記指定ファイルの管理情報における当該指定ファイルの参照先に無効データを上書きし、さらに当該無効データを上書きした前記指定データが格納されていた記憶領域を未使用領域として回収し、
前記複写処理を停止するよう前記スナップショット作成部を制御し、
前記ベースボリューム内の前記指定ファイルの管理情報における当該指定ファイルのデータ位置に無効データを上書きし、
前記指定ファイルを削除すべき前記第１のボリューム及び又は前記スナップショット内の前記指定データの管理情報をそれぞれ削除し、
前記複写処理を再開するよう前記スナップショット作成部を制御する
ことを特徴とする請求項１に記載のファイル管理装置。
【請求項３】
前記削除コマンドの１つは、
前記指定ファイルのファイル名が格納されるファイル名部と、
前記第１のボリューム及びすべての前記スナップショットから当該ファイルを削除すべき指示を意味するコマンド名が格納されたコマンド名部とを備え、
前記ファイル削除部は、
当該削除コマンドが与えられたときに、前記第１のボリューム及び前記スナップショットの全部から前記削除コマンドの前記ファイル名部に格納された前記ファイル名のファイルを削除する
ことを特徴とする請求項１に記載のファイル管理装置。
【請求項４】
前記指定データの削除単位はファイル単位であり、
前記削除コマンドの１つは、
前記指定データのファイルのファイル名が格納されるファイル名部と、
当該ファイルを削除すべき１又は複数の前記スナップショットの識別情報が格納されたオプション部と、
前記オプション部に識別情報が格納されたすべての前記スナップショットから、前記ファイル名部に格納された前記ファイル名のファイルを削除すべき指示を意味するコマンド名が格納されたコマンド名部とを備え、
前記データ削除部は、
当該削除コマンドが与えられたときに、前記オプション部に識別情報が格納されたすべての前記スナップショットから、前記削除コマンドの前記ファイル名部に格納された前記ファイル名のファイルを削除する
ことを特徴とする請求項１に記載のファイル管理装置。
【請求項５】
ホスト計算機からの要求に応じて記憶装置が提供する前記第１のボリュームにファイルのデータを読み書きするファイル管理方法において、
前記第１のボリュームの更新可能なスナップショットを１又は複数作成する第１のステップと、
外部から与えられる指定ファイルの削除コマンドに応じて、前記第１のボリューム及び前記スナップショットの全部又は前記削除コマンドにおいて指定された一部から前記指定ファイルを削除する第２のステップと
を備え、
前記第２のステップでは、
前記指定ファイルを削除すべき前記第１のボリューム及び又は前記スナップショット内の前記指定ファイルのデータに無効データを上書きすると共に、当該指定ファイルの管理情報を参照不可能な状態に変更する
ことを特徴とするファイル管理方法。
【請求項６】
前記第１のステップでは、
前記第１のボリューム及び前記スナップショット間、又は複数の前記スナップショット間で共有するファイルの更新があったときに、更新される前の前記ファイルのデータを前記記憶装置が提供する第２のボリュームに複写する複写処理を実行し、
前記第２のステップでは、
前記指定ファイルを削除すべき前記第１のボリューム及び又は前記スナップショット内の前記指定ファイルの管理情報における当該指定ファイルの参照先を、それぞれ前記指定ファイルを削除すべき前記第１のボリューム及び又は前記スナップショットのうちのベーススナップショットに設定した１つの前記第１のボリューム又は前記スナップショット内の前記指定ファイルの管理情報における当該指定ファイルの参照先に変更すると共に、前記指定ファイルを削除すべき前記第１のボリューム及び又は前記スナップショットのうちの前記ベーススナップショット以外の前記第１のボリューム及び又は前記スナップショット内の前記指定ファイルの管理情報における当該指定ファイルの参照先に無効データを上書きし、さらに当該無効データを上書きした前記指定データが格納されていた記憶領域を未使用領域として回収し、
前記複写処理を停止し、
前記ベースボリューム内の前記指定ファイルの管理情報における当該指定ファイルのデータ位置に無効データを上書きし、
前記指定ファイルを削除すべき前記第１のボリューム及び又は前記スナップショット内の前記指定データの管理情報をそれぞれ削除し、
前記複写処理を再開する
ことを特徴とする請求項５に記載のファイル管理方法。
【請求項７】
前記削除コマンドの１つは、
前記指定ファイルのファイル名が格納されるファイル名部と、
前記第１のボリューム及びすべての前記スナップショットから当該ファイルを削除すべき指示を意味するコマンド名が格納されたコマンド名部とを備え、
前記第２のステップでは、
当該削除コマンドが与えられたときに、前記第１のボリューム及び前記スナップショットの全部から前記削除コマンドの前記ファイル名部に格納された前記ファイル名のファイルを削除する
ことを特徴とする請求項５に記載のファイル管理方法。
【請求項８】
前記指定データの削除単位はファイル単位であり、
前記削除コマンドの１つは、
前記指定データのファイルのファイル名が格納されるファイル名部と、
当該ファイルを削除すべき１又は複数の前記スナップショットの識別情報が格納されたオプション部と、
前記オプション部に識別情報が格納されたすべての前記スナップショットから、前記ファイル名部に格納された前記ファイル名のファイルを削除すべき指示を意味するコマンド名が格納されたコマンド名部とを備え、
前記第２のステップでは、
当該削除コマンドが与えられたときに、前記オプション部に識別情報が格納されたすべての前記スナップショットから、前記削除コマンドの前記ファイル名部に格納された前記ファイル名のファイルを削除する
ことを特徴とする請求項５に記載のファイル管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルシステム管理装置及び方法に関し、特にスナップショット機構が搭載され、ホスト計算機からの要求に応じて記憶装置が提供する記憶領域にファイルデータを読み書きするた計算機に適用して好適なものである。
【背景技術】
【０００２】
ＮＡＳ（Network Attached Storage）サーバやディスクアレイ装置の機能の１つとして、スナップショット生成指示を受けた時点における指定された運用ボリューム（ユーザがデータを読み書きする論理ボリューム）のイメージを保持する、いわゆるスナップショット機能がある。スナップショット機能は、人為的なミスによりデータが消失してしまったときや、所望時点におけるファイルシステムの状態を復元したいときなどに、スナップショットの生成時点における運用ボリュームを復元するために用いられる。
【０００３】
従来、スナップショットを実現する手法として、ファイルシステムを格納する運用ボリュームのデータ格納ブロック位置をスナップショットごとに切り替える方式（特許文献１参照）や、ファイルシステム内でｉノードをスナップショットごとに複製して保持する方式（特許文献２参照）が提案されている。
【０００４】
どちらの手法も、スナップショットの作成時点ではデータの複製は行われない。スナップショットが作成された時点では、ファイルのデータは運用中のファイルシステムとスナップショットとで共有しており、後にファイルにデータが上書きされる際に上書きされる前のデータが差分ボリュームと呼ばれるボリュームにコピーされる。
【０００５】
そしてスナップショットの参照時には、データが上書きされていない部分については運用ボリュームに格納されたデータ、データが上書きされた部分については差分ボリュームに格納されたデータが組み合わされてスナップショット作成時点での運用ボリュームのデータイメージが復元される。この方式はＣＯＷ(Copy on Write)やＡＯＷ(Allocation on Write)と呼ばれる。
【特許文献１】特開２００４−３４２０５０号
【特許文献２】特表平８−５１１３６７号
【特許文献３】特開２００５−３０１５４８号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
近年、個人情報保護や不正アクセス防止の観点から、企業などが不必要なデータを保持し続けることに対するリスクが問題視されており、不要なデータを確実に削除する機能の必要性は増している。
【０００７】
通常、不要なファイルの削除は、ＯＳ（Operating System）が提供するファイル削除用のインタフェースを介して、ファイルシステムにファイルの削除を指示することにより行われる。
【０００８】
この場合、ファイルシステムによってはファイル削除指示時にデータ自体の削除は行わず、ファイルの管理情報であるメタデータだけを削除する。メタデータを削除することでユーザは削除対象のファイルのデータを参照することができなくなり、ファイルが削除されたように見える。
【０００９】
ところが、この方式によると、ファイルシステムを格納する運用ボリュームの中にはデータが削除されないまま残っており、ファイルシステムを介さず直接運用ボリュームに保存された情報にアクセスすることによって、削除したはずのファイルのデータを読み出せてしまうという問題がある。
【００１０】
このような問題に対し、一般的な対策として、ファイルのデータを無効データで上書きしたうえでファイルシステムにそのファイルの削除指示を出す手法が提案されている。この場合、上書きするデータの内容や回数の標準的な方式としては、米国国家安全保障局（ＮＳＡ：National Security Agency）方式や米国国防総省規定（DoD5200.22-M）を利用することができる。また上書きを行うタイミングを制御し、不正な読み出しを防ぐ方式が特許文献３に開示されている。
【００１１】
しかしながら、このような方式をスナップショット機構を持つファイルシステムにおいて利用する場合には問題が残る。ファイルシステム上であるファイルを削除しても、過去のスナップショット上には同じファイルが残る場合があるからである。よって、ユーザからスナップショットに含まれるファイルも含め、指定したファイルを全て削除する手法が必要となる。
【００１２】
過去のスナップショットの変更が不可能なファイルシステムでは、スナップショット内のファイルを削除できないため、この問題を解決することはできない。しかし書き換え可能なスナップショット機構を備えるファイルシステムでは、スナップショット内のファイルを削除することができる。
【００１３】
本発明は以上の点を考慮してなされたもので、不要なデータを確実に削除し得るファイル管理装置及び方法を提案しようとするものである。
【課題を解決するための手段】
【００１４】
かかる課題を解決するため本発明においては、記憶装置と接続され、ホスト計算機からの要求に応じて前記記憶装置が提供する前記第１のボリュームにファイルのデータを読み書きするファイル管理装置において、前記第１のボリュームの更新可能なスナップショットを１又は複数作成するスナップショット作成部と、外部から与えられる指定ファイルの削除コマンドに応じて、前記第１のボリューム及び前記スナップショットの全部又は前記削除コマンドにおいて指定された一部から前記指定ファイルを削除するファイル削除部とを備え、前記ファイル削除部は、前記指定ファイルを削除すべき前記第１のボリューム及び又は前記スナップショット内の前記指定ファイルのデータに無効データを上書きすると共に、当該指定ファイルの管理情報を参照不可能な状態に変更することを特徴とする。
【００１５】
また本発明においては、ホスト計算機からの要求に応じて記憶装置が提供する前記第１のボリュームにファイルのデータを読み書きするファイル管理方法において、前記第１のボリュームの更新可能なスナップショットを１又は複数作成する第１のステップと、外部から与えられる指定ファイルの削除コマンドに応じて、前記第１のボリューム及び前記スナップショットの全部又は前記削除コマンドにおいて指定された一部から前記指定ファイルを削除する第２のステップとを備え、前記第２のステップでは、前記指定ファイルを削除すべき前記第１のボリューム及び又は前記スナップショット内の前記指定ファイルのデータに無効データを上書きすると共に、当該指定ファイルの管理情報を参照不可能な状態に変更することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、不要なデータを確実に削除し得るファイル管理装置及び方法を実現できる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施形態について図面を参照して説明する。
【００１８】
（１）第１の実施の形態
（１−１）本実施の形態によるストレージシステムの構成
図１において、１は全体として本実施の形態によるストレージシステムを示す。このストレージシステム１は、複数のホスト計算機２がネットワーク３を介して計算機４に接続され、当該計算機４に複数の記憶装置５が接続されて構成されている。
【００１９】
ホスト計算機２は、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、ネットワーク３を介して計算機４と通信を行うための通信インタフェースを備える。
【００２０】
ネットワーク３は、例えばＬＡＮ（Local Area Network）又はインターネットなどから構成される。このネットワーク３を介したホスト計算機２及び計算機４間の通信は、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。ホスト計算機２がネットワーク３を介してファイル操作を行うプロトコルとしては、ＮＦＳ（Ｎetwork Filesystem）やＣＩＦＳ（Common Internet Fileststem）などが用いられる。
【００２１】
記憶装置５は、例えばＨＤＤ（Hard Disk Drive）のような磁気ディスク、ＤＶＤ（Digital Versatile Disc）などの光ディスク、テープ装置又はフラッシュメモリが適用される。記憶装置５として、複数のＨＤＤ及び制御装置からなるディスクアレイ装置が適用される場合もある。記憶装置５が提供する記憶領域上に論理的なボリューム（以下、これを論理ボリュームと呼ぶ）が作成される。ホスト計算機２からのデータは、この論理ボリュームに所定大きさのブロックを単位として読み書きされる。
【００２２】
本実施の形態の場合、１つの論理ボリュームに１つのファイルシステムが格納される。一般的には１つの論理ボリュームは１つの記憶装置５に対応するが、複数の記憶装置５から１つの論理ボリュームを生成するＬＶＭ（Logical Volume Manager）や、１つの記憶装置５に複数の論理ボリュームを管理させるパーティション技術を用いることもできる。
【００２３】
計算機４は、ネットワークインタフェース１０、入出力インタフェース１１、制御装置１２、メモリ１３及びストレージインタフェース１４を備えて構成される。計算機４は、例えばＳＡＮ（Storage Area Network）を介して記憶装置５と接続されており、ストレージインタフェース１４を介して記憶装置５と通信を行ない、ファイルシステムを構築するのに必要な情報を収集する。
【００２４】
制御装置１２は、計算機４全体の動作制御を司るプロセッサであり、例えばＣＰＵ（Central Processing Unit）などから構成される。メモリ１３は、記憶装置５に入出力するデータを一時的に記憶するために用いられるほか、ファイルシステムプログラム２０、ファイルサーバプログラム２１、スナップショット管理プログラム２２、スナップショット管理情報２３及びファイル完全削除プログラム２４Ａなどの各種プログラムや必要な情報が格納される。
【００２５】
なお、ファイルシステムプログラム２０は、計算機４の利用者に対してファイル形式でのデータの保存・参照を可能とするサービスを提供するためのプログラムであり、ファイルサーバプログラム２１は、計算機４をファイルサーバとして機能させるためのプログラムである。またスナップショット管理プログラム２２は、スナップショットを作成及び管理するためのプログラムであり、スナップショット管理情報２３は、スナップショット管理プログラム２２が管理するスナップショットの各種情報から構成される。さらにファイル完全削除プログラム２４Ａは、後述する本実施の形態によるファイル削除処理を実行するためのプログラムである。
【００２６】
入出力インタフェース１１には、例えばパーソナルコンピュータなどから構成される管理端末２５が接続される。管理端末２５は、キーボード、スイッチ、ポインティングデバイス及び又はマイクロフォン等の情報入力装置と、モニタディスプレイ及び又はスピーカ等の情報出力装置とを備える。計算機４の利用者は、管理端末２５を介して計算機４が管理するファイルについて、作成、削除、参照及び変更などの操作を行うことができる。
【００２７】
また、計算機４がネットワークインタフェース１０を備える場合、制御装置１２がファイルサーバプログラム２１に従って動作することで、ネットワークインタフェース１０と接続されるホスト計算機２が、計算機４が管理するファイルに対して、ネットワーク３を介して作成、削除、参照及び変更などのファイル操作を行うことができる。
【００２８】
（１−２）スナップショット機構を備えるファイルシステムの運用例
図２は、スナップショット機構を備えるファイルシステムの一運用例を示す。ファイルツリー３０は、計算機４が管理するファイル群を木構造で表現したものである。ファイルツリー３０にある特定のファイルやディレクトリを参照したい場合、例えばファイルツリー３０の根であるルート（「root」）３１から、葉のノード３２〜３９の名前をパス区切り記号（「/」）で連結することによって所望するファイルやディレクトリを指定することができる。例えば、「file1」（ノード３４）を指定する場合、ファイルツリー３０中の３つのノード３２、３３、３４を連結した「/dir1/dir2/file1」という文字列を用いることができる。
【００２９】
ファイルツリー３０には、ディレクトリ属性を持つファイルに、他のファイルシステムが持つファイルツリーを連結することができる。この処理をマウントと呼ぶ。例えば、「current」というノード３６がディレクトリ属性である場合、このノード３６に他のファイルシステム４０をマウントすることができる。
【００３０】
この場合、ファイルシステム４０をマウントしたディレクトリを指定する文字列「/mnt/current」と、ファイルシステム４０内における参照対象のファイルを指定する文字列とを連結することで、ファイルシステム４０内のファイルを特定することができる。例えば、参照対象のファイルがファイルシステム４０内の「file2」というファイルである場合、ファイルツリー３０におけるファイルシステム４０のマウント位置のディレクトリ（「current」）を示す「/mnt/current」という文字列と、ファイルシステム４０において「file2」を示す「/dir3/file2」という文字列とを連結した「/mnt/current/dir3/file2」という文字列によって、「file2」というファイルを指定することができる。
【００３１】
ファイルシステム４０の過去のスナップショット４１〜４３についても、ファイルシステム４０と同様にマウント処理を行うことができる。ファイルシステム４０中のファイルに関して、過去のスナップショット４１〜４３の作成時点でのデータを参照したい場合、参照したいスナップショット４１〜４３のマウント位置のディレクトリまでの文字列と、ファイルシステム４０内におけるファイルツリー上の名前を用いることで、かかるデータを参照することができる。例えば、ファイルシステム４０内の「file2」というファイルに関して、「200805」というスナップショット４１の作成時点におけるデータを参照するには、当該スナップショット４１がマウントされているディレクトリ３７を指定する文字列「/mnt/ss_200805」と、ファイルシステム４０における「file2」というファイルを指定する文字列である「dir3/file2」とを連結した「/mnt/ss_200805/dir3/file2」と言う文字列により、かかるデータを指定することができる。
【００３２】
（１−３）ファイル削除に使用するインタフェース
図３は、ユーザがファイルの削除に使用するインタフェースの一例を示す。ユーザは、管理端末２５に対して文字列で構成されるコマンドを入力することで、所望するファイルの削除を指示することができる。
【００３３】
図３（Ａ）に示すコマンド５０は、ファイルの削除に用いられる一般的なコマンド形態であり、ＰＯＳＩＸ（Portable Operating System Interface）規格などで規定されている。コマンド５０は、ファイル削除を意味するコマンド名部５１と、削除対象のファイル名の集合部分であるファイル名集合部５２とを備える。また、ファイル削除時に特殊な操作を行いたいときには、オプションであるオプション部５３を付け加えることができる。例えば図３（Ａ）の例の場合、「-f」というオプションはファイル削除時にユーザの許可を必要としないことを意味する。ファイル名集合部５２には、削除対象の複数のファイルのファイル名を列挙しても良い。
【００３４】
ただし、かかるコマンド５０を用いた場合、入力時点でのファイルシステムから、ファイル名集合部５２にファイル名が記述されたファイルを削除することができるが、そのファイルをスナップショットから削除することはできない。
【００３５】
「rm」というコマンド名を用いてスナップショットからファイルを削除する方法としては、図３（Ｂ）に示すコマンド６０の例が挙げられる。例えば、ファイルシステムの2008年5月のスナップショットが「ss_200805」というディレクトリに格納され、以下同様に年月からスナップショット用のディレクトリ名が分かるとすると、各スナップショットから「file1」というファイルを削除するには、この図３（Ｂ）に示すようなコマンド６０を用いることができる。
【００３６】
コマンド６０では、図３（Ａ）のコマンド５０における削除対象のファイル名集合部５２に、各スナップショットのディレクトリ名（「ss_200805」，「ss_200804」及び「ss_200803」）と削除対象のファイル名（「file1」）をつなげて列挙する。これにより、各スナップショットからファイル「file1」を削除することができる。
【００３７】
ただし、コマンド６０では、スナップショット数が多いときにコマンドが長くなってしまう。このため、一部の計算機では、コマンドの最大長の制限により全スナップショットの指定が行えない可能性ある。また、ディレクトリが公開されていないスナップショットからは削除対象のファイルの削除を行えないという問題がある。
【００３８】
そこで、本実施の形態においては、「rm」というコマンド名を用い、各スナップショットから削除対象のファイルを削除する新たなコマンドとして、図３（Ｃ）及び（Ｄ）に示すコマンドを提案する。
【００３９】
図３（Ｃ）は、関連するすべてのスナップショットからファイル名集合部７２にファイル名（ここでは「file1」）が記述されたファイルの削除を指示するコマンド７０の構成例を示す。このコマンド７０は図３（Ａ）について上述した通常のファイル削除用のコマンド５０のコマンド名（「rm」）と異なるコマンド名（「rm_all」）がコマンド名部７１に記述される。またコマンド７０では、かかるコマンド名部７１に続けてファイル名集合部７２が設けられ、このファイル名集合部７１ｂに削除対象のファイルのファイル名が格納される。そしてこのコマンド７０が与えられた場合、計算機４は、ファイルシステム及びスナップショット機構に対して、関連するすべてのスナップショットからファイル名集合部７２にファイル名が記述されたファイルを削除するよう記憶装置５に指示を与える。
【００４０】
なお、ファイル名集合部７２に記述されるファイル名は必ずしも文字列で構成された名前でなくても良く、ファイルを一意に特定できる記号であれば良い。例えば、ファイル名集合部７２に記述されるファイル名として、ｉノード番号やデータのハッシュ値等を適用するようにしても良い。
【００４１】
図３（Ｄ）は、指定したスナップショットから削除対象のファイルを削除することを指示するコマンド８０の構成例を示す。このコマンド８０において、コマンド名部８１に格納された「rm_select」というコマンド名は、オプション部８２において指定されたスナップショット群からファイル名集合部８３にファイル名が列挙された各ファイルを削除すべきことを意味する。オプション部８２におけるスナップショットの指定方法としては、スナップショットを示す名前のほか、スナップショットの作成日付や、スナップショットを特定できる条件式、例えば「2008年02月から2008年04月の間に作られたスナップショット」のような指定方法も使用できる。
【００４２】
図３（Ｃ）及び（Ｄ）に示すコマンド７０，８０では、一般的なコマンド形態におけるコマンド名（「rm」）とは異なるコマンド名（「rm_all」、「rm_select」）を利用している。他の実施の形態としては、既存のコマンド名（「rm」）にスナップショットを指定するオプションを付け加えてもよい。
【００４３】
図３（Ｅ）及び（Ｆ）は、いずれも既存のコマンド名（「rm」）を用いたコマンドの構成例を示す。図３（Ｅ）は、ファイル名集合部９３にファイル名が格納されたファイルを、関連するすべてのスナップショットから削除すべきことを意味するオプション名（「--from-all-snapshot」）をオプション部９２に格納する方式を示す。また図３（Ｆ）は、ファイル名集合部９３にファイル名が格納されたファイルを、オプション部１０２に名前が格納されたスナップショットから削除すべきことを意味するオプション名（「--from-snapshot"200805 200804 200803"」）をオプション部１０２に格納する方式である。コマンド９０はコマンド７０と同じ処理を指示し、コマンド１００はコマンド８０と同じ処理を指示することになる。
【００４４】
以上のように既存のコマンド名（「rm」）に対し、新たなコマンド名（「rm_all」、「rm_select」）や新たなオプション（「--from-all-snapshot」、「--from-snapshot"200805 200804 200803"」）を導入することで、ユーザによるスナップショットからのファイル削除を容易にすることができる。
【００４５】
一方、図4及び図５は、例えば管理端末２５に表示されるＧＵＩ（Graphical User Interface）の構成例を示す。図３について上述したインタフェース（ＣＵＩ：Command User Interface）では、ユーザはコマンドを用いてファイルの削除を指示していた。これに対して図４及び図５に示すようなＧＵＩ環境においては、ユーザは文字を入力することなくファイル削除の指示を出すことができる。
【００４６】
例えば図４は、ＧＵＩによりファイルの削除を行うインタフェース例である。この図４に示すファイル一覧画面１１０は、ファイル操作ボタン群１１１、ディレクトリ一覧１１２及びファイル一覧１１３を備える。ユーザは管理端末２５の図示しないマウスを操作してマウスポインタ１１４を動かすことで、操作対象のファイルを指定したり、操作内容を指定したりできる。ディレクトリ一覧１１２には、複数のディレクトリを表すアイコン１１５Ａ〜１１５Ｄが表示される。
【００４７】
ユーザはマウスポインタ１１４を動かしていずれかのアイコン１１５Ａ〜１１５Ｄを指定し、選択指示を入力することで所望するディレクトリを選択する。このとき、ファイル一覧１１３には、ディレクトリ一覧１１２で選択されたディレクトリに含まれる各ファイルのファイル名１１６Ａ〜１１６Ｄが表示される。ユーザは、マウスポインタ１１４を動かして所望のファイル名１１６Ａ〜１１６Ｄの中から１つまたは複数のファイル名１１６Ａ〜１１６Ｄを選び、その後ファイル操作ボタン群１１１内のいずれかのボタン１１Ａから１１１Ｆをクリックすることで、ファイルの操作を行うことができる。
【００４８】
ファイル操作ボタン群１１１のうち、作成ボタン１１１Ａ、移動ボタン１１１Ｂ、削除ボタン１１１Ｃ、コピーボタン１１１Ｄは従来から使用されているボタン群である。削除ボタン１１１Ｃをクリックすることによって、ファイル一覧１１３に表示されたファイル群の中から選択したファイルを削除することができる。もしディレクトリ一覧１１２で選択したディレクトリが、過去のスナップショットをマウント参照している場合、当該スナップショット中のそのファイルも削除される。いずれにしても、削除ボタン１１１Ｃをクリックすることにより削除されるのは、複数スナップショットのうち１つのスナップショット中のファイルのみである。
【００４９】
かかる構成に加えて本実施の形態のファイル一覧画面１１０の場合、ファイル操作ボタン群１１１には、一括削除ボタン１１１Ｅ及び選択削除ボタン１１１Ｆが設けられている。そしてファイル一覧画面１１０では、マウスポインタ１１４を動かして削除対象のファイルを選択し、一括削除ボタン１１１Ｅをクリックすることによって、すべてのスナップショットから削除対象の選択ファイルを削除することができる。
【００５０】
また、ファイル一覧画面１１０では、ファイル一覧１１３において削除対象のファイルを選択した後、選択削除ボタン１１１Ｆをクリックすることによって、図５に示すようなスナップショット選択画面１２０を表示させることができる。
【００５１】
スナップショット選択画面１２０は、削除対象のファイルを削除するスナップショットを選択するための画面であり、スナップショット一覧１２１を備える。そしてスナップショット一覧１２１には、削除対象のファイルが含まれるスナップショットのスナップショット名と、これらスナップショット名にそれぞれ対応させてチェックボックス１２２Ａ〜１２２Ｄとが表示される。かくしてユーザは、かかるチェックボックス１２２Ａ〜１２２Ｄの中から所望のスナップショットと対応付けられたチェックボックス１２２Ａ〜１２２Ｄにチェックマーク１２３を表示させることにより、そのスナップショットを削除対象のファイルを削除するスナップショットとして選択することができる。
【００５２】
また、スナップショット選択画面１２０には、全て選択ボタン１２４、選択解除ボタン１２５及び条件文ボタン１２６も表示される。そしてユーザは、これら全て選択ボタン１２４、選択解除ボタン１２５及び条件文ボタン１２６を用いることによって、削除対象のファイルを削除するスナップショットの選択を容易に行うことができる。
【００５３】
例えば、スナップショット選択画面１２０では、全て選択ボタン１２４をクリックすることによって、スナップショット一覧１２１にスナップショット名が表示されたすべてスナップショットを選択する（かかるすべてのチェックボックス１２２Ａ〜１２２Ｄ内にチェックマーク１２３を表示させる）ことができる。
【００５４】
またスナップショット選択画面１２０では、選択解除ボタン１２５をクリックすることによって、全スナップショットの選択を解除（チェックボックス１２２Ａ〜１２２Ｄ内に表示されたチェックマーク１２３をすべて消去）させることができる。
【００５５】
さらにスナップショット選択画面１２０では、条件文ボタン１２６をクリックすることによって、条件文を入力することができる。例えば、図３（Ｄ）について上述したコマンド８０におけるオプション部８２に格納する条件の文字列を入力できる。
【００５６】
そしてスナップショット選択画面１２０では、上述のようにして削除対象のファイルを削除すべきスナップショットを選択した後に、ＯＫボタン１２７をクリックすることによって、スナップショットの選択を確定することができる。このときスナップショット選択画面１２０において選択された各スナップショットからファイル一覧画面１１０において選択されたファイルを削除すべきコマンド（例えば図３（Ｃ）〜（Ｆ）に示すコマンド）が管理端末２５から計算機４に与えられる。
【００５７】
（１−４）本実施の形態によるファイル削除処理
図６は、管理端末２５から計算機４に対して図３（Ｃ）〜（Ｆ）のコマンド７０，８  ０，９０，１００が与えられた場合における制御装置１２の処理内容を示す。制御装  置１２は、メモリ１３に格納されたファイル完全削除プログラム２４Ａに従って、こ  の図６に示す第１のファイル削除処理を実行する。
【００５８】
すなわち制御装置１２は、かかるコマンド７０，８０，９０，１００が与えられると、まず、運用中のファイルシステム（以下、これを運用中ファイルシステムと呼ぶ）及び当該運用中ファイルシステムのすべてのスナップショットの中から処理対象とするファイルシステム又はスナップショット（以下、これを処理対象スナップショットと呼ぶ）を１つ選択する（ＳＰ１）。
【００５９】
続いて制御装置１２は、その処理対象スナップショットが、かかるコマンド７０，８０，９０，１００において削除対象として指定されたファイル（以下、これを指定ファイルと呼ぶ）を削除すべきスナップショット（以下、これをファイル削除対象スナップショットと呼ぶ）として選択されているか否かを判断する（ＳＰ２）。
【００６０】
そして制御装置１２は、この判断において否定結果を得るとステップＳＰ６に進む。これに対して制御装置１２は、ステップＳＰ２の判断において肯定結果を得ると、処理対象スナップショットをファイルシステムにマウントする（ＳＰ３）。なお、処理対象スナップショットが運用中ファイルシステムである場合には、この処理はスキップされる。
【００６１】
続いて制御装置１２は、処理対象スナップショット内の指定ファイルに無効データ（例えばオール「０」）を上書きする（ＳＰ４）。この際、上書きする無効データの内容や回数の標準的な方式として、上述した米国国家安全保障局（ＮＳＡ）が推奨する方式や米国国防総省規定（DoD5200.22-M）を利用することができる。
【００６２】
次いで制御装置１２は、指定ファイルのメタデータを参照不可能な状態に更新することにより、指定ファイルを処理対象スナップショット内から削除する（ＳＰ５）。かかるメタデータを参照不可能な状態に更新する方法としては、そのメタデータに無効データを上書きする方法などを適用することができる。
【００６３】
この後、制御装置１２は、運用中ファイルシステム及び関連するすべてのファイルシステムに対してステップＳＰ２からステップＳＰ５までの処理を実行し終えたか否かを判断する（ＳＰ６）。
【００６４】
制御装置１２は、この判断において否定結果を得るとステップＳＰ１に戻り、この後、ステップＳＰ１において選択する処理対象スナップショットを順次他の関連するスナップショット等に切り替えながら、同様の処理を繰り返す。
【００６５】
そして制御装置１２は、やがて運用中ファイルシステム及び関連するすべてのファイルシステムについて同様の処理を終えることによりステップＳＰ６において肯定結果を得ると、この第１のファイル削除処理を終了する。
【００６６】
なお、既存のファイルシステムの中には、図１について上述したコマンド５０が与えられた場合に、ファイルの管理情報であるメタデータだけを操作して削除済みの印をつけ、ファイルのデータそのものには変更を加えないものがある。
【００６７】
このような従来の方法によっても、これ以後は運用中ファイルシステムが指定ファイルを削除済みとして扱うので、運用中ファイルシステムを通して指定ファイルを参照しようとしても、参照できなくなる。以上のような方法によれば、メタデータを操作するだけでファイルを削除することができるため、ファイルの削除を高速に行える利点がある。
【００６８】
ただし、このような従来の方法には、ファイルシステムを通さずに記憶装置５上のデータを直接参照した場合に、削除したはずのファイル（指定ファイル）のデータが参照できてしまうという問題がある。
【００６９】
これを防ぐため、本実施の形態においては、ステップＳＰ４において、指定ファイルのデータを無効データで上書きすることで、当該データを確実に処理対象スナップショットから削除する。
【００７０】
（１−５）本実施の形態の効果
以上のように本実施の形態においては、指定ファイルのデータ及びそのメタデータの両方に変更を加えるため、削除前のデータが参照できないようにすることができる。なお、以下においては、このように削除前のデータが参照できなくすることを、以後ファイルの完全削除と呼ぶ。
【００７１】
そして本実施の形態によるファイル削除処理方式では、運用中ファイルシステム及び関連するスナップショットの連携が不要である。例えば、ステップＳＰ３におけるスナップショットのマウントは、スナップショット機構が備える機能であり、ステップＳＰ４やステップＳＰ５における指定ファイルのデータ上書きや削除は、ファイルシステムが備える機能である。よって両者の機能をそれぞれ独立に利用しているだけであり、汎用性の高い方式ということができる。
【００７２】
（２）第２の実施の形態
まず、引用文献１において開示されたＣＯＷ技術を利用したスナップショット機構について説明する。このスナップショット機構は、例えば図７に示すように、運用ボリューム１３０に格納されている運用中のファイルシステム（以下、これを運用中ファイルシステムと呼ぶ）について、複数のスナップショット（「200803」、「200804」及び「200805」）を作成することができる。そして作成された各スナップショットは、それぞれ異なる仮想的な論理ボリューム（以下、これを仮想ボリュームと呼ぶ）１３１〜１３３に対応付けられる。
【００７３】
仮想ボリューム１３１〜１３３において、スナップショットの作成初期時には、そのスナップショット内に存在する各ファイルのメタデータに記述されている対応するファイルのデータ位置は、いずれも運用ボリューム１３０内のそのファイルのデータ１４１Ａの格納位置である。ただし、この後、運用中ファイルシステムにおけるいずれかのファイルが更新されると、ＣＯＷ処理により、そのファイルの更新直前のデータ１４１Ｂが差分ボリューム１３４に退避され、その時点までに作成された各スナップショットとそれぞれ対応付けられた仮想ボリューム１３２，１３３内のそのファイルのメタデータ１４０Ａ〜１４０Ｄに記述されている当該ファイルのデータ位置が、差分ボリューム１３４に退避されたそのファイルのデータ１４１Ｂの格納位置に変更される。従って、図７は、「200804」というスナップショットの作成時から「200805」というスナップショットの作成時までの間に「file1」というファイルが更新されたときの状態を示している。
【００７４】
同様に、スナップショット間で共有するファイルの更新があったときにも、ＣＯＷ処理により、更新される前のファイルのデータが差分ボリューム１３４に退避される。例えば図７において、「200804」というスナップショット及び「200803」というスナップショットは、差分ボリューム１３４に格納された「file1」というファイルのデータを共有しているが、「200804」というスナップショット内の「file1」というファイルの更新が行われたたときには、更新前の「file1」というファイルのデータが差分ボリューム１３４にコピーされ、「200803」というスナップショット内の「file1」というファイルのメタデータ１４０Ｄに記述されている当該ファイルのデータ位置が、差分ボリューム１３４にコピーされた更新前の「file1」というファイルのデータ位置に更新される。
【００７５】
ところで、第１の実施の形態によるファイル削除処理方式によれば、計算機４に搭載されたスナップショット機構が以上のようなＣＯＷ技術を利用したスナップショット機構である場合においても、指定ファイルの完全削除を行うことができる。ただし、この場合、スナップショット機構上でのファイル削除処理の実行には以下の問題もある。
【００７６】
例えば、以前よりファイルシステム内に「file1」というファイル名のファイルが存在しているものとする。この場合、運用中ファイルシステム及び関連する各スナップショットは、それぞれ「file1」というファイルに対応するメタデータ１４０Ａ〜１４０Ｄを保持する。
【００７７】
そして「file1」というファイルが「200804」というスナップショットと、「200803」というスナップショットとの作成後に更新された場合、運用中ファイルシステムと「200805」というスナップショットとは、「file1」というファイルについて同一のデータ１４１Ａを参照することになる。よって、運用中ファイルシステム内のメタデータ１４０Ａに記述されている「file1」というファイルのデータ位置と、「200805」というスナップショット内のメタデータ１４０Ｂに記述されている当該ファイルのデータ位置とは、いずれも運用中ファイルシステムが保持する「file1」のデータであるデータ１４１Ａの格納位置となる。
【００７８】
一方、「200804」というスナップショットが保持するメタデータ１４０Ｃと、「200803」というスナップショットが保持するメタデータ１４０Ｄとにおける指定ファイルの参照先は、いずれも差分ボリューム１３４に退避された「file1」というファイルのデータ１４１Ｂである。
【００７９】
図８は、運用中ファイルシステム及び関連するすべてのスナップショットから「file1」というファイルを削除するために図６について上述したファイル削除処理を実行した結果を示す。このファイル削除処理において、制御装置１２は、運用中ファイルシステム、「200805」というスナップショット、「200804」というスナップショット及び「200803」というスナップショットの順でステップＳＰ１〜ステップＳＰ６のループ処理を行ったものとする。
【００８０】
この場合、図７のメタデータ１４０Ａ及び１４０Ｂでは、いずれも指定ファイルの参照先が運用ボリューム１３０に格納されているデータ１４１Ａであるため、運用中ファイルシステムに対する図６のステップＳＰ４の処理の実行時には、メタデータ１４０Ｂにおける指定ファイルの参照先のデータ１４１Ａが、ＣＯＷ機能により、差分ボリューム１３４内に退避される（図８のデータ１５０Ｃ）。そして図６のステップＳＰ４の処理により運用ボリューム１３０内のデータ１４１Ａは無効データで上書きされる（図８のデータ１５０Ａ）。さらに図６のステップＳＰ５の処理により、メタデータ１４０Ａは参照不可能な状態に更新される（図８のメタデータ１５１Ａ）。
【００８１】
次に、制御装置１２は、図６のステップＳＰ１〜ステップＳＰ６のループ処理を「200805」というスナップショットに対して行う。この場合ステップＳＰ４の処理において、メタデータ１４０Ｂにおいて指定ファイルの参照先のデータ１４１Ａは既に差分ボリューム１３４内に退避されており（図８のデータ１５０Ｃ）、処理対象スナップショット（「200805」というスナップショット）に対する図６のステップＳＰ４の処理では、上述したデータ１５０Ｃが無効データで上書きされる。そして図６のステップＳＰ５の処理により、メタデータ１４０Ｂは参照不可能な状態に更新される（図８のメタデータ１５１Ｂ）。
【００８２】
同様に、続けて制御装置１２はステップＳＰ１〜ステップＳＰ６のループ処理を、「200804」というスナップショットに対して行う。メタデータ１４０Ａ及びメタデータ１４０Ｄでは指定ファイルの参照先が差分ボリューム１３４に退避されているデータ１４１Ｂとなっているため、「200804」というスナップショットに対する図６のステップＳＰ４の処理の実行時には、メタデータ１４０Ｃにおける指定ファイルの参照先であるデータ１４１Ｂは、ＣＯＷ機能により、差分ボリューム１３４内に退避される（図８のデータ１５０Ｄ）。そして図６のステップＳＰ４の処理によりデータ１５０Ｄは無効データで上書きされる。さらに図６のステップＳＰ５の処理により、メタデータ１４０Ｃは参照不可能な状態に更新される（図８の１５１Ｃ）。
【００８３】
最後に、制御装置１２は図６のステップＳＰ１〜ステップＳＰ６のループ処理を「200803」というスナップショットに対して行う。「200804」というスナップショットに対するステップＳＰ４の処理の際にメタデータ１４０Ｂにおいて指定ファイルの参照先となっているデータ１５０Ｂは既に差分ボリューム１３４に退避されている（図８のデータ１５０Ｄ）。そして処理対象スナップショット（「200803」というスナップショット）に対する図６のステップＳＰ４の処理では、データ１４１Ｂはメタデータ１４０Ｄにおいてのみ指定ファイルの参照先となっていないため、ＣＯＷ機能によるコピー処理は行われず、データ１４１Ｂは無効データで上書きされる（図８のデータ１５０Ｂ）。そして図６のステップＳＰ５の処理により、メタデータ１４０Ｄは参照不可能な状態に更新される（図８のデータ１５１Ｄ）。
【００８４】
ここで、「file1」というファイル（指定ファイル）の削除前には、当該ファイルのデータとして、図７に示すように、運用ボリューム１３０内のデータ１４１Ａと、差分ボリューム１３４内のデータ１４１Ｂとだけが存在していた。しかし図６のファイル削除処理の実行後には、図８に示すように、差分ボリューム１３４内にさらにデータ１５０Ｃ及びデータ１５０Ｄが存在する。
【００８５】
ファイルの削除は不要な情報を消す処理であるにも関わらず、ＣＯＷ技術を利用するスナップショット機構に対して図６について上述した従来のファイル削除処理を適用することは、むしろ差分ボリューム１３４の容量を無駄に消費することになる。また、かかる適用は、ＣＯＷ機能によるデータのコピー処理や、各関連スナップショット内の指定ファイルに対して、それぞれ無効データで上書きを行うなど、完全削除のために時間を要する問題もある。
【００８６】
そこで本実施の形態では、ＣＯＷ技術を利用したスナップショット機構に対する別のファイル削除処理方式を提案する。図９Ａ及び図９Ｂに、ＣＯＷ技術を利用したスナップショット機構に対する本実施の形態によるファイル削除処理方式の処理手順を示す。制御装置１２は、この図９Ａ及び図９Ｂに示す第２のファイル削除処理を、メモリ１３（図１）に格納された第２の実施の形態によるファイル完全削除プログラム２４Ｂに基づいて実行する。
【００８７】
すなわち制御装置１２は、管理端末２５から図３（Ｃ）〜（Ｆ）について上述したコマンド７０，８０，９０，１００が与えられると、まず、運用中ファイルシステム及び関連するすべてのスナップショットのうち、指定ファイルを削除すべきスナップショット等として指定されたスナップショット等の中から１つのファイルシステム又はスナップショットを選択し、そのファイルシステム又はスナップショットをベーススナップショットに設定する（ＳＰ１０）。
【００８８】
ベーススナップショットの選択方法としては、例えばファイル削除対象スナップショットとして選択されたスナップショットの中から最新のものを選択する方法などが適用できる。運用中ファイルシステムがファイル削除対象スナップショットとして指定されている場合には、運用ファイルシステムをベーススナップショットとすることによって、ファイル削除処理の終了後に差分ボリュームの未使用領域を増やすことができる。
【００８９】
続いて制御装置１２は、運用中ファイルシステム及び関連するすべてのスナップショットの中から処理対象スナップショットを１つ選択し（ＳＰ１１）、この後、その処理対象スナップショットが、削除対象のファイル（以下、これを指定ファイルと呼ぶ）を削除すべきスナップショットとして選択されているか否かを判断する（ＳＰ１２）。この場合の判断手法としては、図６のステップＳＰ２について上述した判断手法を適用することができる。
【００９０】
制御装置１２は、この判断において否定結果を得るとステップＳＰ１７に進み、これに対して肯定結果を得ると、その処理対象スナップショットにおける指定ファイルのデータの格納位置が、ベーススナップショットにおける指定ファイルのデータの格納位置と同じ位置であるか否かを判断する（ＳＰ１３）。
【００９１】
例えば図７において、ベーススナップショットが運用ボリューム１３０に格納されている運用中ファイルシステムであり、現在の処理対象スナップショットが「200805」というスナップショットであるものとする。この場合、運用中ファイルシステム内のメタデータ１４０Ａにおける指定ファイルのデータ位置と、処理対象スナップショット内のメタデータ１４０Ｂにおける指定ファイルのデータ位置とは、いずれも運用ボリューム１３０に格納されているデータ１４１Ａの位置であるため、制御装置１２がステップＳＰ１３の判断において肯定結果を得ることになる。かくして制御装置１２は、ステップＳＰ１３の判断において肯定結果を得たときには、ステップＳＰ１７に進む。
【００９２】
これに対して、例えば図７において、ベーススナップショットが運用ボリューム１３０に格納されている運用中ファイルシステムであり、現在の処理対象スナップショットが「200804」というスナップショットであるものとする。この場合、運用中ファイルシステム内のメタデータ１４０Ａが指し示す指定ファイルのデータは運用ボリューム１３０に格納されているデータ１４１Ａであり、処理対象スナップショット内のメタデータ１４０Ｃが指し示す指定ファイルのデータは、差分ボリューム１３４に格納されているデータ１４１Ｂであるため、制御装置１２がステップＳＰ１３の判断において否定結果を得ることになる。
【００９３】
かくして制御装置１２は、ステップＳＰ１３の判断において否定結果を得たときには、処理対象スナップショットにおける指定ファイルのデータが他の関連スナップショットと共有されているか否かを確認する（ＳＰ１４）。
【００９４】
そして制御装置１２は、この判断において肯定結果を得るとステップＳＰ１６に進み、これに対して否定結果を得ると、処理対象スナップショット内の指定ファイルのデータを無効データで上書きした後、そのデータが格納されていた記憶領域を未使用領域として回収する（ＳＰ１５）。なお、指定ファイルのデータに上書きする無効データの内容や回数の標準的な方式としては、上述した米国国家安全保障局（ＮＳＡ）が推奨する方式や米国国防総省規定（DoD5200.22-M）を利用することができる。
【００９５】
続いて制御装置１２は、処理対象スナップショット内の指定ファイルのメタデータにおける当該指定ファイルのデータ位置を、ベーススナップショット内の指定ファイルのメタデータにおける当該指定ファイルのデータ位置に変更する（ＳＰ１６）。
【００９６】
この後、制御装置１２は、現在のファイルシステム及び関連するすべてのファイルシステムに対してステップＳＰ１１からステップＳＰ１６までの処理を実行し終えたか否かを判断する（ＳＰ１７）。
【００９７】
制御装置１２は、この判断において否定結果を得るとステップＳＰ１１に戻り、この後、ステップＳＰ１１において選択する処理対象スナップショットを順次他のスナップショット等に切り替えながら、同様の処理を繰り返す。
【００９８】
以上の処理により、すべてのファイル削除対象スナップショットについて、指定ファイルのメタデータにおける指定ファイルのデータ位置が、ベーススナップショット内の指定ファイルのメタデータにおける指定ファイルのデータ位置に変更される。また以上の処理により、ベーススナップショット内の指定ファイルのメタデータの参照先以外の指定ファイルのデータが運用ボリューム１３０や差分ボリューム１３４からすべて削除される。
【００９９】
そして制御装置１２は、やがて現在のファイルシステム及び関連するすべてのファイルシステムについて同様の処理を終えることによりステップＳＰ１６において肯定結果を得ると、ＣＯＷ処理を停止させる（ＳＰ１８）。なお、この際、制御装置１２は、スナップショット機構がファイル単位でのＣＯＷ機能を停止することができる場合には、指定ファイルだけについてＣＯＷ処理を停止させ、スナップショット機構がファイル単位でのＣＯＷ処理を停止することができない場合には、後述するステップＳＰ２６においてＣＯＷ処理を再開するまでの間、ホスト計算機２からのデータアクセスを受け付けないようにする。
【０１００】
続いて制御装置１２は、ステップＳＰ１０において設定したベーススナップショットをマウントし（ＳＰ１９）、この後、そのベーススナップショット内の指定ファイルのデータを無効データで上書きする（ＳＰ２０）。なお、ファイルシステム又はスナップショット機構が、指定ファイルのデータ上書きインタフェースを備える場合には、ステップＳＰ１９の処理を省略するようにしても良い。
【０１０１】
次いで制御装置１２は、運用中ファイルシステム及び関連するすべてのスナップショットの中から処理対象ファイルシステムを１つ選択し（ＳＰ２１）、その処理対象スナップショットが、指定ファイルを削除すべきスナップショットとして選択されているか否かを判断する（ＳＰ２２）。
【０１０２】
そして制御装置１２は、ステップＳＰ２２の判断において否定結果を得るとステップＳＰ２５に進む。これに対して制御装置１２は、ステップＳＰ２２の判断において肯定結果を得ると、処理対象スナップショットをファイルシステムにマウントする（ＳＰ２３）。なお、処理対象スナップショットが現在のファイルシステムである場合には、この処理はスキップされる。
【０１０３】
続いて制御装置１２は、指定ファイルのメタデータを処理対象スナップショットから削除することにより、指定ファイルを処理対象スナップショットから削除する（ＳＰ２４）。この場合におけるメタデータの削除方法としては、当該メタデータに無効なデータを上書きする方法などを採用することができる。
【０１０４】
この後、制御装置１２は、現在のファイルシステム及び関連するすべてのファイルシステムに対してステップＳＰ２１からステップＳＰ２４までの処理を実行し終えたか否かを判断する（ＳＰ２５）。
【０１０５】
制御装置１２は、この判断において否定結果を得るとステップＳＰ２１に戻り、この後、ステップＳＰ２１において選択する処理対象スナップショットを順次他の関連スナップショット等に切り替えながら、同様の処理を繰り返す。以上の処理により、すべてのファイル削除対象スナップショットにおいて、指定ファイルのメタデータが参照不可能な状態に更新される。
【０１０６】
そして制御装置１２は、やがて現在のファイルシステム及び関連するすべてのファイルシステムについて同様の処理を終えることによりステップＳＰ２５において肯定結果を得ると、ＣＯＷ処理を再開させる（ＳＰ２６）。ただし、このステップＳＰ２６の処理は、特許文献１のように、ファイルシステムとスナップショット機構とが独立している場合には必要であるが、特許文献２の様にファイルシステムがスナップショット機構を内包している場合には不要である。そして制御装置１２は、この後、この第２のファイル削除処理を終了する。
【０１０７】
図１０は、図７について上述した運用中ファイルシステム及び関連するスナップショットの運用例に対し、図９Ａ及び図９Ｂについて上述したファイル削除処理を実行した場合の処理結果例を示す。
【０１０８】
まず、図９ＡのステップＳＰ１０において制御装置１２がベーススナップショットとして運用中ファイルシステムを選択したものとする。
【０１０９】
「200805」というスナップショットを処理対象スナップショットとした場合、この処理対象スナップショット内のメタデータ１４０Ｂ（図７）における指定ファイルの参照先は、ベーススナップショット（運用中ファイルシステム）内のメタデータ１４０Ａにおける指定ファイルの参照先と同じデータ１４１Ａである。よって、このとき制御装置１２は、図９ＡのステップＳＰ１３において肯定結果を得るため、ステップＳＰ１４〜ステップＳＰ１６の処理を実行しない。
【０１１０】
次に、「200804」というスナップショットを処理対象スナップショットとした場合、この処理対象スナップショット内のメタデータ１４０Ｃにおける指定ファイルの参照先は、運用中ファイルシステム内のメタデータ１４０Ａにおける指定ファイルの参照先と同じデータ１４１Ａである。よって、このとき制御装置１２は、図９ＡのステップＳＰ１３において否定結果を得るため、図９ＡのステップＳＰ１４の判断を行う。
【０１１１】
ここで、処理対象スナップショット（「200804」というスナップショット）内のメタデータ１４０Ｃにおける指定ファイルの参照先と、「200803」というスナップショットに内のメタデータ１４０Ｄにおける指定ファイルの参照先は、いずれも差分ボリューム１３４に退避された同じデータ１４１Ｂである。よって、このとき制御装置１２は、図９ＡのステップＳＰ１４において肯定結果を得るためステップＳＰ１５を実行せず、続くステップＳＰ１６において、メタデータ１４０Ｃにおける指定ファイルの参照先を差分ボリューム１３４に退避された１４１Ｂから運用ボリューム１３０内に格納されたデータ１４１Ａに変更する。
【０１１２】
さらに、この後、「200803」というスナップショットを処理対象スナップショットとした場合、この処理対象スナップショット内のメタデータ１４０Ｄにおける指定ファイルの参照先は、運用中ファイルシステム内のメタデータ１４０Ａにおける指定ファイルの参照先であるデータ１４１Ａと異なるデータ１４１Ｂである。よって、このとき制御装置１２は、ステップＳＰ１３の判断において否定結果を得るため、ステップＳＰ４の判断を行なう。
【０１１３】
この場合、「200803」というスナップショットにおけるメタデータ１４０Ｃにおける指定ファイルの参照先は、差分ボリューム１３４内のデータ１４１Ｂから運用ボリューム１３０内のデータ１４１Ａに変更されているため、処理対象スナップショット（「200803」というスナップショット）内のメタデータ１４０Ｄにおける指定ファイルの参照先であるデータ１４１Ｂは、他のスナップショットや運用ファイルシステム内のメタデータ１４０Ａ〜１４０Ｃにおける指定ファイルの参照先と一致しない。
【０１１４】
かくしてこのとき制御装置１２は、図９ＡのステップＳＰ１５において、処理対象スナップショット内のメタデータ１４０Ｄにおける指定ファイルの参照先であるデータ１４１Ｂを無効データで上書きし、さらにこのデータ１４１Bが格納されていた記憶領域を未使用領域としてスナップショット機構に返却する。そして制御装置１２は続くステップＳＰ１６において、メタデータ１４０Ｄにおける指定ファイルの参照先を、ベーススナップショット（ここでは運用中ファイルシステム）内のメタデータ１４０Ａにおける指定ファイルの参照先（データ１４１Ａ）に変更する。この結果、差分ボリューム１３４に格納されていたデータ１４１Ｂは、図１０に示すように、いずれのメタデータ１４０Ａ〜１４０Ｄにおいても指定ファイルの参照先とされておらず、かつ無効データで上書きされた状態になる。
【０１１５】
次に、制御装置１２は図９ＢのステップＳＰ１８において、指定ファイルに対するＣＯＷ処理を停止する（スナップショット機構に指定ファイルに対するＣＯＷ処理を中止するよう命令する）。さらに制御装置１２は、ステップＳＰ１９において、ベーススナップショットとして選択した運用中ファイルシステムをマウントし、続くステップＳＰ２１において、ベーススナップショットである運用中ファイルシステム内のメタデータ１４０Ａにおいて削除ファイルの参照先として指定されたデータ１４１Ａを無効データで上書きする。このときデータ１４１Ａは、複数のスナップショットのメタデータ１４０Ａ〜１４０Ｄにおいて指定ファイルの参照先として設定されているが、ステップＳＰ１８においてＣＯＷ処理の停止が設定されているため、データ１４１Ａの退避は行われない。よって、運用ボリューム１３０内のデータ１４１ＡはステップＳＰ２０までの処理を行うと、図１０のようになる（データ１６１Ｂ）。
【０１１６】
この後、制御装置１２は、ステップＳＰ２１〜ステップＳＰ２５において、ファイル削除対象スナップショットを順次マウントし、そのファイル削除対象スナップショット内の対応するメタデータ１４０Ａ〜１４０Ｄを順次参照不可能な状態に更新する。ステップＳＰ２５までの処理を終えると、各ファイル削除対象スナップショット内のメタデータ１４０Ａ〜１４０Ｄは、図１０のようにすべて参照不可能な状態になる（メタデータ１６０Ａ〜１６０Ｄ）。そして制御装置１２は、最後にステップＳＰ２６におけるＣＯＷ再開処理を行い、ファイル削除処理を終了する。
【０１１７】
以上のように本実施の形態によるストレージシステム１では、ユーザに指定されたファイル削除対象スナップショットから指定ファイルを削除する際に、各ファイル削除対象スナップショット内の指定ファイルのメタデータ１４０Ａ〜１４０Ｄにおける参照先を、ベーススナップショット内のメタデータ１４０Ａにおける参照先に変更する。またこの後、その指定ファイルに対するＣＯＷ処理を停止し、ベーススナップショット内のメタデータ１４０Ａにおける参照先のデータ１４１Ａを無効データで上書きし、各削除対象スナップショット内の指定ファイルのメタデータ１４０Ａ〜１４０Ｄを参照不可能な状態に更新した後に、ＣＯＷ処理を再開する。
【０１１８】
そしてこのような本実施の形態によるファイル削除処理によれば、図１０からも明らかなように、指定ファイルのデータが差分ボリューム１３４に残存することがなく、また図１０のデータ１６１Ｂが格納されている記憶領域もスナップショット機構に返却されるため（図９ＡのステップＳＰ１５参照）、差分ボリューム１３４の浪費を未然に防止して記憶資源を有効活用することができる。
【０１１９】
また本実施の形態によるファイル削除処理では、ベーススナップショット内のメタデータ１４０Ａにおいて指定ファイルの参照先となっているデータ１４１Ａを無効データで上書きする際に、その指定ファイルに対するＣＯＷ処理を停止するため、無効データで上書きする回数を低減することができ、その分、ファイル削除処理に要する時間を短縮化することができる。
【０１２０】
（３）他の実施の形態
なお上述の第１及び第２の実施の形態においては、本発明を図１に示すように構成された計算機４に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成の情報処理装置に広く適用することができる。
【０１２１】
また上述の第１及び第２の実施の形態においては、運用ボリューム１３０（運用ファイルシステム）の更新可能なスナップショットを１又は複数作成するスナップショット作成部を、制御装置１２及びスナップショット管理プログラム２２により構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。
【０１２２】
さらに上述の第１及び第２の実施の形態においては、外部から与えられる指定ファイルの削除コマンドに応じて、運用ボリューム１３０（運用ファイルシステム）及びスナップショットの全部又は削除コマンドにおいて指定された一部から指定ファイルを削除するファイル削除部を制御装置１２及びファイル完全削除プログラム２４Ａ，２４Ｂにより構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。
【図面の簡単な説明】
【０１２３】
【図１】本実施の形態によるストレージシステムの全体構成を示すブロック図である。
【図２】スナップショット機構を備えたファイルシステムの運用例を示すブロック図である。
【図３】（Ａ）−（Ｆ）は、本実施の形態によるファイル削除コマンドの構成例を示す図である。
【図４】ファイル一覧画面の構成例を示す図である。
【図５】スナップショット選択画面の構成例を示す図である。
【図６】第１のファイル削除処理の処理手順を示すフローチャートである。
【図７】ファイルシステム及びスナップショットの運用例を示す概念図である。
【図８】第１のファイル削除処理後のファイルシステム及びスナップショットの運用例を示す概念図である。
【図９Ａ】第２のファイル削除処理の処理手順を示すフローチャートである。
【図９Ｂ】第２のファイル削除処理の処理手順を示すフローチャートである。
【図１０】第２のファイル削除処理後のファイルシステム及びスナップショットの運用例を示す概念図である。
【符号の説明】
【０１２４】
１……ストレージシステム、２……ホスト計算機、４……計算機、５……記憶装置、１２……制御装置、１３……メモリ、２４Ａ，２４Ｂ……ファイル完全削除プログラム、５０，６０，７０，８０，９０，１００……コマンド、１１０……ファイル一覧画面、１２０……スナップショット選択画面、１３０……運用ボリューム、１３１〜１３３……仮想ボリューム、１３４……差分ボリューム、１４０Ａ〜１４０Ｄ，１５１Ａ〜１５１Ｄ，１６０Ａ〜１６０Ｄ……メタデータ、１４１Ａ，１４１Ｂ，１５０Ａ〜１５０Ｄ，１６１Ａ，１６１Ｂ……データ。
【図１】
2010033374.tif 000003
【図２】
2010033374.tif 000004
【図３】
2010033374.tif 000005
【図４】
2010033374.tif 000006
【図５】
2010033374.tif 000007
【図６】
2010033374.tif 000008
【図７】
2010033374.tif 000009
【図８】
2010033374.tif 000010
【図９Ａ】
2010033374.tif 000011
【図９Ｂ】
2010033374.tif 000012
【図１０】
2010033374.tif 000013