Windows Server バックアップの世代管理について

Last Update: feedback 共有

本記事は、マイクロソフト社員によって公開されております。

こんにちは、Windows サポートチームの三浦です。
本日は Windows Server バックアップの世代管理について紹介させていただきます。

概要

Windows Server バックアップでは、バックアップの世代管理が自動的に行われる仕組みとなっており、最大 512 世代のバックアップが保持されます。
ただし、世代管理が行われるのはバックアップの保存先をローカル ディスクに指定した場合のみであり、バックアップの保存先を共有フォルダーに指定した場合はバックアップの世代管理は行われません。(最新のバックアップのみが保持されます。)

また、保持しているバックアップ世代は、wbadmin get versions コマンドで確認が可能です。

C:\Users\administrator.CONTOSO>wbadmin get versions
wbadmin 1.0 - バックアップ コマンドライン ツール
(C) Copyright Microsoft Corporation. All rights reserved.

バックアップ時間: 2023/03/01 18:13
バックアップ対象: 固定ディスク ラベル付き E:
バージョン識別子: 03/01/2023-18:13
回復可能: ボリューム, ファイル, アプリケーション, ベア メタル回復, システム状態
スナップショット ID: {b62017f9-d102-43b2-8637-9dd8cb326ec3}

バックアップ時間: 2023/03/05 18:32
バックアップ対象: 固定ディスク ラベル付き E:
バージョン識別子: 03/05/2023-09:32
回復可能: ボリューム, ファイル, アプリケーション, ベア メタル回復, システム状態
スナップショット ID: {44f402ab-2216-4902-9fbb-b9510a1cdedc}

なお、バックアップの処理概要は下記となり、最新のバックアップ データはバックアップ保存先に作成される仮想ディスク内に保持されます。
また、下記の 5 で、バックアップの保存先ボリュームのシャドウ コピーを作成して保持することで世代管理を実現しており、過去世代のバックアップから復元を行う際には、このシャドウ コピーから過去のバックアップ データを取り出し、復元を行います。

  バックアップの処理概要

  1. バックアップ対象ボリュームのシャドウ コピーを作成します。
  2. バックアップの保存先に仮想ディスク (vhdx ファイル) を作成しマウントします。(既存のバックアップが存在する場合は既存の仮想ディスクをマウントします。)
  3. 作成したシャドウ コピーをもとに、マウントした仮想ディスクへバックアップ データを転送します。
  4. 仮想ディスクをアンマウントします。
  5. バックアップの保存先ボリュームのシャドウ コピーを作成します。

上記の通り、実データとして保持しているバックアップ データは最新世代のデータのみであるため、少ない使用量で複数世代のバックアップを保持することが可能となっております。

※ 仕組み上、過去世代のバックアップから復元を行うには、バックアップ保存先ボリュームのシャドウ コピーが必要となりますので、シャドウ コピーを削除すると対応する世代のバックアップを使用した復元を行うことができなくなりますのでご注意ください。

世代管理に関する設定について

バックアップの世代管理は既定で有効となっており、世代管理を無効化する設定や保持する世代数を指定する設定は、恐れ入りますが提供されておりません。

そのため、バックアップの世代管理が不要な場合は、別途 wbadmin delete backup コマンドを利用し、定期的に古いバックアップ世代を削除いただくなどの対処をご検討いただけますと幸いです。
例えば、最新のバックアップのみを残し、過去世代のバックアップをすべて削除する場合は、下記のコマンドを実行します。

1
wbadmin delete backup -keepVersions:1 -quiet

※ -keepVersions で保持するバックアップ世代を指定可能です。例えば、最新のバックアップを含めて 5 世代のバックアップを残したい場合は、-keepVersions:5 をご指定ください。
※ 上記コマンドを実行することで、-keepVersions で指定したバックアップ世代を除いた不要な世代データ (シャドウコピー) とそのカタログ情報が削除されます。
※ -keepVersions:0 を指定した場合、最新のバックアップ データ (実データが格納されている vhdx) も削除されますのでご注意ください。

上記コマンドをタスク スケジューラなどで定期実行することで、疑似的に世代管理を無効化したり、保持したい世代数を制御することが可能です。

// 毎日 1:00 に削除コマンドを自動実行するタスクの作成例

1
schtasks /create /tn \DeleteBackup /sc DAILY /st 01:00 /NP /tr "wbadmin delete backup "-keepVersions:1" "-quiet"" /ru system


いかがでしたでしょうか。本投稿が少しでも皆様のお役に立てば幸いです。 本情報の内容(添付文書、リンク先などを含む)は、作成日時でのものであり、予告なく変更される場合があります。