ブログ名はまだ無い(仮)

インフラエンジニアのツイッターには書ききれないつぶやきです



Baculaサーバ環境をansible-playbookで一発構築

Baculaサーバ環境をansible-playbookで一発で構築できるroleを作成しました。

以下に公開しました。
https://github.com/ksawada1979/Bacula-ansible-playbook.git

Baculaサーバ環境

今回構築したBaculaサーバ環境は以下になります。

まずBaculaの基本的な構成ですがBaculaは
 ・Directorデーモン
 ・Storageデーモン
 ・Fileデーモン

の3つのデーモンがデータのやり取りをしてBacula環境を構成しています。
ConsoleはDirectorを通じてそれぞれのデーモンに指示を出します。
簡単な図にすると以下のようになります。

f:id:smile_0126:20150622150849p:plain

作成したroleは3つのデーモンとConsoleを1台のサーバにインストールして、設定
ファイルの書き換えを行っています。

ansible-playbook実行手順

ansible-playbookと一緒にVagrantfileも一応アップロードしています。

Vagrantfileは
# vagrant up bacula
で実行可能です。

次にvagrantで起動したbaculaサーバと共通鍵の交換が必要になりますので、以下
のコマンドで鍵交換をします。
ssh-copy-id -i ~/.ssh/id_rsa.pub vagrant@<サーバIPアドレス>

鍵交換をする前にvagrantを実行しているサーバで共通鍵を作ってあることが前提
です。鍵を作成していない場合は「ssh-keygen -t rsa」などで作成してください。

いよいよplaybookの実行です。
# ansible-playbook -i ansible_hosts bacula.yml

変更箇所

今回作成したansibleのplaybookは以下の3ファイルのIPアドレスを実行する環境に
合わせてを適宜変更してください。

ansible_hosts
Vagrantfile
roles→bacula→varsのmail.yml(変数ipaddress)

本playbookでできること

今回作成したansibleのplaybookでできることは全てを1台のサーバに入れているた
めにBaculaサーバ自体のバックアップのみです。
最低限の設定のみ行っています。

すでに設定済みのものを参考にバックアップ対象を増やすことが可能です。

ansible実行後の手順

ansible実行後に以下の手順を実施します。

sshでログイン

bsoncoleコマンド実行(コマンドプロンプトが*になることを確認)

labelコマンド実行(任意の名前を設定)
  2.Fileを選択

runコマンドでバックアップを実行

以上になります。

実際にBacula環境を構築することにより実行の流れなど掴んでいただけると幸いです。