eth0jpの日記 このページをアンテナに追加 RSSフィード

2009-09-28

Baculaでバックアップしてみる

噂のBacula。

噂かどうかは知らないけど、社長がBaculaに注目してるような事を言ってた。

最近サーバの異音が酷いので、そろそろヤバイのではないかと思い、バックアップしてみる。

 

環境

FedoraのEPELを追加して、Yumでインストールする。

ネットワークバックアップとして最小の2台構成。

2台だけでやる分には、サンプルコンフィグを殆ど弄らなくてもいい気がする。

 

Baculaサーバ

バックアップスケジュールを管理して、ファイルを保存する側。

bacula-sdとbacila-dirを動かす。

 

OS : CentOS 5.3 (2.6.18-128.el5xen)

DB : mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1

Bacula : 2.0.3-10.el5

GUI : なし

 

Baculaクライアント

大事なファイルがある側。

bacula-fdを動かす。

 

OS : CentOS 5.3 (2.6.29.4)

Bacula : 2.0.3-10.el5

GUI : なし

 

サーバ インストール

インストール
yum install --enablerepo=epel bacula-console bacula-director bacula-director-mysql bacula-storage-mysql

 

データベース設定

用意されたBashファイルを使ってもいいんだけど、よく解らないから自分でする。

baculaデータベース作成。

baculaユーザ作成。

CREATE DATABASE bacula;
GRANT ALL PRIVILEGES ON bacula.* TO bacula@localhost IDENTIFIED BY 'bacula';

 

テーブル作成。

/usr/libexec/bacula/make_mysql_tables -ubacula -pbacula

 

すぐ忘れるので、MySQLの基礎っぽいコマンドも書いておく。

-- データベース作成
CREATE DATABASE bacula;
-- ユーザ作成
GRANT ALL PRIVILEGES ON bacula.* TO bacula@localhost IDENTIFIED BY 'bacula';
-- パスワード作成
SET PASSWORD FOR bacula@localhost=PASSWORD('bacula');
-- ユーザ削除
DELETE FROM mysql.user WHERE user='bacula' AND host='localhost';
-- ユーザ確認
SELECT user,host,password FROM mysql.user;

 

サーバ bacula-dir

bacula-dir.confを編集する。

 

サンプルでのパスワードは全て、"@@XX_PASSWORD@@"と書かれてる。("XX"の部分が"DIR"とか"SD"とか)

一括置換した方がいいかもしれない。

grep @@ /etc/bacula/*

 

最低限変更箇所

Director -> Password

Job(Name=BackupCatalog) -> RunBeforeJob = 引数3つ目はDBパスワード

Client -> Password

Storage -> Password

Catalog -> dbname

Messages(Name=Standard) -> mail,operator

Messages(Name=Daemon) -> mail

Console -> Password

 

バックアップ対象ディレクトリ設定

FileSet -> Include -> File = /home

 

バックアップファイルを圧縮する

GZIPで圧縮 : FileSet -> Include -> Options -> Compression = GZIP

GZIP9で圧縮 : FileSet -> Include -> Options -> Compression = GZIP9

 

バックアップファイルを削除するまでの日数設定

365日が流石に長すぎるのは解るけど、果たしてどれ位の期間が丁度いいのか見当が付かない。

Client -> File Retentionが30日になってるから、それよりは長い方がいいんだろう、きっと。

ハードディスク使用量を見つつ、後々変更する予定。

Pool -> Volume Retention = 60 days

 

bacula-dir起動
service bacula-dir start
chkconfig bacula-dir on

 

コンフィグのパスワードを変更してないとこうなるっぽい。

パスワードは空じゃないし、とりあえずデフォルトでいいかと思ったら怒られた。

Starting bacula-dir: Error: Not been configured            [FAILED]

 

参考URL

LunaTear: Bacula (6) bacula-dir.conf 1

LunaTear: Bacula (7) bacula-dir.conf 2

LunaTear: Bacula (8) bacula-dir.conf 3

LunaTear: Bacula (9) 設定例

CentOS 5 - 統合バックアップツール Bacula - Baculaサーバ設定 : Server World

 

サーバ bacula-sd

bacula-sd.confを編集する。

 

最低限編集箇所

Director -> Password

 

bacula-sd起動
service bacula-sd start
chkconfig bacula-sd on

 

参考URL

LunaTear: Bacula (5) bacula-sd.conf

CentOS 5 - 統合バックアップツール Bacula - Baculaサーバ設定 : Server World

 

クライアント インストール

インストール
yum install --enablerepo=epel bacula-client bacula-console

 

データベース設定

baculaユーザ作成。

mysqldumpするために全ての権限が必要。

GRANT ALL PRIVILEGES ON *.* TO bacula@localhost IDENTIFIED BY 'bacula';

 

クライアント bacula-fd

bacula-fd.confを編集する。

 

最低限変更箇所

Director -> Password

Director -> Password

 

bacula-fd起動
service bacula-fd start
chkconfig bacula-fd on

 

参考URL

LunaTear: Bacula (4) bacula-fd.conf

CentOS 5 - 統合バックアップツール Bacula - バックアップ対象クライアント設定 : Server World

 

サーバ/クライアント bconsole

bconsole.confを編集する。

 

最低限編集箇所

Director -> address,Password

 

参考URL

CentOS 5 - 統合バックアップツール Bacula - バックアップ対象クライアント設定 : Server World

 

バックアップ実行

コンソールに入る。

bconsole

 

ヘルプ表示。

*help

 

ステータス表示。見方はよく解らない。

*status all

 

ラベルをつける。

*label
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
Automatically selected Storage: File
Enter new Volume name: eth0
Automatically selected Pool: Default
Connecting to Storage daemon File at 192.168.0.200:9103 ...
Sending label command for Volume "eth0" Slot 0 ...
3000 OK label. VolBytes=188 DVD=0 Volume="eth0" Device="FileStorage" (/var/backup)
Catalog record for Volume "eth0", Slot 0  successfully created.
Requesting to mount FileStorage ...
3906 File device "FileStorage" (/var/backup) is always mounted.

 

バックアップ実行。

*run
A job name must be specified.
The defined Job resources are:
     1: Client1
     2: BackupCatalog
     3: RestoreFiles
Select Job resource (1-3): 1
Run Backup job
JobName:  Client1
Level:    Incremental
Client:   bacula-fd
FileSet:  Full Set
Pool:     Default (From Job resource)
Storage:  File (From Job resource)
When:     2009-09-27 10:34:34
Priority: 10
OK to run? (yes/mod/no): mod
Parameters to modify:
     1: Level
     2: Storage
     3: Job
     4: FileSet
     5: Client
     6: When
     7: Priority
     8: Pool
Select parameter to modify (1-8): 1
Levels:
     1: Base
     2: Full
     3: Incremental
     4: Differential
     5: Since
Select level (1-5): 2
Run Backup job
JobName:  Client1
Level:    Full
Client:   bacula-fd
FileSet:  Full Set
Pool:     Default (From Job resource)
Storage:  File (From Job resource)
When:     2009-09-27 10:34:34
Priority: 10
OK to run? (yes/mod/no): yes
Job queued. JobId=1
*
27-Sep 10:37 bacula-dir: Start Backup JobId 1, Job=Client1.2009-09-27_10.37.19
27-Sep 10:37 bacula-sd: Wrote label to prelabeled Volume "eth0" on device "FileStorage" (/var/backup)

 

あとがき

全体的によく解らん。

リストアもまだやってない。

スケジュールも不明。

データベースのバックアップを使用とすると、ファイルが見つからないエラーが出て、0バイトバックアップ成功になる。

データベースは、差分も糞もなくダンプしてフルバックアップするだけみたいだから、他のツールを使ってもいいかも知れない。

データベースは、MySQLとPostgreSQLの2つを使ってるから、両方出来る奴だと尚いい。

どうやらBaculaにはブラウザから確認が出来るWebaculaというツールがあるらしい。

今度入れてみよう。

 

参考URL

BACULA.JP

CentOS 5 - 統合バックアップツール Bacula - Baculaインストール : Server World

LunaTear: Bacula Categories

サーバをリプレイスしたときのメモ6 baculaの設定と運用 - るびゅ備忘録

自宅環境のバックアップにBaculaを導入 - edy::diary

no title

はてなブックマーク - Edy::bookmark - bacula

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/eth0jp/20090928/1254071281