
Zurzeit führe ich die Überprüfung durch, indem ich „dmidecode -s bios-version“ ausführe und die wichtigsten Cloud-Anbieter durchsuche. Beispiel:
# From an amazon ec2 VM $ sudo dmidecode -s bios-version 4.2.amazon
Gibt es einen allgemeinen und zuverlässigeren Ansatz, um dies herauszufinden?
Antwort1
Es gibt keinen Standardmechanismus, mit dem Cloud-Anbieter Identifikationen in laufende virtuelle Maschinen einspeisen. Wenn Ihr Ziel darin besteht, festzustellen, ob Sie in einer virtuellen Umgebung arbeiten oder nicht, können Sie denvirt-wasBefehl, aber es gibt keine gute Möglichkeit, einen Cloud-Anbieter von einem anderen zu unterscheiden.
Antwort2
Hier ist ein Codeabschnitt, mit dem Sie beliebte Bare-Metal-Anbieter wie AWS, Azure, Google Cloud und Oracle erkennen können. Wenn die Cloud nicht erkannt werden kann, wird „None“ zurückgegeben. https://github.com/nithinj/cloud_what
Antwort3
Auch wenn ein Nicht-Root
lsmod
auf Azure viele Hyperv/Hv_-Referenzen anzeigt, gehe ich davon aus, dass AWS etwas anzeigt, das als KVM oder Xen interpretiert werden kann.
(poste es als Antwort, weil ich nicht genug Ruf habe)