使用卷影副本(VSS)和Diskshadow.exe来运行Hyper-V映像的命令行备份

我需要通过命令提示符以最less的停机时间来备份正在运行的Hyper-V虚拟机。 备份应该存储在另一个本地磁盘或远程共享上。

以下是用于使用VSS备份Hyper-V以创build快照的示例脚本。 在快照期间,不支持VSS的客户机操作系统将进入保存状态。

此示例将位于E:\ VS目录中的映像备份到F:\ VS Backups中的本地目录中。 这些地点将需要调整,以适应您的需求。 对于每个源驱动器,都需要将额外的卷添加到VSS快照。

Technet上提供了有关 diskshadow.exe命令的文档。

将这三个文件中的每一个复制到一个目录并运行HyperVBackup.cmd

HyperVBackup.cmd:

REM Use the diskshadow command to support "live" Hyper-V backup REM though VSS diskshadow /s diskshadow_script.txt > HyperVBackup_LOG.txt REM Remove CAB files which are generated to support the exporting REM of disk shadow copies (not required here) del *.cab /Q 

diskshadow_script.txt:

 # Remove any existing shadow copies from crashed or errored scripts # WARNING: this will conflict with other backup software if running # at the same time. delete shadows all # Use a persistent context so we can "map" a drive set context persistent # Log everything set verbose on # ***TODO*** Change this drive letter to match the location of your # VHD files add volume E: alias HyperV1 # Add additional volumes if needed #add add volume H: alias HyperV2 # Create the shadow copy create # Expose each shadowed volume as a drive # ***TODO*** Make sure the exposed drive letter is available and used # in the backup script expose %HyperV1% S: # Expose additional volumes as needed #expose %HyperV2% T: # Execute the backup script (robocopy) exec HyperVBAckup_exec.cmd # clean up the shadow copy images delete shadows all 

HyperVBackup_exec.cmd:

 REM This is the script to perform the actual copy of the files REM Use robocopy with the source set to the expose shadow drives REM The drives are read-only, so don't try to reset the archive bit REM **TODO** Set the destination location for the backups robocopy S:\VS "F:\VS Backup" /MIR /NP /XF *.ISO /R:2 /W:5 REM Dummy command to clear the robocopy errorlevel verify >nul