Learning Linux-VServer

| |

While it is obvious that I've been using OpenVZ for some time now, a lesser known fact is that I've also been using Linux-VServer at work. Linux-VServer is a lot like OpenVZ only different. Huh? Well, Linux-VServer is also a form of OS Virtualization but rather than the term "container" the Linux-VServer folks prefer the term, "security context".

From a feature and operational perspective, Linux-VServer and OpenVZ are very similar but from a design and implementation standpoint, they are quite different. The Linux-VServer setup I've been using at work pre-dates my employment there and it is quite old (based on the Linux 2.4.x kernel)... but it has been running flawlessly so I haven't seen the need to update it. As a result, I've really fallen behind with Linux-VServer's development and how it has changed, matured, and added features over the last couple of years.

Talking to the Man

I frequent the #openvz channel on the freenode IRC network and I ran across an user there by the name of Bertl. Who is Bertl? Well, he just so happens to be Herbert Pötzl who is the Project Leader for Linux-VServer. Herbert has been developing Linux-VServer for several years now and is really proud of its design and I can't say that I blame him.

While it is not required that you build your own Linux-VServer kernel (by taking a vanilla kernel.org kernel and applying the Linux-VServer patch), and they do offer a number of binary kernel packages for various Linux distributions, you are highly encouraged to build your own kernel. So far, I have fought the "build your own kernel" mantra but just how long will I last?

The Linux-VServer website seems to have a LOT more information on the design and implementation of Linux-VServer than it has introductory documentation for new users... which is a shame. I believe the lack of introductory documentation for beginners and the strong technical leaning of project members is potentially responsible for Linux-VServer not being as popular as it could be.

Getting Involved?

As a result of talking with Herbert and working with Linux-VServer some more, I've decided that I want to learn all I can about Linux-VServer and see if I can actually help improve the project... especially for new users. So my plan is to setup a modern Linux-VServer system, learn how to use the tools, perhaps even compile my own kernel... and then from a practical standpoint, migrate my older Linux-VServer VPSes from the older setup into a current environment... and then, time permitting, working on some introductory documentation... as well as provide feedback to the development team on things they could do to make it easier for less experienced users to give Linux-VServer a try.

I haven't actually articulated my plan to Herbert nor any of the other developers because I'm very early in the process and I want to see how it goes before I over-commit myself... and who knows if they even want my help? I do hope to conduct an extensive email interview with Herbert once I have learned the system better and can actually come up with intelligent questions.

What about OpenVZ?

OpenVZ offers a number of features that Linux-VServer doesn't currently offer (checkpointing with offline and online migration as well as additional network interface flexibility) and I have no plans to stop using OpenVZ. The thing is... as you should recall... container features have been finding their way into the mainline Linux kernel... and it is expected that by a year from now, most if not all of the container features will be present in the mainline kernel.

Although no one really knows how long it will take, how complete it will be, and when distro makers will add container features to their distros... it is fairly clear to me that OS Virtualization will become mainstream sometime within the next year to two years. I'm not sure what that will mean for the OpenVZ nor the Linux-VServer projects but I do know both of them will adapt and take advantage of the additional opportunities that will present themselves as a result of the mainstreaming of OS Virtualization.

Where's the Video?

Here's a video of a presentation Herbert did in the summer of 2005 at a conference called What The Hack. It is a little outdated but enjoyable none the less.