{ |one, step, back| } 3 of 3 articles WikiSyndicate: full/short

UML Roundtable at CLUG   26 Oct 03
[ print link all ]
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 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).

Using UMLs

How CLUG members are using their UMLs?

  • Kip
    • Web hosting for shafferhouse.org, a family picture galary.
    • Web hosting for exams4pilots.org, a practice exam site for pilots.
    • TMDA Mail Filtering (TMDA is worth a posting in its own right).
  • Jim
    • Web hosting for onestepback.org, this blog site.
    • Mail filtering (someday)
  • Jeff
    • 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.

Some UML Links

UML Coop WIKI is Now Available   17 May 03
[ print link all ]
A Wiki devoted to UML Coop questions and answers is availbe at jimweirich.umlcoop.net/cgi-bin/umlwiki.pl. UML Coop members are invited to use it.

What Do You Need?   17 May 03
[ print link all ]
So, you are facing a freshly installed copy of Linux. It has the basics, but nothing else. What do you install first?

I can answer that question because I just did it for the UML system you see here.

Here’s what I loaded …

  • I have download most of my brain into Emacs macros, so working without emacs for any length of time is not acceptable. Fortunately, a quick ‘apt-get install emacs21’ and a working emacs system becomes available.
  • After loading emacs, I grabbed the .emacs file (and all of its supporting libraries) from my desktop system.
  • My overall plan for this UML system is to use it as my web host. That means that apache is required. Grabbing apache with apt-get was simple.
  • I plan to base my web site around a Ruby based blogging package called Rublog. That means Ruby will be needed. Since I tend to track the latest version of Ruby a little more closely than Debian does, I normally install Ruby by hand from source. Fortunately, installing Ruby is trivial. I just downloaded the source (from www.ruby-lang.org), and did the standard configure/make/make install commands.
  • Next I needed the Rublog software. I had been playing with Rublog on my laptop, so I had the configuration pretty well decided by that point. I just copied the laptop setup to the UML system.
  • Finally, Rublog needs RDoc to render any RDoc postings. A quick visit to the Ruby Application Archive to grab RDoc and I was good to go.

And that completed my first phase of setups. I had to do a little reading on setting up iptables and a bit of configuration with apache. The result is what you see here.

So, what packages do you need to work with.

 

Formatted: 13-May-08 07:14
Feedback: jim@weirichhouse.org