自从Windows Server 2012开始,微软增加了存储池和去重功能,我就开始增大Hyper-V的使用范围。
早期的在线备份直接用disk2vhd.exe做脚本备份,当然这个方法也适用于P2V。
自从Windows Server 2016开始,Hyper-V就不再支持VHD格式,仅支持VHDX格式了,同样的,disk2vhd高版本虽然也支持VHDX,但是在老一些的系统上,只能用低版本disk2vhd就无法满足需求了。
搜索一番,如果只备份比较简单
备份指定虚拟机
1 | Export-VM -Name "tKC-VM" -Path "D:\vmbak" |
备份所有虚拟机
1 | Get-VM | Export-VM -Path "D:\vmbak" |
导入虚拟机
1 | Import-VM -Path 'D:\<vm export path>\2D91FED3-F1E0-4FFF-D8DE-29CED892A95A.vmcx' |
使用新ID导入虚拟机
1 | Import-VM -Path 'D:\<vm export path>\2D91FED3-F1E0-4FFF-D8DE-29CED892A95A.vmcx' -Copy -GenerateNewId |
如果有差异备份恢复的需求,可以用下面这个powershell脚本,安装使用方法如下:
首先是安装改PowerShell组件,源自 https://www.powershellgallery.com/packages/xHyper-VBackup/
1 | Install-Module -Name xHyper-VBackup |
备份脚本:
1 | $vmName = "tKC-VM" # 需要备份的虚拟机名称 |
恢复完整备份:
1 | $vmName = "tKC-VM" # 需要恢复的虚拟机名称 |
增量备份:
1 | $vmName = "tKC-VM" # 需要备份的虚拟机名称 |
恢复差异备份:
1 | $vmName = "tKC-VM" # 需要恢复的虚拟机名称 |