IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲 検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
 
developerworks > My developerWorks >  Dashboard > FastBack Japan Wiki > FastBack Japan Wiki > (技術者の方向け)FastBackのシカケ
developerWorks
Log In   View a printable version of the current page.
(技術者の方向け)FastBackのシカケ
Added by ISHIDA, last edited by ISHIDA on Sep 14, 2009  (view change)
Labels: 
(None)

FastBackの仕掛けはどうなっているのでしょう?

FastBackをお客様・パートナー様にご紹介すると、技術の方から「仕掛け」「内部の動き」についてご質問されることが多いです。
技術の方は仕組みを納得していただくとご理解が早いので、以下ざっくりですが、簡単に「しくみ」をご説明させていただきます。

「しくみ」の動画を公開しました

2009/9/14
下記の説明をもっと詳しく説明した動画(16分)をこちらに公開しました。動きも入れたプレゼンですので、FastBackの「しくみ」にご興味あるお客様は、ぜひご高覧くださいませ。


  • FastBackはOSのファイルシステムのレベルではなく、 ディスクのデータ・ブロックのレベル でバックアップやリストアを行う製品です。ですので、 バックアップの単位はディスクかボリューム(ドライブ)です。 ファイルやディレクトリーの単位でバックアップする・しないといった指定はできません。要は、バックアップはチマチマとらないで、まとめてドカンととるのが基本的な考え方といえます。(まあ、そのほうが間違いは少ないですよね。 )
  • FastBackのバックアップ・イメージの格納先のディスクは リポジトリー と呼びます。バックアップ2回目以降、指定した 世代数 分のスナップショットをリポジトリーに保有します。指定した世代数を超えたスナップショットは必要な部分を残しつつ、リポジトリーから自動的に削除されます。この処理を クリーンアップ と呼びます。

  • FastBackは 初回のみ 、ディスクの全体バックアップ(= 全体スナップショット )を取る必要があります。2回目以降はずっと「ディスク上で変更されたデータブロック群」のみを自動的にバックアップ(= 増分スナップショット )してくれます。
  • このディスク増分を検知するしかけですが、毎回前回からのディスク変更をスキャンするようなことはしません。(それでは前処理に時間がかかりすぎます)業務サーバーにはFastBackクライアントが常駐しており、業務サーバーのディスクのデータブロックの変更を常に裏で記録しています。(メモリーやCPUのオーバーヘッドは非常に軽量です。) バックアップの時には、FastBackクライアントは既に「前回からの変更ブロック」のリストを作成済みなので、変更部分を調べるためにディスクを再スキャンすることなく、即座に増分のスナップショットを作成することができます。
  • リストアの際にはどの世代へ戻すのかを指定しますが、FastBackは指定された世代の時点でのディスク・イメージを復元するために必要なデータブロックを自動的に選び、マージして復元してくれます。

  • FastBackのスナップショットは 特定の時点での整合性 を保っています。FastBackはバックアップを取る際にOSのキャッシュをフラッシュしてディスクに反映します。前述したように、今回採取すべきデータブロック(増分)の物理的な「場所」は、すでにFastBackクライアントが知っていますので、順次バックアップしていきます。万が一、バックアップしている間にバックアップ対象のデータ・ブロックが再度変更された場合は、「ビフォア」イメージを別の場所に退避することで変更前のイメージをバックアップします。( これをcopy-on-write方式と呼びます。もしデータベースをご存知の方でしたらマルチ・バージョニングのような処理方式、と表現すると理解が早いかもしれませんね)
    * 例えばスナップショットの採取に9:00-9:30の30分かかったとして、バックアップは開始時点の「9:00」(厳密には9:00少し過ぎ)という時点でのイメージが取られます。(採取したスナップショットのイメージの中に9:00の近辺のデータと9:30の近辺のデータがバラバラと混在するようなことはありません。それではリストアした時に業務的に使い物になりませんよね。)
  • (左の絵ではわかりやすさを優先して全体スナップショットのように表現しています。実際は「前回からの増分」のブロックがスナップショット取得対象になります)
  • スナップショット採取時点でオープン中だったファイルは、そのままの状態でバックアップされます。一々OSレベルでのクローズなどの後処理はしません。ですので、スナップショット採取時点でオープン中だったファイルはリストアした時にはオープン中の状態のままでリストアされますのでアプリケーションによってはアクセスできない可能性もありますので注意が必要です。(まあ、その場合は別の世代のイメージをリストアすればよいのですが。この実装はデメリットばかりではなく、OS領域のバックアップもオープン中かどうかを気にせず、まとめて一気に取れる、というメリットもあります。)

以上、FastBackが 一般のバックアップ・ソフトと根本の仕組みが違う ことがご理解頂けたら幸いです。


    日本IBMについて プライバシー お問い合わせ