我知道我们可以使用以下命令检查供应商详细信息
cat /sys/devices/virtual/dmi/id/sys_vendor
但对于 Azure VM 和 HyperV VM 而言,它们是一样的 - 微软公司。
我需要一种适当/独特的方法来检查 VM 是否在 HyperV 上。
答案1
要告知 Linux 客户机中的虚拟机管理程序类型,请使用virt-what
脚本。如果使用 Ansible,ansible_facts['virtualization_type']
事实类似,并且也适用于非 Linux 主机。
虚拟机管理程序类型不会告诉您托管提供商。要在客户机中执行此操作,请访问任何可用的实例元数据服务。每个实现这一点的方式都不同,请使用这一点来区分它们。例如,Azure 的响应将有一个带有键compute
的字典azEnvironment
,指示哪个 Azure 云。