Назад | Перейти на главную страницу

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

Есть ли способ узнать, работает ли ОС (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