はじめに
OCIのBlock Volumeのバックアップの種類には、フル・バックアップと増分バックアップがあります。マニュアルにあるとおり、フルバックアップは、ボリューム作成以降のすべての変更が取得され、増分バックアップでは、前回バックアップ以降の変更のみが含まれます。
フル・増分バックアップは、削除時の動作がややこしく、マニュアルの記載によれば、以下のような動作をするようです。
絵にするとこんな感じでしょうか
この動作が実際どうなるかがきになったため、ポリシーベース自動バックアップを設定して検証してみました。
やったこと
Block VolumeをアタッチしたComputeを毎日起動して、ddコマンドで1GB分のファイルを作成して終了するという処理を3週間程度繰り回しました。
ddコマンド作成時に、以下のoci bv backup list コマンドを利用してバックアップ情報も一緒に出力しました。
バックアップ・ポリシーの設定
ComputeインスタンスにアタッチしたBlock Volumeに自動バックアップを設定にして、昨年12月後半から翌月半ばまで繰り回しました。
適用したポリシーは、Oracle定義ポリシーのGoldです。このポリシーでは、以下のスケジュールでバックアップが実行されます
- 毎日 0:00 に差分バックアップが取得され1週間保持される
- 毎週月曜 0:00 に差分バックアップが取得され、4週間保持される
- 毎月1日 0:00 に差分バックアップが取得され、約1年間保持される
- 毎年1月1日 0:00 にフルバックアップが取得され、5年間保持される
なお、日本語マニュアルにはまだ記載が反映されていないようですが、Oracle定義ポリシーのフル・バックアップは2021/11/3からスケジュールされなくなり、すべて差分になるそうです。まぁ、フルバックアップを5年間保存されても、容量食うだけで使いどころないケースの方が多そうですからね。。
英語マニュアル
結果
以下のような結果になりました。
- セル内の数値は、oci bv backup list から取得した"unique-size-in-mbs"の値です。バックアップ・サイズ(MB)です
- セル中の黄色背景は、初めてバックアップが取得されたときのサイズです
- セル中の赤背景は、バックアップ・サイズが増えたタイミングです。古いバックアップの保持期限が切れて削除されるタイミングで、そのバックアップを参照しているバックアップのサイズが増えることがわかります
- 週次バックアップの保存期間は約1か月なので、観測期間中は削除を確認できませんでした。
- 日次・週次・年次でバックアップスケジュールが重なる場合は、保持期限が最も長いバックアップが優先され、他のバックアップは実行されていないようです
- 日次も週次も同じように差分バックアップが取得され、週次だからといって前回週次バックアップからの差分がとられるということはなく、前回バックアップからの差分が取得されています
- なお、Webコンソールからバックアップを参照すると、サイズがGB単位で表示されるのですが、"unique-size-in-mbs"の値が1027MBと、1GBに近い値でも繰り上がって2GBと表示されるようです。