it-swarm.com.de

VMware Linux Server - Wie können Sie feststellen, ob Sie eine VM oder echte Hardware sind?

Eine interessante Frage. Ich habe mich bei einem Linux-Host (höchstwahrscheinlich SuSE) angemeldet. Gibt es eine Möglichkeit, programmgesteuert zu erkennen, dass ich ein VM Host) bin oder nicht?

Nehmen Sie außerdem an, dass die vmtools nicht installiert sind.

46
mdpc

Verwenden Sie Standard-Linux-Tools, um die Hardware auf dem System zu überprüfen.

cat /proc/scsi/scsi

oder

ethtool -i eth0

oder

dmidecode | grep -i vmware

Wenn die Ausgabe dieser Befehle Hardware mit dem Herstellernamen "VMWare" anzeigt, befinden Sie sich auf einer VMWare-VM. Hier werden mehrere Befehle bereitgestellt, da sich die Systemkonfigurationen und Tools unterscheiden.

29
Greg Cain
facter virtual 
xenu

zeigt an, dass es sich um eine VM handelt. Wenn es "physisch" zurückgibt, ist das Gegenteil der Fall (keine VM), z.

facter virtual
Physical
13
user155575

Es gibt eine praktische App namens virt-what . Ich habe es nicht mit VMWare verwendet, aber es hat gut mit Qemu funktioniert.

11
Raynet

Sie können sich ein Bild machen, indem Sie sich unter /sys. Beispielsweise /sys/class/dmi/id/sys_vendor hat den Wert VMware, Inc..

Wenn es installiert ist, können Sie lshw verwenden. Der Befehl lshw -class system gibt dies auf meinem System zurück:

server1
    description: Computer
    product: VMware Virtual Platform
    vendor: VMware, Inc.
    version: None
    serial: VMware-...
    width: 64 bits
    capabilities: smbios-2.4 dmi-2.4 vsyscall64 vsyscall32
10
Zoredache

Einige virtuelle Umgebungen benennen einige ihrer virtuellen Geräte mit Namen, die etwas verräterisch sind, z. B. VirtualBox, die eine Grafikkarte präsentiert, die sich selbst "VirtualBox Display Adapter" nennt. Wenn Sie jedoch nach diesen suchen, sind Sie an eine bestimmte VM und möglicherweise einen engen Bereich von Versionen) gebunden.

Möglicherweise kann Ihr Code sehen, welche Art von Virtualisierung er einrichten könnte. Wenn dies vollständig fehlschlägt, befinden Sie sich möglicherweise in einer VM. Aber Sie könnten genauso gut auf einer Box sein, die keine VM-fähige Hardware) hat.

6
staticsan

Es gibt viele Codes, mit denen Sie feststellen können, ob Sie sich in einer VM oder nicht) befinden. Beginnen Sie mit rote Pille und suchen Sie von dort aus. Dieses Papier unter Offensive Computing ist auch eine gute Lektüre.

Das ist, wenn keine dieser einfachen oben funktioniert :)

4
Bill Weiss

Für Linux geben Sie dmesg |grep DMI:

VIRTUELLER Host-AUSGANG

 [root @ myhost ~] # dmesg | grep DMI 
 DMI 2.3 vorhanden. 
 DMI: Virtuelle Maschine/Virtuelle Maschine der Microsoft Corporation, BIOS 090006 23.05.2012 
 
 [root @ myhost ~] # dmesg | grep -i virtual 
 DMI: Virtuelle Maschine/Virtuelle Maschine der Microsoft Corporation, BIOS 090006 23.05.2012 
 Paravirtualisierter Kernel wird gestartet auf nackter Hardware 
 Eingabe: Macintosh-Maustastenemulation als /devices/virtual/input/input1[.____.‹scsi 0: 0: 0: 0: Direktzugriff Msft Virtual Disk 1.0 PQ: 0 ANSI: 4 
 Eingabe: Microsoft Vmbus HID-kompatible Maus als /devices/virtual/input/input4

FÜR PHYSIKALISCHEN Host BEISPIEL

 [root @ backdev1 ~] # dmesg | grep DMI 
 DMI 2.5 vorhanden. 
 DMI: IBM System x3650 M3 - [7945AC1] -/90Y4784, BIOS - [D6E153AUS-1.12 ] - 30.06.2011 
4
gabo34

Sie können auch den ersten Teil Ihrer Mac-Adresse durchsuchen hier und prüfen, ob sie einem der Virtualisierungsunternehmen zugewiesen ist.

3
Zypher

Virtuelle Geräte werden auch durch Informationen zu lspci und/oder Festplattengeräten in/proc angezeigt:

lspci | grep -i vmware

grep -i vmware /proc/scsi/scsi /proc/ide/*/model
3
Heath

Unter Linux werden Systeminformationen in/sys/device/virtual/dmi/id/angezeigt. Siehe meine Antwort hier für ein praktisches Skript, das Ihnen alle verfügbaren Informationen zeigt.

root nicht erforderlich.

2
Mike S

Dies hat bei mir besser funktioniert, da ich spezifische Informationen über den Hersteller und den Produktnamen habe.

dmidecode -t system|grep 'Manufacturer\|Product'

Ausgabe auf Dell Server:

Manufacturer: Dell Inc.
Product Name: PowerEdge C5220

Ausgabe auf Virtualbox VM:

Manufacturer: innotek GmbH
Product Name: VirtualBox

Ausgabe auf KVM/QEMU:

Manufacturer: QEMU
Product Name: Standard PC (i440FX + PIIX, 1996)

Dies ist ideal für Skripte, die diese zur besseren Identifizierung von Servern analysieren können. Wenn Sie jedoch Chef in Ihrer Infrastruktur verwenden, können Sie das Knotenattribut Virtualization -> system Auf dem Chef-Server überprüfen.

1
user751528

Ich mochte keine dieser Lösungen, da normalerweise ein VMware-CD-ROM-Treiber oder ein Speichertreiber installiert ist, sodass dmesg dies für mich schnell bestätigt oder ablehnt.

 [server @ user ~] $ dmesg | grep VMware 
 Hda: VMware Virtual IDE CD-ROM-Laufwerk, ATAPI-CD/DVD-ROM-Laufwerk 
 Anbieter: VMware-Modell: Virtuelle Festplatte Version: 1.0 
 Anbieter: VMware-Modell: Virtuelle Festplatte Version: 1.0 
 Anbieter: VMware-Modell: Virtuelle Festplatte Version: 1.0 
 Anbieter: VMware-Modell: Virtuelle Festplatte Version: 1.0 
 Anbieter: VMware-Modell: Virtuelle Festplatte Version: 1.0 
 Anbieter: VMware-Modell: Virtuelle Festplatte Version: 1.0 
 Anbieter: VMware-Modell: Virtuelle Festplatte Version: 1.0 
 VMware-Speichersteuerungstreiber initialisiert 
1
Greg