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

2021年09月15日 阅读数:2
这篇文章主要向大家介绍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查看后台压缩状况