So erkennen Sie, ob eine Maschine virtualisiert ist oder nicht

So erkennen Sie, ob eine Maschine virtualisiert ist oder nicht

Ich habe Linux-, AIX-, SunOs- und HP-UX-Maschinen und möchte feststellen, ob die Maschine virtuell ist oder nicht. Bisher habe ich gefundenDieser Artikelwodurch ich diese Informationen zu Linux erhalten konnte:

dmesg | grep -i virtual    //On Linux Machines

Aber ich brauche auch Befehle fürAIX,HP-UXundSunOs. Irgendeine Hilfe?

Antwort1

Versuchenhttp://people.redhat.com/~rjones/virt-what/. Korrigieren Sie mich, wenn ich mich irre, aber ich glaube, Red Hat verwendet dies in seinem Satellite, um virtualisierte Systeme zu erkennen und zu gruppieren.

Antwort2

Die Definition von „virtuell“ ist zu locker. Wenn wir davon ausgehen, dass Sie mit AIX jedes AIX-Image meinen, das eine LPAR (oder eine Mikropartition oder eine andere von IBM gewählte Terminologie) ist, dann können Sie uname -Lbeispielsweise verwenden:

nonlpar# umame -L
-1 NULL

lparhost# uname -L
5 lparhost

Wenn Sie WPAR meinen, können Sie verwenden. uname -WEin Ergebnis von 0 bedeutet, dass Sie sich nicht in einem WPAR befinden, ein Ergebnis über 0 ist ein WPAR.

Wenn Sie meinen, ob die AIX-Instanz auf einen VIO-Server angewiesen ist, dann gibt es keinen soliden und zuverlässigen Mechanismus, um dies herauszufinden, außer sich die Geräte anzusehen und herauszufinden, ob sie über VIO-Server bereitgestellt werden.

Man sollte bedenken, dass bei pSeries-Hardware, auf der AIX läuft, heutzutage fast alles ein LPAR und damit grundsätzlich virtuell ist, selbst wenn es die einzige Betriebssysteminstanz ist, die die Hardware verwendet.

Antwort3

In HP-UX gibt es unterschiedliche Virtualisierungsstufen und unterschiedliche Befehle, um festzustellen, ob Ihr System virtualisiert ist.

  1. Integrity-Virtual-Machine-Gast

    Wenn Sie den folgenden Befehl in einem IVM-Gast ausführen, erhalten Sie:

     # hpvminfo 
     hpvminfo: Running inside an HPVM guest.
    

    Wenn Sie den folgenden Befehl in keinem „IVM-Gast“ ausführen, erhalten Sie:

     # hpvminfo 
     hpvminfo: Running inside an HPVM host.
    

    oder # hpvminfo sh: hpvminfo: nicht gefunden.

  2. Virtuelle HP-Partition

    Wenn Sie den folgenden Befehl in einem vpar ausführen, erhalten Sie:

     # hpvminfo 
     hpvminfo: Running inside an HPVM guest.
     # vparstatus -w
     The current virtual partition is <VPAR NAME>.
    

    Wenn Sie den folgenden Befehl in einem NO vpar ausführen, erhalten Sie:

     # vparstatus 
     sh: vparstatus:  not found.
    

Antwort4

Für eine virtuelle x86-Maschine führen Sie einfach ein Programm aus, das aufruftdie offiziellen Mechanismen zur Erkennung von x86-virtuellen Maschinen. Ich würde Beispiele liefern, aber mir fällt gerade keins ein. Ich verwende meine eigenen Tools. Thomas Liskesimvirtist der Dokumentation zufolge vielversprechend, aber ich habe es weder verwendet noch den Quellcode gesehen.

Ob dies auch für Ihre SunOS-Maschinen gilt, hängt davon ab, ob es sich um x86 Solaris handelt oderwirklichSunOS. ☺ Das Erkennen der Existenz einer virtuellen Maschine erfordert Dinge, die spezifisch für die Befehlssatzarchitektur des Prozessors sind, nicht für das Betriebssystem. Daher ist „Ich habe AIX- und HP/UX-Maschinen.“ weniger nützlich als beispielsweise „Ich habe PowerPC- und Itanium-Maschinen.“.

verwandte Informationen