VM 位于哪个 esxi 服务器上?

VM 位于哪个 esxi 服务器上?

有没有办法找到特定 VM 所在的 ESXi 服务器?例如,我在 rhel5.4 vm 上,其中运行着 vmware-guestd 守护进程。但我想找到此 VM 所在的 ESXi 服务器的主机名?

答案1

我同意 Charles 的观点,没有简单的方法可以做到这一点。如果您愿意更改主机上相关虚拟机的配置文件,您可以将主机名写入其中,然后通过 vmware-tools 的调用来访问它(示例取自http://communities.vmware.com/message/1479849#1479849)。 例如:

在主机上:

vmware-cmd  /vmfs/volumes/4aa95d52-c297af51-90e2-003048d9586a/William-XP/William-XP.vmx setguestinfo machine.id $(hostname)

如果你不确定虚拟机的位置,可以使用以下命令找到它

vmware-cmd -l

*注意:如果您使用的是 ESXi,则需要在某个 Linux 主机上安装 VCLI,而不是直接在主机上运行 vmware-cmd。

在客户机上(此 cmd 适用于 Linux 客户机):

vmware-guestd --cmd "info-get guestinfo.machine.id"

我知道。不能直接执行“vmware-guestd --cmd "info-get host"”之类的操作真是太糟糕了,但也许有一天可以。

答案2

回答你的问题,据我所知,使用 ESX/ESXi 没有办法做到这一点。我见过其他人通过脚本做到这一点,但所有这些脚本实际上所做的就是调用 VCenter 并查询所述服务器名称正在运行的主机。我的问题是你是如何设置的,因为如果你没有运行 DRS/HA,那么你可以运行 BGInfo 并在 BGInfo 配置文件中添加主机名作为一行。然而,假设你正在运行 DRS/HA,这当然是没用的。

相关内容