连接服务器上有三个实用程序可用于维护 vCenter Server 中的即时克隆虚拟机以及这些虚拟机所在的集群。
这些实用程序为 IcMaint.cmd、IcUnprotect.cmd 和 IcCleanup.cmd,位于 C:\Program Files\VMware\VMware View\Server\tools\bin 下。
IcMaint.cmd
通常,在将 ESXi 主机置于维护模式时,Horizon 将自动删除父虚拟机,以便主机能够进入维护模式,而无需任何手动干预。
但是,您可以使用此命令从 ESXi 主机中删除最佳配置映像(即 vCenter Server 中的父虚拟机),以便将主机置于维护模式。不会自动将主机置于维护模式。要在主机上执行维护,vCenter Server 管理员必须手动将主机置于维护模式。
语法:
IcMaint.cmd -vc hostname_or_IP_address -uid user_ID -hostName ESXi_hostname -maintenance ON|OFF
参数:
- -vc host name or IP address of vCenter Server
- -uid vCenter Server user ID
- -hostname ESXi host name
- -maintenance ON|OFF
此参数指定主机是否可用于托管最佳配置映像虚拟机。
在主机上运行该命令后,InstantClone.Maintenance 注释值将设置为 1,并且会删除最佳配置映像虚拟机。在删除最佳配置映像虚拟机后,InstantClone.Maintenance 注释值将设置为 2,并且不会在主机上创建其他最佳配置映像虚拟机。再次使用 -maintenanceOFF 运行该命令时,将清除 InstantClone.Maintenance 注释值以使主机可用于托管最佳配置映像虚拟机。
所有参数均是必需参数。
IcUnprotect.cmd
在 ClonePrep 创建文件夹和虚拟机之后,您可以使用此实用程序取消对文件夹和虚拟机的保护,删除虚拟机,并检测删除了其最佳配置映像或快照的虚拟机。ClonePrep 是可在创建过程中对即时克隆进行自定义的机制。
语法:
IcUnprotect.cmd -vc hostname_or_IP_address -uid user_ID [-includeFolders][-skipCertVeri]
参数:
- -action
您可以对此参数使用以下选项:
- unprotect)。取消对内部虚拟机的保护。
- delete)。删除内部虚拟机。
- detect)。检测并列出删除了其最佳配置映像或快照的内部虚拟机。
如果未指定 -action 参数,则内部虚拟机默认将不受保护。
- -vc host name or IP address of vCenter Server
- -uid vCenter Server user ID
- -clientId instant-clone client ID(可选)
如果未指定 clientId,则会对所有数据中心内的全部 ClonePrep 虚拟机取消保护。
- -domain domain name(可选)
您可以使用多个域名,各个域名之间用逗号分隔且不含空格。
- -host host name(可选)
您可以使用多个主机名,各个主机名之间用逗号分隔且不含空格。
- -datastore datastore name(可选)
您可以使用多个数据存储名称,各个名称之间用逗号分隔且不含空格。
- -vmName VM name(可选)
您可以使用多个虚拟机名称,各个名称之间用逗号分隔且不含空格。
- -vmType internal VM type(可选)
您可以使用多个虚拟机类型,各个类型之间用逗号分隔且不含空格。您可以将模板、副本、父项用作此参数的选项。
- -includeFolders include folders
此参数可在对虚拟机取消保护的同时,也对文件夹取消保护。
- -skipCertVeri skip certification verification
IcUnprotect.cmd 强制执行主机名验证。指定命令参数时,必须输入 vCenter Server 的正确主机名(而不是其 IP 地址)。要禁用主机名验证并改为使用 vCenter Server 的 IP 地址,请使用 -skipCertVeri。
指定以下参数可删除 vCenter Server 中的所有父虚拟机:
IcUnprotect -action delete -vc <IP address of vCenter Server> -uid <vCenter Server user ID> -clientId <instant clone client ID> -host <hostname 1>,<hostname 2> -vmType parent
指定以下参数可删除 vCenter Server 中的特定父虚拟机:
IcUnprotect -action delete -vc <IP address of vCenter Server> -uid <vCenter Server user ID> -clientId <instant clone client ID> -host <hostname 1>,<hostname 2> -vmType parent -vmName <parent VM name 1>,< parent VM name 2>
IcCleanup.cmd
您可以使用此实用程序来取消保护和删除即时克隆所创建的部分或全部内部虚拟机。此实用程序还提供了一个 list 命令,此命令可根据其最佳配置虚拟机和用于创建即时克隆池的快照,将内部虚拟机分组到分层结构中。list 命令具有一个 detect 选项,此选项仅显示缺少启动标记或快照的内部虚拟机组。然后,您可以取消保护和删除特定组或所有这些组。您还可以将所有组输出到磁盘文件中,以供将来参考。
语法:
iccleanup.cmd -vc vcName -uid userId [-skipCertVeri] [-clientId clientUuid]
参数:
- -vc host name or IP address of vCenter Server
- -uid vCenter Server user ID
- -skipCertVeri Skip the vCenter Server certificate verification(可选)
- -clientId Client UUID, the unique ID for the server cluster made up of Connection Server and one or more replica servers.(可选)
注: 要查找客户端 UUID,请登录到连接服务器或任何副本服务器,并运行 ADSI Edit。在 中,找到 pae-GUID 的值,这是客户端 UUID 的值。如果未指定客户端 UUID,则清理工具将处理所有内部虚拟机。如果指定了客户端 UUID,则清理工具将仅处理属于该特定客户端 UUID 的内部虚拟机。
- list 列出部分或所有内部虚拟机,并以分层结构(也称为内部虚拟机组)显示这些虚拟机。选项包括:
- -all 列出所有内部虚拟机组
- -D,--detect 检测模式仅列出缺少启动标记或快照的内部虚拟机组
- -h,--help 打印此命令的可用用法和选项
运行 list 命令后,您可以看到以分层结构(也称为内部虚拟机组)显示的符合条件的内部虚拟机。对于这些内部虚拟机组,您可以运行以下命令:
- unprotect 使用以下选项取消保护部分或所有内部虚拟机组:
- -all 取消保护所有内部虚拟机。如果未指定 -I 选项,则必须指定 -all 来取消保护所有内部虚拟机组
- -I,--index 取消保护特定的内部虚拟机组
- -h,--help 打印此命令的可用用法和选项
- delete 删除部分或所有内部虚拟机组
- output 将内部虚拟机组输出到磁盘文件中。
- -F,--file 用于保存内部虚拟机组的文件名
- -h,--help 打印此命令的可用用法和选项
- back 返回到主菜单
- unprotect 取消保护部分或所有内部虚拟机(包括文件夹)。选项包括:
- -A,--adDomain 域名
- -H,--host 主机名
- -D,--datastore 数据存储名称
- -T,--vmType 内部虚拟机类型:模板、副本或父项
- -N,--name 内部虚拟机名称
- -I,--includeFolders 包括内部虚拟机文件夹
- -all 取消保护所有内部虚拟机
- -h,--help 打印此命令的可用用法和选项
- delete 删除部分或所有内部虚拟机(包括文件夹)。选项包括:
- -A,--adDomain 域名
- -H,--host 主机名
- -D,--datastore 数据存储名称
- -T,--vmType 内部虚拟机类型:模板、副本或父项
- -N,--name 内部虚拟机名称
- -I,--includeFolders 包括内部虚拟机文件夹
- -all 删除所有内部虚拟机
- -h,--help 打印此命令的可用用法和选项
- exit 注销 vCenter Server 并退出程序