両OSとも、クライアントPCのバックアップ、および、リストアを行う機能を有し、プロダクトの目玉となる機能の一つです。
しかし、何らかの原因によってバックアップが失敗する場合があります。
原因を知り対処する際、バックアップ ログが非常に重要ですが、読みなれないと何を書いているのか分かりません。(現在も読み切れないパートがあります)
今回は、バックアップ ログを読み解く際に必要なDevice IDとVolume GUIDを調べる方法をメモ。
2014.05.20 Update
Volume GUIDを取得する方法に「Get-Volume」コマンドレットを追加しました。
3行で分かる、この記事の内容!
- ログの解析はパッと見、何を意味しているかがよく分からない
- 英単語とVolume GUIDとDevice IDを把握すると、各行の意味が何となく見えてくる(私的に)
- Device IDは、コンピュータを示す一意のID、Volume GUIDは、各ボリュームを示す一意のID
WSE 2012 R2/WHSのバックアップ ログ格納先
%programdata%\Microsoft\Windows Server\Logs\backup-mmddyy.log※mmddyyは、月日年になります。
バックアップ ログの内容
下記ログはWHS2011のバックアップ開始直後のサンプルです。Device IDはオレンジ色、Volume GUIDは青色です。
Volume GUIDは、文字列の前にラベルがあるので分かりやすいのですが、Device IDはどのデバイスなのか全く分かりません。
[05/02/2014 14:40:59 23c8] Listener TcpEventCallback [05/02/2014 14:40:59 23c8] Listener TcpConditionCallback from 192.168.xxx.xxx [05/02/2014 14:40:59 564] Session: ThreadMain for 000000000024F650 [05/02/2014 14:41:00 564] Session: DoBeginVolumeConfig S-1-5-21-3938966973-1240198891-2380492611-1013 [05/02/2014 14:41:00 564] CommitFile: Transaction recorded [05/02/2014 14:41:00 564] DataFile: Renamed from: F:\ServerFolders\クライアント コンピューター バックアップ\S-1-5-21-3938966973-1240198891-2380492611-1013.VolumeConfig.confignew to: F:\ServerFolders\クライアント コンピューター バックアップ\S-1-5-21-3938966973-1240198891-2380492611-1013.VolumeConfig.configdat [05/02/2014 14:41:01 564] DataFile: Renamed from: F:\ServerFolders\クライアント コンピューター バックアップ\S-1-5-21-3938966973-1240198891-2380492611-1013.Machine.confignew to: F:\ServerFolders\クライアント コンピューター バックアップ\S-1-5-21-3938966973-1240198891-2380492611-1013.Machine.configdat [05/02/2014 14:41:01 564] CommitFile: Resetting commit flag in Commit file: F:\ServerFolders\クライアント コンピューター バックアップ\Commit.dat [05/02/2014 14:41:01 564] StatusPublisher: Machine Changed. SID : S-1-5-21-3938966973-1240198891-2380492611-1013 [05/02/2014 14:41:01 1350] Session: DoGetVolumeConfigs S-1-5-21-3938966973-1240198891-2380492611-1013 [05/02/2014 14:41:01 564] CommitFile: Transaction recorded [05/02/2014 14:41:01 564] DataFile: Renamed from: F:\ServerFolders\クライアント コンピューター バックアップ\S-1-5-21-3938966973-1240198891-2380492611-1013.Machine.confignew to: F:\ServerFolders\クライアント コンピューター バックアップ\S-1-5-21-3938966973-1240198891-2380492611-1013.Machine.configdat [05/02/2014 14:41:01 564] CommitFile: Resetting commit flag in Commit file: F:\ServerFolders\クライアント コンピューター バックアップ\Commit.dat [05/02/2014 14:41:01 564] StatusPublisher: Machine Changed. SID : S-1-5-21-3938966973-1240198891-2380492611-1013 [05/02/2014 14:41:01 1350] Session: DoGetVolumeConfigs S-1-5-21-3938966973-1240198891-2380492611-1013 [05/02/2014 14:41:01 564] BackupProtocol: disconnecting protocol: EncryptedStreamReader::Refill Got 0 bytes from recv [05/02/2014 14:41:01 564] BackupProtocol: Got closed code 10 [05/02/2014 14:41:01 564] Session: ThreadMain end for 000000000024F650 [05/02/2014 14:41:01 23c8] Listener TcpEventCallback [05/02/2014 14:41:01 23c8] Listener TcpConditionCallback from 192.168.xxx.xxx [05/02/2014 14:41:01 26c8] Session: ThreadMain for 000000000024F650 [05/02/2014 14:41:02 26c8] Session: DoBeginReconnectableSession [05/02/2014 14:41:02 26c8] ReconnectableStream: Created ServerReconnectableStream for {24DF8E01-11E2-4861-86B6-F23E6B30E3C2}, sizes 1048576,16384,1048576,16384 [05/02/2014 14:41:02 26c8] Session: DoBackupSet [05/02/2014 14:41:02 26c8] BigOperationQueuer: Operation Type 3 Machine Name Client_Pc_Name [05/02/2014 14:41:02 26c8] StatusPublisher: Sending Current Operation Status. : 3,S-1-5-21-3938966973-1240198891-2380492611-1013, 0, Client_Pc_Name , 0 [05/02/2014 14:41:02 26c8] BackupSetOperation: Recovery Volume added to Backup Set. Guid : {55894257-C7F2-11E2-BA0C-806E6F6E6963} [05/02/2014 14:41:02 26c8] BackupSetOperation: D:\ Volume added to Backup Set. Guid : {55894259-C7F2-11E2-BA0C-806E6F6E6963} [05/02/2014 14:41:02 26c8] BackupSetOperation: C:\ Volume added to Backup Set. Guid : {55894258-C7F2-11E2-BA0C-806E6F6E6963} [05/02/2014 14:41:02 26c8] BackupSetOperation: Volume to start backup on {55894257-C7F2-11E2-BA0C-806E6F6E6963} [05/02/2014 14:41:02 26c8] Client_Pc_Name のバックアップ ジョブ 287 が開始しました。
全てのDevice IDはどうやって調査するのか?
WSE 2012 R2やWHS2011のダッシュボードから登録したデバイス(コンピュータ)は、PowerShellを使って調べます。
Windows 8などコンシューマOSでよく使われるローカル ユーザとは別扱いになります。
PowerShellの起動方法
- WSE 2012 R2の場合:
スタート画面にあるWindows PowerShellを管理者権限で実行 - WHS2011の場合:
C:\Program Files\Windows Server\Bin\WssPowerShell.exeを管理者権限で実行
Wss Device IDを調べる方法
WHS2011やWSE 2012 R2専用のコマンドレット[Get-WssComputer]を使う事で、デバイス名(コンピュータ名)とDeviceIdを把握する事が可能です。
Get-WssComputer | Format-List -Property DeviceName, Owner, DeviceId
全てのVolume GUIDはどうやって調査するのか?
Explorer(エクスプローラー)を起動すると、ローカル ディスク(C:)やボリューム(D:)等が表示されていますよね。これは、ボリュームをマウントしドライブ文字が割り当てられている状態です。
Mountvol コマンドを見ていただければ意味が分かると思います。
Mountvol コマンド - Technet ライブラリここで初めて出てくるのがVolume GUIDです。
GUIDは、Globally Unique Identifier(グローバル一意識別子)の頭文字から構成され、WikiPediaでは下記のように説明されています。
GUID (Globally Unique Identifier)またはグローバル一意識別子(ぐろーばるいちいしきべつし)は、コンピュータで使用される識別子の体系のひとつで、世界で一意である事を意図された2進128ビットの値であるバックアップ対象となるパーティションはVolume GUIDという識別子が存在しています。下記レジストリ見てみましょう。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\volume{}に囲まれた英数字の羅列がVolume GUIDで、画像左上の赤い囲みの上からFドライブ、Cドライブ、Dドライブになります。
右上Data値はバイナリですが中身を見るとCドライブのラベルである[OS]が記録されています。
サーバ 再度のBackup ログを見るとVolume GUIDとドライブ文字が一致しています。
しかし、この調べ方はあまりにも面倒、かつ、危険が付きまといます。
おススメの調べ方は、PowerShellのGet-WmiObject コマンドレットを使い、Win32_Volume クラスを調べます。
Get-WmiObject -Class Win32_Volume | Format-Table -Property name, DeviceID実行結果を見ると、ラベル名とVolume GUIDがすぐに分かります。
※Windows 8 / Windows Server 2012から搭載された記憶域スペースのボリュームも当然ながら下記のように表示されます。
Win32_Volume クラスの詳細を知りたい方は、WMI Fun!!さんのサイトをおススメします!
非常に分かりやすいです。
Win32_Volume クラス - WMI Library2014.05.20 追記
Get-Volume コマンドレットを使うと同じ結果が得られます。
但し、Windows 8、Windows Server 2012、PowerShell 4.0以上となります。
Get-Volume | Format-Table -Property FileSystemLabel,DriveLetter,ObjectId -AutoSizeFormat-List コマンドレットのAutoSize パラメータは、列幅を自動計算し表示します。
GUIDが見切れる場合に便利だと思いましたが、Technet の説明文に「大規模なディレクトリ システムのファイルを再帰的に一覧表示する場合に、AutoSize を使用すると、最初の出力項目が表示されるまでにかなりの時間がかかり、また、大量のメモリが消費されます。」と明記されています。
利用する場合は、気を付けたいところです。
フォーマット コマンドを使用した出力形式の変更 - Technet
余談:Wssユーザ SIDはどうやって探す?
ローカル ユーザのSIDはwhoami コマンドやレジストリから調べる事ができます。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListしかし、WSE 2012 R2やWHS2011のダッシュボードから登録したユーザを調べる事は出来ません(でした)
ダッシュボードから登録したユーザのSIDは、PowerShellを使って調べます。
Wssユーザ SIDを調べる方法
Get-WssUser | Format-List -Property CurrentSid, CurrentUserPrincipal