Odin and the OpenVZ Project announced the beta release of a new version of Virtuozzo today. This is also the next version of OpenVZ as the two are merging closer together. See their release announcement.
There will eventually be two distinct versions... a free version and a commercial version. So far as I can tell they currently call it Virtuozzo 7 but in a comparison wiki page they use the column names Virtuozzo 7 OpenVZ (V7O) and Virtuozzo 7 Commercial (V7C). The original OpenVZ, which is still considered the stable OpenVZ release at this time based on the EL6-based OpenVZ kernel, appears to be called OpenVZ Legacy.
Odin had previously released the source code to a number of the Virtuozzo tools (mailing list post) and followed that up with the release of spec-like source files used by Virtuozzo's vztt OS Template build system. The plan is to migrate away from the OpenVZ specific tools (like vzctl, vzlist, vzquota, and vzmigrate) to the Virtuozzo specific tools although there will probably be some overlap for a while.
The release includes source code, binary packages and a bare-metal distro installer DVD iso.
Bare Metal Installer
I got a chance to check out the bare-metal installer today inside of a KVM virtual machine. I must admit that I'm not very familiar with previous Virtuozzo releases but I am a semi-expert when it comes to OpenVZ. Getting used to the new system is taking some effort but will all be for the better.
I didn't make any screenshots yet of the installer... I may do that later... but it is very similar to that of RHEL7 (and clones) because it is built by and based on CloudLinux... which is based on EL7.
What is CloudLinux? CloudLinux is a company that makes a commercial multi-tenant hosting product... that appears to provide container (or container-like) isolation as well as Apache and PHP enhancements specifically for multi-tenant hosting needs. CloudLinux also offers KernelCare-based reboot-less kernel updates. CloudLinux's is definitely independent from Odin and the CloudLinux products are in no way related to Virtuozzo. Odin and CloudLinux are partners however.
Why is the distro based on CloudLinux and does one need a CloudLinux subscription to use it? Well it turns out that Odin really didn't want to put forth all of the effort and time required to produce a completely new EL7-clone. CloudLinux is already an expert at that... so Odin partnered with CloudLinux to produce a EL7-based distro for Virtuozzo 7. While CloudLinux built it and (I think) there are a few underlying CloudLinux packages, everything included is FOSS (Free and Open Source Software). It DOES NOT and WILL NOT require a CloudLinux subscription to use... because it is not related to CloudLinux's product line nor does it contain any of the CloudLinux product features.
The confusion was increased when I did a yum update post-install and if failed with a yum repo error asking me to register with CloudLinux. Turns out that is a bug in this initial release and registration is NOT needed. There is a manual fix of editing a repo file in /etc/yum.repos.ed/) and replacing the incorrect base and updates URLs with a working ones. This and and other bugs that are sure to crop up will be addressed in future iso builds which are currently slated for weekly release... as well as daily package builds and updates available via yum.
More Questions, Some Answers
So this is the first effort to merge Virtuozzo and OpenVZ together... and again... me being very Virtuozzo ignorant... there is a lot to learn. How does the new system differ from OpenVZ? What are the new features coming from Virtuozzo? I don't know if I can answer every conceivable question but I was able to publicly chat with Odin's sergeyb in the #openvz IRC channel on the Freenode IRC network. I also emailed the CloudLinux folks and got a reply back. Here's what I've been able to figure out so far.
Why CloudLinux? - I mentioned that already above, but Odin didn't want to engineer their own EL7 clone so they got CloudLinux to do it for them and it was built specifically for Virtuozzo and not related to any of the CloudLinux products... and you do not need a subscription from Odin nor CloudLinux to use it.
What virtualization does it support? - Previous Virtuozzo products supported not only containers but a proprietary virtual machine hypervisor made by Odin/Parallels. In Virtuozzo 7 (both OpenVZ and Commercial so far as I can tell) the proprietary hypervisor has been replaced with the Linux kernel built-in one... KVM. See: https://openvz.org/QEMU
How about libvirt support? - Anyone familiar with EL7's default libvirtd setup for KVM will be happy to know that it is maintained. libvirtd is running by default and the network interfaces you'd expect to be there, are. virsh and virt-manager should work as expected for KVM.
Odin has been doing some libvirt development and supposedly both virsh and virt-manager should work with VZ7 containers. They are working with upstream. libvirt has supposedly supported OpenVZ for some time but there weren't any client applications that supported OpenVZ. That is changing. See: https://openvz.org/LibVirt
Command line tools? - OpenVZ's vzctl is there as is Virtuozzo's prlctl.
How about GUIs or web-based management tools? - That seems to be unclear at this time. I believe V7C will offer web-based management but I'm not sure about V7O. As mentioned in the previous question, virt-manager... which is a GUI management tool... should be usable for both containers and KVM VMs. virsh / virt-manager VZ7 container support remains to be seen but it is definitely on the roadmap.
Any other new features? - Supposedly VZ7 has a fourth-generation resource management system that I don't know much about yet. Other than the most obvious stuff (EL7-based kernel, KVM, libvirt support, Virtuozzo tools, etc), I haven't had time to absorb much yet so unfortunately I can't speak to many of the new features. I'm sure there are tons.
About OS Templates
I created a CentOS 6 container on the new system... and rather than downloading a pre-created OS Template that is a big .tar.gz file (as with OpenVZ Legacy) it downloaded individual rpm packages. It appears to build OS Templates on demand from current packages on-demand BUT it uses a caching system whereby it will hold on to previously downloaded packages in a cache directory somewhere under /vz/template/. If the desired OS Template doesn't exist already in /vz/template/cache/ the required packages are downloaded, a temporary ploop image made, the packages installed, and then the ploop disk image is compressed and added to /vz/template/cache as a pre-created OS Template. So the end result for my CentOS 6 container created /vz/template/cache/centos-6-x86_64.plain.ploopv2.tar.lz4. I manually downloaded an OpenVZ Legacy OS Template and placed it in /vz/template/cache but it was ignored so at this time, I do not think they are compatible / usable.
The only OS Template available at time of writing was CentOS 6 but I assume they'll eventually have all of the various Linux distros available as in the past... both rpm and deb based ones. We'll just have to wait and see.
As previously mentioned, Odin has already released the source code to vztt (Virtuozzo's OS Template build system) as well as some source files for CentOS, Debian and Ubuntu template creation. They have also admitted that coming from closed source, vztt is a bit over-complicated and not easy-to-use. They plan on changing that ASAP but help from the community would definitely be appreciated.
How about KVM VMs?
I'm currently on vacation and only have access to a laptop running Fedora 22... that I'm typing this from... and didn't want to nuke it... so I installed the bare-metal distro inside of a KVM virtual machine. I didn't really want to try nested KVM. That would definitely not have been a legitimate test of the new system... but I expect libvirtd, virsh, and virt-manager to work and behave as expected.
Despite the lack of perfection in this initial release Virtuozzo 7 shows a lot of promise. While it is a bit jarring coming from OpenVZ Legacy... with all of the changes... the new features... especially KVM... really show promise and I'll be watching all of the updates as they happen. There certainly is a lot of work left to do but this is definitely a good start.
I'd love to hear from other users to find out what experiences they have.
Congrats Odin and OpenVZ! I only wish I had a glass of champagne and could offer up a respectable toast... and that there were others around me to clank glasses with. :)
Linux Weekly News had a write-up in their Weekly Edition last week... of Lennart Poettering's talk (Containers with systemd) at LinuxCon Japan 2015. That article should be available freely later this week... but I found a recording of what appears to be the same talk at a different event from April 2015. Here are the slides. Enjoy!
For those with iFrame issues, here's the direct link:
Here's some documentation on that stuff if you are looking for it.
Somehow I missed this when it was first posted (Feb. 24th, 2015) from the Collaboration Summit 2015... but here it is... Jon Corbet's most recent Kernel Report. Enjoy!
LinuxCon Japan is happening this week so hopefully an updated report soon?
If you haven't seen the pilot episode of USA's new series, "MR. ROBOT"... you can see the whole thing on YouTube... until they decide to take it down. Anyway, there was an exchange about GNOME vs. KDE and Linux is even mentioned. Here's the 1 minute clip. Enjoy!
I guess they haven't seen Plasma 5 yet. It's da'bomb!
If you didn't notice, Fedora 22 was released today. Today I refreshed the Fedora 22 OS Template I made for OpenVZ and uploaded it to contrib. For fun, I thought I'd build a MATE Desktop GUI container right in front of your eyes... and then connect to it via x2go.
Installing a desktop environment in a container can be fraught with danger for the uninitiated. The problem? Well, it always drags in NetworkManager, a graphical login manager, and various other packages / services that aren't really appropriate for a container. With a handful of systemd statements though, it is an easy fix. Watch and I'll show you how. Enjoy!
For those with iFrame issues, here's a direct link to the webm video:
You can pretty much use the same recipe for other desktop environments. The only thing you want to avoid are desktop environments that require accelerated 3D because those won't work over x2go. Which desktops use that? GNOME and Plasma 5... Cinnamon probably... and if you were on Ubuntu, Unity. XFCE, MATE, OpenBox, LXQT, etc work fine... although I haven't tried them all.
Since I'm such a big container fan (been using them on Linux since 2005) and I recently blogged about Docker, LXC, and OpenVZ... how could I pass up posting this? Some Canonical guys gave a presentation at the recent OpenStack Summit on "LXD vs. KVM". What is LXD? It is basically a management service for LXC that supposedly adds a lot of the features LXC was missing... and is much easier to use. For a couple of years now Canonical has shown an interest in LXC and has supposedly be doing a lot of development work around them. I wonder what specifically? They almost seem like the only company who is interested in LXC.. or at least they are putting forth a publicly noticeable effort around them.
Why Should You Care?
If Canonical can actually deliver on their LXD roadmap it is possible that it will be a suitable substitute for OpenVZ. The main "problem" with OpenVZ is that it is not in the mainline kernel, whereas LXC is. In practice you have to purposefully make an OpenVZ host (currently recommended on RHEL6 or clone) but with LXC/LXD any contemporary Linux system should be able to do full-distro containers... aka containers everywhere for everyone.
How About a Roadmap
Where is LXD now? Well, so far it seems to be mostly a technology preview available in Ubuntu 15.04 with the target "usable and production ready" release slated for the next Ubuntu LTS release (16.04)... which if you weren't familiar with their numbering scheme is 2016 April.
That's about a year away, right... so what do they still have left to do? If you go to about 23:30 in the video you'll get to the "Roadmap" section. They have work to do on storage, networking, resource management and usage reporting, and live migration. A bit of that falls within the OpenStack context... integrating with various OpenStack components so containers will be more in parity with VMs for OpenStack users... but still, that's quite a bit of work.
The main thing I care about absolutely being there is isolation and resource management which are really the killer features of OpenVZ. So far as I can tell, LXD does not offer read-only base images and layering like Docker... so that would be an area for improvement I would suggest. BTW they are using CRIU for checkpointing and live migration... thanks Parallels/OpenVZ!
Certainly LXD won't really make it no matter how good it is until it is available in more Linux distributions than just Ubuntu. In a video interview a while back (which I don't have the link handy for at the moment) Mark Shuttleworth stated that he hopes and expects to see LXD in other distributions. One of the first distros I hope to see with LXD is Fedora and that's the reason I tagged this post appropriately.
Broadening the Echosystem
Historically I've been a bit of an anti-Canonical person but thinking more about it recently and taking the emotion out of it... I do wish Ubuntu success because we definitely need more FLOSS companies doing well financially in the market... and I think Red Hat (and OpenVZ) will have an incentive to do better. Competition is good, right? Anyway, enjoy the video. BTW, everything they tout as a benefit of LXD over KVM (density, speed of startup, scalability, etc) is also true of OpenVZ for almost a decade now.
For those with iFrame issues, here's the YouTube link:
LXD vs. KVM
Containers Should Contain
Let's face it, Docker (in its current form) sucks. Why? Well, ok... Docker doesn't totally suck... because it is for applications and not a full system... but if a container doesn't contain, it isn't a container. That's just how language works. If you have an airplane that doesn't fly, it isn't an airplane, right? Docker should really say it is an "Uncontainer" or "Uncontained containers"... or better yet, just use a different word. What word? I'm not sure. Do you have any suggestions? (Email me: firstname.lastname@example.org)
What is containment? For me it is really isolation and resource control. If a container doesn't do that well, call it something else. OpenVZ is a container. No, really. It contains. OpenVZ didn't start life using the word container. On day one they were calling them "Virtual Environments" (VEs). Then a year or two later they decided "Virtual Private Server" (VPS) was the preferred term. Some time after switching to VPS, VPS became quite ambiguous and used by hosting companies using hardware virtualization backends like Xen and VMware (KVM wasn't born yet or was still a baby). Then OpenVZ finally settled on the word "container".
If you want a fairly good history of the birth and growth of OpenVZ over the years, see Kir's recent presentation.
Hopefully LXD will live up to "container" but we'll have to wait and see.
I recently attended a Linux Installfest and the primary distribution recommended by those heading up the event was Ubuntu. That's all well and good but during their Linux dog-and-pony-show a statement was made regarding Red Hat that struck me. I don't recall the exact wording that was used but it was something along the lines of... Red Hat used to be very popular but not anymore. I wasn't really offended by the statement nor do I completely disagree with it... but a lot remains to be said about the importance of Red Hat within the Linux community. Red Hat is certainly king in the "Enterprise" space with Novell a respectable second... but many still seem to be unaware just how much Red Hat contributes to the development of many projects and the rapid progress of Linux.
Whenever I see any articles about Red Hat on any of the Linux community sites (think Slashdot), the comments will invariably mention a few things that I consider to be myths about Red Hat. They include:
1. Red Hat is the "Microsoft of Linux"
2. Red Hat abandoned the desktop/home user market
3. Red Hat costs a fortune
4. Red Hat created "rpm hell" and rpm based distributions suck
I do not want to even attempt to address each individual myth but I do want to make a few points about Red Hat in an effort to educate people to the fact that Red Hat does a lot for the Linux community and is a major (if not THE major) contributor. Let me start with some background information.
Brief history of Red Hat
Rather than write a history of Red Hat from scratch, I'll borrow the history section of the wikipedia page on Red Hat:
In 1993 Bob Young incorporated the ACC Corporation, a catalog business that sold Linux and UNIX software accessories. Then in 1994 Marc Ewing created his own version of Linux, which he named Red Hat Linux. Ewing released it in October, and it became known as the Halloween release. Young bought Ewing's business in 1995, and the two merged to become Red Hat Software with Young serving as CEO
Red Hat went public on August 11, 1999, the eighth-biggest first-day gain in Wall Street history. Matthew Szulik succeeded Bob Young as CEO in November of that year.
On November 15, 1999, Red Hat acquired Cygnus Solutions. Cygnus provided commercial support for free software and housed maintainers of GNU software products such as GNU Debugger and GNU Binutils. One of the founders, Michael Tiemann, served as the Chief Technical Officer of Red Hat and now serves as the vice president of open source affairs. Later it acquired WireSpeed, C2Net and Hell's Kitchen Systems.
In February 2000, InfoWorld awarded Red Hat with its fourth consecutive “Operating System Product of the Year” award for Red Hat Linux 6.1. In 2001 it acquires Planning Technologies, Inc, and in 2004 AOL's iPlanet directory and certificate server software.
Company headquarters were moved from Durham, NC, to N.C. State University's Centennial Campus in Raleigh, North Carolina in February of 2002.
The following March Red Hat introduced the first enterprise-class Linux operating system: Red Hat Advanced Server, later named Red Hat Enterprise Linux. Dell, IBM, HP and the Oracle Corporation announced their support of the platform.
In December of 2005 CIO Insight Magazine conducted their annual Vendor Value Survey, where Red Hat ranked #1 in value for the second year in a row.
Red Hat stock was added to the NASDAQ-100 on December 19, 2005.
Red Hat acquired open source middleware provider JBoss on June 5, 2006 and JBoss became a division of Red Hat. In 2007 it acquired Metamatrix and made an agreement with Exadel to distribute its software.
On September 18, 2006, Red Hat released the Red Hat Application Stack, the first certified stack integrating JBoss technology.
On December 12, 2006, Red Hat moved from NASDAQ (RHAT) to the New York Stock Exchange (RHT).
On March 15, 2007 Red Hat released Red Hat Enterprise Linux 5, and in June, they acquired Mobicents.
For an alternative, see Red Hat's own Red Hat History page.
How Red Hat gives back
Many Linux users don't seem to realize just how much Red Hat contributes back to the Linux community. They are major software developers on a number of projects not the least of which is the Linux kernel. The Fedora Project site has a page entitled Red Hat contributions to Free and Open Source software which lists most of Red Hat's contributions.
To see how much Red Hat contributes to kernel development, check out the last three "Who wrote" articles by Jon Corbet on LWN: 1) 2.6.20, 2) 2.6.22, and 3) 2.6.23. Wow, that's a lot of kernel development.
Oddly enough neither Debian nor Ubuntu / Canonical shows up on the list. I emailed Jon a while back asking why that was. Was it because they didn't really rank as top kernel developers? Or was it that it is harder to identify and group together their contributors? Jon didn't really have a good answer for that one. I'm guessing it is a little bit of both. Debian and Ubuntu are great distributions but I'm not sure they do a lot of development that gets passed upstream. I'd love to be corrected on that if someone wants to provide me with additional information.
Then there's the matter of GCC and the base system libraries. As mentioned in the history, Cygnus became part of Red Hat in 1999. Cygnus happens to be a major contributor to GCC... and as a result, Red Hat is a major contributor to GCC. Red Hat has also paid developers to work on GNOME and a host of other projects. Again, for a more complete list, see the Fedora Project's contributions page.
Speaking of Fedora, the Fedora Project is sponsored by Red Hat and the Fedora Linux distribution happens to be one of the top 5 Linux distributions according to sites like Distrowatch. The kernels they provide during the lifecycle of each release are usually bleeding edge. I attended a speech given by Andrew Morton at LinuxWorld Expo 2007 in which he was explaining that the kernel developers really need a lot more testers and that one easy way to be a tester was to run Fedora and keep up with the kernel releases... since Fedora's kernel usually only trails the mainline kernel by a few weeks.
Another way Red Hat gives back is just by releasing the source packages for their Red Hat Enterprise Linux (RHEL) distribution. Red Hat does this in an easy to manage way by offering source rpm packages... rather than in some hard to use format that many other commercial projects seem to use. As a result a number of free alternatives to RHEL have sprung up with the most notable one being CentOS. Many people see CentOS as a competitor to Red Hat or a thorn in their side but in reality, CentOS actually compliments RHEL and keeps people within the Red Hat fold. For more on that concept, see Donald Rosenberg's article on the subject.
Red Hat's main competitor in the "Enterprise Linux" space is Novell yet there aren't any freely available SUSE Linux Enterprise Server/Desktop distributions. Why is that? Dag Wieers wrote a blog posting where he pondered the lack of a free SLES... and the comments to his blog entry are very informative too.
Staying true to Free Software ideals
One thing that Red Hat deserves respect for is staying true to their Free Software ideals. All of the software they have written (with a few exceptions like their Red Hat Network service) has been released under the GPL. They didn't come up with some alternative license like so many others have. Red Hat has also publicly said that they will make no patent deals with Microsoft like Novell and a few others have. Red Hat has a number of high profile executives and lawyers who have given presentations on how Free Software and Open Source are good for the IT Industry and that this freedom really matters. For more info see Red Hat's Why Open Source? Red Hat's position seems somewhat unique... somewhere between that of purist Richard M. Stallman and the pragmatist Linus Torvalds.
When it comes to RHEL and Fedora, Red Hat has also made it clear that they do not want to help promote proprietary software or multimedia codecs even if it does lead to a certain amount of unpopularity among some in the Linux community. For more info on that, see the Fedora Project's Forbidden Items wiki page. I think in this area, Red Hat and Debian are very kindred spirits.
What is an Enterprise Distribution?
In 2003 Red Hat decided to discontinue Red Hat Linux in favor of Red Hat Enterprise Linux. Why did Red Hat add "Enterprise" to the name and what exactly is an "Enterprise" distribution? Did Red Hat abandon the non-Enterprise market? Red Hat decided, and justifiably so, that being the most widely used Linux distribution among non-paying users/customers wasn't a financially viable situation (can you hear me knocking Canonical?)... so they decided to concentrate on customers who have deep pockets and will pay for support and consulting.
In creating RHEL, they took the Red Hat Linux base and then made a number of changes to it. One of those changes was dropping some of the lesser used software packages and concentrating on the more common and important ones in an effort to make a more supportable product line.
Additional "Enterprise" distribution characteristics:
1. Software updates for longer
2. Refreshed install media
3. System management and monitoring
4. Better server hardware support
6. a Knowledgebase
7. Technical support
8. Training and certification
What Red Hat has been doing seems to be working as they have continually reported profits each and every quarter while at the same time staying true to their Open Source / Free Software mantra. Is it any wonder that several other distributions have adopted the pattern?
Sponsorship of Fedora
In 2003 the Fedora project picked up where RHL left off. It didn't take off right away... and there were lots of bumps in the road... but Fedora kept on going and as of 2008 it truly seems to be a community project with more than half of the package builds coming from non-Red Hat employees. Red Hat does still have some say in the direction that Fedora takes but they aren't an evil overlord.
While Fedora is often seen as a "beta version" of RHEL, Fedora serves a number of purposes that go well beyond that. Approximately every third release of Fedora becomes a base for RHEL. Fedora's main role in the Linux ecosystem is to be a proving ground for new technology. Fedora was the first to adopt SELinux, Xen, KVM... and a lot of other things. Fedora also manages a much larger, and constantly growing software package set. If Fedora was just a development ground for RHEL, wouldn't it use only the software that RHEL plans to use?
Suggestions for Red Hat
Here are some suggestions I have for Red Hat in 2008 and beyond.
Buy Zimbra - Yeah, I know Yahoo already did... but is Yahoo really interested in the retail and marketing? My guess is no... Yahoo bought Zimbra to use internally and eventually to use externally for their services. They want to use Zimbra as a product and also have some sway over the developers to move in the feature areas they want. I doubt that Yahoo is interested in Zimbra outside of Yahoo... so why not share that piece of it with someone who is? Negotiate with Yahoo, get the rights to the product and release the Network edition under the GPL and free of cost. It would be a great fit. I mean, Zimbra's custom code is all Java based and Red Hat is heavily into Java themselves with the JBoss purchase... as well as a few others. I've been using Zimbra for a long while now and so far as I know, nothing else out there compares. I'd like to see Red Hat get involved in the development of Zimbra to make it even better... to augment the existing Zimbra development team. How about adding their Mobicents VOIP technology to Zimbra? That's something Yahoo couldn't do.
Buy SoftMaker - Haven't heard of SoftMaker? They are a German company who offers a commercial suite of office applications that rivals Microsoft Office. We already have OpenOffice.org, right? Yes, we do... but SoftMaker Office is a LOT lighter weight. Buy SoftMaker Office and make it GPLed and available for free of cost. They could market it as Red Hat Office and give the Windows version away too. Now imagine taking some of the SoftMaker technology and adding it to Zimbra!
Create an Active Directory killer - Red Hat already has several pieces to the puzzle but they haven't been put together in a meaningful way yet - clustering, certificate server, directory server, etc. First Microsoft's lock-in device was the Windows OS. Then that switched to Microsoft Office... and for many it is the combination of Exchange and Outlook. Then when Active Directory came along, they got to leverage everything together in a much more manageable way. Red Hat has the pieces. They just need to refine them so that there is a GPLed system which can manage Linux clients and Windows clients. I've seen a lot of institutions trying to fit Linux client machines into a Windows Active Directory setup. While there are ways of doing that, some less painful than others, why not use Linux as a replacement for Active Directory? I'm not saying Red Hat should try to clone Active Directory as we need a solution designed with Linux clients in mind and server application management as well.
Samba has done a lot of work with Samba 4 but it has a long way to go. Why did Samba develop their own LDAP system? Red Hat already offers a high quality, GPLed LDAP system were replication works well. Red Hat and Samba should work together on the project... but the Samba part would only be a piece of it for the Windows clients.
Red Hat, thanks for being the beacon of Linux-based business success. Let's hope you continue to stay true to your principles, continue the rapid progression of Linux, and that you keep making a reasonable profit doing so.