オープンソースソフトウェア「Bacula」で安心・安全なバックアップシステムを構築しよう

第7回Baculaをもっと活用する(Bacula Enterpriseでできること

はじめに

これまでの連載では、無償で使用できるコミュニティ版Bacula(Bacula Community Edition)について説明してきました。一方、Baculaにはエンタープライズ版(Bacula Enterprise Edition)という別のエディションがあります。今回はエンタープライズ版Baculaについて説明します。

図1 エンタープライズ版Baculaのロゴ
図1 エンタープライズ版Baculaのロゴ

そもそもBaculaはデュアルライセンスとなっており、コミュニティ版はAGPLバージョン3ライセンスのオープンソースソフトウェアですが、エンタープライズ版はGPLに依拠しない部分を含んでいます。エンタープライズ版の開発はスイスのBacula Systems社が行っています。

Baculaエンタープライズ版は、オーストリア銀行やNASAなどでも採用されている実績のあるエディションです。

以下のページからエンタープライズ版Baculaの事例を参照することができます。

エンタープライズ版Baculaはより高機能

コミュニティ版のBaculaにはバックアップの基本的な機能が備わっています。しかし、バックアップ計画の要件によっては対応できない場合があるかもしれません。あるいは、他のバックアップ製品に備わっているけれども、コミュニティ版のBaculaにない機能が欲しくなるかもしれません。

そのような場合にはエンタープライズ版のBaculaを使えば対応できる可能性があります。Baculaエンタープライズ版は、コミュニティ版になかった機能を追加し、より効率的なバックアップを大規模環境で実現することができます。

Baculaエンタープライズ版で追加できる機能

Baculaエンタープライズ版ではオプション/プラグインを使って要件に沿った機能追加を行います。代表的なものをいくつかご紹介します。

Web GUI機能―Bweb Manegement Suite

BWeb Management Suiteはウェブブラウザを使用したBaculaのGUIです。第3回でご紹介したBaculumと異なるのは、ジョブの実行や履歴の参照を行うだけでなく、ジョブ作成や新規クライアント登録などBaculaのほぼ全ての操作を行うことができる点です。

Baculaではジョブの作成やクライアントの登録などはbacula-dir.confファイルに行います。しかし管理対象のクライアントやジョブ、ファイルセット、スケジュールなどが増えてくるとファイルが大きくなり、設定や管理が困難になってきます。ファイルが大きくなれば構成の確認も容易ではありません。これらを一元的にGUIで管理し可視化することは、大規模環境の管理者にとって多大なメリットになります。設定が楽になり、運用の難易度が下げ、ミスを減らす効果があります。

また、Bwebではログインユーザを設定することができ、そのユーザごとに操作や閲覧などの権限設定を行うことができます。オペレータと管理者を分けたり、自分の部署のクライアントのみ操作可能にしたりするなど、柔軟な利用が可能です。あるいは、拠点ごとのユーザを作成すれば、⁠マルチテナント」の管理も可能になります。

画像

重複排除機能―Global Endpoint Deduplication

増分バックアップも、以前のバックアップ時から変更のあったファイルのみをバックアップするので、ファイルレベルの重複排除と言えます。一方でエンタープライズ版Baculaの重複排除機能は、変更された箇所をブロックレベル(実際にディスクにデータとして書き込む単位)で判別して、その変更された部分だけをバックアップします。

例えば、ある文章に一行追加した時、ファイルレベルの重複排除では文章全体を再バックアップしますが、ブロックレベルの重複排除では追加した一行だけをバックアップすることになります。

もう少しだけ仕組みを説明します。本機能はファイルをチャンクと呼ぶ単位に区切って保存し、またDedupeEngineでそれらのインデックスを作成します。そしてバックアップ時にハッシュを比較することで、既にバックアップしてあるデータを検出し不要なデータを除外します。

図2 ストレージデーモン側でのみ重複排除する場合のイメージ
図2 ストレージデーモン側でのみ重複排除する場合のイメージ

また、本機能で特筆すべき点は、クライアントとストレージデーモンの両方の側で重複排除が可能である点です。両側で重複排除を行った場合には、クライアント-ストレージデーモン間のネットワーク負荷を減らすことができます。

図3 ファイルデーモンとストレージデーモンの両方で重複排除する場合のイメージ
図3 ファイルデーモンとストレージデーモンの両方で重複排除する場合のイメージ

以下にその他のメリットをまとめます。

  • ディスクを大きく節約(良好な場合で半分程度、最高で10~20分の1)
  • 高速なバックアップ・リストアが可能
  • 特別なハードウェアは不要

逆に、以下の注意点もあります。

  • マシンリソース(CPU、メモリ)の消費
  • ディスクのみの対応(テープでは不可)
  • 不良ブロックがあると被害が大きくなるのでストレージはRAID構成を推奨

仮想マシンバックアップ機能―VMware vSphere plugin

コミュニティ版のBaculaでも、VMwareのゲストOSにBaculaのクライアントをインストールすればバックアップが可能です。しかし、VMwareプラグインを使えばハイパーバイザ側にのみBaculaのクライアントがあればよく、ゲストOSごとにインストールする必要がありません。また、ゲストOSが停止していてもバックアップを取得することが可能です。加えて、各ゲストOSがファイルのopen/read/close/statを行わないため、各ゲストOSがバックアップする場合よりESXサーバのリソース消費を抑えることが可能です。

データベースバックアップ機能―各種DBプラグイン

コミュニティ版でもPostgreSQLやMySQLのバックアップはダンプを使用することにより可能です。しかし、エンタープライズ版BaculaではPostgreSQL、MySQLの他、OracleDatabaseのオンラインバックアップが可能になります。

ベアメタルバックアップ―BareMetal Recovery

ファイルのバックアップを行っていても、システムが破損してサーバが起動できない場合には、まずシステムを再構築してリストアが行える状態にしなければいけません。ベアメタルリカバリプラグインを使用すると、OSが入っていない空の状態のサーバから、バックアップ取得時の状態までワンストップでリストアすることができます。本プラグインは災害発生時の「ディザスタリカバリ」として、あるいは「スナップショット」として利用することも可能です。

その他

その他にもSAPプラグイン、Incremental Accelerator for NetApp、Deltaプラグイン、SAN Shared Storageプラグイン、VSSプラグイン、NDMPプラグインなどが用意されています。

Baculaエンタープライズ版による効率的な運用

サポート

Baculaエンタープライズはサブスクリプション方式で提供を行っています。サブスクリプションには、認定バイナリの提供とアップデートのほか、修正パッチやサポートの提供も含まれています。

コミュニティ版では必ずしも適切なセキュリティ対応パッチは提供されませんが、エンタープライズ版では定期的なアップデートの他、機能強化もコミュニティ版に先んじて行われます。また、利用方法や障害発生時の対処方法などについてサポートを受けることができます。厳密な要件のもとで安定的な運用を行いたい場合にはエンタープライズ版の使用をお勧めします。

バーチャルフルバックアップ

バーチャルフルバックアップ(コンソリデートバックアップ)はコミュニティ版でも使用できる機能ですが、エンタープライズ版ではより進歩したProgressive Virtual Full機能があります。バーチャルフルバックアップは、対象のクライアントにアクセスすることなく既存の増分バックアップを合成してフルバックアップを作成する機能です。この機能により、⁠最初のバックアップ以外は)増分バックアップしか行わない運用も可能になります。

図4 バーチャルバックアップの構造
図4 バーチャルバックアップの構造

例えば図4では、3日目の状態にリストアをするには1日目のフルバックアップ、2、3日目の増分バックアップが必要です。3日までのバーチャルフルバックアップを作成すれば、バーチャルフルバックアップ1つでリストアが可能です。4日目の状態に戻したいときには、3日目以前のバックアップは不要になり、バーチャルフルバックアップと4日目の増分バックアップのみでリストアできます。

また、本機能と重複排除機能を合わせれば、バーチャルフル取得時のディスク消費を劇的に抑制することが可能です。

Progressive Virtual Fullバックアップの主要なメリットは以下の2つです。

  • リソースの節約:フルバックアップの時間、CPUパワー消費、メモリ消費を削減
  • 世代管理の最適化:リストア時の手間を削減。また、フルバックアップ生成後に過去の増分バックアップを破棄可能

まとめ

この連載を通じて、Baculaの使用方法をご紹介してきました。バックアップの重要性とBaculaの利便性などをご理解いただけましたら幸いです。

コミュニティ版のBaculaを利用すれば、バックアップの基本的なニーズを満たすことができます。また、この連載では紹介しきれていない機能や、少しひねった様々な使用方法もあります。

バックアップの最初の一歩として、コミュニティ版のBaculaを利用してはいかがでしょうか。Baculaは一度構築してしまえば安定的で、とても便利なソフトウェアです。

また、コミュニティ版とエンタープライズ版のBaculaは同じフォーマットの設定ファイルを使用しているので、コミュニティ版からエンタープライズ版へ既存の設定を使って移行することが可能です。そのため、コミュニティ版を使用してバックアップシステムを構築し、特に運用に問題がなければ使い続け、新たな要件が発生したり、より効率化したくなった場合にはエンタープライズ版に移行する、といった利用が可能です。

エンタープライズ版Baculaは以下のリンクから入手可能です。

Baculaのコミュニティサイトでは、Baculダウンロートやドキュメントの他、リリース情報を発信しています。Baculaを使用する際にはこちらをご参照ください。メーリングリストやバグ報告についても、同サイト内に情報があります。

また、日本国内のBaculaのユーザーグループであるbacula.jpでも継続的に情報発信を行っており、セミナーも開催しています。

最後となりますが、今まで本連載をお読みいただき、ありがとうございました。

おすすめ記事

記事・ニュース一覧