45
58

More than 5 years have passed since last update.

rsyncさん今までありがとう。ナウいBaculaでバックアップしてみた。

Last updated at Posted at 2016-09-27

Baculaとは?

Baculaはオープンソースのバックアップソフトウェアです。
Linux、UNIX、Windows、Macなどのサーバおよびクライアントのバックアップ、リストアをすることができます。

Bacula概要

Baculaは、3つのデーモン(プログラム)が動作することによりバックアップ、リストアを実現します。
3つのデーモンはDirectorデーモン、Storageデーモン + データベース(カタログ)、Fileデーモンの3つです。

さらにバックアップ対象となるサーバにはFileデーモンと呼ばれるエージェントをインストールする必要があります。

さらにそれらのデーモンとは別にConsoleがあります。Consoleはユーザが実際にBaculaを操作するものです。ConsoleはCUI、GUIの両方があります。
デーモンとコンソールの関係を図にすると以下のようになります。

bacula-kiso-daemon.png

分かりやすくするために各デーモンを別々に記載してありますが、1台のサーバにまとめてインストールすることももちろん可能です。
今回の例では1台に全てのデーモンをインストールしBaculaサーバを構築します。

今回試した例をシンプルに表すと以下になります。

bacula-kiso-server.png

Baculaサーバに
  Directorデーモン
  Storageデーモン + データベース(カタログ)
  Fileデーモン ←これは自分自身をバックアップするために必要
をインストール

バックアップ対象サーバに
  Fileデーモン
をインストールします。

インストール環境

バージョン
OS CentOS 7.2
バックアップ Bacula 7.4.3
データベース MariaDB 5.5

Baculaサーバインストール

FirewalldとSELinuxに関してはお好みで設定してください。
Baculaでは9101~9103のポートを使用します。

まずリポジトリを追加します。

# cd /etc/yum.repos.d/
# wget https://copr.fedorainfracloud.org/coprs/slaanesh/Bacula/repo/epel-7/slaanesh-Bacula-epel-7.repo

次にインストールを実施します。

# yum -y install bacula-director bacula-client bacula-storage bacula-console mariadb-server

インストール自体は以上で終了です。

MariaDB設定

続いてDBの設定をします。
まず起動します。ついでに自動起動の設定をしてさらに起動したことを確認します。

# systemctl start mariadb
# systemctl enable mariadb
# systemctl status mariadb

続いて初期化します。例ではパスワード設定を「dbpass」にしています。

# mysql_secure_installation

<省略>

Set root password? [Y/n] Y          ←「Y」を入力
New password: dbpass         ←rootのパスワードを入力
Re-enter new password: dbpass       ←rootのパスワードを再入力
Password updated successfully!
Reloading privilege tables..
... Success!

<省略>


Thanks for using MariaDB!
#

続いてデータベースを作成します。

# mysql -u root -p
Enter password: dbpass           ←rootのパスワードを入力
MariaDB > create database bacula;   ←createコマンドを実行
Query OK, 1 row affected (0.00 sec)
MariaDB > grant all privileges on bacula.* to bacula@localhost identified by 'dbpass'; ←MariaDBのパスワード設定
Query OK, 0 rows affected (0.01 sec)           
MariaDB > quit
Bye

さらにテーブルを作成します。

# /usr/libexec/bacula/make_bacula_tables mysql -u bacula -p
Making mysql tables
Enter password: dbpass    ↽rootのパスワードを入力
Creation of Bacula MySQL tables succeeded.

データベースの切り替えをします。1を入力して「Enter」を押下してください。

# alternatives --config libbaccats.so

3 プログラムがあり 'libbaccats.so' を提供します。

  選択       コマンド
-----------------------------------------------
   1           /usr/lib64/libbaccats-mysql.so
   2           /usr/lib64/libbaccats-sqlite3.so
*+ 3           /usr/lib64/libbaccats-postgresql.so
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します: 1

以上でサーバ側の設定は終了です。

バックアップ対象側インストール

FirewalldとSELinuxに関してはお好みで設定してください。
バックアップ対象側では9102のポートを使用します。

まずリポジトリを追加します。

# cd /etc/yum.repos.d/
# wget https://copr.fedorainfracloud.org/coprs/slaanesh/Bacula/repo/epel-7/slaanesh-Bacula-epel-7.repo

次にFileデーモンのみインストールします。

# yum -y install bacula-client

バックアップ対象側のインストールは以上で終了です。

Baculaサーバ設定

Baculaサーバの設定に関しては以下を参照しました。
https://www.bacula.jp/server-setting

またログの設定に関しては以下を参照しました。
https://www.bacula.jp/bacula-log

バックアップ対象側設定

バックアップ対象側の設定に関しては以下を参照しました。
https://www.bacula.jp/bacula-client-setting

Baculaサーバ起動

設定が終わったところでサーバを起動します。

# systemctl start bacula-dir
# systemctl start bacula-sd
# systemctl start bacula-fd

バックアップ対象側

Fileデーモンだけ起動します。

# systemctl start bacula-fd

Bacula環境完成

以上でBacula環境が構築できました。
実際にバックアップ、リストアなどを実施します。

バックアップ取得

バックアップの取得については以下を参照しました。
https://www.bacula.jp/backup

リストア実行

リストアに関しては以下を参照しました。
https://www.bacula.jp/restore

バックアップのスケジュール

バックアップのスケジュール管理については以下を参照しました。
https://www.bacula.jp/archives/1100

メール通知設定

バックアップ失敗時のメール通知設定については以下を参照しました。
https://www.bacula.jp/archives/1088

BaculaのGUIツール

Baculaではデフォルトでbconsoleを使うようになっていますが、GUIツールもあります。
基本的に設定はできません。バックアップ、リストアなどができます。

・Baculum
baculum.png

インストール手順は以下を参照しました。
https://www.bacula.jp/baculum-install

・Bacula-web
bacula-web-dashboard.png

インストール手順は以下を参照しました。
https://www.bacula.jp/bacula-web-install

その他重複排除なども対応しているようなのですが、まだ解読しきれていないので、これから頑張りたいと思います。

参照

Bacula.jp
https://www.bacula.jp/

45
58
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
45
58