Slashdot Mirror


An Overview of Virtualization

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."

16 of 119 comments (clear)

  1. virtuosity by User+956 · · Score: 3, Funny

    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.

    That article had the virtue of being a virtual cornucopia of information.

    --
    The theory of relativity doesn't work right in Arkansas.
  2. QEMU by the.metric · · Score: 3, Informative

    Just wanted to point out that qemu can also do virtualisation on Linux, just like Vmware, with a closed-source kernel module. It works quite well too. http://fabrice.bellard.free.fr/qemu/qemu-accel.htm l

    1. Re:QEMU by dignome · · Score: 3, Interesting

      Kernel Virtual Machine - http://kvm.sf.net/ It requires a processor with Intel's Vt or AMD's SVM technology (cpuflags will read vmx for VT or svm for AMD-V). The developers are looking for people to test optimizations that have just gone in. http://thread.gmane.org/gmane.comp.emulators.kvm.d evel/657/focus=662 It uses a slightly modified qemu.

    2. Re:QEMU by julesh · · Score: 4, Informative

      I'm not sure why you felt the need to mention QEMU specifically.

      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).

  3. Apple by 99BottlesOfBeerInMyF · · Score: 4, 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?

    1. Re:Apple by 99BottlesOfBeerInMyF · · Score: 4, 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.

    2. Re:Apple by diamondsw · · Score: 4, Insightful
      Let's see, why don't they do virtualization...
      • 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.
      • 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.
      • And not strictly virtualization, but you mentioned it - they don't want to make it easy to use OS 9. It's been dead to them for years (and porting Classic to Intel would not have been easy, given the way Rosetta works). 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).


      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.
      --
      I don't know what kind of crack I was on, but I suspect it was decaf.
    3. Re:Apple by 99BottlesOfBeerInMyF · · Score: 3, 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.

  4. another reason why virtualization is so hot by anomalous+cohort · · Score: 4, Informative

    I work at a small ISV which just bought SourceForge, Enterprise Edition 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.

  5. Xen does more than just paravirtualization by Anonymous Coward · · Score: 3, Interesting
    The article seems a bit outdated. Reading it make it sounds like hardware virtualization (Intel VT-x / AMD's AMD-V, ex Pacifica) isn't there yet. As a user running both para-virtualized guests and hardware-virtualized guests under Xen since months, I disagree with how Xen is presented. Xen can also run unmodified guests (and is very good at it): I've tried several unmodified Linux version (though para-virt is faster than hardware-virt, so I run para-virtualized Linux guests) and I'm currently running an unmodified Windows XP Pro 32 bit under Xen. I also installed W2K3 server under Xen. Performance is incredible, there's no comparison, for example, with VMWare running fully-virtualized Windows, which is way slower than hardware-virt (nowadays maybe that VMWare allows to use VT-x/AMD-V? I honestly don't know, I haven't checked). As a second note, para-virt. under Xen is even faster than hardware-virt, it just feels native.

    The article seems a bit light on qemu too.

    ... # xm info | grep xen_caps
    xen_caps : xen-3.0-x86_32 , hvm-3.0-x86_32

  6. OSes Targeting VMs by RAMMS+EIN · · Score: 3, Interesting

    An idea that I've been toying with lately is what if we got operating systems targeting virtual machines, especially ones that expose a simplified interface rather than trying to emulate a real machine. Instead of having to duplicate drivers for every piece of hardware in every OS, drivers would only need to be developed for the virtualization environment, and operating systems would only have to support the interface exposed by the VM.

    --
    Please correct me if I got my facts wrong.
  7. Missing Mac On Linux by also-rr · · Score: 3, Informative

    MOL is a true work of genius. Even on pretty old PPC hardware it functions with almost no slowdown. (Linux host, OS X and Linux clients). Compared to contemporaries it had no equal - the current generation of products on x86 are just starting to catch up. I'm most impressed with the way my powerbook can sleep (close the lid) under Linux and all of the hosted sessions quietly pause themselves with no problems. They even resume a network connection perfectly on waking up.

    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.)

  8. Re:Thanks, IndioMan & kdawson by moco · · Score: 5, Informative

    Since I'm not a server admin, I've always wondered about the use and importance of this "virtualization" I've been hearing so much about .

    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, 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.
    --
    moi
  9. *Another* Layer? by timeOday · · Score: 3, Insightful
    In practice, I really like virtualization because it allows me to boot up Linux and run MS Exchange and Office, and most other (non 3d) Windows software using VMWare.

    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?

    1. Re:*Another* Layer? by QuantumRiff · · Score: 4, Interesting

      For us, the nicest thing about virtualization is the disaster recovery. If our building burns down, we can quite literally get any PC we can find with a ton of RAM, load Virtual Server, and load the hosts right back up. Much, much faster than going and configuring all the weird drivers and raid cards, partitions, etc on a normal non-virtualized system. On the same note, if one of my servers goes down, I can quickly load up the VM on another box, which means I can take all the time in the world to get the original server back up, so I don't have to worry about the really expensive "4-hour" support plans, but the much cheaper "next-day" support plans. I also keep a VM copy of our web server handy. (Web server isn't on a VM, yet, because of the speed issues), so that when I need to take down the real, faster, web server, I change one DNS setting, and all my users notice is that the web is running a little slower...

      --

      What are we going to do tonight Brain?
  10. Re:3d? by Ash-Fox · · Score: 4, Informative
    But they all have one major showstopper of a problem: I can't use accelerated 3D on the latest graphics cards under virtualized OSs.
    In Vmware:

    Edit your .vmx file.

    Add the following:
    mks.enable3d = TRUE {- Requires acceleration on the host, because it passes things directly from the guest.
    svga.vramSize = 67108864 {- This line increases the vram size, you might want to customize it.
    vmmouse.present = FALSE {- This disables the 'absolute' pointing device in the guest OS (as applications that require directinput relative mode needs to turn off 'relative' mode in the guest). Note: If you unset this option, you should also turn off the preference for motion ungrabbing in the settings dialog

    Unfortunately not all aspects of 3D acceleration on the guest are actually accelerated -- Which are some of the following:
    • Hardware bump-mapping, environment mapping
    • Pixel & vertex shaders
    • Textures with one, three, or four dimensions
    • Multi-vertex streams
    • Projected textures
    --
    Change is certain; progress is not obligatory.