【Windows Server上級 第8回】バックアップと災害復旧。Windows Server BackupとVSSの深層

「バックアップは取っています」その言葉、本当に信用できますか?

こんにちは!「LINUX工房」管理人の「リナックス先生」です。
前回は、S2DによるSoftware Defined Storageの構築を学びました。
ストレージを冗長化したからといって、データが消えないわけではありません。
ランサムウェア、オペレーションミス、そして大規模災害。データ喪失のリスクは常にそこにあります。

Linuxエンジニアの皆さん、バックアップはどうしていますか?
「毎日 rsync でコピーしてるから大丈夫」?
では質問です。「そのバックアップから、データベースのトランザクション整合性を保ったまま復旧できますか?」

コウ君

先生、痛いところを突きますね……。
ファイルサーバーはただコピーすればいいですけど、動いているDBやADをバックアップするのは怖いです。
ロックがかかってエラーになったり、復元したらデータが不整合で起動しなかったり。
だからWindows用の高いバックアップソフト(数十万円!)を買おうとしてるんですけど、上司に「標準機能でなんとかしろ」って言われて詰んでます。

リナックス先生

コウ君、その上司の判断は正しいわ。
Windows Serverには「Windows Server Backup (WSB)」という機能が標準で入っているの。
これがただのコピーツールだと思ったら大間違い。
OSの深部にある「VSS (Volume Shadow Copy Service)」と連携して、稼働中のDBだろうがシステム領域だろうが、完全な「静止点」を作ってバックアップできるのよ。
今回もウィンドウズ先生に、その仕組みを解説してもらいましょう!

ウィンドウズ先生

はい、ウィンドウズ先生です。
「バックアップソフトにお金をかける時代」は終わりました。
Microsoft自身が提供するWSBは、ExchangeやSQL Server、Hyper-V、そしてActive Directoryといったマイクロソフト製品のバックアップにおいて、最も信頼性が高いツールの一つです。
特にADの復旧には「USNロールバック」という独自の概念があり、単にファイルを戻すだけではドメイン全体が崩壊します。
今回は、プロでも冷や汗をかく「AD復旧」の手順も含めて、徹底的に解説します。

本記事では、Windows Server Backupの導入、VSSのアーキテクチャ、ベアメタル回復(BMR)による全復旧、そしてActive Directoryの「権限のある復元」まで、現場で本当に役立つバックアップ技術を網羅します。

🟥 Windows Server【上級】講座(全12回)カリキュラム

現在地:【第8回】バックアップと災害復旧。Windows Server BackupとVSSの深層

※入門編(全8回)の復習はこちら:Windows Server入門講座 アーカイブ


第1章:Windows Server Backup (WSB) の実力と制限

WSBは、Windows Serverに標準搭載されているバックアップ機能です。
昔の「NTBackup」とは別物の、ブロックレベルのバックアップツールです。

WSBでできること

  • VSS連携: 稼働中のアプリ(SQL Server, Exchange, AD)を停止せずに整合性のあるバックアップを取得可能。
  • 増分バックアップ: 初回はフル、2回目以降は変更ブロックのみを取得(高速)。
  • ベアメタル回復 (BMR): OSが起動しない状態から、ハードウェアごと復元可能。
  • 仮想マシンバックアップ: Hyper-V上のVMを個別にバックアップ可能。

WSBの制限事項(ここ重要)

  • テープ装置非対応: LTOなどのテープドライブには直接書き込めません(ディスクtoディスクが基本)。
  • 最大容量: 以前は2TB制限がありましたが、VHDX形式の採用により現在は実質無制限(64TBまで)です。
  • 細かいスケジューリング: 標準GUIでは「1日1回」など単純な設定しかできません(タスクスケジューラとPowerShellを使えば回避可能)。

第2章:VSS (Volume Shadow Copy Service) の解剖

Windowsのバックアップを語る上で避けて通れないのが VSS です。
LinuxのLVMスナップショットに似ていますが、アプリケーションとの連携がより密接です。

VSSの3つの登場人物

  1. VSSリクエスタ: バックアップソフト(WSBなど)。「バックアップ取りたい!」と依頼する人。
  2. VSSライター: アプリケーション(SQL Server, ADなど)。「了解、メモリ上のデータをディスクに書き出して静止するわ」と応答する人。
  3. VSSプロバイダ: ストレージシステム(OS標準またはSANストレージ)。「よし、一瞬でスナップショット撮るぞ」と実行する人。

バックアップの流れ

  1. リクエスタがバックアップ開始を通知。
  2. ライターがデータをディスクにフラッシュし、一時的に書き込みを禁止する(静止点)。
  3. プロバイダがスナップショットを作成(数秒)。
  4. ライターが書き込み禁止を解除。
  5. リクエスタがスナップショット領域からデータを吸い出してバックアップ完了。

この仕組みのおかげで、サービスを停止することなく、またファイルのロック競合を起こすことなくバックアップが可能なのです。

💡 プロのトラブルシューティング
バックアップが失敗する原因の9割はVSSです。
コマンドプロンプトで vssadmin list writers を実行し、各ライターの状態が「安定」になっているか確認してください。
「エラー」になっている場合は、該当するサービスを再起動する必要があります。


第3章:実践!WSBによるバックアップ運用

それでは実際にバックアップを設定しましょう。
まずは機能のインストールからです。

1. インストール(PowerShell)

Install-WindowsFeature -Name Windows-Server-Backup

2. バックアップ専用ディスクの用意

バックアップ先には、外付けHDDや別パーティション、またはネットワーク共有フォルダを指定します。
推奨: 物理的に独立した専用ディスク(またはiSCSIターゲット)。

3. スケジュール設定(PowerShell)

GUIでもできますが、PowerShellの方が柔軟です。
以下は「システム状態(AD情報含む)」と「Cドライブ」を、毎日22:00に D: ドライブへバックアップする例です。

$policy = New-WBPolicy
$source = New-WBFileSpec -FileSpec "C:\"
$systemState = New-WBSystemState

# バックアップ対象の追加
Add-WBFileSpec -Policy $policy -FileSpec $source
Add-WBSystemState -Policy $policy

# スケジュール(22:00)
Set-WBSchedule -Policy $policy -Schedule 22:00

# バックアップ先(Dドライブ)
$target = New-WBBackupTarget -VolumePath "D:"
Add-WBBackupTarget -Policy $policy -Target $target

# ベアメタル回復を有効化
$policy.BMR = $true

# スケジュールの登録
Set-WBPolicy -Policy $policy

4. 手動実行(ワンショット)

メンテナンス前などに手動で取得する場合。

Start-WBBackup -Policy $policy

第4章:Active Directoryの復旧。「権限」とは何か?

ADの復旧は、単なるファイル復元とは次元が違います。
ADは複数のドメインコントローラー(DC)で常に複製し合っています。
もし、あるDCを「3日前のバックアップ」から普通に復元したらどうなるでしょうか?

USNロールバックの恐怖

復元されたDCは「自分のデータが最新だ」と勘違いし、他のDCと矛盾を起こします。
これを防ぐために、ADの復元には2つのモードがあります。

1. 権限のない復元 (Non-Authoritative Restore)

「私は古いデータを持っています。他の正常なDCから最新データを複製させてください」という復元方法。
通常はこちらを使います。
DCがハードウェア故障して交換した場合などが該当します。

2. 権限のある復元 (Authoritative Restore)

「私が正しい! 他のDCは私のデータで上書きしなさい!」という復元方法。
管理者が間違って全社員のOUを削除してしまい、それを全DCに複製してしまった場合などに使います。
バックアップ時点の状態に時間を巻き戻し、それを「最新」として強制的に他のDCへ伝播させます。

「権限のある復元」の手順

これはGUIではできません。黒い画面での作業になります。

  1. サーバーを「ディレクトリサービス復元モード (DSRM)」で再起動します(起動時にF8キー、または msconfig で設定)。
  2. WSBを使って「システム状態」を復元します(この時点ではまだ再起動しない!)。
  3. コマンドプロンプトで ntdsutil を起動します。
  4. 以下のコマンドで、特定のオブジェクト(間違って消したOUなど)のバージョン番号を強制的に上げます。
activate instance ntds
authoritative restore
restore subtree "OU=Sales,DC=corp,DC=example,DC=com"

これにより、復元されたデータのバージョン番号(USN)が+100,000され、「最新データ」として他のDCに認識されるようになります。
その後、通常モードで再起動すれば完了です。

💡 プロの注意点:Tombstone Lifetime
ADのバックアップ有効期限(Tombstone Lifetime)はデフォルトで180日(または60日)です。
これより古いバックアップからは復元できません。
「1年前のバックアップがあるから安心」ではないのです。


第5章:最後の切り札、ベアメタル回復 (BMR)

OSが起動しない、またはサーバー筐体ごと交換になった場合の手順です。
Linuxで言えば、Rescueモードで起動してイメージを書き戻す作業に相当します。

必要なもの

  • Windows Server インストールメディア(DVDまたはUSB)
  • バックアップデータが入った外付けHDD(またはネットワーク共有)

手順

  1. インストールメディアでサーバーをブートします。
  2. 「今すぐインストール」画面の左下にある「コンピューターを修復する」をクリック。
  3. 「トラブルシューティング」→「イメージでシステムを回復」を選択。
  4. バックアップディスクが認識されれば、最新のバックアップが表示されます。
  5. 復元先ディスクを選択して実行。

これで、OSの設定、アプリ、データ、すべてが「あの日の状態」に完全に蘇ります。
異機種への復元(ハードウェアが変わった場合)も、Windowsが起動時にドライバを再検出してくれるため、意外と成功率が高いです。


第6章:クラウド時代のバックアップ (Azure Backup)

テープ装置の管理に疲れたなら、バックアップ先をクラウド(Azure)にするのが現代的です。

Azure Backup (MARSエージェント)

Windows Serverに軽量なエージェント(MARS Agent)をインストールするだけで、ファイルやフォルダ、システム状態をAzureの「Recovery Servicesコンテナ」に直接バックアップできます。
テープ交換の手間もなく、災害対策(DR)として遠隔地にデータを保管できるため、非常にコストパフォーマンスが良いソリューションです。


まとめ:バックアップは「取る」技術ではなく「戻す」技術

お疲れ様でした!
上級編第8回は、Windows Serverのバックアップと復旧について解説しました。

今回の重要ポイント:

  • WSBはVSS連携により、稼働中のシステムを確実に保護する。
  • バックアップ失敗時は vssadmin list writers を確認せよ。
  • ADの復元には「権限なし(通常)」と「権限あり(強制上書き)」がある。
  • ベアメタル回復を使えば、OS再インストールなしで全復旧できる。
ウィンドウズ先生

バックアップは「取ること」が目的ではありません。「戻せること」が目的です。
特にADの「権限のある復元」は、本番でいきなりやると必ず失敗します。
ぜひ検証環境で、わざとOUを消して復旧させる訓練(避難訓練)を行ってください。
その経験が、いつかあなたを救います。

さて、システムを守る準備はできました。
次は、システム同士を連携させる技術、「ID連携(フェデレーション)」です。
社内のADアカウントで、SalesforceやOffice 365、AWSにログインできたら便利だと思いませんか?

次回、第9回は「ID連携の架け橋。AD FS (Federation Services) とSAML/OIDC連携」です。
シングルサインオン(SSO)の仕組み、クレームベース認証、そして証明書を使った多要素認証まで、認証基盤の最先端を解説します。お楽しみに!

▼ バックアップ・復旧訓練を行う ▼

ADの復元を試す
「おすすめVPS」

おすすめVPSを見る

BCP対策のプロへ
「ITエンジニア転職」

転職エージェントを見る

コメント