Windows Server の標準機能である Windows Server Backup のコマンドラインインターフェースである wbadmin でフルバックアップをスケジュールすることができます。
面白いことに、wbadmin.exe は Client OS に入っており、こいつを使うと Clinet OS でもフルバックアップをスケジュールすることが出ます。
wbadmin は多機能なので、フルバックアップにフォーカスして使い方を解説します。
スケジュールされたバックアップを設定するには enable backup、解除するには disable backup オプションを使用します。
Server OS | Client OS | 備考 | |
バックアップスケジュール登録 | ○ | ○ | wbadmin enable backup -schedule オプションでバックアップ開始時刻を指定する |
バックアップスケジュール解除 | ○ | ○ | wbadmin disable backup |
Windows Serve Backup のバックアップ先には、ローカル専用ディスク、ローカルボリューム、SMB 共有を指定することができます。
このうち、ローカル専用ディスクは Server 専用で、Client OS では使用できません。
専用ディスクをバックアップ先に指定する場合は、wbadmin get disks で得られる ディスク ID を指定します。この ディスク ID は、GUID なので、Get-Disk で得られる GUID と同じ値になります。
専用ディスクは Server OS 専用ですが、ローカルボリュームは Clinet OS でも使うことが可能です。(Windows Server Backup GUI では指定できない)
SMB 共有もバックアップ先に指定することができますが、1世代のみのバックアップになります。
Server OS | Client OS | 備考 | |
ローカル専用ディスク | ○ | × | GUID 指定 |
ローカルボリューム | ○ (GUI指定不可) |
○ | |
SMB 共有 | ○ | ○ | 1世代のみ |
バックアップボリュームは、ドライブレターを指定します。
ドライブレターを持たないボリュームも、Get-Disk の Path を指定すればバックアップ対象にできますが、別のオプションで補えるので、あまり使用しません。
Server OS | Client OS | 備考 | |
バックアップボリューム | ○ | ○ | C:,D: みたいな感じで |
Server OS の場合は、VM 単位リストアをサポートする VM もバックアップがサポートされています。
Server OS | Client OS | 備考 | |
VM バックアップ | ○ | × | Server 専用 |
SMB 共有をバックアップ先にする場合は、共有をアクセスするアカウント指定が必要です。
このアカウントは Backup Operators メンバーになっている必要があります(Administrators のメンバーでも可)
共有の ACL は、バックアップの性格上フルアクセスが望ましいのですが、RW でも大丈夫の様です。
Server OS | Client OS | 備考 | |
SMB 共有をアクセスするアカウント | ○ | ○ | -user |
パスワード | ○ | ○ | -password |
Server OS | Client OS | 備考 | |
システム状態 | ○ | × | -systemState |
すべての重要なボリューム | ○ | ○ | -allCritical |
VSSを使用して完全バックアップ | ○ | ○ | -vssFull |
サイレントオプション | ○ | ○ | -quiet |
バックアップ除外 | ○ | ○ | -exclude |
【注意】
-allCritical を指定した場合、C: は全てバックアップされるので、-exclude で
C: にあるフォルダーをバックアップ除外指定しても除外になりません。
2台でクロスバックアップをする場合、バックアップ先の共有を C:
以外に作成しないとバックアップ除外が出来ないのでバックアップサイズがどんどん大きくなり、やがてはディスクパンクします。
クロスバックアップをする場合は、C: 以外のボリュームを作成し、そこにバックアップ先共有を作成する必要があります。
C: D: と VM01 VM02 を 1:00 に専用ディスクへバックアップする場合
wbadmin enable backup -addtarget:{ee74c3ee-a34c-4d56-9aa4-f2d84aa29bdf} -include:C:,D: -hyperv:VM01,VM02 -allCritical -systemState -vssFull -schedule:01:00 -quiet
C: D: を 1:00 に E: へバックアップする場合は以下のようにします
wbadmin enable backup -addtarget:E: -include:C:,D: -allCritical -systemState -vssFull -schedule:01:00 -quiet
Client OS で外付け USB HDD(D:) に C: の単発バックアップをする場合は以下のようにします
wbadmin START BACKUP -include:C: -allCritical -vssFull -quiet -backupTarget:d:
C: D: を 1:00 に \\172.16.0.50\Backup へバックアップする場合は以下のようにします(アカウント:contoso\hogehoge)
wbadmin enable backup -addtarget:\\172.16.0.50\Backup -include:C:,D: -allCritical -systemState -vssFull -schedule:01:00 -user:contoso\hogehoge -password:P@ssW0rd -quiet
バックアップスケジュールの確認と解除は以下のようにします。
バックアップ設定確認
wbadmin enable backup
バックアップ解除
wbadmin disable backup
バックアップ対象 VM がたくさんあるとか、SMB 共有にバックアップする際のアカウントを Backup Operators
にするとか忘れがちなので、パラメーター生成の .ps1 書きました。
(もっとライトに書くつもりだったのですが、チェックとか入れていたらこんなにも肥大化してしまい...)
使い方
SetWbadminFullBackup.ps1 [バックアップ先] [バックアップ開始時刻]
バックアップ先は、ドライブレター、UNC、ディスク番号(Get-Disk の Number)が指定できます。
バックアップ時刻に 99:99 を指定すると、バックアップ解除になります。
Winbdows Server 2012 / Windows 8 以降対応なので、Client OS でもフルバックアップスケジュールを簡単に設定できます。
スクリプトをダウンロードする場合は、以下コマンドでダウンロードしてください
C:\Users\ユーザー名 にダウンロードされます。
# スクリプトダウンロード
Invoke-WebRequest
https://raw.githubusercontent.com/MuraAtVwnet/SetFullBackup/master/SetWbadminFullBackup.ps1 -OutFile
~/SetWbadminFullBackup.ps1
# ダウンロードしたフォルダを開く
ii $env:USERPROFILE
GitHub でリポジトリ公開していますので、必要に応じで Clone してください
https://github.com/MuraAtVwnet/SetFullBackup
git@github.com:MuraAtVwnet/SetFullBackup.git
ネットワークバックアップからベアメタル回復(フルリストア)する
http://www.vwnet.jp/Windows/WS12R2/2016042101/FullRestorFromSMBShare.htm
Copyright © MURA All rights reserved.