Есть ли способ узнать, работает ли ОС (linux) внутри гостевой системы KVM ..
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.
Вы можете проверить, если imvirt или вирт-что которые доступны для нескольких дистрибутивов Linux, включая Ubuntu, могут вам помочь.
Текущие версии lscpu
также показывают, обнаружен ли гипервизор:
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 2
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 23
Model name: Intel Core 2 Duo P9xxx (Penryn Class Core 2)
Stepping: 3
CPU MHz: 2659.936
BogoMIPS: 5319.87
Hypervisor vendor: KVM
Virtualization type: full
...
systemd-detect-virt
возвращается на эта настройка Ubuntu 18.04 KVM:
kvm
и на моем хосте:
none
Смотрите также: https://unix.stackexchange.com/questions/89714/easy-way-to-determine-virtualization-technology
Протестировано на хосте Ubuntu 18.04.
Другая возможность dmidecode -s 'system-product-name'
[samveen@vm1 ~]$ sudo dmidecode -s 'system-product-name'
KVM