サイト移設しました。技術情報をwww.putise.comで更新しています。

VSS (Volume Shadow Copy)

VSSは、バックアップ・ソフトウェア、サーバー・アプリケーション、ストレージ・ハードウェアなどのバックアップ関連ハードウェア/ソフトウェアに対し、スナップショット作成のための共通のインフラストラクチャを提供するAPIサービスである。

 

VSSでは、バックアップ・ソフトウェアは「リクエスタ」、サーバ・アプリケーションは「ライター」、ストレージ・ハードウェアおよびストレージ・エリア・ネットワークは「プロバイダ」と呼ばれる。

 

ソフトウェア・スナップショットではストレージ・ハードウェアがないが、この場合はVSS自身のソフトウェア機能が「プロバイダ」として機能することになる。

 

よりわかり易く説明しているページは

http://www.atmarkit.co.jp/fwin2k/dnsvrguide/vss/vss_02.html

 

■ VSSリクエスタ 

スナップショットの作成を要求するバックアップ・アプリケーション

[例]

・Windows Server 2003標準バックアップ・ユーティリティ(ntbackup.exe)

・Backup Exec(ベリタス)

・ARCserve(コンピュータ・アソシエイツ)

など 。

 

■ VSSライター 

キャッシュをフラッシュして、バックアップ・データを同期させるサーバ・アプリケーション。使用中のファイルをバックアップするエージェント・ソフトウェア

[例]

・データベースサーバ(SQL Server、Oracle)

・電子メールサーバ(Exchange Server)

など 

 

■ VSSプロバイダ 

スナップショットを作成するストレージ・ハードウェア[例]デル、EMC、HP、日立製ストレージ機器など。

またソフトウェアプロバイダも存在する。

[例]

・Symantec Software VSS Provider (SymSnapService)

・MS Software Shadow Copy provider 1.0

など

 

上記の連携をとっているサービスとして、Windows OSの「Volume Shadow Copy」サービスがVSSコーディネータとして動作している。

 

更新日:2009/11/17

vss 「完全バックアップ」と「コピーバックアップ」の違い

完全バックアップとコピーバックアップの違い。

とてもよくわからない。

Windows Server 2008 ではOS標準バックアップでもこのキーワードが出てくる。

 

■ VSSコピーバックアップ

現在のバックアップ対象に含まれているボリューム上のアプリケーションを別のバックアップ製品でバックアップする場合は、このオプションを選択してください。

このオプションでは、アプリケーションログファイルの内容が維持されます。

 

■ VSS完全バックアップ

アプリケーションのバックアップに他のバックアップ製品を使用しない場合は、このオプションを選択してください。

このオプションでは、各ファイルのバックアップ履歴が更新され、アプリケーションログファイルの内容が消去されます。

 

要するに、VSSライターがバックアップ製品にあたるのだろうか。

MS SQL サーバーの場合は、SQLライターがあるので、「アプリケーションのバックアップに他のバックアップ製品を使用していない場合」になる。

 

VSS 完全バックアップの方はSQL Serverのリストア画面でバックアップ履歴が表示されますが、VSS コピーバックアップの方ではバックアップ履歴がありません。 

これが、「アプリケーションログファイルの維持とか更新」に対応するかと思います。

 

参考:

http://ojaoki.blog.so-net.ne.jp/2008-09-03

 

コピー バックアップは完全なバックアップであり、バックアップの完了時にログ ファイルを削除しないことを除けば、完全バックアップと同じです。

 

参考:

http://technet.microsoft.com/ja-jp/library/bb124515.aspx

 

Exchangeとかのアプリケーションを例にするとわかりやすいかもですね。

 

 

完全バックアップとコピーバックアップの違い的には、

通常バックアップでフルバックアップ時に、アーカイブビットをクリアするかそのまま(クリアしないか)的な意味合いになります。

 

 

更新日:2009/11/17

 

Windows上のVSSプロバイダー、VSSライターを確かめる(vssadmin)

Windows OS上で、VSSライタ・プロバイダとしてがどんなものが存在しているか確かめるコマンドラインツールがある。

 

 

■ vssadmin 1.0 - ボリューム シャドウ コピー サービス管理コマンドライン ツール

使用法:

vssadmin list shadows [/set={shadow copy set guid}]

        システム内のすべてのシャドウ コピーを、シャドウ コピー セット ID に

        よってグループ化して一覧で表示します。

vssadmin list writers

        システム内のすべての書き込み装置の一覧を表示します。

vssadmin list providers

        現在インストールされているすべてのシャドウ コピー プロバイダの一覧を

        表示します。


実際に、WindowsOS上でコマンドプロンプトを立ち上げ実行して見ると良い。
リスト表示のみなので、動作はしない。

shadowsは、スナップショット状態があれば表示される。


■ vssadmin 1.1 - ボリューム シャドウ コピー サービス管理コマンドライン ツール
オプション:
Add ShadowStorage     - 新しいボリューム シャドウ コピーの記憶域の関連付けを追
                        加します。
Create Shadow         - 新しいボリューム シャドウ コピーを作成します。
Delete Shadows        - ボリューム シャドウ コピーを削除します。
Delete ShadowStorage  - ボリューム シャドウ コピーの記憶域関連付けを削除します
List Providers        - 登録されているボリューム シャドウ コピーのプロバイダの
                        一覧を表示します。
List Shadows          - 既存のボリューム シャドウ コピーの一覧を表示します。
List ShadowStorage    - ボリューム シャドウ コピーの記憶域関連付けの一覧を表示
                        します。
List Volumes          - シャドウ コピーで利用できるボリュームの一覧を表示します
List Writers          - ボリューム シャドウ コピーのサブスクライブ ライタの一
                        覧を表示します。
Resize ShadowStorage  - ボリューム シャドウ コピーの記憶域関連付けのサイズを変
                        更します。
Revert Shadow         - ボリュームをシャドウ コピーに戻します
Query Reverts         - 元に戻す操作の進行状況を照会します。



vssadmin list writers を実行することにより、vssライターの状態や前回の実行結果(エラーのあるなし)がわかる

--------------------------------------------------------------
ライタ名: 'System Writer'
   ライタ Id: {e8132975-6f93-4464-a53e-1050253ae220}
   ライタ インスタンス Id: {89028cab-a7cc-4076-b35a-17d4acf2b3d3}
   状態: [1] 安定
   最後のエラー: エラーなし

ライタ名: 'MSDEWriter'
   ライタ Id: {f8544ac1-0611-4fa5-b04b-f7ee00b03277}
   ライタ インスタンス Id: {91ffd276-e75b-4d77-a346-f89abde1c9f9}
   状態: [1] 安定
   最後のエラー: エラーなし

ライタ名: 'SqlServerWriter'
   ライタ Id: {a65faa63-5ea8-4ebc-9dbd-a0c4db26912a}
   ライタ インスタンス Id: {e704a723-3dc3-4c28-816d-47b8a1b0453e}
   状態: [1] 安定
   最後のエラー: エラーなし

ライタ名: 'Registry Writer'
   ライタ Id: {afbab4a2-367d-4d15-a586-71dbb18f8485}
   ライタ インスタンス Id: {6053ce49-4ed6-471b-b9e7-fd2291523163}
   状態: [1] 安定
   最後のエラー: エラーなし

ライタ名: 'Event Log Writer'
   ライタ Id: {eee8c692-67ed-4250-8d86-390603070d00}
   ライタ インスタンス Id: {911f128a-f238-483a-94c0-4e476ec76f2f}
   状態: [1] 安定
   最後のエラー: エラーなし

ライタ名: 'COM+ REGDB Writer'
   ライタ Id: {542da469-d3e1-473c-9f4f-7847f01fc64f}
   ライタ インスタンス Id: {e6bcde28-0df1-49d0-88e0-c893bf600239}
   状態: [1] 安定
   最後のエラー: エラーなし

ライタ名: 'WMI Writer'
   ライタ Id: {a6ad56c2-b509-4e6c-bb19-49d8f43532f0}
   ライタ インスタンス Id: {176b51e6-8de0-4995-b9cf-1093d2704a82}
   状態: [1] 安定
   最後のエラー: エラーなし

ライタ名: 'BITS Writer'
   ライタ Id: {4969d978-be47-48b0-b100-f328f07ac1e0}
   ライタ インスタンス Id: {46f018e8-a9f3-4429-b605-cd982576117b}
   状態: [1] 安定
   最後のエラー: エラーなし
--------------------------------------------------------------

更新日:2009/11/17




vssadmin list writer 実行で、エラー: 0x8000FFFF

vssは基本的に裏で自動実行されていて、どのように動いているかわかりづらいもの。

 

vssadmin list writersや

vssadmin list providersを実行することで、予期せぬエラーを検知することがある。

 

Windows XP環境で、vssadmin list writers (vssadmin 1.0)を実行したところ

「0x8000ffff」エラーが出た。

 

Windows Server 2003 では以下のKBがある

http://support.microsoft.com/kb/940184

 

Windows XPとKBのWindows Server 2003 で違いがあるがWindows XPで以下のKB手順を実行してみることにした。

--------------------------------------------------------------

1. 開始 ] をクリックして 実行 ] をクリックして、 レジストリ エディター と入力して [OK] をクリックします。

2. 次のレジストリ サブキーを見つけてクリックします:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EventSystem\ {11-26c409cc-ae86 d 1-b616-00805fc79216} \Subscriptions

 

Windows XPでは

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EventSystem\{26c409cc-ae86-11d1-b616-00805fc79216}\Subscriptions

たくさんサブキーがあるが思い切って削除

 

3. [ 編集 ] メニューの [ 削除 ] をクリックし、 [はい] のサブキーを削除することを確認します。4. レジストリ エディターを終了します。

5. 開始 ] をクリックして [ 実行 ] をクリックして、 services.msc と入力して [OK] をクリックします。

6.一度に 1 以下のサービスを右クリックします。 各サービスには 再起動 をクリックします。

COM + イベント システム

COM + システム アプリケーション

マイクロソフト ソフトウェア シャドウ コピー プロバイダー

ボリューム シャドウ コピー

7. 開始 実行 、 cmd ] を入力 [ OK] をクリックします。

8. コマンド プロンプトで vssadmin リストの作成者 を入力して、Enter を押します。

9. VSS ライターが現在表示されている場合、は、コマンド プロンプト ウィンドウを閉じます。 残りの手順を実行する必要はありません。

 

10. VSS ライターが表示されない場合は、コマンド プロンプトで次のコマンドを入力します。 各コマンドの後 Enter キーを押します。

cd/d %windir%\system32

net stop vss

net stop swprv

regsvr32 ole32.dll

regsvr32 oleaut32.dll

regsvr32/i eventcls.dll

regsvr32 vss_ps.dll

vssvc/register

regsvr32/i swprv.dll

regsvr32 es.dll

regsvr32 stdprov.dll

regsvr32 vssui.dll

regsvr32 msxml.dll

regsvr32 msxml3.dll

regsvr32 msxml4.dll

メモ 最後のコマンドは正常に実行されない可能性があります。

11. コマンド プロンプトで vssadmin リストの作成者 を入力して、Enter を押します。

12. VSS ライターが現在表示されていることを確認します。

--------------------------------------------------------------

 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EventSystem\{26c409cc-ae86-11d1-b616-00805fc79216}\Subscriptions

は復活したが、残念ながらvssadmin list writers のエラー「エラー: 0x8000ffff」は変わらずでした。。。

 

 

更新日:2009/11/17