Skip to content

Bacula 設定編② bacula-sd, bacula-fd, bconsole

2018/3/27

前回の設定編(bacula-dir)に続いての設定編。
今回はbacula-sd,bacula-fd,bconsoleの3つのファイルの設定を解説する。

bacula-sdの設定

主にストレージの設定をするのがこちら。
以下のファイルを編集する。

/etc/bacula/bacula-sd.conf

Storageリソース

こちらは基本的にデフォルトの設定のままで良い。
SDPortはbacula-sdが使用するポートとなる。

Storage {
  Name = bacula-sd
  SDPort = 9103
  WorkingDirectory = "/var/spool/bacula"
  Pid Directory = "/var/run"
  Maximum Concurrent Jobs = 20
}

Directorリソース

こちらはbacula-dirと連携するための設定となる。
bacula-dirのDirectorリソースと同じパスワードを設定すること。
パスワード以外は特に変更は不要。

Director {
  Name = bacula-dir
  Password = "パスワード"
}

Director {
  Name = bacula-mon
  Password = "パスワード"
  Monitor = yes
}

Monitorの設定

マニュアルによるとStorageデーモン(bacula-sdのデーモン)にフルアクセスできるか否かの設定とのこと。
デフォルトはnoで、noに設定するとフルアクセスできる。
yesの場合はStorageデーモンの現在のステータスだけ読み取れるということらしい。
上記の場合、bacula-dirはフルアクセスできて、bacula-monはフルアクセスできない設定となる。
bacula-monにはyesを入れておかないとセキュリティの問題があるとのこと。

Deviceリソース

bacula-sdの設定の肝となるのがこのDeviceリソース。
実際にどこにバックアップデータを置くか、デバイスは何を使うか、を設定する。
今回はHDD上にファイルを配置している。

Device {
  Name = File1
  Media Type = File
  Archive Device = /ex_storage/backup/catalog
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = no;
  Maximum Concurrent Jobs = 5
}

Device {
  Name = owncloud
  Media Type = File
  Archive Device = /ex_storage/backup/owncloud
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = no;
  Maximum Concurrent Jobs = 5
}

Name

バックアップカタログのバックアップ先、Name=owncloudはowncloudデータのバックアップ先となる。
Nameはbacula-dirのStorageリソースのDeviceと同じものに設定する。

Media Type

bacula-dirのStorageリソースのMedia Typeと同じものに設定する。

Archive Device

バックアップデータが入ったファイルの置き場所の指定となる。
ディレクトリパスを指定すること。指定したパスの下にファイルを自動生成していく。

LabelMedia

バックアップ用のファイルを生成するとき、自動でラベルつけたファイルを生成するかの設定で、bacula-dirのPoolリソースのLabel Formatの命名規則に従ったものを生成する。
デフォルトの通りyesで設定しておけば良い。

Random Access

seekかrandomかで保存するかの設定で、Fileの場合はyesを設定する。
テープメディア等の場合はnoを設定する必要がある。

AutomaticMount

設定はAlwaysOpenの設定と関連する。
AlwaysOpenをnoに設定した場合、バックアップ時にファイルをマウントして、バックアップ後にファイルをアンマウントする。
AutomaticMountはバックアップ時にバックアップファイルを自動でマウントする設定となる。
AlwaysOpenをnoにした場合はAutomaticMountをyesにしておかないといけない。
デフォルトがそうなっているため、変更の必要はない。

RemovableMedia

USBメモリーやCD、USB接続HDDドライブ等、リムーバブルなメディアをバックアップ先に指定する場合、yesを設定すること。
内臓のHDD上にデータを保管する場合はデフォルトのnoで良い。
USB接続HDDもマウントしっぱなしであればnoで良い。
マニュアルによると、yesの場合、バックアップ用のファイルが見つからないと、デバイス全体を検索して探しだすような動作をするらしい。

Maximum Concurrent Jobs

同時に実行できるJobの数となる。デフォルトのままで良い。

bacula-sdは他にもAutochangerといった機能もあるが、複雑性が増すため使用していない。

bacula-sd.conf全設定

Storage {
  Name = bacula-sd
  SDPort = 9103
  WorkingDirectory = "/var/spool/bacula"
  Pid Directory = "/var/run"
  Maximum Concurrent Jobs = 20
}

Director {
  Name = bacula-dir
  Password = "パスワード"
}

Director {
  Name = bacula-mon
  Password = "パスワード"
  Monitor = yes
}

Device {
  Name = File1
  Media Type = File
  Archive Device = /ex_storage/backup/catalog
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = no;
  Maximum Concurrent Jobs = 5
}

Device {
  Name = owncloud
  Media Type = File
  Archive Device = /ex_storage/backup/owncloud
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = no;
  Maximum Concurrent Jobs = 5
}

Messages {
  Name = Standard
  director = bacula-dir = all
}

bacula-fdの設定

bacula-fdの設定はクライアント設定となる。
バックアップサーバにもバックアップカタログのバックアップ等、自身のバックアップも行うため、設定する必要がある。
設定については構築編のBacula clientの設定、で書いたものと一緒となる。

設定ファイルは以下。

/etc/bacula/bacula-fd.conf

設定内容は以下の通り

# 下記"パスワード"についてはサーバと共通のものを設定すること。
Director {
  Name = bacula-dir
  Password = "パスワード"
}
Director {
  Name = bacula-mon
  Password = "パスワード"
  Monitor = yes
}
# bacula-fdの設定。こちらで使用するポートを設定するが、基本デフォルトのままでOK
FileDaemon {
  Name = bacula-fd
  FDport = 9102
  WorkingDirectory = /var/spool/bacula
  Pid Directory = /var/run
  Maximum Concurrent Jobs = 20
  Plugin Directory = /usr/lib64/bacula
}

bconsoleの設定

baculaはバックアップを手動実行させたり、リストアさせたりする時、bconsoleを用いる。
そのbconsoleを使う際に以下のファイルの設定が必要となる。

/etc/bacula/bconsole.conf

設定は以下のみとなる。

Director {
  Name = bacula-dir
  DIRport = 9101
  address = localhost
  Password = "パスワード"
}

Name

bacula-dirで設定したDirectorリソースのNameと一緒にすること。

DIRport

bacula-dirの使用ポートを設定。

address

bacula-dirのアドレス。今回はbacula-dirが動いているサーバ上でbconsoleを操作するため、localhostで問題ない。

Password

bacula-dirで設定したDirectorリソースのパスワードと一緒にすること。

以上で一通りの設定は完了となる。