はじめに
前回はなぜバックアップが必要なのかを説明しました。今回は実際にBaculaをさわってみて,
用意するのは,
前回の最後で書いた通り,
- 第2回 Baculaでバックアップをしてみよう
- 第3回 GUIツールBaculumを使ってバックアップを簡単にする
- 第4回 Baculaを使いやすくするための設定値解説
- 第5回 LinuxだけじゃないWindowsのファイルもバックアップ
- 第6回 忘れてはいけないリストアの手法
- 第7回 Baculaをもっと活用しよう
(Bacula Enterpriseでできること)
上記で使用する環境をすべて作成すると,
Baculaのアーキテクチャ
最初に,
Baculaの主要なコンポーネントは次の3つです。括弧内はサービス名です。各コンポーネントの起動やステータス確認はこの名前で行ってください。
- ディレクターデーモン
(bacula-dir) Bacula全体の動作を制御するメインコンポーネントです。履歴を管理する内部データベース
(カタログ) も含まれます。 - ストレージデーモン
(bacula-sd) バックアップした実データを保存するサーバにインストールし,
書き込みや読み出し動作を行います。 - ファイルデーモン
(bacula-fd) バックアップ対象のサーバやPCにインストールして,
データの読み出しを行います。リストア時には書き込みを行います。Baculaクライアントと呼ぶこともあります。
これら3つのコンポーネントは1つのサーバにすべて入っていてもいいですし,
今回は1台のサーバにすべてのコンポーネントをインストールします。なお,
また,
- bconsole
bconsoleはディレクターデーモンと通信を行い,
ディレクターデーモンが実際のバックアップやリストア動作の命令を出します。
事前準備
Baculaは以下のポートを使用します。ファイヤーウォールの設定をしておいてください。
| ポート番号 | 利用目的 |
|---|---|
| 9101 | ディレクターデーモン |
| 9103 | ストレージデーモン |
| 9102 | ファイルデーモン |
なお,
# firewall-cmd --permanent --add-service=bacula success # firewall-cmd –reload success
SELinuxはEnforcingのままでも問題ありません。
Baculaのインストール
実際のインストール手順を進めていきましょう
リポジトリの追加
まず,
# cd /etc/yum.repos.d/ # wget https://copr.fedorainfracloud.org/coprs/slaanesh/Bacula/repo/epel-7/slaanesh-Bacula-epel-7.repo
Baculaパッケージのインストール
リポジトリの追加が完了したら,
# yum -y install bacula-director bacula-client bacula-storage bacula-console mariadb-server
MariaDBの初期設定
MariaDBを一度起動して自動起動も有効にしておきます。
# systemctl start mariadb # systemctl enable mariadb
また,
# mysql_secure_installation
上記コマンド実行後,
Set root password? [Y/n] y New password: dbpass Re-enter new password: dbpass Password updated successfully! Reloading privilege tables.. ... Success!
他の質問についてはすべてyと答えておいてください。
Bacula用のデータベースを作成します。
# mysql -u root -p Enter password: dbpass MariaDB > create database bacula; Query OK, 1 row affected (0.00 sec) MariaDB > grant all privileges on bacula.* to bacula@localhost identified by ' dbpass'; Query OK, 0 rows affected (0.01 sec) MariaDB > quit
Bacula用のテーブルの作成を行います。
# /usr/libexec/bacula/make_bacula_tables mysql -u bacula -p Making mysql tables Enter password: dbpass Creation of Bacula MySQL tables succeeded.
Baculaが使用するデータベースの変更を行います。
# alternatives --config libbaccats.so There are 3 programs which provide 'libbaccats.so'. Selection Command ----------------------------------------------- 1 /usr/lib64/libbaccats-mysql.so 2 /usr/lib64/libbaccats-sqlite3.so *+ 3 /usr/lib64/libbaccats-postgresql.so Enter to keep the current selection[+], or type selection number: 1
もう一度コマンドを実行して,
# alternatives --config libbaccats.so There are 3 programs which provide 'libbaccats.so'. Selection Command ----------------------------------------------- + 1 /usr/lib64/libbaccats-mysql.so 2 /usr/lib64/libbaccats-sqlite3.so * 3 /usr/lib64/libbaccats-postgresql.so Enter to keep the current selection[+], or type selection number: