Windows Serverのシャドウコピーは、Volume Shadow Copy Service(VSS)を使って共有フォルダー内のファイルを特定時点の状態として保持し、誤削除や上書きから短時間で復旧する機能です。設定の要点は、共有が置かれた「ボリューム」を正しく選ぶこと、変更量に合わせてシャドウコピー記憶域(diff area)を設計すること、業務上必要な復旧時点に合わせてスケジュールを決めることです。ただし、同じサーバー内のシャドウコピーだけでは障害・侵害・災害に耐えられません。独立したバックアップと復元テストを併用し、復元時はまず別の場所へコピーして内容を確認します。
VSSと共有フォルダーのシャドウコピーを理解する
VSSは、バックアップアプリケーションなどのRequester、アプリケーションのデータ整合性に関与するWriter、実際にスナップショットを作るProviderを調整するWindowsの基盤です。Windows標準のSystem Providerはcopy-on-write方式を使い、スナップショット作成後に変更される元のブロックをdiff areaへ保存して、過去時点の読み取り専用ビューを再構成します。毎回データ全体を複製する仕組みではないため、比較的短時間で復旧ポイントを増やせます。
「共有フォルダーのシャドウコピー」はこのVSSを使い、SMB共有上のファイルやフォルダーをPrevious Versionsから復旧できるようにする機能です。Microsoftの現行資料でも、利用者が管理者の支援なしに削除・変更したネットワークファイルを素早く回復できる用途が説明されています。対象単位は共有名ではなくボリュームなので、同じボリュームに複数の共有や非共有データがある場合は、容量と復旧範囲をまとめて評価します。
シャドウコピーを単独のバックアップにしない

System Providerのcopy-on-writeは、元ボリュームの現在データとdiff areaの差分を組み合わせて過去時点を見せます。元データ、diff area、サーバーのいずれかを同時に失う障害では復旧できない可能性があります。また、管理権限があればvssadmin delete shadowsでクライアントアクセス可能なシャドウコピーを削除できます。したがって、シャドウコピーは「すぐ戻すための近距離復旧」であり、同一筐体障害や侵害に備える唯一の保護先にはしません。
別サーバー、別ストレージ、クラウドなど障害ドメインの異なるバックアップを取得し、可能なら削除耐性のある保管先、分離した管理資格情報、世代保持を組み合わせます。ファイルだけでなく、システム状態、共有設定、NTFS ACL、暗号化鍵、アプリケーション固有データを何から復元するかも決めます。シャドウコピーとバックアップの復旧手順を別々に試し、「一覧にある」ではなく実際にファイルを開けるところまで定期検証します。
設定前に対象ボリュームと復旧要件を確認する

まず共有名、UNCパス、サーバー上の実パス、ボリューム、ファイルシステム、総容量、空き容量、日次変更量、ピーク時の変更量、ファイル数、バックアップ時間を記録します。標準の永続的なシャドウコピーを運用するなら、NTFSのデータボリュームと十分な空きがあるNTFSのdiff areaを基本にします。ReFS、CSV、SAN、フェールオーバークラスター、重複除去、第三者Providerを含む構成は、OSと製品の対応表およびベンダー手順を先に確認します。
復旧目標も数値化します。何時間前まで戻したいかというRPO、何分以内に復旧したいかというRTO、保持したい営業日数、利用者が自己復旧してよいデータ、管理者承認が必要なデータを決めます。VSSはボリューム単位であるため、高頻度更新の一時データと長期保持したい共有を同じボリュームへ混在させるとdiff areaを急速に消費します。新規構築では、変更特性と保護要件が異なる共有をボリューム設計から分離します。

管理画面で対象ボリュームを選んで設定する
管理者権限でサーバーへ接続し、コンピューターの管理の共有フォルダーから「シャドウコピーの構成」を開くか、対象ボリュームのプロパティにあるShadow Copies画面を開きます。Windows Serverのエディションや表示言語で名称は異なることがあります。共有フォルダーのパスが存在する「ソースボリューム」を選び、設定画面でdiff areaの配置先、最大サイズ、作成スケジュールを確認します。別ドライブの同名共有やマウントポイントを取り違えないよう、ボリュームIDと実パスを変更票へ残します。

有効化は初回シャドウコピーの作成とタスク設定を伴うため、いきなり本番ピークで実施しません。既存バックアップやストレージスナップショットがVSSを使用している時間を避け、監視を有効にした変更時間帯で実施します。設定前には独立バックアップが成功していることを確認し、現在の空き容量、シャドウコピー一覧、VSS Writer状態、イベントログを取得します。クラスター共有では、古い単体サーバー向け画面手順を流用せず、クラスターとストレージ製品のサポート手順に従います。
diff areaの配置と上限を変更量から決める
diff areaはSystem Providerが差分を保存する領域で、同じローカルボリュームまたは別のローカルNTFSボリュームへ配置できます。同じボリュームは構成が簡単ですが、空き容量とI/Oを元データと競合させ、ボリューム障害時に両方を失います。別ボリュームは競合を分離できますが、そのボリュームが失われれば関連する復旧ポイントへ影響します。別ドライブに置いたことをオフサイトバックアップと誤解しないでください。
最大サイズを一律10%などの固定値で決めず、実測した変更ブロック量、作成頻度、保持期間、ピーク更新、将来増加、バックアップI/Oを使って見積もります。容量が尽きるとMicrosoftの仕様では古いシャドウコピーから削除されるため、必要な保持期間を満たす余裕と警告しきい値を設けます。一方で無制限を安易に選ぶと本番データの空き領域を圧迫する恐れがあります。検証期間の実消費を測り、通常時と月末処理などピーク時の両方で調整します。

業務の変更頻度に合わせてスケジュールを設計する
シャドウコピーは作成した時点しか復旧できません。1日2回なら、その間に作成・削除されたファイルが一度もスナップショットへ入らない可能性があります。重要共有の更新頻度、利用時間、許容損失、diff area消費量を基に作成間隔を決めます。バックアップ、ウイルススキャン、重複除去、月次バッチ、ストレージ保守と重なるとI/OやVSS Writerの競合が起き得るため、全サーバーを同時刻に集中させません。
作成回数を増やせば必ず安全になるわけではありません。短い間隔は復旧点を増やしますが、差分領域と管理負荷を増やし、保持日数が短くなることがあります。部門ごとではなくボリューム単位で適用される点を踏まえ、高頻度共有と低頻度共有を分けます。スケジュールにはタイムゾーン、夏時間の有無、休日、サーバー再起動、タスク失敗時の通知を含め、時刻だけでなく「前回成功から何時間経過したら異常か」を監視条件にします。
初回作成後にサーバー側とクライアント側を確認する

有効化後は、管理者コマンドプロンプトでvssadmin list shadows /for=D:のように対象ボリュームを指定し、想定した作成時刻のシャドウコピーが存在することを確認します。D:は実際のデータボリュームへ置き換えます。vssadmin list writersでは登録されたWriterと状態を確認し、失敗や再試行エラーがあれば、むやみにサービスやサーバーを再起動する前に該当時刻のApplication・Systemイベントログと利用中のバックアップ製品を調べます。
次に検証用共有へ無害なテストファイルを置き、内容を変更した前後でシャドウコピーを作成します。WindowsクライアントからUNCパスで接続し、ファイルまたは親フォルダーのプロパティにPrevious Versionsが表示され、各時点を「開く」操作で読み取れることを確認します。サーバー上にVSSスナップショットがあるだけで完了とせず、実際のSMB経路、一般利用者の権限、DFS名前空間を使う場合はその経路でも確認します。
上書きされたファイルはまず別名でコピーして比較する

既存ファイルを以前の内容へ戻す場合、クライアントで対象ファイルを右クリックし、プロパティのPrevious Versionsから必要な日時を選びます。最初から「復元」を押さず、「開く」で内容を確認し、別の復旧用フォルダーへコピーします。現在版と旧版のファイルサイズ、更新日時、内容、マクロ、署名、アプリケーションでの読み込みを比較し、データ所有者の承認後に現在版を退避して置き換えます。
同名上書きは現在版を失うため、復旧前のファイルを日付付きで保持し、元へ戻せるようにします。Office文書など複数人が開いているファイルは利用を一時停止し、SMBの開いているファイルやアプリのロックを確認します。コピー先でNTFSアクセス許可、所有者、監査、暗号化、代替データストリームなどが意図どおりかも検証します。VSSが過去の内容を示しても、業務アプリのデータベースファイルを単体で上書きする復旧は製品非対応になり得るため行いません。
削除されたファイルは親フォルダーの過去版から戻す

削除済みのファイル自体は右クリックできないため、元のファイルが入っていた親フォルダーを右クリックし、Previous Versionsから削除前の時点を選びます。「開く」で過去のフォルダーを参照し、必要なファイルまたはサブフォルダーだけを別の復旧先へコピーします。大量削除でも、まず代表ファイルとディレクトリ構造を確認し、復旧対象一覧を所有部門と合意してから本来の場所へ戻します。
フォルダー全体の「復元」は、削除後に追加・更新された正常データまで過去へ戻す恐れがあります。特に共有ルート、プロジェクト全体、ホームフォルダーでは、影響範囲を表示名だけで判断しません。現在のフォルダー一覧と過去版の差分を取得し、復旧順、重複名、アクセス許可、アプリ参照、同期ツールの再削除を確認します。ランサムウェアや大量改ざんが疑われる場合は、先に端末と資格情報を封じ込め、原因が残ったまま復元しないでください。

容量変更や削除コマンドは破壊的変更として扱う
Microsoftのvssadmin resize shadowstorage資料には、記憶域関連付けのサイズ変更によってシャドウコピーが消える可能性があるという警告があります。容量不足が見えても、コマンドを即時実行せず、独立バックアップ、現在のシャドウコピー日時、必要な復旧点、対象の/for、配置先の/on、新しい/maxsizeを二者確認します。拡張でも配置変更でも、保守時間帯と復旧不能リスクを変更承認へ明記します。
vssadmin delete shadows /allやDiskShadowの削除・revertは、通常の容量調整手順に含めません。古い一世代だけを削除する必要がある場合も、自動削除の原因、バックアップ成功、残る最古・最新の復旧点を確認し、承認後に対象を限定します。コマンド例をWebから貼り付けず、現在のOSでvssadmin /?とMicrosoftの構文を確認します。削除後は元に戻せないため、実行者と確認者を分け、出力とイベントログを保存します。

監視は作成成功・保持期間・復元成功の三つを見る
日次監視では、最後の成功時刻、シャドウコピー数、最古と最新の時刻、diff area使用量、元ボリュームと記憶域ボリュームの空き、スケジュールタスク結果、VSSイベント、Writer状態を収集します。個数だけでは不十分で、古いコピーが容量不足で消え続けていないか、必要な保持日数が維持できているかを確認します。MicrosoftのVSSエラーはApplicationログ、ドライバーなど低レベルの問題はSystemログへ記録されるため、同じ時刻帯を相関させます。
月次または重要変更後に、一般利用者のSMB経路からテストファイルを別の場所へコピーし、内容とアクセス許可を検証します。さらに独立バックアップからも同じデータを隔離先へ復元し、シャドウコピーがない障害シナリオを試します。VSS Writerの一時エラーを見て無差別にサービスを再起動すると業務アプリを止める恐れがあるため、Writer名、状態、エラーコード、ホストするサービス、バックアップ製品のサポート情報を特定してから対処します。

変更・廃止時も復旧可能期間を守る

共有移行、ボリューム拡張、ドライブ文字変更、ファイルサーバー更改、ストレージ交換の前には、既存シャドウコピーが新環境へそのまま移るとは考えません。必要な過去データを正式なバックアップへ退避し、新サーバーでスケジュール、diff area、監視、利用者向け復元手順を再構築します。旧サーバーを廃止する日と、旧シャドウコピーに依存する復旧受付期限を明示し、保持義務を満たすまで独立バックアップを残します。
シャドウコピーを無効化する場合も、利用者とヘルプデスクへ代替復旧手段を案内し、最後の復元テストとバックアップ確認後に変更します。VSSサービスそのものを無効化するとWindows Server Backupなど依存製品へ悪影響が出るため、機能廃止とサービス停止を混同しません。設計書には対象ボリューム、記憶域関連付け、最大サイズ、スケジュール、保持実績、監視、責任者、復元承認、バックアップ先、ロールバックを残します。

確認チェックリスト
- 共有のUNCパス、実パス、対象ボリューム、ファイルシステム、変更量を確認する
- diff areaの配置先と上限を実測変更量・RPO・保持期間から設計する
- バックアップや高負荷処理と重ならない作成スケジュールを設定する
- vssadmin list shadowsとlist writers、イベントログ、空き容量を確認する
- 上書き・削除復旧は過去版を別の場所へコピーし、内容と権限を比較する
- resize・delete・無効化の前に独立バックアップ、承認、対象、戻し方を確認する
Windows Serverの共有フォルダー用シャドウコピーは、日常的な誤削除や上書きを短時間で戻すのに有効です。対象は共有単位ではなくボリューム単位で、保持できる期間はdiff areaの容量とデータ変更量に左右されます。設定後はvssadminとイベントログだけでなく、一般利用者のSMB経路からPrevious Versionsを開き、別の場所へコピーして実際に読めるかを検証します。復元ボタンによる一括上書き、無計画な記憶域resize、shadow削除を避け、独立したバックアップ、削除耐性、定期的な復元テストと組み合わせることで、安全な近距離復旧として運用できます。

コメント