Slashdot Mirror


Experiences with Replacing Desktops w/ VMs?

E1ven asks: "After years of dealing with broken machines, HAL incompatibility, and other Windows frustrations, I'd like to investigate moving to an entirely VM-based solution. Essentially, when an employee comes in in the morning, have them log-in, and automatically download their VM from the server. This gives the benefits of network computing, in that they can sit anywhere, if their machine breaks, we can instantly replace it, etc, and the hope is that the VM will run at near-native speeds. We have gigabit to all of the desktops, so I'm not too worried about network bandwidth, if we keep the images small. Has anyone ever tried this on a large scale? How did it work out for you? What complications did you run of that I probably haven't thought of?"

8 of 442 comments (clear)

  1. Why not just use sunrays? by scubamage · · Score: 5, Insightful

    Get some Sun Microsystems SunRays. Seriously.. thats exactly how they work. Your session can be saved on server and resumed anywhere else you plug in your smart card. One server and all of the terminals you need.

    1. Re:Why not just use sunrays? by CapeBretonBarbarian · · Score: 5, Informative

      Because Sunrays are really sucky. take it from a former Sun Microsystems instructor. They really are. You're better off with a Linux solution, for Multiple reasons (not going to go into all of them, now. Just research it. Start with cost-factor and go from there).

      Come on, you're going to have to give some additional information than that. We use Sun Rays quite a bit in our classrooms and labs and if you have the bandwidth and a good server on the other end, you're in the money. Sessions can be keyed to an access card and will follow you around the campus. If a Sunray breaks down, just swap in a new one and the session continues exactly as you left off. Pull your card, come back in a week, and pick up exactly where you left off. Everything resides on the server. No maintenance required at all on the client side.

      What version of the Sun Ray server software were you using that made it so "sucky"? From my experience, they worked great for us. The only downside we had is that streaming video over Citrix to the Sun Rays didn't work so hot. However, streaming video natively from the Sun Ray server to the thin clients worked fine so the problem there was probably with Citrix Metaframe.

      Sun has also recently upgraded the Sun Ray thin clients so they have gigabit ethernet, plus they now hsve a more complete end-to-end solution that will allow you to run Windows apps on your Sun Ray (in addition to all the Solaris/Unix apps) thanks to their Tarantella purchase. You'll still need some Terminal Server licenses, but you'll save on the Citrix.

      You could try calling the local Sun reps and see if they'll give you a demo. They did that for us - drove 6 hours to our workplace and set up a server and clients to demonstrate it for us.

    2. Re:Why not just use sunrays? by boner · · Score: 5, Interesting

      Exactly!

      This is brought to you from a SunRay at home, talking to the server in the garage...

      Combined with Tarantella, you can have every Windows application you want. The latest revision of the SunRay server also works on Linux (RedHat I think)!

      I run my Windows apps in QEMU, but that is because only my wife and I share the SunRay server...(2.4GHz P4, 3GB RAM). From a users perspective its just perfect! Power-on in the morning, insert your card, login and last nights session is still there. Just upgraded to the latest Open Solaris build so I had to reboot the machine, but before that my machine had reached 317 days of uptime!

      In an office environment your mileage will vary, but I have always appreciated the silence of my office working on a SunRay.

      Regarding the GP, downloading VM images just doesn't make sense compared to a SunRay, especially if you already have GB ethernet. Make sure the servers have enough RAM and don't let them play Quake!

      (and yes, I work for Sun...)

  2. Look at LTSP.ORG by EDinNY · · Score: 5, Informative

    LTSP.ORG does somthing similar. You run X clients on a common "server" and view it with an X server on almost anything with 64 megs or more of memory.

  3. Re:No 3D by innosent · · Score: 5, Informative

    For Windows, use roaming profiles and default installations. For Linux, rsync works quite well for the base OS (say, a staggered start time at night based on IP), with OpenLDAP doing auth and home dirs stored on central server(s) and mounted via NFS. New system setup becomes a knoppix CD, partition the new drive, format partitions, mount them, rsync the distribution to the new machine, chroot, and setup boot loader. You could of course script all of this, and this is very similar to what I do for kiosk systems (Linux/Firefox setup), except the kiosks don't change, so it's just a big tarball via sftp instead of rsync. You could also do tarballs, and keep the last few versions as backups in case you screw something up. If the hardware is identical, use the distribution of your choice, but if there are several different systems, you may want to use one with good hardware detection (like knoppix).

    --
    --That's the point of being root, you can do anything you want, even if it's stupid.
  4. PXE Boot by numbski · · Score: 5, Informative

    I think I have to disagree. Most of the better gigabit nics out there support PXE boot. Get a small boot loader image going. If these will all be on the same lan segment, at boot time it will grab the latest loader image, boot the small loader (~2MB). The loader can then boot the full OS image.

    You can then just capture or encapsulate the computing session to an image file. It's not a full virtualized environment, as you still get the benefits of the cpu horsepower at the workstation, but if corruption occurs ou just roll back the session file. I think.

    This is how Windows hibernation functions in a nutshell, just dumps RAM to a file I think. I haven't tried this in practice, but it should work.

    --

    Karma: Chameleon (mostly due to the fact that you come and go).

  5. Re:Still Windows by Vancorps · · Score: 5, Informative

    You don't need to "carefully" do anything. Folder Redirection in Windows was created just for the task. It's a feature that was introduced with Windows 2000. Beyond that you can use SMS and custom office installs to have everything configured properly everytime someone logs in. Mandatory profiles ensure that everything stays clean and spyware free. Which weaknesses are you referring to?

    Beyond that I'll go and say that this approach is bomb proof and by redirecting files on to the servers which requires surprisingly little overhead you ensure that when users float from machine to machine they have all their application preferences and data. Settings can very from machine to machine with different version of software and whatnot but again, SMS will fix that.

    I think we can all agree this is not a good use of virtualization. It would be very resource intensive and a simpler PXE solution already exists. With PXE you don't even have to have all the same hardware, just the proper drivers. SMS will take it from there installing the rest of the third party apps whatever they may be. Can be done from start to finish in under 30 minutes which is about how long it takes to fully restore an image. Of course over a gigabit link the time might be reduced but Windows will take a good 10 - 15 minutes to install over the network so it wouldn't be unreasonable for everything else to take another 15 minutes depending on how much there is. I know in my basic setup with Windows and Office its about 20 minutes give or take depending on processing speed and quality of hardware.

  6. Re:No 3D by Fastolfe · · Score: 5, Informative

    This is a different kind of a VM. .NET and Java run application logic with their own type of VM that allows their applications to interact with the OS, in many cases, just like any other native application. VMware and other VM solutions attempt to emulate an entire host computer to run an operating system, which can then run applications. These applications are constrained to accessing only the things available to them in their operating system and cannot interact with the host operating system, except through emulated networks and devices.

    Java and .NET simply make the native operating system's 3D APIs available to its applications. A full VM solution would have to implement a "virtual" 3D-capable video card that a guest OS would be able to use, and then find a way to hook that emulated video card up to a variety of real video cards. This is considerably more difficult.

    VMware has actually had 3D support for a while, but it's been painfully slow. The latest versions do make some attempt at using hardware 3D acceleration through the host operating system. I'm not sure how well at works, though.