torlee 发表于 2018-9-2 11:25:25

powershell 学习------hpyer-v 虚拟机优化(自动备份,压缩磁盘)

学习了Robin的博文,原地址http://winteragain.blog.51cto.com/1436066/1147980  

  
下面是自己的总结
  
自动化管理越来越普遍,Hyper-v 虚拟机也同样可以。
  
前提:系统server 2008以上,powershell 3.0, 导入hyper-v库
  

  
1.虚拟机自动备份
  
Set-ExecutionPolicy unrestricted    #信任脚本
  
Import-Module D:\HyperV\HyperV\HyperV.psd1#每次执行都要到导入库
  
$BackupDriver = “E:”         #备份驱动盘符
  
$BackupFolder = $(get-date -uformat “%Y%m%d”)   #备份文件夹名,格式为年月日
  
New-Item -path $BackupDriver -name $BackupFolder -type directory
  
$vm = "XPx32","win7x64"    #分别备份 hyper-v虚拟机的名称
  
foreach($i in $vm)
  
{
  
shutdown-vm $i -force
  
Start-Sleep 30
  
Export-Vm $i $BackupDriver\$BackupFolder\$i"_"$(get-date -uformat "%Y%m%d%H%M") -Copystate –wait
  
Start-Sleep 60
  
start-vm $i
  
Start-Sleep 60
  
}
  

  
2. 虚拟机硬盘压缩
  

  
下面是虚拟机硬盘的压缩的命令
  
compact-vhd 与 compress-vhd都可以实现,功能一样。
  
使用方面,结合实际生产情况,我建议在空闲时间执行。我一般是补丁更新后继续操作
  
所以压缩完后备份虚拟机,也可以自动化执行,最终目的是优化hyper-v虚拟机
  

  
Compress -VHD -VHDPaths 'E:\HyperV_Runing\VHD\XPx32.vhd' #compress vhd 压缩磁盘 ,虚拟机磁盘的路径:'E:\HyperV_Runing\VHD\XPx32.vhd'
  

  
Get-WmiObject -NameSpace root\virtualization msVM_storagejob | ft jobStatus, description, percentcomplete -auto#compress status查看后台压缩情况


页: [1]
查看完整版本: powershell 学习------hpyer-v 虚拟机优化(自动备份,压缩磁盘)