在 VMware ESX/i 中,如何使用 VMware Virtual Infrastructure Remote CLI 查找未使用的机器/磁盘?我有大量的库存和磁盘上的许多文件,我想找到可以删除的文件。
我想要的是确定是否
- 主机上的任何机器都在使用磁盘,或者
vmdk
是否vmx
- 一
vmx
台机器存在于主机的清单中。
肯定有一些聪明的方法可以找到这个吗?如果不是 VIRCLI,那么也许还有别的?或者我需要虚拟中心吗?
编辑:这是一个不与任何其他主机共享机器或磁盘的单一主机。
IC 不知道您是否将这些磁盘共享给另一个ESXi 主机使用,后端有一个 SAN 并且多个主机访问同一存储设备是很常见的。在这种情况下,无法知道哪些主机正在访问哪些机器,您所描述的场景只有在您拥有一台主机时才有意义——这对于 VMware 的许多企业客户来说不是典型的场景。
使用 RCLI 或 shell,您可以遍历所有现有机器,然后将其与磁盘上的内容列表进行比较。但是,如果您在主机之间共享磁盘,那么事情会变得更加复杂,您还需要遍历每台机器上的设备。
更新:对,现在它更像是一个疯狂的脚本/编程问题;)
从RCLI 文档开始,我可能会做一些事情,比如使用vmware-cmd -l
列出主机上所有已注册的机器。然后使用vifs
下载配置文件,grep
通过那些寻找虚拟磁盘的提及(.vmdk
)并将所有这些存储在一个文件中。
第二部分,将编写一个脚本来执行递归目录列表,再次使用vifs
,再次在其上运行grep
以仅包含.vmdk
和.vmx
文件。现在你有两个列表,通过管道传递这些列表,sort
然后diff
找出哪些.vmx
文件没有在机器上注册,哪些.vmdk
文件没有被任何活动的 VM 使用。然后你有你的候选人删除:)