はじめに
従来のストレージに SSD を搭載してオールフラッシュとしている製品のスナップショットでは、たとえ SSD でもオーバーヘッドが存在する傾向があります。そのため、オーバーヘッドを考慮したサイジングや運用が必要です。一方、近代的なストレージではそういった懸念が払拭されており、その中でも FlashArray のスナップショットは一味違います。
ストレージスナップショットとコピー機能の概要
FlashArray のストレージスナップショットは、ボリュームの特定時点のイメージをアレイ内に保存する機能です。スナップショットを使用することで、容量を消費しない効率的、かつ、データ量に依存しない高速なバックアップ/リストアの運用が可能になります。
ストレージスナップショットはボリュームのバックアップであり、ホストがそれを読み込むことはできません。特定時点のスナップショットを選択してボリュームをリストアする以外に、スナップショットをソースとして新規ボリュームを作成、または既存ボリュームへの上書きを行うことで、ホストによる読み書きが可能なボリュームとして提供します。
上記の運用を可能にするのがコピー機能です。ボリュームまたはスナップショットから、読み書き可能なボリュームをコピーして作成します。コピー先は、新規ボリュームでも、既存ボリュームでも、上書きでもかまいません。コピー機能もスナップショットと同様に、作成時点で容量を消費せず、コピーボリュームへの書き込みによって発生したソースボリュームとの差分のみを消費します。また、コピーは、データ量に関わらず瞬時に完了します。
ストレージスナップショットとコピーの活用例の 1 つとしてバックアップ運用が挙げられます。スナップショットとコピーを活用することで、サードパーティ製バックアップソフトウェアと連携したバックアップ運用が容易になります。
- 本番ボリュームのストレージスナップショットを作成
- 1. で作成したスナップショットから新規ボリュームをコピー
- 2. でコピーしたボリュームをバックアップサーバーからマウント
- サードパーティ製バックアップソフトウェアを使用して外部にバックアップを実行
スナップショットとコピー機能の実行
スナップショットとコピーに関する操作は、GUI と CLI のいずれからでも行うことができます。FlashArray の GUI は非常にシンプルで直感的なため、本ブログでは GUI の説明は省略し、CLI による操作をご紹介します。
- スナップショットによるバックアップ:“purevol snap” CLI を使用
--suffix
でスナップショット名を指定- <ボリューム名>.<
suffix
> という名前のスナップショットが作成される
1 2 3 4 5 |
pureuser@Japan–Lab–Tokyo–FA> purevol snap —suffix snap1 vol1 Name Size Source Created Serial vol1.snap1 1T vol1 2017–04–15 17:28:21 JST E17AE65E2C3048B600027191 |
- スナップショットからのリストア:“purevol copy” CLI を使用
--overwrite
オプションを指定して上書き
1 2 3 4 5 |
pureuser@Japan–Lab–Tokyo–FA> purevol copy —overwrite vol1.snap1 vol1 Name Size Source Created Serial vol1 1T vol1 2017–04–15 17:30:55 JST E17AE65E2C3048B600027190 |
- コピー:スナップショットから新規ボリュームを作成
1 2 3 4 5 |
pureuser@Japan–Lab–Tokyo–FA> purevol copy vol1.snap1 vol2 Name Size Source Created Serial vol2 1T vol1 2017–04–15 17:30:01 JST E17AE65E2C3048B600027192 |
- コピー:既存ボリュームから新規ボリュームを作成
1 2 3 4 5 |
pureuser@Japan–Lab–Tokyo–FA> purevol copy vol1 vol3 Name Size Source Created Serial vol3 1T vol1 2017–04–15 17:30:07 JST E17AE65E2C3048B600027193 |
スナップショットとコピーボリュームの柔軟性
一般的なストレージでは、親ボリューム – スナップショット – コピー(クローン)間で依存関係があり、お互いの存在により自身を削除することができません。
一方、FlashArray のスナップショットは、時系列で作成したスナップショット世代間で依存関係がありません。つまり、特定時点のスナップショットにリストアしても、それより新しいスナップショットが削除されず残ります。
柔軟性は、コピー機能で作成したボリュームにおいても同様です。コピーボリュームは、ソースボリュームまたはスナップショットと依存関係がないため、独立したボリュームとして運用可能です。ソースボリュームまたはスナップショットを削除しても、コピーボリュームは削除されません。これにより、柔軟なバックアップとコピー運用が可能になります。
ストレージスナップショットと容量
スナップショットでは、取得した時点での容量消費がなく、その後ボリュームに書き込みが発生することで、その差分データがスナップショットとして残ります。これは一般的なストレージと同様です。FlashArray のスナップショットは、差分データ格納のための専用領域は不要で、差分データも実データと同様に通常の実効容量の中に格納されます(図3:紫色の領域)。そして、スナップショット(差分データ)ではデータ削減機能(重複排除、圧縮)も有効です。FlashArray のデータ削減機能はアレイ単位であり、全てのボリューム、スナップショットを対象に効率的に実行されます。
次回予告
次回のブログでも、引き続きスナップショットの内容をご紹介します。よりディープな内容と検証結果をお楽しみに!