JP2012137977A - スナップショット採取プログラム、サーバおよびスナップショット採取方法 - Google Patents

スナップショット採取プログラム、サーバおよびスナップショット採取方法 Download PDF

Info

Publication number
JP2012137977A
JP2012137977A JP2010290557A JP2010290557A JP2012137977A JP 2012137977 A JP2012137977 A JP 2012137977A JP 2010290557 A JP2010290557 A JP 2010290557A JP 2010290557 A JP2010290557 A JP 2010290557A JP 2012137977 A JP2012137977 A JP 2012137977A
Authority
JP
Japan
Prior art keywords
data
snapshot
group
server
stored
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.)
Granted
Application number
JP2010290557A
Other languages
English (en)
Other versions
JP5541149B2 (ja
Inventor
Kensuke Shiozawa
賢輔 塩沢
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010290557A priority Critical patent/JP5541149B2/ja
Priority to US13/137,981 priority patent/US8843439B2/en
Publication of JP2012137977A publication Critical patent/JP2012137977A/ja
Application granted granted Critical
Publication of JP5541149B2 publication Critical patent/JP5541149B2/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion

Abstract

【課題】スナップショットを採取する際のオーバーヘッドを削減すること。
【解決手段】メタサーバ110は、グループAを対象としたスナップショットの採取要求を受け付けると、メタデータ101を参照してグループAの属性情報が設定されたファイル群を格納しているデータボリューム121−1,121−2を特定する。そして、メタサーバ110は、データサーバ120−1,120−2に対してスナップショットの採取指示を出力する。採取指示を受け付けたデータサーバ120−1,120−2は、グループAの属性情報が設定されたファイル群について静止化を行った後、全ファイルを対象としたスナップショット122−1,122−2を生成する。メタサーバ110も、メタデータ101のうち、グループAの属性情報が設定されたファイル群について静止化を行い、その後、メタボリューム111を制御してスナップショット112を生成する。
【選択図】図1−1

Description

この発明は、スナップショットを採取するスナップショット採取プログラム、サーバおよびスナップショット採取方法に関する。
従来より、企業や大学、自治体など特定のグループ内で扱われるデータ量は増加の一途を辿っている。データ量増加の弊害として、例えば、企業内ではファイルサーバが乱立し、各部門でバラバラに運用された結果、ストレージの設備コストおよび運用コストの増大を招いてしまうといった問題があった。
そこで、近年ではデータ量増加への対応策として、ストレージを統合する技術が有望視されている。ストレージを統合する際の一形態として、例えば、データセンタなどで利用されているような複数の顧客が共用可能なファイルサーバが挙げられる。ここで述べる顧客とは、IT(Information Technology)システムを利用するユーザの単位を意味する。また、顧客のことをテナントと呼ぶことから共用可能なファイルサーバをマルチテナントファイルサーバと呼ぶこともある。
マルチテナントファイルサーバは、膨大な数のテナントによる利用が想定される。必然的に各テナントに属するユーザ数は従来通りでも、全ユーザ数は膨大な数となる。したがって、マルチテナントファイルサーバを利用するシステムには、巨大なストレージ容量や高い応答性能、スループット性能が求められる。このような要件を満たすシステムの構成例として、異なる機能を持ったファイルサーバを複数台利用したシステムがある。具体的には、ファイルサーバを、多数のデータサーバとメタサーバとに分けて構成したシステムがある。
データサーバとは、各テナントが扱う各ファイルのI/O(Input/Output)処理を制御するファイルサーバである。また、メタサーバとは、各ファイルを特定する情報(ファイルの名称、ファイル種別、格納位置情報など)を表すメタデータを管理するファイルサーバである。ファイルサーバの機能が複数のデータサーバとメタサーバとによって構成されたファイルサーバ群は、クラスタファイルサーバと呼ばれている。クラスタファイルサーバのように、データサーバとメタサーバとを独立させた構成であれば、各ファイルについてのI/O処理の負荷を複数のデータサーバに分散させることができる。
そして、クラスタファイルサーバを利用したシステムでは、システム運営に要するコストを削減できるような運用が期待される。具体的には、個々のデータサーバおよびメタサーバも複数のテナントによって共用させ、計算資源の利用効率を高めることによってコスト削減が図られている。
また、クラスタファイルサーバを運用するには、データの保全策として、定期的なバックアップ処理が必要とされている。バックアップ処理を実現するための具体的な技術として多くの場合、スナップショット機能が採用されている。スナップショット機能によって採取されるディスクイメージは整合性のとれた状態でなければ活用できない。
そこで、スナップショットを採取する場合、各ファイルサーバでは、一般的に静止化と呼ばれる処理が行われる。静止化では、各ファイルサーバにおいて、ダーティーキャッシュのディスクへの書き戻しや、スナップショットの採取が完了するまでの更新アクセスの抑制が行われる。静止化を行うことによって、各ファイルサーバは、スナップショットとして採取されたディスクイメージの整合性を保つことができる。
特開平11−120056号公報 特開2006−146904号公報 特開2004−38929号公報 特開2009−53955号公報
しかしながら、上述したように、近年のマルチテナントファイルサーバは、膨大なユーザ数に対応するべく、データサーバの台数も、その個々に配備するキャッシュ容量も膨大になる。すなわち、各ファイルサーバのバックアップ処理の対象となるデータ量も膨大であることを意味する。
また、スナップショットを採取する際、静止化の処理手順として、全データサーバの持つ全キャッシュデータを単純にディスクに書き戻している。したがって、各ファイルサーバでは、静止化を含む一連のスナップショットの採取に関して、膨大なオーバーヘッドが発生してしまうという問題があった。
さらに、データの種類やシステムの運用上、各ファイルサーバを利用するテナントの中には、スナップショットの採取を求めていないテナントが存在する場合もある。スナップショットの採取を求めていないテナントにとって定期的なスナップショットの採取は無駄な処理でしかなかった。さらに、静止化の際に発生するキャッシュデータのディスクへの書き戻しは、スナップショットの採取を求めていないテナントに対して性能干渉を招いてしまうという問題があった。
1つの側面では、本発明は、スナップショットを採取する際のオーバーヘッドを削減することができるスナップショット採取プログラム、サーバおよびスナップショット採取方法を提供することを目的とする。
本発明の一態様として、各々データ群が格納された複数のデータ格納装置と、前記各データ群の各データに設定された属性情報および前記複数のデータ格納装置のうちのいずれのデータ格納装置に格納されているかを示す格納位置情報を有するメタデータが格納された保管装置とを制御可能なコンピュータが、特定の属性情報が設定された特定のデータ群のスナップショットの採取要求を受け付け、前記採取要求が受け付けられると、前記保管装置に格納された前記メタデータの属性情報と格納位置情報とに基づいて、前記複数のデータ格納装置の各々について、前記特定のデータ群のいずれかのデータが格納されているか否かを判定し、前記特定のデータ群のいずれかのデータが格納されていると判定された特定のデータ格納装置を制御して、前記判定されたデータ格納装置に格納されている前記データ群のスナップショットを生成すると共に、前記保管装置を制御して、前記メタデータのスナップショットを生成するスナップショット生成プログラム、サーバおよびスナップショット採取方法が提案される。
1つの態様によれば、スナップショットを採取する際のオーバーヘッドを削減できるという効果を奏する。
本実施の形態にかかるスナップショット採取例を示す説明図である。 採取したスナップショットのアクセス範囲を示す説明図である。 クラスタファイルサーバのシステム構成例を示す説明図である。 ファイルサーバのハードウェア構成例を示すブロック図である。 メタサーバのスナップショット採取時の処理手順例を示すフローチャートである。 データサーバのスナップショット採取時の処理手順例を示すフローチャートである。 本実装例のシステム構成例を示す説明図である。 共用メタボリュームと共用データボリュームとの関係を示す説明図である。 ボリューム構成リストの構成例を示すデータテーブルである。 スナップショット採取のシーケンス例を示すシーケンス図である。 テナントXについてのスナップショット採取の手順(その1)を示す説明図である。 テナントXについてのスナップショット採取の手順(その2)を示す説明図である。 テナントXについてのスナップショット採取の手順(その3)を示す説明図である。 テナントXについてのスナップショット採取の手順(その4)を示す説明図である。 スナップショットを利用したリストア処理のシーケンス例を示すシーケンス図である。
以下に添付図面を参照して、本発明にかかるスナップショット採取プログラム、サーバおよびスナップショット採取方法の実施の形態を詳細に説明する。本実施の形態では、テナントなどの属性が指定された場合に、ストレージ群の各々のストレージ内の属性で指定されるファイルについてファイル単位でスナップショットを生成させるのではなく、ストレージ群のうち属性で指定されたファイルを含むストレージに絞り込み、絞り込んだストレージ単位でスナップショットを生成させてスナップショットを採取する。
すなわち、属性で指定されたファイルを含むストレージに、属性で指定されていないファイルが記憶されていても、当該ファイルも含めて一括してストレージ単位でスナップショットを生成する。これにより、属性で指定されたファイルを個々に調べてファイル単位でスナップショットを生成する際に発生するオーバーヘッドの削減を図る。以下、図面を用いて説明する。
図1−1は、本実施の形態にかかるスナップショット採取例を示す説明図である。本実施の形態では、例として、複数のファイルサーバの中の1台を、メタデータ101を格納するメタサーバ110として機能させる。メタデータ101とは、複数のファイルサーバの中のどのファイルサーバにどのファイルが格納されているかを特定するための情報群である。
メタデータ101には、具体的には、ファイルごとに、ファイルの識別情報と、ファイルの格納位置情報と、グループを表す属性情報とが対応付けて記録されている。ファイルの識別情報とは、各ファイルを他のファイルと区別するための情報である。ファイルの識別情報は、例えば、ファイル名や、特定の文字列や数字からなるファイルIDなどによって構成されている。
ファイルの格納位置情報とは、各ファイルが複数のファイルサーバの中のどのファイルサーバに格納されているかを表す情報である。ファイルの格納位置情報は、例えば、格納先となるファイルサーバを表す識別情報や実際にファイルが格納されているデータボリューム121内のメモリへアクセスするためのパスを表したアドレス情報によって構成されている。
上述したようにメタデータ101には、メタサーバ110が各ファイルに直接アクセスせずとも検索条件と合致するファイルを特定できるように、ファイルの属性情報(例えば、後述するグループを表すグループIDなど)が対応付けて記録されている。そして、本実施の形態では、複数のファイルサーバのうち、メタサーバ110以外の残りのファイルサーバが、それぞれメタサーバ110のデータ格納装置となってそれぞれ各種のファイルを格納するデータサーバ120−1〜120−3として機能する。
各ファイルサーバ(メタサーバ110およびデータサーバ120−1〜120−3)は、それぞれファイルを格納するためのストレージを備えている。各ファイルサーバが外部から取得したファイルや、新たに生成されたファイルは、それぞれ各ファイルサーバに対応するストレージに格納される。
以降の説明では便宜上メタサーバ110がメタデータ101を格納するストレージをメタボリューム111と呼ぶ。また、データサーバ120−1〜120−3がそれぞれ各種のファイルを格納するストレージをデータボリューム121−1〜121−3と呼ぶ。
なお、ファイルサーバの台数は特に制限はなく、図1−1では便宜上データサーバ120−1〜120−3の3台を利用する場合について説明しているが、N台のデータサーバ120−1〜120−Nを利用することもできる。また、N台のデータサーバ120−1〜120−Nを利用する場合、ファイルを格納するN台のデータボリューム121−1〜121−Nを利用する。すなわち、図1−1は、N=3の場合を表している。
また、データサーバ120−1〜120−Nは、複数のグループそれぞれに属している各ユーザによって利用される。例えば、図1−1の場合、グループAに属しているユーザとグループBに属しているユーザとが、データサーバ120−1〜120−3を利用してデータボリューム121−1〜121−3にファイルを格納したり、データボリューム121−1〜121−3に格納されているファイルの参照・更新を行ったりすることができる。
グループとは、共通のファイルを利用するユーザ群を表す属性情報である。図1−1では、一例として、グループAとグループBとが設定されている。したがって、属性情報としてグループAが設定されているファイルは、グループAに属している各ユーザによって利用され、属性情報としてグループBが設定されているファイルは、グループBに属している各ユーザによって利用される。
具体的には、グループAに属しているユーザは、クライアント装置を操作することで、各データボリューム121に格納されているファイルのうち、グループAを表す属性情報が設定されたファイル群を利用する。また、グループAに属しているユーザが新たに作成したファイルは、グループAを表す属性情報が設定された状態でデータボリューム121に格納される。同様にグループBに属しているユーザは、クライアント装置を操作することで、グループBを表す属性情報が設定されたファイル群を利用する。また、グループBに属しているユーザが新たに作成したファイルにはグループBの属性情報が設定された状態でデータボリューム121に格納される。
また、グループは用途に合わせて適宜設定することができる。例えば、従来の技術にて説明した顧客を表すテナントや、企業、大学、自治体など、ITシステムを利用するユーザの集合体を表す単位であれば特に制限はない(後述する実装例ではグループの設定例としてテナントを利用した場合について説明する)。
いずれのグループに属したユーザも、新たにデータサーバ120−1〜120−3いずれかにファイルを格納する場合や、既に格納済みのファイルを参照する場合は、アクセス対象となるファイルについてのデータサーバ120−1〜120−3のキャッシュへの格納状況に応じて、メタサーバ110を利用することがある。具体的には、データサーバ120−1〜120−3いずれかにキャッシュされていないファイルに対して、ユーザからのアクセスが発生した場合、対象となるデータサーバ120(データサーバ120−1〜120−3のいずれか)が、メタサーバ110にキャッシュ許可を要請する。データサーバ120にキャッシュされているファイルに対して、ユーザからのアクセスが発生した場合、既に対象となるファイルがキャッシュされている状態であるため、ユーザは、データサーバ120(データサーバ120−1〜120−3のいずれか)にキャッシュされたファイルに対してアクセス指示を行う。メタサーバ110が制御するメタボリューム111には、各ファイルの格納先を表す格納位置情報を含むメタデータ101が格納されている。
したがって、メタサーバ110は、メタデータ101を参照することによって、ユーザからアクセスの指示のあったファイルが格納されているデータボリューム121を特定することができる。メタサーバ110は、ファイルが格納されているデータボリューム121が特定されると、特定されたデータボリューム121を制御するデータサーバ120−1〜120−3を介して、ユーザが所望するファイルへアクセスを指示する。
また、メタサーバ110は、ユーザから新規ファイルを作成する指示を受け付けた場合にも、メタデータ101を参照して、新規ファイルを格納するデータボリューム121を決定する。その後、メタサーバ110は、データサーバ120−1〜120−3を介して新規ファイルをデータボリューム121に格納すると、新規ファイルを表す識別情報(例えば、ファイルの名称)と属性情報(グループAもしくはグループB)と格納先を表す格納位置情報(例えば、データサーバ120−1など)とを関連付けた情報群をメタデータ101に追加する。
そして、メタサーバ110は、指定されたグループを対象としたスナップショット採取要求を受け付けたとき、スナップショット採取を開始する。なお、グループの指定は、スナップショット採取要求を行うユーザや上位システムによって行われる。メタサーバ110は、指定されたグループを対象としたスナップショット採取要求を受け付けると、スナップショット生成の実行単位となるデータボリューム121を特定する。そして、メタサーバ110は、特定されたデータボリューム121を対象にボリューム単位でスナップショット生成させることによってスナップショット採取を行う。
一例として図1−1に例示されたように各データボリューム121にグループAまたはグループBのファイルが格納されている場合について説明する。メタサーバ110は、グループAを対象としたスナップショット採取要求を受け付けた場合、全データボリューム121−1〜121−3のうち、データボリューム121−1,121−2を対象にスナップショット採取を行う。
データボリューム121−2にはグループBの属性情報が設定されたファイルも格納されているが、メタサーバ110は、ファイルごとにスナップショットを生成させるか否かを判断することなく、ボリューム121−2を対象にボリューム単位でスナップショットを生成させる。同様に、メタサーバ110は、グループBを対象としたスナップショット採取要求を受け付けた場合、グループAの属性情報が設定されたファイルとグループB属性情報が設定されたファイルとが混在するデータボリューム121−2と、グループB属性情報が設定されたファイルのみが格納されたデータボリューム121−3について、それぞれボリューム単位でスナップショットを生成させてスナップショットを採取する。
結果として、メタサーバ110は、指定されたグループの属性情報が設定されたファイルが格納されているデータボリューム121であれば、他のグループの属性情報が設定されたファイルが格納されているデータボリューム121もボリューム単位でスナップショット生成を行う。
また、メタサーバ110は、指定されたグループ以外のグループの属性情報が設定されたファイル群のみが格納されているようなデータボリューム121をスナップショット生成の対象から除外する。したがって、各データボリューム121に格納されているファイル群について、個別にスナップショットを生成させるファイルか否かの判断を必要としないため、オーバーヘッドの少ないスナップショット採取を実現できる。
メタサーバ110の処理を順番に説明すると、まず、メタサーバ110は、グループAを対象としたスナップショット採取要求を受け付けた場合、メタデータ101を参照して、データサーバ120−1〜120−3の中からグループAの属性情報が設定されているファイル群を格納しているデータボリューム121を制御しているデータサーバ120−1,120−2を特定する。
図1−1に例示したメタデータ101は、メタボリューム111に格納されているメタデータに含まれている各ファイルを利用するグループを表す属性情報と格納先との情報を簡易的に表している。メタサーバ110は、メタデータ101を参照することによって、複数のデータサーバ120−1〜120−3のうち、グループAの属性情報が設定されているファイル群が格納されているデータサーバ120−1,120−2を特定することができる。
続いて、メタサーバ110は、グループAの属性情報が設定されているファイル群が格納されていると特定されたデータサーバ120−1,120−2に対してスナップショット採取指示を出力する。スナップショット採取指示を受け付けたデータサーバ120−1,120−2は、まず、格納されている全ファイルのうち、グループAの属性情報が設定されているファイル群について静止化を行う。静止化とは、スナップショットの整合性を保つための準備処理である。静止化では、具体的には、グループAの属性情報が設定されているファイル群へのアクセスの保留と、キャッシュデータのうち更新された内容を元データに反映する処理とが行われる。
通常、ボリューム単位でスナップショット採取を行う場合、データボリューム121に格納されている全てのファイルを対象に静止化を行う必要があり、オーバーヘッドの大きな要因となっていた。メタサーバ110は、グループAの属性情報が設定されているファイル群に絞って静止化を行うため、異なる属性情報が設定されたファイルが混在するデータボリューム121を対象としたスナップショット採取であっても、従来のスナップショット採取と比較して静止化が必要なファイルが限られるためオーバーヘッドの削減が期待できる。
その後、データサーバ120−1,120−2は、それぞれデータボリューム121−1,121−2を制御して、各データボリューム121に格納されている全ファイルを対象としたスナップショット122−1,122−2を生成する。また、メタサーバ110も、メタデータ101のうち、グループAの属性情報が設定されているファイル群について静止化を行い、その後、メタボリューム111を制御してスナップショット112を生成する。
なお、通常、スナップショット112,122は、ストレージ内に生成される。したがって、図1−1の場合も、スナップショット112は、メタボリューム111内に生成され、スナップショット122は、データボリューム121内に生成される。
図1−2は、採取したスナップショットのアクセス範囲を示す説明図である。図1−1にて説明したように、本実施の形態では、グループAの属性情報が設定されているファイルが1つでも格納されているデータボリューム121であれば他の属性情報が設定されたファイルが混在する場合であっても、ボリューム単位のスナップショット122を採取する。
また、メタボリューム111に格納されたメタデータ101には、グループAの属性情報が設定されているファイル以外の様々なファイルについての格納位置情報や属性情報が記憶されている。したがって、メタボリューム111のスナップショット112にも、グループAの属性情報が設定されているファイル以外のファイルの格納先を表す格納位置情報や属性情報が含まれている。
メタサーバ110は、グループAを対象としたスナップショット採取要求を受け付けた場合、グループAの属性情報が設定されているファイル群について静止化を行う。したがって、スナップショット122に含まれているファイルのうち、グループAの属性情報が設定されているファイル群は、不整合のない状態に修正されており、整合性が担保されている。
しかしながら、メタサーバ110は、グループAの属性情報が設定されているファイル群以外の他のファイル(例えば、グループBの属性情報が設定されているファイル群)については、静止化を行わない。したがって、スナップショット122に含まれているファイルのうち、グループAの属性情報が設定されているファイル群以外のファイルについては、整合性が担保されておらず、メタサーバ110は、不整合を含んだスナップショット122を採取したことになる。
そこで、メタサーバ110は、採取したスナップショット112,122に含まれるファイルのアクセス範囲を制限する。例えば、メタサーバ110は、グループA,Bの各ファイルが混在したデータボリューム121単位でスナップショット採取を行った場合も、ユーザからはグループAの属性情報が設定されたファイルにしかアクセスできないように制限する。したがって、メタサーバ110は、あたかもグループAの属性情報が設定されているファイル群のみに絞って採取したかのようなスナップショット112,122を提供することができる。
具体的には、図1−2では、属性情報としてグループA,Bのみが設定されているため、メタサーバ110は、スナップショット112に格納されているメタデータ101のうち、グループBの属性情報が設定されているファイル群の格納先を表す情報を削除する。したがって、スナップショット112は、あたかもグループAに関する格納位置情報を表すメタデータ101のみのスナップショットとして提供される。さらに、メタサーバ110は、スナップショット122に格納されているファイルのうち、グループAの属性情報が設定されているファイル群へのアクセスを許可する。そして、メタサーバ110は、スナップショット122に格納されているファイルのうち、グループBの属性情報が設定されているファイル群へのアクセスを禁止する。したがって、グループAのファイルとグループBのファイルが混在しているスナップショット122−2もあたかもグループAのファイルのみのスナップショットとして提供される。
メタサーバ110は、採取したスナップショット112,122に対してアクセス範囲を設けることによって、ユーザがアクセスを指示できるのはグループAの属性情報が設定されているファイル群に限定される。したがって、採取されたスナップショット112,122に含まれるファイルのうち、グループA以外の他のグループ(例えばグループB)の属性情報が設定されているファイル群への誤ったアクセスを未然に防ぐことができる。
また、メタサーバ110によって他のグループの属性情報が設定されているファイル群へのアクセスを禁止するため、スナップショット採取時にデータボリューム121内に属性情報の異なるファイルが混在する場合であっても、データボリューム121に格納されているファイルの種類を留意することなく全ファイルのスナップショットを生成してスナップショットを採取すればよい。すなわち、メタサーバ110は、スナップショット採取時に、ファイルの属性情報の判断処理などのオーバーヘッドの増加要因となる処理を排除できる。
以上説明したように、本実施の形態においてメタサーバ110は、メタデータ101を参照することによって、各データボリューム121−1〜121−3に格納されている各ファイルにどのような属性情報が設定されているかを特定することができる。したがって、メタサーバ110は、各データボリューム121−1〜121−3に直接アクセスしなくとも、指定されたグループの属性情報が設定されたファイル群が格納されているかを判別して、スナップショット採取対象となるデータボリューム121−1,121−2を特定することができる。
その後、メタサーバ110は、特定されたデータボリューム121−1,121−2に格納されているファイル群のうち指定されたグループの属性情報が設定されたファイル群に限定して静止化を行った後、データボリューム121単位でスナップショット122−1,122−2を生成することとなる。
また、メタサーバ110は、スナップショット採取要求を受け付けたファイル以外の他のファイルが誤って利用されるような事態を防ぐために、採取されたスナップショットを構成するファイル群のうち、ユーザがアクセスを指示できるファイルの範囲を制限する。
このように、メタサーバ110によるスナップショット採取は、データボリューム121−1,121−2の絞り込みや限定的な静止化など、スナップショット採取に要する処理を必要最低限に抑えている。したがって、本実施の形態を実現することによって、従来と比べてスナップショット採取時の処理量が削減されオーバーヘッドを抑制することができる。
以下には、本実施の形態にかかるスナップショット採取を実現するための具体的な構成や、詳細な処理内容について説明する。
(クラスタファイルサーバのシステム構成例)
図2は、クラスタファイルサーバのシステム構成例を示す説明図である。図1−1にて説明したファイルサーバのシステム構成例は、具体的には図2のように、メタサーバ110と複数のデータサーバ120−1〜120−Nとを備えたクラスタファイルサーバとして提供される。
また、メタサーバ110とデータサーバ120−1〜120−Nとは、図1−1に例示したように直接接続された構成に限定されない。メタサーバ110とデータサーバ120−1〜120−Nとがそれぞれネットワーク200を介して接続されていればよい。同様に、メタサーバ110がメタデータ101を格納するメタボリューム111や、データサーバ120−1〜120−Nが各種のファイルを格納するデータボリューム121−1〜121−Nも、ネットワーク200に接続され制御可能な構成であればよい。
また、メタサーバ110は、メタボリューム111に格納されているメタデータ101へのアクセスを高速化するためのキャッシュメモリを備えている。メタサーバ110は、メタデータ101に含まれているデータのうち、アクセス頻度の高いデータをキャッシュデータとしてキャッシュメモリに格納することができる。そして、メタサーバ110には、キャッシュメモリに格納されたキャッシュデータとメタデータ101との対応関係を制御するためのファイル制御表が用意されている。
同様に、データサーバ120−1〜120−Nは、それぞれデータボリューム121に格納されている各種のファイルへのアクセスを高速化するためのキャシュメモリを備えている。データサーバ120−1〜120−Nは、それぞれ各種ファイルのうちアクセス頻度の高いファイルをキャシュデータとしてキャッシュメモリに格納することができる。そして、データサーバ120−1〜120−Nにも、それぞれキャッシュデータと各種のファイルとの対応関係を制御するためのファイル制御表が用意されている。
メタサーバ110やデータサーバ120のキャッシュデータの内容が更新されている場合、そのままスナップショット採取を行うと、メタボリューム111やデータボリューム121に格納されている実データ(例えば、メタデータ101や各テナントのユーザが利用する各種のファイル)の内容と不整合が生じてしまう。そこで、メタサーバ110は、スナップショット採取時にキャッシュメモリに格納されているキャッシュデータの更新内容を実データに反映する同期処理を行う必要がある。
通常、同期処理は、定期的または特定のトリガが発生した場合に行われる。すなわち、スナップショット採取要求を受け付けたタイミングでは同期処理が済んでいないキャッシュデータが存在する可能性がある。したがって、メタサーバ110は、スナップショット112,122を採取する前に、同期処理を完了させておく必要がある。
一般的に同期処理は、キャッシュデータの内容が更新され実データと不整合が生じている全ての箇所を対象に実行される。しかしながら、メタサーバ110は、スナップショット採取要求によって指定されたグループの属性情報が設定されたファイル群に限定して同期処理を行えばよい。なお、スナップショット採取時のメタサーバ110およびデータサーバ120の詳細な処理手順については図4−1、図4−2にて説明する。
(ファイルサーバのハードウェア構成例)
図3は、ファイルサーバのハードウェア構成例を示すブロック図である。図3において、各ファイルサーバ(例えば、メタサーバ110やデータサーバ120)は、CPU(Central Processing Unit)301と、ROM(Read Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、ディスプレイ308と、I/F(Interface)309と、キーボード310と、マウス311と、を備えている。また、各構成部はバス300によってそれぞれ接続されている。
ここで、CPU301は、ファイルサーバの全体の制御を司る。ROM302は、ブートプログラムの他に、本実施の形態にかかるスナップショット採取を実現するためのスナップショット採取プログラムなどの各種プログラムを記憶している。なお、スナップショット採取プログラムによる処理内容は、メタサーバ110として機能させる場合と、データサーバ120として機能させる場合とでは異なるが、詳細な処理内容については、図4−1,4−2を用いて詳しく説明する。
RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。なお、ファイルサーバは、磁気ディスク305や光ディスク307をストレージの代わりに利用してもよい。
ディスプレイ308は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ308は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
インターフェース(以下、「I/F」と略する。)309は、通信回線を通じてLAN、WAN(Wide Area Network)、インターネットなどのネットワーク314に接続され、このネットワーク314を介して他の装置に接続される。そして、I/F309は、ネットワーク314と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F309には、例えばモデムやLANアダプタなどを採用することができる。
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
図3によって説明したファイルサーバのハードウェア構成は一例であり、利便性を考慮した上で望ましい構成である。したがって、必ずしも、図3に挙げた全てのハードウェアを用意する必要はない。また、ファイルサーバをメタサーバ110として機能させるか、データサーバ120として機能させるかによって最低限要求される処理の内容は異なる。したがって、各ファイルサーバは、CPU301と、ROM302と、RAM303とに、ファイルサーバのユーザが所望の処理を実現するために必要な最小限のハードウェアが備わっていればよい。
(メタサーバ110の処理手順例)
図4−1は、メタサーバのスナップショット採取時の処理手順例を示すフローチャートである。図4−1のフローチャートは、メタサーバ110がスナップショット採取要求を受け付けて、スナップショット採取要求によって指定された属性情報が設定されているファイル(以下、「対象ファイル」と呼ぶ)を格納しているデータボリューム121のボリューム単位でのスナップショット122の生成と、メタデータ101を格納しているメタボリューム111のボリューム単位でのスナップショット112の生成とが完了するまでの手順を表している。
図4−1の各処理を実行することによって、メタサーバ110は、メタボリューム111に格納されたメタデータ101のボリューム単位でのスナップショット112を生成することができる。同時に、メタサーバ110は、複数のデータボリューム121−1〜121−Nの中から対象ファイルが格納されたデータボリューム121−1,121−2に絞ってボリューム単位でスナップショット122−1,122−2を生成することができる。
図4−1において、まず、メタサーバ110は、ユーザや上位システムからスナップショット採取要求を受け付けたか否かを判断する(ステップS401)。図1−1にて説明したように、スナップショット採取要求には、例えばグループAやグループBなどスナップショットの採取対象となるグループを表す属性情報が指定されている。
メタサーバ110は、スナップショット採取要求を受け付けるまで待機状態となる(ステップS401:Noのループ)。その後、メタサーバ110は、スナップショット採取要求を受け付けると(ステップS401:Yes)、各データボリューム121−1〜121−Nに対して発生したアクセスのうち、対象ファイルに対する新規更新アクセスを保留する(ステップS402)。
例えば、スナップショット採取要求にグループAが指定されていた場合、メタサーバ110は、ステップS402の処理以降、メタデータ101を参照して、新たに受け付けたアクセスが、対象ファイルの更新処理を要求しているか否かを判定する。メタサーバ110は、新たに受け付けたアクセスがグループAの属性情報が設定された対象ファイルへの更新処理を要求していると判定した場合、要求された更新処理を実行せずに保留する。なお、以下のステップにおいてもスナップショット採取要求にグループAが設定されていたものとして説明を行う。したがって、対象ファイルとは、グループAの属性情報が設定されたファイルを意味する。
続いて、メタサーバ110は、データボリューム121−1,121−2を対象としたスナップショット122−1,122−2を採取するための処理を開始する。まず、メタサーバ110は、メタデータ101を参照して、対象ファイルの格納を制御しているデータサーバ120−1,120−2を判別し、キャッシュの同期指示を出力する(ステップS403)。
メタサーバ110は、メタデータ101からグループAの属性情報が設定された対象ファイルを特定し、さらに特定された対象ファイルの格納位置情報から格納先のデータボリューム121−1,121−2を特定している。したがって、ステップS403において、メタサーバ110は、データサーバ121−1〜121−3の中から対象ファイルを格納するデータボリューム121−1,121−2を制御するデータサーバ120−1,120−2にキャッシュの同期指示を出力している。
次に、メタサーバ110は、ステップS403において同期指示を出力した出力先であるデータサーバ120−1,120−2からそれぞれキャッシュの同期についての成功応答を受け付けたか否かを判断する(ステップS404)。ステップS403によってメタサーバ110からキャッシュの同期指示が出力されたデータサーバ120−1,120−2では、それぞれ、管理対象となるデータボリューム121−1,121−2に対してキャッシュの同期が行われる。そして、データサーバ120−1,120−2は、同期が完了するとメタサーバ110に対して成功応答を出力する。
ステップS404のようにキャッシュの同期指示を出力した出力先であるデータサーバ120−1,120−2から成功応答を受け付けていることによって、メタサーバ110は、各データボリューム121−1,121−2が整合性のとれたスナップショット122−1,122−2を採取できる準備が整ったか否かを判断することができる。なお、データサーバ120−1,120−2によって実行されるキャッシュの同期に関する処理の内容については、図4−2にて説明する。
メタサーバ110は、キャッシュの同期指示を出力した出力先のデータサーバ120−1,120−2から成功応答を受け付けるまで待機状態となる(ステップS404:Noのループ)。その後、メタサーバ110は、データサーバ120−1,120−2から成功応答を受け付けると(ステップS404:Yes)、成功応答を受け付けたデータサーバ120−1,120−2が制御するデータボリューム121−1,121−2の中に対象ファイルが格納され、かつ、スナップショット採取指示が未発行であるか否かを判断する(ステップS405)。対象ファイルが格納され、かつ、スナップショット採取指示が未発行とは、対象ファイルを格納しているデータボリューム121−1,121−2のうち、ステップS401以降にスナップショット採取が行われていないものを指す。
メタサーバ110は、例えば、データボリューム121−1,121−2について対象ファイルが格納され、かつ、スナップショット採取指示が未発行であると判断した場合(ステップS405:Yes)、データボリューム121−1,121−2にスナップショット採取指示を出力する(ステップS406)。なお、メタサーバ110は、データボリューム121−1,121−2のスナップショット採取指示が発行済みである場合(ステップS405:No)、ステップS406の処理を省略して、ステップS407に移行する。
メタサーバ110は、データボリューム121−1,121−2に対するスナップショット採取指示を出力すると、出力先のデータボリューム121−1,121−2からスナップショット採取の成功応答を受け付けたか否かを判断する(ステップS407)。なお、メタサーバ110は、ステップS407においてスナップショット採取指示を出力したデータボリューム121−1,121−2からそれぞれ成功応答を受け付けた場合に成功応答を受け付けたと判断する。
メタサーバ110は、スナップショット採取の成功応答を受け付けるまで待機状態となる(ステップS407:Noのループ)。その後、メタサーバ110は、スナップショット採取の成功応答を受け付けると(ステップS407:Yes)、データボリューム121−1,121−2を対象としたスナップショット採取が完了したと判断し、メタボリューム111を対象としたスナップショット採取に移行する。
まず、メタサーバ110は、メタデータ101の中の対象ファイルの不整合を解消するためにメタボリューム111へ同期指示を出力する(ステップS408)。ステップS408では、具体的には、メタサーバ110に、対象ファイルに関連するダーティーキャッシュ(内容が更新されたキャッシュ)が格納されていた場合、メタサーバ110は、ダーティーキャッシュをメタボリューム111に格納されているメタデータ101に同期する。
次に、メタサーバ110は、メタボリューム111にスナップショット採取指示を出力する(ステップS409)。メタサーバ110は、メタボリューム111に対するスナップショット採取指示を出力すると、出力先のメタボリューム111からスナップショット採取の成功応答を受け付けたか否かを判断する(ステップS410)。
メタサーバ110は、スナップショット採取の成功応答を受け付けるまで待機状態となる(ステップS410:Noのループ)。その後、メタサーバ110は、スナップショット採取の成功応答を受け付けると(ステップS410:Yes)、メタボリューム111を対象としたスナップショット採取が完了したと判断する。そして、メタサーバ110は、ステップS402によって開始した対象ファイルに対する新規更新アクセス保留を解除し(ステップS411)、一連の処理を終了する。
(データサーバ120−1,120−2の処理手順例)
図4−2は、データサーバのスナップショット採取時の処理手順例を示すフローチャートである。図4−2のフローチャートは、図4−1のステップS403によって出力されたキャッシュの同期指示を受け付けたデータサーバ120−1,120−2がそれぞれ行う動作の手順を表している。
図4−2のフローチャートにおいて、まず、データサーバ120−1,120−2は、メタサーバ110からキャッシュの同期指示を受け付けたか否かを判断する(ステップS421)。メタサーバ110からのキャッシュの同期指示とは、図4−1にて説明したステップS403において、メタサーバ110から出力されたキャッシュの同期指示である。
メタサーバ110は、ステップS403の処理により、対象ファイルが格納されているデータボリューム121−1,121−2を制御するデータサーバ120−1,120−2に対してキャッシュの同期指示を出力している。したがって、ステップS421においてキャッシュの同期指示を受け付けたデータサーバ120−1,120−2が制御するデータボリューム121−1,121−2は、対象ファイルが格納されているためスナップショット採取の対象となる。以下、データサーバ120−1の処理手順を説明するが、データサーバ120−2においても同様の処理が行われる。
データサーバ120−1は、キャッシュの同期指示を受け付けるまで待機状態となる(ステップS421:Noのループ)。その後、データサーバ120−1は、キャッシュの同期指示を受け付けると(ステップS421:Yes)、対象ファイルが格納されているキャッシュの内容が更新されているか否かを判断する(ステップS422)。
データサーバ120−1は、対象ファイルが格納されているキャッシュの内容が更新されていると判断した場合(ステップS422:Yes)、キャッシュの更新内容をデータボリューム121−1に格納されている対象ファイルに反映する(ステップS423)。また、データボリューム121−1は、データサーバ120−1からの同期指示に応じて設定された対象ファイルの更新内容の反映が終了すると、データサーバ120−1に対して反映の成功応答を出力する。
したがって、データサーバ120−1は、ステップS423の処理が終了すると、データボリューム121−1から反映の成功応答を受け付けたか否かを判断する(ステップS424)。データサーバ120−1は、データボリューム121−1から反映の成功応答を受け付けるまで待機状態となる(ステップS424:Noのループ)。そして、データサーバ120−1は、反映の成功応答を受け付けると(ステップS424:Yes)、同期指示のあったキャッシュを破棄(キャッシュのパージ)した後、メタサーバ110に対して、キャッシュ同期の成功応答を出力して(ステップS425)、一連の処理を終了する。
なお、データサーバ120−1が、対象ファイルについてのキャッシュが更新されていないと判断した場合(ステップS422:No)、キャッシュに格納されている対象ファイルの内容とデータボリューム121−1に格納されている対象ファイルの内容とは同期されている状態にある。そこで、データサーバ120−1は、対象ファイルのキャッシュが更新されていない場合にはステップS423,S424の反映処理を行わずにステップS425の処理を行う。
メタサーバ110は、データサーバ120−1が成功応答を出力することによって、データボリューム121−1のスナップショット生成が可能な状態にあると判断することができる。同様に、メタサーバ110は、データサーバ120−2が成功応答を出力することによって、データボリューム121−2のスナップショット生成が可能な状態にあると判断することができる。
以上説明したように、本実施の形態では、対象ファイルが格納されていれば対象ファイル以外のファイルが格納されているデータボリューム121−2のような場合であっても、メタサーバ110は、ボリューム単位でスナップショットを生成するように制御する。このようにメタサーバ110は、メタデータ101を利用して、処理負荷の少ない簡易な判定処理のみでデータボリューム121−1〜121−Nから、対象ファイルが格納されているスナップショット採取を要するデータボリューム121−1,121−2を絞り込むことができる。
全データボリューム121−1〜121−Nからデータボリューム121−1,121−2に絞り込むことによって、一度のスナップショット採取要求によって生成されるディスクイメージが削減される。そして、データボリューム121−2のように、異なる属性情報が設定されたファイルが混在する場合にも、メタサーバ110は、静止化の対象が対象ファイルに限定されるため、ディスクに書き戻すデータキャッシュ量も大幅に削減される。したがって、一連のスナップショット採取によって発生するオーバーヘッドを削減することができる。
さらに、本実施の形態の場合、グループ単位でスナップショット採取要求を受け付けるため、スナップショット採取を要求しないグループ、または、採取する必要のないグループの属性情報が設定されたファイルのみが格納されたデータボリューム121−3を対象としたスナップショットの採取を回避することができる。したがって、グループを区別せずに全データボリューム121−1〜121−Nを対象としてスナップショットを生成していた場合に発生していた不要なファイルのスナップショットの生成などの無駄な処理を削減することができる。さらに、スナップショット採取を必要としないテナントへの性能干渉を防ぐこともできる。
なお、図1−1、図2では、複数のファイルサーバをメタサーバ110とデータサーバ120−1〜120−Nとに分けた例を説明したが、メタボリューム111、データボリューム121−1〜121−Nを個別に制御可能な機能を備えていれば一台のファイルサーバによって実現してもよい。一台のファイルサーバによってスナップショットを採取する場合、メタサーバ110におけるキャッシュ同期もデータボリューム121−1〜121−Nにおけるキャッシュ同期も同一の装置の処理として実行される。
具体的には、図4−1のステップS403は、メタサーバ110がデータサーバ120−1,120−2へ同時指示を出力し、ステップS404は、メタサーバ110がデータサーバ120−1,120−2からの成功応答を受け付ける処理を表している。一台のファイルサーバの場合、ステップS403,S404の処理は、同一装置の複数の機能部間の信号の送受信に置き換わる。
また、図2では、メタサーバ110とメタボリューム111との接続やデータサーバ120−1〜120−Nとデータボリューム121−1〜121−Nとの接続は、同一のネットワーク200を介して実現しているが、接続例は上記に限らない。たとえばメタボリューム111はメタサーバ110のみに接続され、データサーバ120−1〜120−Nはそれぞれ対応するデータボリューム121−1〜121−Nにのみ接続されていてもよい。メタサーバ110とデータボリューム121−1〜121−Nとがそれぞれ直接接続されてない場合、メタサーバ110からデータボリューム121−1〜121−Nへのスナップショット採取指示は、データサーバ120−1〜120−N経由で実行される。
具体的には、図4−1のステップS406は、メタサーバ110がデータボリューム121−1へスナップショット採取指示を出力し、ステップS407は、メタサーバ110がデータボリューム121−1からの成功応答を受け付ける処理を表している。そこで、ステップS406の処理は、メタサーバ110がデータサーバ120−1を経由してデータボリューム121−1へスナップショット採取指示を出力する処理に置き換わる。同様に、ステップS407の処理も、メタサーバ110は、データサーバ120−1を経由してデータボリューム121−1から出力された成功応答を受け付ける処理に置き換わる。
また、ネットワーク200も、具体的には、LAN(Local Area Network)やSAN(Strage Area Network)など、用途や環境に合わせたネットワークを採用することができる。
メタボリューム111によって生成されたスナップショット112は、メタボリューム111内に格納され、データボリューム121−1,121−2において生成されたスナップショット122−1,122−2は、データボリューム121内に格納されたが、リカバリ用に外部にスナップショットの格納に特化させたストレージを用意して各スナップショット112,122−1,122−2を格納してもよい。
(システム構成例)
図5は、本実装例のシステム構成例を示す説明図である。図5を用いて、本実施の形態にかかるスナップショット採取処理を一般的なファイルサーバシステムに適応させた実装例を説明する。
本実装例では、クラスタファイルシステムの各クライアントファイルシステム上に、複数種類のOSで動作するクライアントが接続されている。そして、本実装例では、図5に例示したシステム全体をマルチテナントファイルサーバ500と呼ぶ。具体的な構成としては、Unix(登録商標)システム(図5に例示したようにUnix規格を満たすLinux(登録商標)システムが採用されることも多い)によって利用されるファイル共用システムであるNFS(Network File System)と、Windows(登録商標)システムによって利用されるファイル共用システムであるCIFS(Common Internet File System)とのプロトコルサーバを融合させた、ファイルサーバを想定する。
マルチテナントファイルサーバ500は、運用ターミナルサーバ510と、メタサーバ520と、共用メタボリューム521と、データサーバ530と、共用データボリューム531と、を備えている。以下にマルチテナントファイルサーバ500を構成する各装置について詳しく説明する。
<運用ターミナルサーバ>
運用ターミナルサーバ510は、スナップショットに関する要求の出力や、スナップショット採取に関する成功応答を受け付ける機能を持ったサーバである。具体的には、運用ターミナルサーバ510は、スナップショットの採取コマンド(スナップ要求)や採取済みスナップショットの参照のための設定(リストア要求)を、メタサーバ520に発行する。なお、マルチテナントファイルサーバ500の場合、運用ターミナルサーバ510は、管理者クライアント装置511によって操作される。
<メタサーバ>
メタサーバ520は、複数のテナントが共用するストレージである共用メタボリューム521へのアクセスを制御する機能を持ったサーバである。具体的には、メタサーバ520は、共用メタボリューム521に格納されているメタデータを構成する各種データの更新/参照を行う。また、メタサーバ520は、データサーバ530からのメタデータの更新/参照要求をサービスする。さらに、メタサーバ520は、データサーバ530に対する各クライアントからのアクセスについての排他処理(クライアントを操作しているテナントに応じてアクセスを許可するか禁止するかなど)をトークン(データの送出権限)の払い出しによって制御する。
<共用メタボリューム>
共用メタボリューム521は、メタデータに関連する各種データを格納する機能を持ったストレージである。具体的には、共用メタボリューム521には、各ファイルのメタデータ(例えば、各ファイルの名前情報、各ファイルの属性情報)と、共用データボリューム531の領域制御データと、上記の各データの更新ログデータとが格納されている。
また、共用メタボリューム521は、SAN540を介して、メタサーバ520からアクセスすることができる。そして、近年の多くのエンタープライズRAID(Redundant Arrays of Inexpensive Disks)システムに見られるように、共用メタボリューム521は、ボリューム全体のスナップショット機能を備えている。したがって、共用メタボリューム521は、メタサーバ520からの指示に応答してメタデータのスナップショット(以下、「メタスナップ」と呼ぶ)を生成することができる。
<データサーバ>
データサーバ530は、テナントが共用するストレージである共用データボリューム531へのアクセスを制御する機能を持ったサーバである。具体的には、データサーバ530は、メタサーバ520と連携して共用メタボリューム521に格納されているメタデータの更新/参照を行う。また、データサーバ530は、共用データボリューム531上の各ファイルの更新/参照を行う。さらに、データサーバ530は、ユーザアプリケーションからのファイルアクセス要求に応答して共用データボリューム531に格納されている各種ファイルにアクセスを行う。
<共用データボリューム>
共用データボリューム531は、各ファイルに関連する各種データを格納する機能を持ったストレージである。具体的には、共用データボリューム531には、ファイルデータ(各ファイルのデータ本体)が格納されている。
また、共用データボリューム531は、各データサーバ530やメタサーバ520から、SAN540を介してアクセスすることができる。そして、近年の多くのエンタープライズRAIDシステムに見られるように、共用データボリューム531は、ボリューム全体のスナップショット機能を備えている。
図5に例示したシステム構成において、メタサーバ520は、図2のメタサーバ110に相当する機能を実現する。また、共用メタボリューム521は、図2のメタボリューム111に相当する機能を実現する。そして、データサーバ530は、図2のデータサーバ120−1〜120−Nに相当する機能を実現する。また、共用データボリューム531は、図2のデータボリューム121−1〜121−Nに相当する機能を実現する。
メタサーバ110とデータサーバ120−1〜120−Nとのスナップショット採取の際の処理(図4−1,図4−2参照)は、1台のファイルサーバによって実行させてもよいと説明したが、同様に、図5に例示した各装置の機能のうち、一部の機能を1台の装置に集約することもできる。具体的には、運用ターミナルサーバ510と、メタサーバ520と、データサーバ530とを1つの装置に集約してもよいし、メタサーバ520と、データサーバ530とを1つの装置に集約してもよい。
マルチテナントファイルサーバ500において、各テナントが利用するクライアント装置上で動作するユーザアプリケーションは、データサーバ520に対してLAN経由で各種ファイルデータについてのI/O要求を発行する。I/O要求のプロトコルの種別として、一般的には、クライアントがUnix環境で動作している場合は、Unix環境で標準的なネットワークファイルシステムプロトコルであるNFSが用いられることが多い。そして、クライアントがWindows環境で動作している場合は、Windows環境で標準的なネットワークファイルシステムプロトコルであるCIFSが用いられることが多い。
ユーザアプリケーションとのインターフェースを司るデータサーバ530が、共用データボリューム531上のファイルデータにアクセスするためには、事前に対象となるファイルデータに関するアクセストークンを取得しておく必要がある。アクセストークンは、メタサーバ520から取得することができる。アクセストークンを利用した共用データボリューム531とデータサーバ530との間のアクセスの排他制御については公知の技術(例えば、特許第3783992号、特許第3866448号)を利用するため、ここでは説明を省略する。
本実装例のマルチテナントファイルサーバ500を利用したシステムでは、複数の互いに関連を持たないクライアント装置が、テナント(異なる企業や、企業内の異なる部署など)という単位にグルーピングされている。そして、マルチテナントファイルサーバ500は、各テナント内のクライアント上のユーザアプリケーションから複数のユーザによって共用される。また、マルチテナントファイルサーバ500は、テナントの所有ファイルに対する他テナントからのアクセスの抑制(およびその逆方向のアクセスの抑制)を行うことができる。
さらに、マルチテナントファイルサーバ500は、他テナントの所有ファイルオブジェクトの存在を隠蔽することもできる。したがって、各クライアントは、あたかも自クライアントに属しているユーザがマルチテナントファイルサーバ500を占有しているかのように利用することができる。
図6は、共用メタボリュームと共用データボリュームとの関係を示す説明図である。マルチテナントファイルサーバ500において、メタサーバ520およびデータサーバ530は、各ファイルデータと、各ファイルを所有するテナントの対応関係を管理する役割を担う。具体的な管理の手法として、本実装例では、図6のように、ファイルの属性情報(メタデータに含まれる情報の一種)として、ファイルデータを所有するテナントの識別情報が管理される。
図6に例示したような属性情報はデータサーバ530側でも他の属性情報(例えば、ファイルタイプ、所有者情報)と共にキャッシュされる。なお、これ以外のファイルデータとテナントの対応関係を管理する手法として、属性情報はそのままで、ファイルデータの所属する名前空間をテナントごとに個別のサブディレクトリになるように構成するという手法を採用してもよい。
(ボリューム構成リスト)
図7は、ボリューム構成リストの構成例を示すデータテーブルである。マルチテナントファイルサーバ500では、図7に例示したようなフィールドを持つボリューム構成リスト700によって各ファイルおよびスナップショットの構成情報を制御する。ボリューム構成リスト700は、通常、メタサーバ520に格納されている。ボリューム構成リスト700を利用することによって、マウントなどのシステム運用操作の要求や、メタサーバ520がスナップ要求処理およびリストア要求処理でアクセスする場合であっても、ユーザアプリケーションにはその存在を隠蔽することができる。
ボリューム構成リスト700は、テナントIDとスナップショットIDによって、スナップショットの採取対象となるテナントや、スナップショットのバージョンを表している。したがって、メタサーバ520は、ボリューム構成リスト700を参照することによって、スナップショットの採取時の対象となるファイルの変動(例えば、データボリュームが削除された、または、追加されたなど)を特定することができる。
例えば、ボリューム構成リスト700のレコード群701は、テナントID、スナップショットIDが共に0に設定されている。すなわち、レコード群701は、現行ボリュームのデータを表している。
また、ボリューム構成リスト700のレコード群702は、テナントID、スナップショットIDが共に1に設定されている。すなわち、レコード群702は、テナント1のユーザアプリケーションによって利用されるバージョン1のスナップショットのデータを表している。テナント1のユーザアプリケーションにおいて、デバイスパス/dev/Sdbのデータはスナップショット対象外であったため、バージョン1のスナップショットのレコード群702には含まれていない。
また、ボリューム構成リスト700のレコード群703は、テナントIDが2に設定され、スナップショットIDが1に設定されている。すなわち、レコード群703は、テナント2のユーザアプリケーションによって利用されるバージョン1のスナップショットのデータを表している。レコード群703は、レコード群702のレコードが表すスナップショットを採取した後、デバイスパス/dev/Sddのデータが削除されている。
また、ボリューム構成リスト700のレコード群704は、テナントID、スナップショットIDが共に2に設定されている。すなわち、レコード群704は、テナント2のユーザアプリケーションによって利用されるバージョン2のスナップショットのデータを表している。レコード群704は、レコード群703のレコードが表すスナップショットを採取した後、新たに、デバイスパス/dev/Sddのデータが追加されている。
マルチテナントファイルサーバ500は、スナップショット採取要求に応じてスナップショットを採取すると、逐一ボリューム構成リスト700へ採取内容を登録する。したがって、マルチテナントファイルサーバ500は、採取されたスナップショットがどのようなデータによって構成されているかを特定することができる。
(スナップショット採取の手順)
図8は、スナップショット採取のシーケンス例を示すシーケンス図である。図8のシーケンス例は、複数のテナントが利用するデータが格納されているデータサーバ530から特定のテナントのスナップショットを採取する手順を表している。以下に、各ステップにおける詳細な処理内容を説明する。
<スナップ要求:ステップS801>
運用ターミナルサーバ510が、メタサーバ520に対して、ある特定のテナント(ここでは、一例としてテナントXについて以下説明する)のスナップショット採取を要求する。具体的には、運用ターミナルサーバ510が、スナップ要求メッセージを発行して、メタサーバ520へ送信する。スナップ要求には、テナントXを識別する属性情報が付加される。なお、運用ターミナルサーバ510が複数のテナントで共用されている場合は、あるテナントの運用管理者が、他テナントの運用操作を不正に行わないような、何らかのセキュリティ制御を行うことが望ましい。
<トークン要求:ステップS802>
メタサーバ520は、ステップS801のスナップ要求を受け付けると、テナントXに属するファイルデータに対して、データサーバ530からの更新系のトークン要求を保留状態にする。なお、ステップS802によって施された保留状態は、後述するステップS810が完了するまで継続される。
データサーバ530は、ステップS802の処理によりテナントXに所属するファイルデータへの更新アクセスを抑制することができる。なお、テナントXに所属するファイル以外のファイルであれば、更新系のトークン要求にかかわらず、アクセスが発生してもスナップショットの採取には影響しない。したがって、ステップS802以降も、テナントXに属さない他のファイルデータへのアクセスは通常通り許可された状態となっている。
また、メタサーバ520は、テナントXに所属するファイルについても、参照系トークン(例えば、データ参照トークン、属性参照トークンなど)に関するトークン要求は、ステップS802以降も通常通り処理して応答することができる。なお、参照系トークン要求を更新系トークン要求と同様に保留にしてもよいが、後述するステップS806において採取されるデータボリュームのデータスナップが、テナントXに属するファイルデータの更新に関連しないため、保留しない場合と同じ結果となる。
また、メタデータの更新要求(例えば、ディレクトリ作成要求、ファイル属性変更要求など)は、後述するステップS809にてメタボリュームのスナップショット処理に至るまで通常の処理を行うことができる。但し、新規のファイルデータの作成に伴い、新たなトークン要求を省略するために新規のファイルデータのトークンも同時に要求されることがある。そのような要求がなされた場合、メタサーバ520は、応答を参照系トークンの付与に限定する。
<トークン回収:ステップS803>
メタサーバ520は、ステップS801のテナントXに属するファイルデータをメタボリューム上(またはメタボリュームをキャッシュしたメモリ上)で検索する。そして、メタサーバ520は、検索された全ての更新系トークンを、データサーバ530から回収する。
ステップS803の処理によって、データサーバ530は、ステップS802と同様に、テナントXに所属するファイルデータへの更新アクセスを抑制することができる。また、テナントXに所属しないファイルデータへのアクセスは通常通り許可するため、テナントXに所属しないファイルデータ以外のトークン回収は特に行わない。
<Write−back:ステップS804>
データサーバ530は、ステップS803によって回収されたトークンに応じてテナントXに所属するファイルデータのWrite−back(共用データボリューム531への書き戻し)を行う。
<トークン反映:ステップS805>
ステップS804のWrite−backが完了すると、データサーバ530は、メタサーバ520に対してトークンによる書き戻し内容を共用メタボリューム521のメタデータに反映させる。
<データスナップ要求:ステップS806>
メタサーバ520は、ステップS805の処理が完了すると、ステップS801のテナントXに属するファイルデータを格納する全ての共用データボリューム531に対して、データスナップ(データボリュームのスナップショット)532の採取を指示する。
その後、メタサーバ520はデータスナップ532の採取の指示への応答を受理すると、ボリューム構成リスト700に応答結果を登録する。なお、データスナップ要求の発行対象となる共用データボリューム531は、必ずしもデータサーバ530が制御する全ての共用データボリューム531とは限らない。当然のことながら、一部の共用データボリューム531には、テナントXに属するファイルデータが格納されていないケースもある。
そこで、ステップS806のデータスナップ要求の受理前後では、各共用データボリューム531に向けた、テナントX以外のテナントのファイルデータのI/Oが継続的に発行されている可能性もある。しかしながら、本マルチテナントファイルサーバ500の運用では、データスナップ532としての整合性を崩さないよう、適切な排他制御が行われていることとする。
<データスナップ応答:ステップS807>
メタサーバ520は、ステップS806のデータスナップ要求に応答して各共用データボリューム531から送信されたデータスナップ532を受信する。
<Write−back:ステップS808>
メタサーバ520は、ステップS807によって応答のあったデータスナップ532に応じてテナントXに所属するファイルデータのメタデータのWrite−back(共用メタボリューム521への書き戻し)を行う。
<メタスナップ要求:ステップS809>
メタサーバ520は、共用メタボリューム521に対して、全てのI/O処理の要求を一旦保留にする。そしてメタサーバ520は、共用メタボリューム521に対して、メタスナップ(メタデータを格納したメタボリュームのスナップショット)522の採取を指示する。
なお、メタサーバ520は、ステップS809において、テナントXに関係のないオブジェクトの更新要求(例えば、MKDIR要求、CREATE要求など)も保留にする。この保留は、共用メタボリューム521としての整合性を、メタスナップ522に求めるためである。共用メタボリューム521には、例えば、スーパーブロックなど、必ずしもテナントごとに分けられていないデータも含まれている。したがって、テナントXに関係のないオブジェクトの更新要求を保留にしなければ整合性を保てない場合がある。
<メタスナップ応答:ステップS810>
メタサーバ520は、ステップS809のメタスナップ要求の応答を受理すると、ボリューム構成リスト700にエントリを登録する。さらに、メタサーバ520は、保留にしていたI/O処理を再開しステップS811の処理へ移行する。
<スナップ応答:ステップS811>
最後に、メタサーバ520は、ステップS802の処理によって保留にしていたトークン要求の処理を再開する。さらに、メタサーバ520は、ステップS801のスナップ要求発行元である運用ターミナルサーバ510に対して正常終了を応答して、一連の処理を終了する。
なお、以上説明したシーケンスにおいて、スナップ要求は必ずしも同期RPC(Remote Procedure Call)である必要はない。運用ターミナルサーバへ処理完了をCALLBACKする形態であったり、逆に運用ターミナルサーバ510から処理完了をポーリングする形態であってもよい。
<テナントXについてのスナップショット採取の手順>
図9〜図12は、テナントXについてのスナップショット採取の手順を示す説明図である。図9〜図12を用いて、図8にて説明したシーケンスによって、テナントXに関するスナップショットがどのようにして採取するか、順を追って説明する。
(1)スナップショットの採取要求の受け付け
まず、図9を用いて、テナントXについてのスナップショットの採取要求の受け付けについて説明する。図9では運用ターミナルサーバ510は、テナントXについてのスナップ要求を受け付ける。なお、図9のように、テナントXは、全データサーバ530のうち、「1」、「2」のデータサーバ530にアクセスして、各種のファイルデータを利用している。
(2)スナップショット採取対象となるファイルの特定
次に、図10を用いて、テナントXのスナップショットの採取対象となるファイルの特定について説明する。図10のように、テナントXについてのスナップ要求に応答すると、メタサーバ520は、共用メタボリューム521に格納されているメタデータを参照して、各共用データボリューム531のうち、テナントXの属性情報が設定されている対象ファイルが格納されている共用データボリューム531を特定する。したがって、データサーバ530のうち、「1」、「2」のデータサーバ530に対応する2台の共用データボリューム531がスナップショットの採取対象として特定される。
(3)スナップショットの生成
続いて、図11を用いて、テナントXの属性情報が設定されている対象ファイルが格納されている共用データボリューム531のスナップショットの生成について説明する。テナントXの属性情報が設定されている対象ファイルを制御するデータサーバ530が特定されると、「1」、「2」のデータサーバ530は、テナントXの属性情報が設定されている対象ファイルが格納されている「1」、「2」の共用データボリューム531を制御して、テナントXの属性情報が設定されている対象ファイルが格納された各共用データボリューム531のデータスナップ532を生成する。その後、メタサーバ520は、共用メタボリューム521を制御してメタスナップ522を生成する。
(4)ボリューム構成リストの更新
最後に、図12を用いて、テナントXについてのスナップショットを採取した後のボリューム構成リスト700の更新について説明する。図12のように、メタサーバ520は、ボリューム構成リスト700に対して、テナントXの今回のスナップショット(例えば、スナップショットID=3)のレコード群1000を登録する。
(スナップショットを利用したリストア処理)
図13は、スナップショットを利用したリストア処理のシーケンス例を示すシーケンス図である。図13を用いて、新たに採取したテナントXのスナップショットに対して、テナントXに属するユーザからのアクセスの指示を可能にするためのリストア処理について説明する。図13では、マルチテナントファイルサーバ500のシステム構成において、運用ターミナルサーバ510からメタサーバ520へのリストア要求をトリガとしたメッセージの内容について説明する。
<リストア要求:ステップS1301>
まず、運用ターミナルサーバ510は、メタサーバ520に対して、リストア要求を出力する。リストア要求とは、図8のような処理によって採取したテナントX用のスナップショットの復旧を指示する信号である。リストア要求には、リストア処理の対象となるスナップショットを特定するためテナントXを識別する属性情報と、復旧対象のボリューム識別情報(V)とが付加されている。
<マウント:ステップS1302,S1303>
メタサーバ520は、ステップS1301のリストア要求で指定された、テナントX用のボリューム識別情報(V)を構成する、メタスナップ522およびデータスナップ532をマウントする。また、メタサーバ520は、特定のスナップショットを構成するメタスナップ522のリストを、ボリューム構成リスト700にて管理する。そして、メタサーバ520は、ボリューム構成リスト700に登録されているテナント以外の管理対象外のテナントIDまたはスナップショットIDが提供された場合は、エラー応答する。
<更新:ステップS1304>
メタサーバ520は、ステップS1303によってマウントしたメタスナップ522上で、ステップS1302でマウントしたデータスナップ532以外のデータボリュームが登録されていた場合、データスナップ532以外のデータボリュームを強制的に削除扱い(実際に削除してもよいし、アクセスできないようにアドレスを消去してもよい)にする。共用データボリューム531のデータスナップ532は、テナントXのファイルデータの格納に特化しているため、ステップS1304の処理によって不整合を是正する。
<リストア応答:ステップS1305>
最後にメタサーバ520は、ステップS1301のリストア要求の発行元である運用ターミナルサーバ510に対して正常応答する。さらに、メタサーバ520は、ステップS1302〜S1304によって復旧したスナップショット(データスナップ532およびメタスナップ522)へのアクセスの受け付けを開始する。なお、アクセスの受け付けは、アクセス種別の参照に限り、さらに、テナントXに属するファイルデータに限定する。
上述のようなアクセスの限定は、スナップショットを採取するテナントX以外のテナントに関わるメタスナップ522とデータスナップ532との間の不整合を許容しており、その不整合の影響を受けるファイル要求を抑制するためである。
以上説明したように、本実施の形態にかかるスナップショット採取プログラム、サーバおよびスナップショット採取方法によれば、複数のストレージのうち、特定の属性情報が設定されたファイルデータが格納されているストレージであればストレージ単位でスナップショットを生成させることによって要求されたスナップショット採取を実現する。したがって、簡易な判断でスナップショット採取の対象となるストレージを絞り込むことができる。したがって、一度のスナップショット採取によって生成されるディスクイメージを大幅に削減することができる。また、静止化の際にディスクに書き戻すデータキャッシュ量も大幅に削減される。したがって、一連のスナップショットの採取によって発生するオーバーヘッドを削減することができる。
また、本実施の形態では、スナップショット採取の際にスナップショットを生成したくない、または、生成する必要のないファイルが格納されたストレージについては、スナップショットの生成を回避することができる。したがって、スナップショット採取を受け付けて全データを対象としてスナップショットを生成するような場合に発生していた不必要なストレージを対象としたスナップショットの生成を削減することができる。さらに、スナップショットを生成する必要のないテナントへの性能干渉を防ぐこともできる。
また、本実施の形態では、スナップショットの採取要求を受け付けた場合に、オーバーヘッドの要因となっていた静止化はストレージに格納された多数のファイルのうち整合性を保つ必要があるファイルのみ実行すればよい。したがって、オーバーヘッドが削減されると共に整合性のあるスナップショットを採取する必要がないファイルに関してはアクセスの制御が回避され、通常通りの運用を提供することができる。
さらに、本実施の形態では、採取したスナップショットに対してアクセスが発生した場合に、指定されたグループの属性情報が設定されたファイル群にのみアクセスできるようにアクセス範囲を制限することもできる。すなわち、スナップショットに含まれる全ファイルのうち、指定されたグループの属性情報が設定されたファイル群をアクセス許可し、その他のファイルをアクセス禁止とする。
アクセス禁止とされたファイルは、スナップショットを生成する前に、静止化による保留や同期が施されていないため、整合性を担保できていない。したがって、スナップショットのアクセス範囲を限定することによって、スナップショットの利用者が誤って不整合を含んだファイルへのアクセスの指示を行っても、誤ったファイルが参照されるような事態を防ぐことができる。
なお、本実施の形態で説明したスナップショット採取方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。本スナップショット採取プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)各々データ群が格納された複数のデータ格納装置と、前記各データ群の各データに設定された属性情報および前記複数のデータ格納装置のうちいずれのデータ格納装置に格納されているかを示す格納位置情報を有するメタデータが格納された保管装置と、を制御可能なコンピュータに、
特定の属性情報が設定された特定のデータ群のスナップショットの採取要求を受け付ける受付工程と、
前記採取要求が受け付けられると、前記保管装置に格納された前記メタデータの属性情報と格納位置情報とに基づいて、前記複数のデータ格納装置の各々について、前記特定のデータ群のいずれかのデータが格納されているか否かを判定する判定工程と、
前記特定のデータ群のいずれかのデータが格納されていると判定された特定のデータ格納装置を制御して、前記判定されたデータ格納装置に格納されている前記データ群のスナップショットを生成すると共に、前記保管装置を制御して、前記メタデータのスナップショットを生成する生成工程と、
を実行させることを特徴とするスナップショット採取プログラム。
(付記2)前記採取要求が受け付けられると、前記複数のデータ格納装置を制御して、前記採取要求の受け付け以降に前記特定のデータ群のいずれかのデータに対して発生したアクセスを保留状態にする保留工程と、
前記データ群のスナップショットおよび前記メタデータのスナップショットが生成された後、前記複数のデータ格納装置を制御して、前記保留状態を解除する解除工程と、
を前記コンピュータに実行させることを特徴とする付記1に記載のスナップショット採取プログラム。
(付記3)前記保留工程は、
前記採取要求の受け付け以前に前記特定のデータ群のいずれかのデータに対して発生したアクセスが終了すると、前記複数のデータ格納装置を制御して、前記特定のデータ群のいずれかのデータに対して発生したアクセスを保留状態にすることを特徴とする付記2に記載のスナップショット採取プログラム。
(付記4)前記保留工程は、
前記複数のデータ格納装置を制御して、前記採取要求の受け付け以降に発生したアクセスのうち、前記特定のデータ群のいずれかのデータを更新するアクセスのみを保留状態にすることを特徴とする付記2または3に記載のスナップショット採取プログラム。
(付記5)前記判定されたデータ格納装置に格納された前記特定のデータ群のいずれかのデータが、前記判定されたデータ格納装置に格納された前記データ群のいずれかのデータを一時的に蓄積する第1のキャッシュメモリに蓄積されていた場合、前記判定されたデータ格納装置を制御して、前記第1のキャッシュメモリに蓄積されている前記特定のデータ群のいずれかのデータと、前記判定されたデータ格納装置に格納されている前記特定のデータ群のいずれかのデータとを同期させる第1の同期工程と、
前記第1の同期工程による同期が完了した後、前記保管装置に格納されている前記特定のデータ群のいずれかのデータの前記属性情報および前記格納位置情報を表すメタデータが、前記メタデータを一時的に蓄積する第2のキャッシュメモリに蓄積されていた場合、前記保管装置を制御して、前記第2のキャッシュメモリに蓄積されている前記メタデータと、前記保管装置に格納されている前記メタデータとを同期させる第2の同期工程と、を前記コンピュータに実行させ、
前記生成工程は、
前記第2の同期工程による同期が完了した後、前記判定されたデータ格納装置を制御して、前記データ群のスナップショットを生成させると共に、前記保管装置を制御して、前記メタデータのスナップショットを生成させることを特徴とする付記1〜4のいずれか一つに記載のスナップショット採取プログラム。
(付記6)前記メタデータのスナップショットに含まれている前記特定のデータ群以外のデータに設定された前記属性情報および前記格納位置情報を削除する削除工程を、前記コンピュータに実行させることを特徴とする付記1〜5のいずれか一つに記載のスナップショット採取プログラム。
(付記7)前記データ群のスナップショットのうち、前記特定のデータ群のいずれかのデータのスナップショットのみアクセス可能に設定する設定工程を、前記コンピュータに実行させることを特徴とする付記1〜6のいずれか一つに記載のスナップショット採取プログラム。
(付記8)各々データ群が格納された複数のデータ格納装置と、前記各データ群の各データに設定された属性情報および前記複数のデータ格納装置のうちいずれのデータ格納装置に格納されているかを示す格納位置情報を有するメタデータが格納された保管装置と、を制御可能なサーバであって、
特定の属性情報が設定された特定のデータ群のスナップショットの採取要求を受け付ける受付手段と、
前記採取要求が受け付けられると、前記保管装置に格納された前記メタデータの属性情報と格納位置情報とに基づいて、前記複数のデータ格納装置の各々について、前記特定のデータ群のいずれかのデータが格納されているか否かを判定する判定手段と、
前記特定のデータ群のいずれかのデータが格納されていると判定されたデータ格納装置を制御して、前記判定されたデータ格納装置に格納されている前記データ群のスナップショットを生成すると共に、前記保管装置を制御して、前記メタデータのスナップショットを生成する生成手段と、
を備えることを特徴とするサーバ。
(付記9)前記採取要求が受け付けられると、前記複数のデータ格納装置を制御して、前記採取要求の受け付け以降に前記特定のデータ群のいずれかのデータに対して発生したアクセスを保留状態にする保留手段と、
前記データ群のスナップショットおよび前記メタデータのスナップショットが生成された後、前記複数のデータ格納装置を制御して、前記保留状態を解除する解除手段と、
を備えることを特徴とする付記8に記載のサーバ。
(付記10)前記保留手段は、
前記採取要求の受け付け以前に前記特定のデータ群のいずれかのデータに対して発生したアクセスが終了すると、前記複数のデータ格納装置を制御して、前記特定のデータ群のいずれかのデータに対して発生したアクセスを保留状態にすることを特徴とする付記9に記載のサーバ。
(付記11)前記保留手段は、
前記複数のデータ格納装置を制御して、前記採取要求の受け付け以降に発生したアクセスのうち、前記特定のデータ群のいずれかのデータを更新するアクセスのみを保留状態にすることを特徴とする付記9または10に記載のサーバ。
(付記12)前記判定されたデータ格納装置に格納された前記特定のデータ群のいずれかのデータが、前記判定されたデータ格納装置に格納された前記データ群のいずれかのデータを一時的に蓄積する第1のキャッシュメモリに蓄積されていた場合、前記判定されたデータ格納装置を制御して、前記第1のキャッシュメモリに蓄積されている前記特定のデータ群のいずれかのデータと、前記判定されたデータ格納装置に格納されている前記特定のデータ群のいずれかのデータとを同期させる第1の同期手段と、
前記第1の同期手段による同期が完了した後、前記保管装置に格納されている前記特定のデータ群のいずれかのデータの前記属性情報および前記格納位置情報を表すメタデータが、前記メタデータを一時的に蓄積する第2のキャッシュメモリに蓄積されていた場合、前記保管装置を制御して、前記第2のキャッシュメモリに蓄積されている前記メタデータと、前記保管装置に格納されている前記メタデータとを同期させる第2の同期手段と、を備え、
前記生成手段は、
前記第2の同期手段による同期が完了した後、前記判定されたデータ格納装置を制御して、前記データ群のスナップショットを生成すると共に、前記保管装置を制御して、前記メタデータのスナップショットを生成することを特徴とする付記9〜11のいずれか一つに記載のサーバ。
(付記13)前記メタデータのスナップショットに含まれている前記特定のデータ群以外のデータに設定された前記属性情報および前記格納位置情報を削除する削除手段を、備えることを特徴とする付記9〜12のいずれか一つに記載のサーバ。
(付記14)前記データ群のスナップショットのうち、前記特定のデータ群のいずれかのデータのスナップショットのみアクセス可能に設定する設定手段を、備えることを特徴とする付記9〜13のいずれか一つに記載のサーバ。
(付記15)各々データ群が格納された複数のデータ格納装置と、前記各データ群の各データに設定された属性情報および前記複数のデータ格納装置のうちいずれのデータ格納装置に格納されているかを示す格納位置情報を有するメタデータが格納された保管装置と、を制御可能なコンピュータが、
特定の属性情報が設定された特定のデータ群のスナップショットの採取要求を受け付ける受付工程と、
前記採取要求が受け付けられると、前記保管装置に格納された前記メタデータの属性情報と格納位置情報とに基づいて、前記複数のデータ格納装置の各々について、前記特定のデータ群のいずれかのデータが格納されているか否かを判定する判定工程と、
前記特定のデータ群のいずれかのデータが格納されていると判定されたデータ格納装置を制御して、前記判定されたデータ格納装置に格納されている前記データ群のスナップショットを生成すると共に、前記保管装置を制御して、前記メタデータのスナップショットを生成する生成工程と、
を実行することを特徴とするスナップショット採取方法。
(付記16)前記採取要求が受け付けられると、前記複数のデータ格納装置を制御して、前記採取要求の受け付け以降に前記特定のデータ群のいずれかのデータに対して発生したアクセスを保留状態にする保留工程と、
前記データ群のスナップショットおよび前記メタデータのスナップショットが生成された後、前記複数のデータ格納装置を制御して、前記保留状態を解除する解除工程と、
を前記コンピュータが実行することを特徴とする付記15に記載のスナップショット採取方法。
(付記17)前記保留工程は、
前記採取要求の受け付け以前に前記特定のデータ群のいずれかのデータに対して発生したアクセスが終了すると、前記複数のデータ格納装置を制御して、前記特定のデータ群のいずれかのデータに対して発生したアクセスを保留状態にすることを特徴とする付記16に記載のスナップショット採取方法。
(付記18)前記保留工程は、
前記複数のデータ格納装置を制御して、前記採取要求の受け付け以降に発生したアクセスのうち、前記特定のデータ群のいずれかのデータを更新するアクセスのみを保留状態にすることを特徴とする付記16または17に記載のスナップショット採取方法。
(付記19)前記コンピュータが、
前記判定されたデータ格納装置に格納された前記特定のデータ群のいずれかのデータが、前記判定されたデータ格納装置に格納された前記データ群のいずれかのデータを一時的に蓄積する第1のキャッシュメモリに蓄積されていた場合、前記判定されたデータ格納装置を制御して、前記第1のキャッシュメモリに蓄積されている前記特定のデータ群のいずれかのデータと、前記判定されたデータ格納装置に格納されている前記特定のデータ群のいずれかのデータとを同期させる第1の同期工程と、
前記第1の同期工程による同期が完了した後、前記保管装置に格納されている前記特定のデータ群のいずれかのデータの前記属性情報および前記格納位置情報を表すメタデータが、前記メタデータを一時的に蓄積する第2のキャッシュメモリに蓄積されていた場合、前記保管装置を制御して、前記第2のキャッシュメモリに蓄積されている前記メタデータと、前記保管装置に格納されている前記メタデータとを同期させる第2の同期工程と、を実行し、
前記生成工程は、
前記第2の同期工程による同期が完了した後、前記判定されたデータ格納装置を制御して、前記データ群のスナップショットを生成すると共に、前記保管装置を制御して、前記メタデータのスナップショットを生成することを特徴とする付記15〜18のいずれか一つに記載のスナップショット採取方法。
(付記20)前記コンピュータが、
前記メタデータのスナップショットに含まれている前記特定のデータ群以外のデータに設定された前記属性情報および前記格納位置情報を削除する削除工程を、実行することを特徴とする付記15〜19のいずれか一つに記載のスナップショット採取方法。
(付記21)前記コンピュータが、
前記データ群のスナップショットのうち、前記特定のデータ群のいずれかのデータのスナップショットのみアクセス可能に設定する設定工程を、実行することを特徴とする付記15〜20のいずれか一つに記載のスナップショット採取方法。
101 メタデータ
110 メタサーバ
111 メタボリューム
112 スナップショット(メタボリューム)
120−1〜120−N データサーバ
121−1〜121−N データボリューム
122 スナップショット(データボリューム)
200 ネットワーク
500 マルチテナントファイルサーバ
510 運用ターミナルサーバ
511 管理者クライアント装置
520 メタサーバ
521 共用メタボリューム
522 メタスナップ
530 データサーバ
531 共用データボリューム
532 データスナップ
540 SAN(Strage Area Network)

Claims (9)

  1. 各々データ群が格納された複数のデータ格納装置と、前記各データ群の各データに設定された属性情報および前記複数のデータ格納装置のうちいずれのデータ格納装置に格納されているかを示す格納位置情報を有するメタデータが格納された保管装置と、を制御可能なコンピュータに、
    特定の属性情報が設定された特定のデータ群のスナップショットの採取要求を受け付ける受付工程と、
    前記採取要求が受け付けられると、前記保管装置に格納された前記メタデータの属性情報と格納位置情報とに基づいて、前記複数のデータ格納装置の各々について、前記特定のデータ群のいずれかのデータが格納されているか否かを判定する判定工程と、
    前記特定のデータ群のいずれかのデータが格納されていると判定されたデータ格納装置を制御して、前記判定されたデータ格納装置に格納されている前記データ群のスナップショットを生成すると共に、前記保管装置を制御して、前記メタデータのスナップショットを生成する生成工程と、
    を実行させることを特徴とするスナップショット採取プログラム。
  2. 前記採取要求が受け付けられると、前記複数のデータ格納装置を制御して、前記採取要求の受け付け以降に前記特定のデータ群のいずれかのデータに対して発生したアクセスを保留状態にする保留工程と、
    前記データ群のスナップショットおよび前記メタデータのスナップショットが生成された後、前記複数のデータ格納装置を制御して、前記保留状態を解除する解除工程と、
    を前記コンピュータに実行させることを特徴とする請求項1に記載のスナップショット採取プログラム。
  3. 前記保留工程は、
    前記採取要求の受け付け以前に前記特定のデータ群のいずれかのデータに対して発生したアクセスが終了すると、前記複数のデータ格納装置を制御して、前記特定のデータ群のいずれかのデータに対して発生したアクセスを保留状態にすることを特徴とする請求項2に記載のスナップショット採取プログラム。
  4. 前記保留工程は、
    前記複数のデータ格納装置を制御して、前記採取要求の受け付け以降に発生したアクセスのうち、前記特定のデータ群のいずれかのデータを更新するアクセスのみを保留状態にすることを特徴とする請求項2または3に記載のスナップショット採取プログラム。
  5. 前記判定されたデータ格納装置に格納された前記特定のデータ群のいずれかのデータが、前記判定されたデータ格納装置に格納された前記データ群のいずれかのデータを一時的に蓄積する第1のキャッシュメモリに蓄積されていた場合、前記判定されたデータ格納装置を制御して、前記第1のキャッシュメモリに蓄積されている前記特定のデータ群のいずれかのデータと、前記判定されたデータ格納装置に格納されている前記特定のデータ群のいずれかのデータとを同期させる第1の同期工程と、
    前記第1の同期工程による同期が完了した後、前記保管装置に格納されている前記特定のデータ群のいずれかのデータの前記属性情報および前記格納位置情報を表すメタデータが、前記メタデータを一時的に蓄積する第2のキャッシュメモリに蓄積されていた場合、前記保管装置を制御して、前記第2のキャッシュメモリに蓄積されている前記メタデータと、前記保管装置に格納されている前記メタデータとを同期させる第2の同期工程と、を前記コンピュータに実行させ、
    前記生成工程は、
    前記第2の同期工程による同期が完了した後、前記判定されたデータ格納装置を制御して、前記データ群のスナップショットを生成すると共に、前記保管装置を制御して、前記メタデータのスナップショットを生成することを特徴とする請求項1〜4のいずれか一つに記載のスナップショット採取プログラム。
  6. 前記メタデータのスナップショットに含まれている前記特定のデータ群以外のデータに設定された前記属性情報および前記格納位置情報を削除する削除工程を、前記コンピュータに実行させることを特徴とする請求項1〜5のいずれか一つに記載のスナップショット採取プログラム。
  7. 前記データ群のスナップショットのうち、前記特定のデータ群のいずれかのデータのスナップショットのみアクセス可能に設定する設定工程を前記コンピュータに実行させることを特徴とする請求項1〜6のいずれか一つに記載のスナップショット採取プログラム。
  8. 各々データ群が格納された複数のデータ格納装置と、前記各データ群の各データに設定された属性情報および前記複数のデータ格納装置のうちいずれのデータ格納装置に格納されているかを示す格納位置情報を有するメタデータが格納された保管装置と、を制御可能なサーバであって、
    特定の属性情報が設定された特定のデータ群のスナップショットの採取要求を受け付ける受付手段と、
    前記採取要求が受け付けられると、前記保管装置に格納された前記メタデータの属性情報と格納位置情報とに基づいて、前記複数のデータ格納装置の各々について、前記特定のデータ群のいずれかのデータが格納されているか否かを判定する判定手段と、
    前記特定のデータ群のいずれかのデータが格納されていると判定されたデータ格納装置を制御して、前記判定されたデータ格納装置に格納されている前記データ群のスナップショットを生成すると共に、前記保管装置を制御して、前記メタデータのスナップショットを生成する生成手段と、
    を備えることを特徴とするサーバ。
  9. 各々データ群が格納された複数のデータ格納装置と、前記各データ群の各データに設定された属性情報および前記複数のデータ格納装置のうちいずれのデータ格納装置に格納されているかを示す格納位置情報を有するメタデータが格納された保管装置と、を制御可能なコンピュータが、
    特定の属性情報が設定された特定のデータ群のスナップショットの採取要求を受け付ける受付工程と、
    前記採取要求が受け付けられると、前記保管装置に格納された前記メタデータの属性情報と格納位置情報とに基づいて、前記複数のデータ格納装置の各々について、前記特定のデータ群のいずれかのデータが格納されているか否かを判定する判定工程と、
    前記特定のデータ群のいずれかのデータが格納されていると判定されたデータ格納装置を制御して、前記判定されたデータ格納装置に格納されている前記データ群のスナップショットを生成すると共に、前記保管装置を制御して、前記メタデータのスナップショットを生成する生成工程と、
    を実行することを特徴とするスナップショット採取方法。
JP2010290557A 2010-12-27 2010-12-27 スナップショット採取プログラム、サーバおよびスナップショット採取方法 Expired - Fee Related JP5541149B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010290557A JP5541149B2 (ja) 2010-12-27 2010-12-27 スナップショット採取プログラム、サーバおよびスナップショット採取方法
US13/137,981 US8843439B2 (en) 2010-12-27 2011-09-22 Computer product, server, and snapshot collection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010290557A JP5541149B2 (ja) 2010-12-27 2010-12-27 スナップショット採取プログラム、サーバおよびスナップショット採取方法

Publications (2)

Publication Number Publication Date
JP2012137977A true JP2012137977A (ja) 2012-07-19
JP5541149B2 JP5541149B2 (ja) 2014-07-09

Family

ID=46318260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010290557A Expired - Fee Related JP5541149B2 (ja) 2010-12-27 2010-12-27 スナップショット採取プログラム、サーバおよびスナップショット採取方法

Country Status (2)

Country Link
US (1) US8843439B2 (ja)
JP (1) JP5541149B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015506507A (ja) * 2011-12-21 2015-03-02 マイクロソフト コーポレーション アプリケーション間の統一性を有する共有されるボリュームのスナップショット
JP2017510004A (ja) * 2014-03-31 2017-04-06 アマゾン・テクノロジーズ・インコーポレーテッド 分散格納システムにおけるセッション管理
US10372685B2 (en) 2014-03-31 2019-08-06 Amazon Technologies, Inc. Scalable file storage service

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542432B2 (en) * 2011-09-30 2017-01-10 Oracle International Corporation Systems and methods for multitenancy data
US9529576B2 (en) 2011-09-30 2016-12-27 Oracle International Corporation Systems and methods for object to XML mappings
US8977594B2 (en) * 2012-12-21 2015-03-10 Zetta Inc. Systems and methods for state consistent replication
US20150237400A1 (en) * 2013-01-05 2015-08-20 Benedict Ow Secured file distribution system and method
US20140344539A1 (en) 2013-05-20 2014-11-20 Kaminario Technologies Ltd. Managing data in a storage system
WO2016018446A1 (en) 2014-07-29 2016-02-04 Hewlett-Packard Development Company, L.P. Virtual file server
US10678650B1 (en) * 2015-03-31 2020-06-09 EMC IP Holding Company LLC Managing snaps at a destination based on policies specified at a source
US9740699B1 (en) * 2016-09-13 2017-08-22 International Business Machines Corporation File creation with location limitation capability in storage cluster environments
US11175845B2 (en) 2018-04-05 2021-11-16 International Business Machines Corporation Adding a migration file group to a hierarchical storage management (HSM) system for data co-location
US11175846B2 (en) * 2019-04-11 2021-11-16 International Business Machines Corporation Data co-location in a hierarchical storage management (HSM) system
US10936231B2 (en) 2019-04-22 2021-03-02 EMC IP Holding Company LLC Allocating snapshot group identifiers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP2005050143A (ja) * 2003-07-29 2005-02-24 Hitachi Ltd スナップショットの取得を制御するための装置及び記憶システム
JP2007272874A (ja) * 2006-03-07 2007-10-18 Hitachi Ltd クラスタ化ファイルシステムにおいてデータのバックアップを取る方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11120056A (ja) 1997-10-09 1999-04-30 Fuji Electric Co Ltd プロジェクトデータの退避復元方法
US7475098B2 (en) 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots
US7228320B2 (en) 2004-11-17 2007-06-05 Hitachi, Ltd. System and method for creating an object-level snapshot in a storage system
US8990153B2 (en) * 2006-02-07 2015-03-24 Dot Hill Systems Corporation Pull data replication model
US8364648B1 (en) * 2007-04-09 2013-01-29 Quest Software, Inc. Recovering a database to any point-in-time in the past with guaranteed data consistency
JP5076736B2 (ja) 2007-08-27 2012-11-21 日本電気株式会社 計算機システム、ストレージ、アクセス制御方法およびアクセス制御用プログラム
US8271751B2 (en) * 2008-04-24 2012-09-18 Echostar Technologies L.L.C. Systems and methods for reliably managing files in a computer system
US8306950B2 (en) * 2010-08-26 2012-11-06 International Business Machines Corporation Managing data access requests after persistent snapshots

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP2005050143A (ja) * 2003-07-29 2005-02-24 Hitachi Ltd スナップショットの取得を制御するための装置及び記憶システム
JP2007272874A (ja) * 2006-03-07 2007-10-18 Hitachi Ltd クラスタ化ファイルシステムにおいてデータのバックアップを取る方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015506507A (ja) * 2011-12-21 2015-03-02 マイクロソフト コーポレーション アプリケーション間の統一性を有する共有されるボリュームのスナップショット
JP2017510004A (ja) * 2014-03-31 2017-04-06 アマゾン・テクノロジーズ・インコーポレーテッド 分散格納システムにおけるセッション管理
US10264071B2 (en) 2014-03-31 2019-04-16 Amazon Technologies, Inc. Session management in distributed storage systems
US10372685B2 (en) 2014-03-31 2019-08-06 Amazon Technologies, Inc. Scalable file storage service

Also Published As

Publication number Publication date
JP5541149B2 (ja) 2014-07-09
US20120166389A1 (en) 2012-06-28
US8843439B2 (en) 2014-09-23

Similar Documents

Publication Publication Date Title
JP5541149B2 (ja) スナップショット採取プログラム、サーバおよびスナップショット採取方法
US11263173B2 (en) Transaction log index generation in an enterprise backup system
US20210294510A1 (en) Deduplication replication in a distributed deduplication data storage system
US11016696B2 (en) Redundant distributed data storage system
US20200192899A1 (en) Query caching during backup within an enterprise information management system
US9442952B2 (en) Metadata structures and related locking techniques to improve performance and scalability in a cluster file system
US7974950B2 (en) Applying a policy criteria to files in a backup image
US9558194B1 (en) Scalable object store
US7596713B2 (en) Fast backup storage and fast recovery of data (FBSRD)
US8473636B2 (en) Information processing system and data management method
US10536522B2 (en) Data storage system with LUN archiving to cloud using volume-to-object translation
US11347707B2 (en) File indexing for virtual machine backups based on using live browse features
US11449486B2 (en) File indexing for virtual machine backups in a data storage management system
US11182094B2 (en) Performing a recovery copy command using a recovery copy data structure for a backup volume lookup
EP1636690B1 (en) Managing a relationship between one target volume and one source volume
US11615147B2 (en) Mobile storage manager control application for managing a storage manager of an information management system
US20170228383A1 (en) Active archive bridge
US10789132B2 (en) Performing a recovery copy command to create a recovery volume for a consistency group
US20230195926A1 (en) Controlling information privacy in a shared data storage management system
US20240111716A1 (en) Data analytics systems for file systems including examples of path generation
US11675668B2 (en) Leveraging a cloud-based object storage to efficiently manage data from a failed backup operation
US20230153010A1 (en) Pruning data segments stored in cloud storage to reclaim cloud storage space

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140319

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: 20140408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140421

R150 Certificate of patent or registration of utility model

Ref document number: 5541149

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees