スナップショットとは|特定時点のデータ状態を保存する仕組み

当ページは検証・整備中のドラフトです。
内容は実環境での検証や追加調査により変更される予定です。
参照:ページ公開・更新ポリシー

スナップショットとは、ファイルシステムやストレージなどの状態を、特定の時点で記録する仕組みである。データを誤って変更・削除した場合や、障害が発生した場合に、過去の状態へ戻すために利用される。

一般的なバックアップがデータを別の保存領域へ複製するのに対し、スナップショットは変更前のデータを保持するなどの方法で、過去の状態を参照できるようにする。仕組みによっては、データ全体を複製せずに短時間で作成できる点が特徴である。

スナップショットの仕組み

スナップショットは、取得時点のデータ状態を記録し、その後に行われた変更と区別して管理する。

多くの実装では、変更されていないデータを元の領域と共有し、更新前または更新後のデータを別の領域に保持する。これにより、データ全体を複製せずに過去の状態を保存できる。

ただし、具体的な保存方法や必要な容量は、ファイルシステムやストレージ製品によって異なる。

スナップショットでできること

スナップショットは、主にデータの復元や変更前後の状態管理に利用される。

用途内容
誤操作からの復元誤って削除・上書きしたファイルを過去の状態から取り戻す
更新前の状態保存システム更新や設定変更の前に状態を記録する
障害からの復旧論理的な破損などが発生した際に、取得時点の状態へ戻す
ランサムウェア対策暗号化される前のデータ状態を保持し、復旧に利用する

製品によっては、ストレージ全体を過去の状態へ戻すだけでなく、スナップショット内の個別ファイルを取り出すことも可能となっている。

スナップショットとバックアップの違い

スナップショットとバックアップは、どちらもデータの復元に利用されるが、保存方法と想定する障害が異なる。

比較項目スナップショットバックアップ
主な目的過去の状態への迅速な復元データの複製と保全
保存場所元データと同じストレージ内が多い同一装置内にも別装置にも保存できる
作成時間短時間で作成できる方式が多いデータ量や転送方法に左右される
物理障害への対応同一装置内では元データと同時に失われ得る別装置に保存すれば対応できる
ランサムウェアへの耐性削除・改変される権限や経路があると失われ得る隔離や変更不可の保存方式によって保護できる

スナップショットを別の装置へ複製する機能を備えた製品もある。その場合は物理障害への備えにもなるが、複製先の独立性や復元方法を確認する必要がある。

また、バックアップも同一装置内に保存しただけでは、装置全体の故障や破壊に対応できないため、保存先を分離することが重要となる。

スナップショットの保存容量

スナップショットは、取得するたびにデータ全体を複製せず、複数世代を比較的少ない容量で保持できる方式のものが主流である。ただし、取得後にデータの変更や削除が増えると、過去の状態を維持するための保存容量も必要となる。

例えば、大容量のファイルを頻繁に書き換える環境では、スナップショットの保存領域が急速に増加することがある。

保存容量の不足は、スナップショットの取得失敗や古い世代の削除につながるため、保持世代数や保存期間の管理が重要となる。

また、仮想マシンでは、スナップショットを長期間保持すると差分データの増加によって容量を圧迫し、製品や構成によっては性能低下につながるため、不要になった世代は整理する。

ランサムウェア対策としての限界

スナップショットは、ランサムウェアによってファイルが暗号化された場合の復元手段となる。

攻撃者がスナップショットを管理する権限を取得すると、復元前にスナップショット自体を削除されるおそれがある。実際に、ランサムウェア攻撃では復旧を妨害する目的で、バックアップやスナップショットの削除を試みる手口も確認されている。

また、元データと同じストレージに保存されている場合、装置の故障や破壊によって同時に失われる危険も残る。

対策としては、管理権限の分離、スナップショットの削除保護、変更不可の保持機能などが有効である。これらの機能は製品によって対応状況が異なる。

スナップショットだけに依存せず、別の装置やクラウドなどに保存したバックアップを組み合わせることが重要となる。

スナップショットを利用する際の注意点

SOHOや小規模組織では、NASや仮想マシンなどでスナップショット機能を利用できる。

導入時には、次の点を確認しておく。

  • 取得対象と復元できる範囲
  • スナップショットの保存先と必要容量
  • 取得間隔、保存期間、保持世代数
  • 管理者による削除や変更を防ぐ機能の有無
  • 復元操作の手順と所要時間

また、稼働中のデータベースやアプリケーションでは、スナップショットを取得できても、内部データの整合性が保証されるとは限らない。必要に応じてアプリケーションと連携した整合性確保の仕組みを利用する。

スナップショットは、誤操作やデータの論理的な破損から迅速に復元するための有効な仕組みである。一方、装置全体の故障や管理権限の侵害まで想定する場合は、独立したバックアップとの併用が必要となる。