スナップショットで行われることとは?
ひと言で言えばスナップショットはバージョン管理、または変更を元に戻せる機能です。例えば、スナップショットを毎時間取ると、全てのファイルやフォルダーは、スナップショット作成時まで遡って戻すことができます。従って、ウイルス感染時には、ファイル、フォルダーまたはボリューム全体を感染前の状態に戻すことが簡単に行えます。
バックアップとの相違点とは?
バックアップはデータの完全なコピーです。そのため、データが5TBであれば、コピー毎に5TBの余分のスペースが必要となります。1時間毎にバックアップを取ると、10時間後にはバックアップは50TBのスペースを取ります。この理由で、多くのバージョンのバックアップを取るのは一般的ではなく、バックアップはバージョン作成に理想的ではありません。
スナップショットはバックアップとは違い、多くのスペースを取ることなく複数のバージョンが作成できるので、バージョン保存に適しています。スナップショットに必要なのは、変更を元に戻す(アンドゥー)のに十分な情報のみなので、バックアップほどスペースを取りません。
QNAPのブロックレベルのスナップショット動作原理とは?
スナップショットを取ると、各ブロックのデータの保存場所に関するメタデータ記録がスナップショットにコピーされます。これはほとんどスペースを取らず、素早くスナップショットが作成されます。以降、ブロック内データを変更する度に、そのブロックが割り当てられたスナップショットのスペースに書き込まれます。また変更を反映する現行のメタデータも更新されます。この手順は「書き込み時リダイレクト」と呼ばれます。
スナップショットにはメタデータがあるので、スナップショット作成時からどのブロックのデータが追加または変更されたかが認識可能です。あるスナップショットに戻す場合、スナップショットが取られた以降のデータブロックの追加や変更は、スナップショット保存場所から削除されます。そして各ブロックのデータは、スナップショットが取られた時点のものと同一となります。各ファイルはデータのブロックで構成されるので、全てのファイルがスナップショットの取られた時点の状態になります。
これにより、ファイル、フォルダー、さらにはボリュームへの変更に対するアンドゥーが可能となり、誤って削除したファイルを取り戻すことも可能です。
スナップショットに関してQNAPが採用した優れた方法とは?
操作しやすいインタフェース:
ロードしたいスナップショットをクリックするだけで、ボリューム全体を戻すか、特定のファイルやフォルダーを指定して復元することができます。
同じインタフェースから、スナップショットのスケジュール、またはいつでもマニュアルでスナップショットが取れます。
ブロックレベル:
QNAPはブロックレベルでのスナップショットを取るので、ファイルレベルのスナップショットよりスペース効率が高くなっています。ファイルレベルのスナップショットでは、ファイルに対する小さな変更でも、ファイル全体のスナップショットを取る必要があります。でも、ブロックレベルのスナップショットでは、ファイルに変更が加えられたブロックのみ保存すれば十分です。
iSCSI LUNにとってより理想的:
ブロックレベルのスナップショットにより、ブロックレベルiSCSI LUNを含め、お持ちのNASのいずれのボリュームまたはLUNのスナップショットを取ることが可能です。これは、BTRFSに依存する他のスナップショットでは不可能です。何故なら、BTRFSファイルシステムで管理されたボリュームおよびシンLUNでなければスナップショットが取得できないからです。
NASが機能し続けるためのスナップショット空間割り当て管理:
QNAPはスナップショットを基本から構成し、スナップショットに割り当てるスペースの管理が行えます。スナップショットのために確保するストレージ容量を制御します。スナップショットに割り当てられていないスペースでは、他のファイルやアプリケーションが優先されます。
BTRFSに依存するNASプロバイダーの場合は、ほとんど制御できないので、NASがファイルサーバーとして機能できないほどスナップショットがスペースを占有してしまうことがあり得ます。
どんな場合にスナップショットが小さくなる?
NASにファイルが追加されるだけの場合は、データのブロックをスナップショットに保存する必要はありません。スナップショットは、新規作成時からNASに加えられたブロックを記録するメタデータのみ保持するだけで十分です。
どんな場合にスナップショットが大きくなる?
ファイルを削除すると、スナップショットは削除されたファイルを復元できるようにする必要があります。このためには、削除または上書きされたデータのブロックはみなスナップショットに保存する必要があります。データのブロックをスナップショットに保存するのは、単にメタデータを保存するより多くのスペースが必要です。そのため、ファイルの削除はファイルの追加よりも、スナップショットを大きくする要因となります。
結論:
ほとんどの人はファイルの削除や変更を行いますが、スナップショットが大き過ぎるほどにはなりません。QNAPのデフォルトでは、ストレージ空間の20%がスナップショットに割り当てられますが、これは256回スナップショットを取るために必要十分なスペースです。複数の完全なバックアップでは、莫大なスペースを占めずにこれと同じレベルのことは不可能です。それで、バージョン管理にはスナップショットの方がバックアップよりはるかに優れているのです。ただし、スナップショットではドライブ故障から保護されるわけではないので、RAIDによる冗長性を備え、少なくとも1つのバックアップを他のデバイスに取るのが最善です。
(2018年4月24日オリジナル投稿、Michael Wangにより内容更新)