GNU/Linux >> Linux Esercitazione >  >> Linux

Modo semplice per determinare la tecnologia di virtualizzazione

dmidecode -s system-product-name

Ho testato su Vmware Workstation, VirtualBox, QEMU con KVM, QEMU autonomo con Ubuntu come sistema operativo guest. Anche altri hanno aggiunto altre piattaforme con cui hanno familiarità.

Tecnologie di virtualizzazione

Su bare metal, restituisce un'identificazione del modello del computer o della scheda madre.

/dev/disk/by-id

Se non hai i diritti per eseguire dmidecode allora puoi usare:

Tecnologia di virtualizzazione:QEMU

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

Uscita

[[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

Riferimenti

  • Come rilevare la virtualizzazione su dmo.ca

Se il contenitore sta eseguendo systemd :

$ systemd-detect-virt
lxc

Su KVM per esempio restituisce:

kvm

e su un host non virtualizzato:

none

Vedi anche:

  • systemd-detect-virt(1)
  • Rilevamento della virtualizzazione

Metodo desiderabile

lshw

Questo comando produce il seguente output su vari ospiti di tecnologia VM.

$ sudo lshw -class system

Uscita

  • KVM

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

    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
    

Scripting

Se sei su Ubuntu/Debian c'è il pacchetto open-vm-tools può essere installato. Fornisce vmware-checkvm . Restituisce solo una cifra. Un 0 significa che è una VM, un 1 significa che è un sistema fisico.

Metodi meno desiderabili

Se è KVM, /proc/scsi/scsi e ethtool opzioni vengono visualizzate come segue:

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

ettool

$ 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

virtio_net fa parte di KVM. Il /proc/scsi/scsi ti dice che sei in una VM, e che molto probabilmente sei KVM.

dmesg

Utilizzando i seguenti comandi grep 'ing through 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 o KVM

    Se "-cpu host" l'opzione non è stata utilizzata, QEmu e KVM si identificheranno come:

    CPU: AMD QEMU Virtual CPU version 0.9.1 stepping 03
    

    in caso contrario, le informazioni sulla CPU dell'host verranno utilizzate sia in dmesg o in /proc/cpuinfo . Tuttavia, dovresti vedere qualcosa come:

    [    0.000000] Booting paravirtualized kernel on KVM
    

    Nei kernel più recenti che capiscono di essere in esecuzione sotto la paravirtualizzazione.

  • MicrosoftVirtualPC

    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
    
  • Virtuozzi

    # 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
    

Riferimenti

  • dmo.ca/ blog/ Come rilevare la virtualizzazione

Linux
  1. Un modo semplice per nascondere file e directory in Linux

  2. Un modo semplice per connettersi a più repository AWS CodeCommit

  3. Facile installazione di VMware Ubuntu 21.10 (Video)

  4. Un modo semplice per controllare il test di velocità SSH

  5. Linux:un modo semplice per determinare la tecnologia di virtualizzazione di una macchina Linux?

Come scoprire se una CPU supporta la tecnologia di virtualizzazione (VT)

Un modo semplice per installare FortiClient VPN [Suggerimento rapido]

Un modo semplice per installare l'ambiente di editing Kile LaTeX

Un modo semplice per installare GIT (Guida completa)

Come installare Ubuntu 18.04 Bionic Beaver nel modo più semplice!

Fondamenti di virtualizzazione VMware – VMware Server e VMware ESXi