我编写了一个自定义 Kickstart 作为 Foreman 配置模板。我遇到的一个问题是,我还没有找到一种方法来确定新主机是安装在裸机上还是虚拟机管理程序上。该@host.model
程序在 ESXi 虚拟机管理程序上有效,但 Libvirt 报告“标准 PC(i440FX + PIIX,1996)”
作为一种解决方法,我使用这个字符串作为 libvirt 标识符,但是,这并不安全,而且这只是一种解决方法。
那么,我应该使用哪个参数来确定服务器是否是虚拟服务器?
答案1
这将检查主机是否链接到计算资源:
<% if @host.compute_resource -%>
virtual, on a compute resource
<% else -%>
physical, bare metal
<% end -%>
答案2
您可以使用virt-what(1)
命令来确定您处于裸机环境还是虚拟化环境中。