こんにちは。Windows プラットフォーム サポートの野村です。
今回は Windows Server バックアップにおける容量と世代管理についてご紹介します。
Windows Server バックアップは OS 標準で搭載されている機能です。
GUI とコマンド (Wbadmin.exe) によるバックアップ・リストアができます。
バックアップ データの保存形式として仮想ディスク (VHD または VHDX 形式) を使用し、VSS (ボリューム シャドウ コピー サービス) の機能を用いて複数世代のバックアップを保持できます。
バックアップ データの格納先として、[バックアップ専用のハードディスクにバックアップする]、[ボリュームにバックアップする] と [共有ネットワーク フォルダーにバックアップする] を指定できますが、格納先の種類により保持可能なバックアップの世代数が異なります。
バックアップ格納先での容量の圧迫を避けるために、バックアップの容量・世代数を制限したいとのお問い合わせをいただくことがあります。
本ブログでは、この世代数の管理の違いについてご案内いたします。
=============================
保持可能なバックアップの世代数について
=============================
それぞれのバックアップ格納先における世代管理について纏めると、以下の表のようになります。
バックアップ格納先 | 世代 | 世代数の変更 | バックアップ格納先の容量が圧迫した場合の動作 |
[バックアップ専用のハードディスクにバックアップする] | 最大 512 世代保存 |
変更不可 |
シャドウ コピーを保存する容量が足りないと最も古い世代から自動的に削除 (※) |
[ボリュームにバックアップする] | 最大 512 世代保存 |
変更不可 |
シャドウ コピーを保存する容量が足りないと最も古い世代から自動的に削除 (※) |
[共有ネットワーク フォルダーにバックアップする] | 最新 1 世代のみ保存 |
変更不可 |
バックアップに失敗 |
※ 世代数が 512 に達した場合も、同様に最も古い世代のシャドウ コピーから自動的に削除します。
==============================
バックアップ データの容量を制限したい場合
==============================
ディスクをバックアップ専用として使用できず [ボリュームにバックアップする] を指定している環境において、他のデータ領域の圧迫を避けるために、バックアップ格納先として使用される領域・世代数を制限したいとのご要望をいただくことがあります。
明示的に指定して容量や世代数を制限 (ex. ○○GB まで / ××世代まで) することはできませんが、バックアップ領域に保存されるシャドウ コピーの容量は制限することができます。詳細は以下でご説明いたします。
Windows Server バックアップでは、バックアップの実データを Windows Server 2008 R2 以前の OS では VHD 形式、Windows Server 2012 以降の OS では VHDX 形式でバックアップ格納先に保存し、そこに保存してある前回のバックアップ データに対しての更新分はシャドウ コピーとして保持することで世代管理を行っています。
さらに、バックアップのリストのカタログ情報などをメタデータとして xml ファイルに保管しています。
具体的には、以下のイメージのように、WindowsImageBackup フォルダ配下に実際にファイルとして保存されているデータは最新の世代のもののみとなり、過去のデータはシャドウ コピーとして、システムで保護された System Volume Information に保存されています。
// バックアップ先ボリュームの保存イメージ
<バックアップ先ボューム>:\
|─ WindowsImageBackup <== 最新状態のバックアップ データとメタ データが保存
|─ System Volume Information <== シャドウ コピー (*)
バックアップで使用されるディスク容量としては、以下の合計値となります。
実データの仮想ディスク (VHD または VHDX) の容量 + シャドウ コピーの容量 + メタデータの xml ファイルの容量
バックアップ格納先の容量について制限可能なのは、上記のシャドウ コピーで利用される記憶域 (*) です。
ここの領域を制限することで、保持されるバックアップの世代数を減らすことができます。
————————————————————————————–
シャドウ コピー記憶域の容量制限変更手順について
————————————————————————————–
記憶域ボリュームの制限設定を変更するには以下の手順を実行します。
例として D:\ の設定変更手順を記載いたします。
1. [スタート] – [管理ツール] – [サーバー マネージャー] をクリックします。
2. “記憶域” - “ディスクの管理” と展開し、“ディスクの管理“の右クリック メニュー の“すべてのタスク“からシャドウ コピーの構成を起動します。
3. ボリューム D: を選択した状態で [設定] をクリックします。
4. 最大サイズ、制限値を設定します。
また、バックアップ データの容量の管理については、バックアップ データを削除することも考えられます。
しかしながら、バックアップ格納先にバックアップ専用ハードディスクまたはボリュームを指定した場合、Windows Server バックアップから任意のバックアップを削除できません。
この場合、diskshadow ユーティリティーと呼ばれるシャドウ コピーの管理ユーティリティーからは以下の手順で削除できます。
——————————————————————————–
任意の世代のシャドウコピーの削除手順について
———————————————————————————
1. 管理者権限にてコマンド プロンプトを起動します。
2. diskshadow と入力し diskshadow ユーティリティを起動します。
3. delete shadows SET <セット ID> や delete shadows ID <シャドウ ID> コマンドを利用します。
<セット ID> や <シャドウ ID> に指定する値は list shadows all コマンドにて確認できます。
なお、削除対象のシャドウ コピーが一番古いものではない場合には、表示上のシャドウ コピーの削除のみが行われ System Volume Information 配下のファイルは削除が行われないため、使用領域は削減されません。
Diskshadow コマンドでは、全てのシャドウコピーを削除、一番古いシャドウ コピーを削除といった操作を行うこともできます。
詳細な手順は、以下のブログに記載させていただいています。
しかしながら、この方法では Windows Server バックアップにて作成されるバックアップのカタログからは削除されないため、“回復” を実行した際に、すでに存在しないシャドウ コピーのバックアップも選択可能となってしまいます。
この場合、リストアはできません。バックアップのシャドウ コピーが保存場所に見つからないためです。
次回のバックアップ取得時にバックアップの履歴は更新されます。運用時は十分ご注意ください。
// 参考情報
- vssadmin コマンドでシャドウ コピーが削除できない場合の対処方法について
http://blogs.technet.com/b/askcorejp/archive/2013/11/29/vssadmin.aspx
========
補足
========
運用時にバックアップ格納先の容量が不足してバックアップに失敗することがありますが、それ以外の要因でも失敗することがあります。
この原因が既知の不具合である場合、Windows Server バックアップに関連するモジュール (wbengine.exe、volsnap.sys および vssvc.exe) の修正プログラムを適用することで回避できる可能性があります。
以下にこれらの最新版 (2016 年 5 月 24 日時点) をご案内いたしますので、未適用の場合は予防保守の観点で適用をご検討ください。
– Windows Server 2008 R2
// wbengine.exe
“0x80073B92″ error when you perform a Bare Metal Recovery on a Windows 7 or Windows Server 2008 R2-based UEFI computer
https://support.microsoft.com/en-us/kb/3001264
https://support.microsoft.com/ja-jp/kb/3001264 (機械翻訳)
// volsnap.sys
“0x0000007E” Stop error after you perform a VSS backup job in Windows 7 or Windows Server 2008 R2
https://support.microsoft.com/en-us/kb/3026771
https://support.microsoft.com/ja-jp/kb/3026771 (機械翻訳)
// vssvc.exe
Backup task fails with a time-out error in Windows
https://support.microsoft.com/en-us/kb/2996928
https://support.microsoft.com/ja-jp/kb/2996928 (機械翻訳)
– Windows Server 2012
// wbengine.exe
Wbengine.exe crashes when you run a backup on a GPT formatted drive in Windows Server 2012
https://support.microsoft.com/en-us/kb/3146600
https://support.microsoft.com/ja-jp/kb/3146600 (機械翻訳)
// volsnap.sys
Chkdsk report errors when a snapshot creation is running in Windows
http://support.microsoft.com/en-us/kb/2974325
https://support.microsoft.com/ja-jp/kb/2974325 (機械翻訳)
// vssvc.exe
“VSS_E_PROVIDER_VETO” error occurs when VSS restore fails in Windows Server 2012
https://support.microsoft.com/en-us/kb/3137726
https://support.microsoft.com/ja-jp/kb/3137726 (機械翻訳)
- Windows Server 2012 R2
// wbengine.exe
Windows Server backup fails despite sufficient free space on target volume in Windows Server 2012 R2
https://support.microsoft.com/en-us/kb/3140786
https://support.microsoft.com/ja-jp/kb/3140786 (機械翻訳)
// volsnap.sys
MinDiffAreaFileSize registry value limit is increased from 3 GB to 50 GB in Windows 8.1 or Windows Server 2012 R2
https://support.microsoft.com/en-us/kb/3145384
https://support.microsoft.com/ja-jp/kb/3145384 (機械翻訳)
// vssvc.exe
VSS restore fails when you use ResyncLuns VSS API in Windows Server 2012 R2-based failover cluster
https://support.microsoft.com/en-us/kb/3137728
https://support.microsoft.com/ja-jp/kb/3137728 (機械翻訳)
以上の通り、Windows Server バックアップにおける容量と世代管理についてお伝えいたします。
本ブログが皆様のお役に立てましたら、幸いです。
<参考情報>
- Windows Server バックアップ
http://technet.microsoft.com/ja-jp/library/cc754572(WS.10).aspx
- Windows 2008 R2 のバックアップと回復の概要
https://technet.microsoft.com/ja-jp/library/dd979562(v=ws.10).aspx
- サーバーをバックアップする
http://technet.microsoft.com/ja-jp/library/cc753528.aspx
– Backup Version and Space Management in Windows Server Backup