none
wbadminコマンドによるシステム情報バックアップ RRS feed

  • 質問

  • WindowsServer2008(Cドライブのみ)のAD2台×2で、ドメインを2つ構築しています。

    このうち、片方のドメインでwbadminによるSystemStateBackupを採取できません。

     

    ADの復元可能バックアップを採取するために、以下のコマンドを実行するスクリプトをタスクスケジュールに

    設定することを想定しています。

    > wbadmin start systemstatebackup -backuptarget:C: -quiet

     

    出力先をCドライブに設定していますが、そのままでは「重要なドライブが・・・」と出てバックアップできませんので、

    以下のようにレジストリを変更しています。

    HKLM\System\CurrentControlSet\Services\wbengine\SystemStateBackup

    名前:AllowSSBToAnyVolume

    データ型:DWORD32

    値:1

     

    また、「バックアップライタが・・・」というエラーも発生したため、情報を辿って発見した以下のフォーラムに、

    挙げられていた対処方法も実施しました。

    http://social.technet.microsoft.com/Forums/ja-JP/windowsserver2008ja/thread/40d80cdc-5937-40f3-81a1-bc36dd24edce

     

    上記の変更で、片方のドメインのドメコンでは、2台とも正常にバックアップを実行できています。

    しかし、もう片方のドメインのドメインでは、次のようなエラーが発生してバックアップが実行できません。

    > wbadmin start systemstatebackup -backuptarget:C: -quiet

    エラー - ボリュームシャドウコピーサービスの操作エラー(0x800423f0)

    シャドウコピーセットには、選択したライタのコンポーネントを

    正しバックアップするために必要なボリュームのサブセットのみが

    含まれます。

    出力されているログを確認しても、サイズが0バイトで何も記録されておらず、

    失敗した原因がよく分かりません。


    実行した時間帯では、イベントビューアに以下のエラーが記録されております。

    (前後には、それ以外のエラーはありませんでした。)

    ログの名前:アプリケーション    ソース:Backup

    イベントID:521            レベル:エラー

    バックアップボリュームに対するシャドウコピー操作が失敗したため、'yyyy/mm/dd HH:MM:SS'で開始した

    バックアップはエラーコード'2155348129'で失敗しました。問題の解決後にバックアップを再度実行して下さい。

     

    上記の件についていろいろと調査をしましたが、有用な情報は見つかりませんでした。

    本現象について何か情報をお持ちの方は、ご助言いただけないでしょうか。

    2010年3月26日 15:47

回答

  • こんにちは。

    エラーコード 0x800423f0 と 2155348129 はそれぞれtechnetに解説があります。
    http://technet.microsoft.com/ja-jp/library/ee692290(WS.10).aspx

    エラーコード 2155348129 は、
    "ボリューム シャドウ コピー サービス操作に失敗しました。"VSS"およ2155348129 "SPP"のアプリケーション イベント ログで詳細を確認してください"
    と解説されていますので、VSSでエラーが発生した事が解ります。

    エラーコード 0x800423F0 の方が具体的なVSSのエラー内容です。文言通り、VSS Writerがバックアップしようとしているデータを格納したボリュームのうち、一部しかアクセスできなかった事を意味しています。

    エラー発生直後にvssadmin list writersコマンドを実行すれば、エラーが発生したVSS Writerはエラーの状態が表示されるかと思います。

    vshadow.exe -WM2コマンドを実行することで、VSS Writerがバックアップするデータ/ファイルのパスが確認できます。

    http://msdn.microsoft.com/en-us/library/bb530725(VS.85).aspx

    エラーが発生したVSS Writerのバックアップ対象が存在するかどうか、確認してみてください。また、VSSでエラーが発生した場合は、VSS Traceの解析がセオリーです。

    2010年3月26日 17:17
  • こんにちは。

    VSS Traceの方法ですが、ろんさんの提示されている方法で問題なくログが作成されます。
    http://support.microsoft.com/kb/887013/ja
    設定値の誤りや、ログの作成先の注意点などに引っかかっているのではないかと思います。例えば、C:ドライブをバックアップする場合は、C:ドライブにはログを作成できません。

    vshadowについては、VSSReportsの直下の他にもサンプルがありますので、 これを実行するのも手です。
    例えば、Server x86の場合は TestApps\vshadow\bin\release-server
    Server x64の場合はTestApps\vshadow\bin\obj-free\amd64
    のものを私は使用しています。

    2010年4月1日 23:14
  • こんにちは。

    VSS Traceを解析する場合、ライタ名、ライタID、ライタインスタンスIDの他、エラーコード(今回は2155348129や0x807800A1,0x800423F0,2147754992)、APIの名前で探して、エラーが発生しているところを探しています。

    APIについては、 http://msdn.microsoft.com/en-us/library/aa384645(v=VS.85).aspx を参照して下さい。VSS Writer系のAPIでは、次のようなものがあります。

    IVssCreateExpressWriterMetadata
    IVssCreateWriterMetadata
    IVssCreateWriterMetadataEx
    IVssExpressWriter
    IVssWriterComponents

    ろんさんの確認された、"562291行目に~..."の着眼点は正しいはずです。その行の直前(といっても、数百行になりますが)にVSS Writerがエラーを返している箇所があると思います。
    VSSの動作から考えると、次の順でエラーに至っていると推測されるからです。

    1.wbadminがバックアップを開始
    2.wbadminがVSS経由でVSS Writerをキック
    3.FRSのVSS Writerがエラーを返す
    4.CVssBackupComponents::AbortBackupの発生(これが562291行目のログ)


    ただ、VSS Traceを探しても手かがリが見つからない場合は、VSS Traceの解析は一旦保留にして、FRSの方から攻めた方がいいかもしれません。
    VSS Traceの話を出したのは、ログに "このファイルでエラーが発生しました" 的な記録があって、ファイルのパスから一気に解決できれば早い、と考えたからです。

    FRSの方からの攻め方ですが、まずFRS(File Replicationサービス)を停止してバックアップを取得する方法があります。FRSが停止していれば、そもそもFRS VSS Writerはバックアップ対象になりません。(この場合は、"FRSのデータはバックアップされない"という問題が残ります。)

    FRSとくればSysvolです。Sysvolの整備を行う事で解消される可能性はあると思います。(これは、発想レベルの話で、確証まではありません)

    http://support.microsoft.com/kb/315457/ja
    http://blogs.technet.com/jpntsblog/default.aspx

     

    2010年4月6日 11:19

すべての返信

  • こんにちは。

    エラーコード 0x800423f0 と 2155348129 はそれぞれtechnetに解説があります。
    http://technet.microsoft.com/ja-jp/library/ee692290(WS.10).aspx

    エラーコード 2155348129 は、
    "ボリューム シャドウ コピー サービス操作に失敗しました。"VSS"およ2155348129 "SPP"のアプリケーション イベント ログで詳細を確認してください"
    と解説されていますので、VSSでエラーが発生した事が解ります。

    エラーコード 0x800423F0 の方が具体的なVSSのエラー内容です。文言通り、VSS Writerがバックアップしようとしているデータを格納したボリュームのうち、一部しかアクセスできなかった事を意味しています。

    エラー発生直後にvssadmin list writersコマンドを実行すれば、エラーが発生したVSS Writerはエラーの状態が表示されるかと思います。

    vshadow.exe -WM2コマンドを実行することで、VSS Writerがバックアップするデータ/ファイルのパスが確認できます。

    http://msdn.microsoft.com/en-us/library/bb530725(VS.85).aspx

    エラーが発生したVSS Writerのバックアップ対象が存在するかどうか、確認してみてください。また、VSSでエラーが発生した場合は、VSS Traceの解析がセオリーです。

    2010年3月26日 17:17
  • 中年やっちゅうねん

    早速のご回答、ありがとうございます。

    大変有用な情報を頂き、感謝しております。

     

    > エラーコード 0x800423f0 と 2155348129 はそれぞれtechnetに解説があります。
    > http://technet.microsoft.com/ja-jp/library/ee692290(WS.10).aspx

    > エラーコード 2155348129 は、
    > "ボリューム シャドウ コピー サービス操作に失敗しました。"VSS"およ2155348129 "SPP"のアプリケーション

    > イベント ログで詳細を確認してください"
    > と 解説されていますので、VSSでエラーが発生した事が解ります。

    エラーコードに関しての解説は読んではいたのですが、「 イベント ログで詳細を確認してください」という部分を、

    「イベントビューアでエラーを確認して下さい」と認識しておりました。

    実際確認してみてVSSのエラーが発生していませんでしたので、皆目検討が付かず本フォーラムにご相談させていただきました。


    >エラー発生直後にvssadmin list writersコマンドを実行すれば、エラーが発生したVSS Writerはエラーの状態が

    >表示されるかと思います。

     

    上記のようなコマンドがあるのですね。勉強出不足でした。

    今現在確認できる環境ではありませんので、月曜日に確認してみたいと思います。

     

    結果は、後日投稿いたします。


    2010年3月27日 2:15
  • 中 年やっちゅうねん

    先日いろいろと情報をご提供いただいたのですが、いまだ解決への糸口すら掴めていません。

     

    まず、vshadowコマンドを使用してVSS Writerがバックアップするデータ/ファイルのパスを確認する件ですが、

    vshadowコマンドが入手が出来ませんでした。

    Windows Server 2008では、標準ではvshadowコマンドは用意されておらず、SDKをインストールすれば

    使えるらしいということは分かりました。

    しかし、対象サーバはどうしても再起動することが出来ず、またvshadowはSDKのsamplesに含まれていること

    が判明しましたので、samplesのみインストールしました。

    インストールして中身を見てみると、C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\WinBase\VSS\vshadowにソースが格納されていました。

    これを別のPCでコンパイルしてみたところ、

    stdafx.h(24) : fatal error C1083: include ファイルを開けません。'atlbase.h': No such file or directory

    とエラーが発生してしまいました。

    おそらく以下と同じ症状だと思いますが、今の環境では確認できませんので、別途環境を作ってコンパイルしたいと思います。

    http://ysmt.blog21.fc2.com/blog-entry-244.html

     

    また、「Volume Shadow Copy Service SDK 7.2」をダウンロードしてインストールして

    vshadowコマンドを実行してみましたが、以下のようなエラーが発生して使用できませんでした。

    C:\Program Files\Microsoft\VSSSDK72\Tools\VSSReports>vshadow.exe -wm2 -tracing

    VSHADOW.EXE 2.2 - Volume Shadow Copy sample client
    Copyright (C) 2005 Microsoft Corporation. All rights reserved.


    (Option: List extended writer metadata)
    (Gathering writer metadata...)
    (Waiting for the asynchronous operation to finish...)
    Initialize writer metadata ...

    ERROR: Win32 call "GetVolumePathNameW((LPCWSTR)path.c_str(), WString2Buffer(volumeRootPath), (DWORD)volumeRootPath.lengt
    h())" failed.
    - GetLastError() == 2
    - Error text:

    - Please re-run VSHADOW.EXE with the /tracing option to get more details


    C:\Program Files\Microsoft\VSSSDK72\Tools\VSSReports>vshadow.exe -tracing -wm2

    VSHADOW.EXE 2.2 - Volume Shadow Copy sample client
    Copyright (C) 2005 Microsoft Corporation. All rights reserved.


    (Option: Enable tracing)
    [[        CommandLineParser::MatchArgument @ shadow.cpp: 748]] ENTER CommandLineParser::MatchArgument
    [[        CommandLineParser::MatchArgument @ shadow.cpp: 750]] Matching Arg: '-wm2' with 'p'

    [[        CommandLineParser::MatchArgument @ shadow.cpp: 754]] Return: FALSE

    [[        CommandLineParser::MatchArgument @ shadow.cpp: 748]] EXIT CommandLineParser::MatchArgument
    [[        CommandLineParser::MatchArgument @ shadow.cpp: 748]] ENTER CommandLineParser::MatchArgument
    [[        CommandLineParser::MatchArgument @ shadow.cpp: 750]] Matching Arg: '-wm2' with 'nw'

    (省 略)

    - Please re-run VSHADOW.EXE with the /tracing option to get more details
    [[              GetUniqueVolumeNameForPath @     util.h: 296]] OUTPUT: - Please re-run VSHADOW.EXE with the /tracing option to get more details
    [[              GetUniqueVolumeNameForPath @     util.h: 296]] EXIT GetUniqueVolumeNameForPath
    [[           VssFileDescriptor::Initialize @ writer.cpp: 732]] EXIT VssFileDescriptor::Initialize
    [[                   VssWriter::Initialize @ writer.cpp: 293]] EXIT VssWriter::Initialize
    [[     VssClient::InitializeWriterMetadata @ writer.cpp:  63]] EXIT VssClient::InitializeWriterMetadata
    [[         VssClient::GatherWriterMetadata @ writer.cpp:  27]] EXIT VssClient::GatherWriterMetadata
    [[          CommandLineParser::MainRoutine @ shadow.cpp:  84]] EXIT CommandLineParser::MainRoutine
    [[                                   wmain @ shadow.cpp:  66]] HRESULT Error catched: 0x80070002
    [[   CommandLineParser::~CommandLineParser @ shadow.cpp: 964]] ENTER CommandLineParser::~CommandLineParser
    [[   CommandLineParser::~CommandLineParser @ shadow.cpp: 964]] EXIT CommandLineParser::~CommandLineParser
    [[                                   wmain @ shadow.cpp:  31]] EXIT wmain

    # 上記の出力が正常であるのか、コマンドの実行に失敗しているのかは、確認中です。。


     

    また、VSS Traceの解析の件ですが、VSSのデバッグトレース機能を有効にする方法として、以下のような情報が

    ございましたので(WS2003ですが)、同様に設定してみましたが、トレースファイルが出力されることはありませんでした。

    http://support.microsoft.com/kb/887013/ja

     

    この件に関しましては、もしよろしければTraceの方法をご教示いただけないでしょうか。

    以上です。

    よろしくお願い致します。

    2010年3月30日 6:26
  • 1件報告を忘れておりましたので、追加で報告いたします。

    > エラー発生直後にvssadmin list writersコマンドを実行すれば、エラーが発生したVSS Writerはエラーの状態が

    > 表示されるかと思います。

     

    vssadmin list writersでライタの状態を確認したところ、1つのライタでエラーが発生していました。

    ライタ名: 'FRS Writer'
       ライタ Id: {d76f5a28-3092-4589-ba48-2958fb88ce29}
       ライタ インスタンス Id: {345ef153-9d1d-4a95-aafa-500bb41de90c}
       状態: [8] 失敗
       最後のエラー: 一致しないシャドウ コピー

    これで、"FRS Writer"が原因であることが分かりました。

    しかし、ここから先の原因究明が出来ていない状態です。

    また何か進捗がありましたら、ご報告いたします。

    2010年4月1日 6:11
  • こんにちは。

    VSS Traceの方法ですが、ろんさんの提示されている方法で問題なくログが作成されます。
    http://support.microsoft.com/kb/887013/ja
    設定値の誤りや、ログの作成先の注意点などに引っかかっているのではないかと思います。例えば、C:ドライブをバックアップする場合は、C:ドライブにはログを作成できません。

    vshadowについては、VSSReportsの直下の他にもサンプルがありますので、 これを実行するのも手です。
    例えば、Server x86の場合は TestApps\vshadow\bin\release-server
    Server x64の場合はTestApps\vshadow\bin\obj-free\amd64
    のものを私は使用しています。

    2010年4月1日 23:14
  • 中年やっちゅうねん様

     

    いつもアドバイスを頂きありがとうございます。

    VSS Traceに関してですが、原因は出力先ではなくレジストリのキー名の設定ミスでした。

    TracingとしなければいけないところをTraceとしていたため、修正してトレースファイルが出力されることを確認できました。

    # 約90MBになりました。

    早速中身を確認してみたのですが。。。難解です。

    562291行目に「[1705718660,0x0014ec:0x08dc:0x12854358] backupext\vsxml\vs_cmxml.cxx(4185): CVssBackupComponents::AbortBackup: Adding context: 'バックアップを中止します' (0)」と出ていたので、

    その前後のワードを拾って調べてみたのですが、とくに引っかかるものがありませんでした。

    ライタ名、ライタID、ライタインスタンスIDでもトレースファイルを検索してみたのですが、特に目を引くワードはありませんでした。

    まことに申し訳ないのですが、中年やっちゅうねん様がいつもされている方法をご教示願えないでしょうか。

     

     

    vshadowコマンドに関しては、教えていただいたパス内にあるexeでも試してみたのですが、結果は同じでした。

    どうやら、前述のコマンド結果は正常(コマンドの動作自体が)のようです。

    # 使用OSは、Win2008stの32bitです。

     

    以上です。

    よろしくお願い致します。

    2010年4月6日 2:22
  • こんにちは。

    VSS Traceを解析する場合、ライタ名、ライタID、ライタインスタンスIDの他、エラーコード(今回は2155348129や0x807800A1,0x800423F0,2147754992)、APIの名前で探して、エラーが発生しているところを探しています。

    APIについては、 http://msdn.microsoft.com/en-us/library/aa384645(v=VS.85).aspx を参照して下さい。VSS Writer系のAPIでは、次のようなものがあります。

    IVssCreateExpressWriterMetadata
    IVssCreateWriterMetadata
    IVssCreateWriterMetadataEx
    IVssExpressWriter
    IVssWriterComponents

    ろんさんの確認された、"562291行目に~..."の着眼点は正しいはずです。その行の直前(といっても、数百行になりますが)にVSS Writerがエラーを返している箇所があると思います。
    VSSの動作から考えると、次の順でエラーに至っていると推測されるからです。

    1.wbadminがバックアップを開始
    2.wbadminがVSS経由でVSS Writerをキック
    3.FRSのVSS Writerがエラーを返す
    4.CVssBackupComponents::AbortBackupの発生(これが562291行目のログ)


    ただ、VSS Traceを探しても手かがリが見つからない場合は、VSS Traceの解析は一旦保留にして、FRSの方から攻めた方がいいかもしれません。
    VSS Traceの話を出したのは、ログに "このファイルでエラーが発生しました" 的な記録があって、ファイルのパスから一気に解決できれば早い、と考えたからです。

    FRSの方からの攻め方ですが、まずFRS(File Replicationサービス)を停止してバックアップを取得する方法があります。FRSが停止していれば、そもそもFRS VSS Writerはバックアップ対象になりません。(この場合は、"FRSのデータはバックアップされない"という問題が残ります。)

    FRSとくればSysvolです。Sysvolの整備を行う事で解消される可能性はあると思います。(これは、発想レベルの話で、確証まではありません)

    http://support.microsoft.com/kb/315457/ja
    http://blogs.technet.com/jpntsblog/default.aspx

     

    2010年4月6日 11:19
  • こんにちは、フォーラムオペレーターの三沢健二です。

    中年やっちゅうねん さん、ご丁寧なアドバイス誠にありがとうございます。

    案内いただいた内容は、解析作業を行う際に大変参考になる情報ではないかと思いましたので、勝手ながら [回答としてマーク] のチェックを付けさせていただきました。


    それでは、今後とも TechNet Forum をよろしくお願いします。

    ______________________________________
    マイクロソフト株式会社 フォーラム オペレーター 三沢健二

    2010年4月21日 6:33
    モデレータ