こんにちは、阿久梨絵です!
Windows でバックアップを取得するとき、どの時点のデータが保存されるのかは、運用上とても重要なポイントです。特に、作業を続けながら自動バックアップが実行される環境では、保存されるデータの「タイミング」を正しく理解しておく必要があります。
この記事では、Windowsが採用している VSS(Volume Shadow Copy Service) の仕組みをもとに、バックアップ対象となるデータの時点や、バックアップ処理中の更新がどのように扱われるのかを分かりやすく整理します。
スナップショットが示す「保存される時点」
Windowsのバックアップは、VSSによって作成される スナップショット(静止状態のコピー) を基準に行われます。
バックアップに含まれるのは、 スナップショットが作成された瞬間のデータです。
スナップショット作成後に行われたファイルの更新は、バックアップには含まれません。
バックアップ処理は、作成済みのスナップショットを読み取る形で進むためです。
スナップショット作成中の更新はどう扱われるか
スナップショットを作成する際、VSSはファイルシステムを一時的に静止させ、整合性のある状態を確保します。
そのため、スナップショット作成中に行われた更新はスナップショットには反映されません。
・スナップショット作成前の状態 → バックアップ対象
・スナップショット作成後の更新 → バックアップ対象外
スナップショットは「その瞬間のディスク状態」を固定したものであり、後から行われた変更は通常のディスク側にのみ反映されます。
この仕組みが採用されている理由
バックアップ中にファイルが変化し続ける環境では、保存されるデータの整合性が損なわれる可能性があります。
VSSはこの問題を避けるために、次のような仕組みを提供しています。
・一時的にディスク状態を固定し、整合性を確保する
・固定された状態をスナップショットとして保持する
・バックアップ処理はスナップショットを参照するため、作業を中断せずに済む
これにより、常時稼働するサーバー環境や、日常的に作業を続けるPCでも、安全にバックアップを取得できます。
具体例で確認すると
例として、10:00 にスナップショットが作成された場合を考えます。
・10:00 スナップショット作成
・10:01 ファイルを編集して保存
・10:05 バックアップ完了
この場合、バックアップに含まれるのは 10:00 時点のファイルであり、10:01 の更新内容は含まれません。
アプリケーション側の対応が必要な場合
VSSはファイルシステムの整合性を保証しますが、アプリケーション内部の整合性はアプリケーション側の対応が必要になる場合があります。
例として次のようなものがあります。
・SQL Server
・Exchange
・データベース系アプリケーション
これらは VSS Writer を通じて、アプリケーション自身が静止処理に協力する仕組みを持っています。
一般的なファイル(文書、画像など)はこの制約を受けません。
まとめ
・Windowsバックアップは スナップショット作成時点の状態 を保存します
・スナップショット作成後の更新はバックアップに含まれません
・作業を中断せずにバックアップを取得できます
・一部アプリケーションではVSS対応が必要になる場合があります
Windows のバックアップは、作業を続けながらも整合性のあるデータを確保するための仕組みとして設計されています。
阿久梨絵でした!
