在采购服务器的时候,一般都会考虑是否支持虚拟化,服务器的虚拟化主要涉及CPU、和主板是否支持虚拟化,目前业内对虚拟化做的最好的公司是VMware,主要服务器支持ESXI系统的安装,一般都是支持虚拟化。虚拟化的好处是可以将一台物理机虚拟成多个独立的虚拟服务器,虚拟服务器之间相互独立,互不干扰。由于笔者的公司的服务器都是装有ESXI系统,且通过VMware vSphere进行虚拟化管理,但遇到的问题是:当存在大量虚拟机的时候,手工快照策略就变得浪费时间,且不友好。本文的重点就是介绍通过VMware公司的工具VMware PowerCli进行虚拟机的批量快照策略。
VMware PowerCli
PowerCLI是VMware中的一款命令行管理工具。一般管理VMware都使用vSphrere Client或者vSphere Web Client,vSphere PowerCLI则可以通过命令行来管理VMware vSphere主机或者是VMware vCenter。在这里做个类比,PowerCLI相当于在windows下面的dos command,可以直接调用VMware的底层,执行快照等,具有很高的灵活性和可编程
传统的虚拟机的快照是通过手动的方式进行,如下图
当虚拟机个数比较少的时候,通过手动的方式进行快照测试是比较直接的,但当虚拟机个数比较多(比如笔者的公司的虚拟机有60个,如果都采用手动方式操作,会疯的),那如何实现虚拟机的批量快照策略?
VMware PowerCli安装
VMware PowerCli的安装包我共享在百度云盘中(https://pan.baidu.com/s/1fFm9jh8PJXBuqXJ3wEewTQ 提取密码: akux)存在各个版本,如果感兴趣的话可以去VMware的官网进行下载,但貌似是收费的。本文采用的是VMware-PowerCLI6.5进行安装的。
VMware-PowerCLI6.5的安装依赖于windows management framework 3.0以上的版本,如果版本低于3.0安装过程中将提示报错信息。windows management framework 3.0的安装可以上windows的官网进行下载,地址:https://www.microsoft.com/en-us/download/details.aspx?id=34595 (此处省略了windows management framework 3.0的过程,直接下一步就可以了,安装之后需要重启)
双击安装文件后开始安装,会先安装VIX和相关插件,如下图:
紧接着安装的是PowerCLI
安装完成之后,在桌面上创建2个快捷方式,一个30位的,一个64位的,如下图
启动配置VMware PowerCli
由于笔者是采用的64位系统,所以采用64位的快捷方式进入,双击进入:
报错的原因是由于系统默认脚本执行策略为Restricted ,此时Powercli无法正常运行,需要将执行策略修改为RemoteSigned ,其中有2个命令如下:
get-executionpolicy ###查看系统脚本执行策略方式
set-executionpolicy remotesigned ###修改测试为remotesigned方式
重新启动界面就可以进入如下窗口界面
VMware PowerCli实现批量虚拟机管理
power shell登录服务器:connect-viserver 192.168.1.201 –user 'root' –password 'password'
192.168.1.201物理服务器的IP地址
-user 为登录物理服务器的用户名
-password为对应的密码
登录之后可以看下如下界面,说明登录服务器成功
(1)、查看服务器所有的虚拟机:get-vm
(2)、对所有的服务器执行快照,快照名字为:20180906:
get-vm | New-Snapshot -Name "20180906-2"
在PowerCli的显示如下:
对应的在VMware vSphere控制台有如下信息:
同理,对开机的虚拟机进行快照:
get-vm |where {$_.PowerState -eq "PoweredOn"} |New-Snapshot -Name "20180906"
(3)、删除20180906的快照:
get-vm | get-snapshot -name "20180906" | remove-snapshot
通过以上的命令可以统一对一台实体服务器的虚拟机进行批量快照策略,关于通过定时脚本定时执行和删除快照策略,将在第二部分讲解
PS:VMware powerCli的官方地址:https://www.vmware.com/support/developer/PowerCLI/index.html
VMware PowerCli的官方官方文档:https://docs.microsoft.com/zh-cn/powershell/scripting/getting-started/cookbooks/using-format-commands-to-change-output-view?view=powershell-5.1