An Overview of Virtualization 119
IndioMan writes to point us to an overview of virtualization — its history, an analysis of the techniques used over the years, and a survey of Linux virtualization projects. From the article: "Virtualization is the new big thing, if 'new' can include something over four decades old. It has been used historically in a number of contexts, but a primary focus now is in the virtualization of servers and operating systems. Much like Linux, virtualization provides many options for performance, portability, and flexibility."
virtuosity (Score:4, Funny)
That article had the virtue of being a virtual cornucopia of information.
Re: (Score:1)
Re: (Score:2, Funny)
Re: (Score:1)
where were ur post when i still have point?
Re: (Score:1, Offtopic)
Re: (Score:2)
Virtualization is so easy (Score:2, Funny)
QEMU (Score:3, Informative)
Re: (Score:3, Interesting)
Re: (Score:2)
Just wanted to point out that qemu can also do virtualisation on Linux, just like Vmware, with a closed-source kernel module.
The article lists the following solutions on Linux: Bochs, QEMU, VMware, z/VM, Xen, UML, Linux-VServer, and OpenVZ. I'm not sure why you felt the need to mention QEMU specifically. It does, however, seem like one of the more promising solutions. Have you used it in production?
Re:QEMU (Score:5, Informative)
I suspect because the article incorrectly describes it as an emulator, while it is capable of full virtualization if the plugin the GP post linked to is used.
It's not the only such mistake in the article: Xen is described as performing paravirtualization, but it too is capable of full virtualization in some cases (i.e., when it is supported by the hardware).
Re: (Score:2)
The article does one better and specifically mentions KVM+Qemu, but don't take my word for it.
Re: (Score:2)
Which is entirely different to qemu with qemu-accel; the latter is *not* a kernel module.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2, Informative)
Apple (Score:5, Interesting)
This article is an okay overview of many of ways virtualization is now being used. As an aside, has anyone else noticed Apple seems to be missing the boat this time? They're certainly benefitting from virtualization with several players in the market providing emulation solutions and tools now that they are on Intel, but Apple themselves seem to have done nothing and not even provided a strategy. Servers are moving to more virtual servers on one real machine, but OS X's license forbids it from fulfilling that role. Tools for using OS X as a thin client for accessing remote virtual machines are likewise weak. Apple hasn't even provided a virtual machine for their customers to emulate old macs so that users can run OS 9 apps on the new intel machines and they restrict redistribution of their ROM files to make 3rd parties unable to do this. No mention of adding VM technology to OS X has been heard, despite its inclusion in the Linux kernel among others.
Does Apple have something against VM technology? Are they simply behind the times and failing to see the potential?
Re: (Score:2, Interesting)
Re:Apple (Score:5, Interesting)
Virtualization is usless in a desktop multimedia user environment. Video cards, sound cards and the like are bus mastering devices and you cannot virtualize hardware access unless you own the whole environment. In simple terms, virtualization is only usefull in the server arena and useless on the desktop.
As someone with two VMs running on my OS X laptop right now, I'd have to disagree with you. As for sound cards and video cards the sound works just fine and at least two companies I know of are working on support for allowing hosted OS's full access to video card acceleration.
Re:Apple (Score:5, Insightful)
None of this is hard to figure out. Yes, there are reasons it would be nice, but it's pretty obvious why they're not too keen on it.
Re:Apple (Score:4, Insightful)
They don't want you to use OS X in a VM, as it makes it trivial to use it on generic PC's, which eliminates the vast majority of their revenue.
I'm sure that is true, but do they have a plan for what happens when/if the industry moves toward virtual machines on the server? Are they just going to let OS X server die, or try to target only really small businesses? What about thin client support? if more and more VMs start running on big hardware and exporting to thin clients do they have a plan to provide better support for those clients? Integrate with those UIs? Are they just assuming none of this will happen?
They don't include virtualization software themselves as Parallels and VMWare are doing a good job if you need such a thing, and they don't want to alienate them.
It is perfectly understandable not to include a VM in their workstation, but that does not preclude kernel level support for virtualization, including API's and hooks for interoperability. What about hooks for supporting virtual machines like Parallels, but treating the apps as more "native" with Windows or Linux binaries showing up as icons in OS X?
And not strictly virtualization, but you mentioned it - they don't want to make it easy to use OS 9.
Depending upon how access to OS 9 apps is accomplished, it certainly is virtualization. I certainly understand not including it in a the default install to discourage the use of OS 9 apps, but making it hard to find and install your own VM of this sort is counterproductive, in my opinion. Even PS3's provide a way to run PS2 games.
Meanwhile, they do nothing to hinder or help SheepShaver and others; the ROM files needed are available from Apple's website (although not easy to find).
SheepShaver is useless without ROMs, the discovery of, extraction of, and installation of is well beyond the capabilities of even many advanced users. Apple does not allow the SheepShaver project to redistribute those ROMS or include them in a pre-build binary. That certainly hinders the project a lot and prevents it from ever being user friendly enough to attract a significant body of developers. It seems like a tiny bit of privilege from Apple would go a long way here, but they withhold it.
It just seems like VM is a very promising new technology that MS and Linux distros are leaping at, and which is finally evolving a few standards. Ignoring it on so many fronts, seems dangerous to me, akin to MS ignoring the internet until the final hour. Ignoring some of the fronts on which VM is making inroads is one thing, but ignoring them all seems almost like a cultural bias. I wonder if maybe the term is taboo at Apple, since they are worried about it one one front and have applied a policy a little too liberally.
Re: (Score:1)
OK, your other points aside, I got a full-body shivering skeeve with a bit of throw up in my mouth when I had a mental picture of usually-very-nicely designed OSX icons sitting right next to the crap you get on Windows and Linux.
Sandbox==good. That way you can keep all the turds in the same place.
Re: (Score:2)
OK, your other points aside, I got a full-body shivering skeeve with a bit of throw up in my mouth when I had a mental picture of usually-very-nicely designed OSX icons sitting right next to the crap you get on Windows and Linux.
Be that as it may, it makes sense for end users and maintaining a consistent paradigm is important especially for novice users.
Sandbox==good. That way you can keep all the turds in the same place.
I'm all for sandboxing applications, even native ones. I think it is going to ha
Re: (Score:2)
Re: (Score:2)
Funny, that's all they do now. I don't see them shipping any servers beyond pizza boxes.
that does not preclude kernel level support for virtualization, including API's and hooks for interoperability
Given how fast Parallels implemented it, I'd say those hooks are in place. Parallels wrote a kernel extension (as did Fusion) and they have virtualization. Or does this go back to "OS X in a VM" again?
What about hooks for su
Re: (Score:2)
SheepShaver is useless without ROMs, the discovery of, extraction of, and installation of is well beyond the capabilities of even many advanced users. Apple does not allow the SheepShaver project to redistribute those ROMS or include them in a pre-build binary. That certainly hinders the project a lot and prevents it from ever being user friendly enough to attract a significant body of developers. It seems like a tiny bit of privilege from Apple would go a long way here, but they withhold it.
If I recall c
Re: (Score:1)
This article is an okay overview of many of ways virtualization is now being used. As an aside, has anyone else noticed Apple seems to be missing the boat this time? They're certainly benefitting from virtualization with several players in the market providing emulation solutions and tools now that they are on Intel, but Apple themselves seem to have done nothing and not even provided a strategy. Servers are moving to more virtual servers on one real machine, but OS X's license forbids it from fulfilling t
Re: (Score:2)
In my humble opinion, OS 9 needed to get the boot. Very few people depend on classic apps, and maintaining the classic environment is just another damn thing to chew up development resources. Yet, this is becoming more of a topic of emulation then virtualization.
The big thing for consumers is Windows virtualization on OS X. It's a cool concept, yet it's a human factors nightmare and not
Re: (Score:2)
In my humble opinion, OS 9 needed to get the boot.
I think excluding the ability the run OS 9 by default is a reasonable decision. But it's nice to have some more gradual deprecation. They went from supporting OS9 apps out of the box with every machine, to not supporting them even as an option and intentionally making it hard for others to provide that functionality in a single step.
Very few people depend on classic apps, and maintaining the classic environment is just another damn thing to chew up deve
Re: (Score:2)
I wouldn't say that. They played a key role in helping Connectix get Virtual PC off the ground. (Though I wish they had bought Connectix instead of letting Microsoft do it - but then again, given the tight CPU-specific reliance in Connectix, they got screwed TWICE; once when IBM bailed on the endian-opcode for the G5, and then again with the switch to intel).
On the server side, I don't think
Re: (Score:2)
On the server side, I don't think that OS X is inherently a good platform for virtualization, given the performance issues with the kernel
Virtualization will never be as fast as the "real thing" but for the most part, it doesn't need to be. I don't have any major issues with the speed of VMs on OS X, only with the feature set.
I don't begrudge them on that point. That was a clusterfuck from the start. Honestly, I don't run any more OS 9 apps at all. I still have an occasional old non-carbonized game or
Thanks, IndioMan & kdawson (Score:2)
No, it's not red-hot, breaking news, but valuable stuff like this is why I keep coming back to this mess (/., I mean). If you're like me and spend most of your Slashdot time reading the comments, take time to read this TFA.
Re:Thanks, IndioMan & kdawson (Score:5, Informative)
For the home user virtualization can be used as a separate PC to surf the net without fear of malware, when you are done surfing just restore the VM to the "clean" state, think "your pr0n browsing PC". You can also use it to test software before contaminating your host PC with stuff you decide not to keep. I visualize it as a sandbox to play in before messing up with the "real" system.
Check the vmware player appliances [vmware.com], there are lots of good ideas there, many of them are for business use but there are several that can be used at home.
For the developer / tester virtualization provides a set of target operating systems to test / debug the software on without need of having the actual physical hardware.
Of course, in the data center it is the next big thing, too many advantages to list here.
Re: (Score:2)
But I've only now sta
Re: (Score:1)
1) you can try out your new operating system from within your normal OS of choice, without breaking anything (including the bank)
2) for a Windows 98/XP user, there may be benefits from keeping your old, familiar OS running in a virtual machine on top of Linux (or OS X).
This is useful to transfer files from NTFS partitions, from Outlook PST files or simply to go back to some old application you've grown to lik
Re: (Score:2)
To further Moco's post; take for example of old software on much older hardware. It take a lot of care and attention and spare parts to keep an old Compaq NT4 box we have running, not to mention power and air conditioning. It's only purpose is to keep an old Foxpro based software archive running, for historical records purposes. No one wants to spend the money to get
Old New Things (Score:3, Funny)
You just wait. Next thing you know we'll be running Lisp machines under our virtualization software. And then there's going to be a new remake of ADVENT and the Great Worm. And a new AI summer.
another reason why virtualization is so hot (Score:5, Informative)
I work at a small ISV which just bought SourceForge, Enterprise Edition [sourceforge.net] which is an Apache/JBOSS/PostgreSql/CentOS app for managing SDLC. For a company of our size, they package this as a VMWare image. Installation is incredibly easy. I can definitely see how free virtualization can be a big boon to companies selling and/or consuming web applications for small deployments.
Re: (Score:2)
FWIW, there are also GForge [gforge.org] VMWare appliances out there [spisser.it]. I can see how it'd make a normal installation easier to troubleshoot, too, if you had a VMWare installation for comparison.
And of course, it's awesome that they both run on PostgreSQL, great stuff [blogs.com]!
Xen does more than just paravirtualization (Score:3, Interesting)
The article seems a bit light on qemu too.
Re: (Score:1, Informative)
VMware has supported VT/Pacifica from the begining. The other statement about hardware virtualization being fast now (without MMU support) is not true. That is the reason VMware recomends using software virtualization even on products that has full support for VT/Pacifica.
OSes Targeting VMs (Score:4, Interesting)
Re: (Score:2)
Re: (Score:2)
Hey, maybe instead what you could do is create a machine that virtualized the devices and provided some sort of interface that programs could just access directly! Of course, you'd need is some additional interfaces for process creation a
Re: (Score:2)
Yes, but that's a lot less work than writing a driver for every OS and device...at least as long as there are more OSes than virtual machines.
``Hey, maybe instead what you could do is create a machine that virtualized the devices and pr
Bell Labs did that a long time ago (Score:2)
It's great and you can learn Denis Ritchie's favourite language : Limbo
Re: (Score:1)
There is a good reason for not being able to run something like ESX server on any old box.
Even with a simple interface you still need to be able to write to memory / disk, whatever.
Something to think about before you throw too much money behind your idea.
Re: (Score:2)
I have long advocated that, but, for some reason, it won't happen. There are _some_ standards, like VESA, ATA, and various USB device classes (yay!), but everywhere else be dragons: accelerated video, Ethernet, WLAN,
``There should be no drivers in the OS level, custom implementation belongs i
Re: (Score:2)
not a big deal (Score:2)
That's not a big problem as we move towards PCI Express and similar peripheral connects; they use standardized protocols that can be easily virtualized. Of course, the guest OS still may need hardware-specific drivers, but that's no differe
Missing Mac On Linux (Score:4, Informative)
It'm glad to see similar happening on x86, finally, as it's one of the things that really made PPC based machines special. (There is some documentation for MOL and Kubuntu here [revis.co.uk].)
Security use? (Score:2)
Re: (Score:2)
Sure, you could run every program in its own VM. But why would you want to? You say this further isolates them from one another, but I don't think that's really true. From the top of my head, there are 3 ways programs can affect each other:
1. Through shared memory. *nix systems isolate processes from one another with the aid of a memory manag
Re: (Score:1)
Re: (Score:2)
Is it theoretically possible to virtualize a few copies of the OS+BIOS+etc. for each program launched to further isolate one program from crashing/infecting others? Or maybe that'd be way too resource intensive?
It is theoretically possible and it is resource intensive. A more workable solution is simply to build strict application level restrictions into the kernel to prevent applications from interacting, and this seems to be the way modern OS's are heading. A VM is useful for running legacy application
Virtual appliances (Score:2, Insightful)
I for one look forward to vendors coming in and pitching me their software. The ones that can instantly show me the product in a virtualized session running on their laptop will be the ones that we write the check out to.
I for one look VERY MUCH forward to placing our systems on virtualized resour
*Another* Layer? (Score:4, Insightful)
But in theory, it bothers me. The basic idea (as I see it) is to provide an isolated environment for applications to run. But that's what the OS was/is supposed to do in the first place, and typesafe languages (like Java) also do much of the same thing once again! (E.g. I see no inherent reason for virtual to physical address translation when running Java applications). The biggest commercial application I see for virtualization is server consolidation. Why not just run all those server processes within the same OS? Yes there are good reasons, but is virtualization really the most efficient solution to those problems?
Maybe virtualization is the best compromise given the legacy that computing currently has, but I wonder if some clever researchers have expressed a vision of how all the same ends could be accomplished much more simply and consistently. Or do all these layers upon layers of abstraction really provide necessary degrees of freedom?
Re: (Score:3, Insightful)
It should also be good for those environments that do not require much performance. if you are running a specialized java app and you consolidate 2 hardware solutions into a virtualized solution, you might need to have 2 different java compi
Re: (Score:2)
Because not all server process were written for the same OS.
Granted if the source code is available you might be able to recompile it, but if it is not then you don't have much of a choice to to use the OS it was written for.
You could have one box per OS approach, but due to fact that hardware is become fast enough to make this a moot point and you'll save money on the electric bill alone to make it worth your while.
Re: (Score:2)
Sometimes two pieces of software don't play nicely together, sometimes they're not available for your OS of choice (or the OS of your choice no longer supports any hardware you can still purchase), sometimes it brings the whole system crashing to the ground and you'd like to limit the damage it can do to a single virtual machine running one process rather than a physical machine running many. Or maybe you don't expect ev
Re: (Score:2)
No.
``Maybe virtualization is the best compromise given the legacy that computing currently has, but I wonder if some clever researchers have expressed a vision of how all the same ends could be accomplished much more simply and consistently.''
They have. Just to name one example, one of the ideas for TUNES was to have a kernel-less design: just communicating processes. I am told that crossing the kernel-user space barrier is quite co
Re: (Score:3, Informative)
For developers, VMs are fantastic. Not only does it let you target multiple architectures easily, it also makes it possible to create, backup, restore, an
Re: (Score:1)
So for now you are left with autonomous "units of processing" defined as an Operating System with its applications and you can't go any deeper without lots of effort (and cost).
Re:*Another* Layer? (Score:5, Interesting)
I recently tried to get Vista to work on Xen.... (Score:2, Informative)
Bias??? (Score:1)
Re: (Score:2, Interesting)
Xen on FreeBSD? (Score:2, Interesting)
Tell me where it's useful... (Score:2)
But, virtualization is so often touted as a way to consolidate servers. I keep asking myself "Who are these people that have that many servers with so little load, that many servers that they could consolidate (making a single COMPLETE point of failure), and have
Re: (Score:2, Informative)
Where we've found it incredibly useful is in 3 cases:
1) Any server where end users may cause damage. In our case, we have a remote desktop available to the end users via Citrix. Yes, it's secured -- but there's always SOME chance that an end user will mess it up somehow. By running the Citrix server in a virtualized non-persistant environment, any damage can be corrected by simply rebooting the virtual Citrix box.
2) Very low utilization applications
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
With less complexity. You can move it to a shared server for the duration when you're fixing the old server/getting a new one. Or if/when you move it to a virgin server there is less need to match the replacement server in absolute physical terms... the abstraction of using virtualization makes things easy. Personally I wouldn't feel that comfortable with imaging a disk drive from one server with hardware configur
Re: (Score:2)
While I know this isn't what you're talking about; I'm currently using VMWare to host multiple servers for educational reasons. I simply do not have enough spare systems to mimic a few servers doing their normal tasks. VMWare
Re: (Score:1, Informative)
However the more common example by far in the enterprise is the deployment of a fairly small app that consumes a fraction (say ~10 pct) of a server's worth of CPU capacity. For all sorts of reasons, including ownership and independence, these tend to run on their own dedicated server.
Real cool example? Let's start with your scenario, a small ISP with a web server, mail server, and DNS server. To avoid the
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
Even in UNIX this makes some sense; I run three UNIX boxes at home. One of them is a physical box that acts as my primary file / print / SQL server whi
Big New Thing??? (Score:3, Interesting)
Internal: DHCP, DNS, postfix SMTP server for internal clients, Squid proxy, OpenVPN MySQL DB, DBMail IMAP services that use MySQL as the backend. All in 128 megs of RAM. And they all perform smoothly and quickly.
External: DNS, postfix SMTP server for spam filtering and relaying to the virtual internal SMTP server, OpenVPN server. All in 64 megs of RAM.
I plan to add an Asterisk PBX to that same box for a third VPN so I can have private VoIP with my OpenVPN users (all friends and family as I'm talking about a system at home, not at work).
I've, of course also played with Virtual PC, Virtual Server, QEMU and poked at OpenVZ. For me, a decent virtualization solution has to be able to run other OSes to count as good which is why certain virtualization solutions don't do much for me. If I need access to Windows, I want to be able to do it without wasting good hardware on it. That's why UserMode and Linux Virtual Servers (more akin to chroot jails) do absolutely nothin for me other than when I'm building a Gentoo box. But, this is not the big new thing. It's only that MS is making waves with it now... typical.
Obligatory (Score:1)
Microkernels++: Just in case you dont remember (Score:3, Insightful)
It really is a pity we gave the whole project up and decided to just implement YET ANOTHER page table in hardware, rather than try to solve the PIC code layout, IPC performance issues, and wrestle with building a new dynamical component based environment. I think we'd see virtualization on a much more pervasive level and a much stronger conception of mobile code, stretching all the way to embedded devices. As it is, the hardware virtualized environments are so insular from each other that there is a) no reason to run it on embedded systems (since integration is all application level, tracing through pretty meaty stacks) (watchdog systems aside) and b) it would impose colossal power consumption needs for mobile devices since it has to run each OS seperately.
Virtualization as we know it is a terrible terrible excuse for unix never having built itself a sufficiently dynamical and configurable environment. Two thumbs down. As cool as running multiple OS's is, it should not have been necessary in the first place.
LordMyren
CTSS? (Score:2)
Ok, I thought CTSS was a task switching layer on top of the basic OS, FMS. The article goes on to talk about OS-level virtualization and yet doesn't mention TopView or DESQview?
Hands-up who doesn't remember running up QEMM and DESQview to run their BBSes back in the 80's?
Article missing MDF (Score:3, Interesting)
VMware question (Score:2)
Re: (Score:1)
Re: (Score:1)
Re: (Score:2)
Jason.
Re: (Score:2)
Re: (Score:1)
it's great for deployment servers.
top notch.
Re: (Score:1)
image hosting? (Score:1)
It could be like conventional hosting as far as billing goes.(charge for disk space/bandwidth) But I would like to have complete control of whats inside the blackbox.
I find many uses for it. Like moving my home Asterisk server
Elastic Compute Cloud (Score:1)
Let me introduce you to EC2 [amazonwebservices.com]
The Next Step For Virtualization... (Score:2)
Those wacky technical acronyms (Score:2)
And here I thought BCPL stood for Bitchin' Camaro Propulsion Language...
Re: (Score:3, Interesting)
There is a note of cynicism in your statement, but yes you will need adequate hardware and resources to take advantage of virtualisation. You should not expect to run two identical instances of a server environment on your hypervisor and expect a performance increase (depending on utilization of course). Also keep in mind your host os is going to need resources to run the show. This is where a stripped linux install has the advan
Re: (Score:1)
More or less the case with regard to Xen, as I understand it. I know on my machine, Grub boots Xen, not Linux, and then Xen boots Linux. With VMWare I think it actually varries by product. VMWare Workstation doesn't work that way, but some of their server products do.
Re: (Score:2)
Not quite- VMWare ESX runs on bare metal as an OS.
Re: (Score:2)
Comment removed (Score:5, Informative)
Re: (Score:3, Informative)