
Bacula の設定を詳しく調べています。いくつかの LVM 論理ボリュームを持つ SD (ストレージ デーモン) サーバーがあり、適切な方法でフル/差分/増分バックアップを実行しようとしています。問題は、ボリューム制限を設定し、最も古いボリュームをリサイクルするように指示したにもかかわらず、Bacula が常に「追加可能なボリュームが見つかりません」とエラーを発することです。
まず、SD サーバーに (3) のデバイスが定義されています。1 つは「フル」用、1 つは「増分」用、1 つは「差分」用です。理想的には、(2) の完全な月次バックアップと、その間の週の差分と各日の増分バックアップが必要です。
ここでの主な質問はスケジュールとプールに関するものであるため、SD 構成については説明しません。
スケジュール { 名前 = SVNSchedule 実行 = レベル = フル 1日目 21:05 ラン=レベル=ディファレンシャル 2-5日目 21:05 実行 = レベル = 増分 月曜〜土曜 21:05 }
プール { 名前 = SVNFullPool ストレージ = svn-full プールタイプ = バックアップ リサイクル = はい; 自動プルーニング = はい; 最も古いボリュームのリサイクル = はい ボリューム保持期間 = 45 日 最大ボリュームジョブ = 1 ラベル形式 = "$Pool-${年}-${月:p/2/0/r}-${日:p/2/0/r}-${時:p/2/0/r}${分:p/2/0/r}" 最大ボリューム = 2 } プール { 名前 = SVNDiffPool ストレージ = svn-diff プールタイプ = バックアップ リサイクル = はい; 自動プルーニング = はい; 最も古いボリュームのリサイクル = はい ボリューム保持期間 = 40 日 最大ボリュームジョブ = 1 ラベル形式 = "$Pool-${年}-${月:p/2/0/r}-${日:p/2/0/r}-${時:p/2/0/r}${分:p/2/0/r}" 最大ボリューム = 10 } プール { 名前 = SVNIncrPool ストレージ = svn-incr プールタイプ = バックアップ リサイクル = はい; 自動プルーニング = はい; 最も古いボリュームのリサイクル = はい ボリューム保持期間 = 20 日 最大ボリュームジョブ = 1 ラベル形式 = "$Pool-${年}-${月:p/2/0/r}-${日:p/2/0/r}-${時:p/2/0/r}${分:p/2/0/r}" 最大ボリューム = 7 }
「フル」プールでは「ボリューム使用期間 = 1 週間」オプションを使用する必要があるように思えます。しかし、私たちが抱えている主な問題は、Bacula がファイル ボリュームを自動的にリサイクルしないことです。少なくとも、フル バックアップを開始し、数時間後に別のバックアップを開始するテスト中はそうではありません。
私が満足していないもう 1 つの小さな問題は、Bacula に予測可能な名前のバックアップ ファイルを作成させる方法です。現在の設定では、オフサイトでファイルを rsync しようとすると混乱が生じるためです。
答え1
Bacula は、「最大ボリューム数」までのボリュームを自動的に作成します。ただし、Bacula コンソールを使用して、いつでも手動でボリュームを作成できます。設定によると、「最大ボリューム数」は 2、10、および 7 に設定されているようです。
バックアップ戦略によっては、完全バックアップに必要なボリュームを増やし、増分バックアップと差分バックアップに必要なボリュームを減らすことができます。SVNFullPool のボリューム数を増やすことをお勧めします。これは、コンテンツと各ボリュームに定義した最大サイズによって異なります。
これらすべては、バックアップ スケジュールにも依存します。保持期間中に完全バックアップを複数回実行する場合は、複数の完全バックアップを保持できる十分なボリュームを設定する必要があります。
次の記事では、プールの定義、スケジュールに関するフィードバックが提供され、1 年間のバックアップに使用されたボリュームの数に関する興味深い統計が提供されます。