web-dev-qa-db-ja.com

VMがbashを使用しているHyperVインスタンスであるかどうかをどのように知ることができますか?

私は次のコマンドを使用してベンダーの詳細を確認できることを知っています

cat /sys/devices/virtual/dmi/id/sys_vendor

ただし、Azure VMおよびHyperV VMの場合は同じです-Microsoft Corporation。

VMがHyperV上にあるかどうかを確認するための適切で独自の方法が必要です。

1
Ashwani

Linuxゲストでハイパーバイザーのタイプを確認するには、virt-what 脚本。 Ansibleを使用している場合、ansible_facts['virtualization_type'] factも同様であり、Linux以外のホストでも機能します。

ハイパーバイザーの種類では、ホスティングプロバイダーはわかりません。ゲストでこれを行うには、利用可能な インスタンスメタデータサービス にアクセスします。それぞれがこれを異なる方法で実装し、それを使用して区別します。たとえば、Azureの応答には、Azureクラウドを示すcomputeキーを持つazEnvironment辞書があります。

4
John Mahowald