Pure Storage FlashArrayのSnapshotについて

Pure Storage FlashArray(FA)製品のSnapshotについて、ご紹介します。
データのバックアップ
昨今のサイバー犯罪の被害増加により、データを保護する、ということの重要性が高まっています。データロスト(DL:Data Lost)を防ぐため、様々なRAID構成によって生きたデータを保護するほか、バックアップを取得することで万が一のDLに備えることが可能です。一般的なストレージのバックアップとしては、Snapshotを取得することや、専用のバックアップツールを用いてデータをコピーする方法、テープ機器にバックアップを取る方法などが用いられています。しかしながら、近年、ストレージに蓄積するデータ量が劇的に増加し、時間通りにバックアップが完了しない、バックアップ処理の負荷が高いなどの理由により、サービス影響や運用への影響が発生してしまう事例もあります。
FA製品のバックアップは、単純で簡単に操作でき、サービスや運用への負荷なく、安全にデータを保護することが可能です。
FAのバックアップの手段としては、下記の種類があります。
FA内の任意の静止点でデータを切り取って保存するSnapshotのほか、取得したSnapshotを別筐体に転送するAsync ReplicationやAWSなどのクラウドへ転送するCloud Snapにて、取得したバックアップデータを別筐体にて保存することができます。
また、FA製品間でのデータ保護機能として、別筐体に半同期的にデータを転送するActiveDR、別筐体に完全同期でデータを転送するActiveClusterがバックアップ手段として挙げられます。
今回はこのうちSnapshotに焦点を当てて記載します。今後のBlogで、そのほかのバックアップ手段やRAID構成などについても記載予定です。
Snapshotの取得
FAのSnapshotは、Volumeのある時点でのメタデータを作成し、アレイ内に保存する機能です。ブロックレベルの静止点となり、メタデータのみを作成し実データは共有することで、データ量に依存せず、瞬時にSnapshot取得実行が可能です。また、取得時点ではメタデータのみのデータ増加のため、容量消費も少ないという特徴があります。
その後、Volumeへの書き込みによりデータの差分が発生すると、その差分データはSnapshotとして残ります。Snapshot間に依存関係はなく、実Volumeをある時点のSnapshotでリストアしても、他のSnapshotはそのまま残すことが可能です。また、FAでは、Snapshot専用での容量確保などは行われず、差分データも通常のデータと同様にDiskの中に保存されます。そのため、FAのSnapshotは実データと同様、重複排除・圧縮機能の効果を受け、実際の消費容量よりも少ないデータ消費量で保存することが可能です。
Snapshotからリストア
Snapshotからリストアする方法としては、元のVolumeを取得したSnapshotで上書きする方法と、取得したSnapshotをVolume化してサーバーに見せる、という主に2つの方法があります。
元のVolumeを取得したSnapshotで上書きする方法は、瞬時にVolumeのメタデータのみを元に戻すことで実行できます。直感的にリストアが実行できる方法となりますが、そのまま実行すると、サーバー側からは急に元のデータが見えなくなってしまうため、サーバー側ではデータの整合性が取れずに、正常にデータを読み込めなくなってしまう可能性があります。そのため、この手順を実施する際には、サーバーから該当Volumeをアンマウントして、安全にリストアを実行できる状況にする必要性があります。
取得したSnapshotをVolume化してサーバーに見せる、という方法は、先ほどの方法と比較し、安全にリストアができる方法です。FAでは下記図のような動作を実施するイメージとなり、実データをコピーせずにVolume化します。
このVolumeをサーバー側に見せて、サーバー側でマウントすることで、安全にリストアすることが可能です。FA内では、メタデータのみを作成し、実データのコピーは実施していないため、容量を消費しません。また、メタデータのみの作成となるため、瞬間的な処理で完了となり、負荷もかかりません。なお、コピーされたVolumeは、他のVolumeやSnapshotと依存関係もないため、元となったVolumeやSnapshotを削除しても問題はございません。
Snapshotの取得方法およびリストア方法
ここまでご紹介した、Snapshotの取得方法とそのリストア方法について記載します。
当社検証環境の、Purityバージョン v6.7.1の機器にて実施しておりますので、一部PurityバージョンではGUIやCLIの表記が異なる場合があります。
・ VolumeのSnapshot作成
GUI:Storage > Volumes > 該当のVolumeを選択 > Volume Snapshots欄の+ボタンをクリック > 必要に応じてSuffixを入力し、Create
(Suffixは、Snapshot名の末尾につく任意の名前となります)
CLI:purevol snap [対象のVolume名] --suffix [必要に応じてSuffixを入力]
コマンドを入力
・ 既存のVolumeを取得したSnapshotで上書きする方法
GUI:Storage > Volumes > 該当のVolumeを選択 > Volume Snapshots欄から戻したいSnapshotの横の縦三点リーダをクリック > Restore… > ポップアップ表示されたRestoreをクリック
CLI:purevol copy [対象のSnapshot名] [戻したいVolume名] --overwrite
コマンドを入力
・ 取得したSnapshotをVolume化してサーバーに見せる方法
GUI:Storage > Volumes > 該当のVolumeを選択 > Volume Snapshots欄から戻したいSnapshotの横の縦三点リーダをクリック > Copy… > ポップアップ表示された内容からName欄にVolume名を入力し、Copy
CLI:purevol copy [対象のSnapshot名] [Volume名]
コマンドを入力
サードパーティ製品との連携
このSnapshotを活用するうえで、サードパーティ製のバックアップソフトウェアと連携してSnapshotを取得、運用することも可能です。Snapshotを取得し、取得したSnapshotから新規Volumeを作成しSnapshotをコピー、コピーしたVolumeをバックアップサーバーからマウントして、外部にバックアップを実行する、などが使用例としてあげられます。当社ではVeeam製品を取り扱っており、Veeamを使用したバックアップソリューションをご提案することも可能です。この詳細については、今後のBlogにて記載予定です。
最後に
今回はFA製品のSnapshotについて概要を記載しました。今後のBlogでは、Snapshotを簡単に管理できるProtection Groupや、他のデータのバックアップ方法である、ActiveCluster、ActiveDRなどについて記載予定となります。