1

Windows VSS (ボリューム シャドウ コピー サービス) に基づく diskshadow を使用して、Hyper V VM のバックアップを実装しています。

実装は、DiskShadow / Xcopy BACKUP of Hyper-Vで説明されているとおりで、diskshadow スクリプトは次のようになります。


set context persistent
set metadata C:\backup.cab
set verbose on
begin backup
     add volume C: alias ConfigVolume
     #The GUID of the Hyper-V Writer
     writer verify {66841cd4-6ded-4f4b-8f17-fd23f8ddc3de}
     create
     EXPOSE %ConfigVolume% Y:
EXEC HyperVBackup.cmd
     UNEXPOSE Y:
end backup    

HyperVBackup.cmd では、シャドウ コピーをバックアップ ドライブに実際にコピーするには、xcopy を使用します。これは明らかに、バックアップ プロセスの中で最も時間のかかる部分です。

begin backupおよびコマンドはend backup、vss ライターにイベントを送信して、シャドウ コピーの作成を準備し、バックアップの最後に対応できるようにします。

  • end backupAFTERを呼び出すのは良い考えEXEC HyperVBackup.cmdですか? これにより、長い xcopy 部分がかかる限り、vss ライターが中間状態にとどまることが強制されませんか?
  • end backup行の前に呼び出すのが適切ではないでしょうEXEC HyperVBackup.cmdか?

実際、vss ライターが から送信されたイベントを受け取ったときに通常何をするかはわかりませんend backup

ありがとう、ナン。

4

2 に答える 2

2

diskshadow の代わりに、CSV をサポートし、コマンド ライン ツールを含む、次のオープン ソースの Hyper-V バックアップ ソリューションを確認することもできます。

http://hypervbackup.codeplex.com/

于 2012-03-10T13:13:08.600 に答える
0

end backup基本的に、バックアップが成功したことをすべての vss ライターに通知します。おそらく、すべてのデータが安全な場所に正常に移動されるまでは、そうしたくないでしょう。あなたの場合、HyperVBackup.cmd スクリプトがエラーなしで終了し、同様に xcopy がエラーなしで終了するまで、完了したバックアップを通知したくないでしょう。

この理由は、Exchange や SQL Server などの一部のライターが、によって通知されたときにトランザクション ログをフラッシュするためend backupです。トランザクション ログが正常にバックアップされ、安全な場所に配置されるまで、トランザクション ログをフラッシュしたくありません。

begin backup中間状態で何も保持してはなりません。vss ライターに「バックアップ ウィンドウの近くで実行する必要があるメンテナンスがある場合は、今すぐ実行してください」と伝えるだけです。vssライターの詳細はわかりませんがbegin backup、マーカーを設定するのにも使用されていることがわかりend backupました. たとえば、コマンドの時点までログをフラッシュするend backupのではなく、end backupコマンドがコマンドの時点までログをフラッシュしbegin backupます。

発生する唯一の「中間状態」は、ファイル システムのフリーズ中です。フリーズはコマンド中に発生し、createコマンドの完了時に自動的に解凍されcreateます。

于 2012-03-09T18:15:32.650 に答える