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

119 comments

  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.
    1. Re:virtuosity by coast215 · · Score: 1

      This comment was virtually useless.

    2. Re:virtuosity by J.P.+Yoshi · · Score: 2, Funny

      Thank god yours isn't ;)!

    3. Re:virtuosity by twiddlingbits · · Score: 0, Offtopic

      You must be new here? Every article on /. has virtually useless comments, sometimes the articles themselves are too. ----- Insert Virtual Sig here -----

    4. Re:virtuosity by lordtagoh · · Score: 1

      pls Mod parent UP!
      where were ur post when i still have point?

    5. Re:virtuosity by Rik+van+Riel · · Score: 1

      I've tried to put together an easy to understand overview of the various Linux virtualization technologies, at http://virt.kernelnewbies.org/TechComparison

  2. Virtually Here by Anonymous Coward · · Score: 0

    I love virtualization. What else will let me squeeze yet another virtual server onto my kick ass server.
    The kick ass server being a Celeron 2ghz machine with 256 megs of ram. A few more virtual servers and I might get usage up to 10% of the CPU. One of these days I might even let some users access it.

    1. Re:Virtually Here by bl8n8r · · Score: 2, Interesting

      > The kick ass server being a Celeron 2ghz machine with 256 megs of ram.

      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 advantage. One problem is people run their hypervisors on windows which really wasn't intended to be a multitasking server OS in the first place. They expect to see nice fluid resource management and it just doesn't happen and they get aggravated and try to throw more hardware at it with very little improvement. Also, keep in mind that Vmware and Xen are two separate types of hypervisors. As I understand, Xen is the operating system and hypervisor all rolled into one, whereas Vmware is an additional layer on top of the host os. YMMV with either.

      --
      boycott slashdot February 10th - 17th check out: altSlashdot.org
    2. Re:Virtually Here by DrSkwid · · Score: 1

      IBM's 64,000 node blade cluster running plan9 is pretty sweet

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    3. Re:Virtually Here by dingman · · Score: 1
      As I understand, Xen is the operating system and hypervisor all rolled into one, whereas Vmware is an additional layer on top of the host os.


      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.
    4. Re:Virtually Here by basil+montreal · · Score: 1

      >"As I understand, Xen is the operating system and hypervisor all rolled into one, whereas Vmware is an additional layer on top of the host os"

      Not quite- VMWare ESX runs on bare metal as an OS.

  3. Virtualization is so easy by Anonymous Coward · · Score: 2, Funny

    Virtually anyone can do it!

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

      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?

    3. Re:QEMU by Orange+Crush · · Score: 1

      I haven't played with it in a while, but QEMU was considerably slower than VMWare when I last gave it a spin. I figured it was a performance penalty from emulating the whole x86 where VMWare could run closer to the bare metal (on an underlying x86, that is) for near-native performance. Am I mistaken?

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

    5. Re:QEMU by Da+Masta · · Score: 1

      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.

      The article does one better and specifically mentions KVM+Qemu, but don't take my word for it.

    6. Re:QEMU by megaditto · · Score: 2, Informative

      As I recall, qemu had an option to do fast emulation, but it only worked on certain architectures (e.g. on PowerPC you can only use a slow way x86 emulation). You would also need to run it as root and be OK with an occasional kernel panic.

      --
      Obama likes poor people so much, he wants to make more of them.
    7. Re:QEMU by julesh · · Score: 1

      The article does one better and specifically mentions KVM+Qemu, but don't take my word for it.

      Which is entirely different to qemu with qemu-accel; the latter is *not* a kernel module.

    8. Re:QEMU by eno2001 · · Score: 1

      I've used QEMU in "production" both at home and at work for what it's worth. As good as it is, it's really more a desktop virtualization solution IMHO as you can't run multiple instances of QEMU on a normal box and expect full blown performance even with the kqemu module. My work application was to let some of my users run a test workstation environment to test some software that couldn't have multiple instances of different versions running. These users were on Windows 2000 boxes and were running virtualized Windows 2000 guests. I even used one of the GUI management utilities to allow them to just point and click to select the VM to run, shut it down, save it's state, etc... It didn't perform well enough for my boss, so he ordered the Windows guy to install Virtual PC. Oh well... At home I actually did something I think was damn cool. I had a server here that was running a highly customized RedHat 7 and I wanted to upgrade it to something newer. But at the same time I couldn't afford the downtime for mail, vpn, web and dns services that I provide. So I took the entire root filesystem and used 'rsync' to copy it all to a loopback filesystem. Then I booted it up with QEMU and it worked part way. I had to make some config changes (different virtual NIC than the original box). I ran with it for a year with increased performance since the host system was much newer than the original server. I just moved it from QEMU the other day to Xen with 'svm' support on a 64 bit Dual core AMD system. I have to say Xen is much better performance wise because you can get many more virtual systems on a modern box with enough RAM than you can with QEMU with some exceptions. Right now I've got two VMs running with svm support (it's a modified QEMU in Xen actually) and two that are paravirtualized. Paravirtualization is where you get the most bang for your buck. If you're running completely paravirtualized, you can probably stuff up to 25 VMs on a typical modern Desktop processor with 4-8 gigs of RAM.

      --
      -"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
  5. 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 InsaneProcessor · · Score: 2, Interesting

      The answer here is simple. 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.

      --

      Athiesm is a religion like not collecting stamps is a hobby.
    2. 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.

    3. 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.
    4. Re:Apple by Giometrix · · 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 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?"

      I imagine this is due to to Apple wanting to keep OSX from being installed on plain vanilla boxes. I suppose they could allow OSX to run on a virtual machine being hosted by an Apple, though I am unsure if any of the current VM software tells the virtualized OS what kind of OS the host is running. As far as I know though, the VM doesn't even know it's a VM (though I've seen an assembly code snippet of a way to do so, though this still does not tell the VM what kind of OS the host is running).

      --
      Download free e-books, lectures, and tutorials at bookgoldmine.com
    5. Re:Apple by Anonymous Coward · · Score: 0

      Apple sells REAL machines, not virtual ones.

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

    7. Re:Apple by Anonymous Coward · · Score: 0

      Which, given that I spend 90% of my work day in a virtualized desktop environment, is patently untrue.

    8. Re:Apple by Moofie · · Score: 1

      "but treating the apps as more "native" with Windows or Linux binaries showing up as icons in OS X?"

      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.

      --
      Why yes, I AM a rocket scientist!
    9. Re:Apple by 99BottlesOfBeerInMyF · · 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.

      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 have to happen if we ever want a reasonable level of security in mainstream desktops. That doesn't mean you can't still logically represent programs that run in a sandbox, outside of that sandbox. I'm just talking about an icon that is a link to the emulated application, maybe labeled with a Windows symbol or something. Add in a dock representation so you can easily quit or suspend the application without breaking your workflow and you're probably at a level of usability that will appeal more to novice users. Heck, Parallels already runs apps in a windowless mode in the new beta. I'd just like to see OS X provide the hooks needed for the rest, rather than having them hack it together.

    10. Re:Apple by Aqua+OS+X · · Score: 1

      As for the consumer virtualization... personally, it makes me throwup a little bit in my mouth every time I think about it.

      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 the most encouraging thing for application development on OS X. On one hand, I'd like to buy an Intel Mac and Parallels, on the other hand, I hope virtualized Windows doesn't become the norm for OS X users.

      --
      "Things are more moderner than before- bigger, and yet smaller- it's computers-- San Dimas High School football RULES!"
    11. Re:Apple by 99BottlesOfBeerInMyF · · Score: 1

      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 development resources.

      How many resources does it take to provide the SheepShaver project with a license to redistribute their ROM? That is pretty much all it would take to make running classic apps a simple, free third party download instead of an exercise in frustration that requires a visit to a warez site, or access to an old machine with OS 9 installed. Official support of the project would be better and would be good PR for Apple playing nice with open source, but even that is more than they need to do.

      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 the most encouraging thing for application development on OS X.

      Applications in a VM will always be second class citizens, thus users will provide demand for native ports. I'm not too worried about VMs running Windows undercutting OS X development, especially in that it is significantly increasing overall market share. Sure a few developers will cancel OS X versions, they will also lose big time to competitors that don't do that.

      On one hand, I'd like to buy an Intel Mac and Parallels, on the other hand, I hope virtualized Windows doesn't become the norm for OS X users.

      That's just not going to happen. Most users don't know what an OS is and would never consider installing one. They certainly are not going to pay for a Windows license on top of the cost of a Mac. No, the real concern is not that Windows on Mac will ever be a normal situation, but that bad ports via Windows API reimplementations (like WINE) will become the norm, resulting in lots of quick and dirty ports that run slowly with lots of bugs on the Mac. Already one company is selling porting tools and services based upon this premise. It will be transparent to the user, who will just end up buying a crappy, bloated, slow, buggy version of a game that plays well on Windows. Then review sites will talk about how slow OS X is by comparison to Windows and Apple's reputation will be damaged, possibly slowing uptake.

    12. Re:Apple by jafac · · Score: 1

      Does Apple have something against VM technology? Are they simply behind the times and failing to see the potential?

      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 that OS X is inherently a good platform for virtualization, given the performance issues with the kernel (this is documented on ArsTechnica - but hasn't received much press lately).

      Tools for using OS X as a thin client for accessing remote virtual machines are likewise weak.

      Well, there's a Citrix client for one, and an RDP client as well, and then OS X has X11 support too.

      One thing that always puzzled me was the cross-platform and remote windowing capabilities in OpenStep that somehow did not survive the translation into Cocoa. I guess the rumor was that the remote window capabilities were lost in the change from DisplayPostScript to the new PDF format. And maybe they just didn't maintain the Win32 runtime environment out of sheer need to get OS X 10.1 out the door. Who knows? It really is a shame though that their only remote capabilities are based on VNC (Apple Remote Desktop).

      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

      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 two. But I just don't run them. They're taking up disk space. This was a ton of effort for very little payback.

      No mention of adding VM technology to OS X has been heard, despite its inclusion in the Linux kernel among others.

      The only game in town for VM was Connectix's VPC. Microsoft bought them, and this app was not able to economically be ported to Intel. At the same time, everyone and their brother started porting intel-based emulators and VM software to OS X as soon as they announced the PPC-intel move. Why should Apple compete with third-party vendors? They'll probably let the third party vendors develop and perfect something, and then they'll pick the best of breed and buy it - but this only helps Desktop users of VM technology until they can fix that performance issue.

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
    13. Re:Apple by complete+loony · · Score: 1

      And you think Apple would tell you about it if they *were* investigating VM support? They rarely announce *anything* until it's a certainty, or in rare exceptions when a new feature in one product demands a new product that doesn't yet exist (eg the new iTV thingy they've been talking about .... /me drools).

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    14. Re:Apple by 99BottlesOfBeerInMyF · · Score: 1

      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 two. But I just don't run them. They're taking up disk space. This was a ton of effort for very little payback.

      Again, I'm not claiming Apple should be supporting OS 9 emulation or virtualization, but they should make it easy for third parties to do so. The main stumbling block to making this work is getting a valid ROM file downloaded, extracted, and installed because Apple restricts emulators from including or redistributing these ROMs to which they locked their OS. The DMCA makes reverse engineering illegal. Making OS 9 emulation no longer default functionality is very reasonable from a strategic point of view. Making it extraordinarily hard because of Apple's legal position, however, is not.

      Why should Apple compete with third-party vendors?

      I'm not implying that Apple should be competing with desktop VM providers. I'm saying they should be incorporating APIs and OS level functionality to make those vendor's job easier and their VMs more useful.

    15. Re:Apple by diamondsw · · Score: 1

      Are they just going to let OS X server die, or try to target only really small businesses?

      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 supporting virtual machines like Parallels, but treating the apps as more "native" with Windows or Linux binaries showing up as icons in OS X?

      Why in the hell is this something Apple is providing? I'm completely confused as to where you think the OS ends and the third party virtualization product begins.

      Depending upon how access to OS 9 apps is accomplished, it certainly is virtualization

      No, it most certainly is NOT. Virtualization is hosting several operating systems on the same hardware and making them all think they have sole access to it. Running OS 9 is emulation, in which they have to translate the PPC instruction set to Intel. Completely different terminology, with important speed and implementation concerns.

      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

      New? You must be new here. As for standards, there are none - there are implementations from different vendors, but nothing like a standard, whether for hypervisors, VM formats, virtualized hardware, etc. VMWare is something of a defacto standard, but there are no standards bodies of any kind.

      --
      I don't know what kind of crack I was on, but I suspect it was decaf.
    16. Re:Apple by 4D6963 · · Score: 1

      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 correctly the SheepShaver website links to the download of a freely available NewWorld ROM file that Apple distributed as an update to the ROM file for many NewWorld machines. And SheepShaver runs greatly off that ROM file.

      --
      You just got troll'd!
  6. Thanks, IndioMan & kdawson by PopeRatzo · · Score: 1

    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. TFA is a pretty useful overview of the topic, and I'm glad it was posted here.

    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.

    --
    You are welcome on my lawn.
    1. 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
    2. Re:Thanks, IndioMan & kdawson by PopeRatzo · · Score: 1

      Thanks, moco. I will check on the vmware player appliances. Since I've got a computer that has a fair amount of overhead, virtualization does make sense in several circumstances. "Virtualization" is a pretty broad name. When I work on my DAW, I use a lot of virtual instruments (Gigasampler, NI Battery, etc.), which give me the capability of making nearly (virtually) the same sounds in the same way as the instruments they represent. That's what virtualization has always meant to me.

      But I've only now started understanding the use of "virtualization" the way it's often used on tech websites like this one. I can see how important it would be on a corporate network, for example, and on Linux or OSX machines that have to run applications that are not native to that environment.

      --
      You are welcome on my lawn.
    3. Re:Thanks, IndioMan & kdawson by Dr+Caleb · · Score: 1

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

      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 the software re-written in a modern language (the consultant took the source code with him).

      The answer is to virtualize the hardware and software. If it 'breaks', we just move the image to another server. It'll be static anyway. For the one or two queries it recieves a month, it won't swamp our resources. And it's 4 drive arrays of 4G drives can be reasonably replaced with a cheap SATA2 drive. ;)

      And no one will ever realize the server isn't a 'real' server anymore.

      --
      "History doesn't repeat itself, but it does rhyme." Mark Twain
    4. Re:Thanks, IndioMan & kdawson by bazorg · · Score: 1
      A home user willing to change his/her OS of choice may also be interested in VMware player or such:

      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 like or be proficient with. In this case, accessing the virtual windows box with Remote Desktop is a really neat trick.

  7. Old New Things by RAMMS+EIN · · Score: 2, Funny

    "Virtualization is the new big thing, if 'new' can include something over four decades old."

    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.

    --
    Please correct me if I got my facts wrong.
  8. 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.

    1. Re:another reason why virtualization is so hot by tcopeland · · Score: 1

      > For a company of our size, they package this as a VMWare image.

      FWIW, there are also GForge VMWare appliances out there. 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!

    2. Re:another reason why virtualization is so hot by Anonymous Coward · · Score: 0

      have you heard of svn and trac?

      I hope the money your company paid for sourceforge enterprise is worth it.

  9. Virtualization is good! by SPSTech · · Score: 0

    I love being able to run virtual machines on my single desktop. It makes troubleshooting issues much simpler, I just wish they ran faster.

    --
    Sig?
  10. 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

    1. Re:Xen does more than just paravirtualization by Anonymous Coward · · Score: 1, Informative

      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?

      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.

  11. 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.
    1. Re:OSes Targeting VMs by Anonymous Coward · · Score: 0

      Yes, that's sure a good use for VM.

      On the other hand, I don't quite understand, why is x86 architecture so complex... Shouldn't all peripherals support the same interface ON THE HARDWARE LEVEL??? There should be no drivers in the OS level, custom implementation belongs into firmware - where it's platform independent.

      Just my 0.002 cents. Or was that 0.2 dolars?

    2. Re:OSes Targeting VMs by julesh · · Score: 1

      Well, that's the idea of paravirtualization: make an easier target to emulate and then port the OS to it. And yes, people are doing OS development with paravirtualized targets as their initial architecture. Xen is quite popular among the hobbyist-OS community.

    3. Re:OSes Targeting VMs by RAMMS+EIN · · Score: 1

      ``On the other hand, I don't quite understand, why is x86 architecture so complex... Shouldn't all peripherals support the same interface ON THE HARDWARE LEVEL???''

      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, ... all need drivers written for every card out there.

      ``There should be no drivers in the OS level, custom implementation belongs into firmware - where it's platform independent.''

      I think this is how Open Firmware machines work. However, I also know that operating systems for these machines tend to include device-specific drivers anyway, because going through the firmware is slow (although I think there is no good reason for that).

      --
      Please correct me if I got my facts wrong.
    4. Re:OSes Targeting VMs by Abcd1234 · · Score: 1

      So then the virtual machine needs to understand the underlying hardware, in order to provide useful virtualized devices. Thus, you have to write a virtual machine for every native platform, which is responsible for providing a unified interface to the underlying hardware.

      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 and scheduling, but that seems pretty trivial. Man, that'd be sweet... you'd have this nice little "system" "operating" on top of the hardware, but it could hide all the details from the applications running inside! It's brilliant!

    5. Re:OSes Targeting VMs by twiddlingbits · · Score: 1

      Device drivers are the interfaces to the firmware from the OS. The firmware (such as on Graphics Cards) implements the basic functions and controls the operations of the device. Thier are hardware communication standards (USB, ATA, SCSI, VESA) but each card works in a slightly different way that its' mfg thinks is ideal. Unless every graphics card worked the same way each one needs it's own driver. If each card worked exactly the same way there would be no need for drivers as it could all be firmware that is called from the application code itself, of course there would be a lot less choices on the market to chose from.

    6. Re:OSes Targeting VMs by RAMMS+EIN · · Score: 1

      ``So then the virtual machine needs to understand the underlying hardware, in order to provide useful virtualized devices. Thus, you have to write a virtual machine for every native platform, which is responsible for providing a unified interface to the underlying hardware.''

      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 provided some sort of interface that programs could just access directly! Of course, you'd need is some additional interfaces for process creation and scheduling, but that seems pretty trivial. Man, that'd be sweet... you'd have this nice little "system" "operating" on top of the hardware, but it could hide all the details from the applications running inside! It's brilliant!''

      Yes, and in a sense, we have that: most operating systems I'm aware of expose at least part of the POSIX interfaces to applications. However, there are operating systems that don't do so, and there are good reasons for wanting more flexibility than POSIX-compliance implies. Just standardizing the interfaces to the hardware allows OSes a lot of freedom, while at the same time limiting the duplication of effort in developing drivers.

      --
      Please correct me if I got my facts wrong.
    7. Re:OSes Targeting VMs by cyroth · · Score: 1

      Great idea but there is one small problem. The virtual server has to talk to the hardware directly, to do that you really some form of OS to do that job for you and it still need to know how to interface with the hardware.
      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.

  12. Re:Don't forget... by Teresita · · Score: 0, Offtopic

    Don't forget...to pay your $699 licensing fee you cock-smoking teabaggers.

    Sure SCO troll, here's an orange virtual $500 bill, a peach-colored virtual $100 dollar bill, a blue virtual $50 bill, two green virtual $20 bills, a pink virtual $5 bill, and four white virtual $1 bills. Now we're all squared up.

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

  14. Security use? by PurifyYourMind · · Score: 1

    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?

    1. Re:Security use? by RAMMS+EIN · · Score: 1

      ``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?''

      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 management unit. This makes it impossible for one process to access another's memory, except when it's explicitly shared (most *nix OSes support shared memory in some form). You can't do that between machines, but that's actually a loss; you can get the protection without multiple VMs, but you can't get the efficiency of shared memory with multiple VMs.

      2. Through the filesystem. You can wall this off with chroot. Again, VMs offer you no protection that you couldn't get without them, but you do lose a method of reasonably efficient communication if you use VMs.

      3. Through interprocess communication. Local IPC (pipes, shared memory, AF_LOCAL sockets, ...) is obviously not going to work between separate machines, but you still get network sockets (e.g. AF_INET). In other words, IPC is available in both scenarios, but the more efficient forms are absent when using multiple VMs.

      To summarize: multiple VMs give you no additional protection, but they do cost you efficiency.

      --
      Please correct me if I got my facts wrong.
    2. Re:Security use? by 99BottlesOfBeerInMyF · · Score: 1

      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 applications that cannot install/run well with these restrictions.

    3. Re:Security use? by GvG · · Score: 1

      That's what Thinstall (http://thinstall.com/) does: application virtualization.

  15. Virtual appliances by fatnicky · · Score: 2, Insightful

    Virtual appliances will drastically change the way tech sales is handled in 2007. Instead of a sales rep promising their product can perform, they'll now be immediately asked to put their VM where their mouth is.

    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 resources. It'll make us look like a million bucks while saving a million bucks.

    This is also great for small businesses who need a quick deployment. I love being able to instantly expand my hardware to accommodate new setups.

    --
    Free childcare classifieds: www.carebrite.com
  16. Re:Don't forget... by Anonymous Coward · · Score: 0

    You can't spell "cock-smoking teabaggers" without SCOX.

  17. *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 Cheeze · · Score: 2, Insightful

      Virtualization is probably best used in test environments. Copy a normalized disk image and run from the copy to see how the software interacts with the hardware or operating system. When you're done testing, no need to mess with any hardware, just delete the disk image.

      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 compilers installed. You wouldn't want to join these two java applications onto the same logical hardware, but you can put them on the same physical hardware.

      --
      Why read the article when I can just make up a snap judgement?
    2. Re:*Another* Layer? by vertinox · · Score: 1

      Why not just run all those server processes within the same OS?

      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.

      --
      "I am the king of the Romans, and am superior to rules of grammar!"
      -Sigismund, Holy Roman Emperor (1368-1437)
    3. Re:*Another* Layer? by jimicus · · Score: 1

      I like to think of it as sticking-plaster to solve an age old problem: Software sucks.

      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 every service's hardware requirements to grow equally (file storage requirements are likely to grow much faster than DNS performance requirements) and you'd like to minimise disruption when it inevitably becomes necessary to upgrade the hardware platform.

      Of course, virtualisation is itself a layer of software (sometimes with supporting hardware, as in Pacifica/Vanderpool). So it also sucks. You just have to hope it sucks less than running the whole lot as one bug physical system - which is generally the case.

    4. Re:*Another* Layer? by RAMMS+EIN · · Score: 1

      ``is virtualization really the most efficient solution to those problems? ''

      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 costly in current OSes, so a kernel-less design could be much more efficient (at any rate, hardware could be simpler). The use of unsafe languages pretty much rules out this approach, but there are plenty of languages that would be safe to use in a kernel-less environment.

      --
      Please correct me if I got my facts wrong.
    5. Re:*Another* Layer? by Abcd1234 · · Score: 2, Informative

      Well, in the server space, virtualization gives you immense flexibility, thanks to simplified backup and restore, migration, failover, and so forth, not to mention enhanced security and auditability. Yes, you could implement those features for every service you run, but why go through that effort when it's more easily done with a virtualized environment?

      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.

    6. Re:*Another* Layer? by moco · · Score: 1

      I get your point, and you are right, virtualization is not the optimal solution but it is the best we have. It would require a tremendous ammount of cooperation between too many entities that have different and conflicting goals to come up with a standard interface so any service can run on any server that runs any operating system.

      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). In that sense, virtualization *is* the optimal solution.

      It is a recipee of object oriented design to build another level of abstraction (set of classes) on top of the badly designed ones. I think this is an application of this principle.

      --
      moi
    7. Re:*Another* Layer? by Anonymous Coward · · Score: 0

      I see no inherent reason for virtual to physical address translation when running Java applications

      That's probably one of the cheaper operations your computer does. And if your Java application calls any non-Java code... (And how do you know which VMs to bless?)

      But this does bring up an interesting point. Let me suggest a slightly different approach.

      Why doesn't my kernel provide a managed memory manager, with a GC?

      Kernels are all about managing memory, anyway. They know more than the apps can about what memory is where. And then I won't need every app I run (Python, Perl, Java, C#, Lisp, ...) to have its own GC -- which is more or less sucky depending on the language. Kernel memory already doesn't correspond 1:1 with RAM (it may swap your memory out to disk if it wants); why not lose all the userland memory managers that try to second-guess what the kernel is doing?

    8. 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?
  18. I recently tried to get Vista to work on Xen.... by i_dream_in_black_and · · Score: 2, Informative

    and had serious issues with stability and networking. I detailed my experience at my blog if anyone is interested. I also tried using the Linux version of Parallels and had similar issues. If anyone has gotten Vista to run under Xen I would be very interested in your feedback

  19. Bias??? by GWSuperfan · · Score: 1

    My experience (limited though it is) with virtualization makes me doubt the objectivity of TFA. Specifically, the comments regarding VMWare appear to be pretty far off given my experience that MSWindows (XP at least) runs fatster in a virtual environment than it does natively, which is the opposite of what the article claims.

    --
    Fight psychopharmacological mccarthyism. http://www.norml.org/
    1. Re:Bias??? by Anonymous Coward · · Score: 0

      WHAT?!?!? Faster virtualized than native?!? That is stupidest thing I have ever heard. Unless you were running native on a 386 and virtualized on a Core 2 Overclocked to 4 GHZ.

    2. Re:Bias??? by evanspw · · Score: 2, Interesting

      No, I get some apps running faster in the VM than natively. I can only make the claim for number-crunching apps (EM solvers and the like) running in a 32-bit XP VM on a 64-bit linux host (running VMWare Workstation 5.5x), no swapping going on. But yes, definitely faster in the VM than on the same hardware running XP natively. Maybe it's that the VM presents fewer overheads to the XP OS, with it's simplified virtual hardware. You would expect at least nearly comparable performance for number crunching only (almost no disk, no graphics). Graphics intensive apps run like shit in the VM.

      -pete

      --
      Interstitial spaces are filled with cream.
  20. Xen on FreeBSD? by Logic+and+Reason · · Score: 2, Interesting

    This may be a little off-topic, but I noticed that the article claims that Xen runs on FreeBSD. I was under the impression that Xen support on FreeBSD was still a work in progress, which the Wikipedia article seems to confirm. Can anybody comment on this?

  21. Re:I recently tried to get Vista to work on Xen... by Anonymous Coward · · Score: 0

    Works fine in VMware. VMware server is free by the way.

  22. Tell me where it's useful... by NerveGas · · Score: 1

    I have a hard time coming up with cases where virtualization is that useful. If you run an ISP and want to give root-level access to your hosted accounts, sure. If you want to run a few different OSs on your desktop, sure.

          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 haven't already done so?" Sure, they have a web server, mail server, and DNS server. If they don't mind the single point of failure, why haven't they already put them on the same machine?

          In all of the places where I've worked, it's been a race to keep hardware fast enough that a single machine could handle even a single task - putting multiple tasks on the machines would just be lunacy. From small ISPs with overloaded web and news servers to health care companies throwing millions of dollars at single machines to online retail where we're throwing in a half-dozen more dual-CPU machines into the load-balanced pool every year, replacing quad-Opteron database machines with eight-ways, and about to have to go bigger than the eight-way, I've never personally seen a need for something like virtualization.

          So... help me wrap my feeble brain around this. Give me some really cool examples.

    steve

    --
    Oh, you're not stuck, you're just unable to let go of the onion rings.
    1. Re:Tell me where it's useful... by Anonymous Coward · · Score: 2, Informative

      You'll probably never see this comment, but so be it...

      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.

    2. Re:Tell me where it's useful... by KokorHekkus · · Score: 1

      AC is very right. Except perhaps that 1) should be 1) Fault tolerance. Same thing as what AC said + if you have some service set up and the server croaks then it's a breeze to get that service up and running in a heartbeat. Case where I wished I had dealt with a virtulized install: print server dies after a blackout and of course this is the same day that they HAVE to deliver a bid/proposal (small consulting company). Instead of hunting down all install options and docs for the network printer/copier took a little doing (just getting any printer going was easy).

    3. Re:Tell me where it's useful... by east+coast · · Score: 1

      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 haven't already done so?"

      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 is an alternative that allows we to take a machine and see how some systems work together and gives me the opportunity to "break" them without a ton of tedious images or having to rebuild the systems.

      Again, I know it's not exactly what you mean but it's an economic and safe (as in easy to maintain) way for me to make a "virtual server farm" without all the bulk that would be needed without it while maintaining a realistic model of having different apps hosted from different servers.

      --
      Dedicated Cthulhu Cultist since 4523 BC.
    4. Re:Tell me where it's useful... by Anonymous Coward · · Score: 1, Informative

      Sure Steve, Virtualization isn't a panacea, and you've cited some of the places where it doesn't fit.

      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. Yes, it is Solaris specific, but expect other OS / Virtualization combos to move in this direction in the future.

    5. Re:Tell me where it's useful... by flyingfsck · · Score: 1

      So you are imaging VMWare, instead of imaging disk drives - same thing as far as I can figure.

      --
      Excuse me, but please get off my Pennisetum Clandestinum, eh!
    6. Re:Tell me where it's useful... by NoBozo99 · · Score: 1

      Ummm. It is useful because REAL hardware costs lots of money to purchase,run, and maintain. Think HVAC costs for starters. Also, there is no reason you can't have HA using VM. IIRC VMWARE have a failover feature that fails over to a VM running on identical hardware that is in another location.

      --
      I may not be a smart man, but I know what an inode is.
    7. Re:Tell me where it's useful... by KokorHekkus · · Score: 1
      So you are imaging VMWare, instead of imaging disk drives - same thing as far as I can figure.
      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 configuration A to one with hardware configuration B...
    8. Re:Tell me where it's useful... by amcdiarmid · · Score: 1

      Let's see, I am at a non-profit, I have 2x old HP 700MHz dual Xeon Servers. these servers are mostly used for File,Print - but there are some funky programs on them I can migrate them to One new server (use MS FSMT, then fiddle with funky settings for a bunch of programs), or I can get two new servers and use VMware's Physical2Virtual tool to make the old machines virtual. If I do the virtual thing, I can set one of my new servers up at the main site, and one at the remote site across the Gig wireless link - and set up high availibility using a big NAS. One of my VMWare servers goes down, the server automatically restarts on the new one. alternately, I can take my useless 500MHz server with a donation history database, and put it on a virutal machine & upgrade my worthless old win2K system to 2k3 - without having to spend a few days reading about how the database works, what databases get backed up & so on. (Aka, no documentation exists.) (Hey, I have 20 old POS servers. I can put them on three machines, with three machines at two sites & good NAS -I can have failover & better backups.)

    9. Re:Tell me where it's useful... by Thumper_SVX · · Score: 1

      I know this is either never going to be seen, but you've obviously never worked in a large company that runs their apps on Windows servers. There the norm is to run one-app-per-box which has led to a massive proliferation of physical servers across the average datacenter. I know, I work in one such environment and have worked in several others over the years.

      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 while two virtual machines provide me my "front-end" services... i.e. those that are publicly accessible through the Internet. One is my email filter (spam and AV) as well as my secure-shell server (on a custom port). The other acts as my web server. This gives me a "sandbox" environment so that in the event either of these boxes is compromised I can trash and rebuild them easily. Even better; since I back up the image files once a week to tape I can just restore the most recent image and be back up and running in minutes instead of hours. Obviously, they share a different security mechanism and standards to the main box they're actually running on.

      I can also transfer these two VM's to new hardware without having to recompile the kernel since the virtual hardware is a known quantity. That simplifies my life and would even assist with a fresh rollout where rather than waiting for a new kernel to compile I can copy the kernel and modules from one of the running VM's. Also, if I want to upgrade the kernel I do the compile once, install on all the VMs and reboot them. Saves hassle.

      But seriously, in Windows world this has almost become a requirement. It's the norm in most Corporate datacenters today to run servers at 2-8% utilization because they can only run one app at a time. The only exception to this seems to be SQL servers but even then since many of them are just really used as sequential data stores even they don't get utilized much except for memory. I'm working a massive project right now at a company to implement VMWare ESX on blade technologies primarily as a way to get rid of the nasty footprint of hardware that's in place today. Literally, there are massive datacenters around the world right now that are filled with expensive space heaters because the stability problems of Windows running multiple applications have taught people the lesson to run one application per server. I'm not saying it's right, I'm just saying that's how it is. That's why VMware became so big so quickly; because finally we can get some of the advantages of mainframes (application segmentation within a single piece of hardware) relatively cheaply, on commodity hardware and still maintain the applications that the customers want.

      The nice thing is, the "suits" who don't know any better don't really click that their precious Windows apps are running on a UNIX platform. They just think that they have a server, the usually don't really care about the hardware and they can't tell the difference. We have many people, even knowledgeable developers who don't realize their Windows machine is just one among 12 running on a dual, dual-core Opteron box with loads of RAM and a connection to our SAN. We found 12-15 to be ESX's sweet-spot for performance with average use servers in our testing... pick your own arbitrary number if you like... I've run 30 VMs on a single box before.

      And also, single point of failure is not necessarily a failing of virtualization. A well-designed environment will provide redundancy as ours does. So for example, for each of our host systems we have a second system that's designated as a failover secondary. Now, this secondary server is also a primary server for several other VMs. In the event of a single server failure, our virtual machines will then boot on the secondary host leaving us a downtime of only a minute or so booting from a nice fast SAN volume. Obviously, since all secondary hosts are also primary hosts your only real impact will be a drop in performance on the other VMs that a

  23. Big New Thing??? by eno2001 · · Score: 2, Interesting

    Uhm... I started using it on the PC platform in 1998/99 with VMWare on RedHat 7. I was amazed when I saw I could boot a Windows 98 system simultaneously with my already running Linux system on a lowly Pentium MMX 233 with 32 megs of RAM. Then I found out that what I thought was new back then was something the big iron world had enjoyed for decades and originated in the 60s. It was just new to x86 is all come 1998/99. Since then, I've moved onto Xen for Linux which is rather amazing in terms of performance and flexibility if you paravirtualize the system. I've got three VMs running on an old Pentium II era Celeron at 400 MHz with 384 megs of RAM. That system has enough horsepower to do the following for my network:

    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.

    --
    -"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
  24. Obligatory by Lord+of+Hyphens · · Score: 1

    I, for one, welcome our virtualized overlords. And their virtualized management systems.

    --
    "I've spent my whole life figuring out crazy ways to do things. It'll work." -- Montgomery Scott, "Relics"
  25. klik by Anonymous Coward · · Score: 0

    I'm looking forward to virtualized klik packages. As a former Mac user I like dropping current software from debian unstable branch into a stable distro as a self contained bundle. With decent virtualization I could also start using third party klik packages, that would be great for introducing new and commercial software onto my distro without risk. And for developers, as it would require the creation of a debian package of your software anyway it makes it easy to go all the way some day, which would be great for the community.

  26. 3d? by Anonymous Coward · · Score: 0

    To me, these virtualization schemes are very cool, and I've toyed with QEMU running w2k under mandriva.

    But they all have one major showstopper of a problem: I can't use accelerated 3D on the latest graphics cards under virtualized OSs. Often there's emulation of some dinky graphics card from the 1980s, but that just doesn't cut it.

    To me, that basically nixes any "real" use they might have had. Turns 'em into toys, cool to look at, but not all that useful in real life.

    If I could run both mandriva and XP simultaneously as two virtualized OSs on one machine, I'd be all OVER that action.

    1. 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.
    2. Re:3d? by Anonymous Coward · · Score: 0

      > 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

      Yeah, that's the problem. None of the virtualization schemes have any meaningful 3D support. If you just wanna spin the OGL screenblanker, they might work, but for real applications, no dice :-(

      Why is why, to me, virtualization isn't ready for primetime. It won't let me run my apps.

    3. Re:3d? by Ash-Fox · · Score: 2, Informative
      they might work, but for real applications, no dice :-(
      Uh, those effects still work, they're just not accelerated by the hardware.

      The games I've seen VMware running myself... The sims, World of Warcraft, Half life and Second life.

      --
      Change is certain; progress is not obligatory.
    4. Re:3d? by Anonymous Coward · · Score: 0

      > Uh, those effects still work, they're just not accelerated by the hardware.

      I see what you're saying, but much of what I want to run barely works adequately on a 7900gtx *with* hardware acceleration, at least at 1600x1200.

      Thanks for the suggestion though; I'll keep tabs on this stuff...

  27. Microkernels++: Just in case you dont remember by LordMyren · · Score: 2, Insightful

    The original plan for microkernels was to create more componentized runtime environments, so you could dynamically create virtualized OS's as a collection of the active componenets you needed. Very much like chroot, but pervading way beyond file systems and in to running libraries kernel modules and devices. The tooling was never here, but many people had stary eyes for esssentially a mix-and-match environment that would let you configure and cobble together operating environments at will, and maintain strong privledge seperation.

    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

  28. not a big deal by oohshiny · · Score: 1

    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, ... all need drivers written for every card out there.

    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 different from virtualizing USB or Firewire.

  29. CTSS? by scdeimos · · Score: 1

    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?

  30. Article missing MDF by Anthony · · Score: 2, Interesting

    Amdahl was the first to offer physical machine partitioning in the mid to late eighties. IBM finally came out with PR/SM (Processor Resource/Systems Manager) some years later. MDF provided complete isolation of resources between two or more partitions. There were no shared channels, intercommunication was done with a Channel-To-Channel connector. This provided a secure, isolated development/test/QA systems at a reasonable price. It was all managed at the macrocode level, which had a Unix-like shell.

    --
    Slashdot: Where nerds gather to pool their ignorance
  31. VMware question by SiliconEntity · · Score: 1

    The article describes VMware as a full virtualization solution. "A hypervisor sits between the guest operating systems and the bare hardware as an abstraction layer." Is this really how it works? The hypervisor runs on the bare hardware? I thought VMware was launched as an application under the hosting OS. Then it is able to load guest OS's. So it does not sit between the bare hardware and the guest OS, but rather between the host OS and the guest OS. See the PDF datasheet for VMware Server which shows this architecture.

    Is there a different kind of VMware than what I am familiar with? One that runs on the "bare hardware" as described in the article?

    1. Re:VMware question by beetle99 · · Score: 1

      VMware ESX runs on "bare metal" - see this page: http://www.vmware.com/products/vi/esx/

    2. Re:VMware question by larstr · · Score: 1

      ESX can't be installed in BEA's [url=http://www.google.com/search?hl=en&q=bare+met al+java]Bare Metal[/url] operating system or any other OS ;) ESX does however provide a kernel that is written from scratch to support virtualization. This removes much of the overhead you see with "normal" operating systems, but it also limits the amount of drivers available. As this kernel does not have a user interface, ESX also ship with a virtual machine based on redhat that has extended access to administer the vmkernel. Lars

    3. Re:VMware question by DragonTHC · · Score: 1

      the new enterprise vmware server runs on hardware.

      it's great for deployment servers.

      top notch.

      --
      They're using their grammar skills there.
    4. Re:VMware question by CCFreak2K · · Score: 1

      In addition to what these guys are saying, you're probably thinking of VMWare Workstation.

      --
      "Beware of he who would deny you access to information, for in his heart he dreams himself your master."
    5. Re:VMware question by jaseuk · · Score: 1

      "bare metal" meaning a kernel module in a relatively standard redhat linux distribution.

      Jason.

    6. Re:VMware question by Thumper_SVX · · Score: 1

      Depends who you ask. VMware themselves swear blind that the VMware itself runs in its own memory space using Linux only as a bootstrap in much the same way as Netware used DOS as a bootstrap. Whether or not you subscribe to that opinion... well that's another matter :)

  32. image hosting? by sacbhale · · Score: 1

    I have been toying with this idea for a long time. I would love to see a service where i can upload a vmware image and have them host it for me. Its my blackbox running whatever i want it to run. They wouldnt need to or care to know about it. I would love to see such a service pop up.
    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 to take advantage of the bandwidth (incoming is ok but outgoing sucks on home connections) and not have to worry about the damn cable company messing up.
    I am sure there could be more applications.
    Today there are datacenters which offer to give you your own virtual server but its not an option to just upload a server image and have it running instantly.

  33. Bell Labs did that a long time ago by DrSkwid · · Score: 1

    And sold it on : http://www.vitanuova.com/inferno/

    It's great and you can learn Denis Ritchie's favourite language : Limbo

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  34. The Next Step For Virtualization... by BlueCoder · · Score: 1

    The next step for virtualization will be to processors that make the instruction set virtual. Most importantly specific hardware acceleration for this that makes it practical. The processors will obviously be designed for an x86 default instruction set. But it will be possible to execute foreign instruction sets like PowerPC or 68000. What can't be handled by the processor will be handled in a hypervisor processes though much slower obviously. The big impact of this is that VM byte code can be run directly on the processor.

    Also hence forth proprietary instuction set extentions hardwired into the processor can no longer be vender locked. So MMX12 and SSE8 instructions will be translated and executed in a compatable manor. General purpose processors like the x86 will truely become general purpose. Think of it like the old DirectX paradigm. Whatever hardware acceleration exists, it is used, otherwise it's software emulated. It's all byte code and it runs nominally just as fast as hardware instuctions.

    And yes much of this is has been done before but not on this scale or envisioned quite like this.

  35. Elastic Compute Cloud by mr_3ntropy · · Score: 1

    Its your lucky day.
    Let me introduce you to EC2

  36. This reminds me on a nice 23c3 talk by messju · · Score: 1

    "Inside VMware - How VMware, VirtualPC and Parallels actually work":
    http://events.ccc.de/congress/2006/Fahrplan/events /1592.en.html

    It was really interesting, though not too deeply (including some hilarious throw-in questions from Dan Kaminsky).
    An unofficial recording of it is here: ftp://ftpmirror.sectoor.de/ccc/congress/2006/gropi -mitschnitte/vmware-t4s2.wmv

    Official recordings of the streams should come anytime soon (read: when it's done).

  37. Not again... by Polski+Radon · · Score: 1

    It took me 2 years to get 5 members of my family to use Linux. Why would I now want them to start using Windows again on the desktop?

  38. Those wacky technical acronyms by gmkeegan · · Score: 1

    ... The same concept was used in the 1960s for Basic Combined Programming Language (BCPL), an ancestor of the C language.

    And here I thought BCPL stood for Bitchin' Camaro Propulsion Language...