JP2008197745A - ストレージ仮想化システムにおける記憶制御装置 - Google Patents

ストレージ仮想化システムにおける記憶制御装置 Download PDF

Info

Publication number
JP2008197745A
JP2008197745A JP2007029658A JP2007029658A JP2008197745A JP 2008197745 A JP2008197745 A JP 2008197745A JP 2007029658 A JP2007029658 A JP 2007029658A JP 2007029658 A JP2007029658 A JP 2007029658A JP 2008197745 A JP2008197745 A JP 2008197745A
Authority
JP
Japan
Prior art keywords
storage control
nas
control device
backup
unit
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.)
Withdrawn
Application number
JP2007029658A
Other languages
English (en)
Inventor
信之 ▲雑▼賀
Nobuyuki Saiga
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 JP2007029658A priority Critical patent/JP2008197745A/ja
Priority to US12/007,162 priority patent/US20080195827A1/en
Publication of JP2008197745A publication Critical patent/JP2008197745A/ja
Withdrawn legal-status Critical Current

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
    • 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/1464Management of the backup or restore process for networked environments
    • 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/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/1456Hardware arrangements for backup
    • 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/1461Backup scheduling policy
    • 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units

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)

Abstract

【課題】ストレージ仮想化システムを構成する複数の記憶制御装置でのバックアップタイミングを同期させる。
【解決手段】仮想的な名前空間を提供するストレージ仮想化システムを構成する複数の記憶制御装置のうち、仮想的な名前空間の全部又は一部である特定の範囲に属するオブジェクト名に対応したオブジェクトを有する二以上の記憶制御装置の各々に、同一のバックアップタイミング情報を記憶させる。二以上の記憶制御装置の各々は、記憶されているバックアップタイミング情報が示すタイミングで、オブジェクトをバックアップする。
【選択図】図8

Description

本発明は、ストレージ仮想化技術に関する。
一般に、ストレージ仮想化技術(ストレージグリッドとも呼ばれる)が知られている。ストレージ仮想化技術に従う仮想化には、ファイルレベルでの仮想化と、ブロックレベルの仮想化とがある。ファイルレベルでの仮想化を行うための技術の一つとして、グローバルネームスペース技術がある。グローバルネームスペース技術によれば、複数のNAS(Network Attached Storage)装置のそれぞれに対応した複数のファイルシステムを1つの仮想的なファイルシステムとしてクライアント端末に見せることができる。
複数の記憶制御装置で構成された、ストレージ仮想化技術に従うシステム(以下、ストレージ仮想化システム)において、バックアップ(例えばスナップショット)を取得する際、それら全ての記憶制御装置に対して、バックアップ取得要求を送信する必要がある(例えば特許文献1)。
特開2006−99406号公報
ストレージ仮想化システムを構成する複数の記憶制御装置で、バックアップが実行されるタイミング(以下、バックアップタイミング)が異なることがある。言い換えれば、それら複数の記憶制御装置でバックアップタイミングの同期がとれないことがある。
第一の具体例としては、ストレージ仮想化システムを構成する全ての記憶制御装置が接続されているネットワークの状態やバックアップ取得要求の送信順序等によって、それら全ての記憶制御装置にバックアップ取得要求が届く時刻が異なることがある。このような問題は、ストレージ仮想化システムが大規模の場合には特に発生し易いと考えられる。
第二の具体例としては、スタンドアロンで運用されていた記憶制御装置をインクリメンタルにストレージ仮想化システムに組み入れた場合、その記憶制御装置が、例えば、バックアップ部(例えばバックアップを取得するコンピュータプログラム)を備えていない記憶制御装置、或いは、バックアップタイミングが異なる記憶制御装置であることがある。
以上のような場合、複数の記憶制御装置において、オブジェクトのバックアップが取得される時点が異なったり、オブジェクトのバックアップが行われなかったりする。このため、ストレージ仮想化システムにおける複数のオブジェクトを全て同じ時点の状態にリストアすることはできない。例えば、一つの仮想的な名前空間(典型的にはグローバルネームスペース)を提供するストレージ仮想化システムにおいて、仮に、何らかの方法で、ストレージ仮想化システムにおける複数のオブジェクトをリストアし、リストアされた複数のオブジェクトを一つの仮想的な名前空間でクライアントに提供したとしても、その仮想的な名前空間に表されている複数のオブジェクトの時点は、統一されていない。例えば、バックアップ取得時点の異なるファイル(例えば、1時間前の状態に戻ったファイルや1週間前に戻ったファイル)が一つの仮想的な名前空間に混在することになる。
従って、本発明の一つの目的は、ストレージ仮想化システムを構成する複数の記憶制御装置でのバックアップタイミングを同期させることにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
仮想的な名前空間を提供するストレージ仮想化システムを構成する複数の記憶制御装置のうち、仮想的な名前空間の全部又は一部である特定の範囲に属するオブジェクト名に対応したオブジェクトを有する二以上の記憶制御装置の各々に、同一のバックアップタイミング情報を記憶させる。二以上の記憶制御装置の各々は、バックアップ取得要求の受信に応答してバックアップを実行するのではなく、記憶されているバックアップタイミング情報が示すタイミングで、オブジェクトをバックアップする。
本発明の幾つかの実施形態を説明する。その幾つかの実施形態を詳細に説明する前に、概要を記載する。
仮想的な名前空間(例えばグローバルネームスペース)を提供するストレージ仮想化システムを構成する複数の記憶制御装置のうちの一つの記憶制御装置(以下、第一の記憶制御装置)に、記憶制御装置識別部と、バックアップタイミング同期部とを備える。記憶制御装置識別部が、仮想的な名前空間におけるどのオブジェクト名に対応したオブジェクトがストレージ仮想化システムのどこに格納されているかを表した情報である仮想化定義情報から、複数の記憶制御装置のうちの、仮想的な名前空間の全部又は一部である特定の範囲に属するオブジェクト名に対応したオブジェクトを有する二以上の他の記憶制御装置(以下、第二の記憶制御装置)を識別する。バックアップタイミング同期部が、オブジェクトをバックアップするタイミングを示す情報であるバックアップタイミング情報(例えば、第一の記憶制御装置が管理している第一の記憶領域に記憶されている情報)を、識別された二以上の第二の記憶制御装置に送信する。二以上の第二の記憶制御装置の各々は、自分が管理している第二の記憶領域に、受信したバックアップタイミング情報を記憶させる。二以上の第二の記憶制御装置の各々にあるバックアップ部は、第二の記憶領域に記憶されているバックアップタイミング情報が示すタイミングで、オブジェクトをバックアップする。
オブジェクトとしては、例えば、ファイル、ディレクトリ及びファイルシステムのうちの少なくとも一つとすることができる。
複数の記憶制御装置のうちの少なくとも一つは、スイッチ装置、ファイルサーバ、NAS装置、NAS装置と複数の記憶装置とで構成されたストレージシステムなど、種々の装置を採用することができる。
第一及び第二の記憶領域は、記憶制御装置が備える主記憶装置及び補助記憶装置のうちの少なくとも一方に存在しても良いし、記憶制御装置に接続された外部の記憶装置(例えばストレージシステム内の記憶資源)に存在してもよい。
一つの実施形態では、第一の記憶制御装置に、仮想化定義監視部が更に備えられる。仮想化定義監視部は、仮想化定義情報の更新の有無を監視し、更新有りの検出に応答して、更新前の仮想化定義情報と更新後の仮想化定義情報との差分に対応した処理を実行することができる。
この実施形態では、第一の記憶制御装置に、コンピュータプログラムであるチェック部を更に備えることができる。上記差分が、更新前の仮想化定義情報に含まれておらず更新後の仮想化定義情報に含まれている記憶制御装置IDである場合、つまり、ストレージ仮想化システムに新たに第二の記憶制御装置が追加された場合、仮想化定義監視部は、上記差分に対応した処理として、チェック部を、その記憶制御装置IDから識別される第二の記憶制御装置に送信することができる。送信先の第二の記憶制御装置のプロセッサでチェック部が実行されることにより、その第二の記憶制御装置にバックアップ部が備えられているか否かをチェックすることができる。
更に、この実施形態では、第一の記憶制御装置が、バックアップタイミング同期部とやり取りするコンピュータプログラムであるバックアップタイミング取得部と、チェック部からの所定の信号に応答してバックアップタイミング取得部を第二の記憶制御装置に送信する送信部とを更に備えることができる。チェック部は、所定の信号(例えば、そのチェック部を実行する第二の記憶制御装置のID)を第一の記憶制御装置に送信することで、バックアップタイミング取得部を受信することができる。第一の記憶制御装置において、送信部が、チェック部から所定の信号を受信したことに応答して、バックアップタイミング取得部を、その情報の送信元である第二の記憶制御装置に送信することができる。バックアップタイミング取得部は、その送信先の第二の記憶制御装置で実行されることで、第二の記憶領域に、第一の記憶制御装置から受信したバックアップタイミング情報を記憶させることができる。一方、チェック部は、上述のチェックの結果が、バックアップ部が第二の記憶制御装置に備えられていないという結果であれば、バックアップ部を備えた記憶制御装置に、そのチェック部を実行する第二の記憶制御装置が管理しているオブジェクトをマイグレーションし、そのオブジェクトのマイグレーション先に関する情報(例えば、マイグレーション先の記憶制御装置のID)、を、第一の記憶制御装置に送信することができる。この場合、チェック部は、マイグレーションの結果に関する情報(例えば、マイグレーションされた各オブジェクトについて、マイグレーション前のローカルパスと、マイグレーション後のローカルパス)も、仮想化定義監視部に送信しても良い。仮想化定義監視部は、受信した、マイグレーション先の記憶制御装置のIDと、マイグレーションの結果に関する情報とを用いて、仮想化定義情報を更新しても良い。なお、マイグレーション先の記憶制御装置は、第二の記憶制御装置であっても良いし、第一及び第二の記憶制御装置とは異なる予備の記憶制御装置であっても良い。
一つの実施形態では、バックアップタイミング同期部が、二以上の第二の記憶制御装置に存在する複数のオブジェクトのうちの、特定の相関関係のあるオブジェクトをそれぞれ有する第二の記憶制御装置に、バックアップタイミング情報を送信することができる。この場合、バックアップタイミング同期部は、バックアップタイミング情報に加えて、ユーザ所望のオブジェクトを示すIDも送信することができる。第二の記憶制御装置は、オブジェクトのIDとバックアップタイミング情報とをセットで第二の記憶領域に記憶させることができる。第二の記憶制御装置のバックアップ部は、その第二の記憶制御装置で管理されている複数のオブジェクトのうち、記憶されているオブジェクトIDに対応したオブジェクトを、記憶されているバックアップタイミング情報が示すタイミングで、バックアップすることができる。この実施形態では、例えば、新規に追加された第二の記憶制御装置が有するオブジェクトが、特定の相関関係のあるオブジェクトでは無い場合には、前述したチェック部はその第二の記憶制御装置に送信されなくて良い。
一つの実施形態では、バックアップ部は、受信したバックアップタイミング情報が示すタイミングで、オブジェクトをバックアップした場合に、バックアップされたオブジェクトであるバックアップオブジェクトと、そのバックアップを行った時点とを関連付けて記憶するよう構成されており、バックアップ時点を示す情報を含んだリストア要求を受信した場合、その情報が示すバックアップ時点が関連付けられているバックアップオブジェクトをリストアし、リストアされたバックアップオブジェクトへのアクセス先を表す情報を、バックアップ時点を示す情報の送信元に返答するよう構成されている。第一の記憶制御装置が、更に、リストア制御部を備えることができる。リストア制御部は、二以上の他の記憶制御装置に、バックアップ時点を示す情報を含んだリストア要求を送信し、それに応答して、それら二以上の他の記憶制御装置から、リストアされたバックアップオブジェクトへのアクセス先を表す情報を受信し、その情報に基づいて、仮想化定義情報を更新することができる。更新後の仮想化定義情報は、リストアされたバックアップオブジェクトを表すオブジェクト名が仮想的な名前空間に表され、そのオブジェクト名に対応したオブジェクトがストレージ仮想化システムのどこに格納されているかを表した情報(例えば、受信した、リストアされたバックアップオブジェクトへのアクセス先を表す情報)が含まれている。
上述した各部(例えば、バックアップ部、バックアップタイミング同期部、仮想化定義監視部、リストア制御部等)は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。また、ストレージデバイスは、物理的であっても論理的であっても良い。物理的なストレージデバイスとしては、例えば、ハードディスク、磁気ディスク、光ディスク、磁気テープ、或いは半導体メモリであっても良い。論理的なストレージデバイスとしては、論理ボリュームとすることができる。
以下、図面を参照して、本発明の幾つかの実施形態を詳細に説明する。その際、グローバルネームスペースを提供するストレージ仮想化システム(以下、GNSシステム)を例に採って説明することにする。
<第一の実施形態>。
図1は、本発明の第一の実施形態に係るコンピュータシステムの構成例を示す。
通信ネットワーク(例えばLAN(Local Area Network))102に、複数(又は一つ)のクライアント端末103と、管理端末104と、複数のNAS装置109とが接続されている。複数のNAS装置109の各々には、ファイルシステム106がマウントされる。ファイルシステム106は、その中でファイルを管理する機能ならびにアクセスするためのインタフェースを持つ。一つのファイルシステム106は、一つの論理ボリュームの一部又は全部を管理するためのものであっても良いし、複数の論理ボリュームを管理するためのものであっても良い。また、管理端末104とクライアント端末103が同じ装置であっても良い。この場合、クライアントユーザ(ファイルを利用するユーザ)と管理者とが同一人物であっても良い。
複数のNAS装置109によりGNSシステムが構築されている。複数のNAS装置109には、第一のNAS装置(以下、親NAS)と、第二のNAS装置(以下、子NAS)とが含まれている。親NASは、クライアント端末103に対し、一つの仮想的なファイルシステムとしてグローバルネームスペース101を提供する。子NASは、グローバルネームスペース101で表されているオブジェクト名に対応したオブジェクトを管理するファイルシステムを備える。以下、親NASのファイルシステムを「親ファイルシステム」と言い、子NASのファイルシステムを「子ファイルシステム」と言うことがある。複数のNAS装置109には、更に、予備のNAS装置が含まれていても良い。予備のNAS装置は、親NAS及び/又は子NASにとっての待機系のNAS装置とすることができる。
親ファイルシステムでは、例えば、GNS定義情報108が管理されている。GNS定義情報108は、親NAS内の記憶資源に記憶されても良い。GNS定義情報108は、どのようなグローバルパスが使用された場合にはどんなIDを有するNAS装置に対してどのようなローカルパスを使用するかの定義を表す情報である。具体的には、例えば、GNS定義情報108では、各グローバルパス毎に、NAS名と、ローカルパスとが対応付けられている。GNS定義情報108を、管理者が管理端末104を通じて更新することができる。なお、図示の例のGNS定義情報108において、グローバルパス及びローカルパスは、いずれも、ファイルシステムまでのパス(ファイルシステム名が終端となっているパス名)となっているが、より詳細なパス、例えば、ファイルシステム名(例えばFS3)を表す文字列の後に、更に、そのファイルシステム名に対応したファイルシステムで管理されているオブジェクト(例えばファイル)を表す文字列(例えばfile A)となっていても良い。
親NAS(NAS-00)は、GNS定義情報108に記録されている全てのグローバルパスを基に、図示のグローバルネームスペース(以下、GNS)101をクライアント端末103に提供することができる。クライアント端末103は、親NAS(NAS-00)にアクセスすることで,GNS101を参照することができる(例えば、Windows(登録商標)のエキスプローラでファイルやディレクトリを参照するのと同じような操作をすることにより、GNS101のビューを表示することができる)。
以下、クライアント端末103と親NASとのやり取りと、親NASと子NASとのやり取りとの流れを説明する。なお、ここで説明することは、論理的な流れであり、プロトコルでの仕様に即した詳細な流れの説明は、後に補足することにする。また、以下の説明では、GNS101でのツリーにおける各ノードを「ツリーノード」と呼ぶ。
例えば、GNS101において、/GNS-Root/Dir-01/FS2(つまりオブジェクト名(FS2))の直下にa.txtというオブジェクト名が位置するとする。また、オブジェクト名“a.txt”に対応したファイルが、子NAS(NAS-02)の子ファイルシステム(FS2)に含まれているとする。この場合、クライアント端末103が、ファイル“a.txt”を参照する場合、GNS101での第一のアクセスパス“/GNS-Root/Dir-01/FS2/a.txt”に従う参照要求(リードコマンド)を、親NAS(NAS-00)に送信する。親NAS(NAS-00)は、その参照要求の受信に応答して、第一のアクセスパスに含まれるグローバルパス“/GNS-Root/Dir-01/FS2”に対応したNAS名“NAS-02”及びローカルパス“/mnt/FS2”をGNS定義情報108から取得する。親NAS(NAS-00)は、第一のアクセスパス“/GNS-Root/Dir-01/FS2/a.txt”とグローバルパス“/GNS-Root/Dir-01/FS2”との差分“/a.txt”を、取得したローカルパス“/mnt/FS2”に結合することで、第二のアクセスパス“/mnt/FS2/a.txt”を準備する。親NAS(NAS-00)は、取得したNAS名“NAS-02”に対応する子NAS(NAS-02)に、第二のアクセスパス“/mnt/FS2/a.txt”に従って、参照要求を転送する。子NAS(NAS-02)は、第二のアクセスパスに従う参照要求を受信した場合、その参照要求に従うファイル“a.txt”を、子ファイルシステム(FS2)からリードして、リードしたファイル“a.txt”を、アクセス要求の転送元(親NAS(NAS-00))に送信する。また、子NAS(NAS-02)は、自分が保持するアクセスログ132に、参照要求の転送元のNAS名“NAS-00”を記録する。アクセスログ132は、NAS装置109内の記憶資源にあっても良いし、NAS装置109にマウントされているファイルシステムにあっても良い。親NAS(NAS-00)は、子NAS(NAS-02)から受信したファイル“a.txt”を、第一のアクセスパスに従う参照要求の送信元のクライアント端末103に送信する。
以上が、本実施形態に係るコンピュータシステムの概要である。
なお、上記説明において、親NAS(NAS-00)は、第一のアクセスパスに従う参照要求を受信した場合、第一のアクセスパス中のグローバルパスに対応するローカルパス及びNAS名(或いは、後述するオブジェクトID及びNAS名)を、クライアント端末103に送信しても良い。この場合、クライアント端末が、受信したローカルパスを含む第二のアクセスパスに従う参照要求を、受信したNAS名から識別されるNAS装置に送信しても良い。その際、クライアント端末は、ローカルパス等の通知元のNAS装置のNAS名を参照要求に含めて送信しても良い。その参照要求を受けたNAS装置は、アクセスログに、その参照要求に含まれているNAS名を記録しても良い。この記録されたNAS名が、実質的に、親NASのNAS名である。以上の説明は、参照要求が、更新要求(ライトコマンド)であっても、適用することができる。
また、図示の例では、GNS定義情報108に記録されるNAS名は、子NASの名称であるが、NAS名としては、子NASの名称に限らず、親NASの名称が記録されても良い。つまり、GNS101に表される複数のネームには、親ファイルシステム、親ファイルシステムで管理されているディレクトリ及びファイルのうちの少なくとも一つを表す名称が含まれても良い。
以下、本実施形態についてより詳細に説明する。
図27は、NAS装置とそれに接続されているストレージシステムとのそれぞれのハードウェア構成例を示す。
NAS装置109に、SAN(Storage Area Network)等の通信ネットワーク185、或いは、専用線を介して、ストレージシステム111が接続される。通信ネットワーク185に、複数のNAS109及び一以上のストレージシステム111が接続されても良い。この場合、複数のNAS装置109が、一つのストレージシステム111の異なる論理ボリュームにアクセスしても良い。ストレージシステム111が有する記憶資源(例えば一以上の論理ボリューム)が、ファイルシステムとしてNAS装置109にマウントされる。
ストレージシステム111には、複数の物理的な記憶装置(例えば、ハードディスクドライブ或いはフラッシュメモリデバイス等)308と、複数の物理的な記憶装置303へのアクセスを制御するコントローラ307とが備えられている。複数の物理的な記憶装置308が提供する記憶空間を基に、複数の論理ボリューム(論理的な記憶装置)が形成されている。コントローラ307は、CPUや、CPUの処理結果を一時的に記憶するキャッシュメモリ等を備えた装置である。コントローラ307は、NAS装置109(例えばその装置109における後述のデバイスドライバ)からブロック単位のアクセス要求を受信し、そのアクセス要求に従う論理ボリュームに対して、該アクセス要求に従うデータの書込み、或いはデータの読出しを行う。
NAS装置109は、CPU173、記憶資源177、I/F(インタフェース装置)181と、NIC(Network Interface Card)183とを備える。I/F181を通じて、ストレージシステム111との通信が行われる。NIC183を通じて、他のNAS装置109との通信が行われる。記憶資源177は、例えば、メモリ及びディスク装置の少なくとも一方で構成することができるが、それに限らず、他種の記憶媒体により構成されても良い。
記憶資源177には、複数のコンピュータプログラムが記憶されており、CPU173で、それらのコンピュータプログラムが実行される。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するCPUによって処理が行われるものとする。
図2Aは、親NASが有するコンピュータプログラムの一例を示す。
親NASは、ファイル共有プログラム201A、ファイルシステムプログラム205A、スケジュール通知プログラム204、スナップショット/リストアプログラム207A、デバイスドライバ209A、チェックプログラム211及びスケジュール変更監視サブプログラム213を有する。
例えば、ファイルシステムプログラム205A、スナップショット/リストアプログラム207A及びデバイスドライバ209Aにより、OS層(OSはOperating Systemの略)が構成される。ファイルシステムプログラム205Aは、マウントされたファイルシステムを制御するプログラムであり、上位層に対して、マウントされているファイルシステム、すなわち、階層構造化された論理ビュー(例えば、ディレクトリやファイルなどの階層構造を表すビュー)を提供することができる。また、ファイルシステムプログラム205Aは、これらのビューにおける論理的なデータ構造(例えばファイルやファイルへのパス)を物理的なデータ構造(例えば、ブロックレベルのデータやブロックレベルのアドレス)へ変換して、下位層とのI/O処理を実行する(例えば、ブロックデータのI/Oを要求する)ことができる。デバイスドライバ209Aは、ファイルシステムプログラム205Aから要求されたブロックI/Oを実行するプログラムである。スナップショット/リストアプログラム207Aは、ファイルシステムのある時点でのスタティックなイメージを保持したり、そのイメージをリストアしたりすることができる。スナップショットの取得単位としては、ファイルシステム全体に限らず、例えばファイルシステムの一部(例えば一以上のファイル)であっても良いが、本実施形態では、説明を分かり易くするために、一つのNAS装置で取得されるスナップショットは、一つのファイルシステムのスタティックなイメージであるとする。
ファイル共有プログラム201Aは、通信ネットワーク102に接続されるクライアント端末103にファイル共有プロトコル(例えば、NFS(Network File System)或いはCIFS(Common Internet File System))を提供し、複数のクライアント端末103の間でファイル共有機能を提供するものである。ファイル共有プログラム201Aは、クライアント端末103からファイル単位のアクセス要求を受付け、ファイルシステムプログラム205Aに対して、ファイル単位のアクセス(write / read)を要求する。また、ファイル共有プログラム201Aは、複数のNAS装置109を1つの仮想的なNAS装置として振舞うGNS機能も有する。
ファイル共有プログラム201Aは、GNS定義変更監視サブプログラム203を有する。GNS定義変更監視サブプログラム203は、GNS定義情報108を監視し、その結果、GNS定義情報108が更新されたことを検出した場合、所定の処理を実行する。GNS定義変更監視サブプログラム203については、後に詳述する。
スケジュール通知プログラム204は、親NASが管理している記憶領域(以下、親記憶領域)に記憶されているスケジュール情報を、子NASに通知することができる。具体的には、例えば、後述するように、子NASで実行されたスケジュール変更監視サブプログラム213が、親NASからスケジュール情報を取得する構成になっている場合、スケジュール通知プログラム204は、スケジュール変更監視サブプログラム213からの要求に応答して、親記憶領域に記憶されているスケジュール情報を、子NASで実行されているスケジュール変更監視サブプログラム213に送信することができる。この場合、そのスケジュール変更監視サブプログラム213は、その子NASで管理されている記憶領域(以下、子記憶領域)に、受信したスケジュール情報を記憶させることができる。親記憶領域は、親NASの記憶資源177上にあっても良いし、親NASの外の記憶資源(例えば親ファイルシステム)にあっても良い。同様に、子記憶領域は、子NASの記憶資源177に存在しても良いし、子NASの外の記憶資源(例えば子ファイルシステム)に存在しても良い。
チェックプログラム211及びスケジュール変更監視サブプログラム213は、子NASに送信され、子NASで実行されるプログラムである。チェックプログラム211は、送信先の子NASにスナップショット/リストアプログラム207Bが有るか否かをチェックする。スケジュール変更監視サブプログラム213は、親NASからスケジュール情報を取得する。これらのプログラムについての詳細は後に述べる。
図2Bは、子NASが有するコンピュータプログラムの一例を示す。
子NASは、ファイル共有プログラム201B、ファイルシステムプログラム205B、スナップショット/リストアプログラム207B及びデバイスドライバ209Bを有する。
ファイル共有プログラム201Bは、GNS機能と、GNS定義変更監視サブプログラム203とを有しておらず、他の機能に関しては、ファイル共有プログラム201Aと実質的に同じである。ファイルシステムプログラム205B、スナップショット/リストアプログラム207B及びデバイスドライバ209Bの各々については、ファイルシステムプログラム205A、スナップショット/リストアプログラム207A及びデバイスドライバ209Aの各々と実質的に同じである。
スナップショット/リストアプログラム207Bを有していない子NASもあり得る。親NASから子NASにダウンロードされ実行されるチェックプログラム211が、スナップショット/リストアプログラム207Bの有無をチェックする。
以下、スナップショット/リストアプログラム207Bによるスナップショット取得のためのCOW(Copy On Write)を説明する。その前に、ストレージシステム111にある論理ボリュームの種類を説明する。
図3Aは、ストレージシステム111にある複数種類の論理ボリュームを示す。
複数種類の論理ボリュームとして、プライマリボリューム110と、差分ボリューム121とがある。
プライマリボリューム110は、NAS装置109から送信されたアクセス要求に従って読み出されたり書込まれたりするデータが格納される論理ボリュームである。NAS装置109のファイルシステムプログラム205B(205A)が、ファイル共有プログラム209B(209A)からの要求に従い、プライマリボリューム110にアクセスする。
差分ボリューム121は、プライマリボリューム110が更新されときに、更新前の古いブロックデータの退避先となる論理ボリュームである。ファイルシステムプログラム205B(205A)には、プライマリボリューム110のファイルシステムがマウントされるが、差分ボリューム121のファイルシステムはマウントされない。
この場合、スナップショット/リストアプログラム207Bは、ファイルシステムプログラム205Bからプライマリボリューム110の或るブロックにブロックデータが書かれる場合、そのブロックに既に存在しているブロックデータを、差分ボリューム121に退避する。
図3Bは、スナップショット取得のためのCOWの一例を示す図である。
プライマリボリューム110に、例えば、ブロック番号1〜9にそれぞれ対応した9個のブロックがあり、時刻(t1)において、それら9個のブロックに、ブロックデータA〜Iが格納されているとする。この時刻(t1)が、スケジュール情報に従うスナップショット取得時点であるとする。スナップショット/リストアプログラム207Bは、例えば、時刻(t1)に関連付けたスナップショット管理情報を記憶資源(例えばメモリ)上に準備することができる。スナップショット管理情報としては、例えば、退避元のブロック番号と退避先のブロック番号とが書かれるエントリを含んだテーブルとすることができる。
この後の時刻(t2)において、ブロック番号1〜5に、新たにブロックデータa〜eが書かれる場合、スナップショット/リストアプログラム207Bにより、ブロック番号1〜5にある既存のブロックデータA〜Eが、差分ボリューム121に退避される。この動作が、一般にCOW (Copy On Write)と呼ばれる動作である。時刻(t1)の後に初めてプライマリボリューム110内のブロックが更新された場合、スナップショット/リストアプログラム207Bは、例えば、時刻(t1)に関連付けたスナップショット管理情報に、退避元のブロック番号と、そのブロック番号に対応した、退避先のブロック番号とを含めることができる。つまり、本実施形態において、スナップショットを取得するとは、その取得時点のプライマリボリューム110のイメージを、その取得時点を表す情報に関連付けて管理することである。
時刻(t2)の後に、スナップショット/リストアプログラム207B(207A)は、時刻(t1)のスナップショットのリストア(マウント)が要求された場合、その時刻(t1)に関連付けられているスナップショット管理情報を取得し、そのスナップショット管理情報に従って仮想ボリューム(スナップショット)を作成しファイルシステム205B(205A)に見せることができる。スナップショット/リストアプログラム207B(207A)は、デバイスドライバ経由でプライマリボリューム110と差分ボリューム121にアクセスし、これらを合成した仮想的な論理ボリューム(仮想ボリューム)を作成することができる。クライアント端末103は、ファイルシステム及びファイル共有機能経由で、仮想ボリューム(スナップショット)にアクセスすることができる(スナップショットへのアクセスについては後に詳述する)。
さて、本実施形態では、親NASの親記憶領域に記憶されているスケジュール情報が、各子NASに送信されて各子NASの子記憶領域に記憶され、各子NASでは、自分が管理する子記憶領域に記憶されているスケジュール情報に従う各時点で、スナップショットが取得される。
以下、親記憶領域に記憶されているスケジュール情報が子記憶領域に記憶されるまでの流れの一例を説明する。その際、親NASをNAS-00とし、子NASをNAS-01とする。
図4Aに示すように、親記憶領域に、スケジュール情報141として、2007/02/25/12/00/00と5hourとで構成された情報が記憶されるとする。5hour は、スナップショット取得の時間間隔(以下、スナップショット取得間隔)を示す情報要素である。2007/02/25/12/00/00は、その時間間隔の開始となる時点(例えば、少なくとも、このスケジュール情報141が記憶される日時よりも将来の時点)を示す情報要素である。すなわち、スケジュール情報141は、スナップショット取得間隔を表す情報要素とそのスナップショット取得間隔の開始時点(以下、「取得間隔開始時点」と言う)を表す情報要素とで構成される。このスケジュール情報に従う各時点が、スナップショット取得時点である。取得間隔開始時点は、年/月/日/時/分/秒と異なる形式で表されても良い。スケジュール情報は、スナップショット取得間隔を表す情報要素と取得間隔開始時点を表す情報要素との組み合わせに限らず、他種の構成、例えば、一以上のスナップショット取得時点を示す情報要素で構成されても良い。親記憶領域に記憶されるスケジュール情報141は、例えば、管理端末104から入力された情報である。
また、図4Aに示すように、子記憶領域に、親記憶領域に記憶されているスケジュール情報141と異なる、2007/02/24/11/00/00と8hourとで構成されたスケジュール情報141が、記憶されているとする。
親NAS(NAS-00)から、スケジュール変更監視サブプログラム213が、子NAS(NAS-01)にダウンロードされる。これにより、子NAS(NAS-01)のCPUで、スケジュール変更監視サブプログラム213を実行することができる。
図4Bに示すように、子NAS(NAS-01)におけるスケジュール変更監視サブプログラム213が、親記憶領域に記憶されているスケジュール情報141を親NAS(NAS-00)から取得する。具体的には、例えば、子NAS(NAS-01)におけるスケジュール変更監視サブプログラム213が、親NAS(NAS-00)におけるスケジュール通知プログラム204に、スケジュール情報141を要求し、スケジュール通知プログラム204が、その要求に応答して、親記憶領域に記憶されているスケジュール情報141を子NAS(NAS-01)に送信する。子NAS(NAS-01)におけるスケジュール変更監視サブプログラム213が、取得したスケジュール情報141を、子記憶領域に記憶されているスケジュール情報141に上書きする。これにより、子記憶領域に記憶されているスケジュール情報141の内容が、親記憶領域に記憶されているスケジュール情報141の内容と同じになる。つまり、親NAS(NAS-00)と子NAS(NAS-01)とのスナップショット取得タイミングが同期することになる。
スケジュール変更監視サブプログラム213は、定期的に(又は不定期的に)、親NAS(NAS-00)から、スケジュール情報141を取得し、子記憶領域に記憶させるよう構成されている。このため、もし、親記憶領域に記憶されているスケジュール情報141が例えば管理端末104から変更された場合には、子NAS(NAS-01)におけるスケジュール変更監視サブプログラム213により、親NAS(NAS-00)から変更後のスケジュール情報141が取得され、子記憶領域上のスケジュール情報141が、その変更後のスケジュール情報141に更新される。これにより、親NAS(NAS-00)でのスナップショット取得タイミングが変更されても、子NAS(NAS-01)でのスナップショット取得タイミングを親NAS(NAS-00)での変更後のスナップショット取得タイミングに同期させることができる。
なお、図4Cに示すように、スケジュール変更監視サブプログラム213が、親記憶領域に記憶されているスケジュール情報141の変更の有無を監視し、変更有りを検出した場合にのみ、親NAS(NAS-00)からスケジュール情報141を取得し、取得したスケジュール情報141を、子記憶領域に上書きしてもよい。
以下、本実施形態で行われる一つの処理の流れを説明する。
例えば、図5に示すように、GNSシステムが、5つのNAS装置(NAS-00〜NAS-04)で構成されているとする。親NAS(NAS-00)において、GNS定義変更監視サブプログラム203が、GNSシステムにNASが組み入れられたかどうかを監視している。具体的には、例えば、GNS定義情報108の変更の有無を監視している。
GNSシステムに子NAS(NAS-05)が追加されたとする。これは、NAS-05が単に通信ネットワーク102に接続されたということを意味するのではなく、GNS定義情報108に、NAS-05に関する情報が追加されたことを意味する。図示の例では、GNS定義情報108には、グローバルパス“/GNS-Root/Dir-02/FS5”と、NAS名“NAS-05”と、ローカルパス“/mnt/FS5”との情報要素セットが追加されている。この情報要素セットの追加、言い換えれば、GNS定義情報108の変更は、前述したように、管理端末104が行うことができる(管理端末104に代えて他種の計算機が行わっても良い)。
GNS定義変更監視サブプログラム203が、GNS定義情報108の変更の有無を監視しているので、上記情報要素セットの追加は、GNS定義変更監視サブプログラム203により検出される。GNS定義変更監視サブプログラム203は、GNS定義情報108に情報要素セットが追加されたことを検出した場合、その情報要素セット中のNAS名“NAS-05”に対応した子NAS(NAS-05)に、親NAS(NAS-00)からログインする(以下、この遠隔からのログインを「リモートログイン」と呼ぶ)。
子NAS(NAS-05)に対してリモートログインを完了した後、GNS定義変更監視サブプログラム203は、図6Aに示すように、チェックプログラム211を子NAS(NAS-05)にダウンロードする。これにより、子NAS(NAS-05)のCPUで、チェックプログラム211を実行することができる。
チェックプログラム211は、子NAS(NAS-05)にスナップショット/リストアプログラム207Bが有るか否かを判定する。その結果、スナップショット/リストアプログラム207Bが有るという判定結果になった場合、図6Bに示すように、チェックプログラム211は、親NAS(NAS-00)から、スケジュール変更監視サブプログラム213をダウンロードし、起動する。そして、図6Cに示すように、スケジュール変更監視サブプログラム213が、親NAS(NAS-00)から、スケジュール情報141を取得し、取得したスケジュール情報141を、子NAS(NAS-05)の子記憶領域に記憶させる。
以上の一連の流れにより、GNSシステムにインクリメンタルに追加された子NAS(NAS-05)でのスナップショット取得タイミングを、親NAS(NAS-00)のスナップ取得タイミングに同期させることができる。また、以上の一連の流れの結果、図7Aに示すように、全ての子NAS(NAS-01〜NAS-05)の各々におけるスケジュール変更監視サブプログラム211が、親NAS(NAS-00)からスケジュール情報141を取得するようになる。
なお、例えば、親NAS(NAS-00)に障害が発生した場合、親NAS(NAS-00)から別のNAS装置に対するフェイルオーバが実行される。別のNAS装置は、いずれかの子NASであっても良いし、予備のNAS装置であっても良い。フェイルオーバが実行された場合、フェイルオーバ先のNAS装置には、GNS定義情報108や、スケジュール情報141等が引き継がれる。スケジュール変更監視サブプログラム213は、子NASにおけるアクセスログを参照し、そのアクセスログから、GNS定義が有効なNAS装置(つまり、現在の親NAS)を識別し、そのNAS装置からスケジュール情報141を取得するよう構成されている。図7Bに例示するように、親NAS(NAS-00)から子NAS(NAS-01)へのフェイルオーバが行われた後、NAS-01が親NASとなる。そのため、NAS-01が、クライアント端末103からアクセス要求を受け付けて子NAS(NAS-02〜NAS-05)へ転送するようになり、それ故、子NAS(NAS-02〜NAS-05)において、アクセスログに記録される、アクセス要求の転送元のNAS名は、NAS-01を示す名前となる。この場合、スケジュール変更監視サブプログラム213は、子NASにおけるアクセスログから、GNS定義が有効なNAS装置(例えば、最近記録されたNAS名から識別されるNAS装置)としてNAS-01を識別する。このため、図7Bに示すように、NAS-00からNAS-01へのフェイルオーバ後は、子NAS(NAS-02〜NAS-05)は、NAS-01からスケジュール情報141を取得する。
以上が、本実施形態で行われる一つの処理の一例の概要である。以下、図8を参照して、GNS定義変更監視サブプログラム203、チェックプログラム211、スケジュール変更監視サブプログラム213のそれぞれによって実行される処理の流れの概要を説明する。
GNS定義変更監視サブプログラム203は、GNS定義情報108を参照し、GNS定義情報の変更の有無を判断する(ステップS1)。変更無しであれば、GNS定義変更監視サブプログラム203は、一定時間後に、再度ステップS1を実行する。
変更有りであれば、GNS定義変更監視サブプログラム203は、GNS定義情報108の変更有りに関わる子NAS(例えば、GNSシステムに追加された子NAS)に、リモートログインする(ステップS2)。そして、GNS定義変更監視サブプログラム203は、その子NASにチェックプログラム211を親NASからダウンロードし、チェックプログラム211を実行させる(ステップS3)。
その後、GNS定義変更監視サブプログラム203は、その子NASからログアウトする(ステップS5)。もし、GNS定義変更監視サブプログラム203は、ステップS3に応答して、移行先情報を子NASから受けたならば、その子NASからログアウトし、受けた移行先情報が表す移行先の子NASに、リモートログインし、上記ステップS3を実行する。
親NASから子NASにダウンロードされ実行されたチェックプログラム211は、その子NASにスナップショット/リストアプログラム207Bが有るか否かをチェックする(ステップS11)。無しの場合、チェックプログラム211は、この子NASにマウントされているファイルシステムを他NASに移行し、移行先を親NASへ通知し、終了となる。一方、有りの場合、チェックプログラム211は、スケジュール変更監視サブプログラム213を親NASからダウンロードする。その後、チェックプログラム211は、そのスケジュール変更監視サブプログラム213を起動する(ステップS11)。
起動されたスケジュール変更監視サブプログラム213は、子NASでのアクセスログから、GNS定義情報が有効なNAS装置を識別する(ステップS21)。そして、スケジュール変更監視サブプログラム213は、識別したNAS装置からスケジュール情報141を取得し、子記憶領域に記憶させる(ステップS22)。つまり、スナップショット取得タイミングを親NASでのスナップショット取得タイミングに同期させる。スケジュール変更監視サブプログラム213は、ステップS22の一定時間後に、再びステップS21を実行する。
以下、GNS定義変更監視サブプログラム203、チェックプログラム211、スケジュール変更監視サブプログラム213の各々が行う処理の詳細を説明する。
図9は、GNS定義変更監視サブプログラム203が行う処理のフローチャートを示す。以下の説明では、親NASが管理する一方の特定の記憶領域(以下、記憶領域A)に、最新のGNS定義情報108が記憶されており、親NASが管理する他方の特定の記憶領域(以下、記憶領域B)に、直前回にGNS定義変更監視サブプログラム203が参照したGNS定義情報108(以下、直前回のGNS定義情報108)が記憶されるものとする。
GNS定義変更監視サブプログラム203は、起動後、一定時間待ってから(ステップS51)、直前回のGNS定義情報108を記憶領域Bから検索する(ステップS52)。直前回のGNS定義情報108が見つかれば(ステップS53でYES)、ステップS55に進む。一方、直前回のGNS定義情報108が見つからなければ(ステップS53でNO)、GNS定義変更監視サブプログラム203は、記憶領域Aに記憶されている最新のGNS定義情報108を、直前回のGNS定義情報108として記憶領域Bに保存する(ステップS54)。その後、ステップS51に戻る。
ステップS55では、GNS定義変更監視サブプログラム203は、最新のGNS定義情報108と直前回のGNS定義情報とを比較し、差分を抽出する。その差分が、GNSシステムの構成要素としてのNAS装置が追加されたことに相当する差分(具体的には、新たなNAS名を含んだ情報要素セット)であれば(ステップS56でYES)、ステップS57に進み、一方、そのような差分でなければ、ステップS51に戻る。
ステップS57では、GNS定義変更監視サブプログラム203は、抽出した差分に含まれている一以上のNAS名を特定し、各NAS名に対応したNAS装置に対して、ステップS59〜ステップS65の処理を実行する(特定された全てのNAS装置に対してステップS59〜ステップS65が完了すれば、ステップS58でYESとなり、ステップS51に戻り、未完のNAS装置があれば、ステップS59〜ステップS65が行われる)。
ステップS59で、GNS定義変更監視サブプログラム203は、上記特定された一以上のNAS名のうち、このステップS59で未だ選択されていないNAS名を選択する。
そして、GNS定義変更監視サブプログラム203は、選択されたNAS名から識別されるNAS装置に対して、リモートログインを行う(ステップS60)。その後、GNS定義変更監視サブプログラム203は、リモートログイン先のNAS装置に、チェックプログラム211をダウンロードし実行させる(ステップS61)。
実行の結果、移行が発生した場合、具体的には、リモートログイン先のNAS装置から移行先情報を受信した場合(ステップS62でYES)、GNS定義変更監視サブプログラム203は、現在のログイン先NAS装置からログアウトし(ステップS63)、移行先情報から特定される移行先NASへリモートログインし(ステップS64)、ステップS61に戻る。一方、上記の実行の結果、移行が発生しなかった場合(ステップS62でNO)、GNS定義変更監視サブプログラム203は、現在のログイン先NAS装置からログアウトし(ステップS65)、ステップS58に戻る。
図10Aは、チェックプログラム211が行う処理のフローチャートを示す。
チェックプログラム211は、GNS定義変更監視サブプログラム203からの命令により起動する。子NASにおいて、チェックプログラム211は、その子NASにスナップショット/リストアプログラム207Bが有るか否かを判断する(ステップS71)。有るとの判断になれば、ステップS72に進み、無いとの判断になれば、ステップS74に進む。
ステップS72では、チェックプログラム211は、呼び出し元であるGNS定義変更監視サブプログラム203がある親NASから、スケジュール変更監視サブプログラムをダウンロードする。そして、ステップS73で、チェックプログラム211は、ダウンロードされたスケジュール変更監視サブプログラム213を起動する。
ステップS74では、チェックプログラム211は、GNSシステム内からスナップショット/リストアプログラム207Bを有するNAS装置(例えば子NAS)を選択する。具体的には、例えば、図10Bに例示する管理テーブル(GNSシステムを構成する各NAS装置毎にNAS名とスナップショット/リストアプログラムの有無とが記録されたテーブル)を、GNSシステムを構成する全てのNAS装置が保持し、チェックプログラム211は、その管理テーブルから、スナップショット/リストアプログラムを有するNAS装置を選択することができる。或いは、例えば、GNS定義情報108において、NAS名に、スナップショット/リストアプログラムの有無を表す情報要素を関連付けておき、チェックプログラム211は、親NASに、スナップショット/リストアプログラムを有するNAS装置を問合せ、親NASが、GNS定義情報108から、スナップショット/リストアプログラムを有するNAS装置を特定し、そのNAS装置のNAS名を、チェックプログラム211に回答し、回答されたNAS名に対応するNAS装置が、上記選択されたNAS装置であっても良い。
ステップS75で、チェックプログラム211は、自分を実行している子NASにマウントされているファイルシステムを、ステップS74で選択したNAS装置に移行する。ファイルシステムの移行について、子NAS(NAS-02)のファイルシステム(FS2)を子NAS(NAS-03)のファイルシステム(FS3)に移行することを例に採り説明する。子NAS(NAS-02)において、チェックプログラム211が、ファイルシステムプログラム205Bを通じて、ファイルシステム(FS2)をリードし(具体的には、例えば、そのファイルシステム(FS2)に含まれている全てのオブジェクトをリードし)、子NAS(NAS-03)に、そのファイルシステム(FS2)を転送し、そのファイルシステム(FS2)をマウントし且つ共有化することを命じる。子NAS(NAS-03)は、転送されて来たファイルシステム(FS2)を、ファイルシステムプログラム205Bを通じて、自分の管理下の論理ボリュームに格納し、そのファイルシステム(FS2)をマウントし、共有化する。これにより、ファイルシステム(FS2)の移行の完了となる。なお、それに代えて、例えば、複数のNAS装置109とストレージシステム111とが通信ネットワーク(例えばSAN)に接続されている場合には、チェックプログラム211は、子NAS(NAS-02)のファイルシステムプログラム205Bにファイルシステム(FS2)をアンマウントさせ、子NAS(NAS-03)のファイルシステムプログラム205Bにそのファイルシステム(FS2)をマウントさせることで、ファイルシステム(FS2)の子NAS(NAS-02)から子NAS(NAS-03)への移行を行っても良い。
ステップS76で、チェックプログラム211は、移行先情報(上記例では、NAS(NAS-03)にファイルシステム(FS2)を移行したことを表す情報)を、呼び出し元であるGNS定義変更監視サブプログラム203に通知する。
図10Cは、スケジュール変更監視サブプログラム213が行う処理のフローチャートを示す。
スケジュール変更監視サブプログラム213は、一定時間待った後(ステップS81)、アクセスログを参照し、現在有効な親NAS(GNS定義情報108を有し、アクセス要求を振り分けしているNAS)を特定する(ステップS82)。そして、スケジュール変更監視サブプログラム213は、その親NASから最新のスケジュール情報141(親記憶領域に現在記憶されているスケジュール情報141)を取得し(ステップS83)、取得したスケジュール情報141を、子記憶領域に記憶されているスケジュール情報141に上書きする(ステップS84)。その後、ステップS81に戻る。これにより、子NASでのスナップショット取得タイミングが親NASでのそれに同期される。
さて、GNSを構成するNAS装置間で同期させたタイミングで取得されたスナップショットをクライアント端末103が利用可能になるためには、スナップショットのリストア、具体的には、作成されたスナップショット(ファイルシステム)のマウントが必要となる。以下、スナップショットのマウントに関する説明を行う。
図25は、スナップショット/リストアプログラム207A(207B)における、スナップショットのマウントに関わるサブプログラムを示す。
そのようなサブプログラムとして、マウント要求受付サブプログラム651と、マウント共有設定サブプログラム653とがある。親NASでは、マウント要求受付サブプログラム651が実行され、子NASでは、マウント共有設定サブプログラム653が実行される。そのため、スナップショット/リストアプログラム207Aには、少なくともマウント要求受付サブプログラム651があれば良く、スナップショット/リストアプログラム207Bには、少なくともマウント共有設定サブプログラム653があれば良い。
図26は、マウント要求受付サブプログラム651が行う処理の流れと、マウント共有設定サブプログラム653が行う処理の流れとを示す。以下、この図26を主に使用し、図21〜図24を補助的に使用して、スナップショットのマウントが行われるまでの処理流れを説明する。
ステップS131では、図21に示すように、親NAS(NAS-00)において、マウント要求受付サブプログラム651が、スナップショットのリストア要求(マウント要求)を管理端末104から受け付ける。リストア要求には、GNSで定義されているディレクトリポイント(例えば、“/GNS-Root/Dir-01”のような、GNSのツリーの先頭から所望のツリーノードまでのパス)と、スナップショット取得時点(例えば、2006/12/19/15/00/00)を示す情報(以下、取得時点情報)とが含まれている。マウント要求受付サブプログラム651は、受けたリストア要求から、ディレクトリポイントと取得時点情報とを取得する。
ステップS132では、図22に示すように、マウント要求受付サブプログラム651が、取得したディレクトリポイントと最新のGNS定義情報108とを照合することで、リストア指定範囲を特定する。リストア指定範囲とは、そのディレクトリポイントが示すツリーノード(頂点)から末端のツリーノードまでの部分(ツリー範囲)である。マウント要求受付サブプログラム651は、リストア指定範囲に属するグローバルパス(ディレクトリポイントを通過するグローバルパス)に対応するNAS名及びローカルパスを特定する。
そして、特定された一以上のNAS名に対応する子NAS(NAS-01〜NAS-04)の全てについて、ステップS134〜ステップS136が行われる(ステップS133)。以下、子NAS(NAS-01)を例に採る。
ステップS134では、図23に示すように、マウント要求受付サブプログラム651は、特定された子NAS(NAS-01)のマウント共有設定サブプログラム653に、スナップショットをマウントすることとファイル共有を設定することとの要求(以下、「マウント共有要求」と言う)を送信する。マウント共有要求には、上記リストア要求中の取得時点情報が含まれる。そのマウント共有要求の受信に応答して、子NAS(NAS-01)のマウント共有設定サブプログラム653は、ステップS141〜ステップS143を実行する。
ステップS141では、図24に示すように、マウント共有設定サブプログラム653は、受信したマウント共有要求から取得時点情報を取得し、その取得時点情報が示すスナップショット取得時点に関連付けられているスナップショット管理情報を検索する。
ステップS142では、マウント共有設定サブプログラム653は、見つかったスナップショット管理情報を用いて、そのスナップショット取得時点のスナップショット(ファイルシステム)を作成し、作成したスナップショットをファイルシステムプログラム205Bにマウントする。
ステップS143では、マウント共有設定サブプログラム653は、マウントしたスナップショット(ファイルシステム)を共有化し(ファイル共有設定を行い)、そのスナップショットへのローカルパスを、親NAS(NAS-00)に返す。これにより、親NAS(NAS-00)で、ステップS135〜ステップS136が行われる。
ステップS135では、図24に示すように、マウント要求受付サブプログラム651は、最新のGNS定義情報108に、前述のリストア指定範囲のスナップショットを示すエントリ(グローバルパスとローカルパスとを含んだ情報要素セット)を追加する。以下、リストア指定範囲におけるファイルシステムが“FS”で表されるのに対し、リストア指定範囲のスナップショットにおけるファイルシステムを“SS”と表す。例えば、マウント要求受付サブプログラム651は、GNSの特定の位置(例えば、ルートディレクトリ(先頭ツリーノード)“GNS-Root”の直下)に、リストア指定範囲のスナップショットを追加する。マウント要求受付サブプログラム651は、リストア指定範囲におけるファイルシステム(例えばFS2)につき、対応するファイルシステム(例えばSS2)へのグローバルパスと、そのファイルシステムへのローカルパスと、そのローカルパスの通知元NASのNAS名(例えばNAS-02)とを含んだ情報要素セットを、最新のGNS定義情報108に追加する。
そのような情報要素セットが追加されたGNS定義情報108を基に、図24に例示するような、リストア指定範囲のスナップショットを含んだGNS101´がクライアント端末103に提供可能となり、クライアント端末103は、そのGNS101´におけるスナップショット内のファイルシステム(SS2〜SS4)にアクセスすることができる。なお、NFSプロトコルの場合、ステップS135の後に、ステップS136として、ファイル共有をマウントする処理(例えば、GNSをマウントする処理)が行われる。
以上が、第一の実施形態についての説明である。
なお、この第一の実施形態では、例えば、GNSシステムを構成する複数のNAS装置のうちの二以上のNAS装置(例えば全てのNAS装置)が、GNSを提供するようになっていても良い。これにより、一つのNAS装置にクライアント端末からのアクセス要求が集中してしまうことの回避が期待できる。この場合、親NASとは、スケジュール情報の発信元となるNAS装置であって、子NASとは、親NASからスケジュール情報を受けるNAS装置であっても良い。
また、この第一の実施形態では、具体的には、例えば、NFSプロトコルでは、オブジェクトID(例えばファイルハンドル)を指定したアクセス要求とすることができる。図28を参照して、グローバルパスを使用したアクセス要求についてと、GNSのバリエーションとの具体例を説明する。
例えば、親NASでは、擬似ファイルシステム661が用意されていて、その擬似ファイルシステム(GNSを構築するためのベースとなる仮想的なファイルシステム)におけるネームに、ローカルの共有範囲(一つのNAS装置での共有範囲)がマッピングされることで、一つのGNSが構築することができる。共有範囲とは、クライアントに対するオブジェクトの論理的な公開単位である。共有範囲は、ローカルのファイルシステムの全部又は一部であって良い。図28の例では、共有範囲として、親NAS(NAS-00)にマウントされているファイルシステム(FS0)の全部である共有範囲663と、子NAS(NAS-01)にマウントされているファイルシステム(FS1)の一部である共有範囲665とを示している。擬似ファイルシステム661におけるネーム“FS0”に、共有範囲663の頂点にあるネーム“root”がマッピングされ、擬似ファイルシステム661におけるネーム“Dir-01”に、共有範囲665の頂点にあるネーム“Dir-aa”がマッピングされることで、図示のGNSが構築される。
NFSプロトコルでは、クライアント端末は、ファイルなどのオブジェクトを識別するためのオブジェクトIDを使用し、リモートプロシージャコール(RPC)などのアプリケーションインターフェースを介してアクセスを行うようになっている。例えば、図示のGNSにおいて、クライアント端末103がネーム“File-B”に対応したオブジェクトにNFSプロトコルでアクセスする場合、例えば、以下の処理が行われる。クライアント端末103が、オブジェクト“File-B”までの第一のアクセスパスを指定した要求を送信し、最初にアクセス可能なオブジェクト“GNS-Root”のオブジェクトID(FH1)を親NAS(NAS-00)からの応答から取得する。また、オブジェクトID(FH1)をすでに取得しているオブジェクト“GNS-Root”の下位に配置されたオブジェクト“Dir-01”については、クライアント端末103は、すでに取得しているオブジェクトID(FH1)と、下位にあるオブジェクト“Dir-01”を指定した要求を送信し、その応答から、オブジェクト“Dir-01”に対応したオブジェクトID(FH2)を取得する。このようなやり取りを繰り返すことにより、最終的に、クライアント端末103は、オブジェクト“File-B”に対応したオブジェクトID(FH4)を取得することができる。その後、クライアント端末103は、オブジェクトID(FH4)を指定したアクセス要求を親NAS(NAS-00)に送信すれば、親NAS(NAS-00)は、そのアクセス要求中のオブジェクトID(FH4)に対応した、子NAS(NAS-01)のファイルシステム(FS1)内のオブジェクト“File-B”にアクセスするためのアクセス要求を、子NAS(NAS-01)に送信する。
上述した第一の実施形態によれば、親NASに設定されたスケジュール情報が、その親NASとGNSシステムを構成する他の全ての子NASに反映される。これにより、GNSシステムを構成する全てのNAS装置のスナップショット取得タイミングを同期させることができる。
また、第一の実施形態によれば、スケジュール情報の反映には、親NASがGNSを提供するためのGNS定義情報108が有効に利用される。例えば、GNSシステムの構成要素としてのNAS装置が新たに追加されたことが、GNS定義情報108の変更から検出され、変更後のGNS定義情報108から特定された、追加されたNAS装置に、スケジュール情報が送信される。
また、第一の実施形態によれば、スケジュール情報が親NASから子NASに送信される前に、親NASが、その子NASに、スナップショット/リストアプログラムの有無を判断するためのチェックプログラムを送信して実行させ、スナップショット/リストアプログラムが有る場合に、その子NASにスケジュール情報を送る。一方、スナップショット/リストアプログラムが無い場合には、チェックプログラムが、スナップショット/リストアプログラムが無いNAS装置からそのプログラムが有るNAS装置にファイルシステムを移行させた後に、親NASが、移行先のNAS装置に、スケジュール情報を送る。これにより、GNSに表されている全てのファイルシステムについて、必ずスナップショットが取得されているので、過去の或る時点のリストア指定範囲を正確にリストアすることができる。
<第二の実施形態>。
以下、本発明の第二の実施形態を説明する。その際、第一の実施形態との相違点を主に説明し、第一の実施形態との相違点については説明を省略或いは簡略する。
この第二の実施形態では、GNSのうちの相関のあるオブジェクトについて、スナップショット取得タイミングを同期させることができる。
例えば、図13Aに示すように、親NASに、クライアント端末103からのアクセス要求を子NASに転送しそれに伴い所定種類の情報を転送ログに記録するアクセス要求処理プログラム971と、管理者所望の一以上のオブジェクトについてのスケジュール情報を受け付けるスケジュール受付プログラム973とが備えられる。スケジュール受付プログラム973は、特定された複数のオブジェクトの各々間の相関度を計算する相関度計算サブプログラム975を有する。
図11に示すように、親NAS(NAS-00)のスケジュール受付プログラム973は、管理端末104からの要求に応答して、GSN定義情報108に基づき、GNS101を示すビュー(以下、GNSビュー)を表示させ、管理者所望のディレクトリポイントを受け付ける。ここでは、管理端末104の入力装置(例えばマウス)が操作されたことにより、GNSのビューにおいて、ツリーノード “Dir-01”がカーソル601で指定されたとする。この場合、スケジュール受付プログラム973が、GNS定義情報108から、指定されたツリーノード
“Dir-01”の下位に属するオブジェクト名として、FS2、FS3及びFS4を特定する。
この場合、スケジュール受付プログラム973の相関度計算サブプログラム975が、特定されたオブジェクト名(FS2、FS3及びFS4)に対応したオブジェクト間の相関度を計算する。スケジュール受付プログラム973は、計算された各々の相関度を基に、図12Aに例示するスケジュール受付画面(GUI)を構築し、そのスケジュール受付画面を管理端末104に提供する。このスケジュール受付画面(GUI)は、ファイルシステム(FS2)とファイルシステム(FS3)間の相関度が“45”、ファイルシステム(FS2)とファイルシステム(FS4)間の相関度が“5”、及び、ファイルシステム(FS3)とファイルシステム(FS4)間の相関度が“0”であることを示し、ファイルシステム(FS2、FS3及びFS4)のどれについてどのようなスケジュールを設定するかを受け付ける画面である。管理者が、そのスケジュール受付画面で、例えば、ファイルシステム(FS2及びFS3)を指定し、それらに対して共通のスケジュール情報を入力して、ボタン「実行」を押下したとする。ボタン「実行」の押下に応答して、スケジュール受付プログラム973が、親記憶領域に、入力されたスケジュール情報と、ファイルシステム名“FS2”及び“FS3”とを対応付ける。
この場合、例えば図11のGSNシステムにおいて、GNS定義変更監視サブプログラム203は、FS4を有する子NAS(NAS-04)にはチェックプログラム211を送信せず、FS2を有する子NAS(NAS-02)とFS3を有する子NAS(NAS-03)とに、チェックプログラム211を送信する(また、例えば、新たに子NAS(NAS-05)のファイルシステム(FS5)が追加されたとしても、ツリーノード“Dir-01”の下位に追加されたのでなければ、GNS定義変更監視サブプログラム203は、チェックプログラム211を子NAS(NAS-05)に送信しない)。このため、親記憶領域に記憶されているスケジュール情報は、子NAS(NAS-02〜NAS-04)のうち、子NAS(NAS-02及びNAS-03)にのみ、ダウンロードされる。その際、スケジュール情報に加えて、それに対応付けられているファイルシステム名“FS2”及び“FS3”もダウンロードされ、子記憶領域に記憶される。子NAS(NAS-02及びNAS-03)において、スナップショット/リストアプログラム205Bは、子記憶領域に記憶されているファイルシステム名に対応するファイルシステムについて、そのファイルシステム名に子記憶領域で対応付けられているスケジュール情報に従うタイミングでスナップショットを取得する。つまり、図11のGNSシステムでは、管理者から指定されたGSN部分についてのみ、親NAS(NAS-00)でのスナップショット取得タイミングを同期させることができる。
また、GNS定義変更監視サブプログラム203は、管理者から指定されたディレクトリポイントを管理しておくことができる。もし、GNS定義情報108からNAS装置の追加を検出した場合、ディレクトリポイントの下位にオブジェクトが追加されたのであれば、その追加されたNAS装置にチェックプログラム211を送信するが、ディレクトリポイントの下位にオブジェクトが追加されたのでなければ、追加されたNAS装置にチェックプログラム211を送信しない。
ところで、相関度の計算方法として、例えば以下の3つの計算方法が考えられる。
第一の計算方法は、アクセス要求処理プログラム971に更新される転送ログを利用する方法である。図12Bに、転送ログの一例を示す。アクセス要求処理プログラム971により、転送ログには、例えば、クライアント端末103からアクセス要求を受信した日時と、そのクライアント端末103のユーザのIDと、アクセス要求の転送先のNAS名と、アクセス要求の転送に使用されたローカルパスとが記録される。相関度計算サブプログラム975は、同一のアクセスパターン(ここでは、一人のユーザに利用された複数のファイルシステムの組み合わせ)が異なる複数のユーザで発生している回数(以下、アクセス発生回数)をカウントし、そのカウント値に基づいて、相関度を算出する(例えば、そのカウント値が高いほど、高い相関度を算出する)。具体的には、例えば、ファイルシステム(FS2)とファイルシステム(FS3)の両方を利用したユーザが4人であって(つまりアクセス発生回数が4であって)、ファイルシステム(FS2)とファイルシステム(FS4)の両方を利用したユーザが2人である場合(つまりアクセス発生回数が2である場合)、相関度計算サブプログラム975は、ファイルシステム(FS2)とファイルシステム(FS3)間の相関度として、ファイルシステム(FS2)とファイルシステム(FS4)間の相関度に比して高い値を算出する。
第二の計算方法は、GSNでのツリー構造を利用する方法である。相関度計算サブプログラム975は、ツリーノードポイント間のリンクの数に基づいて、相関度を算出する(例えば、リンクの数が高いほど、高い相関度を算出する)。具体的には、例えば、図11のGNS101において、ファイルシステム(FS3)とファイルシステム(FS4)間のリンクの数は2であり、ファイルシステム(FS2)とファイルシステム(FS3)間のリンクの数は3であるので、相関度計算サブプログラム975は、ファイルシステム(FS3)とファイルシステム(FS4)間の相関度として、ファイルシステム(FS2)とファイルシステム(FS3)間の相関度に比して高い値を算出する。
第三の計算方法は、クライアント端末103で実行されるアプリケーションプログラム603のための環境設定ファイル605を利用する方法である(図13B参照)。環境設定ファイル605には、例えば、アプリケーションプログラム603がどのパスを利用するかが記録されている。環境設定ファイル605に記録されている複数のパスから複数のファイルシステムが特定される場合、相関度計算サブプログラム975は、それら複数のファイルシステム間で相関有りと判断する。相関有りと判断された数に基づいて、相関度計算サブプログラム975は、相関度を算出することができる。
以上が、第二の実施形態についての説明である。
<第三の実施形態>。
例えば、GNSでは、複数のNAS装置に分散されているファイルをあたかも一つのディレクトリに格納されているかのようにユーザに見せることが可能である。更新が必要な複数のファイルがそれぞれ異なるNAS装置に格納されている場合、或るユーザグループに属するユーザが、新しいファイル共有をGNS上に作成し,そこへファイルを移動してしまうと、上記のユーザグループ以外のユーザがそのファイルを利用する際は、勝手にファイルが移動されてしまい、不都合が生じる.
具体的には、例えば、図14に示すよう、ユーザグループ(Group A)のクライアントユーザ(クライアント端末103のユーザ)は、ファイルシステム(FS1)に格納されているファイル(File-A)とファイルシステム(FS4)に格納されているファイル(File-B)を業務で使用しているため、それぞれ異なるディレクトリに格納されていては不便なので、1つのフォルダ(ディレクトリ)にまとめて格納したいとする。
しかし、ユーザグループ(Group B)のクライアントユーザは、ファイルシステム(FS4)に格納されているファイル(File-B)を使用しているので、勝手に格納場所を変更されては困る。同様に、ユーザグループ(Group C)のクライアントユーザは、ファイルシステム(FS1)に格納されているファイル(File-A)を使用しているので、勝手に格納場所を変更されては困る。
この場合において、新しいファイル共有(共有フォルダ)を作成したとする。例えば、図15に示すように、子NAS(NAS-05)を追加し、ファイルシステム(FS5)をマウントしたとする。ファイルシステム(FS5)にファイル(File-A及びFile-B)を移行すると、ユーザグループ(Group A)に属するユーザクライアントにとっては、1つのフォルダ(ディレクトリ)にファイルがまとめられるので、利便性は向上するであろう。しかし、ユーザグループ(Group B)のクライアントユーザにとっては、ファイルシステム(FS4)を利用してもファイル(File-B)がなく、ユーザグループ(Group C)のクライアントユーザにとっては、ファイルシステム(FS1)を利用してもファイル(File-A)がないので、不便である。
そこで、図16に示すように、ファイルの移動を行わずに、ユーザグループが必要とする仮想的なファイル共有の作成が必要になる。このようなファイル共有には、複数の異なるNAS装置に分散されているファイルが仮想的に格納される。言い換えれば、仮想的なファイル共有内のオブジェクトは、他のファイル共有内のオブジェクトに関連付けられ、仮想的なファイル共有内のオブジェクトが指定された場合には、そのオブジェクトに関連付けられている、他のファイル共有内のオブジェクトが提供される。
具体的には、例えば、図16に示すように、管理者が、GNS定義情報108に、点線枠内の2つのグローバルパスと2つのローカルパスとを追加したとする。2つのグローバルパスは、仮想的なファイル共有(FS5)にファイル(File-A及びFile-B)が格納されていることを表すパスであり、2つのグローバルパスに対する2つのローカルパスの対応付けは、仮想的なファイル共有(FS5)内のファイル(File-A)の実体が、ファイルシステム(FS1)内のファイル(File-A)であり、仮想的なファイル共有(FS5)内のファイル(File-B)の実体が、ファイルシステム(FS4)内のファイル(File-B)であることを意味する。これにより、Group Aに属するクライアントユーザにとっては、1つのフォルダ(FS5)にまとめてファイル(File-A及びFile-B)が格納されるので、利便性は向上する。また、Group Bに属するクライアントユーザは、フォルダ(FS4)にアクセスしても今まで通りファイル(File-B)を参照でき、Group Cに属するクライアントユーザは、フォルダ(FS1)にアクセスしても今まで通りファイル(File-A)を参照可能である。
親NAS(NAS-00)は、GNS定義情報108の更新の有無を監視する。それにより、特定部分(例えばファイル名)を除いた追加のローカルパスと同じローカルパスが更新後のGNS定義情報に含まれていることを検出した場合に、それらのローカルパスから、それぞれ、複数のファイルシステム(例えばFS1及びFS4)を識別し、それらが、スナップショット取得タイミングの同期の候補であることを管理者に通知することができる。つまり、この第三の実施形態では、第二の実施形態と異なる方法で、ファイルシステム間の相関関係を特定することができる。以下、具体的に説明する。
図17は、この第三の実施形態において親NASが有するコンピュータプログラムの一例を示す。
親NASには、第一の実施形態に比して、更に、WWWサーバ515が備えられる。また、ファイル共有プログラム201Aに、ファイル共有設定監視サブプログラム511と画面操作受付サブプログラム513とが備えられる。
図18は、ファイル共有設定監視サブプログラム511が行う処理のフローチャートを示す。
ファイル共有設定監視サブプログラム511は、図9のステップS51〜ステップS55と同様のステップS91〜ステップS95を実行することができる。
抽出された差分が、ファイル共有の追加を意味する差分、言い換えれば、グローバルパスにおけるファイルシステム名と、そのグローバルパスに対応付けられているローカルパスにおけるファイルシステム名とが異なっている複数の情報要素セットである場合、ステップS96でYESとなって、ステップS97に進み、そうではない場合、ステップS91に戻る。
ステップS97で、ファイル共有設定監視サブプログラム511は、抽出した差分を、親NASが管理する所定の記憶領域に保存する。この段階で、ファイル共有設定監視サブプログラム511は、その差分を基に、後述するスケジュール設定画面(WEBページ)を構築するための情報を準備することができる。
ステップS98で、ファイル共有設定監視サブプログラム511は、管理者に、設定画面URL(Uniform Resource Locator)を記載した電子メールを送信する。設定画面URLとは、スケジュール設定画面にアクセスするためのURLである。管理者の電子メールアドレスが、所定の記憶領域に登録されていて、ファイル共有設定監視サブプログラム511は、その記憶領域から、管理者の電子メールアドレスを特定し、その電子メールアドレスを宛先として、上記の電子メールを送信することができる。
管理端末104において、その電子メールが表示され、管理者が、設定画面URLを指定したとき、WWWサーバ515が、上記スケジュール設定画面を構築するための情報を、管理端末104に提供し、管理端末104が、その情報を基に、スケジュール設定画面を構築して表示することができる。
図19Aは、スケジュール設定画面の一例を示す。
スケジュール設定画面には、上記追加の定義から特定されたファイル共有の名称と、その追加の定義から特定された実体のある複数のファイルシステムの名称と、それら複数のファイルシステムをそれぞれ有する複数のNAS装置の名称と、それら複数のファイルシステムについてのスケジュール情報の入力欄とが表示される。管理者が、その入力欄にスケジュール情報を入力してボタン「実行」を押下すると、画面操作受付サブプログラム513が呼び出される。その際、スケジュール設定画面に表示されている複数のファイルシステム名(例えばFS1及びFS4)、複数のNAS名(例えばNAS-01及びNAS-04)及びスケジュール情報を含んだ要求が管理端末104から親NASに送信される。
図19Bは、画面操作受付サブプログラム513が行う処理のフローチャートを示す。
画面操作受付サブプログラム513は、管理端末104から受信した要求から、複数のファイルシステム名、複数のNAS名及びスケジュール情報を取得する(ステップS101)。そして、画面操作受付サブプログラム513は、親記憶領域に、複数のNAS名(例えばNAS-01及びNAS-04)、複数の(例えばFS1及びFS4)及びスケジュール情報を記憶させる。これにより、親NASに設定されたスナップショット取得タイミングを、NAS-01のFS1とNAS-04のFS4とについて同期させることができる。
第一の実施形態では、GNS定義情報108から特定される全ての子NASに、チェックプログラム211が送信されるが、第二及び第三の実施形態では、親記憶領域において、スケジュール情報に対応付けられているNAS名を有する子NASにのみ、チェックプログラム211が送信される。
<第四の実施形態>。
例えば、図20Aに示すように、親NAS(NAS-00)に設定されたスケジュール情報を、スケジュール通知プログラム204が、能動的に、各子NAS(例えばNAS-01)に送信することができる。
この場合、子NAS(NAS-01)において、スケジュール変更監視サブプログラム213は、図20Bに例示するように、親NASから通知確認している状態において(ステップS111)、親NASからスケジュール情報の通知を受けたら(ステップS112でYES)、子NAS(NAS-01)のアクセスログを参照して、現在有効な親NASを特定し(ステップS113)、特定した親NASからスケジュール情報を入手し(ステップS114)、入手したスケジュール情報を子記憶領域に上書きする(ステップS115)。
つまり、スケジュール変更監視サブプログラム213は、親NASから通知されて来たスケジュール情報をそのまま子記憶領域に上書きしても良いが、ステップS113のように、現在有効な親NASを特定し特定した親NASからスケジュール情報を取得することができる。これにより、例えば、親NASがスケジュール情報を通知後に他のNASにフェイルオーバが行われた場合には、スケジュール変更監視サブプログラム213は、フェイルオーバ先の新たな親NASから、スケジュール情報を取得することができる。
以上、本発明の幾つかの好適な実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
図1は、本発明の第一の実施形態に係るコンピュータシステムの構成例を示す。 図2Aは、親NASが有するコンピュータプログラムの一例を示す。図2Bは、子NASが有するコンピュータプログラムの一例を示す。 図3Aは、ストレージシステムにある複数種類の論理ボリュームを示す。図3Bは、スナップショット取得のためのCOWの一例を示す図である。 図4Aは、親NASから子NASへのスケジュール変更監視サブプログラムのダウンロードを示す。図4Bは、親NASから子NASへのスケジュール情報の反映を示す。図4Cは、スケジュール情報の反映の一変形例を示す。 図5は、GNSシステムへの新たなNAS装置の追加の様子を示す。 図6Aは、親NASから追加された子NASへのチェックプログラムのダウンロードを示す。図6Bは、親NASから追加された子NASへのスケジュール変更監視サブプログラムのダウンロードを示す。図6Cは、親NASから追加された子NASへのスケジュール情報の反映を示す。 図7Aは、全ての子NAS(NAS-01〜NAS-05)が親NAS(NAS-00)からスケジュール情報を取得することを示す。図7Bは、NAS-00からNAS-01へのフェイルオーバ後は全ての子NAS(NAS-02〜NAS-05)が新たな親NAS(NAS-01)からスケジュール情報を取得することを示す。 図8は、GNS定義変更監視サブプログラム、チェックプログラム、スケジュール変更監視サブプログラムのそれぞれによって実行される処理の流れの概要を示す。 図9は、GNS定義変更監視サブプログラムが行う処理のフローチャートを示す。 図10Aは、チェックプログラムが行う処理のフローチャートを示す。図10Bは、各NAS装置についてスナップショット/リストアプログラムの有無を管理するためのテーブルの構成例を示す。図10Cは、スケジュール変更監視サブプログラムが行う処理のフローチャートを示す。 図11は、GNSにおける所望のディレクトリポイントを管理者が指定することを示す。 図12Aは、スケジュール受付画面の一例を示す。図12Bは、転送ログの一例と相関度の第一の計算方法との説明図である。 図13Aは、本発明の第二の実施形態において親NASに更に備えられるコンピュータプログラムの一例を示す。図13Bは、相関度の第三の計算方法の説明図である。 図14は、本発明の第三の実施形態において各クライアントグループと各クライアントグループが使用するファイルとの関係を説明するための図である。 図15は、新規に実体のあるファイル共有を作成してファイルを移行したことの一例を示す図である。 図16は、新規に仮想的なファイル共有を作成したことの一例を示す。 図17は、本発明の第三の実施形態において親NASが有するコンピュータプログラムの一例を示す。 図18は、ファイル共有設定監視サブプログラムが行う処理のフローチャートを示す。 図19Aは、スケジュール設定画面の一例を示す。図19Bは、画面操作受付サブプログラムが行う処理のフローチャートを示す。 図20Aは、本発明の第四の実施形態で親NASが能動的に子NASにスケジュール情報を通知することの説明図である。図20Bは、本発明の第四の実施形態でのスケジュール変更監視サブプログラムの処理のフローチャートを示す。 図21は、管理端末から親NASへのリストア要求を示す。 図22は、リストア要求で指定されたディレクトリポイントとGNS定義情報との照合によりリストア指定範囲が特定されることを示す。 図23は、リストア指定範囲に属するオブジェクトを有する子NASにマウント共有要求を送信することを示す。 図24は、スナップショットのマウント(リストア)の一例を示す。 図25は、スナップショット/リストアプログラムにおける、スナップショットのマウントに関わるサブプログラムを示す。 図26は、マウント要求受付サブプログラムが行う処理の流れと、マウント共有設定サブプログラムが行う処理の流れとを示す。 図27は、NAS装置とそれに接続されているストレージシステムとのそれぞれのハードウェア構成例を示す。 図28は、GNSの構成の具体例を示す。
符号の説明
101…グローバルネームスペース(GNS) 103…クライアント端末 104…管理端末 109…NAS装置

Claims (20)

  1. 仮想的な名前空間を提供するストレージ仮想化システムを構成する複数の記憶制御装置のうちの一つの記憶制御装置であって、
    仮想的な名前空間におけるどのオブジェクト名に対応したオブジェクトが前記ストレージ仮想化システムのどこに格納されているかを表した情報である仮想化定義情報から、前記複数の記憶制御装置のうちの、前記仮想的な名前空間の全部又は一部である特定の範囲に属するオブジェクト名に対応したオブジェクトを有する二以上の他の記憶制御装置を識別する記憶制御装置識別部と、
    オブジェクトをバックアップするタイミングを示す情報であるバックアップタイミング情報を、前記識別された二以上の他の記憶制御装置に送信するバックアップタイミング同期部と
    を備える記憶制御装置。
  2. 前記仮想化定義情報の更新の有無を監視し、更新有りの検出に応答して、更新前の前記仮想化定義情報と更新後の前記仮想化定義情報との差分に対応した処理を実行する仮想化定義監視部、
    を更に備える請求項1記載の記憶制御装置。
  3. コンピュータプログラムであるチェック部を更に備え、
    前記仮想化定義監視部は、前記差分が、更新前の前記仮想化定義情報には無く更新後の前記仮想化定義情報に有る記憶制御装置IDを含む場合に、前記差分に対応した処理として、前記チェック部を、その記憶制御装置IDから識別される他の記憶制御装置に送信することを実行し、
    前記チェック部は、該チェック部を受信した他の記憶制御装置において、該他の記憶制御装置に前記バックアップ部が備えられているか否かをチェックする、
    請求項2記載の記憶制御装置。
  4. 前記バックアップタイミング同期部とやり取りするコンピュータプログラムであるバックアップタイミング取得部と、
    前記チェック部からの所定の信号に応答して前記バックアップタイミング取得部を前記他の記憶制御装置に送信する送信部と
    を更に備え、
    前記チェック部は、前記チェックの結果が、前記バックアップ部が前記他の記憶制御装置に備えられているという結果であれば、前記所定の信号を送信することで、前記バックアップタイミング取得部を受信し、
    前記バックアップタイミング取得部は、該他の記憶制御装置が管理する記憶領域に、前記バックアップタイミング同期部から受信したバックアップタイミング情報を記憶させる、
    請求項3記載の記憶制御装置。
  5. 前記チェック部は、前記チェックの結果が、前記バックアップ部が前記他の記憶制御装置に備えられていないという結果であれば、バックアップ部を備えた記憶制御装置に、前記他の記憶制御装置が管理しているオブジェクトをマイグレーションし、そのオブジェクトのマイグレーション先を表す情報を、前記チェック部の送信元に送信する、
    請求項3記載の記憶制御装置。
  6. 前記バックアップタイミング同期部とやり取りするコンピュータプログラムであるバックアップタイミング取得部と、
    前記バックアップタイミング取得部を、前記第二の記憶制御装置に送信する送信部と
    を更に備え、
    前記バックアップタイミング取得部は、そのバックアップタイミング取得部を実行する他の記憶制御装置が管理する記憶領域に、前記バックアップタイミング同期部から受信したバックアップタイミング情報を記憶させる、
    請求項1記載の記憶制御装置。
  7. 前記バックアップタイミング取得部は、定期的に、又は、前記記憶領域に記憶されているバックアップタイミング情報が更新されたことが検出されたことに応答して、バックアップタイミング情報の送信を前記バックアップタイミング同期部に要求し、
    前記バックアップタイミング同期部が、前記バックアップタイミング取得部からの要求に応答して、前記バックアップタイミング情報を前記バックアップタイミング取得部に送信する、
    請求項6記載の記憶制御装置。
  8. 前記バックアップタイミング取得部は、そのバックアップタイミング取得部を実行する他の記憶制御装置が有するアクセスログから、現在有効な記憶制御装置を判別し、判別された記憶制御装置におけるバックアップタイミング同期部に、バックアップタイミング情報の送信を要求する、
    請求項7記載の記憶制御装置。
  9. 前記バックアップタイミング同期部が、定期的に、又は、前記記憶領域に記憶されているバックアップタイミング情報が更新されたことが検出されたことに応答して、バックアップタイミング情報を前記バックアップタイミング取得部に送信し、
    前記バックアップタイミング取得部は、前記バックアップタイミング情報を受信した後に、そのバックアップタイミング取得部を実行する他の記憶制御装置が有するアクセスログから、現在有効な記憶制御装置を判別し、前記バックアップタイミング情報の送信元ではなく、判別された記憶制御装置に、バックアップタイミング情報の送信を要求する、
    請求項7記載の記憶制御装置。
  10. コンピュータプログラムであるチェック部と、
    前記他の記憶制御装置に前記チェック部を送信する送信部と
    を更に備え、
    前記チェック部が、該チェック部を受信した他の記憶制御装置に実行されることにより、その他の記憶制御装置にバックアップ部が備えられているか否かをチェックし、前記バックアップ部が該他の記憶制御装置に備えられていないというチェックの結果であれば、前記バックアップ部を備えた記憶制御装置に、そのチェック部を実行する他の記憶制御装置が管理しているオブジェクトをマイグレーションし、そのオブジェクトのマイグレーション先を表す情報を、前記チェック部の送信元に送信する、
    請求項1記載の記憶制御装置。
  11. 前記バックアップタイミング同期部が、前記複数の記憶制御装置のうちの、特定の相関関係を有するオブジェクトをそれぞれ有する他の記憶制御装置に、バックアップタイミング情報を送信する、
    請求項1記載の記憶制御装置。
  12. 前記仮想的な名前空間における特定の範囲の指定をユーザから受け付ける指定受付部と、
    前記複数のオブジェクトのうちの、前記指定された特定の範囲に関わる二以上のオブジェクトについて、各オブジェクト間の相関度を計算する相関度計算部と、
    前記計算された各オブジェクト間の相関度をユーザに対して表示する相関度表示部と、
    前記二以上のオブジェクトのうちのユーザ所望のオブジェクトの選択をユーザから受け付ける選択受付部と
    を更に備え、
    前記特定の相関関係を有するオブジェクトとは、前記ユーザ所望のオブジェクトであり、
    前記バックアップタイミング同期部が、前記ユーザ所望のオブジェクトを有する他の記憶制御装置に、バックアップタイミング情報を送信する、
    請求項11記載の記憶制御装置。
  13. 前記仮想的な名前空間におけるオブジェクト名に関する第一の指定を含んだアクセス要求を前記クライアントから受信し、第一の指定に対応するオブジェクトにアクセスするための第二の指定を含んだアクセス要求を該第二の指定に関わる他の記憶制御装置に転送するアクセス制御部と、
    アクセス要求の他の記憶制御装置への転送に関する情報を転送ログに記録するアクセス管理部と
    を更に備え、
    前記転送ログには、クライアントのユーザのIDと、第二の指定から特定されるオブジェクトのIDとを含む情報が記録され、
    前記相関度計算部は、前記転送ログを参照して、同一のアクセスパターンを利用した異なるユーザの数をカウントし、該ユーザ数を基に、オブジェクト間の相関度を計算し、
    前記アクセスパターンとは、一のユーザが利用する複数のオブジェクトの組み合わせである、
    請求項12記載の記憶制御装置。
  14. 前記仮想的な名前空間では、複数のオブジェクトにそれぞれ対応した複数のオブジェクト名がツリー状に関連付けられており、
    一方のオブジェクトと他方のオブジェクトとの間の相関度は、一方のオブジェクトに対応したオブジェクト名と、他方のオブジェクトに対応したオブジェクト名の間に存在する、ネーム間リンクの数に基づいて計算される、
    請求項12記載の記憶制御装置。
  15. 前記相関度計算部が、前記クライアントで実行されるアプリケーションプログラムの環境設定ファイルに基づいて、オブジェクト間の相関度を計算する、
    請求項12記載の記憶制御装置。
  16. 前記仮想化定義監視部は、前記差分が、実体のあるファイルに関連付けられた仮想的なファイルが仮想的な共有ディレクトリに格納されたことを意味する情報である場合、その差分から、二以上のオブジェクトを識別し、
    前記特定の相関関係のあるオブジェクトとは、前記識別された二以上のオブジェクトである、
    請求項2記載の記憶制御装置。
  17. 前記バックアップ部は、受信したバックアップタイミング情報が示すタイミングで、オブジェクトをバックアップした場合に、バックアップされたオブジェクトであるバックアップオブジェクトと、そのバックアップを行った時点とを関連付けて記憶するよう構成されており、バックアップ時点を示す情報を含んだリストア要求を受信した場合、その情報が示すバックアップ時点が関連付けられているバックアップオブジェクトをリストアし、リストアされたバックアップオブジェクトへのアクセス先を表す情報を、バックアップ時点を示す情報の送信元に返答するよう構成されており、
    前記二以上の他の記憶制御装置に、バックアップ時点を示す情報を含んだリストア要求を送信し、それに応答して、前記二以上の他の記憶制御装置から、リストアされたバックアップオブジェクトへのアクセス先を表す情報を受信し、その情報に基づいて、前記仮想化定義情報を更新するリストア制御部を
    更に備え、前記リストア制御部により更新された後の仮想化定義情報は、前記リストアされたバックアップオブジェクトを表すオブジェクト名が前記仮想的な名前空間に表され、そのオブジェクト名に対応したオブジェクトが前記ストレージ仮想化システムのどこに格納されているかを表した情報が含まれている、
    請求項1記載の記憶制御装置。
  18. 前記仮想的な名前空間は、グローバルネームスペースであり、
    前記仮想化定義情報は、グローバルネームスペースを提供するための定義を表す情報であり、前記グローバルネームスペースにおけるオブジェクト名に対応したグローバルパスと、そのオブジェクト名に対応したオブジェクトを有する記憶制御装置のIDと、そのオブジェクトにアクセスするためのローカルパスとのセットを複数個含んでおり、
    前記記憶制御装置識別部及び前記バックアップタイミング同期部は、一又は複数のコンピュータプログラムを実行するプロセッサであり、
    前記プロセッサが、
    前記仮想化定義情報の更新の有無を監視し、更新前の前記仮想化定義情報には無く更新後の前記仮想化定義情報に有る記憶制御装置IDを含む場合に、チェックプログラムを、その記憶制御装置IDから識別される他の記憶制御装置に送信し、該他の記憶制御装置のプロセッサで該チェックプログラムが実行されることにより、該他の記憶制御装置にバックアッププログラムが備えられているか否かがチェックされ、バックアッププログラムが該他の記憶制御装置に備えられているという結果である場合に、所定の信号を該他の記憶制御装置から受信し、
    該所定の信号の受信に応答して、バックアップタイミング取得プログラムを、該所定の信号の送信元である前記他の記憶制御装置に送信し、該他の記憶制御装置のプロセッサで該バックアップタイミング取得プログラムが実行されることにより、該他の記憶制御装置が受信したバックアップタイミング情報を記憶させ、
    特定の相関関係のあるオブジェクトを判別し、判別されたオブジェクトを有する記憶制御装置を前記仮想化定義情報から識別し、前記複数の記憶制御装置のうち、識別された記憶制御装置に、バックアップタイミング情報を送信し、
    前記グローバルネームスペースの一部である特定の範囲に属するオブジェクト名は、前記特定の相関関係のあるオブジェクトに対応したオブジェクト名である、
    請求項1記載の記憶制御装置。
  19. 仮想的な名前空間を提供するストレージ仮想化システムを構成する複数の記憶制御装置のうちの少なくとも一つが、
    仮想的な名前空間におけるどのオブジェクト名に対応したオブジェクトが前記ストレージ仮想化システムのどこに格納されているかを表した情報である仮想化定義情報から、前記複数の記憶制御装置のうちの、前記仮想的な名前空間の全部又は一部である特定の範囲に属するオブジェクト名に対応したオブジェクトを有する二以上の他の記憶制御装置を識別する記憶制御装置識別部と、
    オブジェクトをバックアップするタイミングを示す情報であるバックアップタイミング情報を、前記識別された二以上の他の記憶制御装置に送信するバックアップタイミング同期部と
    を備え、
    バックアップタイミング情報を受信した前記二以上の他の記憶制御装置の各々が、
    受信したバックアップタイミング情報を記憶領域に記憶させ設定部と、
    前記記憶領域に記憶されているバックアップタイミング情報が示すタイミングでオブジェクトをバックアップするバックアップ部と
    を備える、
    ストレージ仮想化システム。
  20. 仮想的な名前空間を提供するストレージ仮想化システムを構成する複数の記憶制御装置のうち、前記仮想的な名前空間の全部又は一部である特定の範囲に属するオブジェクト名に対応したオブジェクトを有する二以上の記憶制御装置の各々に、同一のバックアップタイミング情報を記憶させ、
    前記二以上の記憶制御装置の各々が、記憶されているバックアップタイミング情報が示すタイミングで、オブジェクトをバックアップする、
    バックアップ制御方法。
JP2007029658A 2007-02-08 2007-02-08 ストレージ仮想化システムにおける記憶制御装置 Withdrawn JP2008197745A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007029658A JP2008197745A (ja) 2007-02-08 2007-02-08 ストレージ仮想化システムにおける記憶制御装置
US12/007,162 US20080195827A1 (en) 2007-02-08 2008-01-07 Storage control device for storage virtualization system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007029658A JP2008197745A (ja) 2007-02-08 2007-02-08 ストレージ仮想化システムにおける記憶制御装置

Publications (1)

Publication Number Publication Date
JP2008197745A true JP2008197745A (ja) 2008-08-28

Family

ID=39686856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007029658A Withdrawn JP2008197745A (ja) 2007-02-08 2007-02-08 ストレージ仮想化システムにおける記憶制御装置

Country Status (2)

Country Link
US (1) US20080195827A1 (ja)
JP (1) JP2008197745A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028430A (ja) * 2009-07-23 2011-02-10 Canon Inc 情報処理装置、情報処理装置の制御方法及びプログラム
JP2015231061A (ja) * 2014-06-03 2015-12-21 日本電信電話株式会社 信号制御装置及び信号制御方法
JP2016530636A (ja) * 2013-08-29 2016-09-29 ワンディスコ,インク. コンセンサスノードを用いた分散ファイルシステム
US9690486B2 (en) 2014-04-15 2017-06-27 International Business Machines Corporation Reduction in time required to write file to tape

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452930B2 (en) 2009-03-27 2013-05-28 Hitachi, Ltd. Methods and apparatus for backup and restore of thin provisioning volume
US8805953B2 (en) * 2009-04-03 2014-08-12 Microsoft Corporation Differential file and system restores from peers and the cloud
US20100257403A1 (en) * 2009-04-03 2010-10-07 Microsoft Corporation Restoration of a system from a set of full and partial delta system snapshots across a distributed system
US8261126B2 (en) 2009-04-03 2012-09-04 Microsoft Corporation Bare metal machine recovery from the cloud
US8756197B1 (en) * 2010-08-13 2014-06-17 Symantec Corporation Generating data set views for backup restoration
US9355120B1 (en) * 2012-03-02 2016-05-31 Netapp, Inc. Systems and methods for managing files in a content storage system
US9589000B2 (en) * 2012-08-30 2017-03-07 Atheer, Inc. Method and apparatus for content association and history tracking in virtual and augmented reality
US9671966B2 (en) * 2014-03-27 2017-06-06 Hitachi, Ltd. Management computer and computer system
US10437791B1 (en) * 2016-02-09 2019-10-08 Code 42 Software, Inc. Network based file storage system monitor
US10540165B2 (en) 2016-02-12 2020-01-21 Nutanix, Inc. Virtualized file server rolling upgrade
US10474629B2 (en) * 2016-09-28 2019-11-12 Elastifile Ltd. File systems with global and local naming
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11288239B2 (en) * 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW561358B (en) * 2001-01-11 2003-11-11 Force Corp Z File switch and switched file system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028430A (ja) * 2009-07-23 2011-02-10 Canon Inc 情報処理装置、情報処理装置の制御方法及びプログラム
US8826066B2 (en) 2009-07-23 2014-09-02 Canon Kabushiki Kaisha Information processing apparatus, control method of the information processing apparatus, and recording medium
JP2016530636A (ja) * 2013-08-29 2016-09-29 ワンディスコ,インク. コンセンサスノードを用いた分散ファイルシステム
US9690486B2 (en) 2014-04-15 2017-06-27 International Business Machines Corporation Reduction in time required to write file to tape
US10331628B2 (en) 2014-04-15 2019-06-25 International Business Machines Corporation Reduction in time required to write file to tape
US11061869B2 (en) 2014-04-15 2021-07-13 International Business Machines Corporation Reduction in time required to write file to tape
JP2015231061A (ja) * 2014-06-03 2015-12-21 日本電信電話株式会社 信号制御装置及び信号制御方法

Also Published As

Publication number Publication date
US20080195827A1 (en) 2008-08-14

Similar Documents

Publication Publication Date Title
JP2008197745A (ja) ストレージ仮想化システムにおける記憶制御装置
US11698885B2 (en) System and method for content synchronization
JP5706966B2 (ja) 情報処理システム、及び、それを用いたファイル復元方法
CN103052944B (zh) 信息处理系统中的故障恢复方法和信息处理系统
US10019460B2 (en) Hosted file sync with direct access to hosted files
US7921268B2 (en) Method and system for function-specific time-configurable replication of data
KR101780340B1 (ko) 가상 데이터베이스를 제공하기 위한 유효성 검증 데이터베이스 스냅샷의 생성 방법, 시스템 및 컴퓨터 판독가능 저장 매체
JP4456909B2 (ja) バックアップ方法、ストレージシステム及びそのプログラム
US8375002B2 (en) Storage system, NAS server and snapshot acquisition method
US7974950B2 (en) Applying a policy criteria to files in a backup image
JP5608811B2 (ja) 情報処理システムの管理方法、及びデータ管理計算機システム
JP4806572B2 (ja) データミラーリングによって参照負荷を分散するストレージシステムにおけるアクセスの制御
JP4741371B2 (ja) システム、サーバ装置及びスナップショットの形式変換方法
US20120259813A1 (en) Information processing system and data processing method
JP2003233467A (ja) ストレージベースリモートコピーでのパス選択方式
JP2008033912A (ja) Nas向けのcdpの方法および装置
JP2003173279A (ja) 記憶装置間のファイル移行方法
JP2004133885A (ja) 複製ボリュームを管理するための方法と装置
JP2007272874A (ja) クラスタ化ファイルシステムにおいてデータのバックアップを取る方法
WO2004047078A2 (en) Fast backup storage and fast recovery of data (fbsrd)
JP2007183913A (ja) ファイルシステムのデータを複製する装置と方法
US20230068262A1 (en) Share-based file server replication for disaster recovery
JP2008033829A (ja) バックアップシステム及びバックアップ方法
KR20100061457A (ko) 스토리지 컨트롤러와 복제 엔진 사이에서 라이트들을 스플리트하는 기술
JP5681783B2 (ja) 情報処理システムにおける障害復旧方法、及び情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091210

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100531