はじめに
Windows Server Backup(以下、WSB)機能はWindows Server 2008から搭載されており、Windows Server 2003以前のNT Backupから発展したMicrosoft社の製品技術です。
Windows Serverライセンスの範囲内で追加費用無く利用できるため、全国に展開したWindows Server約150台のシステムバックアップとして利用してきました。
WSBを利用する方法は次のとおりですが、Powershellでの利用にあたり、今回色々障害に至った(苦労させられた)ので、備忘録も兼ねて本投稿に至った次第です。
WSBの利用方法
- GUI(wbadmin.msc)
- WBADMINコマンド(wbadmin.exe)
- Powershell(WindowsServerBackupモジュール)
WindowsServerBackupモジュール
WindowsServerBackupモジュールを確認するためのコマンドレットは以下のとおりです。
Get-Command -Module WindowsServerBackup
基本的な使い方
PowershellでWSBの使い方は、GUI操作手順の一つずつのように次のとおりですが、対象オブジェクトを作りポリシーに追加していくのでステップ数は多くなります。
バックアップ
- WBポリシーを作成(New-WBPolicy)
- バックアップ先オブジェクトを作成(New-WBBackupTarget)
- バックアップ先オブジェクトをWBポリシーに追加(Add-WBBackupTarget)
- バックアップ対象オブジェクトを作成(Get-WBVolume)
- バックアップ対象オブジェクトをWBポリシーに追加(Add-WBVolume)
- バックアップ実行(Start-WBBackup)
- 実行結果確認(Get-WBJob -Previous 1)
リストア
- バックアップ元オブジェクトを作成(New-WBBackupTarget)
- バックアップ元からバックアップセットを見つける(Get-WBBackupSet)
- リストア実行(Start-WBxxxxxRecovery)注1
- 実行結果確認(Get-WBJob -Previous 1)
(注) xxxx: File / Volume / HyperV / SystemState
実行結果(WSBジョブ履歴)の確認
直前のWSBジョブ履歴(Get-WBJob -Previous 1)の開始日時を退避しておき、実行したWSBジョブ完了後、実行結果の確認のために使用します。
WSBジョブ履歴(実行結果)の確認すべき項目は次のとおりです。他のサイトではHRESULTだけの確認を説明されてますが、経験的にそれだけでは不十分でしたので、念には念を入れます。
- StartTime(直前のジョブ以降である事)
- JobType(Backup | ApplicationRecovery | VolumeRecovery | FileRecovery のいずれかである事)
- JobState(Completedである事)
- HRESULT(0である事)
ジョブ履歴の開始日時は「yyyy/mm/dd h:mm」形式の文字列であり。日付時刻型ではありません。
また、日付はゼロ補完されますが、時刻(秒は無し)はゼロ補完されないため、「2020/03/15 9:00」のように日付と時刻の間は空白が1個となります。もし、直前のWSBジョブ履歴が同日午前9時であり、午後2時に実行したバックアップの結果は「2020/03/15 14:00」となるので、単純に大小比較すると後の方が小さい(=古い)ことになります。よって、[日付時刻]型への変換が必要です。**
更に、バックアップ等のコマンドレットが終了しても直ぐにWSBジョブ履歴が作られないので、10秒位してから結果を取るようにした方が良いです。
経験的に、WSBの実行主体であるWBENGINE.exeが実行途中で異常終了した場合等、WSBジョブ履歴が記録されないこともあるので、必ず開始日付時刻等の確認が必要です。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。