2007.01.05

bacula

いままでWindowsサーバのバックアップは、標準のNTBackupを使い、各サーバからバックアップサーバの共有フォルダへバックアップを取っていたのですが、いろいろ問題がありました。
まず、バックアップサーバに処理が集中し、時々応答なしとなり、一部のサーバのバックアップが失敗してしまうことがありました。
また、NTBackupで差分バックアップで運用している場合、あるファイルを復元しようとすると、最後に更新した日に取得した差分バックアップファイルを選んで復元する必要があります。ファイルの更新日が分かっていればいいのですが、不明な場合(えてしてこんなときはそんな感じ)はいくつもの差分バックアップファイルを一つ一つ検索する羽目になったりします。そんなわけで、バックアップは平日フルバックアップ、休日差分と通常とは逆の運用をしていたため、バックアップ容量が膨れ上がっていました。
商用のバックアップソフトは結構な値段がしますので、オープンソースで何か無いかと探したところ「bacula」なるソフトが中々よさそうなので試してみました。
構成はバックアップのスケジュールを管理するDirectorデーモン、バックアップの物理媒体(テープやHDD)を管理するStorageデーモン、そして、バックアップ対象のサーバで動作するFileデーモンの構成になっています。FileデーモンはLinuxのほかWindows用もあります。(バイナリ配布)。
Directorデーモンがスケジュールに従いFileデーモンへバックアップを開始するよう指示をすると、FileデーモンからStorageデーモンへバックアップを開始するといった動作をします。
バックアップは同時実行数が制御できるため、バックアップサーバへの負荷集中を回避できます。
復元はフルバックアップから、指定した日の差分バックアップに含まれる全てのファイル一覧から指定できるため、週1フル平日差分的な運用をしても、突然の一部のファイルの復元もすばやく行えます。復元にはWindowsのコンソールGUIから可能です。
OSはWindowsのファイル名(Unicode)に対応するため、CentOS4にしました。残念ながらyumリポジトリにはパッケージが存在しないため(というかCentOS結構パッケージ少なすぎ)ソースからビルドしました。Linuxサーバをバックアップする場合、それぞれのかネールに合わせてビルドしたバイナリを用意する必要があります。ビルド方法は英語ですが詳しいマニュアルが付いているので、特に問題はないでしょう。
設定は少々面倒で、しばらくは試行錯誤が必要ですが、慣れれば結構安定して動作させることができると思います。
難点はスケジュールも含め設定をすべてファイルに記述する必要があるところです。せめてスケジュールやバックアップしたストレージの管理ぐらいはGUIがほしいところです。
リリースされたばかりのbacula2.0から、何かしらWebベースのGUIが追加されたようなので、早くも新バージョンの評価の必要が出てきてしまいましたが、このソフト結構おすすめです。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
admin