While many of the products and services that make up the x86 virtualization space are shot through with open-source components, these freely licensed and openly developed elements tend to serve as low-level building blocks-providers of storage, networking or compute resources in larger proprietary systems.
Over the past few years, one of the starkest examples of this has been Red Hat’s server and virtualization product, Red Hat Enterprise Virtualization (RHEV), which combines open-source network, storage and compute components with the proprietary Windows-based management server and administration tool set.
Red Hat picked up the .Net-based management server product as part of its acquisition of desktop-virtualization startup Qumranet in 2008, and began porting the server to Java while selling the Qumranet product under Red Hat’s brand. The newly ported software will serve as the foundation both of RHEV 3.0 (currently in beta) and of a new open-source project, called oVirt, that’s focused on delivering the openly developed and freely licensed virtualization system.
The oVirt project got its start at the beginning of this month at a workshop, run by Red Hat and hosted at Cisco’s Milpitas, Calif., campus. Following the workshop, Git software repositories for each of its component subprojects went alive, along with a fledgling set of build instructions on the project’s Wiki site.
I spent about a week working with the newly open-sourced oVirt code. It’s fairly early days for the project, and it took a fair amount of effort building the project’s management server, called oVirt Engine, deploying it on Red Hat’s JBoss Java application server, and connecting the engine to compute and storage resources in our lab.
Once I had the system up and running, I used it to create and run a handful of Windows and Linux virtual machines. I was impressed by oVirt’s core VM-hosting capabilities, and by its Web-based administration and user portals, which I found very responsive and fairly easy to use.
I intend to keep an oVirt installation around in the lab for a while, to put the system through its paces and better learn how it stacks up against the vSphere installation we use for much of our testing. At this point, I wouldn’t recommend the project for production duties, as oVirt doesn’t yet enjoy the sort of community that more established open-source projects such as Debian or CentOS have accumulated.
Those interested in checking out oVirt with a minimum of hassle would do better to give the latest beta of RHEV 3.0 a try, or to wait for oVirt packages to make their way into Fedora Linux. Along with members from Red Hat and from infrastructure providers Intel, NetApp, Cisco and IBM, the oVirt project’s board includes members from Linux vendors Canonical and SUSE. I’m interested to see whether Ubuntu and OpenSUSE move to fold oVirt into their own freely available distributions, as well.
Whether oVirt can succeed in taking a chunk out of VMware’s market share remains to be seen, particularly given the fact that virtualization space is crowded with strong competition from Microsoft, Citrix and Oracle, among others. However, just as Microsoft’s move to ship Hyper-V along with every copy of Windows server gave that virtualization system a boost, Red Hat’s move to turn loose its code stands to give oVirt a similar shot in the arm-particularly if other Linux distributions embrace the project.
oVirt in the Lab
I installed oVirt in the lab on a pair of servers: one for the management server and one for the host, each running Fedora 16. I used the Openfiler server in our lab for Network File System (NFS) shared storage. I compiled the oVirt Engine and deployed it on JBoss 5.1, and installed and configured Postgresql to provide data services for the engine. I installed the typical Linux virtualization stack of Kernel-based Virtual Machine (KVM) and libvirt on my host server, along with Virtual Desktop Server Manager (VDSM) from git. Next, I registered my host with the management server and configured a pair of NFS shares, one for hosting VM images and another for hosting CD images.
For the most part, I used the Web-based interface for oVirt to configure my machines, and while I was pleased overall with the Web application, I did run into several operations that had yet to be implemented in the Web interfaces. In these cases, I turned to oVirt’s REST API, which exposes most of the product’s functionality, and offers users a route to integrating their own applications with oVirt. The oVirt wiki doesn’t offer much guidance on this API, but the beta documentation for RHEV 3.0 helped me get on the right track.
I used oVirt to create a handful of Linux and Windows virtual machines, and I was impressed by the performance of oVirt’s graphical console features, which are powered by Red Hat’s SPICE protocol. I installed the Windows 8 developer preview on one of my VMs, and noted that the OS’ compositing desktop interface worked out of the box, and that I was able to watch YouTube videos running on the remote VM at very near full quality.
In addition to the oVirt Engine, the project includes a handful of other components, such as oVirt Node, a stripped-down version of Linux with just enough code for hosting virtual machines. I did not test oVirt Node, turning instead to a minimal Fedora 16 server running KVM, the libvirt virtualization management library, and the VDSM, which acts as a go-between for oVirt Engine and the host’s copy of libvirt.
The oVirt project also includes data warehouse and reporting components, based, respectively, on the work of enterprise open-source software providers Talend and Jaspersoft.