2009/6/12 Pontus Pihlgren <pontus at update.uu.se>:
On Fri, Jun 12, 2009 at 03:51:18PM +0100, Liam Proven
wrote:
<snip>
great servers running all those as guests, you
*still* have 50 copies
of Windows to maintain. The work level doesn't drop much at all - you
just save space and electricity.
</snip>
This was my point, the work level doesn't drop, but it certainly does
not increase!
True.
And even that
is a partly illusory saving, because much of the power
and resources that a computer will use in its typical working life of
a few years is spent in building the thing. So by replacing multiple
working hardware boxes with a single big new machine to run the same
workloads, you're wasting all that sunk-cost of the manufacture of
those boxes, while "spending" a load more non-recoverable resources
that were used to make the new box.
Well that all depends on the load. Recently we moved two low-load
machines into a virtual environment, perhaps we didn't cut the
power/cooling costs in half, but it's certainly an improvement.
Good point!
Let's say
you're running 4 copies of Windows, in VMs, on a host copy
of Windows. That's 5 gig of RAM and 4,500MHz of CPU bandwidth blown on
all those copies of Windows, of which 4.5GB and 4000MHz are running
duplicated code that is shared by all the VMs.
In this case I agree that virtualization is probably a bad idea. But if
the client OS needs 250MB worth of memory and a few percent of the CPU.
You could easily squeeze three of them into 1GB (asuming the host OS
needs only 250 MB, which might be optimistic). Also think of the case
where the client systems doesn't need the CPU all the time.
Even so, it's more efficient with OS-level virtualisation. The only
case I can see for full-function OSs running on top of other
full-function OSs is, for example, if you want 1 host to run several
different OSs - e.g., a VM with NT4 Server, a VM with Linux and a VM
with Solaris, or some random combination such as that.
However, I fear that the most common reason will be that all the
techies know is Windows Server, so they just run lots of instances of
that and waste masses of resources.
Even if you have the resources to burn, waste is bad. Waste is always
bad, I feel.
If, instead,
you were running an OS that could partition itself so
that the 4 workloads all ran on the same shared kernel, but completely
isolated from one another, so that one could have one version of the
core libraries and another a different version,
This would be awsome, is there any such system?
Several. Solaris with Containers and Zones & FreeBSD with Jails are
the 2 best-known. AIX has WPARs, which I believe are similar. Linux
doesn't have anything built into the kernel, but there are a number of
3rd party additions: FreeVPS, Linux VServers & OpenVZ.
Virtuozzo is a commercial product for doing much the same and is
available on Linux and Windows.
My guess is that it is
very hard to get right.
I think it's easier when it's built into the OS than to add it on later.
However you totally miss the case where you need
different operating systems.
I hadn't read this when I wrote the earlier part of my message, honest! :?)
Does that make
my point clear?
Yes, I see that there are cases where virtualization is really stupid.
But I hope that my argumentation for the cases where it is smart make
sense :)
Oh, it certainly has its uses, and on VMware's ESX server, tools like
VMotion and VirtualCentre are a massive boon for manageability, albeit
at a small but significant price in terms of performance. But
performance is rarely a problem these days.
It just bothers my sense of systems elegance to see big full-function
OSs running on top of other big full-function OSs. I really deeply
dislike that sort of kludge, and my suspicion tends to be that an
inelegant solution is a flawed solution and that those flaws will
eventually come back to bite you.
--
Liam Proven ? Profile:
http://www.linkedin.com/in/liamproven
Email: lproven at cix.co.uk ? GMail/GoogleTalk/Orkut: lproven at
gmail.com
Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 ? Fax: + 44 870-9151419
AOL/AIM/iChat/Yahoo/Skype: liamproven ? LiveJournal/Twitter: lproven
MSN: lproven at
hotmail.com ? ICQ: 73187508