Slashdot Log In
Desperately Seeking Xen
Posted by
kdawson
on Thu Jun 28, 2007 09:32 AM
from the whither-the-gorilla-killer dept.
from the whither-the-gorilla-killer dept.
AlexGr sends us to an excellent article on the state of Xen by Jeff Gould (Peerstone Research). He concludes that the virtualization technology has some maturing to do and will face increasing competition for the privilege of taking on VMWare. Quoting: "What's going on with Xen, the open source hypervisor that was supposed to give VMware a run for its money? I can't remember how many IT trade press articles, blog posts and vendor white papers I've read about Xen in the last few years... The vast majority of those articles — including a few I've written myself — take it as an article of faith that Xen's paravirtualizing technical approach and open source business model are inherently superior to the closed source alternatives from VMware or Microsoft."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
VirtualBox performance (Score:3, Interesting)
Because.... (Score:3, Interesting)
Nice Article (Score:2)
what went wrong is (Score:2)
Personally, I don't give a flying fig about being able to run Windows or windows programs on Linux... there isn't anything I want to do on windows that I can't do on Linux... (note the emphasis, I
Re:what went wrong is (Score:5, Informative)
Not true.
If you have VT-capable hardware then you can run Windows under Xen. You do need the hardware to support it though, and that is a problem for some home users. Recent AMD and Intel chips have slightly differing VT support but both work.
I run Xen at home along with xen-tools [xen-tools.org] (which I wrote) to easily create new Debian guests on demand. These are used for software testing, hacking, and general service isolation.
I think Xen is just now reaching "mainstream" in the sense that you don't have to be an early adoptor or major tinkerer to get it working. Now that distributions are including Xen kernels in their newer releases it really us available for all.
Parent
Re: (Score:2)
Re: (Score:2, Informative)
Re: (Score:3, Informative)
Indeed, why would they?
Because being able to dedicate a "machine" to each service rather than trying to run dozens of different services on the same machine vastly simplifies operations.
Pay attention now. This is not how Google runs their datacenter.
How Google runs their datacentre is not relevant to most people, who have vastly different requirements, budgets and capabilities.
Shop around. One can find power-efficient 1U boxes. Sometimes non-rackmount is better, including weird stuff like the Mac Min
Re: (Score:2)
Perhaps it's a silly concept, but it could make work easier.
But then there's the graphics difficulties.... the need for a hyperthreading CPU....and there's no support of course, for a rootkit
Host OS the one with better drivers (Score:3, Interesting)
If I have to maintain two separate OS's, I'd rather have the outermost OS (host OS) be the one that has the best drivers, the most hardware support. Also, since very few virtualization solutions work with 3D gaming (and even the one that does, it still has large overheads I think), you want your host OS to be the one that has all the games. So, for my purposes anyway, I need Windows as the host OS, and Linux as the guest OS. Xen doesn't run under Windows, only Linux. So that leaves me with either commercial virtualization software, or a few open source projects that haven't matured yet (eg. coLinux).
(granted, having Windows on the outside makes your machine much less secure than the other way around, but personally, I'm more interested in having all my peripherals work the day they're released, and having all my games available)
Pointless? (Score:2)
Usually people run Windows in a VM because they have some app that just doesn't exist on Linux, but that can hardly be the problem as most Linux apps are OSS and thus portable to Windows.
Re: (Score:3, Insightful)
--Testing (Freebsd / PC-BSD / Nexenta / Solaris / Linux) + ZFS + Samba in a VM when you don't have extra hardware to dedicate to it.
--If you're not already a VM-type person, you wouldn't understand.
Fundamental performance issues (Score:2)
Operating system virtualization, as used for instance in OpenVZ has far better performance characteristics. This is the way to go at the moment for efficient and low cost data center support of Linux. The problem is that all virtual environments m
Re:Fundamental performance issues (Score:4, Interesting)
For CPU we used SPEC CPU 2006 and score about 5-6ish % on VMWare as the same test done on those blades in hard metal. Xen is undiscernably different to the subjective eye than hard metal. I would have to break out large batch testing methodology and run the results through inferential statistics to conclude that there was a difference at all.
I/O is a different story.
The Xen performance claims and the VZ performance claims aren't really useful. They're theoretical. As in, "theoretically, we can stack 100 operating systems on this blade efficiently." Think about that. That's just plain nuts. I can't think of a real use case for that.
BTW, if you like OpenVZ, and have the right use case, the commercial Virtuozzo product ranks as the "best virtualization technology that no one has ever heard of" in my book. They really have their IT management story down pat.
C//
Parent
Using it... (Score:5, Interesting)
You can choose to believe the hype or not, as you wish, but I'm using Xen in my production environment, and it's simply fantastic. I've got friends with companies who are doing it as well, and it really changes how you think about administration.
Of course, there are some learning curves. For example, how you manage 3-7 servers is completely different from how you manage 20-30, even if they are all virtual. There's a lot more emphasis on system images, isolating functionality, reproducing configurations. On the other hand, dev environments are so much easier to build-up and tear down.
I just wish the OpenBSD port was in a usable state. The mercurial servers hosting it are often down, and even when they're up, I haven't been able to get a working kernel compiled from the sources (even after doing some of my own bugfixes). And last I saw on the Xen lists, Christoph Egger (the guy doing the OpenBSD port) submitted a security patch related to stack slamming, and the Xen guys were kind of like, "meh, security's not really a priority..."... Oh well, here's to keeping my fingers crossed
The Problem With Xen (Score:5, Funny)
Xen "Just Works" (I know. I use it every day) (Score:4, Informative)
Currently my two Xen servers here at work serve out about four VMs (all paravirtualized on older hardware) for critical and I/O intensive tasks like proxy servers for nearly 1000 machines, or the firewall syslog server for a dual T3 link with about 5000 users behind it sucking the bandwidth dry. So you can't claim it doesn't perform either. Now, if you want point and click administration and an easy set up, then yeah, Xen is behind the times. But performance wise it's leaps and bounds above VMWare. Trust me, I was a VMWare fan before you were in virtualization diapers. And I still am for some applications. But for places where I need something to be cost effective AND give me the features of VMWare ESX, Xen is the ONLY answer.
Re:Xen "Just Works" (I know. I use it every day) (Score:5, Informative)
Last I checked, Zimbra runs on Ubuntu 6 [zimbra.com] just fine.
Parent
Re:Xen "Just Works" (I know. I use it every day) (Score:5, Informative)
As an aside, I forgot to mention that there are NO other products other than VMWare ESX that offer "live migration" of a running VM from one hardware host to another. That's right... you can take a VM that is running with many users actively using it and move it from one physical box to another with only a few milliseconds down time. The users NEVER notice. The free VMWare server can't do that. Micrsoft's Virtual Server can't do that until they have a hypervisor. And there really isn't anything else that can.
Parent
Re: (Score:3, Insightful)
Well you can try to do that with Xen if you want, but you might be sorry.
Hopefully the Summer release remedies this situation.
C//
Lies, all lies (Score:4, Informative)
This isn't true completely. The problem is you cannot get these drivers by downloading the OpenSource Xen. You MUST buy the XenSource version. If you run Windows on the *complete* open source version, your network throughput is going to suck like you would not believe. You have to use the XenSource version to get the paravirtualized drivers that bring the network performance closer to what it should be. Virtual Iron has a set of drivers also. (which I believe are better than Xen's, but don't hold me to that)
I found a lot of great insight about virtualizing from Xen to VMWare to Virtual Iron and others on this site. http://ian.blenke.com/xen [blenke.com]
Xen is ok (Score:2)
Xen is FOSS so there is potential for them to catch up and with the nature of FOSS new ideas can be tossed in easier. So when that day comes I'll gladly switch over, it's just not there yet.
Guaranteed Results (Score:5, Informative)
1) Say something bad about linux (or about Apple).
2) Say something good about Microsoft (or about Apple).
3) Throw a grenade in the room about Open Source software like this:
The vast majority of those articles -- including a few I've written myself -- take it as an article of faith that Xen's paravirtualizing technical approach and open source business model are inherently superior to the closed source alternatives from VMware or Microsoft.
I'm not making any value judgements here--I'm just amused.
Xen's Maturity (Score:4, Insightful)
I RTFA and it says very little about the maturity of the actual Xen technology. The article is more a point about several non-related factors;
1.) There is a lack of pretty management interfaces.
True, but these are in the works from Red Hat, Novell, XenSource, and various other ends. Already some of them look pretty promising, but if you are a real admin you don't need them in the first place. There is nothing wrong with using the command line tools to manage your Xen virtual guest environment.
2.) There is a lack of references for companies using Xen.
How does this relate to the viability of the Xen virtualization? Yeah it makes management feel nice and fuzzy that others are using something, but this does not relate to how well the Xen technology performs. I also suspect that like many open source projects, there are many people using it that do not report it. Novell has personally contacted me and my company to ask us to assist in their new paravirtualized Windows drivers initiative and then be a reference for the technology. It seems that at least some companies are moving to address this, at any rate.
3.) There aren't many benchmarks about Xen versus VMWare.
VMWare does not allow benchmarks they do not approve of. It's in that draconian EULA you agreed to by using it.
4.) It's awkward to paravirtualize Windows.
Yes, it is. Novell signed the soul sapping agreement with MS and as such is pushing some paravirtualized drivers for Windows. The article continually talks about woes with Xen on Red Hat. Red Hat didn't sign the agreement and will require some much more intelligent coding to make this happen. It might never happen, so for Windows it's full virtualization with VT (or AMD's equivalent) or bust. Sorry, use SUSE for it or use full virtualization. It's an MS issue not a Xen issue.
5.) MS's new Viridan Virtualization Platform is using paravirtualization as well.
Yep, that should be a testament to the approach versus VMWare. Though it is interesting that VMWare now has a Linux kernel virtualization implementation similar to KVM. It seems VMWare is headed to paravirtualization as well. Obviously Xen did something right.
6.) There is a lot of competition.
True. How again is this relating to Xen as a virtualization technology.
Again, I'm not saying Xen is perfect. It definitely has issues and room to grow. I'm just saying that the article makes little, if any, relevant points to Xen's virtualization technology.
Re: (Score:3, Insightful)
I'll agree with this, although it isn't the hypervisor's fault - it's the userland stuff that's at fault. For example, Xen doesn't appear to support IPv6 *at all* in routed mode, I had to hack up my own scripts to do it (and I'm seriously considering moving over to bridged mode in an effort to simplify and standardise my system). But I'm curious - do other virtualisation sy
Xen Management Apps Are Not Good. (Score:3, Informative)
But, the main problem is the steep learning curve for getting Xen running in the first place. The (python based) management GUIs included with Fedora or Ubuntu are weak at best (although, slowly improving.. the UI in Fedora 7 does manage to make setup easier than the command-line alternative). The ongoing management / monitoring of VMs is okay, but weak in comparison to VMWare.
There are also a lot of little quirks in Xen. Installing Win2k in a client VM required a lot of searching for how to attach an ISO image to a running VM (it's not a simple GUI operation like in VMWare/Parallels/VirtualPC, it requires a terminal command with unintuitive options, which never worked for me.. I finally dug out my CD and got the physical CD drive to attach to the VM). Windows VMs have an odd issue where the mouse pointer is offset form the actual pointer (it's a known issue, and is helped by turning off mouse acceleration in Windows preferences, but it is still a problem). Installing client VMs can be challenging.. Ubuntu feisty wouldn't install until I set the VM as a Solaris client, and after a few other tweaks it finally installed and worked fairly well.
Most of the Xen problems are solvable, after playing with command-line tools, figuring out poorly documented parameters, and lots of googling. At the end of the day, it's one of those "Xen is free, if your time has no value" type things. VMWare Server is probably a better option if you just want it to work for home/free uses. For commercial use, VMWare ESX Server is the way to go. It has simple VM setup for many client OS's, excellent management of large groups os Hypervisors and virtual machines.
The commercial alternative from XenSource (free to use, but limited to 4 VMs; or less restricted versions for increasing $$) offer a better management UI, but are too restricted for my taste. The management app is much better, but not as good as VMWare.. If I'm going to pay for one, I'll go for the best option.
Data Center USA (Score:5, Insightful)
I stopped reading the article with this quote:
Are sysadmins at "Data Center USA" morons? "Oh nooo, command line time, I hate that. Oh nooo, my option I want is all grayed out! Help me, help me! Oh I am so sad now."
Deploying vm stuff is not the same as using a word processor. "Data Center USA" is in real trouble if their sysadmins aren't any smarter than regular desktop users.
Re: (Score:3, Insightful)
Like, uh... a script? I had always problems trying to understand the rationale of "documented an reproductible" and "GUI" in the same sentence. Can you really talk about "can be documented and can be reproduced" on bold face when all you have is a doc document an some screen captures? Can you really talk about
Two words: OpenVZ (Score:3, Insightful)
If you are running the same OS on each VM on a server, OpenVZ is the best.
Performance is great, good control over resources (with the glaring exception of disk IO operations, which they are working on).
Xen rocks: In production (Score:3, Informative)
Here is something I wrote up about this architecture for the company when the project went live:
What is Xen?
Xen is a free virtualization system similar to VMware but different. It allows us to run multiple servers/operating systems all on one physical piece of hardware while providing isolation between them.
What is AoE?
AoE is a SAN technology. Similar to Fibrechannel (but far less expensive) or iSCSI (but far simpler and more efficient).
What are the advantages of Xen and AoE for our company?
Xen allows us to more efficiently utilize our hardware resources. The majority of cpu power on your average computer goes unused. Even on servers. They just sit there waiting for something to happen. Even if we get a web request every second the time between one request and the next is an eternity for a cpu running at 2 gigahertz. But powerful cpu's are needed for those short bursts of activity. By using Xen to run multiple servers in their own domains (areas of memory) completely isolated from each other on the same physical hardware we can squeeze more utilization out of our existing CPU's/servers. This means we can get by with fewer CPU's, less rackspace, use less power, and require less air conditioning. By encapsulating the servers into this sort of infrastructure it also allows enhanced management capabilities by allowing the administrator (such as myself) to be able to get console access on the server or restart the server while remote instead of having to drive to the datacenter (which in our case is a 30 minute drive down to Kearny Mesa).
AoE allows us to put a bunch of disk in relatively inexpensive and low CPU powered servers on the network and allow the rest of the servers to access it exactly as if the disk were locally installed in that server. This is advantageous because we can now aggregate all of our disk into one system and treat it like a pool of storage where we can dole out an appropriate amount of disk to each server (often only 10 or 20G is needed) instead of having to put in a dedicated 250G disk which is the minimum you can easily buy these days and waste a lot of disk and power to run it.
The combination of Xen and AoE allows us all of the above plus some interesting fault tolerance abilities. There are now two levels of redundancy in our disk systems and an extra level of redundancy in the cpu's also in that if one cpu fails (or the associated motherboard, RAM, or network card) we can easily switch the servers that were hosted on that machine over to another cpu on the network with either zero or very minimal downtime whereas previously that kind of failure would have required me to drive down to the datacenter and shuffle hardware around or buy new hardware to replace the failed system which all takes time and can result in prolonged downtime.
Re:Need a special processor (Score:5, Informative)
Parent
Re: (Score:2)
Xen (and virtualization) is for the Enterprise (Score:5, Insightful)
Parent
Re: (Score:3, Informative)
Re: (Score:2)
Re: (Score:2)
Thanks
-Em
Re: (Score:2)
It also comes with the ability to move virtual machines from host to host (based on pools of resources) either by some threshold being met (say, 75% CPU utilization on a Dell PowerEdge server moves it to an HP Proliant which is only 45% utilized ) without the virtual guest OS ever skipping a beat. Vmware does this with VMotion, but that is an add on pa
Re: (Score:2)
If you want to run multiple linux instances on the cheap then xen is the way to go at the moment.
-Em
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Can't see this impacting a home user, unless I am missing something.
-Em
Re: (Score:2)
Re:vm ware (Score:5, Insightful)
Parent
Re:vm ware (Score:5, Informative)
Parent
Re: (Score:2)
Turns out that 3D accelerated is not an option right now, but Xen was at that time working on something that could (given the right hardware, which at the time was only high end IBM mobo's) isolate PCI cards completely.
That way, you could have two graphics boards in your system, and when Xen starts up it could assign one graphics board to, for example, a Windo
Re: (Score:2)
IIRC, the latest (i.e., so-called "Direct3D 10 compatible") graphics cards have MMUs, which would (theoretically) allow multiple OSs to share the card in the same way that they can currently share the CPU.
Re:Timely for me! (Score:4, Informative)
The problem with giving access to hardware to guests at the moment is that without an IOMMU, any DMA request the driver issues will read or write memory from a physical address indicated by the driver. In a virtual machine, what the driver thinks is a physical address is actually a virtual address. This means a DMA request will read from or write to an arbitrary memory location. By putting the HVM guest at the start of memory, this translation is the identity function, so the driver will work. The only downside is that you lose protection from other domains; a malicious driver can still damage your other VMs or even the hypervisor.
Parent
Re: (Score:2)
Re: (Score:3, Interesting)
ping...64 bytes from xxxx...5 ms
ping...64 bytes from xxxx...5 ms
ping...64 bytes from xxxx..
Re: (Score:3, Insightful)
I understand the latency of the switchover. It will be dependent on the size of the volatile set of memory that needs to be transferred between the save/restore cycles. I.e., this will be virtual machine-dependent, and tend to increase linearly with the virtual machine's memory footprint and memory utilization.
"Data center readiness," to me, does not mean a few servers running Xen. It means many, many servers, taken from at least superset of servers taken from all the mainstream enterprise server vendors, i