GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Einfache Möglichkeit, die Virtualisierungstechnologie zu bestimmen

dmidecode -s system-product-name

Ich habe auf Vmware Workstation, VirtualBox, QEMU mit KVM, Standalone-QEMU mit Ubuntu als Gastbetriebssystem getestet. Andere haben zusätzliche Plattformen hinzugefügt, mit denen sie ebenfalls vertraut sind.

Virtualisierungstechnologien

Auf Bare-Metal gibt dies eine Identifikation des Computer- oder Motherboard-Modells zurück.

/dev/disk/by-id

Wenn Sie nicht über die Rechte zum Ausführen von dmidecode verfügen dann können Sie verwenden:

Virtualisierungstechnologie:QEMU

ls -1 /dev/disk/by-id/

Ausgabe

[[email protected] ~]# ls -1 /dev/disk/by-id/
ata-QEMU_DVD-ROM_QM00003
ata-QEMU_HARDDISK_QM00001
ata-QEMU_HARDDISK_QM00001-part1
ata-QEMU_HARDDISK_QM00002
ata-QEMU_HARDDISK_QM00002-part1
scsi-SATA_QEMU_HARDDISK_QM00001
scsi-SATA_QEMU_HARDDISK_QM00001-part1
scsi-SATA_QEMU_HARDDISK_QM00002
scsi-SATA_QEMU_HARDDISK_QM00002-part1

Referenzen

  • So erkennen Sie Virtualisierung bei dmo.ca

Wenn der Container systemd ausführt :

$ systemd-detect-virt
lxc

Auf KVM gibt es zum Beispiel zurück:

kvm

und auf einem nicht virtualisierten Host:

none

Siehe auch:

  • systemd-detect-virt(1)
  • Virtualisierung erkennen

Wünschenswerte Methode

lshw

Dieser Befehl erzeugt die folgende Ausgabe auf verschiedenen VM-Technologie-Gästen.

$ sudo lshw -class system

Ausgabe

  • KVM

    mungr                     
        description: Computer
        product: KVM
        vendor: Red Hat
        width: 64 bits
        capabilities: smbios-2.4 dmi-2.4 vsyscall64 vsyscall32
    
  • Virtuelle Box

    fedora17                  
        description: Computer
        product: VirtualBox ()
        vendor: innotek GmbH
        version: 1.2
        serial: 0
        width: 64 bits
        capabilities: smbios-2.5 dmi-2.5 vsyscall32
    
  • VMWare

    partedmagic
        description: Computer
        product: VMware Virtual Platform ()
        vendor: VMware, Inc.
        version: None
        serial: VMware-56 4d 94 a0 53 e3 f3 c6-f9 a6 eb 1a 89 70 04 57
        width: 32 bits
        capabilities: smbios-2.4 dmi-2.4 smp-1.4 smp
    

Skripterstellung

Wenn Sie Ubuntu/Debian verwenden, gibt es das Paket open-vm-tools installiert werden kann. Es bietet vmware-checkvm . Es gibt nur eine Ziffer zurück. Ein 0 bedeutet, es ist eine VM, eine 1 bedeutet, dass es sich um ein physisches System handelt.

Weniger wünschenswerte Methoden

Wenn es KVM ist, dann /proc/scsi/scsi und ethtool Optionen werden wie folgt angezeigt:

SCSI

$ cat /proc/scsi/scsi 
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: QEMU     Model: QEMU DVD-ROM     Rev: 0.9.
  Type:   CD-ROM                           ANSI  SCSI revision: 05

ethtool

$ ethtool -i eth0
driver: virtio_net
version: 
firmware-version: 
bus-info: virtio0
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

Das virtio_net ist Teil von KVM. Die /proc/scsi/scsi sagt Ihnen, dass Sie sich in einer VM befinden und dass Sie höchstwahrscheinlich KVM sind.

dmesg

Verwenden Sie die folgenden Befehle grep 'durch dmesg log.

$ sudo dmesg | grep -i virtual
  • VMWare

    VMware vmxnet virtual NIC driver
     Vendor: VMware    Model: Virtual disk      Rev: 1.0 
    hda: VMware Virtual IDE CDROM Drive, ATAPI CD/DVD-ROM drive
    
  • QEmu oder KVM

    Wenn der "-cpu host" Option nicht verwendet wurde, identifizieren sich QEmu und KVM als:

    CPU: AMD QEMU Virtual CPU version 0.9.1 stepping 03
    

    andernfalls werden die CPU-Informationen des Hosts sowohl in dmesg verwendet , oder in /proc/cpuinfo . Sie sollten jedoch Folgendes sehen:

    [    0.000000] Booting paravirtualized kernel on KVM
    

    In neueren Kerneln, die verstehen, dass sie unter Paravirtualisierung laufen.

  • Microsoft VirtualPC

    hda: Virtual HD, ATA DISK drive
    hdc: Virtual CD, ATAPI CD/DVD-ROM drive
    
  • Xen

    $ sudo dmesg | grep -i xen
    Xen virtual console successfully installed as tty1
    
  • Virtuozzo

    # method #1
    $ sudo dmesg
    (returns no output)
    
    # method #2
    $ sudo cat /var/log/dmesg
    (returns no output)
    
    # method #3
    $ sudo ls -al /proc/vz
    veinfo  veinfo_redir  veredir  vestat  vzaquota  vzdata
    

Referenzen

  • dmo.ca/blog/ So erkennen Sie Virtualisierung

Linux
  1. Eine einfache Möglichkeit, Dateien und Verzeichnisse in Linux zu verstecken

  2. Einfache Möglichkeit, eine Verbindung zu mehreren AWS CodeCommit-Repositorys herzustellen

  3. So richten Sie schnell einen KVM-Server ein

  4. Einfache Installation von VMware Ubuntu 21.10 (Video)

  5. Linux – Einfache Möglichkeit, die Virtualisierungstechnologie einer Linux-Maschine zu bestimmen?

So finden Sie heraus, ob eine CPU die Virtualisierungstechnologie (VT) unterstützt

Eine einfache Möglichkeit, FortiClient VPN zu installieren [Kurztipp]

Einfache Möglichkeit, die Kile LaTeX-Bearbeitungsumgebung zu installieren

Eine einfache Möglichkeit, GIT zu installieren (vollständige Anleitung)

So installieren Sie Ubuntu 18.04 Bionic Beaver ganz einfach!

Grundlagen der VMware-Virtualisierung – VMware Server und VMware ESXi