Tips-11

Commvaultがバックアップしたデータの保持期限はどのように決まるの ?

今回はCommvaultを使用してバックアップされたデータがいつまで保存されるのかについて説明していきます。

Commvaultではストレージ ポリシーの設定によりバックアップされたデータの保持期限が決まります。
今回はストレージ ポリシーについての概要、ストレージ ポリシー内で指定する設定 (「日」と「サイクル」の値) の意味について、その後、簡単な例を通してデータの保持期限の仕組みについて説明していきます。

ストレージ ポリシーの概要

ストレージ ポリシーはCommvaultでバックアップされたデータがどのように管理されるかを定義するルールの集合体です。これらのルールには以下のものが含まれます。

  • どのデータを保護するか (どのサブクライアントとストレージ ポリシーを関連付けるか)  
  • どこにデータを保存するか
  • どのくらいの期間、データを保存するか
  • その他のメディア管理のオプション (例: 重複排除や暗号化の使用の有無等)

「どのくらいの期間、データを保存するか」がバックアップされたデータの保持期限を定義するルールとなります。Commvaultを運用したり構築したりされている方であればストレージ ポリシーの作成時に以下の設定項目があるのを覚えておられるのではないでしょうか。

この「日」と「サイクル」の数値の設定によりバックアップされたデータの保持期限が決まります。
これだけでは具体的にどうなるかをイメージできないと思いますので、次にこの「日」と「サイクル」の意味するところは何かをご説明していきます。

ストレージ ポリシーで定義した「日」と「サイクル」

「日」の設定はバックアップが保持される最小の日数を意味します。

「サイクル」の設定はフルバックアップ (または合成フルバックアップ) とそれ以降のフルバックアップに依存するバックアップの1セットを意味します。

簡単な例で「サイクル」をご説明します。
週に1回、日曜日にフルバックアップ (初回以降の日曜日には合成フルバックアップ) を実行し、月曜日から土曜日の間は日に1回の増分バックアップを行う運用をイメージしてみてください。
この運用で、ある日曜日からバックアップを開始し翌週の火曜日まで10日間運用を継続したとします。
そうすると、この10日間のバックアップの状況は以下の図のようになります。

この例の場合、バックアップ運用を開始した最初の日曜日 (フルバックアップ) から土曜日までが1サイクル、次の日曜日 (合成フルバックアップ) から火曜日までが1サイクルとなります。

取得したバックアップがいつまで保持されるかの考え方ですが、基本的には「日」の値と「サイクル」の値の両方を超えたバックアップが削除対象となり得るということになります。
また1サイクルの長さはフルバックアップ (または合成フルバックアップ) の実施間隔となりますので、どのバックアップが削除対象となるかを考える場合は、「日」の値、「サイクル」の値、及びフルバックアップ (または合成バックアップ) の実施間隔が重要なポイントとなります。

例題で考える保持期限

ここからは簡単な例題で保持期限を考えていきます。この例では、以下の設定でのバックアップ運用を例に考えます。

  • 「日」の値:15
  • 「サイクル」の値:2
  • フルバックアップ (または合成バックアップ) の実施間隔: 7日。初回はフルバックアップを取得し、以降は7日ごとに合成フルバックアップを取得するものとする。
  • フルバックアップ (または合成バックアップ) を取得する以外の日は1日1回増分バックアップを取得

この設定で25日間、運用を継続したとします。
1日目に初回のフルバックアップが実行されたとすると、それぞれの日に実行されるバックアップは以下の表のようになります。

「日」の値は15なので、11日目から25日目までのバックアップが「日」の設定による保持の対象となります。
「サイクル」の値は2なので、15日目から25日目までのバックアップが「サイクル」の設定による保持の対象となります。

分かりやすくするため、「日」と「サイクル」の各設定による保持の対象となるものをYes (緑色) ・保持の対象とならないものをNo (赤色) で表にすると以下のようになります。

既に説明した通りストレージ ポリシーの「日」の値と「サイクル」の値の両方を超えたバックアップが削除対象となり得ます。そうすると、1日目から10日目のバックアップが削除対象とされる、ということになりですが実はそうではなく、8日目から10日目までのバックアップも保持されます。
この例で、いつまでのバックアップが削除対象となるかを考えると以下の表のようになります。

「日」の値と「サイクル」の値の両方を超えたバックアップである8日目から10日目のバックアップがなぜ保持されるのかを簡単に説明しておきます。

増分バックアップは前回のバックアップ以降に新規に作成されたファイルや変更されたファイルのみをバックアップしています。言い換えると増分バックアップはそれ以前に実行されたフルバックアップ (合成フルバックアップ) や増分バックアップに依存しているということができます。

具体例で考えてみます。
例えば、11日目の時点での全データをリストアしたいとします。
もし仮に8日目から10日目までのバックアップが存在していないとすると、11日目の時点の全データをリストアできるでしょうか。これはできないということになります。
このような状況がおきないようにCommvaultは「日」や「サイクル」の設定に加え、リストアに必要なデータを保持するという考え方でデータを保持しています。

重複排除を使用している場合はバックアップされたデータはブロックに分割され一意なブロックのみが保存されています。このような状態で保存されているブロックは、どのバックアップからも参照されなくなった時点で削除の対象となります。
重複排除時にどうなるかについてご興味のある方は こちらの「Data Aging for Deduplication」の項を参照してください。

またベーシックな保持期限の考え方は共通しているものの使用するCommvaultのエージェントに応じたルールも多少存在しています。 こちらから確認いただけますので、ご興味のある方は適宜参照してください。

Commvaultのオンラインマニュアル上で「日」や「サイクル」の値・フルバックアップの実施間隔日数などを入力すると、どのバックアップが削除対象となるのかを分かり易く表示してくれるスプレッドシートが掲載されています。ご興味のある方は こちらの「Spreadsheet for Calculating Retention」の項を参照してください。

※画面ショットは、Commvault v11 Service Pack 13の環境で確認したものです。


【参考資料】
・用語集
・Data Aging – Overview
・Data Aging – Advanced
・Agent-Specific Rules

Posted on 2019.01