ONTAP S3 Snapshotを作成する
S3 Snapshotは手動で生成することも、Snapshotポリシーを設定して自動的に作成させることもできます。Snapshotはオブジェクトの静的コピーとして機能し、データのバックアップとリカバリで使用します。Snapshotの保持期間を決定するために、指定した間隔でSnapshotを自動的に作成するSnapshotポリシーを作成できます。
S3 Snapshotを使用すると、オブジェクトのバージョン管理が有効かどうかに関係なく、S3バケット内のオブジェクト データを保護できます。
|
|
Snapshotは、S3バケットでオブジェクトのバージョン管理が有効になっていない場合のデータ保護の確立に役立ちます。以前のバージョンのオブジェクトを使用できない場合に、ポイントインタイム レコードとして機能するSnapshotを使用してリストア処理を行えるからです。 |
-
Snapshotには、以下の命名規則が適用されます(手動作成でも自動作成でも)。
-
S3 Snapshot名に指定できる文字数は最大30文字です。
-
S3 Snapshot名に使用できる文字は、小文字のアルファベット、数字、ドット(.)、ハイフン(-)のみです。
-
S3 Snapshot名の末尾の文字は、アルファベットか数字にする必要があります。
-
S3 Snapshot名に部分文字列を含めることはできません
s3snap
-
-
S3プロトコルの使用時には、バケット名の制限によってバケット名が63文字に制限されます。ONTAP S3 Snapshotは、S3プロトコルを介してバケットとして提供されるため、Snapshotバケット名にも同様の制限が適用されます。デフォルトでは、元のバケット名がベース バケット名として使用されます。
-
どのSnapshotがどのバケットに属しているかを識別しやすくするために、Snapshotバケットはベースバケット名と、Snapshot名の先頭に付加される特殊な文字列 `-s3snap-`で構成されます。Snapshotバケット名は `<base_bucket_name>-s3snap-<snapshot_name>`という形式になります。
たとえば、 `bucket-a`で `snap1`を作成するために次のコマンドを実行すると、 `bucket-a-s3snap-snap1`という名前のSnapshotバケットが作成されます。ベース バケットにアクセスする権限がある場合は、S3クライアント経由でこのバケットにアクセスできます。
vserver object-store-server bucket snapshot create -bucket bucket-a -snapshot snap1
-
63文字を超えるSnapshotバケット名は作成できません。
-
Snapshotの自動作成名には、ポリシー スケジュール名とタイムスタンプが含まれます。これは、従来のボリューム Snapshot の命名規則に似ています。たとえば、スケジュールされた Snapshot 名は `daily-2024-01-01-0015`や `hourly-2024-05-22-1105`になります。
S3 Snapshotの手動作成
ONTAP CLIを使用してS3 Snapshotを手動で作成できます。手順では、ローカル クラスタにのみSnapshotを作成します。
-
S3 Snapshotを作成します。
vserver object-store-server bucket snapshot create -vserver <svm_name> -bucket <bucket_name> -snapshot <snapshot_name>
次の例では、 `vs0`ストレージVMと `website-data`バケットに `pre-update`という名前のSnapshotを作成します:
vserver object-store-server bucket snapshot create -vserver vs0 -bucket website-data -snapshot pre-update
バケットへのS3 Snapshotポリシーの割り当て
S3バケット レベルでSnapshotポリシーを設定すると、スケジュールされたS3 SnapshotがONTAPによって自動的に作成されます。従来のSnapshotポリシーと同様に、S3 Snapshotにも最大5つのスケジュールを設定できます。
スナップショットポリシーでは通常、スナップショットを作成するスケジュール、各スケジュールで保持するコピーの数、およびスケジュールプレフィックスを指定します。例えば、ポリシーで毎日午前0:10にS3スナップショットを1つ作成し、最新の2つのコピーを保持し、それぞれに `daily-<timestamp>`という名前を付けることができます。
デフォルトのSnapshotポリシーでは、以下のSnapshotが保持されます。
-
時間単位のSnapshot×6
-
日単位のSnapshot×2
-
週単位のSnapshot×2
-
Snapshotポリシーは、S3バケットに割り当てる前に作成しておく必要があります。
|
|
S3 Snapshot用のポリシーは、他のONTAP Snapshotポリシーと同じルールに従います。ただし、いずれかのSnapshotスケジュールに保持期間が設定されているSnapshotポリシーを、S3バケットに割り当てることはできません。 |
スナップショットを自動生成するためのスナップショット ポリシーの作成の詳細については、"カスタム スナップショット ポリシーの設定の概要"を参照してください。
-
Snapshotポリシーをバケットに割り当てます。
vserver object-store-server bucket create -vserver <svm_name> -bucket <bucket_name> -snapshot-policy <policy_name>
または
vserver object-store-server bucket modify -vserver <svm_name> -bucket <bucket_name> -snapshot-policy <policy_name>
|
|
クラスタをONTAP 9.16.1より前のONTAPバージョンに戻す必要がある場合は、すべてのバケットの snapshot-policy`の値が `none(または -)に設定されていることを確認します。
|