我有一台 VMware ESXi 6 主机,上面运行着多个来宾。这些客户端中的一个或多个正在使用具有 ISO 文件的数据存储。我正在通过 ssh 从 linux 访问 ESXi 主机,因此 PowerCLI 不是一个选项。
问题 1:我如何从 VMware CLI 中找出安装了此 ISO 文件的客户机?
问题 2:一旦我知道了这一点,我该如何从这些来宾以及 VMware CLI 卸载此 ISO 文件?
我希望它是vim-cmd vmsvc
子命令,但我找不到它们。
通过 SSH 在 shell 上快速而粗略的解决方案是编写一个连接多个操作的小脚本:
vim-cmd vmsvc/getallvms|awk '{print $1}'|grep -o -E '[0-9]+'
(列出所有虚拟机,仅使用 awk 显示第一列,使用 grep 过滤掉 IP 和文本以及空行)ash
没有类似的数组bash
)并检查每个数字/ID:(vim-cmd vmsvc/device.getdevices yourVmId|grep -o -A 12 -E 'yourImageName.iso' | grep -c 'connected = true'
列出所有设备,获取 ISO 文件周围的区域,检查如果 ISO 当前已安装/活动)vim-cmd vmsvc/device.getdevices yourVmId|grep -o -B 4 -E 'yourImageName.iso'|grep -o -E 'key = [0-9]+'|grep -o -E '[0-9]+'
由于缺少组选项,所以需要双 grep -P
)vim-cmd vmsvc/device.connection yourVmId yourDeviceId disconnect
断开装置。(编辑:这似乎不完全正确,它做了一些事情,但不是我所期望的。当我有时间进一步调查时,我会更新)我遇到的唯一问题是,在执行最后一步时,VSphere 客户端可能会出现消息“来宾锁定 CD 驱动器”,但也许这通常可以禁用。
归档时间: |
|
查看次数: |
10409 次 |
最近记录: |