Есть ли команда ОС, которую я могу запустить, чтобы определить, работает ли она внутри виртуальной машины на базе Xen?
Вопрос
Есть ли команда ОС, которую я могу запустить из виртуальной машины на базе Xen, чтобы сообщить мне, что это виртуальный ящик, а не физический ящик? Я слышал, что ядро обладает некоторыми знаниями по этому поводу.напримертипа дополнительного столбца в выводе «ps» или что-то в этом роде?[Я знаю, что vmstat предоставляет столбец «st», но я видел это и на физических хостах под управлением Linux Kernel 2.6.11 и более поздних версий].
Большое спасибо,
Павел
Решение
ДМЕСГ. Может дать несколько советов из буфера сообщения ядра, здесь выводится на виртуализированном экземпляре 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.
Другие советы
Попробуйте файл /sys/hypervisor/uuid.
- Его не существует -> Не связано с XEN.
- Он существует и полон нулей -> Это XEN Dom0.
- Он существует и имеет значения, отличные от 0 -> Это DomU.
Конечно, для этого необходимо, чтобы /sys был смонтирован и заполнен...
Не связан с StackOverflow