問題タブ [volume-shadow-service]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1509 参照

python - Python での一貫性のあるバックアップ

私はPythonでリモートバックアップソリューションに取り組んでいます。サーバー部分は、ハード リンクを使用して効率的な増分バックアップを行うため、Unix/Linux で実行されます。

ただし、クライアント部分は Windows でも実行する必要があり、ファイルのロックが問題になる可能性があります。

私が調査したところ、必要なのはボリューム シャドウ コピー サービス (VSS) です。LVM スナップショットに似ており、ファイル ロックの影響を受けません。ただし、VSS API は pywin32 に実装されていないようです。

私の現在の考えは、一時的な VSS スナップショットを作成し、クライアントを実行し、後で削除するラッパーを使用することです。

誰かがこのシナリオの経験があるかどうか疑問に思っています。

0 投票する
1 に答える
295 参照

volume-shadow-service - VSS HW プロバイダーで GetTagetLuns、LoacteLuns、および FillinLunInfo をスキップする

私は VSS ハードウェア プロバイダーを作成しており、スナップショットを作成できます。したがって、トレース ツールでトレースすると、PostCommitSnapshot までがすべて完璧であることがわかります。シャドウ コピーの自動インポート用の PostCommit スナップショットの後、GetTagetLuns、LoacteLuns、および FillinLunInfo が必要ですが、私が取っているように一部のストレージのボリュームのスナップショットを取得しているため、GetTargetLuns に提供する十分な情報がありません。

  1. AreLunsSupported で提供された同じ LUNinfo を使用し続けると、GetTargetLuns で BadSourceLun エラーがスローされます。

  2. GetTargetLuns のチェック条件をコメントアウトしてこのエラーをスキップしようとすると、LocateLuns まで実行が続き、その後非同期的に待機し、OnLunEmpty メソッドが呼び出されてスナップショットが中止されます。

  3. スナップショットの状態値を VSS_SS_POSTCOMMITTED に設定しようとしましたが、これはシステム用に予約されています。

Vss Hardware Provider でこれらのメソッドをスキップしたいですか?

ヘルプは非常に高く評価されます。

0 投票する
4 に答える
34732 参照

windows - PowerShell からのボリューム シャドウ コピー (VSS) スナップショットへのアクセス

Windows 7 で Windows Power Shell を使用して、ボリューム シャドウ コピーのスナップショットを作成してアクセスしようとしています。以前のスーパーユーザーの質問により、以下を使用してスナップショットを作成できることがわかりました。

を使用してシャドウ コピーをドライブ文字にマップできるように、シャドウ コピーを「公開」に設定できることを示すドキュメントを見つけることができませんWMI。同じ質問にリンクされている記事は、ジャンクションを使用してスナップショットにアクセスするハックを示しています。

シンボリックリンクにアクセスしようとすると、次のようになります。

スナップショットに直接アクセスしようとすると、次のようになります。

powershell スクリプトから VSS スナップショットにアクセスするにはどうすればよいですか?

0 投票する
1 に答える
588 参照

volume-shadow-service - vss ハードウェア プロバイダーで GetTargetLUN を実装する方法は?

ZFS ベースの iSCSI ターゲットに VSS ハードウェア プロバイダーを実装しています。AreLunSupported、precommitsnapshot、commitsnapshot などの機能を実装しましたが、この時点までは正常に動作しています。しかし、この後VSS_E_NO_SNAPSHOTS_IMPORTED、LocateLun メソッドで " " エラーが発生して失敗しています。ターゲット LUN 情報が適切に入力されていないと思います。

私の質問は次のとおりです。

  1. ターゲットLUNのシリアル番号を見つける方法は? 新しく作成したスナップショットをマウントしてから、シリアル番号を取得する必要がありますか?

  2. 相互接続、ストレージ識別子情報も入力する必要がありますか、それともこれらに NULL を渡すだけでよいでしょうか。

0 投票する
1 に答える
300 参照

.net - VSS バックアップ ドライブからプログラムで項目を読み取る方法

VSS を使用してバックアップ ドライブにバックアップします。そのドライブを別のマシンに接続し、そのドライブ上のすべてのバックアップを一覧表示してから、特定のバックアップ内のすべてのアイテムを一覧表示したいと思います。

andwbadminを使用してコマンド プロンプトで実行できることはわかっていますが、プログラムで値を読み取りたいと思います。wbadmin get versionswbadmin get items

VSS を操作するためのpowershell コマンドがあることは知っていますが、それらはローカルの「ポリシー」オブジェクトでのみ機能するようです。(別のポリシーを使用して) 別のマシンからディスクを調べる方法が見つかりません。たとえば、Get-WBBackupTarget には、バックアップ ドライブ文字を指すパラメーターがなく、ポリシー オブジェクトのみがあります。また、Get-WBPolicy は、システムの現在のポリシーのみを返します。

プログラムでバックアップドライブから情報を読み取ることは可能ですか?

0 投票する
2 に答える
4002 参照

c# - Alphavss を使用したシャドウ コピー エラー

サイトalphavssで提供されているサンプル コードを使用しようとしています。クラス VssBackup.cs を含めて、これをプログラムで使用しようとしています。ほとんどの場合、dll 参照がありませんが、使用しているコンポーネントでエラーが発生していません。誰が問題が何であるかを知っていますか?

3 つのエラーが発生します。

型または名前空間名 'Snapshot' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

型または名前空間の名前 'IVssAsync' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?

型または名前空間名 'Snapshot' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

クラス **サイトが提供するVssBackup.cs C# サンプル コード**

0 投票する
1 に答える
714 参照

c++ - Exchange ライターをフリーズするにはボリューム シャドウ コピー API が必要

Exchange 2010 サーバーをバックアップするために、(おそらくボリューム シャドウ コピーを使用して) 独自のアプリケーションを実装しました。

次のスキーマを見つけました:バックアップ シーケンス図

しかし、Exchnage Writer を直接フリーズ/解凍する関数が見つかりません。

スナップショット作成の一部として「freeze」および「thawn」コマンドを呼び出す関数のみを見つけました (次のスキーマを参照してください: VSS でのバックアップの処理の概要)

最初のスキーマに関するドキュメント、つまりライターをフリーズおよび解凍するために使用できる API 関数を見つけるのを手伝ってください

ありがとう

0 投票する
2 に答える
1923 参照

c# - 可能な限り高速に書き込み中にファイルをコピーする方法は?

TL/DR:

A と B の 2 台のマシンがあります。テスト プログラムを作成して、それらの間のメディア (インターフェイス) をテストします。ファイルを A から B に、次に B から A にコピーするときのエラーをチェックしますが、最速で実行する必要があります。できます。A ソース ファイル: SRC があり、それを B から新しいファイル: MID にコピーし、MID を B から A に新しいファイル DST にコピーし、SRC と DST を比較します。ここでの問題は、可能な限り最高の速度で(つまり、並行して)それを行う方法です。

手の込んだ:

書き込み中にファイルを同時にコピーするにはどうすればよいですか? CopyFileExを使用して SRC から MID にファイルをコピーし、同時に MID から DST に再度コピーする必要があります。データは明示的にディスクを通過する必要があり、メモリ バッファまたはキャッシュを使用できません。

  1. 2 番目のコピーは、ファイルが MID で作成されている間に実行する必要があります。コピーが完了するのが待ちきれません。
  2. MID から明示的にファイルを再度読み取る必要があります - SRC から MID へのコピーに使用するバッファを使用できません
  3. これはすべて、私ができる最速で実行する必要があります

同期の問題は簡単に処理できます (私はCopyFileExCopyProgressRoutineコールバックを使用して、完了したバイト数を把握し、それに応じてイベントを発生させます)、ファイルはコピー中に読み取りのためにロックされます。通常の C# のFileStreamは使用できません- 遅すぎます...

私が現在検討している可能な解決策:

  • ボリューム シャドウ コピー (具体的には AlphaVSS )
  • memory-mapped-file - 非常に高速に実行できましたが、システムが実際にキャッシュを使用しており、MID から読み戻されていないのではないかと心配しています。
  • 私が知らないいくつかのwin-API P / Invoke関数??
0 投票する
1 に答える
353 参照

sqlite - sqlite に VSS がないのはなぜですか?

Microsoft による SQL Server の実装には、VSS ライターとその他のコンポーネントが含まれており、パフォーマンスに大きな影響を与えることなくバックアップを作成するのに役立ちます。
しかし、Sqlite にはそのような VSS 機能は組み込まれていません。
では、SQL Server での VSS の重要性と、それが Sqlite でどのように役立つかを理解したいと思いますか?

0 投票する
2 に答える
477 参照

c++ - VSS ハードウェア プロバイダー

Windows SDK に付属している VSS ハードウェア プロバイダーの例をインストールするための指示に従っています。残念ながら、COM は DLL の登録を拒否し、次の出力が表示されます。

これは、このスレッドで説明されている問題と同じです。

http://www.osronline.com/showthread.cfm?link=185213

x86 マシンと x64 マシンの両方を使用してみましたが、違いはありません。ヒントや提案は大歓迎です。