在 KVM 支持中,virsh list --all
列出所有创建的域名而不是 VM 的真实主机名。即,它将仅列出在创建 VM 期间指定的显示名称。
然而众所周知,用户可以更改 KVM 下的 VM 的真实主机名,更改后,创建时指定的域名保持不变。
virsh list --all
列出的是相同的域名,而不是虚拟机的真实主机名
那么如何使用virsh
命令检索 KVM 下的 VM 的真实主机名?
答案1
virsh 手册页说可以使用命令显示主机名virsh domhostname <domain>
。libvirt 版本 0.9.12 不支持此功能,但 libvirt 版本 1.2.1 提供此选项。
答案2
为了实现此功能,您需要在 KVM 客户机中安装 QEMU 客户机代理:
dnf install qemu-guest-agent # RPM-based
apt-get install qemu-guest-agent # APT-based
然后启用服务:
systemctl enable --now qemu-guest-agent.service
最后,您应该能够从虚拟机管理程序运行virsh guestinfo <domain>
,它将返回如下内容:
os.id : rocky
os.name : Rocky Linux
os.pretty-name : Rocky Linux 8.7 (Green Obsidian)
os.version : 8.7 (Green Obsidian)
os.version-id : 8.7
os.machine : x86_64
os.kernel-release : 4.18.0-425.3.1.el8.x86_64
os.kernel-version : #1 SMP Wed Nov 9 20:13:27 UTC 2022
hostname : foo.dataacq.sh