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

Re: [libvirt-users] Can a VM tell what host it's on?



On 2/2/2012 1:52 PM, Eric Blake wrote:
On 02/02/2012 11:33 AM, Whit Blauvelt wrote:
Is there a way internal to a KVM VM to know which host it's running on?

No.  The ideal hypervisor is one where the guest doesn't even know it is
running as a virtual machine.  And consider live migration - a guest
might not be running on the same host over its lifetime.  Therefore,
there should be nothing that requires a guest to know which host it is
running on.


It could send a command via ssh to virsh on a host, and learn from that
whether the host currently has it running. But is there something within the
VM itself which will reveal this?

Why do you think you need it?  Perhaps if you ask a better question
about what you are really trying to solve, we can give a better answer.

Why does a process ever need to know it's PPID? Countless unpredictable reasons. It's the wrong question to ask in the first place.

It's a thing you should be able to know whenever you find yourself needing to know it, without having to first come up with the justifying condition. Any given example can probably be solved some other way, which just ends up missing the point, because the next situation will then need it's own different work around since the work around for the first situation probably only handles that particular situation.

I admin vm's and real hosts and I do need to know sometimes whether the machine I am on is a vm or not, what kind of vm (lxc, kvm, etc) and what real host it's on. For one thing rebooting from within the vm is imperfect. For another resource/load reporting from within the vm is imperfect, I need to go to the host to look at the host's overall resource situation to see if some other vm on the same host is causing a problem with ram, cpu, disk i/o, network i/o, maybe the hosts network veth bridge or nat routing or iptables need to be looked at etc... For another, I need the equivalent of the serial console for the vm sometimes for install/repair, which means going to the host to run a virsh or lxc-console or screen command.

But forget those specific examples. Most of them can sort of be worked around via network connection, but that requires working network which is not always the case, or a guest OS that even has such a thing as networking which is also not always the case.

I see no inherent brokenness with the nvram idea. Even for the live migration case, the contents of the fake nvram should be able to change along the way, or, maybe a special acpi or bios call that normally returns a dynamic response anyways, and so is perfectly ok to return value A one minute and value B the next.

--
bkw


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