web-dev-qa-db-ja.com

Baculaでデュアルサイトストレージデーモンを設定するにはどうすればよいですか(バックアップをミラーリングします)

サイトAでは、1つのホストにBaculaディレクターをセットアップし、バックアップするホストに複数のファイルデーモンをセットアップし、最後にバックアップが実際に保存される1つのストレージデーモンをセットアップしました。

建物のサイトAで災害が発生した場合は、別のサイトであるサイトBに2つ目のストレージデーモンが必要です。

ファイルセット、ディレクターなどは同じですが、ジョブは他のストレージデーモンにも保存されます。

これに関するベストプラクティスはありますか?

6
Andy

ジョブを作業ボリュームから最終ボリュームに移行またはコピーすることができます。

... Baculaのコンテキストで使用される移行という用語は、あるボリュームから別のボリュームにデータを移動することを意味します。特に、以前にボリュームにバックアップされたデータを読み取り、それを別のボリュームに書き込むジョブ(バックアップジョブと同様)を指します...

...コピープロセスは、コピーされるジョブが変更されないことを除いて、移行機能と基本的に同じです...

http://www.bacula.org/manuals/en/concepts/concepts/Migration_Copy.html

編集:

ソフトウェア圧縮を使用している場合は、ボリュームファイルをあるサイトから別のサイトにコピーすることをお勧めします(移行を使用すると、解凍して再度圧縮します)。

バックアップが完了した後、ジョブリソースでRunScriptを使用して、rsync、ftp、scp、またはその他の使用可能なコピー方法を実行できます。

カタログデータベースをコピーすることを忘れないでください。そうしないと、情報を回復するためにbscanまたはいくつかを使用する必要があります。 MySQLレプリケーションも使用できます。

1
ghm1014

必要なことを効果的に実行するということは、バックアップを2回実行することを意味します(1つはサイトAのSDにバックアップし、もう1つはサイトBのSDにバックアップします)-より良いアプローチ(disK上のファイルにバックアップすると仮定) [〜#〜] drbd [〜#〜] (Linux)または GEOM gates (FreeBSD)のようなものを使用して、デーモンが使用しているバックエンドストレージを複製します。 :これにより、2番目のバックアップジョブを必要とせずにデータのレプリケーションが提供されます(ただし、ネットワークリンクが信頼できない場合は、独自の問題が発生します)。

他のオプションには、テープファイルをオフサイトプロバイダー(例: rsync.net 、またはセカンダリデータセンターがある場合は独自のセカンダリデータセンター)にrsyncすることが含まれます。災害がメインのデータセンターを襲った場合にコピーします。ここでの大きな注意点は、システムがファイルを転送するのにかかる限り、「リモート」コピーは常に同期していないということです。


私の実装は、私が説明した2番目の方法のバリエーションです。Baculaのマウント/アンマウントスクリプトの一部として、サーバーは仮想テープファイルをrsyncします(マウントすると、リモートサイトから変更がプルされます。マウントを解除すると、変更)。
これにより、テープのマウント/アンマウントに時間がかかり、バックアップの完了にかかる時間が長くなります(rsyncの実行中に「テープ」がアンマウントされるのを待ってバックアップがハングします)が、サイト間に十分な帯域幅があります(およびrsyncのインテリジェントデルタ)オーバーヘッドはそれほど悪くはありません。

0
voretaq7