Como descobrir o tipo de virtualização de um VPS Linux?

11

Tendo acesso a um VPS, preciso saber que tipo de virtualização está sendo executada no terminal.

Como determinar a plataforma de virtualização em que minha VM está sendo executada? (OpenVZ, Xen, KVM, etc?)

Samuel GP
fonte
Eu apenas usei o KVM - espero que os outros sejam semelhantes - Supondo que você esteja usando Linux, no KVM, você pode simplesmente procurar no log de inicialização uma linha como "Inicializando o kernel paravirtulizado no KVM".
Davidgo 16/05
No meu caso, todos os logs de inicialização estão vazios ... e o dmesg não mostra nenhuma saída. = /
Samuel GP

Respostas:

22

hostnamectlé seu amigo (requer systemd).

Alguns exemplos:

Laptop sem virtualização

$ 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
fonte
Acabei de receberFailed to create bus connection: No such file or directory
janniks 26/11/19
8

A menos que o host da VM esteja mentindo para você, geralmente pode ser descoberto inspecionando o "hardware" que o convidado da VM está vendo.

O mais fácil é provavelmente usar um programa como o virt-what , que fará a análise para você. Aqui estou assumindo cegamente que você está executando algum tipo de distribuição baseada em Linux a propósito.

Também pode valer a pena dar uma olhada no boneco facter , que também usa técnicas semelhantes para determinar em que tipo de ambiente VM está em execução.

Ou você pode perguntar de quem você está alugando o VPS? :-)

andol
fonte
1
virt-o que funcionou para mim. Obrigado pela resposta.
Samuel GP
1
Eu olhei facter. Chama virt-what!
Michael Hampton
3

Systemd inclui systemd-detect-virt

Pascal
fonte
2

O Debian vem com este pequeno pacote para detectar o tipo de virtualização:

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

e um pouco maior por causa das dependências do Perl:

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

Você também pode usar o dmidecodeque mostrará as informações de hardware do sistema e outras.

Tom Aac
fonte
dmidecodeestá vazio para o meu VPS. lshwestá quase vazio. virt-whatmostrado openvz))
gavenkoa