Apakah ada cara untuk mengetahui apakah OS (linux) berjalan di dalam tamu KVM ..
Apakah ada cara untuk mengetahui apakah OS (linux) berjalan di dalam tamu KVM ..
Jawaban:
Grep dmesg
, harus ada setidaknya satu baris yang berisi kvm
. Di mesin saya:
[ 0.000000] kvm-clock: cpu 0, msr 0:5dd801, boot clock
[ 0.000000] kvm-clock: cpu 0, msr 0:1023801, primary cpu clock
Periksa secara alternatif /proc/cpuinfo
, ini berisi baris:
model name : QEMU Virtual CPU version 0.9.1
Tetapi, masalahnya adalah: Anda tidak dapat memastikan bahwa Anda adalah tamu KVM (di atas QEMU) atau hanya Tamu-QEMU.
dmidecode
ke daftar cara yang mungkin ditampilkan jika Anda menjalankan virtualisasi, ini bekerja dengan baik dengan VMWare.
Versi saat ini lscpu
juga menunjukkan jika hypervisor terdeteksi:
# 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
kembali pada pengaturan Ubuntu 18.04 KVM ini :
kvm
dan di host saya:
none
Lihat juga: /unix/89714/easy-way-to-determine-virtualization-technology
Diuji pada host Ubuntu 18.04.
Kemungkinan lain adalah dmidecode -s 'system-product-name'
[samveen@vm1 ~]$ sudo dmidecode -s 'system-product-name'
KVM
Standard PC (i440FX + PIIX , 1996)
.
system-product-name
pengidentifikasi memberikan jawaban yang diharapkan, bahkan dalam kasus seperti VirtualBox
dan VMWare
.