Jak znaleźć typ wirtualizacji Linux VPS?

11

Mając dostęp do VPS, muszę wiedzieć, jaki typ wirtualizacji jest uruchamiany z terminala.

Jak określić platformę wirtualizacji, na której działa moja maszyna wirtualna? (OpenVZ, Xen, KVM itp.)

Samuel GP
źródło
Użyłem tylko KVM - mam nadzieję, że pozostałe są podobne - Zakładając, że używasz Linuksa, w KVM możesz po prostu przejrzeć dziennik rozruchowy w poszukiwaniu linii takiej jak: „Uruchamianie jądra poddanego parawirtulizacji na KVM”.
davidgo
W moim przypadku wszystkie dzienniki rozruchu są puste ... i dmesg nie pokazuje żadnych wyników. = /
Samuel GP

Odpowiedzi:

22

hostnamectljest twoim przyjacielem (wymaga systemd).

Kilka przykładów:

Laptop bez żadnej wirtualizacji

$ 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
źródło
Właśnie dostajęFailed to create bus connection: No such file or directory
Janniks
8

O ile host VM cię nie okłamuje, ogólnie można to rozgryźć, sprawdzając „sprzęt”, który widzi gość VM.

Najłatwiej jest prawdopodobnie użyć programu takiego jak virt-what , który wykona dla Ciebie analizę. Nawiasem mówiąc, zakładam ślepo, że prowadzisz jakąś dystrybucję opartą na systemie Linux.

Warto również spojrzeć na faktora lalek , który również używa podobnych technik, aby określić, w jakim środowisku VM działa.

Czy możesz zapytać, od kogo wynajmujesz VPS? :-)

andol
źródło
1
virt - co mi zadziałało. Dziękuję za odpowiedź.
Samuel GP
1
Spojrzałem na facter. Woła virt-what!
Michael Hampton
3

Systemd obejmuje systemd-detekcja-virt

Pascal
źródło
2

Debian zawiera mały pakiet do wykrywania typu wirtualizacji:

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

i trochę większy z powodu zależności Perla:

$ sudo apt-get install imvirt
$ imvirt
gavenkoa
źródło
1

Możesz także użyć, dmidecodektóry wyświetli informacje o sprzęcie systemowym i inne.

Tom Aac
źródło
dmidecodejest pusty dla mojego VPS. lshwjest w większości pusty. virt-whatpokazano openvz))
gavenkoa,