オープンソースソフトウェア「Bacula」で安心・安全なバックアップシステムを構築しよう

第6回 リストアの手法

この記事を読むのに必要な時間:およそ 14 分

はじめに

これまでの連載で,LinuxならびにWindowsのバックアップについて説明してきました。バックアップはデータの損失・破損に備えて行うものですので,今回は,バックアップしたデータのリストアに焦点をあてます。

今回は次の内容を解説します。

  • バックアップの種類
  • リストアの手法
  • bconsoleを使ったリストア
  • 別マシンへのリストア

図1 全体の構成

図1 全体の構成

バックアップの種類

すでに第1回で説明しましたが,主なバックアップの種類について復習します。Baculaでは,bacula-dir.confのJobリソースにあるLevelディレクティブにバックアップの種類を指定します。実際の設定については,第4回を参照してください。

フルバックアップ

バックアップ対象のファイルをすべてバックアップします。定期的にバックアップを行う場合,最初は必ずフルバックアップとなります。リストアは基本的にフルバックアップを行った世代を起点として行うため,定期的にフルバックアップすることを推奨します。

  • メリット:リストアの手順が減ります。
  • デメリット:データ量が多いと,バックアップに時間がかかります。保存先のデバイスも容量が大きいものが必要になります。

増分バックアップ

前回実施したバックアップから,追加,変更が発生したファイルをバックアップします。

  • メリット:すべてのファイルをバックアップするわけではないので,保存先のデバイス容量は他のバックアップ方式に比べて小さくて済みます。
  • デメリット:ディレクトリごとリストアするような場合,リストアを複数回行う必要があります。図2の場合,4回のリストアが必要です。

図2 増分バックアップ

図2 増分バックアップ

差分バックアップ

直近に行われたフルバックアップから,追加,変更が発生したファイルをバックアップします。

  • メリット:増分バックアップに比べると,リストアの回数が減ります。最大2回で済みます。
  • デメリット:バックアップする度に重複してバックアップするファイルが増えるので,保存先のデバイス容量が大きくなります。

図3 差分バックアップ

図3 差分バックアップ

混合バックアップ

図4を見ると,差分バックアップと増分バックアップそれぞれの特徴がわかりやすいでしょう。実用的ではないかもしれませんが,バックアップのジョブ設定によっては,このように混合させることも可能です。

図4 混合バックアップ

図4 混合バックアップ

リストアの手法

差分バックアップや増分バックアップを使用している場合,新規追加や変更があったファイルのみバックアップされるため,複数回リストアを行う場合があります。

以下の例を元に説明します。

Bacula-testというディレクトリ下に,test1.txt,test2.txt,test3.txt,test4.txt というテキストファイルがあり,それぞれ作成,変更した日が異なります。

図5 バックアップスケジュール

図5 バックアップスケジュール

バックアップは1日に1回実施しており,最初のフルバックアップを除き,増分バックアップを実施したものとしています。

図6 バックアップの内容

図6 バックアップの内容

任意のファイルのみリストア

任意のファイルのみリストアする場合,リストアしたいファイルがあるバックアップ世代からリストアします。

以下の例図は,増分バックアップ3からtest4.txtファイルをリストアしたものです。増分バックアップ3では,バックアップ対象がtest4.txtのみです。他のファイルは,他のバックアップ世代からリストアする必要があります。

図7 test4のリストア

図7 test4のリストア

ディレクトリ内のファイルを完全リストア

では,ディレクトリ内のファイルを完全リストアしたい場合はどうでしょう。それぞれのファイルはバックアップの世代が異なっています。元に戻す場合には,バックアップ群ごとにリストアしなければいけません。

バックアップ群とは,フルバックアップから次のフルバックアップまでのバックアップのグループのことを言います。

図8 バックアップ群

図8 バックアップ群

複数のファイルを復元したい場合,対象のバックアップ群からリストアを行います。概念的には,フルバックアップから順番に戻していくことがセオリーですが,Baculaは一度のリストア処理で復元可能です。

図9 Baculaのリストア処理

図9 Baculaのリストア処理

次でBaculaの管理ツールbconsoleを使用したリストア方法を説明します。

著者プロフィール

竹田寛子(たけだひろこ)

株式会社サードウェア

Bacula日本ユーザ会のメンバー

Bacula Enterprise,DRBD,PacemakerなどのOSS製品のサポートを主に担当。

コメント

コメントの記入