Beating my head on a brick wall is both less painful and more rewarding...
Okay, I went and bought a nifty 1U server for virtualization to replace
my previous 1U which has a whopping 433MHz Celery combined with an even
more whopping 128MB of RAM. But, hey, it runs FreeBSD--which is very
happy to just sit there and run and run and run--I think my average
uptime between reboots is something like 300+ days. This is true even
on relatively small hardware by today's standards. As opposed to the
resource requirements of the bloated pigs that now comprise any of the
semi-stable ... err, "enterprise" ... Linucies.
But, you know what, I'm still using the Celery (uptime 131 days solely
because it had to move cabinets) 4 months later ... grrrr.
So, my first foray into this was to look into Xen.
Which only runs Dom0 under Linux. Sighhhhhh. It's okay--I've got lots
of RAM and disk for the bloated pig. Didn't we learn our lessons about
monocultures from Windows? I guess not ... but I digress.
Get used to digression. I know I sure have. Mmmm .. yak shaving. Yay!
Fine. So, I want to install FreeBSD into a DomU. Paravirt won't work,
so I figure we'll go with fully virtualized. I've got the xVT
extensions (made sure to buy a processor with them). So, time to hunt
for documentation...
Let me say a special word about the documentation surrounding Xen. I've
been at this computer stuff a while now (too long to admit). I've seen
good documentation; I've seen bad documentation; I've seen no
documentation. I can work with those.
Xen has to be the first case I have ever seen of documentation with
*negative* information content.
The number of broken links, links with mismatched versions, links with
complete garbage, contradictory advice, advice that couldn't possibly
have worked, advice that worked briefly for four days after the second
full moon of the month, etc. is absolutely *staggering*. It's amazing
that anybody actually ever gets this working.
Oh ... wait ... they never actually do.
That's not entirely true. As long as you're just a
*insert-specific-distro* fanboy and only ever run
*insert-specific-distro* in both Dom0 and DomU, life is probably okay.
For those of us who might, you know, want to actually run something
different in the DomU than is running in the Dom0, well we can just go
shove something long, thick and unlubricated up where the sun don't
shine. But I digress.
So, after plowing through far too much manure ... err, documentation ...
I managed to get the right commands, setup and config. Launch and ...
Crash. At the boot stage. *WHAT?!?!?!* This is FreeBSD. It runs on
386 hardware for the love of Pete. It would take actively hostile
programming to break FreeBSD at the boot stage. This can't be right. I
have to have done something wrong ...
Alas, no. The Xen geniuses broke real-mode support in Xen 3.1. But
only 3.1--not 3.0 or the not-yet-released-at-the-time 3.2. And only for
Intel processors. Oh, and it's too much trouble to backport a fix from
3.2 to 3.1.
You have *got* to be kidding me.
The Cascade of Attention Deficit Teenagers development model strikes
again. I mean, bug fixing, how gauche ... that's, like, actual work ..
omygawd.
We'll kindly overlook the fact that it worked in 3.0 and all you had to
do was *NOT BREAK IT IN THE FIRST PLACE YOU IDIOTS* (but, of course,
*other* things were broken in 3.0). But, you know, that would require
testing, how gauche ... but I digress and repeat myself.
So, I decide to give VMWare a shot. Qemu really doesn't get a look for
various reasons (mostly host integration, but the fact that the
developers have been taking forever to figure out how to use gcc4
doesn't fill me with confidence.)
Now, I like VMWare. I run VMWare Fusion on my Mac. I've got 6
different images on my disk--FreeBSD 7, CentOS 5, DeadRat7.3, and 3 XP
images for various reasons. It works.
So, I set up to use VMWare. Of course, I have to run Linux as a host.
Sighhhhhh. But I repeat myself.
Fire up VMWare Server, launch the install, watch the familiar FreeBSD
installer, put in the network options. Boot. Done. Joy.
So, I put the system in the rack and let it chew for a while to see if
we're good. Life seems pretty okay. The system is working reasonably
well even if it is full emulation of everything because I've got *way*
too much CPU to spare. Even better, VMWare Server 2.0 is in beta so I
figure I'll give it a try to see what's coming and put FreeBSD on it so
that I'm ready to make the changeover when the official release of
VMWare hits. Awesome.
Pull VMWare server 2.0 and install. Fire up the control panel for
VMWare ... huh? I didn't ask for a browser window. Uh, oh. Their new
virtualization control requires a plugin which is effectively VNC
running in Java in a Firefox plugin. And, it's broken. Because, of
course, nobody ever tests on Linux because the majority share is the
only thing that matters and that's Windows and Internet Explorer.
Aren't monocultures wonderful? But I repeat myself.
Okay, that's not happening even if it *wasn't* broken because I'd have
to maintain a main instance with full X11 support and I'd have to
administer everything remotely graphically. No. I use FreeBSD so that
I can beat on things at the command line through a text
console--requiring VNC is a non-starter. So, I go hunting for the
command line tools to control Server 2.0 like I could for Server 1.0.
They don't seem to exist. F*** me. This is *not* happening.
Oh, yes, you guessed it. They clobbered not only the tools but the
entire *API* so you can't even write your *own* tools. Even worse, the
graphical console thing is only a stopgap and doesn't have all the
functionality. Only VI Client will have all the functionality and, of
course, will be available in your choice of OS:
Windows, Windows, or Windows.
Head ... meet wall. Wall ... head.
The suggestion, of course, is to stay with VMWare Server 1.0 which runs
and has the functionality I need. The problem, of course, is the fact
that it relies on compiling a couple of kernel modules. But that's okay
because we all know about the Herculean effort Linux puts into
maintaining binary compatibility on kernel API's.
Err. Maybe not. What's going to happen is that those modules are going
to break. Sooner rather than later, probably. At which point, VMWare
is going to kindly fix and recompile those kernel modules, right?
It's okay. I'll wait here until you stop laughing. Hopefully you
didn't destroy a keyboard with a beverage coming out your nose.
Fine. Toss VMWare on the trashheap. Now what?
Well, it looks like back to Xen. Do I have *any* other options that are
looking any better? Actually, yes. During this time (4 *months*),
OpenSolaris seems to have managed to somehow approach something
resembling an operating system and runs Dom0. Rock. I've been wanting
a real filesystem for a while now, and ZFS certainly fits the bill.
Zones would probably be useful for most of the things that I would want
virtualization for, but hopefully I can still launch a full
virtualization environment. And I get DTrace as a bonus! Since things
are still beta I'll pull the latest development snap as that should be
completely up-to-date.
So, go pull the DVD, install ... churn churn churn ... start the xVM kernel.
And realize that it's Xen 3.1 ... again.
Bang ... ouch ... bang ... ouch ... bang ... ouch.
Ahhhhh, that feels sooo good ...
-a
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list