上次推荐《Host Resouces Deep Dive》后,有朋友告诉我他们还在rubrik网站上找到另外一本,《vSphere 6.7 Clustering Deep Dive》,这本书其实会对大家帮助更大,特别是HA功能,因为6.7版本后,HA功能并没有什么新东西,所以这本书更值得下载和阅读,VMware的HA不仅仅可以应对服务器故障,还可以应对存方面的APD和PDL事件,而且还可以应对VM的死机,甚至通过第三方工具,可以对应用故障进行重启。
处于尊重版权,大家还是通过下面的链接去下载
https://www.rubrik.com/lp/white-papers/clustering-deep-dive-ebook
下面转到本篇的主题,就是分享一个我常常用的脚本;VMware有完整的脚本系统,早期的环境管理可以通过vSphere CLI,这个是基于Perl语言,后来7.0后逐步都改成了更加广泛使用power shell,其实管理的环境规模大了,在我看大概20个物理主机以上,最方便不是去装什么其他工具,弄一些华而不实的图形界面,而是使用脚本,甚至可以将是否使用脚本看作管理能力的一个里程碑。
场景是这样的,使用esxi的Home Lab结束测试,或者类似的情况,需要先关闭所有的虚拟机,然后再关闭esxi主机,如果你打开的虚拟机比较多,这个过程耗费的时间就比较长了,为此我写了一个PowerCLI脚本,分享给大家:
#连接到esxi 主机
Connect-VIServer -Server “esxi 主机IP地址” -user root -password “密码” -Force
#选出所有的power on的VM,用shutdown (软关机)命令关机,这些虚拟需要安装了VMware Tools
Get-VM | Where-Object {$_.powerstate -eq ‘PoweredOn’} | Shutdown-VMGuest -Confirm:$false
Start-Sleep -s 180 #暂停180秒,等待虚拟机完成软件关机
# 对于没有安装VMware Tools的虚拟机使用power off来关机
Get-VM | Where-Object {$_.powerstate -eq ‘PoweredOn’} | Stop-VM -Confirm:$false
Start-Sleep -s 60 #暂停60秒,等待虚拟被power off
#最后关闭主机
Stop-VMHost -VMHost "esxi 主机IP地址" -force -Confirm:$false
执行起来的屏幕显示类似:
这个脚本不适合多层嵌套的场景,就是有些VM本身也是宿主机,其中还运行有虚拟机,这种情况最好手工先关闭掉这种虚拟机,然后再执行脚本,否则这些虚拟机会被power off而不是shut down。
当你精疲力竭地弄完测试,留下几十台power on的虚拟机的时候,希望这个脚本能帮到你!
如果您觉得有用,请点赞,分享和关注;合作联系电话:13503069419,加微信,请注明vExpert。
原文始发于微信公众号(vExpert):快速关闭Home Lab的脚本
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论