前回 に続き、今回はBacula【構築手順編その2】を書きたいと思います。
【構築手順編その2】ではbacula-fd(Backup Client)とbacula-sd(Storage Daemon)の設定例と疎通確認方法を紹介します。
自分のデスク上に、飲み終わったペットボトルが溜まりがちです。
matsBです。(๑•̀ㅂ•́)و✧
ペットボトル集めの趣味はないのですが、捨てるタイミングをいつも逃してます。
Baculaの情報って海外サイトが基本で、英語の翻訳が出来ないと結構苦労します。
日本サイトや日本語マニュアルもあるにはあるんですが、実際の設定例や運用例がかなり少ないので、迷った方や困った方がいれば一例として参考にしてもらえればと思います!
前提 (前の記事からのおさらい)
前提環境
MySQLをインストール済。
iptables等のFirewallは一旦無視してます。
サーバ情報
役割 | ホスト名 | IPアドレス |
---|---|---|
Director | quick-dir | 10.0.0.1 |
Client | quick-fd | 10.0.0.2 |
Client(DR用) | quick-dr | 10.0.0.3 |
Storage | quick-sd | 10.0.0.10 |
bacula-fdの下準備
リポジトリの追加
Baculaの7系を入れるためにBaculaのリポジトリを追加。
【CentOS6用】 [root@quick-fd ~]# wget https://copr.fedorainfracloud.org/coprs/slaanesh/Bacula/repo/epel-6/slaanesh-Bacula-epel-6.repo -O /etc/yum.repos.d/slaanesh-Bacula-epel-6.repo
ここまでは【構築手順編その1】と一緒で、↓から【構築手順編その2】の始まりです!
まずは、bacula-fd(Backup Client)から。
bacula-fd(Backup Client)の準備
yum でインストール
[root@quick-fd ~]# yum install -y bacula-client
bacula-fd(Backup Client)の設定
/etc/bacula/bacula-fd.conf
[root@quick-fd ~]# cat /etc/bacula/bacula-fd.conf Director { Name = quick-dir # Director名 Password = "fd-password" # Directorとのパスワード } Director { Name = bacula-mon Password = "mon-fd-password" Monitor = yes } FileDaemon { Name = quick-fd # Client名 FDport = 9102 WorkingDirectory = /var/spool/bacula Pid Directory = /var/run Maximum Concurrent Jobs = 20 Plugin Directory = /usr/lib64/bacula } Messages { Name = Standard director = bacula-dir = all, !skipped, !restored }
ってまぁ、ほとんどデフォルトに近い状態です。
これでクライアント側は設定完了です。
configチェックと再起動して適用
[root@quick-fd ~]# bacula-fd -t -c /etc/bacula/bacula-fd.conf [root@quick-fd ~]# /etc/init.d/bacula-fd restart Stopping bacula-fd: [ OK ] Starting bacula-fd: [ OK ]
Directorからの疎通確認
クライアント側で設定後、bacula-dirからbacula-fdに接続できるか確認します。
下記のようにステータスが取れない場合は、Configにミスがあるか、ネットワーク(iptables)等に問題があります。
[root@quick-dir ~]# echo status Client=quick-fd | bconsole Connecting to Director localhost:9101 1000 OK: 102 bacula-dir Version: 7.4.4 (20 September 2016) Enter a period to cancel a command. status Client=quick-fd Connecting to Client quick-fd at 10.0.0.2:9102 quick-fd Version: 7.4.5 (07 February 2017) x86_64-redhat-linux-gnu redhat Daemon started 08- 3▒2017 20:54. Jobs: run=0 running=0. Heap: heap=135,168 smbytes=16,926 max_bytes=16,943 bufs=56 max_bufs=56 Sizes: boffset_t=8 size_t=8 debug=0 trace=0 mode=0 bwlimit=0kB/s Plugin: bpipe-fd.so Running Jobs: Director connected at: 07- 4▒2017 15:38 No Jobs running. ==== Terminated Jobs: ====
bacula-fd(Backup Client)の設定はこれで設定完了です。
次に、bacula-sd(Storage Daemon)を説明します。
bacula-sdの下準備
リポジトリの追加
Baculaの7系を入れるためにBaculaのリポジトリを追加。
【CentOS6用】 [root@quick-sd ~]# wget https://copr.fedorainfracloud.org/coprs/slaanesh/Bacula/repo/epel-6/slaanesh-Bacula-epel-6.repo -O /etc/yum.repos.d/slaanesh-Bacula-epel-6.repo
bacula-sd(Storage Daemon)の準備
yum でインストール
【運用手順編】で出す予定ですが、PurgedになったVolumeとファイルをストレージ側から削除させてるのでbacula-consoleもインストールします。
[root@quick-sd ~]# yum install -y bacula-storage bacula-console
bacula-sd(Storage Daemon)の設定
/etc/bacula/bacula-sd.conf
FileChgr1にDeviceを複数指定してるんですが、これは同じ時間にバックアップが複数走ると、Deviceの数しかバックアップが走りません。
Deviceを2つにすると、2つ並列でバックアップが走りますし、Deviceを5つにすると5つ並列でバックアップが走ることが出来きるので、サーバのスペックと相談しながら数を調整すると幸せになれます。
Volume自体は/data/bacula-backupに全て保存しています。
[root@quick-sd ~]# cat /etc/bacula/bacula-sd.conf Storage { Name = quick-sd SDPort = 9103 WorkingDirectory = "/var/spool/bacula" Pid Directory = "/var/run" Maximum Concurrent Jobs = 20 } Director { Name = bacula-dir Password = "sd-password" } Director { Name = bacula-mon Password = "mon-sd-password" Monitor = yes } Autochanger { Name = FileChgr1 Device = FileChgr1-Dev1, FileChgr1-Dev2, FileChgr1-Dev3, FileChgr1-Dev4, FileChgr1-Dev5 Changer Command = "" Changer Device = /dev/null } Device { Name = FileChgr1-Dev1 Media Type = FileStorage Archive Device = /data/bacula-backup LabelMedia = yes; Random Access = Yes; AutomaticMount = yes; RemovableMedia = no; AlwaysOpen = no; Maximum Concurrent Jobs = 5 } Device { Name = FileChgr1-Dev2 Media Type = FileStorage Archive Device = /data/bacula-backup LabelMedia = yes; Random Access = Yes; AutomaticMount = yes; RemovableMedia = no; AlwaysOpen = no; Maximum Concurrent Jobs = 5 } Device { Name = FileChgr1-Dev3 Media Type = FileStorage Archive Device = /data/bacula-backup LabelMedia = yes; Random Access = Yes; AutomaticMount = yes; RemovableMedia = no; AlwaysOpen = no; Maximum Concurrent Jobs = 5 } Device { Name = FileChgr1-Dev4 Media Type = FileStorage Archive Device = /data/bacula-backup LabelMedia = yes; Random Access = Yes; AutomaticMount = yes; RemovableMedia = no; AlwaysOpen = no; Maximum Concurrent Jobs = 5 } Device { Name = FileChgr1-Dev5 Media Type = FileStorage Archive Device = /data/bacula-backup LabelMedia = yes; Random Access = Yes; AutomaticMount = yes; RemovableMedia = no; AlwaysOpen = no; Maximum Concurrent Jobs = 5 } Messages { Name = Standard director = bacula-dir = all }
configチェックと再起動して適用
[root@quick-sd ~]# bacula-sd -t -c /etc/bacula/bacula-sd.conf [root@quick-sd ~]# /etc/init.d/bacula-sd restart Stopping bacula-fd: [ OK ] Starting bacula-fd: [ OK ]
Directorからの疎通確認
クライアント側で設定後、bacula-dirからbacula-sdに接続できるか確認します。
接続出来た場合は、下記のように各Deviceのステータスが取得出来ます。
ステータスが取れない場合は、Configにミスがあるか、ネットワーク(iptables)等に問題があります。
[root@quick-dir ~]# echo status Storage | bconsole Connecting to Director localhost:9101 1000 OK: 102 bacula-dir Version: 7.4.4 (20 September 2016) Enter a period to cancel a command. status Storage Automatically selected Storage: quick-sd Connecting to Storage daemon quick-sd at 10.0.0.10:9103 bacula-sd Version: 7.4.7 (16 March 2017) x86_64-redhat-linux-gnu redhat Daemon started 28- 3▒2017 12:08. Jobs: run=143, running=0. Heap: heap=155,648 smbytes=390,855 max_bytes=1,599,265 bufs=149 max_bufs=496 Sizes: boffset_t=8 size_t=8 int32_t=4 int64_t=8 mode=0,0 Running Jobs: No Jobs running. ==== Jobs waiting to reserve a drive: ==== Terminated Jobs: ==== Device status: Autochanger "FileChgr1" with devices: "FileChgr1-Dev1" (/data/bacula-backup) "FileChgr1-Dev2" (/data/bacula-backup) "FileChgr1-Dev3" (/data/bacula-backup) "FileChgr1-Dev4" (/data/bacula-backup) "FileChgr1-Dev5" (/data/bacula-backup) Device file: "FileChgr1-Dev1" (/data/bacula-backup) is not open. Available Space=3.669 TB == Device file: "FileChgr1-Dev2" (/data/bacula-backup) is not open. Available Space=3.669 TB == Device file: "FileChgr1-Dev3" (/data/bacula-backup) is not open. Available Space=3.669 TB == Device file: "FileChgr1-Dev4" (/data/bacula-backup) is not open. Available Space=3.669 TB == Device file: "FileChgr1-Dev5" (/data/bacula-backup) is not open. Available Space=3.669 TB == ==== Used Volume status: ==== Attr spooling: 0 active jobs, 0 bytes; 126 total jobs, 149,843,546 max bytes. ====
bacula-consoleの設定
quick-sdにbacula-consoleを入れたので、bconsoleの設定も書きたいと思います。
/etc/bacula/bconsole.conf
[root@quick-sd ~] cat /etc/bacula/bconsole.conf Director { Name = quick-dir # Director名 DIRport = 9101 # Directorポート address = 10.0.0.1 # DirectorのIPアドレス Password = "dir-password" # Directorのパスワード }
configの確認と接続テスト
[root@quick-sd ~]# bconsole -t -c /etc/bacula/bconsole.conf [root@quick-sd ~]# bconsole Connecting to Director 10.0.0.1:9101 1000 OK: 102 bacula-dir Version: 7.4.4 (20 September 2016) Enter a period to cancel a command. *http://aimstogeek.hatenablog.com/entry/2017/04/12/213752
ってまぁ、bconsoleはこれだけです。
これで一通りの設定が完了して、Baculaでquick-fdのバックアップを取得できるようになりました。
次回は【運用手順編】として、クイック内でどうBaculaを運用しているかを設定例やスクリプトを書きたいと思います。