Baculaは、ネットワーク全体でデータをバックアップおよび復元するために使用できるオープンソースのバックアップツールです。シンプルで使いやすいツールであり、失われたファイルを簡単にバックアップおよび回復するのに役立つ多くの高度なストレージ管理機能を提供します。 Linux、Windows、macOSのバックアップクライアントをサポートし、幅広いバックアップデバイスもサポートします。 Baculaは、Baculaディレクトリ、Bacula、コンソール、Baculaストレージ、Baculaファイル、Baculaカタログなどのいくつかのコンポーネントから作成されます。各コンポーネントは、特定のジョブを管理する責任があります。
このチュートリアルでは、Ubuntu20.04にバックアップバックアップシステムをインストールして構成する方法を示します。
- 2GB以上のRAMを搭載したUbuntu20.04を実行しているサーバー。
- ルートパスワードがサーバーに設定されます。
まず、システムを最新の安定バージョンに更新する必要があります。次のコマンドで更新できます:
apt-get update -y
すべてのパッケージが更新されたら、次のステップに進むことができます。
デフォルトでは、BaculaパッケージはUbuntu20.04デフォルトリポジトリで利用できます。次のコマンドを使用して簡単にインストールできます:
apt-get install bacula -y
インストール中に、以下に示すようにメールサーバーを選択するように求められます。
目的のメールサーバーを選択し、 OKをクリックします ボタン。以下に示すように、システムのメール名を入力するように求められます。
システムのメール名を入力して、 OKをクリックします ボタン。以下に示すように、baculaのデータベースを構成するように求められます。
はいをクリックします ボタン。以下に示すように、PostgreSQLサーバーのホストを選択するように求められます。
ローカルホストを選択し、 OKをクリックします ボタン。以下に示すように、PostgreSQLパスワードを入力するように求められます。
希望のパスワードを入力し、 OKをクリックします ボタンをクリックしてインストールを続行します。
Baculaパッケージがインストールされたら、次のステップに進むことができます。
開始する前に、バックアップファイルを保存するディレクトリを作成します。次のコマンドで作成できます:
mkdir /backup
次に、次のコマンドを使用して、baculaディレクトリの所有権をbacula userandgroupに変更します。
chown -R bacula:bacula /backup
次に、Baculaストレージのデフォルト構成ファイルを編集し、ストレージのデバイスと場所を定義する必要があります。
nano /etc/bacula/bacula-sd.conf
他の「デバイス{」および「オートチェンジャー{」セクションを削除またはコメントアウトして、次の行を追加します。
Device {
Name = Local-device
Media Type = File
Archive Device = /backup
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
Maximum Concurrent Jobs = 5
}
終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してBaculaストレージサービスを再起動します。
systemctl restart bacula-sd.service
これで、次のコマンドを使用してBaculaストレージのステータスを確認できます。
systemctl status bacula-sd
次の出力が得られるはずです:
? bacula-sd.service - Bacula Storage Daemon service
Loaded: loaded (/lib/systemd/system/bacula-sd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-10-06 09:32:43 UTC; 8s ago
Docs: man:bacula-sd(8)
Process: 10687 ExecStartPre=/usr/sbin/bacula-sd -t -c $CONFIG (code=exited, status=0/SUCCESS)
Main PID: 10688 (bacula-sd)
Tasks: 2 (limit: 4691)
Memory: 1.0M
CGroup: /system.slice/bacula-sd.service
??10688 /usr/sbin/bacula-sd -fP -c /etc/bacula/bacula-sd.conf
Oct 06 09:32:43 ubuntu2004 systemd[1]: Starting Bacula Storage Daemon service...
Oct 06 09:32:43 ubuntu2004 systemd[1]: Started Bacula Storage Daemon service.
次に、Bacula Director構成ファイルを編集し、保存場所を指定する必要があります。次のコマンドで編集できます:
nano /etc/bacula/bacula-dir.conf
デバイス名、ストレージ名、パスワード、ジョブなどを含む次の行を追加します。
Storage {
Name = ubuntu2004-sd # Must be equal to the "Name" parameter of the "Storage" section in the /etc/bacula/bacula-sd.conf file
Address = 127.0.0.1
Password = "aFEH-0a3QycsbYQVcoy_VoUMhAHJQ00CD" # Password must match the password in the /etc/bacula/bacula-sd.conf
Device = Local-device
Media Type = File
}
FileSet {
Name = "Local-file"
Include {
Options {
signature = MD5
}
File = /etc
}
}
Schedule {
Name = "LocalDaily"
Run = Full daily at 06:00
}
Job {
Name = "LocalBackup"
JobDefs = "DefaultJob"
Enabled = yes
Level = Full
FileSet = "Local-file"
Schedule = "LocalDaily"
Storage = ubuntu2004-sd
Write Bootstrap = "/var/lib/bacula/LocalhostBackup.bsr"
}
終了したらファイルを保存して閉じ、Baculadirectorサービスを再起動して変更を適用します。
systemctl restart bacula-dir
次のコマンドを使用して、Baculaディレクターサービスのステータスを確認することもできます。
systemctl status bacula-dir
次の出力が得られるはずです:
? bacula-director.service - Bacula Director Daemon service
Loaded: loaded (/lib/systemd/system/bacula-director.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-10-06 09:32:43 UTC; 9s ago
Docs: man:bacula-dir(8)
Process: 10667 ExecStartPre=/usr/sbin/bacula-dir -t -c $CONFIG (code=exited, status=0/SUCCESS)
Main PID: 10683 (bacula-dir)
Tasks: 3 (limit: 4691)
Memory: 2.1M
CGroup: /system.slice/bacula-director.service
??10683 /usr/sbin/bacula-dir -fP -c /etc/bacula/bacula-dir.conf
Oct 06 09:32:43 ubuntu2004 systemd[1]: Starting Bacula Director Daemon service...
Oct 06 09:32:43 ubuntu2004 systemd[1]: Started Bacula Director Daemon service.
この時点で、Baculaがインストールされ、毎日6:00に実行されるように構成されています。それでは、Baculaコンソールを使用して最初のバックアップジョブを実行しましょう。
bconsole
接続すると、次の出力が得られます。
Connecting to Director localhost:9101 1000 OK: 103 ubuntu2004-dir Version: 9.4.2 (04 February 2019) Enter a period to cancel a command.
次に、次のコマンドを実行してバックアップジョブを開始します。
*run
以下に示すように、バックアップジョブを選択するように求められます。
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
A job name must be specified.
The defined Job resources are:
1: BackupClient1
2: LocalBackup
3: BackupCatalog
4: RestoreFiles
Select Job resource (1-4): 2
2と入力して、構成ファイルで定義したLocalBackupを選択し、Enterキーを押します。次の出力が表示されます。
Run Backup job JobName: LocalBackup Level: Full Client: ubuntu2004-fd FileSet: Local-file Pool: File (From Job resource) Storage: ubuntu2004-sd (From Job resource) When: 2020-10-06 09:50:47 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=3 You have messages.
この時点で、バックアップジョブが開始されます。次のコマンドを使用して、バックアップジョブのステータスを確認できます。
*status
次のコンポーネントのステータスを選択するように求められます:
Status available for:
1: Director
2: Storage
3: Client
4: Scheduled
5: Network
6: All
Select daemon type for status (1-6): 1
1と入力し、Enterキーを押して、ディレクターのステータスを確認します。次の出力が表示されます。
ubuntu2004-dir Version: 9.4.2 (04 February 2019) x86_64-pc-linux-gnu ubuntu 20.04
Daemon started 06-Oct-20 09:50, conf reloaded 06-Oct-2020 09:50:27
Jobs: run=1, running=0 mode=0,0
Heap: heap=274,432 smbytes=106,782 max_bytes=135,168 bufs=343 max_bufs=377
Res: njobs=4 nclients=1 nstores=3 npools=3 ncats=1 nfsets=3 nscheds=3
Scheduled Jobs:
Level Type Pri Scheduled Job Name Volume
===================================================================================
Full Backup 10 07-Oct-20 06:00 LocalBackup Vol-0001
====
Running Jobs:
Console connected at 06-Oct-20 09:50
No Jobs running.
====
Terminated Jobs:
JobId Level Files Bytes Status Finished Name
====================================================================
1 Full 2,262 2.875 M OK 06-Oct-20 09:50 LocalBackup
====
次に、statusコマンドを再度実行して、Baculaストレージのステータスを確認します。
*status
次の出力が表示されます。
Status available for:
1: Director
2: Storage
3: Client
4: Scheduled
5: Network
6: All
Select daemon type for status (1-6): 2
The defined Storage resources are:
1: File1
2: ubuntu2004-sd
Select Storage resource (1-2): 1
Connecting to Storage daemon File1 at localhost:9103
ubuntu2004-sd Version: 9.4.2 (04 February 2019) x86_64-pc-linux-gnu ubuntu 20.04
Daemon started 06-Oct-20 09:50. Jobs: run=1, running=0.
Heap: heap=106,496 smbytes=369,301 max_bytes=567,404 bufs=90 max_bufs=110
Sizes: boffset_t=8 size_t=8 int32_t=4 int64_t=8 mode=0,0 newbsr=0
Res: ndevices=1 nautochgr=0
Running Jobs:
No Jobs running.
====
Jobs waiting to reserve a drive:
====
Terminated Jobs:
JobId Level Files Bytes Status Finished Name
===================================================================
3 Full 2,262 3.156 M OK 06-Oct-20 09:50 LocalBackup
====
Device status:
Device File: "Local-device" (/backup) is not open.
Available Space=93.95 GB
==
====
Used Volume status:
====
Attr spooling: 0 active jobs, 454,546 bytes; 1 total jobs, 454,546 max bytes.
====
次に、次のコマンドを使用してBaculaコンソールを終了します。
*exit
次に、次のコマンドを使用してバックアップディレクトリを確認します。
ls /backup/
Vol-0001バックアップが作成されていることがわかります:
Vol-0001
おめでとう!これで、Ubuntu20.04サーバーにBaculaバックアップが正常にインストールおよび構成されました。これで、Baculaクライアントをリモートマシンにインストールして、クライアントシステムを簡単にバックアップできます。ご不明な点がございましたら、お気軽にお問い合わせください。