はじめに
前回までは、Linuxマシンのファイルバックアップを主に紹介してきました。Baculaのバックアップはマルチプラットフォーム対応なので、Windowsのファイルバックアップも可能です。一般のWindows PCのみならず、Windows Serverのファイルもバックアップできます。
今回は次のような内容です。
- Windows用のファイルデーモンをインストール
- 管理サーバの設定
- Windowsデータのバックアップ
- Windowsデータのリストア
Baculaは、バックアップ対象のマシンにファイルデーモンのインストールが必要なソフトウェアです。Windowsマシンにも、ファイルデーモンであるbacula-fdをインストールします。また、第2回で作成した管理サーバの設定ファイルにも、Windowsマシンの情報やバックアップの定義を追加する必要があります。
インストール
Baculaのコミュニティでは、Windows版のファイルデーモンを提供しており、個人利用でのみ使用可能となっています。構築・サポート販売など商用利用目的の場合には、別途エンタープライズ版を購入する必要があります。
今回は、以下の環境にインストールしていきます。管理サーバは、第2回で作成したLinux環境です。
Windowsマシン | Windows server 2012 R2 |
IPアドレス | 192.168.2.3 |
Baculaのパッケージ | bacula-enterprise-win64-7.4.4.exe |
事前準備
Baculaは以下のポートで通信を行います。Firewallなど通信をブロックするものは設定を変更しておいてください。
ポート番号 | 利用目的 |
9101(TCP) | ディレクターデーモン通信用(windows上でbconsoleを使用する場合、必要) |
9102(TCP) | ファイルデーモン通信用 |
ダウンロード
Windows版のエージェントは下記のURLからダウンロードできます。
- Bacula.org:
- http://blog.bacula.org/binary-download-center/
インストール
管理者権限で、ダウンロードしたexeファイルを実行します。
インストールウィザードが起動するので、流れに沿って設定していきます。「Next」をクリックします。
「I Agree」をクリックします。
デフォルトでは、「Automatic」が選択されています。そのまま「Next」をクリックします。
「Next」をそのままクリックします。
管理サーバのbacula-dir.confの設定を記載します。
今回は、第1回で作成した管理サーバの設定を入力します。入力後、「Install」をクリックします。
項目 | 設定例 | 内容 |
DIR Name | bacula-dir | 管理サーバのbacula-dir.confで設定したDirectorの名前 |
DIR Password | bacula-pass | 管理サーバのbacula-dir.confで設定したDirectorのパスワード
Windows上でbconsoleを利用する際に使用 |
DIR Address | 192.168.2.1 | 管理サーバのIPアドレス |
bacula-dir.confに設定するバックアップ対象マシンのパラメータ設定(Clientリソース)のテンプレート作成の有無を指定します。「Save Client template in」にチェックを入れると、インストールウィザードがハングアップする不具合があるので、この項目にチェックは入れないでください。
Windows側でのインストールはこれで完了です。
インストールされた設定ファイルは、以下のディレクトリにあります。
管理サーバの設定
Windows側のインストールは完了しましたが、この段階では管理サーバには、このWindowsマシンに関するパラメータ情報(以下、Clientリソース)がないため、バックアップ対象マシンと認識できません。管理サーバのbacula-dir.confファイルに、このマシンのClientリソース設定を追加します。
Clientリソースの作成
Windows上にインストールしたファイルデーモンの設定ファイルは、bacula-fd.confです。このbacula-fd.confファイルの情報をもとに、Clientリソースのディレクティブを作成します。Clientリソースについては、すでに第4回で説明しているのでご参照ください。
Windowsのbacula-fd.confファイルを開き、必要な情報を取得します。bacula-fd.confは下記のディレクトリにあります。
- C:\Program Files\Bacula\bacula-fd.conf
Clientリソースに必要なディレクティブは以下の情報です。
リソース名 | ディレクティブ名 |
FileDaemon | Name |
FDport |
Director | Password |
管理サーバのbacula-dir.confにClientリソースを追記します。ファイルの場所は、下記にあります。
- /etc/bacula/bacula-dir.conf
下記の例や相対表を参考に、bacula-fd.confのディレクティブの値を適用して、Clientリソースを追加してください。
相対表
バックアップ対象 | 管理サーバ | |
bacula-fd.conf | bacula-dir.conf Clientリソース | 概要 |
リソース | ディレクティブ名 | ディレクティブ名 |
FileDaemon | Name | Name | Clientリソースの名前 |
FDport | FDport | ファイルデーモンで使用するポート |
Director | Password | Password | Password |
- | - | Address | 対象マシンのIPアドレス、もしくは名前解決済みのホスト名 |
設定を反映させるため、bacula-dirのサービスを再起動します。
接続確認
bacula-dir.confへの設定が完了したら、接続ができるかどうか確認してみましょう。
管理サーバでターミナルを起動し、bconsoleを起動します。
bconsoleは対話式のコマンドツールです。このまま「*」に続いて「status」と入力していきます。
3番を入力します。
今回設定したWindowsのマシンは2番ですので、「2」を入力します。
Windowsマシンに入っているBaculaのエージェントのバージョン情報や、すでにバックアップを実行しているのであれば、実行した時間などの情報が出力されます。
これで管理サーバとWindowsマシン間の接続はできたことになります。
接続に失敗すると、このような出力になります。Clientリソースの設定ミスやFirewallの設定ミス、設定後にサービスの再起動をし忘れることが主な原因ですので、失敗した場合には設定を見直してみてください。
バックアップ
接続確認ができたので、実際にバックアップを行ってみましょう。その前に、バックアップの準備です。
バックアップテスト用のファイルを作成
次に、Windowsのマシンに次のファイル(test1.txt)を作成します。
- C:/Users/admin01/Desktop/Bacula-test/test1.txt
各テキストファイルには、任意の文字を入力して保存しておきます。
バックアップの設定
まずは、バックアップの設定が必要です。バックアップの設定は、管理サーバのbacula-dir.confに行います。今回は、以下の設定を追加しました。各リソースやディレクティブの内容については、第4回で説明しているので、そちらも参照してください。
設定の反映
設定を反映させるため、bacula-dirサービスを再起動します。
バックアップの実行
いよいよバックアップの実行です。
バックアップを実行するために、bconsoleを起動します。
runを入力して実行します。
実行するバックアップのジョブを選びます。今回は先程追加したWindowsのClientリソースである3を選択します。
バックアップ設定の内容が表示されます。この内容でよければ、「yes」を入力します。すると、このバックアップのジョブが実行されます。この例の場合、JobIdに99が割り当てられます。
バックアップの確認
バックアップを実行したら、処理が正常にできたかどうか、確認します。
bconsoleのmessagesでの確認もできますが、該当のjobidを指定して確認することもできます。bconsoleで確認してみます。
bconsoleのlistオプションで以下のようにjobidを指定すると、バックアップのログやバックアップ処理のステータスなどが確認できます。「Termination」で「Backup OK」の出力がでていれば、バックアップ処理は完了しています。その他ステータスもErrorが出ていないことを確認します。
- *list joblog jobid=jobidの番号
また、以下の指定を行うと、バックアップしたファイルの一覧が出力されます。
- * list files jobid=jobidの番号
リストア
バックアップしたファイルを復元してみます。
準備
前節でバックアップした、Windows上のテスト用のファイルを削除します。この削除したファイルを元の場所に復元します。
リストアの設定
管理サーバのbacula-dir.confに設定するリストア用のJobリソースは、第2回ですでに作成しているので、今回は作成する必要はありません。
リストアの実行
bconsoleからリストアを行います。
bconsoleを起動します。
restoreを入力します。
3を入力します。「3: Enter list of comma separated JobIds to select」は、指定したJobIdのバックアップからリストアを行います。
リストアするJobIdを入力します。今回は、前回バックアップしたJobIdである99を入力します。
バックアップしたいファイルのディレクトリに移動します。ファイルの場所を探すため、findでtest1.txtを探します。
cdでディレクトリを移動します。
markでバックアップ対象のファイルをマークします。ワイルドカードも使えます。
マークされたファイルを確認します。
doneでリストア対象のファイル設定は完了します。
リストア先のマシンを選択します。今回は、2を選択。
リストアのジョブの定義内容が出力されます。
modを入力します。変更可能なジョブの項目が表示されます。
9番目のWhereの値を変更するので、9を入力します。Whereは配置先の起点となるパスです。「/」に変更します。
再度リストアのジョブの定義が表示されます。その内容でリストアを実行する場合はyesを入力します。これでリストアが実行されます。以下の例では、JobIdに104が割り振られています。
リストアの確認
リストアが成功していれば、削除したファイルが復元しているはずです。Windowsのマシン上で、ファイルがあるか確認してみましょう。
jobのログを確認するときには、バックアップと同様にbconsoleから確認ができます。
- *list joblog jobid=リストア時のジョブID
次回はリストアについて、もう少し詳しく説明していきます。