2011-08-03 43 views
1

我正在使用基於Windows VSS(卷影複製服務)的diskshadow實施Hyper V VM的備份。帶有diskshadow的Hyper-V備份 - 何時調用「結束備份」?

的實施是相當多,如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 backupend backup命令將事件發送給vss編寫者,以允許他們準備創建卷影副本並在備份結束時作出反應。

  • EXEC HyperVBackup.cmd之後致電end backup是個好主意嗎?只要長xcopy部分需要,這會不會迫使作者停留在中間狀態?
  • 在線EXEC HyperVBackup.cmd之前撥通end backup是否合適?

其實我不知道vss編寫者在收到end backup發送的事件時通常會做什麼。

謝謝, n。

回答

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命令完成時自動解凍。

2

作爲替代的Diskshadow你可能也想看看下面的開源的Hyper-V備份解決方案,支持CSV和包括一個命令行工具:

http://hypervbackup.codeplex.com/