NetAppにはsnap autodelete(スナップショットの自動削除)機能があります。
これを設定しておけば、NetAppのスナップショットで運用ボリュームがいっぱいにはならないというメリットがあります。
特に運用上困ることは無いので、設定しておいて損は無いかと。
(もちろん、運用ボリュームとスナップショットボリュームの使用率は把握した上での運用です。運用ボリュームがいっぱいになりスナップショットが0というのも問題ですから)
レジュメ
環境・前提条件
- NetApp Data Ontap 8.1.2
- 7-Mode
今回は上記環境で試しました
※ NetAppのバージョンは「version」コマンドで確認できます。
snap autodeleteを有効設定にするコマンドは
NetAppのボリュームに対するsnap autodeleteコマンドは以下のように実行し有効に出来ます
snap autodelete <ボリューム名> on
です。
この後、snap autodeleteのオプション設定で自動削除の挙動を決めていきます。
snap autodelete <ボリューム名> <オプション> <値>
NetAppのスナップショット自動削除設定がボリュームにされているか確認するコマンド
以下のコマンドを実行します
snap autodelete <ボリューム名> show
結果の出力で、「state」が「on」になっている場合は、スナップショット自動削除の設定がされています。
また、上記出力でスナップショット自動削除(snap autodelete)で自動削除の挙動を決めるオプションも確認で行きます。
デフォルト設定で(「snap autodelete <ボリューム名> on」のみ実行した設定で)、オプションは
- commitment = try
- trigger = volume
- target_fee_space = 20%
- delete_order = oldest_first
- defer_delete = user_created
- prefix = なし
- destroy_list = none
が設定されています。
snap autodeleteのオプションについて説明
snap autodeleteのオプションについて簡単に説明します。
またわかりづらいオプションは詳し目に説明します。
まずは、NetAppの「データ保護: オンライン・バックアップおよびリカバリ・ガイド」を読むことをお勧めします。
わかりやすいオプションから説明していきます。
-
「trigger」オプション
読んで字のごとく、スナップショット自動削除のトリガーを決めるオプションになります。
デフォルト設定の「volume」で良いとは思いますが、以下の設定が出来ます
- volume
ボリュームの使用率が98%に達し、ボリュームのSnapshotコピー・リザーブ用スペースを超えた場合に、Snapshotコピーの削除を開始します。 - snap_reserve
Snapshotコピー・リザーブの使用率が98%に達すると、Snapshotコピーの削除を開始します。 - space_reserve
ボリュームでリザーブされたスペースの使用率が98%に達し、ボリュームのSnapshotコピー・リザーブ用スペースを超えた場合に、Snapshotコピーの削除を開始します。
このオプションで指定した領域が98%に到達するとスナップショット自動削除がキックされるわけです。
設定する場合は、以下のようなコマンドで設定ます。(例)
snap autodelete <ボリューム名> trigger volume
-
「target_free_space」オプション
スナップショット自動削除がトリガーによってキックされた後、どこまで削除するか(削除量)を決定するオプションになります。
「target_free_space」で指定したパーセンテージまで空きスペースが出来ると自動削除の処理が止まります。
デフォルトの20%で十分ですね。
設定する場合は、以下のようなコマンドで設定ます。(例)
snap autodelete <ボリューム名> target_free_space 30
-
「delete_order」オプション
新しいスナップショットから削除するか、古いスナップショットから削除するかを決めるオプションになります。
- newest_first
最も新しいSnapshotコピーから削除します。 - oldest_first
最も古いSnapshotコピーから削除します。
通常、古いスナップショットから消して欲しいことがほとんどだと思いますので、デフォルトの「oldest_first」で良いかと思います。
ここまでで一旦説明休憩、
ここからのオプションが若干難しいですね。
重要なものから説明します。
-
「commitment」オプション
ドキュメントを見ますと
データ保護ユーティリティ(SnapMirrorまたはNDMPcopy)またはデータ・バックアップ・メカニズム(ボリュームまたはLUNクローン)とリンクしているSnapshotコピーの処理を指定します。
• try-データ保護ユーティリティやデータ・バックアップ・メカニズムとリンクされていないSnapshotコピーだけを削除します。
• disrupt-データ・バックアップ・メカニズムとリンクされていないSnapshotコピーだけを削除します。
とあり、若干難しいですよね、、、簡単に言うと、
VSCのバックアップおよび、Snapmirror用のSnapshotを削除する場合にはcommitmentを「distrupt 」を指定します。
Snapmirror以外のVSCスナップショットは「try」にて削除可能です。
※ SnapMirrorスナップショットを削除してしまうとミラー関係が崩れてしまいますので注意
-
残りのオプション「defer_delete」「prefix」オプションについては
こちらについてはあまり使用しないので説明を省きます。
簡単に言いますとスナップショットの名前とかで削除する優先順位をつけるオプションです。