Re: [Xen-devel] A little more clarification -- Thank You!
Thankyou for your complete set of answers -- you scratched where you seemed
to know I would be itchy. I have been over the manuals a number of times
-- they are well written and I have no complaints. But I seemed unable to
completely "get it as intended". You have bridged that problem for me. Thanks
to both you and Tim.
I will try to download Tim's latest CD effort and test it but there is a
good chance I will be unsuccessful in dowloading a very large file.
By way of introduction. One of the reasons why I wanted to be CERTAIN
on these matters is because I would like to participate where I can on this
list even though green around the ears with the whole subject of virtual
machines. Getting information over the internet is for me a major difficulty.
Today, I expect to install SuSE 9.1 (which I have working on another Linux
machine) onto a Linux machine where I have 20 GIG -- a full hard drive I
can free up. I may wait until I can make this a 200 Gig drive. Or I may
go ahead and use the present 20 Gig drive for a learning exercise and then
replace it. The idea is I want to create a specific area in my Lan for this
Xen virtual technology. Later, for this same machine, I expect to replace
another two 20 Gig drives for 200 Gig drives for the same reason (my point
#4 in previous email). I have plans but no money for a network storage unit
consisting of 8 200 Gig drives if the cost of acquiring these drives drops.
Also, I would like to get a 64 bit Linux machine and deploy it for the same
reason. Certainly if I can manage this I will be able to provide a good test
bed. But first I have to develop some meaningful experience. Too bad there
is not a "Xen For Dummnies" manual, that might do the trick.
I'm a retired IT person. Before I retired I did a lot of code and database
development. Now, I do some code development but only to support various
information processing that serves as content to web pages. I do my development
work in my LAN (consisting of some 16 machines), six Linux, 3 XP (ugh), and
the remainder Win95. Two Linux machines do double duty as gateways to the
Internet handling two Dial Up (about 28k max) (ugh) telephone lines and other
work. I do perl development and other tasks on the Linux machines including
uploading web pages to my USA based web server.
There are no alternatives like Sattelite or DSL or cable services available
as I live with my wife and my LAN and our dogs and cats in a rural area on
a farm 60 miles NE of Edmonton, the capital city of the province of Alberta
in Canada. My ISP has assured me this situation will not change. Dial Up
for ever. There's gotta be an affordable way around this. I cannot afford
business rates for a corporate sattelite connection and the Bell "sattelite
in -- ground line out" arrangement does not work well for ftp and it not
supported for ftp. I had hoped to use one of the Linux machines operating
from my LAN out over sattelite to the Internet instead of the web server
I operate in the USA. I have about 2 Gig (used) on the USA web server. IF
I ever get such a connection to my LAN I will mirror all the information
you people want to make available to the public and the list,
The 3 XP machines do double duty as data acquistion over the internet, shared
storage, and web development. (the whole effort is non commercial non profit
and religious) and are used as data servers to my main work activities. The
acquired data is used for web page content for my USA based web server. My
bandwidth (even with 2 telephone lines) is inadequate for my needs. So when
I have the need to get technical information I have to divert one of the
XP machines to that task so the data acquisition packages can get that information
for me. When I'm not sure exactly what and where the needed information
exists such as was the case with Xen I aim my data acquisition tools at a
web site effectively mirroring it and it's references. But this takes a lot
of time to happen (but frees me up for other pressing issues) because the
other XP machines are also going 7x24 round the clock every day. Then of
course there is hoards of email and sometimes it takes half a day to get
several hundred emails a day processed and get rid of the viruses and worms.
Yes, I have a Windows Netscape based mail client (ugh) and am in the process
of changing this to Linux. But I have to free up time before that can happen.
Enough of that. If I want to surf the Internet and poke around reading web
pages not yet downloaded then I have to suspend running processes that are
often reluctant to suspend because the CPUs are going flat out. I have been
trying to get a service where I pay for specified downloaded information
put onto a CD or DVD and then mailed to me. Apparently there is someone
that provides this service but this person has not responded to my email.
Given that context, your complete set of answers is extremely helpful and
I thank you and Tim again.
Thanks very much, Ted
Mark Williamson wrote:
Is what I have assumed correct, must there be an existing 2.4 or 2.6.x
kernel based Linux installation up and running which must be modified
(kernel modification or ported) to run Xen?
It is my understanding that
the Xen source code installation or the binary installation both require
a properly pre installed fully functional Linux system as the basis of
Xen operation. Once it's (pre installed linux distribution) 2.4.x or
2.6.x kernel has been modified to work with the Xen software and tools
we have created this Linux distribution into an Xen-based system called
Domain 0 that becomes so when shutdown and then booted???
#1 -- The BUILD:
The Xen distribution includes 3 main components (Xen itself, ports of
Linux 2.4 and 2.6.x kernels to run on (with) Xen, and user-space tools
required to manage an Xen-based system) all of which assumes the
existence of an already installed and fully fuctional pre existing
Linux system which must be adapted (to become the default Xen Linux
build identified as DOMAIN 0.
process (called xend) runs in highest privilege in DOMAIN 0 and it's
code detects and starts secondary processors, sets up interrupt routing,
time slicing, and performs PCI bus enumeration as well as offloads
hardware support issues to DOMAIN 0 GUEST OS which is the modified pre
existing Linux installed distribution.
You're misunderstanding here - the lowlevel stuff (secondary processors,
interrupt routing, PCI, scheduling domains, etc, etc) happens in Xen. Xen !=
Xen itself sits *below* the kernels of all the domains on the system
(including domain 0) and handles the low-level details of the system. The
guest kernels are ported to run on top of Xen by using the interfaces it
Xend is a management process that deals with the high-level management side of
the system. It builds domains, records what domains are running, sends them
control messages, provides access to their consoles via TCP etc. Xend isn't
required for the system to run, just to perform these management-plane
As such, Xen provides a secure
virtual machine for this GUEST OS, builds other domains using an OS
installed in a root file system placed on a partition and booted from
that partition, manages their virtual devices and performs
Root filesystems can be stored anywhere dom0 can access like a block device.
Files, LVM volumes, MD devices, whole disk drives, partiitons, network block
devices, etc. etc.
My next question:
What exactly is an HTTP/S server -- apparently it is a requirement for
browser administration access to a Xen-based system? Is Apache such a
server and if not can it be turned into such a server???
HTTPS? It's a secured version of HTTP. I don't think you shouldn't need to
install anything extra to make this work - Twisted includes its own HTTP
(btw, Apache can serve over HTTPS but we don't use it in Xen)
One more question:
Regarding the source code. I have been reviewing Python and C
(gcc/gcc++) and was wondering if there was a high level diagram showing
dependencies (hierarchy based on caller and called) and code utilized
(python, C, binary insertions, etc.)???
Nope, not really :-) The Xen User Manual, Xend manual and Xen Interface
Manual (in the docs) directory might help you understand a bit more about the
system. To comprehend the source code itself, I'm afraid there's not really
any kind of map.
Based on what I am learning here (mostly from you) I have been
constructing a very high level chart showing levels, key Xen processes,
and stuff like that. I will send you a copy once I am sure the
information is correct and properly represents what is happening.
Thank you very much in advance for your comments and advice.