Hi list I´m really new to Xen. My question is probably an easy one. First, yes i went through the documentation and also came across some messages that helped me clarify (not so clear actually) my next few question. They are: What exactly is a "modified guest". I know linux and BSD´s fall in this category. But, well i can run an unmodified version of linux, paravirtualized, with Xen don´t? Talking about windows, i know i nedd Intel-VT or AMD-V to use it. Will Windows run paravirtualized or full virtualized in this environmet? I think "full virtualized" is the answer, but if anyone could go a little bit further on that...thanks!! What is involved in "modify" a guest OS? and last but not least. I came across a number of definitions for "paravirtualized" or paravirtualization. I know it provides an API for the virtual machines to interface with rather a full abstraction of the underlying hardware. I guess that´s not all about it. Once more, if someone could go furthur with an explanation. I would like to excuse for these sort of basic question and also wish to thank for any answar i might get. Cheers _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
> -----Original Message----- > From: xen-users-bounces@lists.xensource.com > [mailto:xen-users-bounces@lists.xensource.com] On Behalf Of > Fabio Viero > Sent: 04 April 2007 17:51 > To: Xen-users@lists.xensource.com > Subject: [Xen-users] Clear definitions > > Hi list > > I´m really new to Xen. My question is probably an easy one. First, yes > i went through the documentation and also came across some messages > that helped me clarify (not so clear actually) my next few question. > They are: > > What exactly is a "modified guest". I know linux and BSD´s fall in > this category. But, well i can run an unmodified version of linux, > paravirtualized, with Xen don´t?A modified guest is the same as a paravirtualized guest (a paravirtual guest runs with a modified kernel, to put it in a different way).> > Talking about windows, i know i nedd Intel-VT or AMD-V to use it. Will > Windows run paravirtualized or full virtualized in this environmet? I > think "full virtualized" is the answer, but if anyone could go a > little bit further on that...thanks!!Short answer: Windows is only possible to run in "full-virtualization". Long answer: Whilst it''s technically possible to run Windows (or almost any other OS) on top of Xen as a para-virtual guest, practical things such as contracsts and laws makes the availability of the source-code and/or the relevant changes necessary to make the OS para-virtual makes it (nearly) impossible to get a para-virtual Windows onto your machine [as in, not only do you need to have source-code to Windows - which in itself is generally difficult to get, but you also need the relevant changes to make it para-virtual]. And if you did have access to those bits, you still can''t distribute the resulting binary (but you could use it yourself). And some more about the Intel VT/AMD-V technologies. Essentially this is what enables full-virtualization without other complicated technologies (such as "binary translation" or "binary patching" (the latter is a form of para-virtualization, but based on replacing the machine-code inside the guest-OS, rather than modifying the source-code of the operating system). The virtualization technology essentially allows the hypervisor to tell the processor to executed code in a guest-OS, but when certain events happen (such as certain exceptions or reads/writes of some special register(s)) the processor should stop executing and get back to the hypervisor. This way, the hypervisor can keep track of things and make sure the guest is behaving itself. Also, the hypervisor will "lie" to the guest about things like where it''s memory is - almost all OS''s expect memory to start at zero and grow to some fixed size without too many gaps or missing bits, but if you run multiple OS''s in the machine, that''s not going to be the case - and the memory may not be in one contiguous section either: imagine that you start three 256MB guests, then terminate two of those guests, but leave the "middle" one - now start a single 512MB guest: you can''t do that if you require the memory to be contiguous, because there isn''t a single 512MB section available. So the hypervisor will "hide" the truth and tell the OS "what it wants to hear", and then make the necessary modificiations as and when it needs to (for example maintaining two page-tables, one that the guest thinks is the page-table, and one that is given to the processor).> > What is involved in "modify" a guest OS?Basicly, take some parts of the guest-OS (source-code) and rewrite the direct accesses to for example page-tables and a bunch of other things to make them virtualization aware. This is on the scale of "difficult programming" somewhere around 8-10 range on a 0-10 scale of difficulty (where higher number -> more difficult).> > and last but not least. I came across a number of definitions for > "paravirtualized" or paravirtualization. I know it provides an API for > the virtual machines to interface with rather a full abstraction of > the underlying hardware. I guess that´s not all about it. Once more, > if someone could go furthur with an explanation.Well, I think "providing an API/interface for a hypervisor (virtual machine monitor) to a guest-OS" is a pretty good definition. I don''t believe there is a STRICT definition of para-virtualization as such - it''s simply "to make the OS more or less aware that it''s running in a virtual environment so that it can co-operatively perform some of the tasks necessary to make it run as a virtual machine". -- Mats> > I would like to excuse for these sort of basic question and also wish > to thank for any answar i might get. > > Cheers > > _______________________________________________ > Xen-users mailing list > Xen-users@lists.xensource.com > http://lists.xensource.com/xen-users > > >_______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
[snip]> > > > > Let´s go for a practical example. Assume i´m using SLES10 and booting > the Xen kernel that comes with the distribuition. Right? Let´s go > ahead. I don´t like too much the yast way of doing things but let´s > use it now. I create a virtual machine, the only option available is > "paravirtualization" because i don´t have VT or V as processor. I will > not lie now and tell you that i did install an unmodified linux OS > (say stock Fedora). But i´ve read reports of people doing it. You > said: "To run unmodified (any OS), you''ll need a processor that has > AMD-V or Intel VT.". I know i´m missing something here, as soon as i > discover what is this "miss" i´ll probably head in the right > direction. I´m afraid i still in need of some guidance :) and the > question that arose is: wich is true on the above? i will NOT be able > to install Fedora? or i WILL be able to run un unmodified OS, contrary > to what you said?Ok, let''s take a step back and discuss what I mean by "unmodified". I''m pretty sure some people (for example XenSource, Virtual Iron, SuSE, RedHat/Fedora) have developed tools that allow you to install a guest from the base-install media (or at least that will help you through part of that process). [Of course, whether those tools allow you to install a Fedora image with SuSE tools or SuSE image with Fedora tools is a different matter - I don''t know the answer to this]. However, if you don''t have AMD-V or Intel VT on the processor, the kernel used in such an installation MUSST be one that uses a MODIFIED kernel. That is, a kernel that is specifically built to talk to Xen, rather than the kernel that you''d use for bare-metal (the hardware without Xen). This is what''s meant by "modified" vs. "unmodified". The unmodified uses exactly the same binary image as you''d use on "bare-metal", which means that no special kernel is needed. With the virtualization extensions, you can just take the installation CD/DVD and set the virtual machine to say: Your CD/DVD is this (either the physical device or an ISO-image). Your Hard-disk is this (a file, logical volume or physical device) And off you go and install it, just like you would on bare-metal - the only difference is the fact that your "console" is a window instead of the full screen. -- Mats> > >_______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Petersson, Mats wrote:> [snip] > >>> >> Let´s go for a practical example. Assume i´m using SLES10 and booting >> the Xen kernel that comes with the distribuition. Right? Let´s go >> ahead. I don´t like too much the yast way of doing things but let´s >> use it now. I create a virtual machine, the only option available is >> "paravirtualization" because i don´t have VT or V as processor. I will >> not lie now and tell you that i did install an unmodified linux OS >> (say stock Fedora). But i´ve read reports of people doing it. You >> said: "To run unmodified (any OS), you''ll need a processor that has >> AMD-V or Intel VT.". I know i´m missing something here, as soon as i >> discover what is this "miss" i´ll probably head in the right >> direction. I´m afraid i still in need of some guidance :) and the >> question that arose is: wich is true on the above? i will NOT be able >> to install Fedora? or i WILL be able to run un unmodified OS, contrary >> to what you said? >> > > Ok, let''s take a step back and discuss what I mean by "unmodified". > > I''m pretty sure some people (for example XenSource, Virtual Iron, SuSE, RedHat/Fedora) have developed tools that allow you to install a guest from the base-install media (or at least that will help you through part of that process). [Of course, whether those tools allow you to install a Fedora image with SuSE tools or SuSE image with Fedora tools is a different matter - I don''t know the answer to this]. > > However, if you don''t have AMD-V or Intel VT on the processor, the kernel used in such an installation MUSST be one that uses a MODIFIED kernel. That is, a kernel that is specifically built to talk to Xen, rather than the kernel that you''d use for bare-metal (the hardware without Xen). This is what''s meant by "modified" vs. "unmodified". The unmodified uses exactly the same binary image as you''d use on "bare-metal", which means that no special kernel is needed. > > With the virtualization extensions, you can just take the installation CD/DVD and set the virtual machine to say: > Your CD/DVD is this (either the physical device or an ISO-image). > Your Hard-disk is this (a file, logical volume or physical device) > > And off you go and install it, just like you would on bare-metal - the only difference is the fact that your "console" is a window instead of the full screen. >Has anyone done PXE installations on DomU setups, rather than inserting the disk (or mounting an ISO, always lots of fun too!) _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users