Как узнать тип виртуализации Linux VPS?

11

Имея доступ к VPS, мне нужно знать, какой тип виртуализации он запускает с терминала.

Как определить платформу виртуализации, на которой работает моя виртуальная машина? (OpenVZ, Xen, KVM и т. Д.?)

Сэмюэл Г.П.
источник
Я использовал только KVM - я надеюсь, что другие похожи - Предполагая, что вы используете Linux, в KVM вы можете просто просмотреть журнал загрузок для строки типа «Загрузка паравиртуализированного ядра на KVM».
Давидго
В моем случае все журналы загрузки пусты ... и dmesg не показывает никакого вывода. = /
Samuel GP

Ответы:

22

hostnamectlтвой друг (обязательно systemd).

Несколько примеров:

Ноутбук без какой-либо виртуализации

$ 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
Дерик
источник
Я просто получаюFailed to create bus connection: No such file or directory
janniks
8

Если хост виртуальной машины не обманывает вас, его можно выяснить, проверив «аппаратное обеспечение», которое видит гость виртуальной машины.

Проще всего, вероятно, использовать такую ​​программу, как virt-what , которая сделает разбор за вас. Здесь я слепо предполагаю, что вы, кстати, используете какой-то дистрибутив на основе Linux.

Также стоит взглянуть на фактор кукол , который тоже использует похожие методы, чтобы определить, в какой среде виртуальной машины он работает.

Или вы могли бы спросить, у кого вы арендуете VPS? :-)

andol
источник
1
Вирт - что сработало для меня. Спасибо за ответ.
Самуэль GP
1
Я посмотрел на facter. Это звонки virt-what!
Майкл Хэмптон
3

Systemd включает в себя systemd-detect-virt

паскаль
источник
2

Debian поставляется с этим небольшим пакетом для определения типа виртуализации:

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

и немного больше из-за зависимостей Perl:

$ sudo apt-get install imvirt
$ imvirt
gavenkoa
источник
1

Вы также можете использовать, dmidecodeкоторый покажет вам информацию об оборудовании системы и прочее.

Том Аак
источник
dmidecodeпуст для моего VPS. lshwв основном пусто virt-whatпоказано openvz))
gavenkoa