как узнать, запущен ли внутри гостевой KVM

как узнать, запущен ли внутри гостевой KVM

Есть ли способ узнать, запущена ли ОС (Linux) внутри гостевой ОС KVM?

решение1

Grep dmesg, должна быть хотя бы одна строка, содержащая kvm. На моих машинах:

[    0.000000] kvm-clock: cpu 0, msr 0:5dd801, boot clock
[    0.000000] kvm-clock: cpu 0, msr 0:1023801, primary cpu clock

Альтернативно проверьте /proc/cpuinfo, содержит ли он строку:

model name : QEMU Virtual CPU version 0.9.1

Но проблема в том, что вы не можете быть уверены, являетесь ли вы гостем KVM (поверх QEMU) или только гостем QEMU.

решение2

Вы можете проверить, еслиимвиртиливирт-чтокоторые доступны для нескольких дистрибутивов Linux, включая Ubuntu, могут вам помочь.

решение3

systemd-detect-virt

возвращается наэта настройка Ubuntu 18.04 KVM:

kvm

и на моем хосте:

none

Смотрите также:https://unix.stackexchange.com/questions/89714/легкий-способ-определить-технологию-виртуализации

Протестировано на хосте Ubuntu 18.04.

решение4

Другая возможность —dmidecode -s 'system-product-name'

[samveen@vm1 ~]$ sudo dmidecode -s 'system-product-name'
KVM

Связанный контент