This post originated from an RSS feed registered with Ruby Buzz
by Jim Weirich.
Original Post: UML Roundtable at CLUG
Feed Title: { | one, step, back | }
Feed URL: http://onestepback.org/index.cgi/synopsis.rss
Feed Description: Jim Weirich's Blog on Software Development, Ruby, and whatever else sparks his interest.
User Mode Linux was the topic of this month’s Cincinnati Linux Users
Group (CLUG). Since this blog is running on a
UML host, I thought I would talk about that for a bit.
NOTE: :
Most people (myself included) tend to think of the Unified Modeling Language
(a graphical notation for expressing Object Oriented designs and models)
when they hear "UML". However, for the rest of this article, UML
will be used to mean User-Mode Linux.
What Is UML?
User Mode Linux is a version of Linux that sits on top of a running linux
system and runs entirely in the users unprotected process space. At first
glance, this seems like a really useless idea. Why run a virtual Linux when
you have a "real" version already running on your hardware. It
turns out there are a number of useful things
So why would you want to run a User Mode Linux? Here’s some
ideas…
Kernel Development. Running your test kernels in user space makes it
much easier to debug your kernels. And crashing a kernel just brings down
your local copy, nothing else.
Experimenting with New Kernels or Distributions. Again, because the
UML is isolated from the real system, you can try out new kernels or even
whole distributions that you would not normally want to deal with.
Secure Sandbox. Since the UML has no access (not explicitly granted)
to the host Linux system, a UML is a great place to run potentially
malicious applications.
Experimentation. Ever wonder what would happen if you typed "rm
-f /" as root. Do it in a UML without fear of breaking anything else.
Networking. UMLs each act as their own host, so you can setup a
network of UMLs on a single box to experiment with networking solutions.
UML Farm. Put a bunch of UMLs on a single server and let individual
users have an entire (virtual) linux system to themselves. We’ll come
back to this idea in a moment.
You get the idea. So why is this blog hosted on a UML? First, we need some
history.
The UML Coop
Over the years, the local ISP that I use went from being a great ISP to
being a very mediocre company. Changing hands several times, it was finally
bought by Nuvox who offered to
"upgrade" our 100 Mbs of web storage to a generous 5 Mb. Several
members of CLUG began looking for alternative web hosting solutions.
In January of this year (2003), David Coulson from the Cleveland
Linux User Group came to give a presentation on UML. David has done
extensive work with UML and mentioned that he was interested in starting a
COOP that
1000
would purchase a server on the internet. Each member of the COOP
would get their own UML instance to do whatever they wanted.
It took several months before the COOP came together, but by May we had
purchased a server and hosted it at N2Net in
Cleveland. The system is currently supporting around 20 UML instances with
little problem (except for the one day we got slashdotted).
Jeff has applied to join the UML COOP, but hasn’t got his UML
instance setup yet.
Monty
Shell access from an internet host
Ryan
Mirroring for picture galleries. Ryan hosts a web site on his home system,
dlugosz.net. To avoid high bandwidth on
his home box, he redirects graphic requests to his UML box.