Wie finde ich den Virtualisierungstyp eines Linux-VPS heraus?

11

Wenn ich Zugriff auf ein VPS habe, muss ich wissen, welche Art von Virtualisierung vom Terminal ausgeführt wird.

Wie kann die Virtualisierungsplattform ermittelt werden, auf der meine VM ausgeführt wird? (OpenVZ, Xen, KVM usw.?)

Samuel GP
quelle
Ich habe nur KVM verwendet - ich hoffe, dass die anderen ähnlich sind - Angenommen, Sie verwenden Linux, können Sie in KVM einfach im Bootlog nach einer Zeile wie "Booten des paravirtulierten Kernels auf KVM" suchen.
Davidgo
In meinem Fall sind alle Boot-Protokolle leer ... und dmesg zeigt keine Ausgabe an. = /
Samuel GP

Antworten:

22

hostnamectlist dein Freund (erfordert systemd).

Einige Beispiele:

Laptop ohne Virtualisierung

$ hostnamectl status
   Static hostname: earth.gangs.net
         Icon name: computer-laptop
           Chassis: laptop
        Machine ID: 18a0752e1ccbeef09da51ad17fab1f1b
           Boot ID: beefdc99969e4a4a8525ff842b383c62
  Operating System: Ubuntu 16.04.2 LTS
            Kernel: Linux 4.4.0-66-generic
      Architecture: x86-64

Xen

$ hostnamectl status
   Static hostname: pluto.gangs.net
         Icon name: computer-vm
           Chassis: vm
        Machine ID: beef39aebbf8ba220ed0438b54497609
           Boot ID: beefc71e97ed48dbb436a470fe1920e1
    Virtualization: xen
  Operating System: Ubuntu 16.04.2 LTS
            Kernel: Linux 3.13.0-37-generic
      Architecture: x86-64

OpenVZ

$ hostnamectl status
   Static hostname: mars.gangs.net
         Icon name: computer-container
           Chassis: container
        Machine ID: 55296cb0566a4aaca10b8e3a4b28beef
           Boot ID: 1bb259b0eb064d9eb8a22d112211beef
    Virtualization: openvz
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 2.6.32-042stab120.16
      Architecture: x86-64

KVM

$ hostnamectl status
   Static hostname: mercury.gangs.net
         Icon name: computer-vm
           Chassis: vm
        Machine ID: beeffefc50ae499881b024c25895ec86
           Boot ID: beef9c7662a240b3b3b04cef3d1518f0
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-514.10.2.el7.x86_64
      Architecture: x86-64
Derick
quelle
Ich bekomme geradeFailed to create bus connection: No such file or directory
janniks
8

Wenn der VM-Host Sie nicht anlügt, kann dies im Allgemeinen durch Überprüfen der "Hardware" herausgefunden werden, die der VM-Gast sieht.

Am einfachsten ist es wahrscheinlich, ein Programm wie virt-what zu verwenden , das das Parsen für Sie erledigt. Hier gehe ich blind davon aus, dass Sie übrigens eine Art Linux-basierte Distribution ausführen.

Es könnte sich auch lohnen, einen Blick auf den Puppet Facter zu werfen , der ebenfalls ähnliche Techniken verwendet, um festzustellen, in welcher Art von VM-Umgebung er ausgeführt wird.

Oder könnten Sie fragen, bei wem auch immer Sie den VPS mieten? :-)

andol
quelle
1
virt-was hat bei mir funktioniert. Danke für die Antwort.
Samuel GP
1
Ich sah zu facter. Es ruft virt-what!
Michael Hampton
3

Systemd enthält systemd-detect-virt

Pascal
quelle
2

Debian wird mit diesem kleinen Paket zum Erkennen des Virtualisierungstyps geliefert:

$ sudo apt-get install virt-what
$ virt-what

und etwas größer wegen Perl-Abhängigkeiten:

$ sudo apt-get install imvirt
$ imvirt
Gavenkoa
quelle
1

Sie können auch verwenden dmidecode, um Informationen zur Systemhardware und andere anzuzeigen.

Tom Aac
quelle
dmidecodeist leer für mein VPS. lshwist meistens leer. virt-whatgezeigt openvz))
Gavenkoa