Y a-t-il une commande OS que je peux exécuter pour déterminer si l'exécution à l'intérieur d'une machine virtuelle basée sur Xen
Question
Y a-t-il une commande OS que je peux exécuter à partir d'une machine virtuelle basée sur Xen pour me dire qu'il s'agit d'une boîte virtuelle plutôt que d'une boîte physique - j'ai entendu que le noyau avait une intelligence de conscience de soi à ce sujet. Par exemple, comme une colonne supplémentaire en sortie "PS" ou quelque chose? [Je sais que VMSTAT fournit la colonne "ST" mais j'ai vu cela sur des boîtes d'hôte physiques exécutant le noyau Linux 2.6.11 et plus aussi].
Merci beaucoup,
Paul
La solution
Dmesg Peut donner quelques indices du tampon de message du noyau, ici est sorti sur une instance Ubuntu virtualisée de SliceHost:
bvm@qdbp:~$ sudo dmesg | grep Xen
[ 0.000000] Xen: 0000000000000000 - 00000000000a0000 (usable)
[ 0.000000] Xen: 00000000000a0000 - 0000000000100000 (reserved)
[ 0.000000] Xen: 0000000000100000 - 0000000010000000 (usable)
[ 0.000000] Booting paravirtualized kernel on Xen
[ 0.000000] Xen version: 3.1.2-rc1
[ 0.000000] Xen: using vcpu_info placement
[ 0.000000] Xen: using vcpuop timer interface
[ 0.000000] installing Xen timer for CPU 0
[ 0.021223] installing Xen timer for CPU 1
[ 0.046157] installing Xen timer for CPU 2
[ 0.046157] installing Xen timer for CPU 3
[ 0.265880] Initialising Xen virtual ethernet driver.
Autres conseils
Essayer le fichier /sys/hypervisor/uuid.
- Il n'existe pas -> non lié à Xen.
- Il existe et est plein de 0-s -> c'est un Xen Dom0
- Il existe et a une valeur pas-0 -> c'est un DOMU
Cela nécessite bien sûr que / sys est monté et peuplé ...