Comment connaître le type de virtualisation d'un VPS Linux?

11

Ayant accès à un VPS, j'ai besoin de savoir quel type de virtualisation il exécute depuis le terminal.

Comment déterminer la plate-forme de virtualisation sur laquelle ma machine virtuelle s'exécute? (OpenVZ, Xen, KVM, etc.?)

Samuel GP
la source
Je n'ai utilisé que KVM - j'espère que les autres sont similaires - En supposant que vous utilisez Linux, dans KVM, vous pouvez simplement rechercher dans le journal de démarrage une ligne comme "Démarrage du noyau paravirtulisé sur KVM".
davidgo
Dans mon cas, tous les journaux de démarrage sont vides ... et dmesg n'affiche aucune sortie. = /
Samuel GP

Réponses:

22

hostnamectlest votre ami (obligatoire systemd).

Quelques exemples:

Ordinateur portable sans aucune virtualisation

$ 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
la source
Je viens de recevoirFailed to create bus connection: No such file or directory
janniks
8

Sauf si l'hôte VM vous ment, cela peut généralement être déterminé en inspectant le «matériel» que l'invité VM voit.

Le plus simple est probablement d'utiliser un programme comme virt-what , qui fera l'analyse pour vous. Ici, je suppose aveuglément que vous exécutez une sorte de distribution basée sur Linux en passant.

Il pourrait également être utile de jeter un coup d'œil sur le facteur de marionnette , qui utilise également des techniques similaires pour déterminer dans quel type d'environnement VM il s'exécute.

Ou pourriez-vous demander à qui vous louez le VPS? :-)

andol
la source
1
virt-ce qui a fonctionné pour moi. Merci d'avoir répondu.
Samuel GP
1
J'ai regardé facter. Ça appelle virt-what!
Michael Hampton
3

Systemd inclut systemd-detect-virt

Pascal
la source
2

Debian est livrée avec ce petit paquet pour détecter le type de virtualisation:

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

et un peu plus grand à cause des dépendances Perl:

$ sudo apt-get install imvirt
$ imvirt
gavenkoa
la source
1

Vous pouvez également utiliser dmidecodece qui vous montrera des informations sur le matériel du système et autres.

Tom Aac
la source
dmidecodeest vide pour mon VPS. lshwest presque vide. virt-whatmontré openvz))
gavenkoa