Я знаю, что мы можем проверить данные поставщика, используя следующую команду
cat /sys/devices/virtual/dmi/id/sys_vendor
Но в случае с виртуальными машинами Azure и HyperV это то же самое - корпорация Microsoft.
Мне нужен правильный / уникальный способ проверить, находится ли виртуальная машина на HyperV.
Чтобы указать тип гипервизора в гостевой системе Linux, используйте virt-what
сценарий. При использовании Ansible ansible_facts['virtualization_type']
факт аналогичен и также работает на хостах, отличных от Linux.
Тип гипервизора не сообщает вам хостинг-провайдера. Для этого в гостевой системе откройте любой доступный служба метаданных экземпляра. Каждый реализует это по-своему, используйте это, чтобы отличить их. Например, в ответе Azure будет compute
диктовать с azEnvironment
ключ, указывающий, какое облако Azure.