Novell's Virtualization Partnership
Jane Walker writes "The push for a virtual data center and utility computing continued this week as Novell announced that SuSE Linux would have support for Virtual Iron out of the box." Novell has also guaranteed that 'that all existing independent software vendor (ISV) certifications will not be affected.' From the article: "'The applications certification [component] is huge,' said Novell director of data center applications Justin Steinman. 'Customers want to know that their existing applications are not going to break when they deploy their technology [on a virtual server].'"
In computing, virtualization is the process of presenting a logical grouping or subset of computing resources so that they can be accessed in ways that give benefits over the original configuration. This new virtual view of the resources is not restricted by the implementation, geographic location or the physical configuration of underlying resources. Commonly virtualized resources include computing power and data storage.
A good example of virtualization is modern symmetric multiprocessing computer architectures that contain more than one CPU. Operating systems are usually configured in such a way that the multiple CPUs can be presented as a single processing unit. Thus software applications can be written for a single logical (virtual) processing unit, which is much simpler than having to work with a large number of different processor configurations.
A new trend in virtualization is the concept of a virtualization engine which gives an overall holistic view of the entire network infrastructure.
Virtualization is a broad term that refers to the abstraction of resources across many aspects of computing. Some common applications of virtualization are listed below.
A virtual machine is an environment which appears to a "guest" operating system as hardware, but is simulated in a contained software environment by the host system. The simulation must be robust enough for hardware drivers in the guest system to work. With paravirtualization, the virtual machine does not simulate hardware but instead offers a special API. Operating System-level Virtualization is virtualizing a physical server at the operating system level, enabling multiple isolated and secure virtualized servers on a single physical server. Partitioning is the splitting of a single, usually large, resource (such as disk space or network bandwidth) into a number of smaller, more easily utilized resources of the same type. This is sometimes also called "zoning," especially in storage networks. Aggregation, spanning, or concatenation all combine multiple resources into larger resources or resource pools. For example, symmetric multiprocessing combines many processors; RAID and volume managers combine many disks into one large logical disk; RAIN and network equipment uses multiple links combined to work as though they offered a single, higher-bandwidth link. At a meta-level, computer clusters do all of this.
Wikipedia article
and another great article with an introduction to Virtualization
Don't anthropomorphize computers: they hate that.
I've not really seen any reports of utility computing really being used on a regular basis. Is anyone actually using it on a regular basis? I can see how something like the Sun Grid would be used for special projects, but I'm not convinced that general-purpose utility computing is suitable for most companies in their ongoing operations.
That's not to say that virtualization isn't happening, and that it wouldn't also be useful for utility computing... but the real world examples I hear about aren't related.
500GB of disk, 5TB of transfer, $5.95/mo
Just a month ago, we got budgetary approval on migrating our entire Windows/Linux/BSD datacenter from individual machines to virtual. We selected VMware's ESX Server as our hypervisor platform. We'll be moving over 200 physical servers to about ten of what VMware calls "virtual infrastructure nodes". For storage, we'll be using our fiber-channel EMC Clariions (two CX700's) and some new iSCSI storage. I've been researching this for over a year now and the time is right. 2006 will be the year that virtualization really takes off and goes mainstream.
FYI: The only thing we're not moving to ESX will be our 8 and 16 CPU SQL Servers. As it stands right now, ESX only allows 2-way virtual SMP. With ESX 3.0 in Q2, they will up that to 4-way virtual SMP. Nonetheless, anything requiring a ton of throughput is best left to dedicated hardware as opposed to VM's. (for now, anyway)
VMware and ESX have different market fields. They both virtualize, but VirtualIron utilizes a dynamic linux cluster of machines (there is a compatability list of hardware as well as software, SuSE compatable means on the client side) that requires lots of specialized low lantancey hardware such as infiniband fiber components (starting in the $15k range for the very very low end VMware ESX runs on a single high end box. It has a much lower pricepoint. They really dont cross opertunities as much as you would think. BTW, i have my VCP for vmware and have also been working closley with VirtualIron for the past 6 months or so (they dont have official certs yet). Both are very good products. I cant wait for ESX3 and the next VI product in the following quarter (big stuff happening there)
Over the past week I think I have installed (or tried to install) every single freely-available open-source Linux virtualization technology available:
- Xen
- Linux-vserver
- OpenVZ
Or researched others:
- OpenVPS
- FreeVPS
And ones that are not open source:
- VMware Server (the new free Beta version of the old GSX Server product)
My personal recommendation is that you not bother unless you have a lot of time to kill and don't mind disappointment. I have nothing but respect for the fine (and very smart) people who are working on this technology for Linux, but it's not ready for simple people like myself.
I spent two full days (about 24 hours total) working on Xen and in the end I was never able to get iptables to work in a domain. The documentation was mostly incomplete and thus there was a lot of scurrying around trying to find bits and pieces of info that would allow me to get it together.
I had the most success with linux-vserver and it was by far the easiest to get running (after I had re-compiled the rpms (fc4) for my x86_64 smp target machine. My first vserver was pretty badly mangled once I was done with it and, wanting to remove it found that there was no actual *documented* process for deleting it. I dare you to try to find a description anywhere on how to remove a vserver...
Finally I pooched my system by trying OpenVZ.
Virtualization is a "good thing" in my opinion, and as an architect I build it into many of my designs. But in the free Linux space you might end up asking yourself the question "do I really need it." For me the answer is "yes" as I want to run multiple mail servers with different configurations on the same box. For you, unless you really need it, you might want to see if you can make do the old fashioned way.
I'm going to keep playing. If something you have tried works really well for you in a FC4/x86_64/SMP environment please let me know.
I am not interested in articles about life extension advancements.
Novell has been doing some great things for the OSS community - releasing AppArmor and now this. Nice work, Novell!
ConsultingFair.com
If you're running on a supported OS, VMWare's awesome. But on nonsupported platforms I agree it's somewhat painful, I gave up getting it set up here with non-supported kernels; though it seems to gave given decent instructions on how to build the required kernel modules.