[CoLoCo] virtualization in hardy: kvm

Kevin Fries kfries at cctus.com
Fri Mar 14 20:57:27 GMT 2008


On Fri, 2008-03-14 at 17:27 +0100, Soren Hansen wrote:
> On Fri, Mar 14, 2008 at 08:25:01AM -0700, Neal McBurnett wrote:
> > KVM just does not work as advertised across different platforms.
> 
> What are you specific problems? I'd love to hear about them.

Every problem it has, always has the same end result.  The kernel mod
does not load.  KVM unlike VBox (same qemu/kqemu solution, only much
better implemented... yes folks, VBox is qemu) or the old qemu/kqemu
solution, once the module fails, it will not fall back to a usable
solution.  As a matter of fact, I have been able to use VBox, where KVM
will not load.

On the few times I fought with it enough to get it running, the
performance was better than qemu (and lets face it, that aint hard), but
no where near what VBox can do.

> > Essentially KVM is QEMU with the accelerator built in.
> 
> That's a rather simplistic (read: wrong) description. kvm is a
> virtualisation solution that happens to use qemu's device model (and
> really not much else). 

No, the only difference is that the module was pulled into the project,
and pushed to ring-0, rather than trying to load dynamically from user
space.

> > so they decided to force QEMU to use it or fail, then forced the
> > accelerator code into a kernel module, maintained at the kernel
> > project. 
> 
> Your use of the word "force" suggests that this was an unwise decision.
> However, the way to interact with hardware happens to be through the
> kernel. That -- or so I'm told -- is one of the main purposes of the
> kernel? How would you suggest it done differently?

Failover!  When you have a technology that does not work reliably as
kqemu did not, changing the VMM from optional to required use of it in
my opinion is very unwise.

> > The idea is that it will eventually get enough attention that it will
> > start working correctly... 
> 
> Could you be a tad more specific about the problems you're seeing? To be
> honest, I'm quite new to this list (just subscribed 17 minutes ago), so
> in case you've elaborated on the subject on previous occasions, I'm
> afraid I've missed it.

There are a number of features inherit into QEMU that really are
fantastic.  However, the setup, configuration, resources, and overall
performance are not among its assets.  Qemu will actually work on pretty
much any machine, will expose the local file directory to the VM, and
will even emulate a P4 Mac or an ARM/XScale.  However, Qemu has never
gotten their acceleration stable.  And KVM suffers from this stability
problem.

The Fedora/RedHat world has already gone down this road, and came out
pretty bloodied for it.

I guess my biggest complaint about KVM is that its half the product of
VBox, at the same price, free.  InnoTek uses their commercial sales to
spur their open source product.  This model keeps getting attacked as
"propietary" when its not.  Its the same exact model as Sendmail, and
MySQL (another Sun product).

> > VMWare server is free to use, period.  
> 
> If you accept the terms of use and obtain a license key, yes.
> Exclamation point![1]

So what!!!

I put this into the same category as Acrobat.  Evince does not do as
nice a job, but everyone fawns over it because its open source.  Again,
so what!  Instead, I guess I take a more broad look at these types of
things...

What does the job in the most standard way (meaning consistent across
all the major operating systems, not standard as in RFCs, though one
usually, but not always creates the other).  I am more interested in the
getting it done cheap and well than holding to a principle.  While I
agree with the principle, nothing in life is an absolute... practicality
can be a cruel mistress sometimes.  It is for this reason that I use
nVidia video cards, I use Firefox web browser, I use OpenOffice
productivity suite, I use Adobe Acrobat to view PDF files, and I use
VBox (i.e. to run a Windows instance on my desktop using the seamless
mode feature so I can run Visio) and VMWare (generally for virtual
servers on a dedicated Linux server).

> > Of course, all the really cool tools are in the paid version.

I don't know about that... I have some pretty cool crap running in my
lab.  It does the job, it does it for free, and it does it on machines
that will not run KVM.  So your complaint is?

KVM is refusing to load, but VMWare loads, and is running 4 virtual
private networks consisting of 11 machines on a single machine with 2
cores and 2GB of ram.  You are touting a product that will not run, over
a product that does because the program that does run won't show you
their code... Again, practicality is a cruel mistress...

> I don't find "of course" to make sense in this context. Ubuntu, for
> instance, doesn't even have a paid version. We put all the really cool
> tools in the archive for all to (ab)use. Of course.
> 
> > VMWare compared to KVM is like comparing a Ferrari to a 1976 Ford
> > Pinto.  Both are cars (or VMMs) but only one has all the modern
> > features; and only one has fine grained level of controls managing its
> > operations; and only one is reliable enough to be useful.  Fedora went
> > down this road a few years ago, and it failed badly.  Never let it be
> > said that the Ubuntu group is willing to learn from the mistakes of
> > others.  It failed miserably in Fedora, its going to fail in Ubuntu
> > also.  KVM has always been, and has shown no ability to be, anything
> > but a series of bad practices over hyped.
> 
> Being a non-native speaker, I'm unable to express how much I'm looking
> forward to some form of substantiation to this fud. All I can say is
> that it's "a lot".

Qemu will run on most any machine.  So will VirtualBox.  So will VMWare.
And, So will Xen (though it won't support Windows unless the vt flag is
set on the CPU).  Howerver KVM will not, it fails far too often and
blames the hardware for its bad programming practices.  Call it fud it
you want... I work with this stuff every day, and I know crap when I see
it.  The accelerator does not belong in the kernel, it belongs between
the kernel and the user space.  Putting stuff you cant get to work
correctly into ring-0 is what got Microsoft into trouble.  This is a bad
program; badly implemented.  And if you want to talk about internals,
and proper programming practices, I will gladly take this offline.  But
this forum has suffered enough of both of our rantings.

-- 
Kevin Fries
Senior Linux Engineer
Computer and Communications Technology, Inc
A Division of Japan Communications Inc.



More information about the Ubuntu-us-co mailing list