既存のバックアップでは、ディスクプールへのバックアップを実行して、2つの異なるテープにバックアップを複製してから、ジョブを2つの異なるテーププールにコピーして移行します。ただし、移行後も、移行されたジョブは、ジョブタイプが「M」に変更されたままディスクボリュームを占有しています。
移行ジョブ定義でPurge Migration Job
ディレクティブを使用して、それをパージできることを知っています。ただし、その結果、復元中にテープ上の両方のジョブが選択されます。
これをどのように処理しますか?復元中にBaculaが両方のジョブを選択しないようにしながら、移行されたジョブが占めるディスクスペースを解放しますか?
設定できるパラメーターが非常に多いため、構成を確認せずに正確な問題を知ることは困難です。ただし、当面の問題は、保持期間が終了した場合でも、Baculaが必要になるまでスペースを再利用しないことだと思います。秘訣は、いつ「しなければならない」かを知る方法を知らせることです。
ディスクストレージは仮想テープを使用して実装されているため、「より多くのスペースが必要」なときのBaculaの見方は、「テープ」がなくなったときです。仮想テープがファイルシステムの容量を使い果たした場合、Baculaはそれを認識しません。最大ボリュームバイト数や最大ボリューム数などの設定を使用して、ディスクプールのサイズを制限する必要があります。
Action On Purge = Truncate
と呼ばれる設定もあります。これにより、Baculaは仮想(ディスク)テープがパージされたときにそれらを切り捨てます。これは、ディスクの使用量を慎重に制限した場合でも、基盤となるファイルシステムでの断片化を防ぐのに役立つ可能性があるため、役立ちます。ほとんどのファイルシステムは巨大なファイルを効率的に割り当てないため、通常、大きなパフォーマンスの問題を回避するために、ディスク領域の20%を未使用のままにしておく必要があります。
ただし、1つ修正する必要があります。おそらく、実際にはデータの2つのコピーを取得していません。移行は「移動」操作であり、「コピー」ではありません。ジョブのコピーを2つ作成する場合は、Type = Copy
を使用する必要があります。コピーの場合、元のジョブがプルーニングされると、コピーの1つ(type=C
)がバックアップ(type=B
)にプロモートされます。そのコピーが後でプルーニングされ、別のコピーが残っている場合、残りのコピーがプロモートされます。