批量管理 VMware虚拟机
2018-11-09
vmrun是命令行程序,可以对虚拟机进行快照管理、克隆管理、电源管理、VM插件管理等。其中,电源管理功能可以快捷对虚拟机开机、关机、挂起、暂停和重启等操作。通过脚本循环语句,结合vmrun命令,实现批量克隆和开关机等操作。为方便使用vmrun,建议将vmrun工作路径添加到系统环境变量中。
准备模板虚拟机
VMware Workstation宿主机CPU需要开启虚拟化功能(BIOS中设置),内存越大,可同时运行的虚拟机数量越多,最少 4G ;VMware Workstation安装版本 8.0 以上。本文为验证VMware Workstation的批量管理功能,创建的模板虚拟机选用了硬件要求较低的Windows XP,配置为1CPU,40GB IDE 硬盘,512MB内存,存放目录为C:vmwareXP。为方便远程管理模板虚拟机,需要在虚拟机配置的选项中启用VNC连接。
系统安装过程不再赘述,系统安装完毕后,先关闭虚拟机,再进行后续的快照、克隆等操作,这样具有克隆速度较快、快照占用空间较小等优点。
批量克隆虚拟机
以模板虚拟机为基础,通过vmrun命令,先创建系统快照,再批量克隆虚拟机。克隆分完成克隆和链接克隆,完成克隆的虚拟机可以脱离模板虚拟机独立运行;链接克隆的虚拟机高度依赖模板虚拟机,但它独立CPU和内存,更加节省存储空间。下面批处理命令可以批量克隆三台虚拟机:
注:answer.msg.uuid.altered当虚拟机检测到路径等物理改变后,如果它的值为“I Copied It”,虚拟机会重新生成网卡MAC地址和UUID;如果它的值是“I moved it”,则只改变 UUID。
RemoteDisplay.vnc.port设置VNC远程连接的端口。
批量启动虚拟机
注:nogui参数实现虚拟机后台开机,无需打开图形界面,节约系统资源。
批量关闭虚拟机
批量删除虚拟机
批量删除和批量克隆正好相反。删除虚拟机后,根据需要决定是否删除快照。
解决虚拟机克隆后出现“系统重名”问题
1.创建模板虚拟机时,禁用NetBIOS。控制面板的网络和共享中心(网络连接)中,打开本地连接属性,在TCP/IP协议高级设置的WINS选项卡下,选择“禁用TCP/IP 的NetBIOS(S)”。
2.创建模板虚拟机时,在C:windowssystem32目录下创建批处理文件随机修改计算机名,批处理文件hostname.bat内容如下:
3.最后一次启动模板系统时,修改系统注册表,让克隆虚拟机启动时仅运行一次批处理文件:
宿主机开机自启动虚拟机问题
如果虚拟机的宿主机因为停电、注销或其他原因需要重启时,管理员还要远程登录宿主机,执行虚拟机开机命令,相对比较麻烦。通过下面设置,可以让虚拟机随宿主机启动而自动开机:
在开始运行菜单中输入gpedit.msc,打开本地策略组编辑器,选择用户配置的Windows设置选项,在脚本(登录/注销)的“登录”和“注销”中分别添加虚拟机的开机脚本,即可解决宿主机重启后虚拟机的开机问题。
vmrun工作路径加入系统环境变量问题
假设Vmware WorkStation安装目录:C:Program FilesVMware。在控制面板的系统功能中,选择系统保护(系统属性),打开高级选项卡设置环境变量,将vmrun的工作路径C:Program FilesVMwareVMware Workstation添加到PATH变量中。N