GFSバックアップの保存期間ポリシーについて
理想を言えば、バックアップの目的は、過去の任意の時点からデータを復元できることにあります。そのための最も単純な方法は、通常は毎日といったように、定期的にバックアップを取ることです。しかし、恒常的な増分バックアップ、合成バックアップ、データ圧縮、重複排除といった容量節約技術を用いても、このアプローチには無制限のストレージ容量が必要となり、これに対応できる企業はほとんどありません。そのため、バックアップの保存期間ポリシー、すなわちバックアップのローテーション方式が存在するのです。
GFSバックアップの保存期間ポリシーとは何ですか?
GFS(Grandfather-Father-Son)バックアップ保持ポリシーは、ストレージ容量の最小化とリカバリポイントの最大化という2つの目標を追求しています。簡単に言えば、最小限のストレージ容量で最大限のリカバリポイントを確保することが私たちの課題です。
バックアップのローテーション方式には、複雑さや効率が異なるものがいくつかあります。最も単純なものは"先入れ先出し(FIFO)"です。仕組みは単純で、バックアップメディアの容量が不足すると、最も古いバックアップが削除され、その場所に新しいバックアップが書き込まれます。FIFOの利点はシンプルさですが、最大の欠点は容量の制限であり、FIFOでは保存できるバックアップの数には限りがあります。 VMのバックアップ頻度やバックアップリポジトリの容量によっては、比較的短い時間間隔をバックアップでカバーできます。ただし、この時間間隔は完全にカバーされます。
すべての企業が、このような完全なバックアップカバレッジを必要としているのでしょうか?もちろん、金融機関や政府機関など、わずかなデータ損失でも甚大な損害を被りかねない組織もあります。データセンターのハードウェア障害によって、自分の銀行口座や社会保障情報が無効になってしまうような事態は、誰にとっても望ましくないでしょう。 だからこそ、こうした組織はバックアップストレージやテープアーカイブなどに多額の費用を投じているのです。
しかし、ほとんどの企業はデータ損失に対してそれほど極端に敏感ではないため、1年以内に毎日のバックアップを保存する必要のないバックアップローテーション方式を導入することができます。このようなバックアップ保持ポリシーにより、データの復旧可能性とバックアップインフラへのコストの間に、適切なバランスを見出すことが可能になります。最も一般的に使用されているものの1つが、Grandfather-Father-Son(GFS)ローテーション方式です。
GFSバックアップ方式はどのように機能するのでしょうか?
人間の家族と同じように、息子は一番年下で、父親はそれより年上で、祖父は一番年長です。バックアップの世界では、息子は特定の時点での最新のバックアップであり、祖父は最も古いバックアップです。通常、息子は毎日のバックアップ、父親は毎週のバックアップ、祖父は毎月のバックアップとなります。ただし、その間に1時間ごと、四半期ごと、あるいは年1回のバックアップなど、さらに多くの"親戚"を追加することも可能です。 例えば、AppleのmacOSにはGFSローテーション方式を採用したTime Machineバックアップユーティリティが組み込まれており、ここで"息子"は1時間ごとのOSバックアップ、"祖父"は月次バックアップを指します。

従来のGFS方式では、毎日のバックアップを"息子"、毎週のバックアップを"父"、毎月のバックアップを"祖父"と呼びます。月曜日に作成された最初のフルバックアップが最初の"父"となり、その後の毎日の増分バックアップが"息子"となります。その週の最後のバックアップが次の"父"となります。
"息子"はFIFO(先入れ先出し)方式でローテーションされるため、最も古い"息子"は新しい増分バックアップに置き換えられ、このサイクルが繰り返されます。その月の最後のバックアップは"祖父"となります。その後、"父"もFIFO方式でローテーションされ始めます。
下の図は、4月にVMのバックアップを開始した場合、6月末時点で利用可能なバックアップを示しています。青い項目は利用可能なバックアップ、灰色の項目は利用できないバックアップを表しています。

GFSスキームの欠点の一つは、古いバックアップほど詳細度が低下してしまうことです。例えば、6月の第2週の月曜日にあるファイルを作成し、翌日にそれを削除した場合、そのファイルは取り返しのつかないほど失われてしまいます。
結論
組織のデータ保護ポリシーに応じて、GFSのローテーション計画に1時間ごと、四半期ごと、または年1回のバックアップを追加することができます。その他の容量節約手法として、 永続的な増分バックアップ、合成バックアップ、およびバックアップリポジトリの圧縮と重複排除により、バックアップストレージインフラに多額の費用をかけることなく、適切なデータ保護を実現します。