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."
QEMU (Score:3, Informative)
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.
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].)
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: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.
I recently tried to get Vista to work on Xen.... (Score:2, Informative)
Re:Tell me where it's useful... (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 that are required to be on their own server for support purposes. There's tons of Windows financial & business apps that won't play nice together, or are simply unsupported by the vendors if there's anything else on the box. The easy solution is to simply load these lightly used images on a single host box.
3) Migrating services. If an app is installed in a virtual environment, and the user population suddenly triples, all you have to do is migrate the virtual image to heavier duty host hardware.
Re:Xen does more than just paravirtualization (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.
Re:QEMU (Score:2, Informative)
Re:*Another* Layer? (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, and teardown machines quickly, which is damn handy for certain modes of development (being able to revert to a known-good configuration of a test system is *very* useful).
But you're right, on the desktop, the uses are limited, probably to security, where you can easily sandbox legacy software.
Re:Tell me where it's useful... (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 single point of failure, deploy all three applications across an active/standby or active/active clustered pair of physical servers, with some kind of shared-storage. Run each server (web, mail, and DNS) in its own virtual OS. Net benefit: Increased uptime _and_ reduced physical resources.
Another real cool example: How about security. Increasingly, expect to see security best practices mandate running applications within a virtual OS. For a good example of this, check out this PDF from Sun [opensolaris.org]. Yes, it is Solaris specific, but expect other OS / Virtualization combos to move in this direction in the future.
Comment removed (Score:5, Informative)
Comment removed (Score:3, Informative)