Есть ли команда ОС, которую я могу запустить, чтобы определить, работает ли она внутри виртуальной машины на основе Xen?

Есть ли команда ОС, которую я могу запустить из виртуальной машины на основе Xen, чтобы сказать мне, что это виртуальный ящик, а не физический ящик - я слышал, что у ядра есть некоторые умные способности к самосознанию. например например, дополнительный столбец в выводе «ps» или что-то в этом роде? [Я знаю, что vmstat предоставляет столбец «st», но я видел это на физических хост-боксах, работающих под управлением Linux Kernel 2.6.11 и выше].

Огромное спасибо,

Павел


person pjp    schedule 16.08.2010    source источник


Ответы (2)


Dmesg может дать некоторые подсказки из буфера сообщений ядра, вот вывод на виртуализированном экземпляре Ubuntu из 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.
person unmounted    schedule 16.08.2010
comment
Большое спасибо bvmou. Это дало мне более чем достаточно информации, чтобы использовать Cheers, Paul - person pjp; 17.08.2010

Попробуйте файл /sys/hypervisor/uuid.

  1. Не существует -> Не связано с XEN.
  2. Он существует и заполнен нулями -> Это XEN Dom0
  3. Он существует и имеет не-0 значений -> Это DomU

Это требует, конечно, чтобы /sys был смонтирован и заполнен...

person Matya    schedule 27.04.2011