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

学习了Robin的博文,原地址 
下面是自己的总结
自动化管理越来越普遍,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查看后台压缩情况

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。