CentOS Stream 8
Sponsored Link

Bacula : リモートクライアントの設定2021/06/22

 
バックアップ対象のクライアントはリモートホストも設定可能です。
例として、以下のような環境でバックアップ対象クライアンを設定します。
+----------------------+          |          +----------------------+
| [   Bacula Server  ] |10.0.0.30 | 10.0.0.51| [   Bacula Client  ] |
|    Bacula Director   +----------+----------+    (Backup Target)   |
|    Bacula Storage    |                     |  Bacula File Daemon  |
|  Bacula File Daemon  |                     |                      |
|       Maria DB       |                     |                      |
+----------------------+                     +----------------------+

[1]
[2] 新規に追加する Bacula クライアントに File コンポーネントをインストールします。
[root@node01 ~]#
dnf -y install bacula-client bacula-console
[3] Bacula サーバーで Firewalld を有効にしている場合は、サービスの許可が必要です。
[root@dlp ~]#
firewall-cmd --add-service=bacula --permanent

success
[root@dlp ~]#
firewall-cmd --reload

success
[4] Bacula クライアントで Firewalld を有効にしている場合は、サービスの許可が必要です。
[root@node01 ~]#
firewall-cmd --add-service=bacula-client --permanent

success
[root@node01 ~]#
firewall-cmd --reload

success
[5] Bacula サーバーの設定です。
[root@dlp ~]#
vi /etc/bacula/bacula-dir.conf
# 最終行に追記

# ジョブの定義
JobDefs {
  Name = "Job-node01"
  Type = Backup
  Level = Incremental
  # クライアントの定義の [Name] 値を指定
  Client = node01
  # ファイルセットの定義の [Name] 値を指定
  FileSet = "Node01 Set"
  Schedule = "WeeklyCycle"
  Storage = File1
  Messages = Standard
  Pool = File
  SpoolAttributes = yes
  Priority = 10
  Write Bootstrap = "/var/spool/bacula/%c.bsr"
}

# バックアップジョブの定義
Job {
  Name = "node01-BackupClient"
  # クライアントの定義の [Name] 値を指定
  Client = node01
  # ジョブの定義の [Name] 値を指定
  JobDefs = "Job-node01"
}

# ファイルセットの定義
FileSet {
  Name = "Node01 Set"
  Include {
    Options {
      signature = MD5
      Compression = GZIP
    }
      # バックアップ対象ディレクトリ
      File = /etc
  }
}

# クライアントの定義
Client {
  Name = node01
  # クライアントのホスト名 または IP アドレス
  Address = node01.srv.world
  FDPort = 9102
  Catalog = MyCatalog
  # File デーモン接続パスワード
  Password = "password"
  File Retention = 60 days
  Job Retention = 6 months
  AutoPrune = yes
}

[root@dlp ~]#
systemctl restart bacula-dir

[6] Bacula クライアントの設定です。
[root@node01 ~]#
vi /etc/bacula/bacula-fd.conf
Director {
  Name = bacula-dir
  # 19行目 : File デーモン接続パスワード
  Password = "password"
}

.....
.....

# 28行目 : tray-monitor 接続パスワード
Director {
  Name = bacula-mon
  Password = "password"
  Monitor = yes
}

[root@node01 ~]#
vi /etc/bacula/bconsole.conf
Director {
  Name = bacula-dir
  DIRport = 9101
  # Director 稼働ホストのホスト名 または IP アドレス
  address = dlp.srv.world
  # Director デーモン接続パスワード
  Password = "password"
}

[root@node01 ~]#
systemctl enable --now bacula-fd

[7] 以上で設定完了です。
バックアップ/リストア操作は、サーバー/クライアント どこからでも実行可能です。
例として、クライアント上でバックアップ/リストアを実行します。
# バックアップ

[root@node01 ~]#
bconsole

Connecting to Director dlp.srv.world:9101
1000 OK: 103 bacula-dir Version: 9.0.6 (20 November 2017)
Enter a period to cancel a command.
*label
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
The defined Storage resources are:
     1: File1
     2: File2
Select Storage resource (1-2): 1
Enter autochanger drive[0]:
Enter new Volume name: Vol_node01-etc_20210621
Enter slot (0 or Enter for none):
Defined Pools:
     1: Default
     2: File
     3: Scratch
Select the Pool (1-3): 2
Connecting to Storage daemon File1 at dlp.srv.world:9103 ...
Sending label command for Volume "Vol_node01-etc_20210621" Slot 0 ...
3000 OK label. VolBytes=238 VolABytes=0 VolType=1 Volume="Vol_node01-etc_20210621" Device="FileChgr1-Dev1" (/tmp)
Catalog record for Volume "Vol_node01-etc_20210621", Slot 0  successfully created.
Requesting to mount FileChgr1 ...
3906 File device ""FileChgr1-Dev1" (/tmp)" is always mounted.

*run
A job name must be specified.
The defined Job resources are:
     1: BackupClient1
     2: BackupCatalog
     3: RestoreFiles
     4: node01-BackupClient
Select Job resource (1-4): 4
Run Backup job
JobName:  node01-BackupClient
Level:    Incremental
Client:   node01
FileSet:  Node01 Set
Pool:     File (From Job resource)
Storage:  File1 (From Job resource)
When:     2021-06-21 03:30:30
Priority: 10
OK to run? (yes/mod/no): yes
Job queued. JobId=3
You have messages.
*exit

# リストア

[root@node01 ~]#
bconsole

Connecting to Director dlp.srv.world:9101
1000 OK: 103 bacula-dir Version: 9.0.6 (20 November 2017)
Enter a period to cancel a command.
*restore
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"

First you select one or more JobIds that contain files
to be restored. You will be presented several methods
of specifying the JobIds. Then you will be allowed to
select which files from those JobIds are to be restored.

To select the JobIds, you have the following choices:
     1: List last 20 Jobs run
     2: List Jobs where a given File is saved
     3: Enter list of comma separated JobIds to select
     4: Enter SQL list command
     5: Select the most recent backup for a client
     6: Select backup for a client before a specified time
     7: Enter a list of files to restore
     8: Enter a list of files to restore before a specified time
     9: Find the JobIds of the most recent backup for a client
    10: Find the JobIds for a backup for a client before a specified time
    11: Enter a list of directories to restore for found JobIds
    12: Select full restore to a specified Job date
    13: Cancel
Select item:  (1-13): 5
Defined Clients:
     1: bacula-fd
     2: node01
Select the Client (1-2): 2
The defined FileSet resources are:
     1: Full Set
     2: Node01 Set
Select FileSet resource (1-2): 2
Automatically selected FileSet: Node01 Set
+-------+-------+----------+-----------+---------------------+-------------------------+
| JobId | Level | JobFiles | JobBytes  | StartTime           | VolumeName              |
+-------+-------+----------+-----------+---------------------+-------------------------+
|     3 | F     |      891 | 5,588,076 | 2021-06-21 03:31:04 | Vol_node01-etc_20210621 |
+-------+-------+----------+-----------+---------------------+-------------------------+
You have selected the following JobId: 3

Building directory tree for JobId(s) 3 ...  ++++++++++++++++++++++++++++++++++++++++
731 files inserted into the tree.

You are now entering file selection mode where you add (mark) and
remove (unmark) files to be restored. No files are initially added, unless
you used the "all" keyword on the command line.
Enter "done" to leave this mode.

cwd is: /
$ ls
etc/
$ mark etc
891 files marked.
$ done
Bootstrap records written to /var/spool/bacula/bacula-dir.restore.1.bsr

The Job will require the following (*=>InChanger):
   Volume(s)                 Storage(s)                SD Device(s)
===========================================================================

    Vol_node01-etc_20210621   File1                     FileChgr1

Volumes marked with "*" are in the Autochanger.


891 files selected to be restored.

Using Catalog "MyCatalog"
Run Restore job
JobName:         RestoreFiles
Bootstrap:       /var/spool/bacula/bacula-dir.restore.1.bsr
Where:           /tmp/bacula-restores
Replace:         Always
FileSet:         Full Set
Backup Client:   node01
Restore Client:  node01
Storage:         File1
When:            2021-06-21 03:32:57
Catalog:         MyCatalog
Priority:        10
Plugin Options:  *None*
OK to run? (yes/mod/no): yes
Job queued. JobId=4
*exit

[root@node01 ~]#
ll /tmp/bacula-restores/etc

total 1172
-rw-r--r--.  1 root root       16 Feb 18 00:50 adjtime
-rw-r--r--.  1 root root     1529 May 15  2020 aliases
drwxr-xr-x.  2 root root      194 Feb 18 00:48 alternatives
-rw-r--r--.  1 root root      541 Nov  8  2019 anacrontab
-rw-r--r--.  1 root root        1 May 11  2019 at.deny
drwxr-x---.  4 root root      100 Feb 18 00:46 audit
drwxr-xr-x.  3 root root      228 Apr 29 21:42 authselect
drwxr-xr-x.  2 root root       49 Jun 21 03:27 bacula
drwxr-xr-x.  2 root root      135 Jun  3 03:22 bash_completion.d
-rw-r--r--.  1 root root     3019 May 15  2020 bashrc
-rw-r--r--.  1 root root      535 Apr 21 14:37 bindresvport.blacklist
drwxr-xr-x.  2 root root        6 Jun 16 12:53 binfmt.d
-rw-r--r--.  1 root root       24 Apr 25 13:32 centos-release
drwxr-xr-x.  2 root root        6 Apr 26  2020 chkconfig.d
-rw-r--r--.  1 root root     1107 Feb 24 00:28 chrony.conf
-rw-r-----.  1 root chrony    540 May 10  2019 chrony.keys
.....
.....
# リストアされた
関連コンテンツ