2009年02月21日

Bacula (6) bacula-dir.conf 1

こちらの続き

続いて、Baculaの設定ファイルそのものと言っても良い「bacula-dir.conf」の設定です。

ただ、このファイルは結構長いので、分けて説明使用と思います。

まず今回は下図の赤枠部分の説明です。

2009022100.gif
(赤字はリソース設定単位での設定内容の概要です)

では、それぞれ詳細に見て行きましょう。

と言っても、今回は長いので直接設定に注釈を書き込みます。

(注釈はこの色で記載します)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#
# Default Bacula Director Configuration file
#
#  The only thing that MUST be changed is to add one or more
#   file or directory names in the Include directive of the
#   FileSet resource.
#
#  For Bacula release 2.4.4 (28 December 2008) -- suse 11.1
#
#  You might also want to change the default email address
#   from root to your address.  See the "mail" and "operator"
#   directives in the Messages resource.
#
 
Director {     ←ディレクター自体の設定                            # define myself
  Name = ホスト名-dir     ←このディレクターの名称、fdやsdで設定したモノを同じモノを利用してください
  DIRport = 9101     ←ディレクターが利用するポート。他のPCからconsole接続したい場合にはFireWallなどで空けておいてください               # where we listen for UA connections
  QueryFile = "/usr/lib/bacula/query.sql"     ←bconsoleなどでDBを確認する際のsqlセットです。デフォルトのままでいいでしょう。
  WorkingDirectory = "/var/lib/bacula"     ←作業ディレクトリの場所。ディレクターが書き込めるPATHを設定しましょう。
  PidDirectory = "/var/run"     ←ディレクターのPIDファイルを書き込む場所。これもディレクターが書き込めるPATHを設定しましょう。
  Maximum Concurrent Jobs = 1     ←同時実行可能なジョブ数。慣れるまでは1が無難です
  Password = "L7bA3ZQognI0fp4GVn6JgsPF/Y+6WRh803ZDiFsU+mCx"     ←bconsoleなどがアクセスする際のパスワードです。必ずパスワードを設定しましょう。        # Console password
  Messages = Daemon     ←ディレクターのメッセージの出力先。通常は変更不要です。
}
 
JobDefs {     ←デフォルトジョブ(ジョブのひな形)を定義します。正直設定が混乱するだけなので、全体に共通する物以外は設定しない方がいいかもしれません。
  Name = "DefaultJob"     ←このデフォルトジョブの名称
  Type = Backup     ←このデフォルトジョブの種類。このほかに「Restore」「Verify」「Admin」があります。
  Level = Incremental     ←バックアップレベルの設定。Typeがバックアップの場合には「Full」「Incremental」「Differential」を設定可能です。ただしスケジュールで指定されている方式が勝ちますので、コンソールからジョブ投入したときのデフォルト値程度の役割です。
  Client = ホスト名-fd     ←接続するデフォルトです。これもデフォルトで設定する意味が余り無いと思います。
  FileSet = "Full Set"     ←利用するデフォルトファイルセット。こちらもデフォルト化する意味が・・・
  Schedule = "WeeklyCycle"     ←デフォルトスケジュール
  Storage = File     ←デフォルトで利用するストレージ。これは大抵1種類しか指定しないと思いますので、ぜひ指定しておきましょう
  Messages = Standard     ←メッセージの出力先。これもデフォルトで設定しておくべき項目です。
  Pool = Default     ←デフォルトのプール。これはデフォルトで設定する必要が無いと思います
  Priority = 10     ←デフォルトの実行優先度
}
 
 
#
# Define the main nightly save backup job
#   By default, this job will back up to disk in
Job {     ←インストールしたマシンのバックアップジョブです。デフォルトでは殆ど何もバックアップされないので要設定です。いっそ全部コメントアウトした方がいいかもしれません。
  Name = "Client1"     ←このジョブの名前
  JobDefs = "DefaultJob"     ←ひな形にするジョブの名称。上で指定した物です。
  Write Bootstrap = "/var/lib/bacula/Client1.bsr"     ←ブートストラップファイルというバックアップした情報をまとめたファイルの置き場の指定です。このファイルと実際にバックアップしたデータがあればカタログDBが無くても復旧が出来るようです。
}
 
#Job {
#  Name = "Client2"
#  Client = ホスト名2-fd
#  JobDefs = "DefaultJob"
#  Write Bootstrap = "/var/lib/bacula/Client2.bsr"
#}
 
# Backup the catalog database (after the nightly save)
Job {     ←カタログDBのバックアップジョブ
  Name = "BackupCatalog"
  JobDefs = "DefaultJob"
  Level = Full     ←バックアップのレベル。これはフルバックアップ
  FileSet="Catalog"     ←利用するファイルセット名称
  Schedule = "WeeklyCycleAfterBackup"     ←利用するスケジュール名称
  # This creates an ASCII copy of the catalog
  # WARNING!!! Passing the password via the command line is insecure.
  # see comments in make_catalog_backup for details.
  # Arguments to make_catalog_backup are:
  #  make_catalog_backup <database-name> <user-name> <password> <host>
  RunBeforeJob = "/usr/lib/bacula/make_catalog_backup bacula bacula"     ←ジョブの実行前に起動するコマンド。ここではDBのDumpコマンドが指定されています。
  # This deletes the copy of the catalog
  RunAfterJob  = "/usr/lib/bacula/delete_catalog_backup"     ←ジョブの実行後に起動するコマンド。ここでDumpしたDBの削除を行っています。
  Write Bootstrap = "/var/lib/bacula/BackupCatalog.bsr"
  Priority = 11     ←実行優先度は11なので同時にキューイングされると他のジョブに負けます。                   # run after main backup
}
 
#
# Standard Restore template, to be changed by Console program
#  Only one such job is needed for all Jobs/Clients/Storage ...
#
Job {     ←リストアジョブです。割といい加減でも復旧できたりしますがWindows用とLinux用ぐらいは分けておいてもいいかもしれません。
  Name = "RestoreFiles"
  Type = Restore     ←タイプにはもちろんリストアが指定されています
  Client=ホスト名-fd     ←ここで指定されていないホストでも復元できたりします。
  FileSet="Full Set"     ←ここで指定されていないファイルセットでも復旧できます
  Storage = File     ←同上
  Pool = Default     ←同上
  Messages = Standard     ←ジョブのログなどの出力先
  Where = /bacula-restores     ←これがミソです。レストア時のデフォルトのファイル出力先が指定されています。つまり「/hoge/foo.bar」を復旧させると「/bacula-restores/hoge/foo.bar」に作成されます。
}
 
次回は今回の続きを説明します。

Posted by Takuchan at 2009年02月21日 23:28 | トラックバック(0)