開発運用

UbuntuでのBaculaバックアップ

Baculaは、データバックアップおよびリカバリのためのオープンソースソフトウェアです。特にLinuxベースのシステム、例えばUbuntuでの使用に適しており、複雑なバックアップニーズを持つ企業や個人にとって非常に有用です。この完全かつ包括的なガイドでは、BaculaをUbuntuサーバーにインストールし、設定してバックアップを行うための手順を詳述します。

1. Baculaのインストール準備

まず最初に、BaculaをUbuntuサーバーにインストールする準備を整える必要があります。以下の手順を実行して、必要なパッケージをインストールします。

必要なパッケージのインストール

  1. UbuntuサーバーにSSHでログインします。
  2. パッケージリストを更新します。
bash
sudo apt update
  1. Baculaのインストールに必要なパッケージをインストールします。以下のコマンドを使用して、Baculaの全コンポーネントをインストールします。
bash
sudo apt install bacula-server bacula-client bacula-common

これにより、Baculaのサーバー、クライアント、共通ライブラリがインストールされます。

データベースのセットアップ

Baculaはバックアップメタデータを保存するためにデータベースを使用します。MySQLまたはPostgreSQLを使用できますが、ここではMySQLを使用する手順を説明します。

  1. MySQLをインストールします。
bash
sudo apt install mysql-server
  1. MySQLを起動し、Bacula用のデータベースとユーザーを作成します。
bash
sudo mysql -u root -p
  1. 次に、Bacula用のデータベースを作成します。
sql
CREATE DATABASE bacula; CREATE USER 'bacula'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON bacula.* TO 'bacula'@'localhost'; FLUSH PRIVILEGES; EXIT;
  1. Baculaの設定用スクリプトを実行し、データベースを設定します。
bash
sudo bacula-dir -c /etc/bacula/bacula-dir.conf -t sudo bacula-sd -c /etc/bacula/bacula-sd.conf -t sudo bacula-fd -c /etc/bacula/bacula-fd.conf -t

2. Baculaの設定

Baculaの設定ファイルは、サーバー、ストレージ、クライアントなど、さまざまなコンポーネントに分かれています。それぞれの設定ファイルを編集して、適切なバックアップを行うために必要な設定を行います。

バックアップディレクター(Director)の設定

Bacula Directorは、バックアップのスケジュールやポリシー、クライアントとの通信を管理します。/etc/bacula/bacula-dir.confファイルを編集し、以下のように設定します。

bash
sudo nano /etc/bacula/bacula-dir.conf

Directorセクションを確認し、必要に応じて修正します。特に以下の部分を確認してください。

  • FileDaemon:バックアップ対象となるクライアントのファイルデーモン設定
  • Storage:バックアップデータを保存するストレージの設定
  • Pool:バックアップデータの保管場所のプール設定
  • JobDefs:バックアップジョブのデフォルト設定

ストレージデーモン(Storage Daemon)の設定

Bacula Storage Daemonは、バックアップデータを保存する実際のメディア(テープ、ディスク、クラウドストレージなど)を管理します。/etc/bacula/bacula-sd.confファイルを編集し、ストレージ設定を行います。

bash
sudo nano /etc/bacula/bacula-sd.conf

このファイル内で、DeviceセクションやPoolセクションを適切に設定します。バックアップメディア(例えば、ディスクやテープ)の場所や名前を設定します。

ファイルデーモン(File Daemon)の設定

Bacula File Daemonは、バックアップ対象のファイルシステムを管理します。各バックアップクライアント(Ubuntuサーバーなど)の/etc/bacula/bacula-fd.conf設定ファイルを編集します。

bash
sudo nano /etc/bacula/bacula-fd.conf

ここで、Directorサーバーの設定を記述します。FileDaemonの設定には、Directorサーバーのホスト名や接続情報を設定します。

3. Baculaのバックアップジョブ設定

次に、実際にバックアップを行うジョブを設定します。bacula-dir.confファイルのJobDefsセクションで、バックアップのデフォルト設定を行います。

バックアップジョブの作成

bacula-dir.conf内で以下のようにバックアップジョブを設定します。

bash
JobDefs { Name = DefaultJob Type = Restore FileSet="Full Set" Schedule="WeeklyCycle" Pool=Default Priority=10 } Job { Name = "BackupFiles" Type = Backup FileSet="Full Set" Schedule="WeeklyCycle" Pool=Default Priority=10 Messages=Standard Volumes=File1 FileDaemon=FileDaemon1-fd Storage=File Pool=Default Priority=10 }

この設定で、毎週バックアップを行う設定を定義しています。FileSetSchedulePoolなど、ジョブに関連する設定は柔軟に変更可能です。

4. バックアップの実行

設定が完了したら、バックアップジョブを実行して、設定が正しく行われていることを確認します。

ジョブの実行

以下のコマンドでバックアップジョブを実行します。

bash
sudo bconsole * run job=BackupFiles

これにより、指定したバックアップジョブが実行されます。

5. バックアップデータの確認

バックアップが完了したら、バックアップが正しく作成されていることを確認します。Baculaのログや、指定したバックアップメディアにデータが保存されているか確認します。

bash
sudo bconsole * list jobs

このコマンドを使用して、ジョブのステータスを確認できます。

6. 自動バックアップのスケジュール

バックアップジョブは、cronジョブを使って定期的に自動実行することができます。cronを設定して、Baculaのバックアップジョブを定期的に実行するように設定します。

bash
crontab -e

例えば、毎週日曜日の午前2時にバックアップを実行する場合、以下のように設定します。

bash
0 2 * * Sun /usr/sbin/bconsole -c /etc/bacula/bconsole.conf -n run job=BackupFiles

これで、指定した時間に自動的にバックアップが実行されます。

まとめ

Baculaは、Ubuntuサーバーで強力かつ柔軟なバックアップシステムを提供します。このガイドを参考に、Baculaのインストール、設定、バックアップジョブの作成方法を学びました。Baculaを適切に設定することで、システムのデータを安全にバックアップし、災害時にも迅速にリカバリすることが可能です。

Back to top button