47 votes

VMware Linux Server - comment savoir si l'on est dans une vm ou dans du vrai matériel ?

Une question intéressante. Je me suis connecté à un hôte Linux (probablement SuSE). Existe-t-il un moyen de savoir de manière programmatique si je suis un hôte VM ou non ?

Supposons également que les outils vmtools ne sont pas installés.

29voto

Greg Cain Points 413

Utilisez les outils Linux standard pour inspecter le matériel du système.

cat /proc/scsi/scsi

o

ethtool -i eth0

o

dmidecode | grep -i vmware

Si la sortie de ces commandes montre un matériel dont le nom du fabricant est "VMWare", vous êtes sur une VM VMWare. Plusieurs commandes sont fournies ici car les configurations des systèmes et les outils diffèrent.

13voto

Beta Decay Points 101
facter virtual 
xenu

indique qu'il s'agit d'une VM. Si le résultat est "physique", c'est l'inverse (pas une VM), par exemple :

facter virtual
Physical

11voto

jammus Points 1796

Vous pourrez peut-être vous faire une idée en regardant sous la rubrique /sys . Par exemple /sys/class/dmi/id/sys_vendor a une valeur de VMware, Inc. .

S'il est installé, vous pouvez utiliser lshw . La commande lshw -class system retourne ceci sur mon système :

server1
    description: Computer
    product: VMware Virtual Platform
    vendor: VMware, Inc.
    version: None
    serial: VMware-...
    width: 64 bits
    capabilities: smbios-2.4 dmi-2.4 vsyscall64 vsyscall32

11voto

Westley Points 127

Il existe une application pratique qui pourrait vous aider, appelée virt-quoi . Je ne l'ai pas utilisé avec VMWare, mais il a bien fonctionné avec Qemu.

6voto

ashwnacharya Points 3144

Certains environnements virtuels donnent à certains de leurs périphériques virtuels des noms un peu révélateurs. Par exemple, VirtualBox présente une carte graphique qui se nomme elle-même "VirtualBox Display Adapter". Mais la recherche de ces noms vous lie à un environnement virtuel particulier et éventuellement à une gamme étroite de versions.

Il pourrait être possible pour votre code de voir quel type de virtualisation il pourrait mettre en place. En cas d'échec total, il se peut que vous soyez dans une VM. Mais il est tout aussi possible que vous soyez sur une machine qui ne dispose d'aucun matériel capable de fonctionner en mode VM.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X