Amazon Web Services ブログ
Amazon FSx for NetApp ONTAP のカスタムスナップショットポリシーでリカバリポイントの俊敏性を高める
このブログは 2023 年 4 月 7 日に Naim Mucaj(Senior Solution Architect)と Michael Zhang(Solution Architect)によって執筆された内容を日本語化したものです。原文はこちらを参照してください。
データは個人にとっても企業にとっても重要な資産となっています。データがかつてないペースで増加し続ける中、特定のデータ保護とリカバリの要件に対応する堅牢なデータ管理ソリューションを導入することが、組織にとってますます重要になっています。リカバリポイントの SLA を達成する方法を決定する際に、ユーザーはバックアップ、レプリケーション、スナップショットなどのオプションを評価します。
ストレージボリュームのスナップショットは、データの可用性、信頼性、セキュリティを確保するための強力なデータ保護テクノロジーです。 Amazon FSx for NetApp ONTAP(FSx for ONTAP)は、AWS クラウドのフルマネージドな共有ストレージと、FSx for ONTAP の容易なデータアクセスおよび管理機能を提供します。FSx for ONTAP ファイルシステムでは、デフォルトでスナップショットが有効化されています。
この投稿では、FSx for ONTAP ボリュームスナップショットの利点と、バックアップとの違いについて説明します。スナップショットがスナップショットポリシーとスケジュールによってどのようにオーケストレーションされるかについて説明します。そして、ビジネスのリカバリポイント目標(RPO)に合わせてカスタムスナップショットポリシーを作成するプロセスを説明します。この投稿で説明する方法は、データ損失の際にデータを確実に保護し、リカバリ可能にするために役立ちます。
FSx for ONTAP ボリュームのスナップショットのメリット
FSx for ONTAP ボリュームのスナップショットにより、ボリュームのポイントインタイムイメージを作成できます。スナップショットは、効率的なリダイレクトオンライトアプローチ(変更が行われたときにブロックをコピーするのではなく、ブロックへのポインタを利用する)を活用しているため、ほぼ瞬時に作成されます。スナップショットはファイルシステムのデータと一緒に保存されるため、ファイルシステムのストレージ容量を消費しますが、スナップショットは最後のスナップショット以降に変更された部分に対してのみストレージ容量を消費します。スナップショットはデータをキャプチャしてリカバリするための迅速で効率的な方法を提供し、データ損失のリスクを低減し、データを迅速にリカバリする能力を向上させます。
- 高速で効率的: スナップショットはほぼ瞬時に作成され、ストレージ効率に優れているため、数秒でスナップショットを作成でき、システムパフォーマンスに影響を与えません。
- データ損失のリスクを低減: スナップショットを使用すると、ユーザーは以前のスナップショットから個々のファイルやフォルダを簡単に表示して復元できます。これによりユーザーはセルフサービスで簡単に変更を元に戻したり、ファイルのバージョンを比較したりできます。システム障害が発生した場合は、以前の(または必要な)スナップショットにデータをすばやく復元できます。スナップショットからデータを復元する方法については、こちら を参照してください。
- ダウンタイムを低減: スナップショットでは、データが同じファイルシステムに保存されているため、データを迅速に復元でき、ビジネスのダウンタイムを短縮できます。
- 高い費用対効果: スナップショットはコスト効率の高いデータ保護方法です。データの変更部分のみがストレージ容量を消費し、同じボリュームの複数のスナップショットを最小限のストレージ消費で作成できます。
スナップショットとバックアップの違い
スナップショットはデータを保護する優れた方法ですが、実際のバックアップの代わりにはなりません。スナップショットと実際のバックアップにはいくつかの違いがあります
スナップショット |
バックアップ |
|
目的 |
スナップショットはデータのポイントインタイムイメージを提供するように設計されています |
バックアップはデータの長期的なコピーを提供するように設計されており、アクティブなファイルシステムからオフラインで保存されます |
保存期間 |
通常、スナップショットは特定の復旧目標を目的として短期間保存されます |
バックアップはより長期間保存されます |
復元性 |
スナップショットはスナップショットの作成以降に失われたデータの復旧にのみ使用できます。スナップショットから個々のファイルまたはフォルダを確認し、復元することができます |
バックアップはバックアップ保持期間内に保持された利用可能なバックアップからデータを復元するために使用できます。さらにバックアップは増分であり、ボリュームレベルで動作し、以前のバックアップを新しいボリュームに復元できます |
冗長性 |
スナップショットは元のデータと同じシステムに保存されます |
通常、バックアップは別のシステムに保存されるため、冗長性があります |
FSx for ONTAP によるバックアップの詳細については、こちらのリンク を参照してください。
スナップショットポリシーとスケジュールの概要
構成およびオーケストレーションされたボリュームのスナップショットは、スナップショットポリシーとスケジュールによって管理されます。スナップショットポリシーは、スナップショットの作成方法と管理方法を定義するルールのセットです。スナップショットポリシー内のスナップショットスケジュールは、スナップショットの作成時期と保持するスナップショット数を定義します。スナップショットポリシーで設定可能な主なコンポーネントは以下のとおりです
- Schedule – システムのスケジューラでスケジュールされる時間(新規およびカスタムのジョブスケジュールを作成できます)
- Count – 保持するスナップショット数(ボリュームあたりの最大スナップショット数は 1023)
- Prefix – デフォルトで FSx for ONTAP はジョブスケジュール名にタイムスタンプを追加してスナップショットコピーの名前を作成しますが、必要に応じてこれをプレフィックス名に置き換えることができます
- SnapMirror Label – ボリュームがカスタムの SnapMirror / SnapVault 関係のソースである場合、 特定のラベル付きスナップショットを宛先のファイルシステムに転送するためにこのオプションを指定できます
FSx for ONTAP には、3 つのデフォルトのスナップショットスケジュールが用意されていますが、スナップショットポリシーとスケジュールは求められる保護要件とリカバリ要件に合わせてカスタマイズできます。たとえば、1 時間ごとにスナップショットを取得し、直近 24 回分のスナップショットを保持するポリシーを設定したり、1 日 1 回スナップショットを取得し、直近 7 回分のスナップショットを保持するポリシーを設定したりできます。
FSx for ONTAP のビルトインのスナップショットポリシーは以下の 3 つです
default
default-1weekly
none
前提条件
以下のセクションでは、読者が FSx for ONTAP ファイルシステムに精通しており、SSH コンソールにアクセスできることを前提としています。
- Fsxadmin ユーザー名とパスワード
- FSx for ONTAP ファイルシステム管理エンドポイントへのアクセス(こちら を参照してください)
- SSH コンソール(putty、シェルなど)
背景
スナップショットポリシーの詳細を表示するには、管理エンドポイントの IP アドレスに SSH 経由で管理コンソールにログインし、”snapshot policy show” と入力します。
図 1:ビルトインのスナップショットポリシーの詳細
default のスナップショットポリシーは、割り当てられたボリューム上で次のように動作します
- 1 時間ごとにスナップショットを取得し、6 つのスナップショットを保持する
- 日次スナップショットを取得し、2 つのスナップショットを保持する
- 週次スナップショットを取得し、2 つのスナップショットを保持する
default-1weekly のスナップショットポリシーは、割り当てられたボリュームで次のように動作します
- 1 時間ごとにスナップショットを取得し、6 つのスナップショットを保持する
- 日次スナップショットを取得し、2 つのスナップショットを保持する
- 週次スナップショットを取得し、1 つのスナップショットを保持する
none のスナップショットポリシーは、スナップショットを作成しません
FSx for ONTAP がデフォルトのスナップショットでどのように動作するかについては、このリンク を参照してください。
スケジュール名はシステムのジョブスケジュールから選択されることに着目してください。この投稿で後程触れていきます。
デフォルトでは新しいボリュームを作成すると、default のスナップショットポリシーが適用されますが、このデフォルトの動作は要件に合わせてカスタマイズすることができます。この構成設定は SVM レベルで設定されます。したがって、ボリュームの作成時に別のスナップショットポリシーが指定されない限り、ボリュームはこのデフォルトを継承します。
どのポリシーがボリュームに適用されているかを表示するには、AWS マネジメントコンソールでファイルシステムを選択してボリュームを選択するか、コマンドラインから以下のように ::> volume show -fields snapshot-policy
コマンドを入力することで「スナップショットポリシー名」を表示できます
図 2:ボリュームに割り当てられたスナップショットポリシーの表示
カスタムのスナップショットポリシーの作成
デフォルトのスナップショットポリシーが要件に一致しない場合、カスタムのスナップショットポリシーを作成できます。カスタムのスナップショットポリシ ーを構成して、アプリケーションとビジネスニーズが必要とするリカバリポイントオブジェクト(RPO) を作成できます。
要件を収集した後、カスタムのスナップショットポリシーを作成して実装する手順は次のとおりです
- ジョブスケジュールエントリを作成(cron に似ています)
- 要件に適したエントリを使用してスナップショットポリシーを作成
- 必要なボリュームに適用
ジョブスケジュールの作成
この例では “AppX” というサンプルのシステムの要件において、それに合わせてカスタムのスナップショットポリシーを作成するプロセスを詳しく説明します。サンプルの vserver(SVM)の名前は AppX です。
スケジュール名 |
頻度 |
ウインドウ |
保持するスナップショット数 |
AppX_Hourly |
毎時10分に実行 |
月曜から金曜、午前6時から午後6時 |
12 |
AppX_Daily |
毎日午後11時に実行 |
午後11時 |
14 |
AppX_Monthly |
毎月1日に実行 |
午前2時 |
2 |
最初のタスクは頻度とウィンドウの要件に合わせて特定のジョブスケジュールを作成することです。ジョブスケジュールは cron 式のような構文でエントリーを指定します。
::> job schedule cron create -name AppX_Hourly -dayofweek "Monday-Friday" -hour 6-18 -minute 10 ::> job schedule cron create -name AppX_Daily -dayofweek * -hour 23 -minute 0 ::> job schedule cron create -name AppX_Monthly -month * -day 1 -hour 2 -minute 0
これらのスケジュールはファイルシステム全体の定義であり、ファイルシステム上のボリュームに適用できます。SVM 固有のポリシーを作成するには、前述のコマンドに “-vserver <svm name>” を追加します。
作成されたスケジュールや既存のスケジュールを見るには、“::>job schedule show” コマンドを入力します。
図 3:ジョブスケジュールの表示
スナップショットポリシーの作成
カスタムスケジュールが作成されたので、カスタムのスナップショットポリシーの作成に進むことができます。コマンドエントリーの構文で、作成したスケジュール名と保持するスナップショット数を要件に応じて入力します。
::> snapshot policy create -policy AppX_Policy -schedule1 AppX_Hourly -count1 12 -schedule2 AppX_Daily -count2 14 -schedule3 AppX_Monthly -count3 2 -enabled true
要件に従ってスナップショットポリシーを作成したので、それが有効になっていることを確認します。
図 4:スナップショットポリシーの表示
カスタムのスナップショットポリシーの適用
必要なボリュームにカスタムのスナップショットポリシーを適用します。スナップショットポリシーは、3 つの異なる方法で適用できます
- 既存のボリュームに適用
- 作成時のボリュームに適用
- SVM にスナップショットポリシーを適用し、新しく作成されたボリュームはすべてスナップショットポリシーを継承
既存のボリュームに適用 するには、vserver “AppX” のボリューム名 “AppX_data01” に適用する次の例を参照してください
::> vol modify -vserver AppX -volume AppX_data01 -snapshot-policy AppX_Policy
ボリューム作成時に適用 するには、AWS マネージメントコンソール 経由で入力する場合、ボリュームのスナップショットポリシーを選択し、カスタムポリシーを選択して、カスタムのスナップショットポリシーの名前を指定します。FSx for ONTAP CLI 経由でボリュームを作成する場合は、新しいボリュームを作成するときに次のスナップショットポリシーの情報を含めたコマンドを入力します。
::> vol create -vserver AppX -volume AppX_data02 -aggregate aggr1 -size 1gb -snapshot-policy AppX_Policy
カスタムのスナップショットポリシーを、特定の SVM で作成されたすべての新しいボリュームの 新しいデフォルトポリシー として適用するには、SVM スナップショットのデフォルトを変更する必要があります。
::> vserver modify -vserver AppX -snapshot-policy AppX_Policy
カスタムポリシーが正常に適用されたことを確認します
::> volume show -fields snapshot-policy ::> vserver modify -vserver AppX -snapshot-policy AppX_Policy
図 5:ボリュームのカスタムのスナップショットポリシーの表示
カスタムのスナップショットポリシーが適用され、ポリシーのスケジュールに従ってスナップショットが取得されるようになりました。これを確認するには、”snap list -vserver AppX” コマンドを入力すると、スナップショットが一覧表示されます。以下のリストでは、AppX_Policy で構成されたボリュームがカスタムスケジュールに従ってスナップショットを実行していることがわかります。一方、AppX_root ボリュームは、デフォルトのスナップショットスケジュールに従ってスナップショットを実行しています。
図 6:実行されたスナップショットの表示
まとめ
この記事では、Amazon FSx for NetApp ONTAP スナップショットを使用して、リカバリの SLA を満たすための高速で効率的なリカバリポイントを作成する方法について説明しました。さらに、スナップショットを活用して、データボリュームの読み書き可能なクローンとなる FlexClone を作成することもできます。スナップショットとバックアップの違いとして、目的、保存期間、復元性、冗長性の点でどのように異なるかについて説明しました。スナップショットポリシーの原則、適用方法、FSx for ONTAP のデフォルト値について説明しました。その後、カスタムのスナップショットポリシーの作成例を説明し、ボリュームレベルと SVM レベルで適用する例を示しました。
カスタムのスナップショットスケジュールを使用することで、アプリケーションとビジネス要件に対応する柔軟性と俊敏性を実現できます。詳細については、こちらのドキュメント を参照するか、FSx for ONTAP チュートリアルの Data Protection on FSx for ONTAP を参照してください。
翻訳はネットアップ合同会社の方様、監修はソリューションアーキテクトの向井が担当しました。