バックアップソフトウエアです
本家様 http://blog.bacula.org/

下記6の要素があるようで、ここではDirectorとConsole、Monitor、Catalogを一つにまとめ3つの要素として扱う

  • Bacula Director
    バックアップを統括。リストア、バックアップ検証、アーカイブを管理する。デーモンが稼働する
    bacula-director, bacula-common, bacula-libs, bacula-libs-sql, logwatch, mailx
  • Bacula Console
    Directorに繋がって、処理を依頼するプログラム。テキストベースでもGUIベースのものもある。
    bacula-console, bacula-console-bat, bacula-libs, libmng, pciutils, qt, qt-settings, qt-x11
  • Catalog
    バックアップされたファイルの場所とかを収録するデータベース。MySQL、PostgreSQL、SQLiteらに対応済み
    ここではPostgreSQLを使用します。
  • Bacula Monitor
    Bacula Directors、Bacula File Daemons、Bacula Storage Daemonsを監視するプログラム

  • Bacula Storage
    バックアップ先で稼働。大容量ディスク/テープ装置を持つ
    bacula-storage, bacula-common, bacula-libs, bacula-libs-sql, mt-st

  • Bacula File
    バックアップ対象で稼働する。
    bacula-client, bacula-common, bacula-libs

もちろん構成によっては全部が1台で動かしても構わない。
でも、バックアップ対象(File)が複数あって、directorstorageが一緒となるのが多いのかな?
一応、仮想マシンとかデータベースのオンラインバックアップもできるようだけど、こちらは料金が発生するみたい。
まぁファイルだけのバックアップを行うのなら、これでいいかな。

関連:Bacula/configuration

構成図

2015y05m30d_093913113.png
3台構成で、directorstoragefileで構築してみた。OSは共にCentOS7

director

まずCatalogを収めるデータベース(PostgreSQL)をインストールして、Unix domain socketでtrust認証を可能にさせる。
*IPv4でmd5認証接続でも構わない

[root@director ~]# yum install postgresql-server
[root@director ~]# postgresql-setup initdb
[root@director ~]# vi /var/lib/pgsql/data/pg_hba.conf
- local   all             all                                     peer
+ local   all             all                                     trust
 
[root@director ~]# systemctl enable postgresql
[root@director ~]# systemctl start postgresql

これでCatalogの準備は完了で、次にBacula Directorをインストールする。

[root@director ~]# yum install bacula-director bacula-console

これで/etc/passwdにbaculaユーザが作成されます。
その後、bacula-directorパッケージに含まれているCatalog向けのSQLを実行します。
これでBacula向けのデータベースとテーブルらと、そのテーブルを操作できるpostgres内ユーザ(bacula)が作られる。

[root@director ~]# su - postgres -c /usr/libexec/bacula/create_postgresql_database
[root@director ~]# su - postgres -c /usr/libexec/bacula/make_postgresql_tables
[root@director ~]# su - postgres -c /usr/libexec/bacula/grant_postgresql_privileges
[root@director ~]# psql -U bacula -l
                                         データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序  | Ctype(変換演算子) |      アクセス権
-----------+----------+------------------+------------+-------------------+-----------------------
 bacula    | postgres | SQL_ASCII        | C          | C                 |
 postgres  | postgres | UTF8             | ja_JP.utf8 | ja_JP.utf8        |
 template0 | postgres | UTF8             | ja_JP.utf8 | ja_JP.utf8        | =c/postgres          +
           |          |                  |            |                   | postgres=CTc/postgres
 template1 | postgres | UTF8             | ja_JP.utf8 | ja_JP.utf8        | =c/postgres          +
           |          |                  |            |                   | postgres=CTc/postgres
(4 行)
 
[root@director ~]#

留意
当然このdirectorとは違うマシンのpostgresも利用できる
もし違うマシンのpostgres、違うユーザで使用するなら/etc/bacula/bacula-dir.confのCatalog項を修正する。

Catalog {
  Name = MyCatalog
  dbname = "bacula"; dbuser = "bacula"; dbpassword = ""
}

これでbacula-directorのインストールは完了

storage

バックアップ先のマシンにbacula-storageパッケージをインストールします。

[root@storage ~]# yum install bacula-storage

インストールと同時に/etc/passwdにbaculaユーザが作成されます。またBacula Storageのデーモンも作られる。

[root@storage ~]# getent passwd |grep bacula
bacula:x:133:133:Bacula Backup System:/var/spool/bacula:/sbin/nologin
[root@storage ~]#
[root@storage ~]# systemctl list-unit-files |grep bacula
bacula-sd.service                           disabled
[root@storage ~]#

File(CentOS7)

いわゆるバックアップソフトのクライアントをバックアップ対象マシンにインストールします。

[root@client ~]# yum install bacula-client
[root@client ~]# systemctl list-unit-files |grep bacula
bacula-fd.service                           disabled
[root@client ~]#
[root@client ~]# systemctl enable bacula-fd.service
[root@client ~]# systemctl start bacula-fd.service

設定

設定はかなり複雑で Bacula/configuration にて提示します。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2015-07-25 (土) 00:11:43 (872d)