Virtualizing Workstations For Common Hardware?
An anonymous reader writes "We have approximately 20 workstations which all have different hardware specs. Every workstation has two monitors and generally runs either Ubuntu or Windows. I had started using Clonezilla to copy the installs so we could deploy new workstations quickly and easily, when we have hardware failures or the like, but am struggling with Windows requiring new drivers to be installed for all new hardware. Obviously we could be booting into Ubuntu and then load a Windows virtual machine after that, but I'd prefer not to have the added load of a full GUI underneath Windows — we want maximum performance possible. And I don't think the multi-monitor support would work. Is it possible to have a very basic virtual machine beneath to provide hardware consistency whilst still allowing multi-monitor support? Does anyone have any experience with a technique like this?"
VMWare View is what you want.
It's easy enough to slipstream (lots of) extra drivers and periodically update a master install .iso using tools such as nlite.
"This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
I am in a virtualized environment and it works fine. I guess it really depends on your situation.
Most of my users are using basic business apps. For these things, Citrix XenApps (I think that is the name this week) works well.
See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
NxTop is pretty cool. It is a hypervisor that installs directly onto the client hardware, allowing you to pull and boot pre-configured images over the network. The hypervisor removes the need for specialized drivers and supports dual monitors. It also has the advantage over VMwareView of allowing the OS to sync for offline use if you would like to leave the office with a laptop. Sure VMware has it as an "experimental" feature now, but it is production with these guys. They came and did a demo for us the other day, pretty cool stuff. I think it was affordable too. You can set policies for who gets what images, remotely disable a lost or stolen laptop, etc. Check this out: http://www.virtualcomputer.com/About/press/nxtop-pc-management-launch-massively-scalable-desktop-virtualization-for-mobile-pcs
this was solved a long time ago. Sysprep allows you to bundle whatever drivers you want, and it will just load what it needs on first boot. Combine that with a network imaging solution (back when I worked in that area, we used ZENworks, but there are other options), and ideally network installs of software (i.e. the image should be a base OS and not much else) and you should have limited problems. A new machine type will require a new image, but you can just deploy the old one, add the new drivers, run sysprep and re-create the image. I never had to do mass-imaging of Linux machines, but surely you could take a similar approach for the Ubuntu images?
What is...?
It's not cheap so might not be a viable option for a smaller shop, but VMware has been making some very interesting strides in this area.
Check out VMware View, also known as PCoIP (Yes, that is personal computer over internet protocol)
http://www.vmware.com/products/view/
http://www.vmware.com/resources/techresources/10083
Put really simply, each real workstation is loaded with a minimal system and the vmware view clients.
When a user goes to login to a computer on your network, after authentication their virtual workstation pops up (Be it windows or ubuntu) and lets them work.
All of the actual 'workstations' being used are virtual machines, thus are the same unified image you are looking for with one set of drivers.
While I have not tested it with a multi-monitor setup, they claim it is supported.
The one main thing you do lose is full accelerated 3D support, and direct support for old eccentric hardware. (Think ISA card support and non-standard PCI interfaces)
I can say USB support is simply amazing in how well it works.
Clients can even play full interactive flash media and video, and it runs well (As well as one would expect it to work in native OS anyway)
VMWare has a tool to create an image from a "real" PC.http://www.vmware.com/products/converter/
What is...?
Bare-metal client hypervisor's are a fairly new technology with the leading ones "which are still in development" being from Citrix and VMware.
This makes me a little distraught, since hypervisors have been around for 30+ years.
"I don't know, therefore Aliens" Wafflebox1
You're doing this in a laboratory situation, not in the realworld. Your approach will not work when you're talking about running a hundred, or a thousand, concurrent VMs on commodity hardware.
Woah. Hold on. Who said anything about running hundreds, even thousands of concurrent VMs? I think the parent (and actually the subject) is talking about single local box, single VM.
I've been doing the same thing for a few years now. I can't escape Windows apps so I run a VM to provide a Windows desktop. That's worked pretty well for me except for lately where performance has degraded - I suspect due to my using a real partition (which is no longer supported). Co-worker of mine does the same thing and has no issues whatsoever (which he points out when I grumble at my VM).
And the really great part is that sun virtualbox can read the vmware virtual machine created by that tool.
and vmconverter can eat a lot of diskimages format also (BUT NOT ALWAY THE VERY LATEST, check before spending time on it!!)
Before you start with any tool it is nice to clean of any unwanted software and restore points, clean the trashcan (Crapcleaner tool), and try to fill all unused space on the disk with zero's.
BTW, I learned the hard way that truecrypt is incompatibele with any on the fly diskimagers.
Yeah, I tried that before, doesn't work all that well with Windows. With Linux and practically any other OS you can just deploy a generic image with a modular kernel on the system and it will generally work. Network adapters work with a generic driver, video cards work with a generic driver, usb ports work with a generic driver.
With Windows, only the APIC or the boot drive hardware (PATA/SATA/SCSI) have to be different from the original host for the thing to give a blue screen even when sysprepped. Even when the drivers are included and you have an image of a system with the same APIC, the system has been sysprepped but the USB ports aren't the same as whatever machine you made the image off, the system won't be able to react to your input unless all USB hardware has been re-detected (which can take a while and sometimes requires a cold reboot as you can't click on the dialogs). Whenever an update (especially Service Packs) needs to be included in your image, all drivers have to be re-checked (manually) for all your different hardware to make sure none needs to be updated as well. Ideally you would have test-systems, replicas of each piece of hardware you have but even in small organizations this can add up to 10's or 100's of idle hardware that you have to acquire and justify.
I now know why large organizations standardize on a single vendor and can't offer their end-users any choices in hardware besides the amount of RAM and hard drive space. Windows is just plain bad to maintain even with experienced admins. I have virtualized practically all installations of it and even though it takes a slight performance hit, it's much easier to manage than trying to keep up with images for all the different hardware you can have in a single organization.
Custom electronics and digital signage for your business: www.evcircuits.com