¿Cómo averiguar el tipo de virtualización de un VPS de Linux?

11

Al tener acceso a un VPS, necesito saber qué tipo de virtualización está ejecutando desde el terminal.

¿Cómo puedo determinar la plataforma de virtualización en la que se ejecuta mi VM? (OpenVZ, Xen, KVM, etc.?)

Samuel GP
fuente
Solo he usado KVM. Espero que los demás sean similares. Suponiendo que esté usando Linux, en KVM puede buscar una línea como "Arranque del núcleo paravirtulizado en KVM".
davidgo
En mi caso, todos los registros de arranque están vacíos ... y dmesg no muestra ningún resultado. = /
Samuel GP

Respuestas:

22

hostnamectles tu amigo (requiere systemd)

Algunos ejemplos:

Laptop sin ninguna virtualización

$ 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
fuente
Acabo de llegarFailed to create bus connection: No such file or directory
Janniks
8

A menos que el host de VM le mienta, generalmente se puede resolver inspeccionando el "hardware" que está viendo el invitado de VM.

Lo más fácil es probablemente usar un programa como virt-what , que hará el análisis por usted. Aquí estoy suponiendo ciegamente que estás ejecutando algún tipo de distribución basada en Linux por cierto.

También podría valer la pena echar un vistazo al factor de la marioneta , que también utiliza técnicas similares para determinar en qué tipo de entorno VM se está ejecutando.

¿O podría preguntar a quien sea que esté alquilando el VPS? :-)

andol
fuente
1
virt-lo que me funcionó. Gracias por la respuesta.
Samuel GP
1
La miré facter. Llama virt-what!
Michael Hampton
3

Systemd incluye systemd-detect-virt

Pascal
fuente
2

Debian viene con este pequeño paquete para detectar el tipo de virtualización:

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

y un poco más grande debido a las dependencias de Perl:

$ sudo apt-get install imvirt
$ imvirt
gavenkoa
fuente
1

También puede usar el dmidecodeque le mostrará información del hardware del sistema y otros.

Tom Aac
fuente
dmidecodeestá vacío para mi VPS. lshwEstá mayormente vacío. virt-whatse muestra openvz))
gavenkoa