我需要通过命令提示符以最少的停机时间来备份正在运行的Hyper-V虚拟机。备份应存储在另一个本地磁盘或远程共享上。
我需要通过命令提示符以最少的停机时间来备份正在运行的Hyper-V虚拟机。备份应存储在另一个本地磁盘或远程共享上。
Answers:
以下是用于使用VSS备份快照以创建快照的示例脚本。在快照期间,不支持VSS的客户机操作系统将进入保存状态。
本示例将位于E:\ VS目录的映像备份到F:\ VS Backups的本地目录。这些位置将需要进行调整以满足您的需求。对于每个源驱动器,将需要向VSS快照添加一个额外的卷。
关于diskshadow.exe命令的文档可从Technet上获得。
将这三个文件分别复制到目录中,然后运行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