株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

【Dell Blog】PowerScaleのSnapRevert検証とスナップショット機能のおさらい!

皆様、こんにちは!ネットワールド ストレージ担当の島田です。

今回はPowerScaleのスナップショットからのリストア機能「SnapRevert」について紹介していこうと思います。

SnapshotIQ

まずPowerScaleのスナップショット機能についておさらいしましょう!

PowerScaleのスナップショット機能は「SnapshotIQ」と呼ばれ、
手動での Snapshot 作成と、スケジュールでの Snapshot 作成が可能です。クラスタで最大20,000 個、 1 ディレクトリ 1,024 個まで取得可能です。

また前もってスナップショットの保存領域を確保する必要はなく、ファイルシステムの空き領域に差分データを保存する仕様になっています。

またスナップショットの取得方法が2種類あることも特徴で、以下を自動で使い分けながら取得します。

  • Copy on Write
     小さな変更やinode更新、ディレクトリ更新時に使用
  • Point in Time
     削除、大量のシーケンシャル処理時に使用

スケジュールで取得する場合としては以下のような間隔、頻度で設定可能です。
またスナップショットの保持期限なども設定可能です。
かなり細かくスケジュールを設定できるので様々な要件に対応できそうですね!

間隔  interval

  •  Daily                        何日に一度の日/平日のみ
  •  Weekly                        何週間に一度の何曜日
  •  Monthly By Day                何月の第何週の何曜日
  •  Monthly By Relative Day        何月の何回目の日/平日のみ
  •  Monthly By Date                何月何日
  •  Yearly By Day                毎年何月の何回目の何曜日
  •  Yearly By Date                毎年何月何日
  •  Yearly By Ordinal Day        毎年何月の何回目の日/平日のみ

頻度  Frequency

  •  Once/Multiple Times         一回(何時)、複数回(何時から何時の間)

スナップショットスケジュール

スナップショットからリストアする方法としては主に以下があります。

  • クライアントからのリストア
  • SnapRevert

まずクライアントからリストアついてです!

こちらはWindowsの場合は、Windowsファイルサーバーなどと同じようにエクスプローラーの「以前のバージョン」からリストア可能です。

対象フォルダのプロパティ→「以前のバージョン」タブ

Windowsクライアントリストア

Unixクライアントの場合は対象ディレクトリ配下にある .snapshotディレクトリか、/ifs配下にある.snapshotディレクトリからアクセス可能なので、そこからコピーすることでリストア可能です。

#pwd
/mnt/PowerScale
#ls -la
total 10
drwxrxr-x 2 root root 50 Jul 20 2023 .
drwxrxr-x 4 root root 4096 Jul 20 16:32 ..
#cd .snapshot
#ls -la
total 6
drxr-xr-x 2 root root 0 Jul 20 2023 .
drwxrxr-x 2 root root 50 Jul 20 2023 ..
drwxrxr-x 2 root root 50 Jul 20 2023 Snapshot: 2023Jul20, 4:41 PM

 

次は本題のSnapRevertについてです!

SnapRevertはスナップショットイメージへディレクトリ全体を復元する手法になります。
そのためこちらでリストアした場合はスナップショット取得後の変更がすべて消えてしまうので注意して行ってください。

では実際にやってみましょう!

まずSnapRevertを行う前に、スナップショットから復元するディレクトリに対してSnapRevertDomainをマークしてあげる必要があります。
※メーカーマニュアル上、 SnapRevert Domain はディレクトリが空の時に設定するのが推奨となります。

こちらはCLIからの操作が必要になります。

pscale-cls1-1# isi job jobs start domainmark --root /ifs/smb/share1 --dm-type=SnapRevert
Started job [8522]


下記のコマンドでSnapRevertDomainが指定できたか確認します。

pscale-cls1-1# isi_classic domain list
Root Path                     | Type               
------------------------------+--------------------
/ifs/smb/share1               | Writable,SnapRevert

 

ドメインの指定が完了したらGUIからリストアしてあげれば完了です!

「Data Protection」→「SnapshotIQ」→「Snapshot」→「More」→「Restore snapshot」

リストア

リストアされた旨のメッセージがでたら成功です!

リストア完了メッセージ

 

ちなみにCLIでリストアしたい場合には、
まずリストアしたいスナップショットのIDを以下のコマンドで確認します。

pscale-cls1-1# isi snapshot snapshots list
ID   Name                     Path
----------------------------------------------------
21   share03_2024-03-25_09:17 /ifs/smb/share1 

 

確認出来たら、IDを指定してSnapRevertを実行します。 

pscale-cls1-1# isi job jobs start SnapRevert --snapid=21
Started job [12]

 

ジョブを確認して「Succeed」になっていれば完了です!

pscale-cls1-1# isi job events list
Time                Job ID  Job Type   Phase  Event         State
-----------------------------------------------------------------------
2024-03-25T19:25:31 12      SnapRevert 1      Policy change LOW
2024-03-25T19:25:31 12      SnapRevert 1      State change  Waiting
2024-03-25T19:25:32 12      SnapRevert 1      State change  Running
2024-03-25T19:25:33 12      SnapRevert 1      Begin phase   snap_revert
2024-03-25T19:25:45 12      SnapRevert 1      End phase     snap_revert
2024-03-01T19:26:15 12      SnapRevert 1      State change  Succeeded
-----------------------------------------------------------------------

 

ちなみに復元前のスナップが自動的に取得される仕様になっています!

pscale-cls1-1# isi snapshot snapshots list
ID   Name                                           Path
--------------------------------------------------------------------------
71   share1_2024-03-25_09:17                       /ifs/smb/share1
79 share1_2024-03-25_09:17.pre_revert.7364928638 /ifs/smb/share1

 

操作はとっても簡単ですね!
その他のスナップショットの注意事項としては以下があるので、設計の際は注意が必要です!

  • /ifsをスナップショットディレクトリに指定しない
    →すべてのファイルの変更点保持が必要になり、性能劣化につながる可能性あり
  • スナップショットを取得しすぎない
    →単一のディレクトリのスナップショット数は1024以下が推奨
     クラスタ全体だと合計で2,048世代程度が望ましい
  • 上位フォルダとその子フォルダでスナップショットを作成しない
    →スケジュールの入れ子があると後で取得したイメージが先にExpireする場合あり

Tips

管理者側としてはユーザーにスナップショットを見せたくないという場合もあるかと思いますので、そちらの方法も紹介いたします!

スナップショットを見せる見せないの設定はGUIから簡単にON/OFFが可能です。

「Data Protection」→「SnapshotIQ」→「Settings」タブを選択
SMB settings の項目のチェックをすべて外し、「Save」をクリックしてください。

SMB settings無効化



 

そうしますと、この通りスナップショット取得済みのフォルダでもスナップショットが表示されなくなります!
これでユーザーの予期せぬ操作を防ぐことができそうですね!
 

スナップショットをユーザーからアクセスできないようにする

 

今回はここまで!いかがだったでしょうか?

スナップショットは大変便利な機能ですので、注意点を考慮しながら積極的に利用していきたいですね!

 

それはではまた次回お会いしましょう!

Networld Techのブログ一覧はこちら!

https://www.networld.co.jp/product/emc/tech-blog/