開発運用

Ubuntuサーバー Bacula バックアップ

UbuntuサーバーのバックアップをBaculaを使用して完全かつ包括的に実施する方法について、以下に詳細な記事を日本語で解説します。Baculaは、ネットワーク経由でのバックアップ、リストア、検証、および監視を一元的に行うためのオープンソースのバックアップソフトウェアです。特に企業や大規模なシステム環境での使用が推奨されます。

1. Baculaのインストール

Baculaは、Ubuntuの公式リポジトリから直接インストールできます。最初にパッケージリストを更新し、必要なパッケージをインストールします。

bash
sudo apt update sudo apt install bacula-server bacula-client bacula-director bacula-sd bacula-fd

これにより、Baculaの各コンポーネントがインストールされます。各コンポーネントの役割は以下の通りです。

  • Bacula Director: バックアップスケジュールの管理、バックアップジョブの実行を担当します。
  • Bacula Storage Daemon (SD): データを実際に保存するためのバックエンドです。
  • Bacula File Daemon (FD): クライアント側でバックアップを実行するエージェントです。

インストールが完了したら、各サービスが適切に動作するように設定を行います。

2. Baculaの設定

Baculaの設定ファイルは通常、/etc/bacula/ディレクトリ内に格納されます。このディレクトリには、bacula-dir.conf, bacula-sd.conf, bacula-fd.conf など、各コンポーネントの設定ファイルがあります。各ファイルの設定を適切に調整する必要があります。

Bacula Directorの設定

bacula-dir.conf ファイルは、Bacula Directorの設定を管理します。このファイルには、バックアップジョブの定義、リストアポリシー、バックアップスケジュールなどが含まれます。基本的な設定例は次の通りです。

bash
Director { Name = MyDirector-dir DIRport = 9101 QueryFile = /etc/bacula/scripts/query.sql WorkingDirectory = /var/lib/bacula PidDirectory = /var/run/bacula Messages = DaemonMessages }

上記の設定で、DIRportはBacula Directorが使用するポートを指定しています。WorkingDirectoryPidDirectoryは、Baculaが動作中に必要なファイルを格納するディレクトリです。

Bacula Storage Daemonの設定

次に、bacula-sd.conf ファイルの設定を行います。この設定ファイルは、バックアップデータを保存する場所を指定します。以下は基本的な設定例です。

bash
StorageDaemon { Name = MyStorage-daemon SDPort = 9103 DeviceDirectory = /var/lib/bacula MediaType = File }

ここで、SDPortはBacula Storage Daemonが使用するポート番号を指定し、DeviceDirectoryはバックアップメディア(ディスクなど)の場所を定義します。

Bacula File Daemonの設定

最後に、bacula-fd.conf ファイルを設定します。このファイルは、バックアップ対象のファイルシステムの設定を行います。

bash
FileDaemon { Name = MyClient-fd FDPort = 9102 WorkingDirectory = /var/lib/bacula }

FDPortはBacula File Daemonが使用するポートを設定し、WorkingDirectoryはバックアップ中に必要なファイルを格納するディレクトリです。

3. Baculaでバックアップジョブを定義

バックアップジョブを定義するためには、Bacula Directorの設定ファイルにジョブの詳細を追加します。以下に、簡単なバックアップジョブの定義例を示します。

bash
JobDefs { Name = DefaultJobDefs Type = Restore FileSet="Full Set" Pool=Default Priority=10 } Job { Name = "BackupClientFiles" Type = Backup Client=MyClient-fd-fd FileSet="Full Set" Schedule = "WeeklyCycle" Pool=Default Priority=10 }

上記では、BackupClientFilesというバックアップジョブを定義し、毎週自動でバックアップを実行するスケジュールを設定しています。

4. スケジュール設定

Baculaでは、バックアップジョブの実行スケジュールも設定する必要があります。これは、bacula-dir.conf ファイル内で行います。例えば、毎週のバックアップを設定する場合、以下のように記述します。

bash
Schedule { Name = "WeeklyCycle" Run = Full 1st sun at 22:00 }

この設定では、毎週日曜日の午後10時にバックアップジョブを実行するように指定しています。

5. バックアップの実行

バックアップジョブを設定した後、Bacula Directorを再起動して設定を反映させます。バックアップジョブは自動的に指定したスケジュールで実行されます。手動でバックアップを実行する場合は、以下のコマンドを使用します。

bash
sudo bconsole *run

Baculaのコンソールで「*run」を入力すると、バックアップジョブが実行されます。

6. バックアップデータのリストア

Baculaでは、リストアも簡単に行うことができます。リストアするには、bconsoleで以下のコマンドを使用します。

bash
sudo bconsole *restore

これにより、バックアップからの復元プロセスが開始されます。

7. バックアップの監視

Baculaには、バックアップジョブの監視機能も組み込まれています。ジョブの状態や進行状況を監視するために、bconsoleを使用してログを確認することができます。例えば、最近のバックアップジョブの状態を表示するには、次のコマンドを入力します。

bash
*status dir

これにより、現在のバックアップのステータスを確認することができます。

8. Baculaのセキュリティ

バックアップのセキュリティを確保するために、Baculaの設定ファイル内で認証を有効にすることが重要です。Baculaでは、暗号化やパスワードを使用して、バックアップデータのセキュリティを高めることができます。設定ファイルにセキュリティ設定を追加することで、外部からの不正アクセスを防ぐことができます。

bash
Director { Name = MyDirector-dir Password = "securepassword" Messages = DaemonMessages }

このように設定することで、Bacula Directorへのアクセスには指定したパスワードが必要となります。

結論

Baculaは強力で柔軟なバックアップソリューションであり、Ubuntuサーバーでの完全かつ包括的なバックアップを行うために非常に適しています。この記事では、Baculaのインストールから設定、バックアップの実行、リストア、監視、そしてセキュリティ設定に至るまでの一連の手順を説明しました。Baculaを適切に設定することで、重要なデータを安全にバックアップし、万が一の障害時にも迅速にリストアすることが可能になります。

Back to top button