VMware vSphere Web Services SDK编程指南(十二 虚拟机配置)- 12.

2019-07-13 23:07发布

12.5 执行虚拟机电源操作


就像物理机器一样,虚拟机也有电源状态。 ■   Powered on – 虚拟机正在运行。如果没有安装操作系统,你可以像物理机器那样执行系统安装操作。 ■   Powered off – 虚拟机断电。你仍然可以在虚拟机的物理磁盘上更新软件,这对于物理机器来说是不可能的。 ■   Suspended – 虚拟机暂停,但可以恢复;就像处于待机状态或休眠状态的物理机器一样。
注意:在启动虚拟机之前,你必须确保主机有足够的资源。必须对虚拟机有足够的内存,以及一些内存开销。详细可查看 虚拟机内存开销查询
VirtualMachine 电源操作允许你改变电源状态,每个操作对当前虚拟机的电源状态是敏感的,例如,开机(power on)一台已关机的虚拟机得到预期的结果,而开机一台已开机的虚拟机会导致一个 error。所以运行下列任务之前,必须检查虚拟机的当前电源状态。 ■   PowerOnVM_Task – 开机虚拟机。如果虚拟机被挂起,该方法将从挂起处执行恢复。 ■   PowerOffVM_Task – 虚拟机关机。 ■   ResetVM_Task – 重新设置这个虚拟机的电源。如果当前状态为 poweredOn,该方法首先执行硬关机操作,当电源状态为 poweredOff,该方法执行一个 powerOn 操作。       尽管该方法在 powerOn 后起着 powerOff 的作用,但这两个操作相对于其他客户机上是原子的,这意味着在重置方法完成之前,其他的电源操作不能执行。 ■   SuspendVM_Task – 挂起虚拟机。之后你可以开启挂起的虚拟机至相同状态。 虚拟机经常被配置为启动来宾操作系统,当他们启动时,并且当自身被关机时,试着关掉来宾操作系统。然而,开启和关掉虚拟机不同于启动和关掉来宾操作系统(查阅 12.7 定制来宾操作系统
注意:电源操作可能会影响到参与 DRS 集群或 VMware HA 的其他虚拟机,可查阅资源管理对象关于 DRS 集群或 VMware HA 的信息 。
可以使用 Datacenter.PowerOnMultiVM_Task 开启 datacenter 中的多个虚拟机,传入一个 VirtualMachine 托管对象引用数组及一组选项值至该方法。如果列表中的任何虚拟机都是由 VMware DRS 手动管理的,那么系统会生成一个用户需要手动应用 DRS 的建议。独立或 DRS 禁用的虚拟机为由前主机启动。由 DRS 所管理的虚拟机由 DRS 放置,由推荐的主机启动。

12.6 注册和注销虚拟机

当你创建了一个虚拟机后,该虚拟机就变成清单(在默认的文件夹中,在默认情况下调用了创建方法)的一部分,并且虚拟机被注册了。如果复制虚拟机文件来重新定位虚拟机,或者使用 vSphere client 从清单中删除文件,该虚拟机变成了未注册和不可用的。不能再对该虚拟机开机,因为它已不是清单的一部分。 要恢复虚拟机至清单,并使其能够再次可用,可以使用 RegisterVM_Task 方法,该方法定义于 Folder 托管对象中。你可以注册虚拟机至主机或资源池内,如果你想使用虚拟机去克隆其他虚拟机,你可以注册该虚拟机作为一个模板。 ColdMigration.java 示例演示了虚拟机的注册和重新配置,该示例的核心是下面的调用,它注册了虚拟机。参数包括虚拟机的当前 folder、datastore 路径、名称、是否注册为模板、主机或资源池来注册该虚拟机。 ManagedObjectReference taskmor = cb.getConnection().getService().registerVM_Task( vmFolderMor,vmxPath,getVmName(),false,resourcePool,host); 注册后,虚拟机从其注册的资源池或主机上获取资源(CPU、内存等)。 RemoveManagedObject.java 示例演示了虚拟机注销。

12.7 定制来宾操作系统(Guest OS)

在虚拟机上安装来宾操作系统就和在物理机上安装一样,之后,如果在来宾操作系统上安装了 VMware Tools ,就可以使用 vSphere API 来检索信息并执行一些定制。 VirtualMachine 包含下列方法用于管理来宾操作系统: ■   ShutdownGuest 和 RebootGuest 关掉、重启来宾操作系统,StandbyGuest 将来宾置为休眠模式。在每种情况下,都要在来宾操作系统上执行操作。例如,你可能关闭了 Windows,但是虚拟机仍在运行。 ■   ResetGuestInformation 清除缓存的来宾信息,来宾信息只在虚拟机关机状态下才可以被清除。如果缓存了过时的信息,就可以使用该方法,防止对IP地址或MAC地址的重用。 ■   SetScreenResolution 设置来宾操作系统控制台屏幕大小,当调用该方法,该更改立即反映在 vSphere Client 可以访问的虚拟机控制台。 可以使用 CustomizationSpec 数据对象来定制来宾操作系统的特性和网络设置,该对象是 VirtualMachine.CustomizeVM_Task 的一个参数。当克隆虚拟机时,CustomizationSpec 也是入参 VirtualMachineCloneSpec 的一个属性。 使用此方法来定制的设置主要是虚拟机设置,但由于虚拟机和来宾操作系统共享信息,因此也使用该方法对来宾操作系统进行了定制。 CustomizationSpec 允许设置下列属性: ■   encryptionKey – 字节数组,可以被用于对管理员密码进行加密的公钥(public key)。 ■   globalIPSettings – 包含CustomizationGlobalIPSettings 数据对象,指定了一个 DNS 服务器列表,以及虚拟网络适配器的名称解析后缀列表 ■   identity – 允许指定网络标识和设置,类似于微软系统准备工具(Microsoft Sysprep 工具)。 ■   nicSettingMap - 特定于特殊虚拟网络适配器的自定义 IP 设置。 ■   options – 可选操作(LinuxOptions 或 WinOptions )。

原文:
VMware vSphere 6.5 Documentation Center:Performing Virtual Machine Power Operations VMware vSphere 6.5 Documentation Center:Registering and Unregistering Virtual Machines VMware vSphere 6.5 Documentation Center:Customizing the Guest Operating System