JP5232406B2 - 情報処理装置及び方法 - Google Patents

情報処理装置及び方法 Download PDF

Info

Publication number
JP5232406B2
JP5232406B2 JP2007138931A JP2007138931A JP5232406B2 JP 5232406 B2 JP5232406 B2 JP 5232406B2 JP 2007138931 A JP2007138931 A JP 2007138931A JP 2007138931 A JP2007138931 A JP 2007138931A JP 5232406 B2 JP5232406 B2 JP 5232406B2
Authority
JP
Japan
Prior art keywords
file
directory
user
time
backed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007138931A
Other languages
English (en)
Other versions
JP2008293317A (ja
Inventor
悦太郎 赤川
陽介 石井
浩二 薗田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007138931A priority Critical patent/JP5232406B2/ja
Priority to US11/969,291 priority patent/US7921093B2/en
Publication of JP2008293317A publication Critical patent/JP2008293317A/ja
Application granted granted Critical
Publication of JP5232406B2 publication Critical patent/JP5232406B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージシステムにおける情報処理装置及び方法に関するものである。
従来、HTML(HyperText Markup Language)やワード(マイクロソフト社 登録商標)のリンク機能を用いて、他のユーザが公開しているファイルにリンクを張ったファイルを作成することが広く行われている。
このような他のファイルにリンクが張られたリンク元のファイルをバックアップした場合、そのリンク元のファイルをリストア(復元)したときに、リンク先のファイルに対してリンク元のファイルのバージョンが古くなってしまい、リンク元のファイルとリンク先のファイルとの間で不整合が発生することがある。例えばリンク元のファイルがコンパイラ、リンク先のファイルがソースコードであり、ソースプログラムのバージョン変更によりソースコードが変更されていた場合には、かかるコンパイラによってソースコードをコンパイルできないという事態が発生する。
かかる問題を解決するための方法として、ファイルシステム内のファイルをバックアップする際に、NDMP(Network Data Management Protocol)のtarコマンドや特許文献1に記載の技術を用いて、そのファイルに加えて他のユーザが公開しているファイルもバックアップしておくことが考えられる。
なお、tarコマンドは、ファイルをテープにバックアップする際に用いられる一般的なコマンドである。また特許文献1には、物理的な格納場所及び論理的な格納場所を別々に管理することで、利用者がファイルの格納先を意識することなくファイルを操作できる技術が開示されている。
特開2006−323999号公報
しかしながら、例えばクライアントのOS(Operation System)として広く用いられているWindous(マイクロソフト社 登録商標)には、ツリーを参照するときにアクセス権限のないファイルやディレクトリを隠蔽するABE(Access-Based Enumeration)という機能が搭載されている。このためかかるtarコマンドを用いる場合、アクセス権がないとディレクトリが隠蔽されてしまうため、公開されている他のユーザのファイルが隠蔽されたディレクトリ以下に存在する場合には、そのファイルをバックアップできないという問題があった。
またかかる特許文献1に記載の技術によると、論理的な格納場所を参照するユーザがあるファイルに別のファイルの論理的な格納場所を記述した場合、物理的な格納場所を参照するユーザプログラムでは別のファイルを参照できない問題がある。例えばプログラムソースのヘッダのインクードや、HTMLでの画像などが挙げられる。
本発明は以上の点を考慮してなされたもので、リストアしたファイルと他のファイルとの間の不整合の発生を防止して使い勝手を向上し得る情報処理装置及び方法を提案しようとするものである。
かかる課題を解決するため本発明においては、ユーザが利用可能な1又は複数のクライアントがネットワークを介してストレージ装置に接続されると共にCPU及びメモリを備え、前記クライアントからのファイルアクセス要求を受けてファイルアクセスサービスを提供するファイルサーバと、前記ネットワークに接続され、前記ストレージ装置に格納されたデータをバックアップ及びリストアするバックアップサーバと、を備え、前記ファイルサーバは、前記ファイルシステムを構成するファイル及びディレクトリのうち、ユーザに割り当てられた当該ユーザ個人の作業用のディレクトリに属するファイル及びディレクトリと、当該ユーザが参照可能な他のユーザが所有者であるファイル及びディレクトリとからなる仮想的なファイルシステムツリーでなる仮想ツリーを作成し、前記バックアップサーバは、前記仮想ツリーをバックアップし、前記ファイルサーバは、前記バックアップサーバによりバックアップされた前記仮想ツリーのうちユーザ操作に応じてリストア対象の仮想ツリーを指定するリストア要求があった際に、指定された仮想ツリーに属する各前記ファイル及び各前記ディレクトリの所有者がリストア対象とする仮想ツリーに対応するユーザであるか否かを判定し、当該判定結果に基づいて、前記ファイル又は前記ディレクトリの所有者が前記リストア対象とする仮想ツリーに対応するユーザでない場合に、バックアップされているファイル又はディレクトリの更新時刻及び又はバージョンと、前記リストア要求のあった時点における前記ファイルサーバのファイル又はディレクトリの更新時刻及び又はバージョンとを比較して、前記バックアップされているファイル又はディレクトリの更新時刻及び又はバージョンが新しいか否かを判定する判定部と、前記判定部の判定結果において、前記バックアップされているファイル又はディレクトリの更新時刻及び又はバージョンが前記リストア要求のあった時点における前記ファイルサーバのファイル又はディレクトリの更新時刻及び又はバージョンよりも古いときには、前記リストア要求のあった時点における前記バックアップされているファイル又はディレクトリを前記ユーザがアクセス可能な特殊なディレクトリ内に元の前記仮想ツリーのツリー構造を保ったまま新規にリストアするリストア部と、を備えることを特徴とする。
この結果、この情報処理装置では、そのユーザが所有権を有さないファイル及びディレクトリであって既に更新されているものについては、特殊なディレクトリ内に元のツリー構造を保ったままリストアされるため、リストア後の仮想ツリーにおいて、そのファイル又はディレクトリへのアクセス先をその特殊なディレクトリ内にリストアされたファイル又はディレクトリに切り替えることによって、ユーザが所有権を有するファイルと、他のユーザのファイルとの間で不整合が発生することを有効に防止することができる。
また本発明においては、ストレージシステムにおける情報処理方法であって、前記ストレージシステムは、ユーザが利用可能な1又は複数のクライアントがネットワークを介して接続されると共にCPU及びメモリを備え、前記クライアントからのファイルアクセス要求を受けてファイルアクセスサービスを提供するファイルサーバと、複数の記憶デバイスと所定数の前記記憶デバイスによって構成されるRAIDグループが提供する記憶領域にファイル及びディレクトリを格納するファイルシステムと前記クライアントからの要求に応じて前記複数の記憶デバイスを制御するCPU及びメモリを有するコントローラとから構成され、前記ファイルサーバに接続されるストレージ装置と、前記ネットワークに接続され、前記ストレージ装置に格納されたデータをバックアップ及びリストアするバックアップサーバと、を有し、前記バックアップサーバが、ファイルシステムを構成するファイル及びディレクトリのうち、ユーザに割り当てられた当該ユーザ個人の作業用のディレクトリに属するファイル及びディレクトリと、当該ユーザが参照可能な他のユーザが所有者であるファイル及びディレクトリとからなる仮想的なファイルシステムツリーでなる仮想ツリーをバックアップする第1のステップと、前記ファイルサーバのCPUが、前記バックアップされた前記仮想ツリーのうちユーザ操作に応じてリストア対象の仮想ツリーを指定するリストア要求があった際に、指定された仮想ツリーに属する各前記ファイル及び各前記ディレクトリの所有者がリストア対象とする仮想ツリーに対応するユーザであるか否かを判定する第2のステップと、前記ファイルサーバのCPUが、前記第2のステップの判定結果に基づいて、前記ファイル又は前記ディレクトリの所有者が前記リストア対象とする仮想ツリーに対応するユーザでない場合に、バックアップされているファイル又はディレクトリの更新時刻及び又はバージョンと、前記リストア要求のあった時点における前記ファイルサーバのファイル又はディレクトリの更新時刻及び又はバージョンとを比較して、前記バックアップされているファイル又はディレクトリの更新時刻及び又はバージョンが新しいか否かを判定する第3のステップと、前記ファイルサーバのCPUが、前記第3のステップの判定結果において、前記バックアップされているファイル又はディレクトリの更新時刻及び又はバージョンが前記リストア要求のあった時点における前記ファイルサーバのファイル又はディレクトリの更新時刻及び又はバージョンよりも古いときには、前記リストア要求のあった時点における前記バックアップされているファイル又はディレクトリを前記ユーザがアクセス可能な特殊なディレクトリ内に元の前記仮想ツリーのツリー構造を保ったまま新規にリストアする第4のステップと、を備えることを特徴とする。
この結果、この情報処理方法によれば、そのユーザが所有権を有さないファイル及びディレクトリであって既に更新されているものについては、特殊なディレクトリ内に元のツリー構造を保ったままリストアされるため、リストア後の仮想ツリーにおいて、そのファイル又はディレクトリへのアクセス先をその特殊なディレクトリ内にリストアされたファイル又はディレクトリに切り替えることによって、ユーザが所有権を有するファイルと、他のユーザのファイルとの間で不整合が発生することを有効に防止することができる。
本発明によれば、リストアしたファイルと他のファイルとの間の不整合の発生を防止して使い勝手を向上し得る情報処理装置及び方法を実現できる。
以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1−1)ストレージシステムの全体構成
図1において、1は全体として本実施の形態によるストレージシステムを示す。このストレージシステム1では、1又は複数のクライアント2がネットワーク3を介してファイルサーバ4と接続され、ファイルサーバ4にストレージ装置5が接続されている。またネットワーク3には管理計算機6及びバックアップサーバ7が接続され、バックアップサーバ5にはテープ装置8が接続されている。
クライアント2は、ユーザが利用し、ファイルサーバ4に対してファイルアクセスを要求する端末であり、パーソナルコンピュータ、ワークステーション又はメインフレームなどから構成される。このクライアント2は、図2に示すように、CPU(Central Processing Unit)10、メモリ11及びネットワークインタフェース12等の情報処理資源を備える。
メモリ11には、制御プログラムとしてのファイル共有クライアント13が格納されており、このファイル共有クライアント13をCPU10が実行することにより、クライアント2がストレージ装置5に格納されたファイルに対してアクセスすることができる。ネットワークインタフェース12は、クライアント2がネットワーク3を介してファイルサーバ4や管理計算機6と通信するためのインタフェースである。
ファイルサーバ4は、クライアント2からのファイルアクセス要求を受けてファイルアクセスサービスを提供するサーバであり、NFS(Network File System)サーバや、CIFS(Common Internet File System)サーバなどから構成される。ファイルサーバ4は、図1に示すようにネットワークインタフェース20、CPU21、メモリ22及びストレージインタフェース23を備え、ネットワークインタフェース20及びCPU21間、CPU21及びストレージインタフェース23間並びにCPU21及びメモリ22間がバス24を介して通信可能な状態に接続されている。
ネットワークインタフェース20及びストレージインタフェース23は、例えばSCSI(Small Computer System Interface)カードやLAN(Local Area Network)インタフェースカード、FC(Fibre channel)インタフェースカード等のネットワークインタフェースカードから構成され、ファイルサーバ4をクライアント2やストレージ装置5に接続するためのデータ入出力アダプタとして用いられる。
CPU21は、ファイルサーバ4全体の動作制御を司るプロセッサであり、メモリ22に格納された各種プログラムに基づいて、各種の制御処理を実行する。メモリ22は、主として各種プログラム及び各種管理テーブルを保持するために使用される。図3に示すように、後述する仮想ツリー提供プログラム30、ファイルシステム監視プログラム31及びバックアップエージェント32や、後述するユーザごとの仮想ツリーテーブル33(33A〜33n)及び位置変換テーブル34もこのメモリ22に格納される。
ストレージ装置5は、複数の記憶デバイス40と、これら記憶デバイス40を制御するコントローラ41とから構成される。
記憶デバイス40は、例えばFCディスク等の高価なディスクドライブや、SATA(Serial AT Attachment)ディスク若しくは光ディスクドライブ等の安価なディスクドライブ、又は半導体メモリなどから構成される。所定数(例えば4つ)の記憶デバイス40によって1つのRAID(Redundant Array of Inexpensive Disks)グループが構成され、1つのRAIDグループを構成する各記憶デバイス40が提供する記憶領域上に1又は複数の論理的なボリュームVOLが定義される。そして、このボリュームVOLにファイルシステム42のデータが格納される。
コントローラ41は、CPU及びメモリ等のハードウェア資源を備える。コントローラ41は、クライアント2からの要求に応じて、データをストレージ装置5内の指定されたボリュームVOLに読み書きするための制御処理を実行する。
管理計算機6は、ストレージシステム1を保守・管理するためのコンピュータ装置であり、パーソナルコンピュータ、ワークステーション又はメインフレームなどから構成される。この管理計算機5は、図4に示すように、CPU50、メモリ51、ネットワークインタフェース52及びディスプレイ53を備える。
メモリ51には制御プログラムとしての管理プログラム54が格納されており、CPU50がこの管理プログラム54を実行することにより、ストレージ装置5から必要な情報を収集し、収集した情報をディスプレイ53に表示したり、ストレージ装置5やファイルサーバ4に対して指定されたパラメータを設定するなどの処理を行う。ネットワークインタフェース52は、クライアント2のネットワークインタフェース12(図2)と同様のものである。ディスプレイ53は、例えばCRT(Cathode-Ray Tube)や液晶パネルなどから構成される。
バックアップサーバ7は、ストレージ装置5に格納されたデータを読み出してテープ装置8に装填された磁気テープにバックアップしたり、当該磁気テープにバックアップしたデータをストレージ装置5上にリストアするための制御処理を行うサーバであり、図5に示すように、CPU60、メモリ61、ネットワークインタフェース62及びデバイスインタフェース63等の情報処理資源を備えて構成される。
メモリ61には、制御プログラムとしてのバックアッププログラム64が格納されており、このバックアッププログラム64をCPU60が実行することにより、バックアップサーバ7全体として上述のようなバックアップ及びリストアに関する制御処理が行われる。ネットワークインタフェース62は、クライアント2のネットワークインタフェース12(図2)と同様のものであり、デバイスインタフェース63はテープ装置8との間でデータやコマンドを送受するためのインタフェースである。
テープ装置8は、磁気テープに対してデータを読み書きする記録再生装置であり、テープドライブ70、コントローラ71及びデバイスインタフェース72を備える。テープドライブ70は、コントローラ71の制御のもとに、装填された磁気テープにデータを記録再生したり、磁気テープを早送り又は巻戻しするためのドライブ機構である。コントローラ71は、CPU及びメモリ等の情報処理資源を備え、バックアップサーバ7からの指示に応じてテープドライブ70を駆動制御することにより、バックアップ対象又はリストア対象のデータを磁気テープに対して読み書きする。
図6は、ファイルシステム42(図1)の一般的な構造を示している。ファイルシステム42においてファイルは、ディレクトリと呼ばれる保管場所に収納される。ディレクトリには、ファイルだけでなく他のディレクトリも収納することができ、これによりディレクトリのツリー構造(階層構造)が形成される。このようなディレクトリのツリー構造において、最上位階層のディレクトリを「ルート(又はルートディレクトリ)」、各ユーザにそれぞれ割り当てられるそのユーザ個人の作業用のディレクトリを「ホームディレクトリ」と呼ぶ。ユーザは、ホームディレクトリ以下に自分のディレクトリ構造を構築することになる。
図7に示すように、ファイルシステム42では、ファイルやディレクトリのメタデータ84(84A〜84n)、ディレクトリエントリ85(85A〜85n)及びログは、それぞれメタデータ領域80、ディレクトリエントリ領域81、データ領域82及びログ領域83と呼ばれる記憶領域に格納されて一元管理される。
メタデータ84(84A〜84n)は、対応するファイル又はディレクトリの管理情報であり、ファイル及びディレクトリごとに作成される。各メタデータ84は、メタデータ番号、サイズ、ファイルタイプ、アクセス権、属性名及びポインタの各情報90A〜90Fから構成される。
メタデータ番号は、各メタデータ84に付与されるそのメタデータ84に固有の識別番号であり、サイズは、対応するファイル又はディレクトリのデータサイズを表す。またファイルタイプは、対応先がファイルである場合にそのファイルのタイプを表し、アクセス権は、そのファイル又はディレクトリについて設定されたアクセス権に関する情報を表す。さらに属性名は、対応するファイル又はディレクトリの所有者名を表し、ポインタは、データ領域82の中で対応先がファイルである場合におけるそのファイルのデータが格納された領域の先頭アドレスを表す。
またディレクトリエントリ85(85A〜85n)は、ファイルシステム42のツリー構造を管理するための管理情報であり、ディレクトリごとに作成される。各ディレクトリエントリ85は、そのディレクトリ内に存在するファイル及びディレクトリごとのメタデータ番号とファイル名又はディレクトリ名とから構成される。従って、このディレクトリエントリ85を参照することによって、どのディレクトリ内にどのようなファイルやディレクトリが存在するのかを認識することができ、これによりファイルシステム42全体としてのツリー構造を認識することができる。
なお、メタデータ84に含まれるアクセス権情報90Dの具体的な内容を図8に示す。この図8に示すように、かかるアクセス権情報90Dは、アクセス権が与えられたユーザのユーザ名を表すユーザ名情報90DXと、そのユーザに与えられたアクセス権の内容(「read」及び又は「write」)を表すアクセス権内容情報90DYとから構成される。この図8では、「user1」については閲覧のみが許可されており、「user2」や「user3」については閲覧に加えて更新も許可されていることが示されている。
(1−2)本実施の形態によるファイルシステム機能
(1−2−1)仮想ツリー作成機能
次に、ファイルサーバ4に搭載された本実施の形態によるファイルシステム機能について説明する。
本実施の形態によるファイルサーバ4には、ユーザごとにそのユーザに応じた仮想的なファイルシステムツリー(以下、これを仮想ツリーと呼ぶ)を提供し、その仮想ツリーの情報をバックアップ及びリストアするファイルシステム機能が搭載されている。
実際上、ファイルサーバ4は、かかるユーザごとの仮想ツリーを、以下のルールに従って作成し、そのユーザに提供する。
すなわちファイルサーバ4は、まず、 実際のファイルシステムツリーのうち、ルートディレクトリからそのとき対象としているユーザ(以下、これを対象ユーザと呼ぶ)のホームディレクトリまで及びホームディレクトリ以下のディレクトリ構造(ファイル名やディレクトリ名のみ)を仮想ツリーにコピーする。例えば実際のファイルシステムツリーが図9(A)のようなツリー構造を有する場合において、対象ユーザのホームディレクトリが「User1」であるときには、この段階におけるその対象ユーザの仮想ツリーは図9(B)において実線で示すような構造になる。
次に、ファイルサーバ4は、他のユーザのツリーを探索し、参照可能なファイルがあれば、そのファイルを上述のようにして作成した仮想ツリー(図9(B))に接続する。この際、ルートディレクトリからそのファイルまでのパス上に存在するディレクトリについても、アクセス権の有無に係りなく、仮想ツリー上に作成する。従って、図9(A)の例において、他のユーザの「File3」が公開されている場合、対象ユーザの仮想ツリーは図9(C)のような構造になる。そしてファイルサーバ4は、このようにして作成した仮想ツリーを対象ユーザにファイルシステムツリーとして提供する。
またファイルサーバ4は、このようにして作成した対象ユーザの仮想ツリーのツリー構造を、図10に示すような仮想ディレクトリエントリ33(33A〜33n)としてメモリ22(図1)に記憶し管理する。なお、この仮想ディレクトリエントリ33は、その仮想ツリーに対応するユーザのユーザ名でなる属性名が属性名情報92として付加されている点を除いて図7について上述したディレクトリエントリ85と同様の構成を有する。
図11は、このようなユーザごとの仮想ツリーの作成に関するファイルサーバ4のCPU21の具体的な処理内容を示すフローチャートである。
このストレージシステム1の場合、システム管理者が管理計算機6を操作してユーザを追加すると、その旨が管理計算機6からネットワーク3を介してファイルサーバ4に通知される。そしてファイルサーバ4のCPU21は、この通知を受信すると、メモリ22に格納されたファイルシステム監視プログラム31(図3)に基づいて、まず、追加されたユーザ(以下、これを追加ユーザと呼ぶ)のホームディレクトリとして指定されたディレクトリのディレクトリエントリ85(図7)をストレージ装置5から読み出すことにより取得する(SP1)。
続いてCPU21は、取得したディレクトリエントリ85をメモリ22にコピーするようにして、追加ユーザの仮想ディレクトリエントリ33を作成する(SP2)。これにより、追加ユーザのホームディレクトリ以下のツリー構造をコピーした仮想ツリーが作成される。この後CPU21は、その仮想ディレクトリエントリ33の属性名情報92(図10)として、追加ユーザのユーザ名を設定する(SP3)。
次いでCPU21は、ルートディレクトリを、ステップSP5以降の探索処理の対象とするディレクトリ(以下、これを探索ディレクトリと呼ぶ)に設定し(SP4)、この後、探索ディレクトリ内に存在するすべてのファイル及びディレクトリについて、ステップSP6の確認処理を終えたか否かを判断する(SP5)。
CPU21は、この判断において否定結果を得ると、探索ディレクトリ内の1つのファイル又はディレクトリを選択すると共に、選択したそのファイル又はディレクトリのメタデータ84(図7)をストレージ装置5から読み出し、このメタデータ84に基づいて、そのとき選択したものがファイルであるか否かを判断する(SP6)。
CPU21は、この判断において肯定結果を得ると、ストレージ装置5に格納されているそのファイルのメタデータ84のアクセス権限情報90D(図7)を読み出し、このアクセス権限情報90Dに基づいて、追加ユーザが当該ファイルを読み出す権限を有するか否かを判断する(SP7)。そしてCPU21は、この判断において肯定結果を得るとステップSP5に戻る。
これに対してCPU21は、かかるステップSP7の判断において否定結果を得ると、メモリ22に格納されている追加ユーザの仮想ディレクトリエントリ33(図10)から、そのファイルのメタデータ番号及びファイル名を削除し(SP8)、この後ステップSP5に戻る。このステップSP6及びステップSP7の処理は、そのときの探索ディレクトリ内に存在するすべてのファイルについて行なわれるため、やがて追加ユーザにアクセス権限がないファイルのメタデータ番号及びファイル名が仮想ディレクトリエントリ33からすべて削除されることになる。
一方、ステップSP6の判断において否定結果を得ることは、そのとき選択したものがディレクトリであることを意味する。かくして、このときCPU21は、探索ディレクトリをそのディレクトリに変更した後ステップSP5に戻り、この後ステップSP5において肯定結果を得るまで、同様の処理を繰り返す(SP5〜SP9−SP5)。
そしてCPU21は、やがてステップSP5において肯定結果を得ると、その追加ユーザの仮想ディレクトリエントリ33に基づいて、現在の探索ディレクトリがルートディレクトリであるか否かを判断する(SP10)。
CPU21は、この判断において否定結果を得ると、現在の探索ディレクトリの所有者が、対応する仮想ディレクトリエントリ33のユーザ名と一致するか否か、具体的には、探索ディレクトリに対応するメタデータ84の属性名情報90E(図7)に基づき認識されるユーザ名と、その仮想ディレクトリエントリ33の属性名情報92(図10)に基づき認識されるユーザ名とが一致するか否かを判断する(SP11)。
そしてCPU21は、この判断において肯定結果を得ると、探索ディレクトリを一つ上のディレクトリに変更し(SP14)、この後ステップSP5に戻る。これに対して、CPU21は、ステップSP11において否定結果を得ると、探索ディレクトリ内に他のディレクトリが存在するか否かを判断する(SP12)。
この判断において肯定結果を得ることは、かかる他のディレクトリ内又は当該他のディレクトリよりも下層のディレクトリ内に、追加ユーザがアクセス可能なディレクトリが存在する可能性があることを意味する。そして、追加ユーザがそのようなファイルにアクセスするためには、かかる他のディレクトリを残しておく必要がある。そこでCPU21は、かかるステップSP12の判断において肯定結果を得た場合には、探索ディレクトリを一つ上のディレクトリに変更し(SP14)、この後ステップSP5に戻る。
これに対してステップSP12の判断において否定結果を得ることは、かかる探索ディレクトリよりも下層に、追加ユーザがアクセス可能なディレクトリが存在する可能性がないことを意味する。そこでCPU21は、かかるステップSP12の判断にいて否定結果を得た場合には、かかる仮想ディレクトリエントリから現在の探索ディレクトリのメタデータ番号及びファイル名を削除した後(SP13)、探索ディレクトリを一つ上のディレクトリに変更し(SP14)、この後ステップSP5に戻る。
この結果、このようなステップSP5〜ステップSP14のループ処理によりルートディレクトリからそのユーザのホームディレクトリまでのすべてのディレクトリと、そのユーザのホームディレクトリ以下のすべてのディレクトリ及びファイルと、そのユーザが参照可能なすべてのファイルと、ルートディレクトリからそのファイルまでのディレクトリとに関する情報のみからなるそのユーザの仮想ツリーが作成される。
そしてCPU21は、やがてファイルシステム42内のすべてのファイルについてステップSP6及びステップSP7の判定処理を実行し終えることによりステップSP10において肯定結果を得ると、この仮想ツリー作成処理を終了する。
(1−2−2)仮想ツリー更新機能
一方、ファイルサーバ4は、この後、いずれかのユーザがファイルのアクセス権を変更したときや、ファイルを削除したときには、新たにアクセス権が付与されたユーザなど、かかるアクセス権の変更等に関係するユーザの仮想ツリーにこれを反映する。この結果、例えばあるユーザの作成直後の仮想ツリーのツリー構造が図9(B)であり、その後、他のユーザが「File3」を公開した場合には、かかるユーザの仮想ツリーは図9(C)のように更新される。
図13は、このようなファイルシステム42内のいずれかのファイルのアクセス権の変更に伴う該当ユーザの仮想ツリーの変更に関するCPU21の具体的な処理内容を示すフローチャートである。
CPU21は、いずれかのクライアント2から、そのクライアント2のユーザが所有権を有するファイルのアクセス権を変更すべきアクセス権変更要求が与えられると、ストレージ装置5に格納されているそのファイルのメタデータ84に含まれるアクセス権情報90D(図7)を、アクセス権変更要求において指定された内容に変更する。
またCPU21は、このようなアクセス権情報90Dの変更処理と並行して、ファイルシステム監視プログラム(図3)とそのとき与えられたアクセス権変更要求とに基づいて、まず、かかるアクセス権の変更によって影響を受けるユーザ(新たにアクセス権が付与されるユーザや、アクセス権が剥奪されるユーザなど)を特定する(SP20)。例えばCPU21は、アクセス権更新要求において、あるユーザに対して新たにアクセス権を付与することが指示されている場合や、あるユーザに付与されているアクセス権を剥奪することが指示されている場合、さらにあるユーザに付与されているアクセス権の内容を変更(例えば「read/write」から「read」に変更)することが指示されている場合などには、その「あるユーザ」を「影響を受けるユーザ」として特定する。
続いてCPU21は、ステップSP20において特定したすべてのユーザについて、ステップSP22について後述する仮想ツリーの変更処理を行ったか否かを判断する(SP21)。
CPU21は、この判断において否定結果を得ると、ステップSP20において特定したユーザのうちの1人のユーザについて、かかるアクセス権の変更によりそのユーザに新たにアクセス権が付与された場合には、そのファイルと、ルートディレクトリからそのファイルまでのディレクトリとをそのユーザの仮想ツリー上に作成した状態にそのユーザの仮想ディレクトリエントリ33を更新する。またCPU21は、かかるアクセス権の変更によりそのユーザのアクセス権が剥奪された場合には、そのファイルと、必要に応じてルートディレクトリからそのファイルまでのディレクトリとをそのユーザの仮想ツリーから削除した状態にそのユーザの仮想ディレクトリエントリ33を更新する(SP22)。
そしてCPU21は、この後同様の処理を繰り返し(SP21−SP22−SP21)、やがてステップSP20において特定したすべてのユーザについて、そのユーザの仮想ディレクトリエントリ33を更新し終えることによりステップSP21において肯定結果を得ると、この仮想ツリー更新処理を終了する。
(1−2−3)仮想ツリーバックアップ機能
このストレージシステム1では、ユーザ操作に応じてクライアント2からバックアップ対象の仮想ツリーを指定したバックアップ要求がバックアップサーバ7に送信される。
バックアップサーバ7のCPU60は、このバックアップ要求を受信すると、バックアッププログラム64に基づいて、ストレージ装置5に対して対応する仮想ツリーのバックアップを指示する。そしてこの指示を受けたストレージ装置5は、指定された仮想ツリーのデータ(対応する仮想ディレクトリエントリ33と、当該仮想ディレクトリエントリ33により構成される仮想ツリー内に存在する各ファイルのデータと、当該仮想ツリー内に存在する各ファイル及びディレクトリのメタデータ等)をファイルサーバ4を介してバックアップサーバ7に送信する。かくしてバックアップサーバ7のCPU60は、かかるデータを受信すると、このデータを磁気テープに記録するようテープ装置8を制御する。これにより指定された仮想ツリーのデータが磁気テープに記録される。
図14は、このような仮想ツリーのバックアップに関するファイルサーバ4のCPU21の具体的な処理内容を示すフローチャートである。
CPU21は、バックアップサーバ7から送信される仮想ツリーを指定したバックアップの実行指示を受信すると、バックアップエージェント32(図3)に基づいて、まず、メモリ22に格納されている指定された仮想ツリーの仮想ディレクトリエントリ33に基づいて、その仮想ツリーのルートディレクトリを探索ディレクトリに設定する(SP30)。
続いてCPU21は、現在の探索ディレクトリ内のすべてのファイル及びディレクトリについてステップSP32における確認処理をし終えたか否かを判断する(SP31)。そしてCPU21は、この判断において否定結果を得ると、探索ディレクトリ内の1つのファイル又はディレクトリを選択すると共に、選択したそのファイル又はディレクトリのメタデータ84(図7)をストレージ装置5から読み出し、このメタデータ84に基づいて、そのとき選択したものがファイルであるか否かを判断する(SP32)。
CPU21は、この判断において肯定結果を得ると、そのファイルのデータをストレージ装置5から読み出してバックアップサーバ7に送信する。この結果、このデータがバックアップサーバ7の制御のもとに、テープ装置8により磁気テープに記録されてバックアップされる(SP33)。
これに対してCPU21は、ステップSP32の判断において否定結果を得ると、ステップSP32において選択したディレクトリの仮想ディレクトリエントリ33のデータをバックアップサーバ7に送信する。この結果、このデータがバックアップサーバ7の制御のもとに、テープ装置8により磁気テープに記録されてバックアップされ、バックアップ先においてこのディレクトリが作成される(SP34)。
続いてCPU21は、探索ディレクトリをステップSP34においてバックアップしたディレクトリに変更し(SP35)、この後ステップSP31において肯定結果を得るまで、同様の処理を繰り返す(SP31〜SP35−SP31)。
そしてCPU21は、やがてステップSP31において肯定結果を得ると、現在の探索ディレクトリのメタデータ84をストレージ装置5から読み出し、このメタデータ84に基づいて、当該現在の探索ディレクトリがルートディレクトリであるか否かを判断する(SP36)。
CPU21は、この判断において否定結果を得ると、探索ディレクトリを現在の探索ディレクトリの1つ上層のディレクトリに変更した後(SP37)、ステップSP31に戻る。そしてCPU21は、この後ステップSP36において肯定結果を得るまで、同様の処理を繰り返す(SP31〜SP37−SP31)。
そしてCPU12は、やがてその仮想ツリー内のすべてのファイル及びディレクトリのバックアップを作成し終えることによりステップSP36において肯定結果を得ると、このバックアップ処理を終了する。
(1−2−4)仮想ツリーリストア機能
他方、このストレージシステム1では、ユーザ操作に応じてクライアント2からリストア対象の仮想ツリーを指定したリストア要求がバックアップサーバ7に送信される。
バックアップサーバ7のCPU60(図5)は、このリストア要求を受信すると、バックアッププログラム64(図5)に基づいてテープ装置8を制御することにより、指定された仮想ツリーのデータ(対応する仮想ディレクトリエントリ33と、当該仮想ディレクトリエントリ33により構成される仮想ツリー内に存在する各ファイルのデータ)を磁気テープから読み出し、これをそのリストア指示と共にファイルサーバ4に送信する。
そしてこのリストア指示を受信したファイルサーバ4は、指定された仮想ツリーの仮想ディレクトリエントリ33と、その仮想ツリー内に存在する各ファイルのデータとをメモリ22に格納すると共に、これらのデータに基づいてかかる仮想ツリーを以下のルールに従ってリストアする。
すなわち、ファイルサーバ4は、ホームディレクトリのファイルについては、ツリー構造を保ったまま通常通りリストアする。従って、図9(C)のようなツリー構造の仮想ツリーがバックアップされている場合において、対象ユーザのホームディレクトリが「user1」であるときには、「file1」及び「file2」については、通常通りにリストアする。
またファイルサーバ4は、そのバックアップデータに他のユーザのファイルが含まれる場合、当該ファイルを更新時刻及びバージョンを現在のそのファイルの更新時刻及びバージョンと比較し、これらが同じ場合にはそのファイルをリストアせずに処理を終了する。従って、図9(C)の例の場合、この仮想ツリーはそのツリー構造を保ったままリストアされることになる。
これに対してファイルサーバ4は、かかる更新時刻及びバージョンの少なくとも一方が異なる(現在のそのファイルのほうがバックアップ時のものよりも新しい)場合には、対象としているユーザのホームディレクトリに特殊なディレクトリ(以下、これをリストア用ディレクトリと呼ぶ)を作成し、かかるリストア要求があった時点のバックアップされているファイルを、ツリー構造を保ったまま、このリストア用ディレクトリにリストアする。従って図9(C)の例の場合、かかる他のユーザのファイルが「file3」であるものとすると、図9(D)に示すように、そのユーザのホームディレクトリに設けられた「.restor」というリストア用ディレクトリ内にかかる「file3」がそのツリー構造を保ったままリストアされることになる。
この際ファイルサーバ4は、リストア用ディレクトリにリストアしたファイルについては、そのファイルのパス名の先頭にリストア用ディレクトリのパス名を付加する。例えば図9(D)において、かかるリストア用ディレクトリに格納されたファイルの元のパス名が「/home/dep.3/user2/prod1/file3」であり、リストア用ディレクトリのパス名が「/home/dep.2/user1/.restor」であるものとすると、当該ファイルの新たなパス名は「/home/dep.2/user1/.restor /home/dep.3/user2/product1/file3」となる。そしてファイルサーバ4は、この後、そのファイルのメタデータ84のメタデータ番号と、そのファイルの元のパス名及びリストア用ディレクトリのパス名を付加した新たなパス名とを図15に示す位置変換テーブル100に対応付けて登録する。
またファイルサーバ4は、ファイルへのアクセス要求があったときには、常にこの位置変換テーブル100を参照して、そのファイルの新しいパス名が位置変換テーブル100に登録されているときには、その新しいパス名に従ってそのファイルにアクセスする。
図16及び図17は、このような仮想ツリーのリストアに関するファイルサーバ4のCPU21の具体的な処理内容を示すフローチャートである。
CPU21は、バックアップサーバから仮想ツリーのリストア指示と、その仮想ツリーの仮想ディレクトリエントリ33、当該仮想ツリー内に存在する各ファイルのデータ及び当該仮想ツリー内の各ファイル及び各ディレクトリのメタデータ84(図7)等が与えられると、バックアップエージェント32(図3)に基づいて、まず、バックアップサーバ7から送信されるリストア対象の仮想ツリーのデータに基づき認識されるその仮想ツリーのルートディレクトリを探索ディレクトリに設定する(SP40)。
続いてCPU21は、現在の探索ディレクトリ内のすべてのファイル及びディレクトリをリストアしたか否かを判断する(SP41)。CPU21は、この判断において否定結果を得ると、その探索ディレクトリ内に収納されたファイル及びディレクトリの所有者がそのときリストア対象としている仮想ツリーに対応するユーザであるか否かを判断する(SP42)。
そしてCPU21は、この判断において肯定結果を得るとステップSP46に進み、これに対して否定結果を得ると、バックアップに比べて現在のそのファイル又はディレクトリの更新時刻及びバージョンが新しいか否かを判断する(SP43)。
CPU21は、この判断において否定結果を得るとステップSP41に戻り、これに対して肯定結果を得ると、そのファイル又はディレクトリのパス名の先頭にリストア用ディレクトリのパス名でなる特殊パス名を付加する(SP44)。そしてCPU21は、この後リストア用ディレクトリ内にリストアしたファイル又はディレクトリのメタデータ番号を、そのファイル又はディレクトリの元のパス名及び当該元のパス名に特殊パス名を付加した新たなパス名と対応付けて位置変換テーブル100に登録する(SP45)。
続いてCPU21は、そのときのリストア対象がファイルであるか否かを判断し(SP46)、ファイルであるときにはリストア先にそのファイルが既に存在するか否かを判断する(SP47)。そしてCPU21は、この判断において否定結果を得ると、そのファイルをリストア用ディレクトリ内に新規にリストアし(SP48)、この後ステップSP41に戻る。
これに対してCPU21は、かかるステップSP47の判断において肯定結果を得ると、そのファイルのデータを既に存在するそのファイルのデータ上に上書きし(SP49)、この後ステップSP41に戻る。
一方、CPU21は、ステップSP46において否定結果を得ると、リストア先にそのディレクトリが既に存在するか否かを判断する(SP52)。そしてCPU21は、この判断において肯定結果を得るとステップSP54に進み、これに対して否定結果を得ると、そのディレクトリをリストアする(SP53)。そしてCPU21は、この後探索ディレクトリを当該ディレクトリに変更した後(SP54)、ステップSP41に戻る。
他方、CPU21は、ステップSP41において肯定結果を得ると、そのときの探索ディレクトリがルートディレクトリであるか否かを判断する(SP50)。そしてCPU21は、この判断において否定結果を得ると、探索ディレクトリを1つ上の階層のディレクトリに変更し(SP51)、この後ステップSP41に戻る。
これに対してCPU21は、ステップSP50の判断において肯定結果を得ると、そのユーザに対する新たな仮想ディレクトリエントリ33(図10)を作成し、これをメモリ22(図1)に格納する(SP55)。
そしてCPU21は、この後、位置変更テーブル100のすべてのエントリについて同様の処理を行ったか否かを判断し(SP56)、否定結果を得ると、位置変更テーブル100上の未だ処理を行っていないエントリのメタデータ番号に基づいて、そのときバックアップサーバ7から送信されてきたリストア対象の各ファイル及びディレクトリのメタデータの中から対応するメタデータを検索する(SP57)。
次いでCPU21は、検出したメタデータに含まれるポインタ情報90F(図7)の値を、データ領域82の中で位置変更テーブル100上の対応するエントリの「新たなパス名」の位置に存在するファイル又はディレクトリのデータが格納された領域の先頭アドレスに変更し(SP58)、この後ステップSP55に戻る。そしてCPU21は、この後位置変更テーブル100のすべてのエントリについて同様の処理を実行する(SP55〜58−SP55)。
そしてCPU21は、やがて位置変更テーブル100のすべてのエントリについて同様の処理を実行し終えることによりステップSP56において肯定結果を得ると、この仮想ツリーリストア処理を終了する。
(1−3)本実施の形態の効果
以上の構成によれば、物理的な位置を破壊することなく、他のユーザが公開しているファイルもバックアップすることができる。またそのユーザが所有権を有さないファイル及びディレクトリであって既に更新されているものについては、リストア用ディレクトリ内に元のツリー構造を保ったままリストアされるため、リストア後の仮想ツリーにおいて、ユーザが所有権を有するファイルが他のユーザが公開しているファイルにリンクが張られている場合においても、リストア後のそのユーザのファイルと他のユーザのファイルとの間で不整合が発生することを有効に防止することができ、使い勝手の良いストレージシステム1を構築することができる。
(2)第2の実施の形態
第1の実施の形態では、ファイルシステム42(図6)のデータをバックアップする際、予め作成した仮想ツリーのデータをバックアップしていた。これに対して第2の実施の形態では、ファイルシステム42のデータをバックアップする際に当該ファイルシステム42内に存在する各ファイルについて、ユーザにアクセス権限があるか否かを順次確認しながら、アクセス権限のあるファイルのデータをバックアップする。
図18は、このような第2の実施の形態による仮想ツリーバックアップ処理に関するファイルサーバ4のCPU21の具体的な処理内容を示すフローチャートである。
CPU21は、バックアップサーバ7から送信される仮想ツリーを指定したバックアップの実行指示を受信すると、メモリ22に格納されている第2の実施の形態によるバックアップエージェント110(図3)に基づいて、まず、ストレージ装置5に格納されているファイルシステム42の各ディレクトリエントリ85(図7)を読み出し、これらのディレクトリエントリ85に基づいて、ファイルシステムツリーのルートディレクトリを探索ディレクトリに設定する(SP60)。
続いてCPU21は、現在の探索ディレクトリ内のすべてのファイル及びディレクトリについてステップSP62における確認処理をし終えたか否かを判断する(SP61)。そしてCPU21は、この判断において否定結果を得ると、探索ディレクトリ内の1つのファイル又はディレクトリを選択すると共に、選択したそのファイル又はディレクトリのメタデータ84(図7)をストレージ装置5から読み出し、このメタデータ84に基づいて、そのとき選択したものがファイルであるか否かを判断する(SP62)。
CPU21は、この判断において否定結果を得ると、探索ディレクトリをステップSP62において選択したディレクトリに変更した後(SP67)、ステップSP61に戻る。
これに対してCPU21は、ステップSP62の判断において肯定結果を得ると、かかるメタデータ84に含まれるアクセス権情報90D(図7)に基づいて、対応するユーザがそのファイルに対して読取り権限を有するか否かを判断する(SP63)。
CPU21は、この判断において否定結果を得るとステップSP61に戻り、これに対して肯定結果を得ると、そのファイルの所有者がそのユーザであるか否かを判断する(SP64)。そしてCPU21は、この判断において肯定結果を得るとステップSP66に進み、これに対して否定結果を得ると、ルートディレクトリからそのファイルまでのパス上に存在するディレクトリのメタデータ番号及びディレクトリ名をバックアップサーバ7に送信する。かくしてバックアップサーバ7において、かかるルートディレクトリからそのファイルまでのパス上に存在するディレクトリのメタデータ番号及びディレクトリ名に基づいて仮想ディレクトリエントリ33(図10)が作成される(SP65)。
そしてCPU21は、この後、かかるファイルのデータをバックアップサーバ7に送信する(SP66)。この結果、このファイルのデータと、ステップSP65において作成された仮想ディレクトリエントリ33のデータとがテープ装置8により磁気テープに記録され、これにより当該ファイルのデータがバックアップされる。そしてCPU21は、この後ステップSP61に戻り、この後同様の処理を繰り返す(SP61〜SP66−SP61)。
一方、CPU21は、ステップSP61の判断において肯定結果を得ると、ストレージ装置5から読み出した各ディレクトリエントリに基づいて、探索ディレクトリがルートディレクトリであるか否かを判断する(SP68)。
CPU21は、この判断において否定結果を得ると、探索ディレクトリを1つ上の階層のディレクトリに変更する(SP69)。そしてCPU21は、この後、そのファイルシステム42に属するすべてのファイルについてステップSP62の判断を終えるまで同様の処理を繰り返す(SP61〜SP69−SP61)。
そしてCPU21は、やがてステップSP68において肯定結果を得ると、この第2の実施の形態による仮想ツリーバックアップ処理を終了する。
以上の構成によれば、ファイルシステム42のデータをバックアップする際に当該ファイルシステム42内に存在する各ファイルについて、ユーザにアクセス権限(読取り権限)があるか否かを順次確認しながら、アクセス権限のあるファイルのデータをバックアップするため、ユーザがアクセス権限を有するすべてのファイルを漏れなくバックアップすることができる。かくするにつき、第1の実施の形態における仮想ツリーと同様のツリーを作成してそのデータをバックアップすることができる。
(3)他の実施の形態
なお上述の実施の形態においては、本発明を図1のように構成されたストレージシステム1に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成のストレージシステムに広く適用することができる。
この場合において、本実施の形態においては、ファイルサーバ4を設け、このファイルサーバ4に本実施の形態によるファイルシステム機能を適用するようにした場合について述べたが、このファイルシステム機能をストレージ装置5に搭載するようにしても良い。
また上述の実施の形態においては、バックアップされた仮想ツリーをリストアする際に、当該仮想ツリーに属する各ファイル及び各ディレクトリの所有者を判定する判定部と、判定部の判定結果に基づいて、ファイル又はディレクトリの所有者がそのとき対象としているユーザでない場合に、バックアップされた当該ファイル又は当該ディレクトリの更新時刻及びバージョンと、現在の当該ファイル又は当該ディレクトリの更新時刻及びバージョンとを比較し、バックアップされたファイル又はディレクトリの更新時刻及びバージョンの少なくとも一方が現在のファイル又はディレクトリの更新時刻及び又はバージョンよりも古いときには、当該ファイル又は当該ディレクトリを対象とするユーザがアクセス可能な特殊なディレクトリ内に元の仮想ツリーのツリー構造を保ったままリストアするリストア部とを同じ1つのCPU21により構成するようにした場合について述べたが、本発明はこれに限らず、これら判定部及びリストア部を別体として構成するようにしても良い。
本発明は、ファイルシステム機能を有する種々の構成のストレージシステムに広く適用することができる。
第1の実施の形態によるストレージシステムの構成を示すブロック図である。 クライアントの概略構成を示すブロック図である。 ファイルサーバのメモリに格納された各種制御プログラム等の説明に供するブロック図である。 管理計算機の概略構成を示すブロック図である。 バックアップサーバ及びテープ装置の概略構成を示すブロック図である。 ファイルシステムの説明に供する概念図である。 ファイルシステムの説明に供する概念図である。 アクセス権情報の説明に供する概念図である。 (A)−(D)は、仮想ツリーの説明に供する概念図である。 仮想ディレクトリエントリの説明に供する概念図である。 仮想ツリー作成処理の説明に供するフローチャートである。 仮想ツリー作成処理の説明に供するフローチャートである。 仮想ツリー更新処理の説明に供するフローチャートである。 仮想ツリーバックアップ処理の説明に供するフローチャートである。 位置変更テーブルの説明に供する概念図である。 仮想ツリーリストア処理の説明に供するフローチャートである。 仮想ツリーリストア処理の説明に供するフローチャートである。 第2の実施の形態による仮想ツリーバックアップ処理の説明に供するフローチャートである。
符号の説明
1……ストレージシステム、2……クライアント、4……ファイルサーバ、5……ストレージ装置、7……バックアップサーバ、8……テープ装置、21……CPU、22……メモリ、30……仮想ツリー提供プログラム、31……ファイルシステム監視プログラム、32……バックアップエージェント、33、33A〜33n……仮想ディレクトリエントリ、34……位置変換テーブル、42……ファイルシステム、84……メタデータ、90A,91A……メタデータ番号情報、90D……アクセス権情報、85……ディレクトリエントリ。

Claims (11)

  1. ユーザが利用可能な1又は複数のクライアントがネットワークを介してストレージ装置に接続されると共にCPU及びメモリを備え、前記クライアントからのファイルアクセス要求を受けてファイルアクセスサービスを提供するファイルサーバと、
    前記ネットワークに接続され、前記ストレージ装置に格納されたデータをバックアップ及びリストアするバックアップサーバと、
    を備え、
    前記ファイルサーバは、前記ファイルシステムを構成するファイル及びディレクトリのうち、ユーザに割り当てられた当該ユーザ個人の作業用のディレクトリに属するファイル及びディレクトリと、当該ユーザが参照可能な他のユーザが所有者であるファイル及びディレクトリとからなる仮想的なファイルシステムツリーでなる仮想ツリーを作成し、
    前記バックアップサーバは、前記仮想ツリーをバックアップし、
    前記ファイルサーバは、
    前記バックアップサーバによりバックアップされた前記仮想ツリーのうちユーザ操作に応じてリストア対象の仮想ツリーを指定するリストア要求があった際に、指定された仮想ツリーに属する各前記ファイル及び各前記ディレクトリの所有者がリストア対象とする仮想ツリーに対応するユーザであるか否かを判定し、当該判定結果に基づいて、前記ファイル又は前記ディレクトリの所有者が前記リストア対象とする仮想ツリーに対応するユーザでない場合に、バックアップされているファイル又はディレクトリの更新時刻及び又はバージョンと、前記リストア要求のあった時点における前記ファイルサーバのファイル又はディレクトリの更新時刻及び又はバージョンとを比較して、前記バックアップされているファイル又はディレクトリの更新時刻及び又はバージョンが新しいか否かを判定する判定部と、
    前記判定部の判定結果において、前記バックアップされているファイル又はディレクトリの更新時刻及び又はバージョンが前記リストア要求のあった時点における前記ファイルサーバのファイル又はディレクトリの更新時刻及び又はバージョンよりも古いときには、前記リストア要求のあった時点における前記バックアップされているファイル又はディレクトリを前記ユーザがアクセス可能な特殊なディレクトリ内に元の前記仮想ツリーのツリー構造を保ったまま新規にリストアするリストア部と、
    を備えることを特徴とするストレージシステムにおける情報処理装置。
  2. 前記リストア部は、
    前記リストア要求のあった時点においてバックアップされているファイル又はディレクトリの更新時刻及び又はバージョンが前記リストア要求のあった時点における前記ファイルシステムを構成するファイル又はディレクトリの更新時刻及び又はバージョンよりも古いときには、当該リストア要求のあった時点における前記バックアップされているファイル又はディレクトリのパス名の先頭に前記特殊なディレクトリへのパス名を付加するようにして、当該リストア要求のあった時点における前記バックアップされているファイル又はディレクトリを前記ユーザがアクセス可能な特殊なディレクトリ内にリストアする、
    ことを特徴とする請求項1に記載のストレージシステムにおける情報処理装置。
  3. 前記特殊なディレクトリは、前記リストア要求を指定するユーザのホームディレクトリに予め設けられたディレクトリである、
    ことを特徴とする請求項1に記載のストレージシステムにおける情報処理装置。
  4. 前記ファイル又は前記ディレクトリの所有者が前記仮想ツリーに対応するユーザである場合には、
    前記リストア部は、前記リストア要求のあった時点における前記バックアップされているファイル又はディレクトリのデータを前記リストア先に既に存在するファイル又はディレクトリのデータ上に上書きする、
    ことを特徴とする請求項1に記載のストレージシステムにおける情報処理装置。
  5. 前記ファイル又は前記ディレクトリの所有者が前記仮想ツリーに対応するユーザでない場合であって、前記リストア要求のあった時点においてバックアップされているファイル又はディレクトリの更新時刻及び又はバージョンと、前記リストア要求のあった時点における前記ファイルサーバのファイル又は当該ディレクトリの更新時刻及び又はバージョンとが同じときには、
    前記リストア部は、前記バックアップされているファイル又はディレクトリについてなにもしない、
    ことを特徴とする請求項1に記載のストレージシステムにおける情報処理装置。
  6. 前記リストア部は、
    更新時刻及び又はバージョンが、前記リストア要求のあった時点の前記ファイルサーバのファイル又はディレクトリのものよりも前記リストア要求のあった時点においてバックアップされているものの方が古い前記ファイル及び前記ディレクトリを管理するテーブルを備える、
    ことを特徴とする請求項1に記載のストレージシステムにおける情報処理装置。
  7. ストレージシステムにおける情報処理方法であって、
    前記ストレージシステムは、
    ユーザが利用可能な1又は複数のクライアントがネットワークを介して接続されると共にCPU及びメモリを備え、前記クライアントからのファイルアクセス要求を受けてファイルアクセスサービスを提供するファイルサーバと、
    複数の記憶デバイスと所定数の前記記憶デバイスによって構成されるRAIDグループが提供する記憶領域にファイル及びディレクトリを格納するファイルシステムと前記クライアントからの要求に応じて前記複数の記憶デバイスを制御するCPU及びメモリを有するコントローラとから構成され、前記ファイルサーバに接続されるストレージ装置と、
    前記ネットワークに接続され、前記ストレージ装置に格納されたデータをバックアップ及びリストアするバックアップサーバと、
    を有し、
    前記バックアップサーバが、ファイルシステムを構成するファイル及びディレクトリのうち、ユーザに割り当てられた当該ユーザ個人の作業用のディレクトリに属するファイル及びディレクトリと、当該ユーザが参照可能な他のユーザが所有者であるファイル及びディレクトリとからなる仮想的なファイルシステムツリーでなる仮想ツリーをバックアップする第1のステップと、
    前記ファイルサーバのCPUが、前記バックアップされた前記仮想ツリーのうちユーザ操作に応じてリストア対象の仮想ツリーを指定するリストア要求があった際に、指定された仮想ツリーに属する各前記ファイル及び各前記ディレクトリの所有者がリストア対象とする仮想ツリーに対応するユーザであるか否かを判定する第2のステップと、
    前記ファイルサーバのCPUが、前記第2のステップの判定結果に基づいて、前記ファイル又は前記ディレクトリの所有者が前記リストア対象とする仮想ツリーに対応するユーザでない場合に、バックアップされているファイル又はディレクトリの更新時刻及び又はバージョンと、前記リストア要求のあった時点における前記ファイルサーバのファイル又はディレクトリの更新時刻及び又はバージョンとを比較して、前記バックアップされているファイル又はディレクトリの更新時刻及び又はバージョンが新しいか否かを判定する第3のステップと、
    前記ファイルサーバのCPUが、前記第3のステップの判定結果において、前記バックアップされているファイル又はディレクトリの更新時刻及び又はバージョンが前記リストア要求のあった時点における前記ファイルサーバのファイル又はディレクトリの更新時刻及び又はバージョンよりも古いときには、前記リストア要求のあった時点における前記バックアップされているファイル又はディレクトリを前記ユーザがアクセス可能な特殊なディレクトリ内に元の前記仮想ツリーのツリー構造を保ったまま新規にリストアする第4のステップと、
    を備えることを特徴とするストレージシステムにおける情報処理方法。
  8. 前記第4のステップでは、前記ファイルサーバのCPUが、
    前記リストア要求のあった時点においてバックアップされているファイル又はディレクトリの更新時刻及び又はバージョンが前記リストア要求のあった時点における前記ファイルサーバのファイル又はディレクトリの更新時刻及び又はバージョンよりも古いときには、当該リストア要求のあった時点における前記バックアップされているファイル又はディレクトリのパス名の先頭に前記特殊なディレクトリへのパス名を付加するようにして、当該リストア要求のあった時点における前記バックアップされているファイル又はディレクトリを前記ユーザがアクセス可能な特殊なディレクトリ内にリストアする、
    ことを特徴とする請求項7に記載のストレージシステムにおける情報処理方法。
  9. 前記特殊なディレクトリは、前記リストア要求を指定するユーザのホームディレクトリに予め設けられたディレクトリである、
    ことを特徴とする請求項7に記載のストレージシステムにおける情報処理方法。
  10. 前記第3のステップでは、前記ファイルサーバのCPUが、
    前記ファイル又は前記ディレクトリの所有者が前記仮想ツリーに対応するユーザである場合には、前記リストア要求のあった時点における前記バックアップされているファイル又はディレクトリのデータを前記リストア先に既に存在するファイル又はディレクトリのデータ上に上書きする、
    ことを特徴とする請求項7に記載のストレージシステムにおける情報処理方法。
  11. 前記第3のステップでは、前記ファイルサーバのCPUが、
    前記ファイル又は前記ディレクトリの所有者が前記仮想ツリーに対応するユーザでない場合であって、前記リストア要求のあった時点においてバックアップされているファイル又はディレクトリの更新時刻及び又はバージョンと、前記リストア要求のあった時点における前記ファイルサーバのファイル又は当該ディレクトリの更新時刻及び又はバージョンとが同じときには、前記バックアップされているファイル又はディレクトリについてなにもしない、
    ことを特徴とする請求項7に記載のストレージシステムにおける情報処理方法。
JP2007138931A 2007-05-25 2007-05-25 情報処理装置及び方法 Expired - Fee Related JP5232406B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007138931A JP5232406B2 (ja) 2007-05-25 2007-05-25 情報処理装置及び方法
US11/969,291 US7921093B2 (en) 2007-05-25 2008-01-04 Information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007138931A JP5232406B2 (ja) 2007-05-25 2007-05-25 情報処理装置及び方法

Publications (2)

Publication Number Publication Date
JP2008293317A JP2008293317A (ja) 2008-12-04
JP5232406B2 true JP5232406B2 (ja) 2013-07-10

Family

ID=40073394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007138931A Expired - Fee Related JP5232406B2 (ja) 2007-05-25 2007-05-25 情報処理装置及び方法

Country Status (2)

Country Link
US (1) US7921093B2 (ja)
JP (1) JP5232406B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452731B2 (en) * 2008-09-25 2013-05-28 Quest Software, Inc. Remote backup and restore
US9087066B2 (en) * 2009-04-24 2015-07-21 Swish Data Corporation Virtual disk from network shares and file servers
US9239840B1 (en) 2009-04-24 2016-01-19 Swish Data Corporation Backup media conversion via intelligent virtual appliance adapter
CN104166603A (zh) * 2014-08-15 2014-11-26 小米科技有限责任公司 数据备份方法及装置、电子设备
WO2016073029A1 (en) 2014-11-03 2016-05-12 Hewlett Packard Enterprise Development Lp Detecting inconsistencies in hierarchical organization directories
US10521405B2 (en) 2014-11-03 2019-12-31 Hewlett Packard Enterprise Development Lp Policy and configuration data for a user directory
KR20170091138A (ko) * 2014-12-09 2017-08-08 캐논 가부시끼가이샤 정보 처리 장치, 정보 처리 장치의 제어 방법, 정보 처리 시스템, 및 저장 매체
JP6977540B2 (ja) * 2017-12-21 2021-12-08 富士フイルムビジネスイノベーション株式会社 表示処理装置およびプログラム
US11237963B2 (en) * 2019-02-01 2022-02-01 Red Hat, Inc. Shared filesystem metadata caching
US11347694B2 (en) * 2019-07-26 2022-05-31 Cisco Technology, Inc. Efficient change block tracking in a distributed generation-id (GID) based log structured file system (LSFS)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150473A (en) * 1990-01-16 1992-09-22 Dantz Development Corporation Data storage format for addressable or sequential memory media
JPH05197607A (ja) * 1992-01-22 1993-08-06 Fuji Xerox Co Ltd ファイル退避復元装置
JPH11134234A (ja) * 1997-08-26 1999-05-21 Reliatec Ltd バックアップ・リストア方法およびその制御装置,並びにバックアップ・リストアプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004280463A (ja) * 2003-03-14 2004-10-07 Sharp Corp データ回復方法、回復プログラム、記録媒体および情報処理装置
JP4325524B2 (ja) * 2004-09-29 2009-09-02 日本電気株式会社 スイッチ装置とシステム並びにバックアップ及びリストア方法とプログラム
JP2006343901A (ja) * 2005-06-08 2006-12-21 Hitachi Ltd リストア支援システム
JP5011692B2 (ja) * 2005-09-21 2012-08-29 富士ゼロックス株式会社 バックアップリストアシステム、バックアップリストア方法、バックアップシステム、バックアップ方法
JP4213735B2 (ja) 2006-07-07 2009-01-21 パイオニア株式会社 光ピックアップ装置及び光ビーム出射制御方法等

Also Published As

Publication number Publication date
US7921093B2 (en) 2011-04-05
US20080294704A1 (en) 2008-11-27
JP2008293317A (ja) 2008-12-04

Similar Documents

Publication Publication Date Title
JP5232406B2 (ja) 情報処理装置及び方法
US7287045B2 (en) Backup method, storage system, and program for backup
US8135677B2 (en) File management system and method
JP4336129B2 (ja) 複数のスナップショットを管理するシステム及び方法
US8015441B2 (en) Verification of computer backup data
US7865473B2 (en) Generating and indicating incremental backup copies from virtual copies of a data set
US7523149B1 (en) System and method for continuous protection of working set data using a local independent staging device
US20080027998A1 (en) Method and apparatus of continuous data protection for NAS
JP2005031716A (ja) データバックアップの方法及び装置
US20100211547A1 (en) File sharing system, file server, and method for managing files
US20070027935A1 (en) Backing up source files in their native file formats to a target storage
US20060277226A1 (en) System and method for controlling storage of electronic files
JP4837378B2 (ja) データの改竄を防止する記憶装置
US20070168692A1 (en) Remote location failover server application
US7383465B1 (en) Undoable volume using write logging
US20120084272A1 (en) File system support for inert files
JP5984151B2 (ja) データの復旧方法、プログラムおよびデータ処理システム
WO2011145132A1 (en) Computing system and data management method
JP2003280964A (ja) スナップショット取得方法、ストレージシステム及びディスク装置
JP2005115948A (ja) ファイルをアーカイブするための方法、システム、およびプログラム
US20070214384A1 (en) Method for backing up data in a clustered file system
US8301602B1 (en) Detection of inconsistencies in a file system
JP2009519522A (ja) データ処理システム内でバックアップ・セットを生成するためのコンピュータ・プログラム、システム、および方法(特定の時点へのバックアップ・セットの生成)
US20070061540A1 (en) Data storage system using segmentable virtual volumes
US7290100B2 (en) Computer system for managing data transfer between storage sub-systems

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130325

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees