Re: KVM Guest Detection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 06/02/2015 21:08, Chris J Arges wrote:
> Is there a architecture and machine type independent way to detect that
> one is running inside a KVM guest? I've noticed the following systemd
> code which does this detection and it seems to be very architecture
> dependent for KVM:
> https://github.com/systemd/systemd/blob/master/src/shared/virt.c

No, there is no other way.  In fact on some architectures (PPC and s390
for example) KVM implements the same paravirtualized architecture that
is used by proprietary hypervisors, and should be indistiguishable from
them.

> In addition one could grep for strings in the kernel log or CPU types if
> using QEMU CPU model.

KVM can also be used without QEMU though.  Also, not all architectures
support custom model names the way x86 has them in /proc/cpuinfo.

> Given the many ways to do this, would it make sense to create a sysfs
> entry (similar to how Xen does this with /sys/hypervisor/type), so that
> one can easily tell they are running in a KVM guest?

Why do you need that?  If you are disabling something if you are on a
virtualized platform, then that is most of the time (and I am not saying
always only because of things like microcode.service) wrong.

In order of likelihood:

1) you are working around a bug in KVM, and the developers won't know;

2) you are sweeping under the carpet a bug in your program (e.g. in the
service that you're writing a unit file for);

3) your assumptions are flawed.  For example the (now removed) readahead
daemon in systemd was disabled under virtualization... except that most
of the time production virtual machines are run with O_DIRECT so the
benefit from readahead is the same as on bare metal.

Paolo

> I can work on a patch, but initial feedback would be helpful.
> 
> Thanks,
> --chris j arges
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux