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

Re: [Xen-devel] Dom0 and entitlement

> >  I've some questions related to xen. Can anybody help me regarding the
> > following questions.

Hi there,

The list on sourceforge.net is not used any more.  We should close it don't 
officially if we haven't already.

> > 1. Is dom0 a logical system(like any other vm's that are configured on
> > it) ? If yes, then all xm commands should be applicable to it (ex :
> > vcpu-set) .

Basically it's like the other domains on the system but it has special status 
to do privileged operations because the other domains rely on it.

Standard operations ought to be applicable to it but it's worth being a little 
careful here: some operations don't make sense to do on dom0.  These *ought* 
to be filtered out by Xen or the tools, to prevent you shooting yourself in 
the foot but do exercise a bit of caution here since there is a little scope 
for hanging the host:

There have been occasional instances of checks on operations not being 
performed in the past, although I'm not personally aware of any existing now.  
However, there are probably still some things you can do to cause 
problems ;-)  For instance, if you set the scheduling parameters badly I 
suspect it's possible to starve dom0 of CPU, which will make it difficult to 
change the scheduling parameters back because the domain won't be responsive.

Basically, do just give a little thought about whether a given setting is a 
good idea in theory before actually applying it to dom0 ;-)

> > 2. /proc on dom0 reflects the physical or logical utilization.

It refers to dom0's internal operation; dom0 processes, etc.  It's not aware 
of the other domains at all...

We do add some Xen-related files to /proc, so it's not identical to /proc on a 
native Linux install.

> > 3. Is there any entitelment concept in xen for cpu and memory? What is
> > cpu weight used for and how is set.

I think credit scheduler has some support for ensuring Quality of Service to 
domains but I'm not so familiar with it, so I'll leave the description of 
that to people who have more recent familiarity with it.

Memory provides hard guarantees because Xen does not perform paging of virtual 
machines: if you set a domain to have x MB of RAM, then it *really* has x MB 
of real RAM.  You can use xm mem-max and mem-set with a paravirt domain (or 
an HVM domain with appropriate paravirt drivers installed) to resize its 
memory footprint subsequently.  Shrinking is easy, but resizing a domain to 
be bigger than it's initial footprint requires a little more configuration.

> > 4. virt-manager shows physical or logical utilization (cpu, memory)

It shows the real host RAM consumption - the hard allocation that your domain 
currently has.  I assume the CPU graphs show *host* CPU utilisation by the 
domain, but I'm not familiar with their codebase so I may be wrong.

> > 5. How do i get the IP address of each of the guests from dom0 ?

That's more tricky.  There's not a way to do this in general...

Possible solutions:

* pass IP addr into domU on kernel command line, so you know what it is
* use DHCP to configure guest, then query addresses from the DHCP database
* run some software in the domU that you can somehow query or be notified by 
to get IP details
* sniff packets the guests are emitting

> > 6. What are the interfaces in domU to tell me that its a guest (or
> > dom0) and also the type of virtualization ( eg. XEN/ VMWARE etc  )

PV guests:
For XenSource Linux, the files in /proc/xen will help tell you you're running 
on Xen and whether you're dom0.  There's also a program called xen-detect 
which prints information to the console about your Xen version, etc.

For kernel.org Linux, I'm not sure how you do this although there's probably 
some Xen-related message in dmesg.

HVM guests:
If there's a Xen Platform Device in lspci's output (or the device manager 
under Windows) then you're running on Xen HVM.  If that wasn't being provided 
to the HVM guest for some reason, you'd need to detect Xen indirectly by 
observing the virtual hardware available and the behaviour of the emulated 

I don't know how you detect if you're running on VMware (paravirt or full 
virt) because I'm not very familiar with their products.


Push Me Pull You - Distributed SCM tool (http://www.cl.cam.ac.uk/~maw48/pmpu/)

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.